Поиск информации: Как рассчитать TF-IDF для нескольких поисковых терминов? - PullRequest
0 голосов
/ 03 ноября 2018

У меня есть корпус из следующих 4 документов:

<1> Это первый документ.
<2> И это второй документ.
<3> Третий документ длиннее первого и второго.
<4> Это последний документ.

И использовать очередь поиска «первый ИЛИ последний», как мне рассчитать tf-idf?

В настоящее время я использую это:

tf(x, D) = raw frequency of term x in document D / raw frequency of most occurring term in D

idf(x) = log(1 + total number of documents / number of documents containing x)

Так что за очередь я получаю
<1> = (1 / 1) * log(1 + 4/3)
<3> = (1 / 2) * log(1 + 4/3)
<4> = (1 / 1) * log(1 + 4/3)

Это правильно? Как вы делаете это правильно? Нужно ли рассчитывать значение для всех поисковых терминов отдельно, а затем добавлять? умножать?

1 Ответ

0 голосов
/ 14 ноября 2018

Предполагая, что вы имеете в виду «поисковый запрос», когда говорите «очередь поиска», а ваш запрос строится с помощью логического оператора ИЛИ , вы можете создать поток, который увеличивает частоты, когда встречается одно из терминов. , Это на самом деле то, что вы сделали выше.

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

Таким образом, любой способ построения абстрактного термина из нескольких терминов путем вычисления таким образом.

...