Скорость обучения TfIdf / вес документа

В настоящее время я использую sklearn для создания приложения, которое сравнивает данный документ с другими документами в поисках сходства.

При использовании других методов, таких как LSA, я знаю, что могу настроить скорость обучения так, чтобы старые документы были забыты или менее важны. Есть ли способ сделать что-то подобное с помощью TfIdf? Было бы лучше, если бы я мог определить вес, пропорциональный «дате» документа.

Я думал о применении какой-то медленно затухающей экспоненциальной функции к относительной дате документа и умножении ее на конечную косинусную оценку сходства. Хороший ли это подход?


person Guilherme Caminha    schedule 27.10.2016    source источник


Ответы (2)


Я не думаю, что это хорошая идея. Оценка tfidf получена для всего вашего репозитория документов. Если вы хотите отказаться от старых терминов, вам следует постоянно обновлять репозиторий документов. Например:

each month, 
 * Remove the 5% oldest document in the repository.
 * Add 5% latest document to the repository.

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

Это также приводит к тому же эффекту разрушения старых данных, поскольку каждые 20 месяцев у вас появляется совершенно новый репозиторий.

person greeness    schedule 28.10.2016
comment
Я делаю что-то вроде ElasticSearch: marcobonzanini.com/category/relevance - person Guilherme Caminha; 28.10.2016

Я нашел статьи, в которых подробно описывается, как ElasticSearch повышает результаты поиска на основе, например, даты: https://marcobonzanini.com/category/relevance/

Я делаю что-то на этих линиях.

person Guilherme Caminha    schedule 28.10.2016