рассчитать ближайший документ, используя fasttext или word2vec - PullRequest
0 голосов
/ 07 июня 2018

У меня есть небольшая система около 1000 документов.Для каждого документа я хотел бы показать ссылки на X «наиболее похожих» документов.

Однако документы не помечены каким-либо образом, так что это будет своего рода неконтролируемый метод.

Такое ощущение, что fasttext был бы хорошим кандидатом, но я не могу обдумать, как это сделать, когда данные не помечены.

Я могу вычислить векторы слов, хотя мне действительно нужен вектор длявесь документ.

1 Ответ

0 голосов
/ 07 июня 2018

Алгоритм Paragraph Vector, известный как Doc2Vec в библиотеках, таких как Python gensim, может обучать модель, которая даст один вектор для бегущей строки текста, и поэтому может быть полезен для ваших нужд.Тем не менее, обратите внимание, что типичная опубликованная работа использует от десятков тысяч до миллионов документов.(Всего 1000 будет очень маленьким обучающим набором.)

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

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

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

Кроме того, структуры полнотекстового индекса / поиска, такие как SOLR или ElasticSearch, могут иногда принимать полные документы в виде запросов, давая результаты с минимальным рейтингом.(Это часто работает, выбирая наиболее значимые слова примера документа и используя эти слова в качестве нечетких полнотекстовых запросов к полному набору документов.)

...