Сходство документов: встраивание векторов по сравнению с производительностью Tf-Idf?

У меня есть коллекция документов, каждый из которых со временем быстро растет. Задача - найти похожие документы в любой момент времени. У меня есть два возможных подхода:

  1. Вложение вектора (word2vec, GloVe или fasttext) с усреднением по векторам слов в документе и с использованием косинусного сходства.

  2. Мешок слов: tf-idf или его варианты, такие как BM25.

Будет ли один из них давать значительно лучший результат? Кто-нибудь сделал количественное сравнение tf-idf с усреднением word2vec на предмет сходства документов?

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


person Alec Matusis    schedule 07.03.2017    source источник


Ответы (3)


  1. doc2vec или word2vec?

Согласно статье, doc2vec или paragraph2vec плохо подходят для коротких документов. [Изучение семантического сходства для очень коротких текстов, 2015, IEEE]

  1. Краткие документы ...?

Если вы хотите сравнить сходство между короткими документами, вы можете векторизовать документ с помощью word2vec.

  1. как построить?

Например, вы можете построить вектор документа со средневзвешенным вектором, используя tf-idf.

  1. мера сходства

Кроме того, для подобия я рекомендую использовать ts-ss, а не косинус или евклидову.

Пожалуйста, обратитесь к следующей статье или резюме в github ниже. «Гибридный геометрический подход для измерения уровня сходства между документами и кластеризации документов»

https://github.com/taki0112/Vector_Similarity

Спасибо

person Community    schedule 12.05.2017
comment
очень информативная ссылка, спасибо - person luky; 14.03.2021

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

Также обратите внимание, что «Paragraph Vectors», где вектор обучается совместно, как вектор слов для представления диапазона текста - может превзойти простое среднее значение векторов слов в качестве входных данных для задач подобия / классификации. (Многие ссылки на «Doc2Vec» конкретно означают «векторы абзацев», хотя термин «Doc2Vec» иногда также используется для любого другого способа преобразования документа в один вектор, например, простого среднего числа слов-векторов.)

Вы также можете посмотреть "Расстояние перемещения Word" (WMD), мера сходства между двумя текстами, в которой используются векторы слов, но не через какое-либо простое среднее значение. (Однако расчет может быть дорогостоящим, особенно для более объемных документов.) Для классификации есть недавнее уточнение под названием "Расстояние контролируемого перемещения слов", которое переоценивает / преобразует векторы слов, чтобы сделать их более чувствительными к известным категориям. При наличии достаточного количества данных оценки / настройки о том, какой из ваших документов должен быть ближе, чем другие, аналогичный метод, вероятно, можно было бы применить к общим задачам подобия.

person gojomo    schedule 07.03.2017

Вы также можете попробовать сходство Жаккара, которое использует базовую алгебру множеств для определения словесного перекрытия в двух документах (хотя это несколько похоже на подход BOW). Хорошее вступление к нему можно найти здесь < / а>.

person CJ Sullivan    schedule 09.03.2017
comment
Расстояние Жаккара делает больший упор на схожесть размеров документа, что в некоторых случаях может быть нежелательно. - person StevenWernerCS; 17.05.2019