如何将文本内容生成标签?
1 1293
1
该提问暂无详细描述
收藏
2021-01-15 18:43 更新 gitvrar •  463
共 1 个回答
高赞 时间
0

一种方法是提取文档中出现频率高于预期的单词。例如,在大量文档中说“马尔科夫”一词几乎从未见过。但是,在某一特定文档中,“马尔科夫”经常出现。这表明“马尔科夫”可能是与文档关联的很好的关键字或标记。

为了识别这样的关键字,您可以使用关键字和文档的逐点相互信息。给出的PMI(term, doc) = log [ P(term, doc) / (P(term)*P(doc)) ]将大致告诉您,在大量文档中遇到该术语时,您对特定文档中的术语感到惊讶的程度是多少(或更多)。

要确定与文档关联的5个最佳关键字,您只需按照文档的PMI得分对术语进行排序,然后选择得分最高的5个关键字即可。

NLTK搭配指南涵盖了如何使用n-gram PMI在大约7行代码中提取有趣的多字表达式,例如:

import nltk
from nltk.collocations import *
bigram_measures = nltk.collocations.BigramAssocMeasures()

# change this to read in your data
finder = BigramCollocationFinder.from_words(
   nltk.corpus.genesis.words('english-web.txt'))

# only bigrams that appear 3+ times
finder.apply_freq_filter(3) 

# return the 5 n-grams with the highest PMI
finder.nbest(bigram_measures.pmi, 5) 

收藏
2021-01-15 18:55 更新 同步 •  1696

“您”只有在产品文档中才会出现,应该避免过多出现这种表示

饮水思源 •  9891 2021-01-15 23:21