TFIDF результаты разные для одного и того же слова - PullRequest
0 голосов
/ 14 февраля 2019

Я использую модель tfidf в python.

texts=[**tokenized words**]
dictionary = corpora.Dictionary(texts)
corpus = list(map(dictionary.doc2bow,texts))
test_model = models.TfidfModel(corpus)
corpus_tfidf = test_model[corpus]  

И он возвращает вывод, который дает некоторые шаблоны значений для одного и того же слова.Например, я выбрал слово «AAA».

         key          score
0       "AAA"       1
2323    "AAA"       0.896502
4086    "AAA"       0.844922 

Почему они имеют разные значения, даже если они абсолютно одинаковые.

1 Ответ

0 голосов
/ 14 февраля 2019

TFIDF обозначает частоту инверсии частоты документа.Это означает, что для каждого токена в каждом документе векторизация TFIDF сначала будет подсчитывать частоту токена в документе.Затем он будет обратно пропорционально взвешивать частоту токенов в пропорции документов, в которых также есть токен.

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

Некоторые процессоры TFIDF также могут добавлять дополнительное измерение взвешивания на основе количества других токенов в каждом документе.

Короче говоря, один и тот же токен имеет разные оценки в разных документах, потому что этот токен, вероятно, встречается в одних документах чаще, чем в других.Эта распространенность либо объясняется тем, что она встречается чаще, либо объясняется большей долей токенов документа.

...