Download - SentiScan presentation @ AI Ukraine'14
![Page 1: SentiScan presentation @ AI Ukraine'14](https://reader034.vdocumento.com/reader034/viewer/2022052311/55a171df1a28abed668b4694/html5/thumbnails/1.jpg)
SentiScanсистема автоматического анализа
тональности в social media
AI '14
![Page 2: SentiScan presentation @ AI Ukraine'14](https://reader034.vdocumento.com/reader034/viewer/2022052311/55a171df1a28abed668b4694/html5/thumbnails/2.jpg)
whois
Леонид ЛитвиненкоCTO
Дмитрий КанCEO
&
![Page 3: SentiScan presentation @ AI Ukraine'14](https://reader034.vdocumento.com/reader034/viewer/2022052311/55a171df1a28abed668b4694/html5/thumbnails/3.jpg)
Мониторинг ВК, Facebook, Twitter, Instagram, форумов, сайтов отзывов Встроенная аналитика и инструменты командной работыИспользуют отделы маркетинга, PR, поддержки клиентов крупных компаний
YouScan: система мониторинга соцмедиа
![Page 4: SentiScan presentation @ AI Ukraine'14](https://reader034.vdocumento.com/reader034/viewer/2022052311/55a171df1a28abed668b4694/html5/thumbnails/4.jpg)
Лингвистические алгоритмы и API
www.semanticanalyzer.info
![Page 5: SentiScan presentation @ AI Ukraine'14](https://reader034.vdocumento.com/reader034/viewer/2022052311/55a171df1a28abed668b4694/html5/thumbnails/5.jpg)
outline
- Постановка задачи- Теоретические границы- Why not machine learning- Алгоритм- Типичные проблемы- Метрики качества- Continuous integration- Система оценки- Планы на будущее
![Page 6: SentiScan presentation @ AI Ukraine'14](https://reader034.vdocumento.com/reader034/viewer/2022052311/55a171df1a28abed668b4694/html5/thumbnails/6.jpg)
пример
Object: ПутинSentiment tag?
![Page 7: SentiScan presentation @ AI Ukraine'14](https://reader034.vdocumento.com/reader034/viewer/2022052311/55a171df1a28abed668b4694/html5/thumbnails/7.jpg)
неоднозначность постановки задачи
- Настроение автора?- Настроение читающего?- Личное отношение к теме?- Что-то ещё, что предписал заказчик?
![Page 8: SentiScan presentation @ AI Ukraine'14](https://reader034.vdocumento.com/reader034/viewer/2022052311/55a171df1a28abed668b4694/html5/thumbnails/8.jpg)
тональность для компьютера
- Общий тональный фон- Извлечение мнений- Извлечение мнения по конретному
объекту- Определение силы тональности или
эмоции
![Page 9: SentiScan presentation @ AI Ukraine'14](https://reader034.vdocumento.com/reader034/viewer/2022052311/55a171df1a28abed668b4694/html5/thumbnails/9.jpg)
от задачи к решению: уровень качества
MTurk, ручная аннотация: 80% согласия [1]
Реальное качество -- то, которое система показывает на неаннотированных данных
![Page 10: SentiScan presentation @ AI Ukraine'14](https://reader034.vdocumento.com/reader034/viewer/2022052311/55a171df1a28abed668b4694/html5/thumbnails/10.jpg)
why not machine learning?
Некоторые методы дают 90% на тестовых данных
![Page 11: SentiScan presentation @ AI Ukraine'14](https://reader034.vdocumento.com/reader034/viewer/2022052311/55a171df1a28abed668b4694/html5/thumbnails/11.jpg)
why not machine learning?
Сложно (невозможно?) сделать таргет-ориентированный метод
![Page 12: SentiScan presentation @ AI Ukraine'14](https://reader034.vdocumento.com/reader034/viewer/2022052311/55a171df1a28abed668b4694/html5/thumbnails/12.jpg)
why not machine learning?
CEO of the company turned 50.
![Page 13: SentiScan presentation @ AI Ukraine'14](https://reader034.vdocumento.com/reader034/viewer/2022052311/55a171df1a28abed668b4694/html5/thumbnails/13.jpg)
переобучение моделей
[2]
![Page 14: SentiScan presentation @ AI Ukraine'14](https://reader034.vdocumento.com/reader034/viewer/2022052311/55a171df1a28abed668b4694/html5/thumbnails/14.jpg)
потенцильно работающие методы
Naive Bayes -- для которотких сообщений (твитов) [3]
SVM -- для длинных (блог пост или статья)
![Page 15: SentiScan presentation @ AI Ukraine'14](https://reader034.vdocumento.com/reader034/viewer/2022052311/55a171df1a28abed668b4694/html5/thumbnails/15.jpg)
свежие веяния: deep learning
Back to the future: нейронные сети из 80-х [4]
Многонейронная логистическая регрессия
Требует больших вычислений
Не требует экспертных знаний
![Page 16: SentiScan presentation @ AI Ukraine'14](https://reader034.vdocumento.com/reader034/viewer/2022052311/55a171df1a28abed668b4694/html5/thumbnails/16.jpg)
[5]
![Page 17: SentiScan presentation @ AI Ukraine'14](https://reader034.vdocumento.com/reader034/viewer/2022052311/55a171df1a28abed668b4694/html5/thumbnails/17.jpg)
тональность в реальной жизни
Контроль над качеством
Быстрая аннотация
Высокая точность (precision) при возможных потерях в выдаче
![Page 18: SentiScan presentation @ AI Ukraine'14](https://reader034.vdocumento.com/reader034/viewer/2022052311/55a171df1a28abed668b4694/html5/thumbnails/18.jpg)
алгоритм (sketch)
- Лемматизация- Полярные лексиконы- Правила для русского языка- Shallow parsing + анафора- Учёт опечаток (Levenstein)
![Page 19: SentiScan presentation @ AI Ukraine'14](https://reader034.vdocumento.com/reader034/viewer/2022052311/55a171df1a28abed668b4694/html5/thumbnails/19.jpg)
полярные лексиконы
- Автоматический mining из twitter: :) & :(- Ручная вычитка частотных таблиц n-
грамм- Отбор полярно-однозначных кандидатов
![Page 20: SentiScan presentation @ AI Ukraine'14](https://reader034.vdocumento.com/reader034/viewer/2022052311/55a171df1a28abed668b4694/html5/thumbnails/20.jpg)
полуавтоматическое расширение
Vatzivassiloglou & McKeown, 1997
![Page 21: SentiScan presentation @ AI Ukraine'14](https://reader034.vdocumento.com/reader034/viewer/2022052311/55a171df1a28abed668b4694/html5/thumbnails/21.jpg)
правила
не / без / нет / … + {LEXICON_ENTRY} => инвертированная полярность
![Page 22: SentiScan presentation @ AI Ukraine'14](https://reader034.vdocumento.com/reader034/viewer/2022052311/55a171df1a28abed668b4694/html5/thumbnails/22.jpg)
правила
а / но / хотя / зато / ... - противопоставление полярностей левой и правой части
![Page 23: SentiScan presentation @ AI Ukraine'14](https://reader034.vdocumento.com/reader034/viewer/2022052311/55a171df1a28abed668b4694/html5/thumbnails/23.jpg)
правила: мультипасс оконный алгоритм
![Page 24: SentiScan presentation @ AI Ukraine'14](https://reader034.vdocumento.com/reader034/viewer/2022052311/55a171df1a28abed668b4694/html5/thumbnails/24.jpg)
shallow parsing
Большинство любит это, амне это не нравится.
Отрицание
Противительный союз
Score = totalPosScore - totalNegScore - { 0 | ½ *
sentimentCount }
без, не, еле, ни, нет (проблем)
![Page 25: SentiScan presentation @ AI Ukraine'14](https://reader034.vdocumento.com/reader034/viewer/2022052311/55a171df1a28abed668b4694/html5/thumbnails/25.jpg)
shallow parsing
Мне понравился новый iPhone, а GalaxyS неудобен в использовании.
Противительный союз
Score = totalPosScore - totalNegScore - { 0 | ½ *
sentimentCount }
а, но, зато, только, хотя
![Page 26: SentiScan presentation @ AI Ukraine'14](https://reader034.vdocumento.com/reader034/viewer/2022052311/55a171df1a28abed668b4694/html5/thumbnails/26.jpg)
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: SentiScan presentation @ AI Ukraine'14](https://reader034.vdocumento.com/reader034/viewer/2022052311/55a171df1a28abed668b4694/html5/thumbnails/27.jpg)
анафора
Джон встретил сегодня Ивана. Он передал Ивану текст договора.
![Page 28: SentiScan presentation @ AI Ukraine'14](https://reader034.vdocumento.com/reader034/viewer/2022052311/55a171df1a28abed668b4694/html5/thumbnails/28.jpg)
анафора
Джон встретил сегодня Ивана. Он передал Ивану текст договора.
![Page 29: SentiScan presentation @ AI Ukraine'14](https://reader034.vdocumento.com/reader034/viewer/2022052311/55a171df1a28abed668b4694/html5/thumbnails/29.jpg)
cтруктурный подход
∃ местоимение (м.р., ед.ч., им.п.) ⊂ P2 � (Джон ⊄ P2) => Он Джон
Struct 1 {
Джон встретить Иван}
Struct 2{
Он передавать Иван}
![Page 30: SentiScan presentation @ AI Ukraine'14](https://reader034.vdocumento.com/reader034/viewer/2022052311/55a171df1a28abed668b4694/html5/thumbnails/30.jpg)
анафора: симметрия
Джон встретил Ивана. Тот передал Джону ответ директора.
![Page 31: SentiScan presentation @ AI Ukraine'14](https://reader034.vdocumento.com/reader034/viewer/2022052311/55a171df1a28abed668b4694/html5/thumbnails/31.jpg)
анафора: симметрия
Джон встретил Ивана. Тот передал Джону ответ директора.
![Page 32: SentiScan presentation @ AI Ukraine'14](https://reader034.vdocumento.com/reader034/viewer/2022052311/55a171df1a28abed668b4694/html5/thumbnails/32.jpg)
поиск ссылки
∃ местоимение (м.р., ед.ч., им.п.) ⊂ P2 � (Иван ⊄ P2) => Тот Иван
Struct 1 {
Джон встретить Иван}
Struct 2{
Тот передавать Джон}
![Page 33: SentiScan presentation @ AI Ukraine'14](https://reader034.vdocumento.com/reader034/viewer/2022052311/55a171df1a28abed668b4694/html5/thumbnails/33.jpg)
гео-словарный подход (Interfax)
США?Америка?
Geo словарь
Соединенные Штаты
Глава Америки… Сегодня президент США Б. Обама
Глава
президент
премьер-министр
директор
страна, государство
правительство
завод
leader
leader
leader
[7]
![Page 34: SentiScan presentation @ AI Ukraine'14](https://reader034.vdocumento.com/reader034/viewer/2022052311/55a171df1a28abed668b4694/html5/thumbnails/34.jpg)
типичные проблемы
Мне от похмелья помогают ужасные бичевые кружки магги с сухариками, открыла чудо
Алгоритм: NEUTRALРучная: NEGATIVE
Исправление: пополнить словарь лемматизатора словами бичевый (-ая, -ое, ые)
![Page 35: SentiScan presentation @ AI Ukraine'14](https://reader034.vdocumento.com/reader034/viewer/2022052311/55a171df1a28abed668b4694/html5/thumbnails/35.jpg)
типичные проблемы #2
своих близких. Мы знаем несколько мест, где можно это сделать в Апатитах: - Магазин электротоваров “АКЦЕНТ+” на ул. Дзержинского, 35 (брелоки). - Гипермаркет “Твой” (дорожные жилеты, брелоки). - Магазин “Зооландия” (майки, шлейки, ошейники для собак). - Магазин “Спортмастер” (браслеты, полоски на велосипедные спицы). - Магазины “Евророс” (жилеты, брелоки). - Книжный магазин “Студент” на ул. Бредова, 13 (брелоки). - Обувной отдел в магазине “Силуэт” (браслеты, брелоки). - Магазин игрушек “Фантик” (брелоки). - Заправка “Статойл” (дорожные жилеты ...
Алгоритм: NEGATIVEРучная: NEUTRAL
Исправление: В негативный словарь закрались слова: “близкий” и “близко”. Их удаление исправило ситуацию.
![Page 36: SentiScan presentation @ AI Ukraine'14](https://reader034.vdocumento.com/reader034/viewer/2022052311/55a171df1a28abed668b4694/html5/thumbnails/36.jpg)
сложный случай
Ужасно замерзли( сейчас в Мак Кафе пьем горячий шоколад, ммм ... наслаждение)
Проблема: missing sentence boundary => sentiment overlap
![Page 37: SentiScan presentation @ AI Ukraine'14](https://reader034.vdocumento.com/reader034/viewer/2022052311/55a171df1a28abed668b4694/html5/thumbnails/37.jpg)
пополнение базы лексем
пичаль печальинет интернетваще вообще
![Page 38: SentiScan presentation @ AI Ukraine'14](https://reader034.vdocumento.com/reader034/viewer/2022052311/55a171df1a28abed668b4694/html5/thumbnails/38.jpg)
качество =
![Page 39: SentiScan presentation @ AI Ukraine'14](https://reader034.vdocumento.com/reader034/viewer/2022052311/55a171df1a28abed668b4694/html5/thumbnails/39.jpg)
какие задачи решает клиент
анализ отношения к продуктам
реагирование
![Page 40: SentiScan presentation @ AI Ukraine'14](https://reader034.vdocumento.com/reader034/viewer/2022052311/55a171df1a28abed668b4694/html5/thumbnails/40.jpg)
какие задачи решает клиент
общая картина (recall)
точный негатив (precision)
![Page 41: SentiScan presentation @ AI Ukraine'14](https://reader034.vdocumento.com/reader034/viewer/2022052311/55a171df1a28abed668b4694/html5/thumbnails/41.jpg)
![Page 42: SentiScan presentation @ AI Ukraine'14](https://reader034.vdocumento.com/reader034/viewer/2022052311/55a171df1a28abed668b4694/html5/thumbnails/42.jpg)
качество =max precision
max recall
![Page 43: SentiScan presentation @ AI Ukraine'14](https://reader034.vdocumento.com/reader034/viewer/2022052311/55a171df1a28abed668b4694/html5/thumbnails/43.jpg)
качество = max F (P, R)
F (P, R) = 2 P * R / (P + R)
![Page 44: SentiScan presentation @ AI Ukraine'14](https://reader034.vdocumento.com/reader034/viewer/2022052311/55a171df1a28abed668b4694/html5/thumbnails/44.jpg)
качество это не только
max F (P, R)
![Page 45: SentiScan presentation @ AI Ukraine'14](https://reader034.vdocumento.com/reader034/viewer/2022052311/55a171df1a28abed668b4694/html5/thumbnails/45.jpg)
качество это процесс
![Page 46: SentiScan presentation @ AI Ukraine'14](https://reader034.vdocumento.com/reader034/viewer/2022052311/55a171df1a28abed668b4694/html5/thumbnails/46.jpg)
инструментарий
- эталонная выборка- QA для новых версий- A/B тесты конфигураций- ошибки определения контекста- поток исправлений от клиентов
![Page 47: SentiScan presentation @ AI Ukraine'14](https://reader034.vdocumento.com/reader034/viewer/2022052311/55a171df1a28abed668b4694/html5/thumbnails/47.jpg)
эталонная выборка
- согласие в оценке 3-х лингвистов
- легко пополнять
![Page 48: SentiScan presentation @ AI Ukraine'14](https://reader034.vdocumento.com/reader034/viewer/2022052311/55a171df1a28abed668b4694/html5/thumbnails/48.jpg)
QA новых версий
- по тональности - конкретные
тексты
todo- те же метрики,
разные тексты
![Page 49: SentiScan presentation @ AI Ukraine'14](https://reader034.vdocumento.com/reader034/viewer/2022052311/55a171df1a28abed668b4694/html5/thumbnails/49.jpg)
A/B тесты конфигов
- title & text - emoticons- words boosters
todo- levenstein typos- версии словарей
![Page 50: SentiScan presentation @ AI Ukraine'14](https://reader034.vdocumento.com/reader034/viewer/2022052311/55a171df1a28abed668b4694/html5/thumbnails/50.jpg)
определение контекста
- ошибка лемматайзера
todo- тест с другими
лемматайзерами
![Page 51: SentiScan presentation @ AI Ukraine'14](https://reader034.vdocumento.com/reader034/viewer/2022052311/55a171df1a28abed668b4694/html5/thumbnails/51.jpg)
поток исправлений
- инсайты
todo- больше инсайтов- авто улучшение
![Page 52: SentiScan presentation @ AI Ukraine'14](https://reader034.vdocumento.com/reader034/viewer/2022052311/55a171df1a28abed668b4694/html5/thumbnails/52.jpg)
human vs algorithm
![Page 53: SentiScan presentation @ AI Ukraine'14](https://reader034.vdocumento.com/reader034/viewer/2022052311/55a171df1a28abed668b4694/html5/thumbnails/53.jpg)
Банк
и постригуткакого лохадополнительный доходэти ребусыобнулить абонку
![Page 54: SentiScan presentation @ AI Ukraine'14](https://reader034.vdocumento.com/reader034/viewer/2022052311/55a171df1a28abed668b4694/html5/thumbnails/54.jpg)
Michelin
бешено дрифтитединственная компанияколёса tweelпневма рулитnokian hakkapeliitta
![Page 55: SentiScan presentation @ AI Ukraine'14](https://reader034.vdocumento.com/reader034/viewer/2022052311/55a171df1a28abed668b4694/html5/thumbnails/55.jpg)
больше инсайтов
- частотные биграммы -> кандидаты в полярный словарь
- какое направление исправлений превалирует
- moving average precision/recall -> сигнал для движка
![Page 56: SentiScan presentation @ AI Ukraine'14](https://reader034.vdocumento.com/reader034/viewer/2022052311/55a171df1a28abed668b4694/html5/thumbnails/56.jpg)
we’re hiring :)
@dmitrykan@llytvynenko
![Page 57: SentiScan presentation @ AI Ukraine'14](https://reader034.vdocumento.com/reader034/viewer/2022052311/55a171df1a28abed668b4694/html5/thumbnails/57.jpg)
Литература
[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