Який хороший метод кластеризації короткого тексту?


15

Я працюю над проблемою кластеризації тексту. Дані містять кілька пропозицій. Чи є хороший алгоритм, який досягає високої точності на короткому тексті?

Чи можете ви надати хороші довідки?

Такі алгоритми, як KMeans, спектральна кластеризація не дуже добре справляються з цією проблемою.

Відповіді:


10

Це здебільшого залежить від того, наскільки "найсучаснішого" (SOTA) ви хочете, порівняно з тим, наскільки глибоко ви хочете піти (каламбур призначений ...).

Якщо ви можете жити лише з неглибокими вкладками слів, як це передбачено word2vec, Glove або fastText, я вважаю, що відстань перенесення слова (WMD [так, справді ...]) є приємною функцією для вимірювання (коротких) відстаней до документа [1] . У минулому я навіть бачив декілька ноутбуків Python, які пропонують "підручники" для цієї міри відстані, тому його дійсно легко розпочати.

Однак якщо вас більше цікавить SOTA, вам доведеться вивчити глибоке (подання послідовностей) навчання, використовуючи якусь періодичну мережу, яка вивчає тематичну модель з ваших пропозицій. Окрім інтеграції (семантичного) вбудовування слів, ці підходи виходять за рамки [доброго, старого] підходу «мішок слів», вивчаючи представлення тем за допомогою залежностейслів у реченні [с]. Наприклад, модель періодичної теми теми (SLRTM) є досить цікавою глибокою, повторюваною моделлю, заснованою на ідеях більш традиційних LDA (Blei et al.) Або LSA (Landauer et al.), Але це лише arXiv папір (тому повинні застосовуватися всі застереження "застереження" взяти-з-за-зерна-солі "щодо нерецензованих досліджень ...) [2]. Незважаючи на це, у статті є багато відмінних покажчиків та посилань, щоб розпочати дослідження, якщо ви хочете спуститися з цієї кролячої нори.

Нарешті, слід уточнити, що я не стверджую, що це узгоджені найкращі методи для моделей мішок слів і послідовностей відповідно. Але вони повинні вас зблизити з будь-яким "найкращим" SOTA, і, принаймні, повинні стати відмінною відправною точкою.

[1] Метт Дж. Куснер та ін. Від вставки Word до документа відстані. Матеріали 32-ї міжнародної конференції з машинного навчання, JMLR, 2015 р.

[2] Fei Tian та ін. SLRTM: Дозволити темам говорити про себе. arXiv 1604.02038, 2016.


Я спробував word2vec, і він не працює добре для короткого тексту.
Ентузіаст

Просто для впевненості: моя відповідь вище не рекомендує використовувати word2vec (поодинці) для кластеризації короткого тексту. Скоріше, він рекомендує використовувати WMD (над вбудованими векторами) та / або методи глибокого навчання. (Тим не менш, якщо ти можеш тренувати власні вектори, ти отримуєш дуже хороші результати лише з ними, використовуючи подібність Soft Cosine, принаймні, для «працездатного прототипу».)
fnl

-1

https://github.com/RandyPen/TextCluster
Це метод кластера, характерний для короткого тексту, який перевершує KMeans тощо. Не потрібно встановлювати приховану змінну кількість.
Основна ідея - токенізувати речення словами. Потім перейдіть до іншого відра відповідно до текстового компонента. У кожному відрі обчисліть схожість між реченням і відром. Якщо показник подібності вищий за конкретне значення, додайте це речення до цього відра, інакше шукайте наступне відро.

базовий


Вам потрібно детальніше розглянути свою відповідь. Не просто цитуйте посилання.
Майкл Р. Черник
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.