ELMo: Использование глубокого обучения для интерпретации слов со многими значениями

0
464

В зависимости от контекста каждое слово имеет несколько значений. В банке вы держите свои деньги или соления. Утка — ложная новость или одноименная водоплавающая птица.

Люди, как правило, не имеют проблем с выяснением, какое значение слова применяется. Но для моделей обработки естественного языка — это совсем другая история.

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

Исследователи из Алленского института искусственного интеллекта и Вашингтонского университета преодолевают это препятствие с помощью нейронной сети, которая определяет значение слова в зависимости от контекста, в котором он появляется.

Чтение вперед и назад

Нейронные сети для обработки естественного языка (далее NLP, Natural Language Processing) обычно обучаются данными, структурированными в словарных векторах, которые связывают основные элементы языкового значения и синтаксиса слова с каждым словом. Алгоритм предполагает, что каждое слово имеет одно векторное представление, но не совсем так работает английский язык.

Исследователи нарушили это предположение с помощью своей нейронной сети, называемой ELMo, которая может создавать бесконечное число векторов для одного слова. (ELMo означает Embeddings from Language Models (Встраивание из лингвистических моделей), а не «пушистый красный персонаж» из международно известного сериала «Улица Сезам», говорит Мэтью Петерс, автор статьи).

Elmo

ELMo любит читать: не Elmo для вашего малыша, а ELMo, нейронная сеть, использующая двунаправленные линвистические модели.
Для прикрепления векторов для каждого потенциального значения к слову команда использовала двунаправленную лингвистическую модель. Обычные такие модели пытаются предсказать следующее слово, которое появится в предложении. Если фрагмент гласит: «Люди сели на …», алгоритм будет предсказывать слова, такие как «скамейка» или «трава».

Создание двунаправленной модели означает, что у нее есть второй, обратный алгоритм, который заканчивает предложение и пытается предсказать слово, которое было до него. Это полезно, когда слово, которое модель пытается разобрать, приходит в начале предложения, и соответствующий контекст приходит позже.

Например: ‘He lies to his teacher’ против ‘He lies on the sofa,’
(«Он лжет своему учителю» против «Он лежит на диване»).

Чтобы проверить навыки ELMo, команда оценила алгоритм по шести различным задачам NLP, включая анализ настроений, вопросы и ответы. По сравнению с предыдущими методиками, использующими одни и те же данные обучения, ELMo каждый раз получает новый улучшенный результат — в некоторых случаях с улучшением на 25 процентов по сравнению с предыдущей ведущей моделью.

«В NLP важно видеть, что один метод повышает производительность для такого широкого круга задач», — сказал Петерс.

При обработке естественного языка важны типы данных обучения. Например, модель, используемая для системы Q & A, не может быть обучена никакому старому тексту. Обычно требуется обучение по большому набору данных аннотированных пар вопросов и ответов, чтобы узнать, как правильно истолковать контекст.

Аннотирование данных может быть трудоемким и дорогостоящим. Поэтому исследователи сначала решили обучить ELMo большому, немаркированному академическому набору данных около миллиарда слов, а затем адаптировать его к меньшему аннотированному набору данных для конкретной задачи, такой как Q & A. Этот метод использования большого количества неразмеченых данных в сочетании с небольшой частью маркорованных данных известна как полуконтролируемое обучение.

Уменьшение зависимости от маркированных аннотированных данных позволяет исследователям применять свои модели NLP к реальным проблемам.

«В нашем случае мы выбрали немаркированный академический набор данных для обучения лингвистической модели, — сказал Петерс. Но исследователи могут модулировать алгоритм для работы над любым другим немаркированным набором данных, а также в области специализации, такой как биомедицинские статьи, юридические контракты или другие языки.

Результаты лингвистической модели ELMo

ELMo улучшил производительность нейронных моделей по сравнению с предыдущими базовыми уровнями SOTA в шести тестовых задачах NLP. Задачи слева направо: текстовое вхождение, распознавание имени, ответ на вопросы, разрешение ключевых слов, маркировка семантической роли и классификация чувств.

Исследователи провели обучение и вывод с графическими процессорами NVIDIA Tesla V100 и K80 через Amazon Web Services.

В последующем документе исследователи применили модель ELMo для ответа на вопросы геометрии, используя всего несколько сотен ярлыков. Эта маркировка может занять всего несколько часов человеческой работы, но приведет к значительному улучшению производительности модели NLP.

ELMo доступен как библиотека с открытым исходным кодом. Питерс говорит, что другие исследователи NLP уже используют модель в своей работе, в том числе для языков, отличных от английского.