Керас для поиска предложений сходства от предварительно обученного word2vec - PullRequest
0 голосов
/ 21 сентября 2019

Я предварительно обучен word2vec с gensim.И использование gensim для нахождения сходства между words работает как положено.Но у меня проблема с поиском сходства между двумя разными предложениями.Использование cosine similarities не является хорошим вариантом для предложений и не дает хорошего результата.Soft Cosine similarities в gensim дает немного лучшие результаты, но, тем не менее, он также выглядит не очень хорошо.

Я нашел WMDsimilarities в gensim.Это немного лучше, чем softcosine и cosine.

Я думаю, есть ли возможность, например, использовать глубокое обучение, такое как keras и tensorflow, чтобы найти сходство предложений из предварительно обученного word2vec,Я знаю, что классификация может быть выполнена с использованием word embbeding, и это кажется несколько лучшими вариантами, но тогда мне нужно найти тренировочные данные и пометить их с нуля.

Итак, мне интересно, есть ли какой-нибудь другой вариант, который можно использовать предварительно обученный word2vec в keras и получить предложения сходства.Есть ли способ.Я открыт для любых предложений и советов.

1 Ответ

1 голос
/ 21 сентября 2019

Перед повторной реализацией колеса я бы предложил попробовать метод doc2vec от gensim , он работает довольно хорошо и прост в использовании.

Для реализации его в Keras повторное использование вложенийВы вычислили с помощью gensim:

  1. Сохраните вложения слов в файле, по одному слову в строке с соответствующим вложением.В качестве альтернативы вы можете сделать так, как предложил @Paul, пропустить шаг 2 и повторно использовать слой на шаге 3.
  2. Загрузить вложения слов в слой Keras Embedding.Вы можете просмотреть этот учебник Keras для получения более подробной информации (проверьте, как инициализируется переменная embedding_layer).
  3. Затем можно использовать модель последовательности в последовательности для вычисления встраивания текста.В котором у вас есть кодер, который встраивает строку, и декодер, который преобразует встраивание обратно в строку.Вот учебник Keras, который переводит с английского на французский .Вы можете использовать аналогичный процесс, чтобы преобразовать ваш текст в текст и выбрать внутреннее вложение для вашей метрики сходства.

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

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