NLP 關鍵詞提取演算法

2021-09-26 02:40:33 字數 1348 閱讀 4341

一、提取關鍵字技術簡介

關鍵字提取技術一般也可以分為有監督無監督

,分別是tf-idf演算法、textrank演算法主題模型演算法(包括lsa、lsi、lda等)。

tf-idf演算法

tf-idf(term frequency-inverse document frequency,詞頻-逆文件頻次演算法)是一種基於統計的計算方法,常用於評估在乙個文件集中乙個詞對某份文件的重要程度。

tf-idf = tf*idf

tf-idf由兩部分組成:tf演算法、idf演算法。

tf演算法是統計乙個詞在一篇文件**現的頻次,其基本思想是乙個詞在文件**現的次數越多,則其對文件的表達能力能力也就越強。

idf演算法是乙個詞在文件集的多少個文件**現,其基本思想是如果乙個詞在越少的文件**現,則其對文件的區分能力也就越強。

例如:一篇文件為「世界獻血日,學校團體、獻血服務志願者等可到血液中心參觀檢驗加工過程,我們會對檢驗結果進行公示,同時血液的**也將進行公示。」

1)對上面文件中的文字進行分詞,文件的總詞數是30,其中「獻血」、「血液」、「進行」、「公示」等詞出現的頻率均為2。

根據tf公式:

tf(獻血)=n(獻血)/n(總詞數)=2/30≈0.067

tf(獻血) = tf(血液) =tf(進行)= tf(公示) ≈0.067

實際上「獻血」、「血液」對這篇文件來說更重要,此時需要idf出場了。從詞頻、逆文件詞頻兩個角度對詞的重要性進行衡量。

根據idf公式:

idf(獻血)=log(1000/10)=2

同理可得,idf(血液)=1.824,idf(進行)=1,idf(公示)=1.301。

3)根據tf-idf公式計算每個詞的if-idf值

tf-idf(獻血) =tf(獻血)*idf(獻血)≈0.134

tf-idf(血液) =tf(血液)*idf(血液)≈0.122

tf-idf(進行) =tf(進行)*idf(進行)≈0.067

tf-idf(公示) =tf(公示)*idf(公示)≈0.087

2、textrank演算法

3、主題模型演算法

NLP關鍵詞提取

1 tf idf詞頻逆序詞頻 2 textrank 基於圖的模型,網上很多測評說它不一定強過tf idf,其實對於沒有標註資料的情況,感覺評判好壞真的很艱難。3 lda 4 word2vec 聚類 這個方法是看以為總結的,感覺具體的實施方案還是得自己實踐,不過個人覺得這個方法有點麻煩。主要流程如下 ...

NLP學習路徑(五) NLP關鍵詞提取演算法

2 tf idf演算法 無監督 tf idf演算法是一種基於統計的計算方法,常用於評估在乙個文件集中乙個詞對某份文件的重要程度。tf演算法是統計乙個詞在一篇文件 現的頻次 idf演算法是統計乙個詞在文件集的多少個文件 現,基本思想是 如果乙個詞在文件 現的次數越少,則其對文件的區分能力也就越強 要對...

關鍵詞提取演算法

傳統的tf idf演算法中,僅考慮了詞的兩個統計資訊 出現頻次 在多少個文件出現 因此,其對文字的資訊利用程度顯然也是很少的。演算法本身的定義是死的,但是結合我們的應用場景,對演算法進行合適的重塑及改造,使之更適應對應場景的應用環境,無疑能對我們想要得到的結果起到更好的指導作用。textrank演算...