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

О том, как работает эта чудо-технология, мы решили расспросить у Александра Николаевского, ведущего специалиста по лингвистическим технологиям YouScan, и Дмитрия Кана, основателя и CEO наших технологических партнеров - SemanticAnalyzer Group. Внимание: ненормативная лексика! ("графематический", "объектно-ориентированный", "эталонные сеты" и т.п. :)

Стас: Коллеги, расскажите, какие вообще существуют подходы к автоматической оценке тональности на рынке?

ДК: Самый простой подход - словарный. Он определяет тональность, используя словари "плохих" и "хороших" слов или фраз в некоторой окрестности от ключевых слов. Его недостатки в том, что он не позволяет определить сравнения (то есть, тональность может определиться прямо противоположно тому, что имел в виду автор), отсутствует обработка контекста, невозможность различать значения и омонимию словоформ, когда одно слово может в зависимости от ситуаций принимать разные значения. Зато этот подход прост в реализации - некоторые компании на рынке используют его.

Более продвинутый подход - статистический. Он комбинирует словарный подход и учитывает статистику заранее размеченных вручную эталонных наборов данных. По сути имеет все те же недостатки, что и словарный, хотя и имеет большую точность.

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

Стас: И как вы решаете эту проблему? Алгоритмы определения тональности в YouScan чем-то лучше тех, что есть у конкурентов?

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

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

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

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

Стас: Можешь пояснить на примерах, для не специалистов?

АН:  Да, проще объяснить это на примерах. Например, наш подход позволяет системе понимать контекст сообщения, например (далее реальные примеры):

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

Еще один пример, когда поняв контекст сообщения, наш алгоритм делает вывод о том, что упоминание негативное по отношению к МакКафе:

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

Наш алогоритм также умеет понимать сравнения и опечатки:

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

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

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

Как и человек, алгоритм умеет распознавать прагматический смысл текста, и оценить тональность соответственно: “Я в шоке!!! Огромный червяк в моем биг-маке!!! (@ МакКафе (McCafe))”

Стас:  Насколько я понимаю, правила того, что считать позитивным отзывом, а что негативным - могут отличаться для разных клиентов, для разных типов бизнесов? Что делать с этим?

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

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

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

Стас: А вы как-то оцениваете реальное качество работы алгоритмов YouScan?

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

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

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

Стас: Круто! Мне кажется, я что-то понял :)

ДК: Отлично, будут вопросы - обращайся.


Please, sign up or sign in to leave a comment.