Классификатор коротких 
текстов с использованием 
векторных репрезентаций слов 
Илья Мельников
Введение
Интерактивные голосовые системы 
Голосовое управление мобильными приложениями 
Голосовые помощники 
Коллцентры
Пример 1: Голосовое меню 
EUR европейская кухня 
ASI азиатская кухня 
USA американская кухня 
Пункты меню
Пример 1: Голосовое меню 
EUR европейская кухня 
ASI азиатская кухня 
Пункты меню 
USA американская кухня 
EUR багет сыр и бокал вина 
EUR континентальный завтрак 
ASI хочу поесть суши 
ASI въетнамская или тайская 
USA двойной гамбургер и кока кола без сахара 
USA макдональдс бар энд грилл 
Запросы
Пример 1: Голосовое меню 
EUR европейская кухня 
ASI азиатская кухня 
Пункты меню 
USA американская кухня 
EUR багет сыр и бокал вина 
EUR континентальный завтрак 
ASI хочу поесть суши 
ASI въетнамская или тайская 
USA двойной гамбургер и кока кола без сахара 
USA макдональдс бар энд грилл 
Запросы 
HOW?
Пример 2 Коллцентр 
1500 звонков в день 
4 очереди + общая 
Классифицировать звонки общей очереди 
Понять по первой фразе, куда направить
Пример 2 Коллцентр 
HOW? 
1500 звонков в день 
4 очереди + общая 
Классифицировать звонки общей очереди 
Понять по первой фразе, куда направить
Традиционные подходы: 
Cтатистические методы 
LDA, Байес, Pattern mining 
Плюсы: 
Учимся на больших объемах 
Большое покрытие 
Минусы: 
Невозможность «холодного старта» 
Не учитывают семантику
Традиционные подходы: 
Cтатистические методы 
LDA, Байес, Pattern mining 
Плюсы: 
Учимся на больших объемах 
Большое покрытие 
Минусы: 
Невозможность «холодного старта» 
Не учитывают семантику
Традиционные подходы: 
Cтатистические методы 
LDA, Байес, Pattern mining 
Плюсы: 
Учимся на больших объемах 
Большое покрытие 
Минусы: 
Невозможность «холодного старта» 
Не учитывают семантику
Традиционные подходы: 
Ключевые слова, rule based 
Ключевые слова, правила, Frame Net-like 
Плюсы: 
Высокая точность 
Учитывают смысл 
Минусы: 
Крайне низкое покрытие 
Высокая стоимость реализации 
Нет метрики для сравнения
Традиционные подходы: 
Ключевые слова, rule based 
Ключевые слова, правила, Frame Net-like 
Плюсы: 
Высокая точность (Precision) 
Учитывают смысл 
Минусы: 
Крайне низкое покрытие 
Высокая стоимость реализации 
Нет метрики для сравнения
Традиционные подходы: 
Ключевые слова, rule based 
Ключевые слова, правила, Frame Net-like 
Плюсы: 
Высокая точность 
Учитывают смысл 
Минусы: 
Крайне низкое покрытие (Recall) 
Высокая стоимость реализации 
Нет метрики для сравнения
Потребность 
Минимизировать: 
Supervised 
Cтоимость 
Cложность поддержки 
Опираться на смысл 
Метрика похожести 
Холодный старт
Идея
Классификатор на основе векторных 
репрезентаций 
Unsupervised pretraining 
Открытые данные 
Семантическая модель 
Маленький обучающий корпус для адаптации
Векторная репрезентация 
Mikolov at al., Efficient Estimation 
of Word Representations 
in Vector Space, ICLR 2013
Векторная репрезентация 
Входной вектор 
А Б Х В Г 
[ 1 1 1 1 1] - [100К] 
Результат 
=> Проекция [200] 
Х = [0.080543, 0.075750, ... -0.109624, 0.038613]
Векторная репрезентация 
Ближайшие слова 
голос 
хрипловатый 0.797113697099 
певучий 0.764843965305 
звучный 0.751156818403 
дискант 0.733722699661 
голосок 0.72665754898 
Ближайшие слова 
яндекс 
yandex 0.83357081449 
гугл 0.828274592652 
рамблер 0.788542301545 
поисковик 0.765093627596 
яндексе 0.750866569063
Классификатор 
Модель: 
Обучающие фразы 
Слова представлены векторами 
Размечаем классами 
Частотность по классам
Классификатор 
cl – класс 
text – входящая фраза 
v – слова модели 
KNN(w) – К ближайших слов 
M – метрика доверия 
P(v|cl) – априорная вероятность 
cos – косинус, мера семантической близости 
23
Мера семантической близости 
http://www.codeproject.com/KB/TipsnTricks/788739/barneshutplot.jpg
Метрика доверия
Метрика доверия
Априорная вероятность 
https://ru.wikipedia.org/wiki/%D0%A4%D0%B0%D0%B9%D0%BB:Bayes%27_Theorem_MMB_01.jpg
Классификатор
Пример: звонок в коллцентр Я.Директа 
- Здравствуйте, по какой теме вы обращаетесь? 
- Не показывают объявление
Пример: звонок в коллцентр Я.Директа 
- Здравствуйте, по какой теме вы обращаетесь? 
- Не показывают объявление 
показывают 0.682 показывает 
direct-nodisplay 7.98 
direct-mod 9.57 
direct-pay 9.38 
0.531 идут 
direct-nodisplay 8.89 
direct-mod 10.87 
market 10.59
Пример: звонок в коллцентр Я.Директа 
- Здравствуйте, по какой теме вы обращаетесь? 
- Не показывают объявление 
показывают 0.682 показывает 
direct-nodisplay 7.98 
direct-mod 9.57 
direct-pay 9.38 
0.531 идут 
direct-nodisplay 8.89 
direct-mod 10.87 
market 10.59 
объявление 0.736 объявления 
direct-mod 5.67 
direct-nodisplay 5.72 
market 10.20 
0.537 сообщение 
direct-nodisplay 8.26 
direct-mod 8.54 
market 9.70
Пример: звонок в коллцентр Я.Директа 
- Здравствуйте, по какой теме вы обращаетесь? 
- Не показывают объявление 
показывают 0.682 показывает 
direct-nodisplay 7.98 
direct-mod 9.57 
direct-pay 9.38 
0.531 идут 
direct-nodisplay 8.89 
direct-mod 10.87 
market 10.59 
объявление 0.736 объявления 
direct-mod 5.67 
direct-nodisplay 5.72 
market 10.20 
0.537 сообщение 
direct-nodisplay 8.26 
direct-mod 8.54 
market 9.70 
0.226 Direct-nodisplay WIN! 
0.244 Direct-mod 
0.253 Direct-pay 
0.275 Market
Пример: звонок в коллцентр Я.Директа 
- Здравствуйте, по какой теме вы обращаетесь? 
- Не показывают объявление 
- Спасибо, переводим Вас на 
специалиста!
Реализация
Тренировка векторных репрезентаций 
Тексты сайтов и Википедии 
Continuous bag of words 
Окно – 9 
Неделя
Трюки 
Выбрасываем Stop words 
Приводим слова в нормальную форму 
Снабжаем весами: априорные вероятности 
Распознавание речи: учитываем варианты
Реализация 
Python 
numpy
Оценка: коллцентр 
Взаимная 
Встречаемость 
в Top 2 : 
0 1 2 3 
0 0 
1 265 0 
2 185 101 0 
3 101 62 86 0 
4412 звонков 
10 fold cross validation 
700 слов в модели 
Эксперимент CosTheshold MetricPower KNearest Accuracy Top2Acc 
1 Лучший результат 0.9 3 1 0.701 0.897 
2 Без одинаковых слов 0.45 3 2 0.643 0.836 
3 С одинаковыми 0.45 3 2 0.695 0.889
Magic 
Интерактивный стенд 
Обучающая выборка: 
4 класса, 70 примеров 
Коридорный опрос 
Accuracy: 0.68
Magic 
"Какой подарок вы предпочтёте на день рождения?" 
"виллу на майами окей а ну", 
"Какое ваше любимое блюдо на обед?" 
"обезжиренный йогурт", 
"Как вы проведете неожиданный выходной?" 
"шоппинг of war австралии", 
"Почему вы совершаете покупки в интернете?" 
"но я не знаю на самом деле дансе"
Резюме
Примеры применения 
Коллцентр – автосалон, интернет магазин 
Диалоговая система – интент для персонального ассистента 
Классификация коротких текстов – комментарии, формы 
обратной связи
api.yandex.ru/speechkit/ 
43
Илья Мельников 
Отдел голосовых технологий 
imeln@yandex-team.ru 
clubs.ya.ru/speechkit/ 
api.yandex.ru/speechkit/

Илья Мельников (Яндекс) "Классификатор коротких текстов с использованием векторных репрезентаций слов"

  • 2.
    Классификатор коротких текстовс использованием векторных репрезентаций слов Илья Мельников
  • 3.
  • 4.
    Интерактивные голосовые системы Голосовое управление мобильными приложениями Голосовые помощники Коллцентры
  • 5.
    Пример 1: Голосовоеменю EUR европейская кухня ASI азиатская кухня USA американская кухня Пункты меню
  • 6.
    Пример 1: Голосовоеменю EUR европейская кухня ASI азиатская кухня Пункты меню USA американская кухня EUR багет сыр и бокал вина EUR континентальный завтрак ASI хочу поесть суши ASI въетнамская или тайская USA двойной гамбургер и кока кола без сахара USA макдональдс бар энд грилл Запросы
  • 7.
    Пример 1: Голосовоеменю EUR европейская кухня ASI азиатская кухня Пункты меню USA американская кухня EUR багет сыр и бокал вина EUR континентальный завтрак ASI хочу поесть суши ASI въетнамская или тайская USA двойной гамбургер и кока кола без сахара USA макдональдс бар энд грилл Запросы HOW?
  • 8.
    Пример 2 Коллцентр 1500 звонков в день 4 очереди + общая Классифицировать звонки общей очереди Понять по первой фразе, куда направить
  • 9.
    Пример 2 Коллцентр HOW? 1500 звонков в день 4 очереди + общая Классифицировать звонки общей очереди Понять по первой фразе, куда направить
  • 10.
    Традиционные подходы: Cтатистическиеметоды LDA, Байес, Pattern mining Плюсы: Учимся на больших объемах Большое покрытие Минусы: Невозможность «холодного старта» Не учитывают семантику
  • 11.
    Традиционные подходы: Cтатистическиеметоды LDA, Байес, Pattern mining Плюсы: Учимся на больших объемах Большое покрытие Минусы: Невозможность «холодного старта» Не учитывают семантику
  • 12.
    Традиционные подходы: Cтатистическиеметоды LDA, Байес, Pattern mining Плюсы: Учимся на больших объемах Большое покрытие Минусы: Невозможность «холодного старта» Не учитывают семантику
  • 13.
    Традиционные подходы: Ключевыеслова, rule based Ключевые слова, правила, Frame Net-like Плюсы: Высокая точность Учитывают смысл Минусы: Крайне низкое покрытие Высокая стоимость реализации Нет метрики для сравнения
  • 14.
    Традиционные подходы: Ключевыеслова, rule based Ключевые слова, правила, Frame Net-like Плюсы: Высокая точность (Precision) Учитывают смысл Минусы: Крайне низкое покрытие Высокая стоимость реализации Нет метрики для сравнения
  • 15.
    Традиционные подходы: Ключевыеслова, rule based Ключевые слова, правила, Frame Net-like Плюсы: Высокая точность Учитывают смысл Минусы: Крайне низкое покрытие (Recall) Высокая стоимость реализации Нет метрики для сравнения
  • 16.
    Потребность Минимизировать: Supervised Cтоимость Cложность поддержки Опираться на смысл Метрика похожести Холодный старт
  • 17.
  • 18.
    Классификатор на основевекторных репрезентаций Unsupervised pretraining Открытые данные Семантическая модель Маленький обучающий корпус для адаптации
  • 19.
    Векторная репрезентация Mikolovat al., Efficient Estimation of Word Representations in Vector Space, ICLR 2013
  • 20.
    Векторная репрезентация Входнойвектор А Б Х В Г [ 1 1 1 1 1] - [100К] Результат => Проекция [200] Х = [0.080543, 0.075750, ... -0.109624, 0.038613]
  • 21.
    Векторная репрезентация Ближайшиеслова голос хрипловатый 0.797113697099 певучий 0.764843965305 звучный 0.751156818403 дискант 0.733722699661 голосок 0.72665754898 Ближайшие слова яндекс yandex 0.83357081449 гугл 0.828274592652 рамблер 0.788542301545 поисковик 0.765093627596 яндексе 0.750866569063
  • 22.
    Классификатор Модель: Обучающиефразы Слова представлены векторами Размечаем классами Частотность по классам
  • 23.
    Классификатор cl –класс text – входящая фраза v – слова модели KNN(w) – К ближайших слов M – метрика доверия P(v|cl) – априорная вероятность cos – косинус, мера семантической близости 23
  • 24.
    Мера семантической близости http://www.codeproject.com/KB/TipsnTricks/788739/barneshutplot.jpg
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
    Пример: звонок вколлцентр Я.Директа - Здравствуйте, по какой теме вы обращаетесь? - Не показывают объявление
  • 30.
    Пример: звонок вколлцентр Я.Директа - Здравствуйте, по какой теме вы обращаетесь? - Не показывают объявление показывают 0.682 показывает direct-nodisplay 7.98 direct-mod 9.57 direct-pay 9.38 0.531 идут direct-nodisplay 8.89 direct-mod 10.87 market 10.59
  • 31.
    Пример: звонок вколлцентр Я.Директа - Здравствуйте, по какой теме вы обращаетесь? - Не показывают объявление показывают 0.682 показывает direct-nodisplay 7.98 direct-mod 9.57 direct-pay 9.38 0.531 идут direct-nodisplay 8.89 direct-mod 10.87 market 10.59 объявление 0.736 объявления direct-mod 5.67 direct-nodisplay 5.72 market 10.20 0.537 сообщение direct-nodisplay 8.26 direct-mod 8.54 market 9.70
  • 32.
    Пример: звонок вколлцентр Я.Директа - Здравствуйте, по какой теме вы обращаетесь? - Не показывают объявление показывают 0.682 показывает direct-nodisplay 7.98 direct-mod 9.57 direct-pay 9.38 0.531 идут direct-nodisplay 8.89 direct-mod 10.87 market 10.59 объявление 0.736 объявления direct-mod 5.67 direct-nodisplay 5.72 market 10.20 0.537 сообщение direct-nodisplay 8.26 direct-mod 8.54 market 9.70 0.226 Direct-nodisplay WIN! 0.244 Direct-mod 0.253 Direct-pay 0.275 Market
  • 33.
    Пример: звонок вколлцентр Я.Директа - Здравствуйте, по какой теме вы обращаетесь? - Не показывают объявление - Спасибо, переводим Вас на специалиста!
  • 34.
  • 35.
    Тренировка векторных репрезентаций Тексты сайтов и Википедии Continuous bag of words Окно – 9 Неделя
  • 36.
    Трюки Выбрасываем Stopwords Приводим слова в нормальную форму Снабжаем весами: априорные вероятности Распознавание речи: учитываем варианты
  • 37.
  • 38.
    Оценка: коллцентр Взаимная Встречаемость в Top 2 : 0 1 2 3 0 0 1 265 0 2 185 101 0 3 101 62 86 0 4412 звонков 10 fold cross validation 700 слов в модели Эксперимент CosTheshold MetricPower KNearest Accuracy Top2Acc 1 Лучший результат 0.9 3 1 0.701 0.897 2 Без одинаковых слов 0.45 3 2 0.643 0.836 3 С одинаковыми 0.45 3 2 0.695 0.889
  • 39.
    Magic Интерактивный стенд Обучающая выборка: 4 класса, 70 примеров Коридорный опрос Accuracy: 0.68
  • 40.
    Magic "Какой подароквы предпочтёте на день рождения?" "виллу на майами окей а ну", "Какое ваше любимое блюдо на обед?" "обезжиренный йогурт", "Как вы проведете неожиданный выходной?" "шоппинг of war австралии", "Почему вы совершаете покупки в интернете?" "но я не знаю на самом деле дансе"
  • 41.
  • 42.
    Примеры применения Коллцентр– автосалон, интернет магазин Диалоговая система – интент для персонального ассистента Классификация коротких текстов – комментарии, формы обратной связи
  • 43.
  • 44.
    Илья Мельников Отделголосовых технологий imeln@yandex-team.ru clubs.ya.ru/speechkit/ api.yandex.ru/speechkit/