信息抽取--关键词提取
(純屬為了記錄自己學習的點滴過程,引用資料都附在參考列表)
1 基本概念
什么是關鍵詞(是什么)
大略的講就是文章中重要的單詞,而不限于詞語的新鮮程度。
什么樣的單詞是重要的單詞,恐怕這是個見仁見智的問題,所以可以根據用戶需求,合理設計先驗知識融進模型進行建模,本文討論的是最易于理解、最常見的幾種度量“重要”的方式,也可以理解為幾種常見理解“關鍵詞”的觀點。
2 問題
提取一篇文章的關鍵詞;
3 解決思路
3.1 詞頻統計
先驗知識:一方面,關鍵詞通常在文章中反復出現,為了解釋關鍵詞,作者通常會反復提及它們;另一方面,反復出現的詞語不一定是關鍵詞,根據齊夫定律,一些詞頻高的往往是標點符號和助詞’的‘等,它們顯然不是關鍵詞。
算法:根據先驗知識,算法模型如下:
缺點:用詞頻來提取關鍵詞有一個缺陷,那就是高頻詞并不等價于關鍵詞。比如在一個體育網站中,所有文章都是奧運會報道,導致“奧運會”詞頻最高,用戶希望通過關鍵詞看到每篇文章的特色。此時,TF-IDF 就派上用場了。
3.2 IF-IDF
先驗知識:如果某個詞在一篇文檔中出現的頻率高,并且在其它文檔中很少出現,則認為這個詞有很好的類別區分能力。
TF-IDF的數學表達:
TF?IDF(t,d)=TF(t,d)DF(t)=TF(t,d)×IDF(t)TF-IDF(t,d) = \frac{TF(t, d)}{DF(t)} \\ =TF(t, d) \times IDF(t) TF?IDF(t,d)=DF(t)TF(t,d)?=TF(t,d)×IDF(t)
其中,t 代表單詞,d 代表文檔,TF(t,d) 代表 t 在 d 中出現頻次,DF(t) 代表有多少篇文檔包含 t。DF 的倒數稱為IDF,這也是 TF-IDF 得名的由來,這個數學式子正式上面基本思想的刻畫。
改進:TF-IDF在大型語料庫上的統計類似于一種學習過程,假如我們沒有這么大型的語料庫或者存儲IDF的內存,同時又想改善詞頻統計的效果該怎么辦呢?此時可以使用TextRank算法。
3.3 TextRank
基本思想:TextRank是大名鼎鼎的PageRank算法在文本上的應用。
Google用它來體現網頁的相關性和重要性,在搜索引擎優化操作中是經常被用來評估網頁優化的成效因素之一。
即對于某個網頁A而言,該網頁PageRank值的計算基于以下兩個假設:
(PageRank的數學細節參考李航《統計學習方法》);
將 PageRank 應用到關鍵詞提取,無非是將單詞視作節點而已,另外,每個單詞的外鏈來自自身前后固定大小的窗口內的所有單詞。
4 實現
4.1 基于詞頻統計
- 這只是一個針對詞頻統計算法的演示性代碼,也易于改成批處理的代碼;
- 詞頻統計屬于單文檔算法,就是根據一篇文章(不借助其它文章)就可以分析該文章的關鍵詞;
運行結果:
中國=2 中國隊=1 加油=3 觀眾=1 高呼=1 [加油=3, 中國=2] [女排, 觀眾, 歡呼]4.2 基于TF-IDF
- TF-IDF是基于多文檔的統計量,所以要輸入多篇文檔后才能開始計算;
- 統計TF-IDF同樣涉及分詞和停用詞過濾;
運行結果:
女排》 : [女排=5.150728289807123, 重返=1.6931471805599454, 巔峰=1.6931471805599454] 《女排奪冠》 : [奪冠=1.6931471805599454, 女排=1.2876820724517808, 奧運會=1.0] 《羽毛球男單》 : [決賽=1.6931471805599454, 羽毛球=1.6931471805599454, 男單=1.6931471805599454] [反, 興奮劑]4.3 基于TextRank
- 詞頻統計屬于單文檔算法;
運行結果:
[程序員, 程序, 分為, 人員, 軟件]5 參考文獻
6 需要解決的問題
總結
以上是生活随笔為你收集整理的信息抽取--关键词提取的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: CNN鲜花分类
- 下一篇: linux防ddos 软件下载,linu