Блог

Автоматическое определение тональности в YouScan

Уже несколько месяцев некоторые из наших клиентов могут использовать новую возможность YouScan — автоматическую разметку тональности на основе нашей уникальной технологии SentiScan. А в октябре эта функция стала доступной по умолчанию всем пользователям пакетов «Агентство», «Корпоративный» и «Профессиональный».

О том, как работает эта чудо-технология, мы решили расспросить у Александра Николаевского, ведущего специалиста по лингвистическим технологиям YouScan, и Дмитрия Кана, основателя и CEO наших технологических партнеров — SemanticAnalyzer Group. Внимание: ненормативная лексика! («графематический», «объектно-ориентированный», «эталонные сеты» и т.п. 🙂
Александр Николаевский (YouScan) и Дмитрий Кан (SemanticAnalyzer Group)
.
Стас: Коллеги, расскажите, какие вообще существуют подходы к автоматической оценке тональности на рынке?
.
ДК:
Самый простой подход — словарный. Он определяет тональность, используя словари «плохих» и «хороших» слов или фраз в некоторой окрестности от ключевых слов. Его недостатки в том, что он не позволяет определить сравнения (то есть, тональность может определиться прямо противоположно тому, что имел в виду автор), отсутствует обработка контекста, невозможность различать значения и омонимию словоформ, когда одно слово может в зависимости от ситуаций принимать разные значения. Зато этот подход прост в реализации — некоторые компании на рынке используют его.Более продвинутый подход — статистический. Он комбинирует словарный подход и учитывает статистику заранее размеченных вручную эталонных наборов данных. По сути имеет все те же недостатки, что и словарный, хотя и имеет большую точность.

Общий недостаток этих подходов в том, что наращивание базы словарей и статистики не дает постоянного роста точности определения тональности, максимально доступная точность при таких подходах составляет до 85%, в реальности она заметно ниже. Ну и как я говорил, в них есть высокие риски определения алгоритмом тональности прямо противоположно реальному смыслу.
.
Стас: И как вы решаете эту проблему? Алгоритмы определения тональности в YouScan чем-то лучше тех, что есть у конкурентов?
.

АН:  Конечно. Во-первых, автотональность в YouScan является объектно-зависимой. Это важно для того, чтобы правильно понимать, относительно чего именно надо определять тональность. Причем объект мониторинга вам не нужно настраивать специально — система сама определяет его по вашему поисковому запросу. Например, для поискового запроса

(айфон или iphone) -купить -продать


система сама определит, что тональность упоминаний необходимо оценивать относительно бренда iPhone. Таким образом, в теме мониторинга с таким поисковым запросом, для упоминания “Айфон отличный телефон, а Nokia плохой” система верно укажет положительную тональность.

Во-вторых, мы используем самый современный подход к определению тональности. Алгоритмы основаны на многоуровневом анализе текста (графематический, морфологический, синтаксический, семантический, прагматический анализ) и используют научный подход, основанный на правилах оценки тональности. Алгоритм стремится “понять” смысл текста так же, как это делал бы человек.
.
Стас: Можешь пояснить на примерах, для не специалистов?
.
АН:  Да, проще объяснить это на примерах. Например, наш подход позволяет системе понимать контекст сообщения, например (далее реальные примеры):
“Такая потрясающая печенька))) В МакКафе! pic.twitter.com/8oR2JCH”— здесь, хотя комплимент и не относится напрямую к объекту мониторинга (“МакКафе”), очевидно, что упоминание является позитивным по отношению к нему.

Еще один пример, когда поняв контекст сообщения, наш алгоритм делает вывод о том, что упоминание негативное по отношению к МакКафе:
“В Израиле единственный фэйл с кофе был, когда из-за нехватки времени пришлось взять его в МакКафе, а так везде там он просто отличный”

Наш алогоритм также умеет понимать сравнения и опечатки:
“Но в МакКафе кофе лучше, чем в Сабвэй.  Двойной капучино, кофе с утра, о, счастье.” 
“Набор Шоколадная печенька + капучино в МакКафе вкуснее, чем в Старбаксе.”

Если об объекте мониторинга говорится в третьем лице (“анафорическая ссылка”), то наш алгоритм понимает и это: “Хвалю я это кофе из «МакКафе», он лучше того, что они наливают в самих «Макдональдсах»”

Как и человек, алгоритм умеет распознавать прагматический смысл текста, и оценить тональность соответственно: “Я в шоке!!! Огромный червяк в моем биг-маке!!! (@ МакКафе (McCafe))”
.
Стас:  Насколько я понимаю, правила того, что считать позитивным отзывом, а что негативным — могут отличаться для разных клиентов, для разных типов бизнесов? Что делать с этим?
.

ДК: Да, мы разработали алгоритм, способный извлекать доменно-зависимые полярные сущности. Для примера, слово “сухой” может положительно характеризовать подгузник, но отрицательно сервис продажи выпечки. Помимо этого, у нас есть алгоритмы извлечения полярных единиц из размеченных экспертами текстовых наборов данных.

 .

Стас: Интересно. Но насколько можно доверять результатам автоматической разметки?
.

АН: Во многом, это зависит от ваших задач. Например, ваша задача — оценить тренды, понять распределение количества негативных/позитивных упоминаний, провести сравнение с конкурентами, и вы имеете дело с большими массивами — тысячи или десятки тысяч постов, которые дорого размечать вручную. В этом случае автоматическая тональность подходит идеально. Конечно, не всегда алгоритм может определить все тонкости языка — иронию, сарказм распознать сложно иногда даже людям. Поэтому, если ваша задача — отвечать абсолютно на каждое негативное сообщение, то специалист-аналитик не помешает 🙂
.
Стас: А вы как-то оцениваете реальное качество работы алгоритмов YouScan?
.
АН: Конечно, у нас создана целая инфраструктура для тестирования качества и совершенствования алгоритмов. Мы используем тестовые наборы (сеты) данных с упоминаниями про бренды из различных отраслей. Тональность в них обязательно размечена не одним, а несколькими людьми, для достоверности, т.к. бывают такие неоднозначные упоминания, что и несколько аналитиков не могут найти консенсус. Сравнивая результаты работы нашего алгоритма с этими «эталонным» даными, мы оцениваем ключевые метрики качества. Если говорить об общем соотношении количества упоминаний, в которых оценка тональности алгоритмом совпала с оценкой как минимум трех живых экспертов, то наш алгоритм показывает результаты точности 87% и выше. Однако, не стоит полагаться только на эту цифру — мы учитываем также разную точность оценки по каждому из классов тональности (позитивной, негативной, нейтральной), и другие характеристики качества работы алгоритма, такие как коэффициенты полноты и точности — precision, recall (более подробно почитать об этом можно здесь).
.

Cтас: А что означает название технологии — SentiScan?

 .
AН: «Sentiment» — тональность по-английски. Наша технология «сканирует» тексты и определяет их тональность — отсюда и SentiScan.
.

Стас: Круто! Мне кажется, я что-то понял 🙂
.
ДК: Отлично, будут вопросы — обращайся.

комментарии

Добавить новый комментарий: