唯品會輿情監控系統
背景和現狀
唯品會作為國內發展迅速的大型電商之一,在微博、微信、貼吧、app應用市場等各大網路渠道上,每天會有大量關於唯品會的使用者交流、評論、反饋等輿情資訊產生。而這些輿情資訊中,往往包含著對公司的各種建議、使用者心聲、體驗反饋等有用資訊。因此,收集並分析使用者的評論反饋,對於企業瞭解使用者的心聲和需求、提升使用者體驗、提高運營效率等方面將有較大的幫助,同時也是產品制定需求的重要參考依據。不過,目前的使用者反饋、評論收集、評論分析工作存在著如下主要問題:
各個渠道的使用者反饋評論資訊分散、瑣碎,不利於收集,人工爬取評論的速度較慢,成本較高;
評論的數量很多且非結構化,分類及語義分析依靠人工效率低下;
預警的速度較慢,出現問題無法及時預警,等到發現時,損失已造成;
無法對線上輿情形成長期有效的監控,可讀性不好,使用者體驗差。
而網際網路輿情監控系統可以很好地解決上述問題,它利用爬蟲、搜尋引擎、文字挖掘等技術,透過對網路上相關的資訊自動採集處理、智慧聚類分類、統計分析等,實現各方對自己相關網路輿情監督管理的需要,最終及時形成輿情分析報告、輿情預警等資訊,為相關人員全面掌握輿情動態、瞭解使用者心聲、調整制定方針政策,提供分析依據。
總體介紹
目前,市面上有騰訊企鵝風訊、百度輿情、七麥資料等輿情監控系統,這些系統能對市面的上的主流應用app,透過分散式爬蟲抓取各大應用市場、主流論壇、微博等渠道的使用者評論,並對爬取到的資訊進行彙總、智慧分類、報表輸出等。這些輿情分析系統能簡化運營、產品對使用者口碑的收集工作,在提供專業的運營質量分析的同時,節省了專案人力。市面上的這些系統雖然能為我們提供一些分析和參考資料,但是也存在一定的侷限性,如資料來源有限(一般只能提供微博、app應用市場、論壇等渠道的使用者評論資訊)、無法實現定製化需求等,因此非常有必要開發屬於唯品會自己的輿情監控系統,實現豐富的資料來源、各種定製化的功能需求等。
當前唯品會輿情繫統評論資料訂閱來源主要有各大App應用市場使用者評論、微信公眾號評論和唯品會內部的客服留言。在獲取這三部分資料後,會做持久化儲存,用於後期的文字挖掘分析,如圖1所示。
圖1:資料來源
系統會對獲取的這些評論資訊進行情感判定、文字分詞、評論分類、詞頻分析等計算分析工作。輿情繫統整體架構設計如圖2所示,分為輿情采集、輿情分析、輿情應用三大模組。圖3是我們已經上線的輿情繫統,本文將著重介紹輿情分析模組中的幾個重要功能模組。
圖2:輿情繫統主要模組
圖3:系統展示
系統架構
上面已經簡單介紹過唯品會輿情繫統的主要模組,圍繞這些模組,我們實現了整個系統,其基本架構如圖4所示,下面將詳細介紹情感分析、文字分詞、詞頻分析、分類分析四個核心系統功能模組的實現。
圖4:系統架構圖
情感分析
傳統的文字情感分類一般基於情感詞典,它是對人的記憶和思維判斷的簡單的模擬,如圖5所示。首先透過學習來記憶一些基本語料詞彙,比如積極、消極和否定詞語,這些基本詞彙在人們的大腦中形成一個基本的語料庫。然後,我們再對輸入的語句進行拆分,看所記憶的詞彙表中是否存在相應的詞語,最後根據這些記憶中的詞語類別來判斷情感。
圖5:傳統情感分析
基於上述思路,我們設計了自己的基於詞典的情感分析模組,主要如下:
1、情感詞典設計
與傳統方法不同的是,我們的情感詞典分為三個部分:積極肯定情感語料庫、消極否定情感語料庫和干擾語料庫,如圖6所示。為了得到更加完整的情感詞典,我們從網路上收集了若干個情感詞典,並且對它們進行了去重整合和調整。對於收集而來的詞典並非進行簡單地整合,而是有針對性地對詞典進行了去雜和更新,以達到儘可能高的準確率。比如,加入了針對我們電商行業相關的一些行業詞彙,以增加準確率。此外,引入干擾語料庫的目的是排除一些如“能不能”、“可不可以”等容易誤判為積極肯定或者消極否定的詞。
圖6:情感詞典
2、基本演算法
基於情感詞典的文字情感分類規則演算法比較簡單,它將每個情感詞語賦予的一定的權重值:(權重值需要根據具體行業、業務等做調整),一般來說,積極肯定的詞語賦予正數值,我們用: 表示,而消極否定的詞賦予負數值我們用: 表示,並且情感權重值滿足線性疊加原理。每條評論在剔除干擾詞彙後,分別進行積極肯定和消極否定的權重計算。例如,評論中既包含積極肯定詞彙也包含消極否定詞彙,將評論命中的積極肯定的權重值線性疊加,得到該條評論的積極肯定權重值:
而將命中的消極否定的權重值線性疊加得到消極否定權重值:
極性綜合判定將得到的積極權重值和消極權重值線性疊加,然後根據使用者設定的評論極性權重閥值,最終判定評論的極性,整個情感判定邏輯如圖7所示。
圖7:情感分析邏輯圖
3、實現效果
基於上述架構,實現了輿情繫統的情感分析模組,它會對每條評論資訊自動進行極性的五級(極好評、好評、中評、差評、極差評)劃分,並對應5-1分的評分。在評定完一定週期內所有評論的評分後,系統會計算出該週期內所有評論的綜合平均分(1-5分,對應一星到五星),類似於部分應用市場的五星等級評價。目前該模組主要針對應用市場的評論進行五級情感劃分,如圖8所示。透過情感劃分,能看到使用者對我們唯品會app的一個整體滿意度情況。相比於人工篩選劃分,能極大的降低人工篩選時間,減少工作量。
圖8:應用市場評論五星分級
文字分詞
一般來說,做文字挖掘首先要做的預處理就是分詞。在英語中,英文單詞天然的空格有助於計算機迅速識別單詞間邊界。而中文由於沒有空格,讓計算機頗為困惑,處理起來難度較大,因此中文分詞就是一個需要專門去解決的問題了。
1、分詞現狀
目前現有的中文分詞方法大致可分為三大類:基於字串匹配的詞典分詞方法、基於理解的分詞方法和基於統計的分詞方法。比如,基於字串匹配的正向最大匹配法、逆向最大匹配法,基於統計的N-gram模型思想等等。目前比較流行的中文分詞工具有jieba、SnowNLP、THULAC、HanLP等等。
2、實現演算法
我們輿情繫統的文字分詞采用的是基於詞典的N最短路徑演算法。N最短路徑演算法是中科院分詞工具NLPIR進行分詞用到的一個重要演算法,張華平、劉群老師發表的論文《基於N-最短路徑方法的中文詞語粗分模型》中做了比較詳細地介紹。該演算法的基本思想就是給定一待處理中文字串,然後根據詞典,找出詞典中所有可能的詞,構造出字串的一個有向無環圖,也稱為DAG(Directed Acyclic Graph),算出從開始到結束所有路徑中最短的前N條路徑。每個可能分詞對應DAG的一條邊,每條邊有一定的權重值,表示該詞出現的機率。最簡單的做法是採用詞頻作為權值, 也可以採用TF-IDF值作為權值提高對低頻詞的分詞準確度。因此,分詞問題轉化成了求DAG中起點到終點的最短路徑問題。
以“同事說明天下午休假”為例,按照人們的理解,我們一般能找到“同事/說/明天/下午/休假”和“同事/說明/天下/午休/假”兩種分詞方式,如圖9所示。那麼計算機如何實現這個想法呢?首先,它將字串分為單個的字,每個字用圖中相鄰的兩個結點表示,故對於長度為n的字串,需要n+1個結點。兩節點間若有邊,則表示兩節點間所包含的所有結點構成的詞,比如圖中結點3、4、5構成詞“明天”。透過跟已有詞典比較,構造出有向無環圖,圖構造出來後,接下來就要針對圖計算各種路徑中的最短路徑。N-最短路徑是基於Dijkstra演算法的一種簡單擴充套件,它在每個結點處記錄了N個最短路徑值與該結點的前驅。關於這個演算法的描述,在網上、教科書中都有很多詳細介紹,這裡就不再贅述了。
圖9:分詞分析舉例
此外,在現實情況中,每條邊的權值不可能都設為1,因為否則隨著字串長度n和最短路徑N的增大,長度相同的路徑數將會急劇增加,並且這樣的分法也不夠準確。為了解決這個問題,我們需要透過某種策略為有向圖的邊賦權重,如前文中所述,其實就是該詞出現的可能性,也即該詞出現的機率。那這個機率該如何計算呢?假設我們輸入的字串為C,可能劃分的詞串為:,其中i=1,2,...,m,表示對字串C有m種可能的劃分。因此,我們要求的就是機率: 最大的N個,然後根據貝葉斯定理,以及訓練語料庫,即可得出機率。當然,這個機率也可以透過一些開源的訓練語料庫直接得到。進而可以求出整個有向圖的路徑,最終我們可以得到N種字串劃分結果,從而找出路徑最短的分詞劃分。文字分詞結果是我們系統中其他模組的基礎,如詞頻分析等。
詞頻分析
詞頻分析模組是唯品會輿情監控系統的重要組成部分,它是基於上面介紹的文字分詞的結果進行的分析,後面將介紹詞頻的基本演算法和實現。
1、基本概念
首先,我們先介紹幾個概念——詞頻和逆向檔案頻率。詞頻 (Term Frequency, TF) 指的是某一個給定的詞語在該檔案中出現的次數,這個數字通常會被歸一化(一般是詞頻除以文章總詞數), 以防止它偏向長的檔案。提到TF,必然需要了解逆向檔案頻率 (Inverse Document Frequency,IDF),它的主要思想是:如果包含詞條w的文件越少, IDF越大,則說明該詞條w具有很好的類別區分能力。某一特定詞語的IDF,可以由總檔案數目除以包含該詞語的檔案的數目,再將得到的商取對數得到。而他們的組合TF-IDF是一種統計方法,用以評估某個詞條對於一個檔案集或一個語料庫中的其中一份檔案的重要程度。TF-IDF的含義總結就是, 一個詞語在一篇文章中出現次數越多, 同時在所有文件中出現次數越少, 越能夠代表該篇文章。因此,TF-IDF傾向於過濾掉常見的詞語,保留重要的詞語。關於TF-IDF的演算法有很多資料,這裡就不再詳細說明。
2、實現演算法
唯品會輿情繫統的詞頻演算法也是基於上述TF-IDF演算法思想,並進行了改進以滿足我們系統自身需求。對使用者評論的詞頻分析,是希望分析出在不同週期內(如一週、一個月),哪些詞條在當前週期相對於上個週期有明顯地上升,而這些明顯上升的關鍵詞條往往是使用者集中反饋的一些問題或者關注的熱點,具有較高的挖掘價值。當然,關鍵詞條的上升判斷,不能簡單地透過某個詞條數目絕對數量的多少,或者比上個週期有所增加就判定為熱點詞彙。因為每個週期內,分詞詞條樣本數量是不同的,簡單地看某個詞的絕對數量並不能說明問題,就如TF-IDF的演算法所述,需要過濾掉常見的詞語,保留重要的詞語。
圖10為我們詞頻分析的演算法邏輯實現圖,它首先根據分詞結果分別計算當前週期內和上個週期內每個分詞W的佔比,其樣本值為各自週期內的所有分詞詞條數目,詞條總數在當前週期表示為:,上個週期表示為:,因此當前週期和上個週期內每個分詞的佔比可以分別用:
和
表示,其中i=1,2,3,...,N,j=1,2,3,...,M,這裡N和M分別為當前週期和上個週期內所有分詞的個數。
隨後,對兩個週期內的每個分詞的佔比和分別做排序,每個週期中分別選取其中佔比最大的n(n可以根據自身情況設定,如100、200、500等)個詞條,將篩選出來的詞條和對應占比表示為和,其中x,y=1,2,3,...,n。
將不同週期內的前n個詞條佔比和採用差分演算法,計算出當前週期中每個分詞佔比值相對於上個週期提升的幅度,並按照從大到小排列,這樣我們就能找出當前週期內熱度值最高,並且相對於上個週期有明顯提升的關鍵詞條。
圖10:詞頻分析邏輯
3、實現效果
圖11為使用者留言反饋計算得到的最終詞頻結果示例。此外,詞頻分析會按照使用者設定的不同評論分類的維度來分別進行計算,這樣能找出各個分類中的一些熱點詞彙,為及時發現熱點問題、使用者敏感問題、線上Bug等提供參考依據。如圖11,切換右邊已設定的分類,我們能檢視對應的詞頻分析結果。此外,點選分詞詞條對應的柱狀圖,能檢視詞條對應的具體評論資訊,方便使用者查詢和定位問題,如圖12所示。目前,系統會對來自於App應用市場和客服留言的評論做詞頻分析,並且透過詞頻分析,我們發現瞭如App閃退問題、會員俱樂部無法進入、線上客服打不開等部分線上Bug。
圖11:詞頻分析結果
圖12:詞頻關鍵詞對應的評論資訊詳情
分類分析
對使用者評論資訊按照設定的分類進行歸類,能方便使用者針對不同方面需求進行檢視及相關資訊統計。在評論資訊量較大的時候,人工分類雖然比較精準,但是效率非常低下,因此我們需要對評論自動進行歸類,這樣能極大地降低人工分類篩選成本。
1、分類器現狀
目前,中文文字分類常用的分類器包括:樸素貝葉斯、決策樹、深度學習、人工神經網路、KNN、SVM、Adaboosting、Rocchio演算法、LDA模型等等。這些分類器有各自的優缺點,比如人工神經網路,其優點是分類的準確度高、並行分佈處理能力強、分佈儲存及學習能力強,以及對噪聲神經有較強的魯棒性和容錯能力等,但它也有自己的缺點,比如需要大量的引數,如網路拓撲結構、權值和閾值的初始值,學習時間過長,甚至可能達不到學習的目的等。
2、實現邏輯
由於我們電商產品的一些特點,使用者評論反饋的資訊一般集中在選購流程、支付、商品質量、物流、會員權益、營銷活動等幾個相對固定的大類,其分類相對簡單。因此,考慮自身產品的特點、系統複雜度以及效能等各種因素影響,唯品會輿情繫統並未採用上述分類演算法,而是採用較為簡單的自研演算法。
其演算法邏輯如圖13所示,採用分類關鍵詞(k)設定及關鍵詞權重計算的方法來對評論進行每個分類的權重計算,得到該條評論在某個分類命中的所有關鍵詞權重和:
其中(i=0,...,n,j=0,...,m,這裡n為評論命中某個分類的關鍵詞數量,m為設定的分類數量),然後將每個分類的權重和:
排序,權重和最大的分類:
即為該評論的最終分類。此種演算法雖比較簡單,但是對於大量非結構化評論,是很有效的分類方法,其分類準確性比較高,能達到90%以上。分類關鍵詞的設定及管理可以透過系統提供的分類管理和關鍵詞管理兩個功能模組進行管理。圖14為使用者評論按照分類統計的趨勢結果,其詞頻分析結果也是按照分類維度來統計,如前面的圖11所示。
圖13:分類分析邏輯
圖14:評論反饋分類趨勢
此外,使用者評論詳情查詢也支援按照設定的分類來檢視,方便使用者按照感興趣的分類查詢、搜尋相關評論詳情,如圖15所示。
圖15:評論詳情按照分類查詢
實踐效果
系統自上線以來已有來自產品、開發、測試、金融等各個部門將近300位的公司內部使用者,為公司各部門瞭解使用者的心聲和需求、提升使用者體驗、制定產品計劃、發現線上問題等方面提供了一定的參考依據。線上上質量監控方面,輿情繫統透過詞頻分析、分類分析等功能發現了app相容問題、會員俱樂部無法進入、線上客服打不開、品牌收藏沒有展示等約幾十個各種線上問題,為發現並及時修復問題提供了重要參考,改善了使用者體驗、減少了部分經濟損失。
計劃展望
如前所述,輿情繫統透過詞頻分析發現的線上問題和使用者熱點問題較多。因此,在後面的迭代計劃中會增加詞頻預警功能,透過郵件等渠道向使用者提供實時的詞頻分析結果,供巡檢人員發現和查詢需要及時處理的熱點、關鍵問題。此外,系統使用者也可以根據自身的需要設定並訂閱感興趣的詞頻關鍵詞,在詞頻分析結果中有匹配時,及時向相關使用者傳送預警郵件,做到問題的及時發現和處理。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69900365/viewspace-2637228/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 解析輿情監測系統企業鑑別和選用的方法
- 輿情繫統mappingAPP
- 輿情繫統查詢
- 唯品會的“成年煩心事”
- ELK查詢---輿情繫統
- 實時監控系統,統一監控企業APIAPI
- Flink在唯品會的實踐
- 智慧影片監控系統
- Linux 系統監控指南Linux
- 智慧工地監控系統
- Mac系統監控工具Mac
- 打造前端監控系統前端
- 手刃前端監控系統前端
- python搭建系統監控Python
- Apache Flink在唯品會的實踐Apache
- 唯品會 JIT模式 應用探討模式
- 履約產品:產品體系&履約監控產品搭建
- 系統監控&JVM監控指標資料查詢JVM指標
- 影片監控ai分析系統AI
- 影片監控智慧分析系統
- 電力影片監控系統
- 直播間截留監控系統
- Prometheus監控報警系統Prometheus
- 前端監控系統Sentry搭建前端
- Go 系統監控利器-gopsutilGo
- linux系統 物理硬碟監控Linux硬碟
- Docker 容器監控系統初探Docker
- sysstat——系統效能監控神器
- metricbeat 監控 nginx 情況Nginx
- 前端監控基礎篇 — Docker + Sentry 搭建前端監控系統前端Docker
- 輿情管理:輿情公關從零到一的基本操作
- 一種對雲主機進行效能監控的監控系統及其監控方法
- 煤礦ai智慧監控系統AI
- 工地ai智慧影片監控系統AI
- 監控影片行為分析系統
- 煤礦影片監控分析系統
- 秸稈焚燒監控系統
- 明廚亮灶監控系統