Как найти наиболее значимые слова в тексте с помощью word2vec?

#nlp #word2vec

#nlp #word2vec

Вопрос:

Итак, например, я ввожу в качестве входных данных некоторое предложение с некоторым семантическим значением, а на выходе получаю некоторый список ближайших (по косинусному расстоянию) слов (в основном отдельных слов).

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

Например:

«Я хочу купить пиццу»;

«пицца»: 0.99123

«купить»: 0.7834

«хочу»: 0.1443

Как такое требование может быть выполнено «из коробки», без какого-либо кодирования на C?

Может быть, мне нужно вычислить уравнение косинусного расстояния для этого?

Спасибо!

Ответ №1:

Похоже, вам нужно тематическое моделирование вместо word2vec. Word2vec используется для сбора локальной информации, не рекомендуется использовать его непосредственно для классификации или кластеризации слов или предложений.

Еще одним аспектом может быть остановка удаления слов, поскольку вы упоминаете о бессмысленных словах. Кстати, они не являются бессмысленными, они на самом деле не соответствуют какой-либо теме. Итак, вы считаете их бессмысленными.

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