Pull to refresh

Comments 2

Что такое EDA в Вашей статье? Да и другие трехбуквенные сокращения не пояснены. Спасибо

В статье показаны некоторые методы обработки текстов, чтобы вытянуть некоторые показатели - хорошо для новичка в текстовом анализе. Однако не хватает цели: анализ же никогда не делается для того чтобы что-то посчитать, показатели нужны для выводов.

Сам сталкивался с разведочным анализом текстов, но в моем случае было 2 цели:

1) облегчить работу data scientist, чтобы они на EDA время не тратили

2) ускорить понимание корпуса документов любому члену команды, кому резко потребовалось поработать с теми текстами, что уже попали мне в руки.

Исходя из вышеописанного я бы в набор тех методов, которые описаны в статье, добавил:

1) Расчет TF-IDF и оценку того какая доля уникальных слов покрывает объем всех слов по частоте и по TF-IDF. То есть на выходе получить значения вида: 20% уникальных слов покрывает 50% вхождений всех слов и 35% суммарного TF-IDF.

Так мы поймем насколько уникальны документы и насколько большой должен быть словарь для векторизации через BoW или TF-IDF

2) добавить ключевые слова для тем. Не только расчетом наиболее частотных, но и с помощью, либо легких алгоритмов YAKE, RAKE, либо путем поиска ближайших слов к центроиду тем.

Так мы поймем о чем наши тематики более точно

3) рассчитать все показатели не только для отдельных слов, но и для 2, 3 - грамм. Зачастую n-граммы помогают лучше понять о чем текст.

Так мы улучшим понимание текстов для тех, кто читает наш анализ. В случае, если тексты не сильно уникальные (например отзывы на парикмахерскую), то уже на 3-граммах можно будет отловить основные паттерны и более глублокий анализ может даже не потребоваться.

4) оценка изменения тем во времени. Например, через подсчет кол-ва документов тематик в каждый месяц. Изменение распределения документов в темах от месяца к месяцу даст нам информацию о том, как быстро сменяются (читай, дрифтуют) основные темы в корпусе документов. В случае отзывовов мы поймем ушли ли старые проблемы и добавились ли новые.

5) если есть категориальные переменные, то добавить оценку взаимной информации между темами и категориями. Так мы поймем что у нас есть реальная связь между темой текста и его категорией. Отсюда поймем надо ли тюнить наш алгоритм поиска тем или может действительно связи нет.

6) К LDA я бы добавил LSA (TF-IDF + SVD) и кластеризацию для поиска тематик, так как гадать над количеством тем не очень интересно. В свою очередь такой ручной поиск тематик через кластеризацию дает больше управления и позволяет сделать выводы о том насколько документы однородны. Например, если нас устраивает кластерищация через k-means, значит темы в корпусе документов более-менее четкие. Если же через k-means получается ерунда, но нас устроила клстеризация через (H)DBSCAN, значит темы в документах "расплывчатые" могут перетекать из одной в другую, приводя к тому, что есть множества документов, где каждый похож друг на друга, но все они либо без четкой границы, либо перетекают из темы в тему в рамках макротемы.

Sign up to leave a comment.

Articles