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