2016-02-01 3 views
-2

Как класть только слова в заданном наборе данных: я проходил несколько алгоритмов в Интернете, например, k-Means algotihm, но, похоже, они связаны с кластеризацией документов вместо кластеризации слов. мне каким-то образом только кластерные слова в заданном наборе данных ???. , пожалуйста, новичок в python.Кластеризация слов в python

+1

Не могли бы вы привести пример того, что вы пытаетесь выполнить? –

+1

(1) Для разных задач требуются разные типы кластеров. Можете ли вы указать задачу и какие слова, которые, по вашему мнению, принадлежат к одним и тем же кластерам? (2) Вы ориентируетесь только на английский язык? –

+0

Могу ли я скопировать все слова, основанные на полярности каждого слова из данного набора данных. Например, слова, такие как kill, burn и т. Д., Имеют отрицательную полярность, поэтому все эти слова должны находиться под одним кластером. –

ответ

2

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

Вы можете использовать Левенштейна, а затем сделать иерархическую кластеризацию.

Но:

  • dog и fog имеют расстояние 1, т.е. очень похожи.
  • dog и cat есть 3 из 3 букв разные.

Так что если вы не можете определить хорошую меру сходства, не кластерные слов.

+0

Word2Vec идентифицирует слова схожих значений без необходимости понимать язык. Взгляни. – Mogrifier

+0

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

3

Основываясь на том, что мой последний ответ действительно был ложным ответом, поскольку он использовался для кластеризации документов, а не кластеризации слов, вот реальный ответ.

Что вы ищете, это word2vec. Действительно, word2vec - это инструмент Google, основанный на глубоком изучении, который работает очень хорошо. Он преобразует слова в векторное представление и поэтому позволяет вам делать с ним несколько вещей.

К примеру, один из его многочисленных примеров, которые хорошо работают в algebric отношение слов:

  • вектор («щенок») - вектор («собака») + вектор («кошка») близка к вектор («котенок»)
  • вектора («король») - вектор («человек») + вектор («женщина») близок к вектору («королева»)

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

Когда у вас есть векторы вместо слов, вы можете в значительной степени делать все, что хотите. Например, вы можете кластеризовать k-значение с косинусовым расстоянием в качестве меры несходства ...

Надеюсь, что это хорошо ответит на ваш вопрос. Вы можете больше узнать о word2vec в разных документах или веб-сайтах, если хотите. Я не свяжу их здесь, так как это не предмет вопроса.

Смежные вопросы