輿情熱詞分析的四點思路
近段時間,騰訊和阿里在技術公開這件事情上隱隱有較勁的趨勢,這邊公開一個Tinker熱補丁技術,那邊就公開一個雙11背后的技術,似乎都在通過秀技術來爭奪開發者的眼球,當然,這也是廣大開發者非常樂意看到的。下面這篇關于阿里輿情熱詞分析的文章,稍作刪減,難度很合適,值得一讀。
背景
阿里云公眾趨勢分析產品通過云服務的方式,將阿里巴巴成熟的輿情分析技術共享給廣大開發者。熱詞分析是公眾趨勢分析最近剛剛上線的功能,這個功能聽起來很簡單,不就是對數據源進行分詞,然后再統計一下熱度么?No!它可沒那么簡單。
分詞和實體識別
良好的分詞是熱詞分析的基礎。對于絕大部分分詞工具來說,最大的挑戰在于識別從未見過的網絡熱門詞、各種奇葩的品牌、產品詞等。舉個例子,“安利的空氣凈化器跟霍尼韋爾還有米家比怎么樣”這個句子,我們隨意在網上找到了某款開源的分詞工具,分詞的結果如下:
安利/的/空氣/凈化器/跟/霍尼/韋爾/還有/米/家/比/怎么樣
分詞工具能識別一般的詞語,但是對于品牌詞、產品詞等專有的實體詞,在沒有知識庫的輔助下很難識別。而阿里在互聯網尤其是電商領域耕耘多年,積累了豐富的詞庫,并始終在不斷更新,譬如上述句子,我們可以將其斷成如下形式:
安利:brd/的/空氣凈化器:prd/跟/霍尼韋爾:brd/還有/米家:brd/比/怎么樣
不僅能正確地分詞,而且還能識別出其中的實體,如霍尼韋爾和米家是品牌詞(brd),空氣凈化器是產品詞(prd)。目前,公眾趨勢分析背后有百萬級的人名、品牌、地址、組織機構名、商品、品牌詞庫等做支撐。
關鍵詞提取
海量的文章帶來了巨大數量的詞,對于每篇文章,真正需要被關注的只是少數關鍵詞,那么如何在一篇長文本中挑出關鍵詞呢?熱詞分析使用TextRank算法為文本生成關鍵詞。
TextRank的算法思想來源于PageRank,旨在通過文本中句子、詞之間的相互投票,為句子、詞進行權重的排序。PageRank假設一個網頁的入鏈越多,則其權重越高。隨機地為每個網頁分配一個初始權重,在每一輪投票中,每個網頁將其權重均勻地分配給其出鏈,收斂后(平穩馬爾科夫過程)每個網頁得到的權重值反映了其重要性。
PageRank通過頁面之間的鏈接關系建立投票機制,TextRank以此為啟發,通過詞之間的鄰近關系建立詞權重投票機制,即假如兩個詞出現在同一個窗口中,則它們之間產生一次權重投票,這樣可以通過PageRank的求解方法,計算每個詞在文本中的權重。得到權重的排序之后,就可以挑選topN詞作為關鍵詞了。
詞關聯計算
對于每個熱詞,我們提供了與其強關聯的詞,那么,這些關聯關系如何計算呢?
詞關聯使用點互信息PMI(pointwise mutual information)來表示,用信息論的語言來表述,點互信息衡量的是“給定一個隨機變量后,另一個隨機變量不確定性的減少程度”。假設有兩個詞x和y,則x和y之間的點互信息由下述公式表示:
其中p(x,y)表示x和y同時出現的概率,p(x)和p(y)分別表示x和y單獨出現的概率。簡單粗暴地理解,就是說相對于單獨出現,某兩個詞更喜歡一起出現,則它們之間的關聯程度越高。
熱度計算
好了,現在我們已經能得到每篇文章的關鍵詞,而且也能計算跟這些關鍵詞有關聯關系的詞了,那么詞的熱度如何衡量呢?詞的熱度計算不能僅僅統計這個詞在所有文章中的出現次數,因為每篇文章的熱門程度不一樣,汪峰上了頭條時的報道,對于熱度的計算不能跟一般的小道消息同日而語。熱詞分析在計算熱度時,會用文章的熱度對詞進行加權,而文章的熱度會綜合考慮以下因素:
- 文章的轉發量
- 瀏覽量
- 評論量
- 文章發布的時間,如果發布時間越長,則熱度衰減地越高
這里作者只是對熱詞分析提供了一些分析思路,真正實踐起來還是需要算法的支持和反復調整各種影響因子。
最后,感謝原作者。
#專欄作家#
給產品經理講技術,微信公眾號(pm_teacher),人人都是產品經理專欄作家。資深程序猿,專注客戶端開發若干年,對前端、后臺技術略懂,熱衷于對新的科技領域的探索。
本文原創發布于人人都是產品經理。未經許可,禁止轉載。
- 目前還沒評論,等你發揮!