57
SentiScan система автоматического анализа тональности в social media AI '14

тональности в social media система автоматического анализа · система автоматического анализа ... Twitter, Instagram,

  • Upload
    others

  • View
    8

  • Download
    0

Embed Size (px)

Citation preview

Page 1: тональности в social media система автоматического анализа · система автоматического анализа ... Twitter, Instagram,

SentiScanсистема автоматического анализа

тональности в social media

AI '14

Page 2: тональности в social media система автоматического анализа · система автоматического анализа ... Twitter, Instagram,

whois

Леонид ЛитвиненкоCTO

Дмитрий КанCEO

&

Page 3: тональности в social media система автоматического анализа · система автоматического анализа ... Twitter, Instagram,

Мониторинг ВК, Facebook, Twitter, Instagram, форумов, сайтов отзывов Встроенная аналитика и инструменты командной работыИспользуют отделы маркетинга, PR, поддержки клиентов крупных компаний

YouScan: система мониторинга соцмедиа

Page 4: тональности в social media система автоматического анализа · система автоматического анализа ... Twitter, Instagram,

Лингвистические алгоритмы и API

www.semanticanalyzer.info

[email protected]

Page 5: тональности в social media система автоматического анализа · система автоматического анализа ... Twitter, Instagram,

outline

- Постановка задачи- Теоретические границы- Why not machine learning- Алгоритм- Типичные проблемы- Метрики качества- Continuous integration- Система оценки- Планы на будущее

Page 6: тональности в social media система автоматического анализа · система автоматического анализа ... Twitter, Instagram,

пример

Object: ПутинSentiment tag?

Page 7: тональности в social media система автоматического анализа · система автоматического анализа ... Twitter, Instagram,

неоднозначность постановки задачи

- Настроение автора?- Настроение читающего?- Личное отношение к теме?- Что-то ещё, что предписал заказчик?

Page 8: тональности в social media система автоматического анализа · система автоматического анализа ... Twitter, Instagram,

тональность для компьютера

- Общий тональный фон- Извлечение мнений- Извлечение мнения по конретному

объекту- Определение силы тональности или

эмоции

Page 9: тональности в social media система автоматического анализа · система автоматического анализа ... Twitter, Instagram,

от задачи к решению: уровень качества

MTurk, ручная аннотация: 80% согласия [1]

Реальное качество -- то, которое система показывает на неаннотированных данных

Page 10: тональности в social media система автоматического анализа · система автоматического анализа ... Twitter, Instagram,

why not machine learning?

Некоторые методы дают 90% на тестовых данных

Page 11: тональности в social media система автоматического анализа · система автоматического анализа ... Twitter, Instagram,

why not machine learning?

Сложно (невозможно?) сделать таргет-ориентированный метод

Page 12: тональности в social media система автоматического анализа · система автоматического анализа ... Twitter, Instagram,

why not machine learning?

CEO of the company turned 50.

Page 13: тональности в social media система автоматического анализа · система автоматического анализа ... Twitter, Instagram,

переобучение моделей

[2]

Page 14: тональности в social media система автоматического анализа · система автоматического анализа ... Twitter, Instagram,

потенцильно работающие методы

Naive Bayes -- для которотких сообщений (твитов) [3]

SVM -- для длинных (блог пост или статья)

Page 15: тональности в social media система автоматического анализа · система автоматического анализа ... Twitter, Instagram,

свежие веяния: deep learning

Back to the future: нейронные сети из 80-х [4]

Многонейронная логистическая регрессия

Требует больших вычислений

Не требует экспертных знаний

Page 16: тональности в social media система автоматического анализа · система автоматического анализа ... Twitter, Instagram,

[5]

Page 17: тональности в social media система автоматического анализа · система автоматического анализа ... Twitter, Instagram,

тональность в реальной жизни

Контроль над качеством

Быстрая аннотация

Высокая точность (precision) при возможных потерях в выдаче

Page 18: тональности в social media система автоматического анализа · система автоматического анализа ... Twitter, Instagram,

алгоритм (sketch)

- Лемматизация- Полярные лексиконы- Правила для русского языка- Shallow parsing + анафора- Учёт опечаток (Levenstein)

Page 19: тональности в social media система автоматического анализа · система автоматического анализа ... Twitter, Instagram,

полярные лексиконы

- Автоматический mining из twitter: :) & :(- Ручная вычитка частотных таблиц n-

грамм- Отбор полярно-однозначных кандидатов

Page 20: тональности в social media система автоматического анализа · система автоматического анализа ... Twitter, Instagram,

полуавтоматическое расширение

Vatzivassiloglou & McKeown, 1997

Page 21: тональности в social media система автоматического анализа · система автоматического анализа ... Twitter, Instagram,

правила

не / без / нет / … + {LEXICON_ENTRY} => инвертированная полярность

Page 22: тональности в social media система автоматического анализа · система автоматического анализа ... Twitter, Instagram,

правила

а / но / хотя / зато / ... - противопоставление полярностей левой и правой части

Page 23: тональности в social media система автоматического анализа · система автоматического анализа ... Twitter, Instagram,

правила: мультипасс оконный алгоритм

Page 24: тональности в social media система автоматического анализа · система автоматического анализа ... Twitter, Instagram,

shallow parsing

Большинство любит это, амне это не нравится.

Отрицание

Противительный союз

Score = totalPosScore - totalNegScore - { 0 | ½ *

sentimentCount }

без, не, еле, ни, нет (проблем)

Page 25: тональности в social media система автоматического анализа · система автоматического анализа ... Twitter, Instagram,

shallow parsing

Мне понравился новый iPhone, а GalaxyS неудобен в использовании.

Противительный союз

Score = totalPosScore - totalNegScore - { 0 | ½ *

sentimentCount }

а, но, зато, только, хотя

Page 26: тональности в social media система автоматического анализа · система автоматического анализа ... Twitter, Instagram,

schematic flow on sentence level

Большинство любит это, а мне не нравится.Phase 1 (negations): posScore = 0 - NEGATION_WEIGHT= -2

Phase 2 (individual words):“любит” posScore = -2 + 1 = -1“не” negScore = 0 + 1 = 1“нравится” posScore = -1 + 1 = 0

Phase 3 (opposite conjunctions): sentimentCount = 3

totalScore = posScore - negScore - ½ * sentimentCount == 0 - 1 - 3/2 = -5/2

Sentiment: NEGATIVE

Page 27: тональности в social media система автоматического анализа · система автоматического анализа ... Twitter, Instagram,

анафора

Джон встретил сегодня Ивана. Он передал Ивану текст договора.

Page 28: тональности в social media система автоматического анализа · система автоматического анализа ... Twitter, Instagram,

анафора

Джон встретил сегодня Ивана. Он передал Ивану текст договора.

Page 29: тональности в social media система автоматического анализа · система автоматического анализа ... Twitter, Instagram,

cтруктурный подход

∃ местоимение (м.р., ед.ч., им.п.) ⊂ P2 � (Джон ⊄ P2) => Он Джон

Struct 1 {

Джон встретить Иван}

Struct 2{

Он передавать Иван}

Page 30: тональности в social media система автоматического анализа · система автоматического анализа ... Twitter, Instagram,

анафора: симметрия

Джон встретил Ивана. Тот передал Джону ответ директора.

Page 31: тональности в social media система автоматического анализа · система автоматического анализа ... Twitter, Instagram,

анафора: симметрия

Джон встретил Ивана. Тот передал Джону ответ директора.

Page 32: тональности в social media система автоматического анализа · система автоматического анализа ... Twitter, Instagram,

поиск ссылки

∃ местоимение (м.р., ед.ч., им.п.) ⊂ P2 � (Иван ⊄ P2) => Тот Иван

Struct 1 {

Джон встретить Иван}

Struct 2{

Тот передавать Джон}

Page 33: тональности в social media система автоматического анализа · система автоматического анализа ... Twitter, Instagram,

гео-словарный подход (Interfax)

США?Америка?

Geo словарь

Соединенные Штаты

Глава Америки… Сегодня президент США Б. Обама

Глава

президент

премьер-министр

директор

страна, государство

правительство

завод

leader

leader

leader

[7]

Page 34: тональности в social media система автоматического анализа · система автоматического анализа ... Twitter, Instagram,

типичные проблемы

Мне от похмелья помогают ужасные бичевые кружки магги с сухариками, открыла чудо

Алгоритм: NEUTRALРучная: NEGATIVE

Исправление: пополнить словарь лемматизатора словами бичевый (-ая, -ое, ые)

Page 35: тональности в social media система автоматического анализа · система автоматического анализа ... Twitter, Instagram,

типичные проблемы #2

своих близких. Мы знаем несколько мест, где можно это сделать в Апатитах: - Магазин электротоваров “АКЦЕНТ+” на ул. Дзержинского, 35 (брелоки). - Гипермаркет “Твой” (дорожные жилеты, брелоки). - Магазин “Зооландия” (майки, шлейки, ошейники для собак). - Магазин “Спортмастер” (браслеты, полоски на велосипедные спицы). - Магазины “Евророс” (жилеты, брелоки). - Книжный магазин “Студент” на ул. Бредова, 13 (брелоки). - Обувной отдел в магазине “Силуэт” (браслеты, брелоки). - Магазин игрушек “Фантик” (брелоки). - Заправка “Статойл” (дорожные жилеты ...

Алгоритм: NEGATIVEРучная: NEUTRAL

Исправление: В негативный словарь закрались слова: “близкий” и “близко”. Их удаление исправило ситуацию.

Page 36: тональности в social media система автоматического анализа · система автоматического анализа ... Twitter, Instagram,

сложный случай

Ужасно замерзли( сейчас в Мак Кафе пьем горячий шоколад, ммм ... наслаждение)

Проблема: missing sentence boundary => sentiment overlap

Page 37: тональности в social media система автоматического анализа · система автоматического анализа ... Twitter, Instagram,

пополнение базы лексем

пичаль печальинет интернетваще вообще

Page 38: тональности в social media система автоматического анализа · система автоматического анализа ... Twitter, Instagram,

качество =

Page 39: тональности в social media система автоматического анализа · система автоматического анализа ... Twitter, Instagram,

какие задачи решает клиент

анализ отношения к продуктам

реагирование

Page 40: тональности в social media система автоматического анализа · система автоматического анализа ... Twitter, Instagram,

какие задачи решает клиент

общая картина (recall)

точный негатив (precision)

Page 41: тональности в social media система автоматического анализа · система автоматического анализа ... Twitter, Instagram,
Page 42: тональности в social media система автоматического анализа · система автоматического анализа ... Twitter, Instagram,

качество =max precision

max recall

Page 43: тональности в social media система автоматического анализа · система автоматического анализа ... Twitter, Instagram,

качество = max F (P, R)

F (P, R) = 2 P * R / (P + R)

Page 44: тональности в social media система автоматического анализа · система автоматического анализа ... Twitter, Instagram,

качество это не только

max F (P, R)

Page 45: тональности в social media система автоматического анализа · система автоматического анализа ... Twitter, Instagram,

качество это процесс

Page 46: тональности в social media система автоматического анализа · система автоматического анализа ... Twitter, Instagram,

инструментарий

- эталонная выборка- QA для новых версий- A/B тесты конфигураций- ошибки определения контекста- поток исправлений от клиентов

Page 47: тональности в social media система автоматического анализа · система автоматического анализа ... Twitter, Instagram,

эталонная выборка

- согласие в оценке 3-х лингвистов

- легко пополнять

Page 48: тональности в social media система автоматического анализа · система автоматического анализа ... Twitter, Instagram,

QA новых версий

- по тональности - конкретные

тексты

todo- те же метрики,

разные тексты

Page 49: тональности в social media система автоматического анализа · система автоматического анализа ... Twitter, Instagram,

A/B тесты конфигов

- title & text - emoticons- words boosters

todo- levenstein typos- версии словарей

Page 50: тональности в social media система автоматического анализа · система автоматического анализа ... Twitter, Instagram,

определение контекста

- ошибка лемматайзера

todo- тест с другими

лемматайзерами

Page 51: тональности в social media система автоматического анализа · система автоматического анализа ... Twitter, Instagram,

поток исправлений

- инсайты

todo- больше инсайтов- авто улучшение

Page 52: тональности в social media система автоматического анализа · система автоматического анализа ... Twitter, Instagram,

human vs algorithm

Page 53: тональности в social media система автоматического анализа · система автоматического анализа ... Twitter, Instagram,

Банк

и постригуткакого лохадополнительный доходэти ребусыобнулить абонку

Page 54: тональности в social media система автоматического анализа · система автоматического анализа ... Twitter, Instagram,

Michelin

бешено дрифтитединственная компанияколёса tweelпневма рулитnokian hakkapeliitta

Page 55: тональности в social media система автоматического анализа · система автоматического анализа ... Twitter, Instagram,

больше инсайтов

- частотные биграммы -> кандидаты в полярный словарь

- какое направление исправлений превалирует

- moving average precision/recall -> сигнал для движка

Page 56: тональности в social media система автоматического анализа · система автоматического анализа ... Twitter, Instagram,

we’re hiring :)

@dmitrykan@llytvynenko

Page 57: тональности в social media система автоматического анализа · система автоматического анализа ... Twitter, Instagram,

Литература

[1] Bermingham, A. and Smeaton, A.F. (2009). A study of interannotator agreement for opinion retrieval. In SIGIR, 784-785.[2] http://habrahabr.ru/company/yandex/blog/206058/ [3] http://habrahabr.ru/post/229779/[4] http://vimeo.com/77050653[5] http://nlp.stanford.edu/sentiment/ [6] Hatzivassiloglou & McKeown: Predicting the semantic orientation of adjectives. 1997[7] Zharikov A et al. Information Retrieval System for News Articles in Russian // The joint RuSSIR/EDBT 2011 Summer School, pp. 5-14. August 15-19, 2011