кластеризация коротких текстов с большим набором данных - профилирование пользователей - PullRequest
0 голосов
/ 31 августа 2018

Позвольте мне объяснить, что я хочу сделать:

Input

A csv файл с миллионами строк , содержащий каждый из них: id пользователя и строку, содержащую список ключевых слов , используемых этим пользователем, разделенных пробелами. Формат второго поля, строки, не так важен, я могу изменить его в зависимости от своих потребностей, например, добавив количество этих ключевых слов. Данные поступают из базы данных Twitter: пользователи являются пользователями Twitter, а ключевые слова - это «значащие» слова, взятые из их твитов (как это не важно).

SAMPLE ROW

На данный момент это выглядит так:
(идентификатор пользователя, ключевые слова)

"1627498372", " play house business card"  

Цель

Учитывая входные данные, которые я хочу пользователей кластера на основе ключевых слов, которые они используют в java , так что различные кластеры так или иначе представляют пользователей со схожими интересами, поэтому использование одинаковых ключевых слов, без использования методы машинного обучения, методы обработки естественного языка или распараллеливания, такие как MapReduce. Я искал много библиотек алгоритмов кластеризации в Интернете, таких как BIRCH, BFR, CURE, ROCK, CLARANS и т. Д., Но ни один из них, похоже, не удовлетворяет моим потребностям, потому что они либо для пространственных точек, либо они используют модели машинного обучения или они борются с большими наборами данных.

Так что я здесь, чтобы спросить вас, знаете ли вы такие имена / библиотеки / разумно реализуемый псевдокод (предпочтительно jar) алгоритмов кластеризации для текстов или которые можно легко изменить для работы со строками.

Надеюсь, все понятно.

UPDATE

Пока я ждал ответов, я наткнулся на библиотеку scikitlearn для python, особенно на miniatchkmeans, сейчас я что-то пробую с ней ... так что просто в качестве обновления, если вы найдете что-то в python , не стесняйтесь поделиться .

1 Ответ

0 голосов
/ 09 сентября 2018

Вместо кластеризации (сколько кластеров? А как насчет пользователей, которые не подходят ни к одному кластеру?), Вам следует рассмотреть частый анализ наборов элементов , чтобы найти популярные комбинации ключевых слов.

...