中文NLP筆記:3. 關鍵詞提取的幾個方法

powerx_yc發表於2019-01-21
1667471-97f32207fcff934c.jpg

提取 ,意思是從文字里面把意義最相關的詞語抽取出來。

在文獻檢索、自動文摘、文字聚類/分類等任務中有重要的應用


主要有2種提取方法

  1. 關鍵詞分配

  在一個已有的關鍵詞庫中匹配幾個詞語作為這篇文件的關鍵詞。

  2. 關鍵詞提取

  通過演算法分析,提取文件中一些詞語作為關鍵詞。


其中第二種,關鍵詞提取的常用演算法有以下幾個

  1. 基於 TF-IDF 演算法進行關鍵詞提取

  TF-IDF :用於反映一個詞對於某篇文件的重要性。過濾掉常見的詞語,保留重要的詞語

  如果某個詞在一篇文件中出現的頻率高,則TF 高;並且在其他文件中很少出現,則 IDF 高,TF-IDF 就是將二者相乘為 TF * IDF, 這樣這個詞具有很好的類別區分能力。

  在  jieba 用以下程式碼實現

    jieba.analyse.extract_tags(sentence, topK=20, withWeight=False, allowPOS=())

  2. 基於 TextRank 演算法進行關鍵詞提取

  由 PageRank 改進而來,將文字中的詞看作圖中的節點,通過邊相互連線,權重高的節點作為關鍵詞。

  在  jieba 用以下程式碼實現

    jieba.analyse.textrank(sentence, topK=20, withWeight=False, allowPOS=('ns', 'n', 'vn', 'v'))

  3. 基於 LDA 主題模型進行關鍵詞提取

  一般步驟為:檔案載入 -> jieba 分詞 -> 去停用詞 -> 構建詞袋模型 -> LDA 模型訓練 -> 結果視覺化。

  4. 基於 pyhanlp 進行關鍵詞提取

  可以用 HanLP 的 TextRankKeyword 實現

    from pyhanlp import *
    result = HanLP.extractKeyword(sentence, 20)
    print(result)

學習資料:

《中文自然語言處理入門實戰》

相關文章