Python для анализа данных
Я не слишком увлекаюсь интеллектуальным анализом данных, но мне нужны некоторые идеи по кластеризации. Позвольте мне сначала описать мою проблему.
У меня есть около 100 листов данных, которые содержат отзывы пользователей. Я пытаюсь найти для примеров слова, которые описывают качество. Один может сказать, что это удивительное качество другой человек может сказать, что отличное качество теперь я должен сгруппировать те документы, которые описывают эти похожие предложения и получить частоту таких предложений. Какую концепцию применить здесь?
Наверное, я должен укажите некоторые стоп-слова и синонимы. Я не слишком знаком с этой концепцией.
Может ли кто - нибудь дать мне какие-то подробные ссылки или объяснения? и какой инструмент следует использовать? Я в основном программист python, поэтому любой модуль python будет оценен по достоинству.
Спасибо
3 ответа:
Есть http://www.nltk.org/ для обработки языка. С помощью этой библиотеки вы можете разбивать текст на предложения, вычислять частоту терминов, находить синонимы и многое другое.
Морковь^2 - это хороший проект с открытым исходным кодом для кластеризации фрагментов текста, к сожалению, он написан на Java. Идея, лежащая в основе его кластеризации, - это частотность терминов и фраз (биграмм и триграмм). После предварительной обработки каждый документ (фрагмент, обзор) представляется в виде вектора термина / фразы частоты. Для вычисления кластеров они используют некоторую линейную алгебру и находят главные компоненты в этом пространстве терминов. Затем эти компоненты используются для формирования кластеров и меток для них.
В этом случае стоит рассматривать обзоры как документы, группировать их и получать ярлыки для кластеров. Может быть, этикетки как-то оценят отзывы.
В вашем конкретном случае стоит исключить слова, представляющие интерес, так резко уменьшающие размерность, которая очень важна в таких случаях. задачи
Еще один полезный проект - montylingua
Я бы следовал первичному предложению из этого вопроса о Кроссвалидированном. В частности, посмотрите наscikit-learn .
Вот две статьи, которые извлекают информацию из оценочного текста. Похоже, они делают то, что вы хотите сделать.
Http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.91.9534
Http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.77.5392&rep=rep1&type=pdf