В докладе описан подход, решающий задачу классификации коротких текстов на основании семантического сопоставления с обучающими примерами.
Раскрыты такие аспекты, как:
Максимальный упор на сравнение по смыслу (против известных статистических методов)
Устойчивость к разнообразию формулировок, использованию синонимов
Построение модели на малом количестве данных
Для решения этих задач создан классификатор на основе векторного представления слов. Обучающие тексты отображаются в многомерное пространство в виде наборов точек. Для анализируемого текста класс определяется соотношениями близостей между представлением текста и обучающих примеров. Делается допущение об условной независимости слов в фразе. Подход применим в любых задачах, где необходимо по смыслу классифицировать фразы диалога или короткие тексты.
Тестирование проводилось интерактивном стенде для Yac/m. Порядка 70 обучающих примеров, 4 класса. Получена accuracy порядка 250%, проверка методом 5 fold cross validation.
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)
Высокая стоимость реализации
Нет метрики для сравнения
18. Классификатор на основе векторных
репрезентаций
Unsupervised pretraining
Открытые данные
Семантическая модель
Маленький обучающий корпус для адаптации
20. Векторная репрезентация
Входной вектор
А Б Х В Г
[ 1 1 1 1 1] - [100К]
Результат
=> Проекция [200]
Х = [0.080543, 0.075750, ... -0.109624, 0.038613]
23. Классификатор
cl – класс
text – входящая фраза
v – слова модели
KNN(w) – К ближайших слов
M – метрика доверия
P(v|cl) – априорная вероятность
cos – косинус, мера семантической близости
23
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. Пример: звонок в коллцентр Я.Директа
- Здравствуйте, по какой теме вы обращаетесь?
- Не показывают объявление
- Спасибо, переводим Вас на
специалиста!
40. Magic
"Какой подарок вы предпочтёте на день рождения?"
"виллу на майами окей а ну",
"Какое ваше любимое блюдо на обед?"
"обезжиренный йогурт",
"Как вы проведете неожиданный выходной?"
"шоппинг of war австралии",
"Почему вы совершаете покупки в интернете?"
"но я не знаю на самом деле дансе"
42. Примеры применения
Коллцентр – автосалон, интернет магазин
Диалоговая система – интент для персонального ассистента
Классификация коротких текстов – комментарии, формы
обратной связи