如何在单个文档中查找单词相关性?

时间:2019-04-01 14:01:53

标签: python nltk word tf-idf tfidfvectorizer

我想在单个文档中找到某些单词(例如经济,技术)的相关性。

该文档大约有30页,其目的是提取所有文本并确定与该文档相关的单词。

我知道在一组文档中使用了TF-IDF,但是可以使用TF-IDF解决此问题吗?如果没有,如何在Python中执行此操作?

1 个答案:

答案 0 :(得分:0)

使用NLTK及其内置的语料库之一,您可以估算单词的“相关性”:

from collections import Counter
from math import log
from nltk import word_tokenize
from nltk.corpus import brown

toks = word_tokenize(open('document.txt').read().lower())
tf = Counter(toks)
freqs = Counter(w.lower() for w in brown.words())
n = len(brown.words())
for word in tf:
    tf[word] *= log(n / (freqs[word] + 1))**2    
for word, score in tf.most_common(10):
    print('%8.2f %s' % (score, word))

document.txt更改为文档名称,脚本将在其中输出十个“最相关”的单词。