TF-IDF и ранее невиданные условия - PullRequest
5 голосов
/ 21 октября 2008

TF-IDF (термин частота - обратная частота документа) является основным элементом поиска информации. Это не правильная модель, и, похоже, она ломается, когда в корпус вводятся новые термины. Как люди справляются с этим, когда запросы или новые документы имеют новые термины, особенно если они встречаются часто. При традиционном косинусном сопоставлении они не влияют на общее совпадение.

Ответы [ 2 ]

2 голосов
/ 01 ноября 2008

Э-э, нет, не ломается.

Скажем, у меня есть два документа: «козлиная ласка» и «суслик сыра». Если бы мы фактически представляли их как векторы, они могли бы выглядеть примерно так:

A [1,1,0,0]
Б [0,0,1,1]

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

Что касается новых терминов, не влияющих на косинус, это может быть правдой, в зависимости от того, что вы имеете в виду. Если я буду искать в моем корпусе (A, B) запрос «marmoset kungfu», то в корпусе не будет ни marmoset, ни kungfu. Таким образом, вектор, представляющий мой запрос, будет ортогональным ко всем документам в коллекции и получит плохую оценку сходства косинусов. Но, учитывая, что ни одно из терминов не совпадает, это кажется довольно разумным.

1 голос
/ 01 января 2009

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

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

Однако я не думаю, что ваше определение «разрушения» очень ясно; не могли бы вы уточнить, что вы там имеете в виду? Если бы вы могли это прояснить, возможно, мы могли бы обсудить способы решения этих проблем.

...