BERT и новая планка для прикладного NLP
Что модель BERT меняет в практическом применении обработки текстов и почему это важно для компаний, которые работают с неструктурированными данными.
В начале октября 2018 года Google опубликовала статью о модели BERT - Bidirectional Encoder Representations from Transformers. Результаты на стандартных NLP-бенчмарках оказались значительно выше предыдущих лучших значений - причём сразу на нескольких задачах: ответы на вопросы, понимание контекста, классификация пар предложений.
Для академического сообщества это очередной важный шаг в развитии языковых моделей. Для людей, которые думают о практическом применении NLP в бизнесе, - это смена базовой планки.
Что изменилось технически
Ключевая идея BERT - предобучение на большом корпусе текстов с двусторонним контекстом, а затем тонкая настройка под конкретную задачу. Предыдущие подходы либо обрабатывали текст слева направо или справа налево, либо использовали меньшие объёмы данных для предобучения.
Двусторонность важна: слово "замок" в контексте "ключ и замок" и "замок на реке" имеет разный смысл. Модель, которая видит весь контекст одновременно, различает это значительно лучше.
Практически важно вот что: Google выпустила веса предобученной модели. Это означает, что команда может взять модель, уже "понимающую" язык на глубоком уровне, и дообучить её на своих данных для конкретной задачи. Без необходимости тратить ресурсы на предобучение с нуля на сотнях миллионов документов.
Что это означает для прикладных задач
Несколько месяцев назад точность, которую BERT показывает "из коробки" на базовых NLP-задачах, требовала серьёзной кастомной разработки. Теперь планка поднялась: то, что раньше было потолком, стало базовым уровнем.
Для компаний, которые работают с текстами - поддержка клиентов, анализ обращений, классификация документов, извлечение информации - это открывает возможности, которые раньше требовали либо больших команд, либо компромисса по качеству.
Конкретные задачи, где это применимо уже сейчас:
- автоматическая классификация входящих обращений по теме и тональности;
- извлечение структурированной информации из неструктурированных документов;
- семантический поиск - когда нужно найти не точное совпадение слов, а смысловое;
- ответы на вопросы по корпусу внутренних документов.
Что стоит между публикацией и внедрением
Новая модель - это не готовое решение. Между тем, что опубликовано в статье, и работающей системой в компании - несколько шагов.
Во-первых, нужны размеченные данные для дообучения под конкретную задачу. Качество этих данных напрямую влияет на результат.
Во-вторых, BERT - большая модель по меркам 2018 года. Базовая версия содержит 110 миллионов параметров. Это создаёт требования к вычислительным ресурсам для дообучения и для вывода. На CPU это работает медленно, на GPU - значительно быстрее, но это дополнительные инфраструктурные решения.
В-третьих, даже с хорошей моделью остаются организационные вопросы: кто оценивает качество результатов, как система встраивается в существующий процесс, что происходит с ошибками.
Практический вывод
Для руководителя правильный вопрос сейчас не "нужен ли нам BERT". Правильный вопрос - "есть ли у нас задачи с текстами, где качество обработки является реальным узким местом".
Если такие задачи есть, и если раньше их откладывали из-за высокой стоимости или низкой доступной точности - момент пересмотреть эту оценку наступил.
Технология не сделает всё сама. Но планка возможного только что поднялась.