Когда поток отзывов, тикетов и сообщений в чатах исчисляется тысячами в месяц, сплошное чтение перестаёт работать. Выборочное чтение даёт картину, которая зависит от того, кто читал и в какой день. Подсчёт самых частых слов выдаёт «не», «очень», «заказ», «приложение». Этими словами довольные клиенты пользуются так же охотно, как недовольные, поэтому они ничего не говорят о поломке. Анализ семантического ядра негатива решает другую задачу: он ищет в жалобах не самые частые слова, а самые характерные. Для этого используют весовую схему TF-IDF (term frequency — inverse document frequency, «частота термина — обратная частота документа»). Она поднимает наверх термины, которые встречаются в негативе непропорционально чаще, чем в остальном потоке обратной связи.
Схема старая, но по-прежнему сильная. В исследовании Сатвика Гарга (Satvik Garg, 2021) строили рекомендательную систему лекарств по отзывам пациентов с платформ вроде Drugs.com. Тексты превращали в числа тремя способами: «мешком слов» (bag of words), Word2Vec и TF-IDF. На этих представлениях обучали линейный SVC, логистическую регрессию и случайный лес. Лучший результат дала связка TF-IDF и линейного SVC, в версии работы из пакета материалов указана точность 93 %. Авторы отдельно отмечают, что в отзывах есть реальный опыт, побочные эффекты и личные исходы, которых нет в данных клинических испытаний. Для бизнеса вывод тот же: в свободном тексте отзыва лежит информация, которой нет в оценке по шкале.
Ниже разобрано, откуда взялся подход и как считается каждый его компонент. Отдельно показано, где популярные пересказы TF-IDF вводят в заблуждение, какие ошибки превращают ядро негатива в шум и как за четыре недели пройти путь от выгрузки отзывов до плана исправлений с владельцами.
Важно не самое частое слово в жалобах, а слово, которое в жалобах встречается заметно чаще, чем везде.
Происхождение и исследовательская база: анализ семантического ядра негатива
Линия 1. Карен Спарк Джонс и специфичность термина
Идея обратной частоты документа (inverse document frequency, IDF) связана с именем британского специалиста по информатике Карен Спарк Джонс (Karen Spärck Jones). В 1972 году в Journal of Documentation вышла её статья «A Statistical Interpretation of Term Specificity and Its Application in Retrieval». Статья решала задачу информационного поиска: как оценить, насколько термин помогает отобрать нужные документы из коллекции. Ответ получился простым. Термин, который встречается почти во всех документах, плохо отличает одни документы от других. Термин из немногих документов отличает хорошо. Специфичность термина обратна тому, во скольких документах он встречается.
Популярные пересказы, в том числе прежняя версия этого материала, расходятся с первоисточником в двух местах. Первое: статья 1972 года формализует компонент IDF, то есть специфичность термина. Перемножение с частотой термина в документе (TF) закрепилось в последующей практике информационного поиска. Поэтому формулировка «Спарк Джонс разработала TF-IDF» неточна: её вклад — та половина формулы, которая и делает метод полезным для поиска отличий. Второе: работа не относится к «докомпьютерной эпохе». Она написана для автоматического индексирования, то есть для машинной обработки текстов.
Линия 2. TF-IDF как способ представления текста в NLP
В обработке естественного языка (natural language processing, NLP) TF-IDF стал одним из стандартных способов векторизации. Каждый текст превращается в вектор весов терминов. С этим вектором дальше работают классификаторы, алгоритмы кластеризации и поиска похожих документов. Для обратной связи от клиентов из этого вырастают две прикладные линии.
Первая линия — классификация тональности. Работа Гарга (2021) показала, что на отзывах о лекарствах TF-IDF в паре с линейным SVC обогнал и «мешок слов», и Word2Vec. Важно, что сравнивалась именно точность классификации тональности. Работа не проверяла, насколько хорошо TF-IDF находит причины недовольства. Перенос результата на поиск проблем — это аналогия, а не доказанный факт. Вторая особенность источника: в пакете материалов работа представлена версией в журнале IRJMETS с рамкой «постпандемийной эпохи» и упоминанием COVID-19. Конференционная публикация с тем же названием датирована 2021 годом. Цифру 93 % корректно приводить со ссылкой именно на эту версию.
Вторая линия — сравнительные исследования методов анализа тональности. Мд. Тауфикул Хак Хан Тусар и Мд. Тоухидул Ислам (Md. Taufiqul Haque Khan Tusar, Md. Touhidul Islam, 2021) сравнивали подходы на твитах об американских авиакомпаниях. Их исходная посылка звучит как диагноз многим службам клиентского опыта. Компании тратят деньги и людей на понимание потребностей клиентов, но из-за дефектного ручного анализа разнородных запросов не достигают удовлетворённости, теряют лояльность и переплачивают за маркетинг. Анализ тональности на стыке NLP и машинного обучения авторы предлагают как способ извлечь выводы из массового общественного мнения о темах и событиях.
Линия 3. Критика и доработки весовой схемы
Тянь Ся и Яньмэй Чай (Tian Xia, Yanmei Chai, 2011) в статье «An improvement to TF-IDF: Term Distribution based Term Weight Algorithm» исходят из того, что частота термина — не единственный признак его важности. Учитывать нужно и то, как термин распределён внутри документа. Слово, сосредоточенное в одном месте текста, и слово, равномерно рассыпанное по нему, при одинаковой частоте несут разную информацию. Авторы предложили использовать распределение как дополнительный дискриминатор. По их оценке, схема весов сильно влияет на точность и полноту (precision и recall) NLP-систем. Практический вывод для анализа отзывов: классический TF-IDF — разумная отправная точка, а не единственно верная формула. Если результаты расходятся с тем, что видят люди при чтении, проблема может быть в самой схеме весов.
Линия 4. Перенос на другие потоки текста
Арпанджит Сандху и Сабах Мохаммед (Arpanjeet Sandhu, Sabah Mohammed, 2022) применили TF-IDF к журналам событий. Поиск аномалий в логах они свели к задаче классификации текста и сравнили два варианта: признаки NLP в сочетании с эмбеддингами и в сочетании с TF-IDF. Для руководителя эта работа ценна логикой, а не цифрами. Вопрос «что здесь нетипично относительно фона» одинаково применим к отзывам, тикетам, логам и внутренней переписке. Поэтому ядро негатива легко дополняется выявлением паттернов аномалий и семантическим анализом чатов.
Линия 5. Инженерная реализация
Англоязычные руководства, например материал GeeksforGeeks о TF-IDF в TensorFlow, сводят внедрение к четырём шагам:
Шаг 1. Подключение библиотек. Импортируются TensorFlow и вспомогательные модули.
Шаг 2. Подготовка набора данных. Тексты собираются в один массив. Для отзывов здесь же сохраняется метка «негатив / не негатив».
Шаг 3. Слой TextVectorization в режиме TF-IDF. Слой создаётся и «адаптируется» на корпусе, то есть запоминает словарь и считает обратную частоту документов.
Шаг 4. Преобразование текста. Каждый отзыв превращается в вектор весов TF-IDF.
Преимущество встроенного в фреймворк слоя в том, что предобработка и взвешивание становятся частью модели. Одни и те же правила применяются при обучении и при обработке новых отзывов, их не нужно дублировать в отдельном скрипте. Для разового аналитического отчёта хватает обычных библиотек Python. TensorFlow оправдан, когда расчёт ядра встраивается в постоянный конвейер обработки обращений.
Ключевые идеи и принципы: анализ семантического ядра негатива
Принцип: частота термина (TF) показывает, насколько слово заметно в тексте
Частота термина (term frequency) — сколько раз слово или словосочетание встречается в конкретном документе. Обычно её нормируют на длину документа: число вхождений делят на общее число слов. Тогда длинная жалоба не перевешивает короткую только объёмом. Сама по себе TF для диагностики почти бесполезна: служебные и общие слова имеют максимальную частоту везде. Она отвечает на вопрос «о чём много говорится в этом тексте», но не на вопрос «что в нём особенного».
Принцип: обратная частота документа (IDF) показывает, насколько слово избирательно
Обратная частота документа — логарифм отношения общего числа документов к числу документов, где термин встречается хотя бы раз. Слово из каждого документа получает IDF, равный нулю: логарифм единицы. Слово из единичных документов получает высокий IDF. Библиотеки обычно добавляют сглаживание, чтобы не делить на ноль и не обнулять вездесущие слова полностью. Отсюда первое практическое правило: значения IDF из разных библиотек нельзя сравнивать напрямую, формулы сглаживания у них различаются.
Принцип: произведение TF × IDF даёт вес только на пересечении
Итоговый вес термина — произведение двух компонентов. Высокий вес получает термин, который часто встречается в данном документе и при этом редок в коллекции. Частое общее слово проигрывает за счёт низкого IDF. Редкое слово, упомянутое один раз, проигрывает за счёт низкой TF. Так метод отделяет «шум языка» от содержательных сигналов без ручного составления словарей.
TF-IDF не знает, что такое жалоба. Он знает только, что здесь встречается чаще, чем в других местах. Смысл задаёт то, что вы назвали «здесь» и «другими местами».
Принцип: аналитик сам решает, что считать документом
Здесь популярные пересказы чаще всего расходятся с исходной логикой метода. Классический TF-IDF ранжирует термины внутри одного документа относительно коллекции. Сравнивать «негатив против всего остального» автоматически он не умеет. Чтобы получить ядро именно негатива, аналитик задаёт схему документов. На практике используют три варианта.
Отзыв как документ. IDF считается по всем отзывам: негативным, нейтральным и позитивным. Затем веса терминов усредняются отдельно по негативу и по остальным, а в ядро идут термины с наибольшим разрывом. Это самый устойчивый вариант.
Класс как документ. Все негативные отзывы сливаются в один большой документ, остальные — в другой или ещё в два. При двух-трёх документах IDF получается грубым: слово из всех классов обнуляется, слово только из негатива получает максимум. Вариант быстрый и наглядный, но чувствителен к случайным редким словам.
Период как документ. Негатив каждого месяца образует отдельный документ. Тогда метод показывает, что стало характерным для жалоб именно этого месяца, то есть ловит новые проблемы, а не хронические.
Принцип: фон обязательно включает не только негатив
Если посчитать IDF только по негативным отзывам, массовая проблема, на которую жалуется большинство недовольных, получит низкий IDF и опустится вниз списка. Самый важный сигнал будет подавлен формулой. Фоном для сравнения должен быть весь поток обратной связи за тот же период и из тех же каналов. Тогда «характерное для негатива» означает «отличает недовольных от остальных клиентов», а не «отличает одну жалобу от другой».
Принцип: разметка негатива определяет, что вообще попадёт в анализ
Ядро строится по отзывам, которые уже отнесены к негативу. Самый простой критерий — звёздная оценка, например одна-две звезды. У него есть слепое пятно: клиент ставит четыре звезды и пишет конкретную жалобу. В чатах, письмах и звонках оценки нет вовсе. Тогда TF-IDF-векторы служат признаками для классификатора тональности, как в работах Гарга и Тусара с Исламом. Критерий разметки фиксируется заранее и записывается, иначе ядро разных месяцев нельзя сравнить.
Принцип: специфичность и масштаб — разные оси
Высокий вес TF-IDF говорит, что термин характерен для негатива, но не говорит, сколько клиентов задело. Узкая, но редкая поломка может обогнать по весу массовую проблему, лексика которой частично встречается и в нейтральных отзывах. Поэтому у каждого термина ядра считают ещё и простую долю: в каком проценте негативных отзывов он встречается. Решение о приоритете принимают по двум осям сразу: насколько термин отличает негатив и насколько он массовый.
Принцип: семантическое ядро — короткий ранжированный список сигналов
Семантическое ядро негатива — список терминов и словосочетаний, которые сильнее всего отличают жалобы от остального потока. Размер ядра задаёт не формула, а пропускная способность команды. В ядро берут столько терминов, сколько реально разберут чтением на следующем шаге. Длинный хвост слабых терминов размывает фокус и почти не добавляет новых проблем.
Принцип: словосочетания (n-граммы) сохраняют контекст
Отдельные слова «вход», «экран», «деньги» слишком общие: они уместны и в похвале, и в жалобе. Биграммы и триграммы «не могу войти», «чёрный экран», «списали дважды» несут конкретику, которую можно передать в работу. Слой TextVectorization и большинство библиотек позволяют задать диапазон n-грамм. Ядро разумно собирать из обоих уровней: униграммы показывают широкие области проблем, словосочетания — конкретные поломки.
Принцип: предобработка определяет, что можно найти
Для русского языка критична лемматизация, то есть приведение слов к начальной форме. Без неё «вошёл», «войти», «вход» и «войду» раздробятся на несколько слабых терминов, и ни один не пройдёт порог. Второй критичный момент — стоп-слова. Стандартные стоп-листы удаляют «не» и «нет», а в жалобах отрицание и есть смысл: «не работает», «не пришло», «нет ответа». Перед расчётом стоп-лист проверяют вручную: отрицания из него убирают, а название бренда и продукта, наоборот, добавляют.
Принцип: ядро — навигатор по корпусу, а не вывод
Ядро превращает чтение из случайного в целевое. Команда читает не отзывы подряд, а выборку текстов с конкретным значимым термином и за короткое время получает качественную картину одной проблемы. Один и тот же термин может прятать разные причины. «Оплата» означает то списание без заказа, то отказ банка, то непонятную подписку. Поэтому за каждым термином обязательно стоит чтение, а за чтением — разбор причин, например через 6W1H.
Принцип: три области применения TF-IDF
В англоязычных руководствах перечисляют три применения метода, и все три работают на клиентский опыт:
Информационный поиск (information retrieval) — ранжирование документов по запросу. В отзывах это поиск всех обращений, похожих на конкретную жалобу.
Анализ текстов (text mining) — извлечение ключевых слов и тем из массива. Это и есть построение семантического ядра.
Анализ тональности (sentiment analysis) — TF-IDF-векторы служат признаками для классификатора, который размечает отзывы на негативные и позитивные.
Когда негатив нужно разложить не на слова, а на темы, логичное продолжение — кластеризация тем недовольства с помощью LDA и глубинный анализ отзывов с тематическим моделированием.
Ограничения, слепые зоны и критика: анализ семантического ядра негатива
Метод видит распределение слов, а не смысл. TF-IDF работает с отдельными словами и короткими сочетаниями. Он не улавливает иронию, сарказм и косвенные формулировки: «ну спасибо, третий день жду» не содержит явно негативной лексики. Порядок слов за пределами n-граммы теряется. Эмоциональный слой разбирают отдельно, например через обнаружение эмоций в обращениях клиентов.
Синонимы распадаются. «Глючит», «зависает», «тормозит» и «виснет» для TF-IDF — четыре разных термина. Каждый может оказаться ниже порога, хотя вместе они описывают крупнейшую проблему. Эмбеддинги вроде Word2Vec частично решают эту задачу, но теряют прозрачность. Веса TF-IDF можно объяснить руководителю, векторы эмбеддингов — нет. В работе Гарга Word2Vec к тому же уступил TF-IDF по точности классификации, так что переход на эмбеддинги не даёт гарантированного выигрыша.
Малый объём даёт ложных лидеров. Когда отзывов мало, случайное слово из пары текстов получает высокий IDF и попадает в верх ядра. На небольшом массиве сплошное чтение быстрее и надёжнее формального расчёта. Признак недостаточного объёма — ядро сильно меняется при пересчёте на чуть другой выборке, например без одной недели.
Вес зависит от решений аналитика. Схема документов, состав фона, критерий негатива, стоп-лист, диапазон n-грамм и формула сглаживания меняют итоговый список. Два аналитика на одних данных могут получить разные ядра. Это не дефект, а свойство метода, но настройки нужно фиксировать и повторять от замера к замеру. Работа Ся и Чай показывает, что даже сама формула весов — предмет выбора, а не константа.
Специфичность подменяет масштаб. Высокий вес термина легко принять за «самую большую проблему». На деле TF-IDF меряет отличие негатива от фона. Массовую беду, о которой пишут и недовольные, и умеренно довольные клиенты, метод может недооценить. Без второй оси — доли затронутых отзывов — приоритеты будут искажены.
Расхождение популярных пересказов и исследований. Работы из этого материала изучают классификацию тональности (Гарг, Тусар и Ислам), схему весов (Ся и Чай) и поиск аномалий в логах (Сандху и Мохаммед). Ни одна из них не измеряет, насколько ядро негатива помогает бизнесу найти и устранить проблемы. Цифры точности вроде 93 % относятся к угадыванию тональности на конкретном наборе данных. Переносить их на «точность поиска проблем» нельзя.
Отзывы — смещённая выборка. Пишут в основном те, кто очень доволен или очень раздражён. Молча ушедшие клиенты в корпус не попадают. Ядро показывает, на что жалуются пишущие, а не всю картину опыта. Его полезно сверять с количественными метриками, например NPS.
Ядро негатива отвечает на вопрос «где искать», но не на вопросы «насколько это важно» и «почему это случилось».
Чем анализ семантического ядра негатива не является. Это не система мониторинга тональности и не готовый отчёт о причинах недовольства. Это не замена чтению отзывов и интервью с клиентами. Это и не тематическая модель: темы метод не строит, он ранжирует термины. Это способ быстро сузить поле поиска в большом текстовом потоке, после которого работу делают люди.
Типовые ошибки при работе с анализом семантического ядра негатива
Ошибка 1: IDF считается только по негативу.
Аналитик берёт выгрузку жалоб и прогоняет через векторизатор только её. Термины, общие для большинства недовольных, получают низкий IDF и уходят вниз. Ядро заполняется редкими частными случаями, а главная массовая проблема пропадает из поля зрения. Команда чинит мелочи и удивляется, почему поток негатива не падает.
Как избежать
адаптировать векторизатор на всём потоке обратной связи за период, а сравнение строить между средними весами в негативе и в остальных отзывах.
Ошибка 2: стандартный стоп-лист съедает отрицания.
Готовый список стоп-слов для русского языка удаляет «не», «нет», «ни». Фразы «не пришёл код», «нет ответа» превращаются в «пришёл код» и «ответ», то есть в нейтральную или даже позитивную лексику. Ядро теряет самые содержательные словосочетания.
Как избежать
перед первым расчётом вручную просмотреть стоп-лист, вернуть отрицания, добавить бренд, название продукта и шаблонные фразы операторов.
Ошибка 3: нет лемматизации, и считаются только отдельные слова.
Словоформы дробят один сигнал на десяток слабых, а униграммы без контекста дают ядро из слов «оплата», «доставка», «приложение». Такое ядро выглядит как оглавление продукта и не подсказывает, что сломалось. Руководитель решает, что метод бесполезен.
Как избежать
лемматизировать тексты и считать униграммы вместе с биграммами и триграммами. В отчёт выводить оба уровня.
Ошибка 4: ядро принимают за вывод.
Список терминов уходит в презентацию как «топ проблем клиентов», задачи ставятся прямо по словам. Под словом «оплата» оказываются три разные причины с разными владельцами. Исправляют одну, жалобы по двум другим продолжаются, и доверие к анализу падает.
Как избежать
по каждому термину ядра читать выборку содержащих его отзывов, формулировать проблему одной фразой и только затем ставить задачу.
Ошибка 5: расчёт на слишком малом объёме без проверки устойчивости.
На паре сотен отзывов верх ядра занимают случайные слова, которые встретились в двух-трёх текстах. Команда тратит время на несуществующие проблемы. Это особенно опасно, когда ядро считают по узкому сегменту или по одной неделе.
Как избежать
пересчитать ядро на нескольких подвыборках, например без одной недели или без одного канала, и оставлять только термины, которые держатся в верхней части при каждом пересчёте. Если объёма не хватает, читать все отзывы целиком.
Ошибка 6: цикл не замыкается.
Ядро посчитали один раз, отчёт отправили, задачи раздали без сроков и без критерия успеха. Через квартал никто не знает, исчезли ли исправленные проблемы из жалоб. Метод превращается в разовую активность, а не в инструмент управления.
Как избежать
у каждого действия должен быть владелец, срок и термин ядра, по которому проверяется эффект. Повторный расчёт с теми же настройками проводить по графику и сравнивать вес и долю этого термина до и после исправления.
План внедрения: анализ семантического ядра негатива
Неделя 1: корпус и правила игры. Выгрузите отзывы, тикеты и сообщения из всех каналов за выбранный период в один массив. Для каждой записи сохраните канал, дату и оценку, если она есть. Зафиксируйте письменно критерий негатива: по звёздам, по классификатору тональности или по ручной разметке. Оцените объём: если негативных текстов мало, запланируйте сплошное чтение вместо расчёта. Назначьте владельца анализа и участников разбора со стороны продукта, сервиса и операций.
Неделя 2: предобработка и расчёт ядра. Приведите тексты к нижнему регистру, лемматизируйте, проверьте стоп-лист: верните отрицания, добавьте бренд и шаблоны операторов. Выберите схему документов, по умолчанию — «отзыв как документ». Адаптируйте векторизатор на всём потоке, посчитайте средние веса униграмм и биграмм в негативе и в остальных отзывах, отберите термины с наибольшим разрывом. Для каждого термина посчитайте долю негативных отзывов, где он встречается. Пересчитайте ядро на двух-трёх подвыборках и оставьте устойчивые термины.
Неделя 3: целевое чтение. Распределите термины ядра между участниками. По каждому термину прочитайте выборку содержащих его отзывов. Объедините синонимы в одну проблему, разделите термины, за которыми прячутся разные причины. Каждую проблему сформулируйте одной фразой и приложите два-три типичных отзыва. Отметьте то, что ядро не поймало, но всплыло при чтении: сарказм, косвенные жалобы.
Неделя 4: действия и точка замера. Расставьте проблемы по двум осям: специфичность для негатива и доля затронутых отзывов. Для верхних проблем разберите причины и назначьте действия с владельцем, сроком и критерием успеха. Привяжите каждое действие к термину ядра, по которому будет видно, сработало ли исправление. Сохраните все настройки расчёта, чтобы повторный замер был сопоставим.
Далее: поддержание и обновление. Пересчитывайте ядро регулярно, например раз в месяц, с теми же настройками. Добавьте схему «период как документ», чтобы ловить новые жалобы. Сравнивайте вес и долю терминов до и после исправлений. Раз в квартал пересматривайте стоп-лист и критерий негатива. Когда поток вырастет, встройте расчёт в постоянный конвейер обработки обращений и дополните его тематическим моделированием.
Как реализовать этот план с помощью фрейма «Семантическое ядро негатива» в OrgDevTools
Фрейм — бесплатный тренажёр. Он ведёт от параметров корпуса к ядру, проверке ядра чтением и плану исправлений. Расчёт он делает по числам, которые вы вносите сами: в скольких отзывах встречается каждый термин. Отдельного Инструмента с этим фреймом на платформе нет, используется только тренажёр.
Вкладка «1. Корпус» — неделя 1: корпус и правила игры
Четыре числовых поля:
«Негативных отзывов (документов)»;
«Всего отзывов (негатив + фон)»;
«Мин. негативных отзывов с термином», по умолчанию 5;
«Мин. подъём против фона, ×», по умолчанию 2.
Оба порога — рабочая настройка фрейма. Если ввести в них ноль, фрейм вернёт значения по умолчанию. Фрейм сам показывает долю негатива в корпусе. Подсказка определяет негатив как отзывы с оценкой 1–2 или помеченные как жалоба, а фон — как остальные отзывы того же периода и источника.
Ниже идёт список «Откуда корпус и как чистили текст?»: источник, период, лемматизация, стоп-слова.
Вкладка «2. Термины и ядро» — неделя 2: предобработка и расчёт ядра
Это таблица кандидатов, термины добавляются кнопкой «+ термин» и удаляются крестиком. Для каждого слова или биграммы вводятся два числа: в скольких негативных отзывах он встречается и в скольких всех. Остальное фрейм считает сам:
Доля в негативе и доля в фоне (фоновые отзывы с термином ÷ размер фона).
Подъём — отношение этих долей. Если в фоне термина нет, подъём показан как «∞».
TF-IDF — доля в негативе × ln(всего отзывов ÷ отзывов с термином).
Метка «ядро» — ставится, если термин встречается не менее чем в минимальном числе негативных отзывов и подъём не ниже порога.
TF-IDF влияет только на порядок в рейтинге, в отборе ядра он не участвует. Термины без названия в расчёт не попадают. Под таблицей есть список «Наблюдения по ядру», например чтобы объединить синонимы в одну тему.
Вкладка «3. Чтение и действия» — недели 3–4: целевое чтение и действия
Таблица автоматически собирает только термины ядра. По каждому вы вводите, сколько отзывов прочитано и в скольких термин подтвердил проблему. Фрейм считает точность: подтверждённые ÷ прочитанные. Ниже 30 % она красная, иначе зелёная.
Рядом два списка:
«Какие проблемы нашли при чтении?» — проблема и пример цитаты;
«Что исправляем, кто и к какому сроку?» — в формате «действие — владелец — срок».
Вкладка «Визуализация» — неделя 4: расстановка по двум осям
Слева рейтинг первых 12 терминов по TF-IDF: термины ядра выделены красным, остальные серым. Справа карта «доля негативных отзывов с термином × подъём». Пунктир на ней отмечает порог подъёма, подъём на шкале ограничен значением 20.
Вкладка «Итоги» — далее: поддержание и обновление
Вердикт проверяет условия по порядку и выдаёт первое сработавшее сообщение:
Корпус не задан — просьба указать оба числа.
Всего отзывов не больше негативных — красное предупреждение: без фона в ядро попадут слова, частые везде.
У термина негативных отзывов больше, чем всех, или больше размера негатива — проверьте подсчёт.
Нет кандидатов — просьба их внести.
Ни один термин не прошёл пороги — совет добавить биграммы или снизить порог частоты.
Есть непрочитанные термины ядра — напоминание, что ядро лишь указатель, и совет прочитать 20–30 отзывов на термин.
Есть термины с точностью ниже 30 % при пяти и более прочитанных отзывах — совет исключить их из ядра.
Нет действий — красное предупреждение.
Всё пройдено — зелёный итог: до пяти терминов ядра с подъёмом, число действий и совет пересчитать долю терминов через 4 недели.
Под вердиктом четыре счётчика: негатив / всего, кандидатов, в ядре, действий. В сохранённом документе доступна кнопка «Создать задачу». Она создаёт задачу «Исправить проблемы из ядра негатива», в описание попадают вердикт и список действий.
Чего фрейм не делает
Не загружает и не обрабатывает тексты. Лемматизация, стоп-слова, n-граммы и подсчёт отзывов выполняются вне платформы.
Вместо частоты термина внутри отзыва использует долю документов с термином. Средние веса и сглаживание IDF, как в статье, он не считает.
Не объединяет синонимы, не проверяет ядро на подвыборках и не предупреждает о малом объёме корпуса.
Не исключает термины с низкой точностью сам, только советует это сделать.
Считает термин прочитанным, если прочитан хотя бы один отзыв.
Не связывает действия с терминами и не сравнивает замеры «до» и «после».
Заполнили фрейм? Сохраните, чтобы не потерять
Книги по теме: анализ семантического ядра негатива
Монографий по методу в материалах нет, поэтому ниже собраны ключевые публикации, на которых построен материал.
Карен Спарк Джонс — «A Statistical Interpretation of Term Specificity and Its Application in Retrieval» (1972). Отсюда пришла идея обратной частоты документа: специфичность термина обратна числу документов, где он встречается.
Tian Xia, Yanmei Chai — «An improvement to TF-IDF: Term Distribution based Term Weight Algorithm» (2011). Отсюда пришёл тезис, что частота — не единственный признак важности термина и что схема весов — предмет выбора.
Satvik Garg — «Drug Recommendation System Based on Sentiment Analysis of Drug Reviews Using Machine Learning» (2021). Отсюда пришло сравнение TF-IDF, «мешка слов» и Word2Vec на пользовательских отзывах и аргумент о ценности свободного текста.
Md. Taufiqul Haque Khan Tusar, Md. Touhidul Islam — «A Comparative Study of Sentiment Analysis Using NLP and Different Machine Learning Techniques on US Airline Twitter Data» (2021). Отсюда пришла постановка проблемы: дефектный ручной анализ массовой обратной связи стоит компаниям лояльности и денег.