Кластеризация строк (текст) с Kmeans / EM с использованием расстояния Левенштейна - PullRequest
1 голос
/ 08 июня 2019

Я пытаюсь кластеризовать строки, используя Kmeans / EM.У меня есть список строк (около 70 строк), и я хочу сгруппировать их, используя метрику подобия Левенштейна.

Итак, в основном, я пытаюсь реализовать часть кластеризации в этой исследовательской работе: https://ieeexplore.ieee.org/document/7765062/После предварительной обработки.Я смог сформулировать матрицу подобия, используя расстояние Левенштейна, и затем я сгруппировал строки, используя иерархическую кластеризацию, а также используя спектральную кластеризацию, но я не могу сделать это, используя Kmeans или EM.Это связано с тем, что в предыдущих алгоритмах, которые мне удалось реализовать, для кластеризации достаточно только матрицы сходства / расстояния.Но в случае K-средних и EM мне нужно каким-то образом представить текст в математически работающей форме, так как мы должны найти их среднее значение (в случае K-средних).

Мне удалось найтинесколько методов для преобразования текста в вектор, такой как: 1) пакет слов 2) TF-IDF 3) doc2vec или word2vec

Должен ли я преобразовать каждую строку в вектор с помощью любого из вышеуказанных методов, а затемприменять Kmeans?Также необходимо преобразовать строки в вектор, чтобы применить K-средних или EM?и, наконец, я должен реализовать все на Python, поэтому использование Kmeans из Sklearn не позволяет мне давать метрику по моему выбору или матрицу подобия.Что мне делать?

Примечание: я нашел реализацию K-средних в тексте, где они преобразовали текст с использованием TF-IDF.А потом применил Kmeans (евклидово), но я хочу использовать Левенштейна.

Также обратите внимание: у меня есть список строк, а не текстовых документов, каждая строка составляет около 20-30 слов

...