国产成人精品无码青草_亚洲国产美女精品久久久久∴_欧美人与鲁交大毛片免费_国产果冻豆传媒麻婆精东

18143453325 在線咨詢 在線咨詢
18143453325 在線咨詢
所在位置: 首頁 > 營銷資訊 > 網(wǎng)絡(luò)營銷 > 如何利用詞頻統(tǒng)計(jì)原理自動(dòng)提取文章摘要?

如何利用詞頻統(tǒng)計(jì)原理自動(dòng)提取文章摘要?

時(shí)間:2022-05-28 22:30:02 | 來源:網(wǎng)絡(luò)營銷

時(shí)間:2022-05-28 22:30:02 來源:網(wǎng)絡(luò)營銷

我一直覺得要想做好SEO,要做大一個(gè)網(wǎng)站,需要的不光是我們的堅(jiān)持,也更需要一個(gè)正確的SEO技術(shù),一個(gè)可行的SEO方法,一個(gè)合理的SEO策略,這也就是我一直提倡是SEO思維。雖說搜索引擎有著自己很復(fù)雜的算法,可有的時(shí)候,一個(gè)很簡單的數(shù)學(xué)方法,就可以完成很復(fù)雜的任務(wù)。比如前面我在億企邦上跟大家分享的依靠統(tǒng)計(jì)詞頻和余弦相似性,就能找出文章的關(guān)鍵詞和判定相似文章。雖然它們在效果方面算不上最好的方法,但肯定是最簡便易行的方法。

由于前面的兩篇文章受到各位博友的好評,所以今天我要在億企邦上跟大家分享的依然是這個(gè)主題。那就是討論如何通過詞頻統(tǒng)計(jì)分析,對文章進(jìn)行提取自動(dòng)摘要(Automatic summarization)?


(圖1)

如果我們能從3000字的文章中,提煉出150字的摘要,也就可以為讀者節(jié)省大量閱讀時(shí)間。簡單的說,由人完成的摘要叫"人工摘要",由機(jī)器完成的也就叫"自動(dòng)摘要"了。對于這一功能也已經(jīng)被很多的網(wǎng)站使用了,比如論文網(wǎng)站、新聞網(wǎng)站、搜索引擎等等。

2007年,美國學(xué)者的一篇論文《A Survey on Automatic Text Summarization》(Dipanjan Das, Andre F.T. Martins, 2007)總結(jié)了目前的自動(dòng)摘要算法。其中,很重要的一種就是詞頻統(tǒng)計(jì)。

這種方法最早出自1958年的IBM公司科學(xué)家H.P. Luhn的論文《The Automatic Creation of Literature Abstracts》。

Luhn博士認(rèn)為,文章的信息都包含在句子中,有些句子包含的信息多,有些句子包含的信息少。“自動(dòng)摘要”就是要找出那些包含信息最多的句子。

句子的信息量用“關(guān)鍵詞”來衡量。如果包含的關(guān)鍵詞越多,就說明這個(gè)句子越重要。當(dāng)時(shí)Luhn提出用“簇”(cluster)表示關(guān)鍵詞的聚集。所謂“簇”就是包含多個(gè)關(guān)鍵詞的句子片段。


(圖2)

上圖2就是Luhn原始論文的插圖,被框起來的部分就是一個(gè)“簇”。只要關(guān)鍵詞之間的距離小于“門檻值”,它們就被認(rèn)為處于同一個(gè)簇之中。Luhn建議的門檻值是4或5。也就是說,如果兩個(gè)關(guān)鍵詞之間有5個(gè)以上的其他詞,就可以把這兩個(gè)關(guān)鍵詞分在兩個(gè)簇。

下一步,對于每個(gè)簇,就需要計(jì)算它的重要性分值,如下圖3所示:


(圖3)

我們以圖2為例,其中的簇一共有7個(gè)詞,其中4個(gè)是關(guān)鍵詞。因此,它的重要性分值等于 ( 4 x 4 ) / 7 = 2.3。

然后,找出包含分值最高的簇的句子(比如5句),把它們合在一起,就構(gòu)成了這篇文章的自動(dòng)摘要。

后來,Luhn的這種算法被簡化,不再區(qū)分"簇",只考慮句子包含的關(guān)鍵詞。下面就是一個(gè)例子(采用偽碼表示),只考慮關(guān)鍵詞首先出現(xiàn)的句子。

Summarizer(originalText, maxSummarySize):

// 計(jì)算原始文本的詞頻,生成一個(gè)數(shù)組,比如[(10,'the'), (3,'language'), (8,'code')...]
  wordFrequences = getWordCounts(originalText)

// 過濾掉停用詞,數(shù)組變成[(3, 'language'), (8, 'code')...]
  contentWordFrequences = filtStopWords(wordFrequences)

// 按照詞頻進(jìn)行排序,數(shù)組變成['code', 'language'...]
  contentWordsSortbyFreq = sortByFreqThenDropFreq(contentWordFrequences)

// 將文章分成句子
  sentences = getSentences(originalText)

// 選擇關(guān)鍵詞首先出現(xiàn)的句子
  setSummarySentences = {}
  foreach word in contentWordsSortbyFreq:
  firstMatchingSentence = search(sentences, word)
  setSummarySentences.add(firstMatchingSentence)
  if setSummarySentences.size() = maxSummarySize:
  break

// 將選中的句子按照出現(xiàn)順序,組成摘要
  summary = ""
  foreach sentence in sentences:
  if sentence in setSummarySentences:
  summary = summary + " " + sentence

return summary

其實(shí),如上面類似的算法也早已被廣泛使用了,有的也已經(jīng)被寫成了工具,比如基于Java的Classifier4J庫的SimpleSummariser模塊、基于C語言的OTS庫、以及基于classifier4J的C#實(shí)現(xiàn)和python實(shí)現(xiàn)。

關(guān)鍵詞:提取,文章,原理

74
73
25
news

版權(quán)所有? 億企邦 1997-2022 保留一切法律許可權(quán)利。

為了最佳展示效果,本站不支持IE9及以下版本的瀏覽器,建議您使用谷歌Chrome瀏覽器。 點(diǎn)擊下載Chrome瀏覽器
關(guān)閉