Как найти релевантность слов в одном документе? - PullRequest
0 голосов
/ 01 апреля 2019

Я хочу найти релевантность некоторых слов (например, экономика, технология) в одном документе.

В документе около 30 страниц, идея состоит в том, чтобы извлечь весь текст и определить релевантность слов для этого документа.

Я знаю, что TF-IDF используется в группе документов, но возможно ли использовать TF-IDF для решения этой проблемы? Если нет, то как я могу сделать это в Python?

1 Ответ

0 голосов
/ 01 апреля 2019

Используя 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 на название вашего документа, и скрипт выведет в него десять самых "релевантных" слов.

...