我想在单个文档中找到某些单词(例如经济,技术)的相关性。
该文档大约有30页,其目的是提取所有文本并确定与该文档相关的单词。
我知道在一组文档中使用了TF-IDF,但是可以使用TF-IDF解决此问题吗?如果没有,如何在Python中执行此操作?
答案 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
更改为文档名称,脚本将在其中输出十个“最相关”的单词。