Прогресс в исследованиях семантического сходства текстов

Google машинное обучение TensorFlow

БытьАвторы: Yinfei Yang, инженер-программист Google AI, и Крис Тар, технический руководитель

В последние годы исследования, связанные с «распознаванием естественного языка на основе нейронных сетей», достигли быстрого прогресса, особенно в изучении семантических представлений текста, и эти достижения помогли породить ряд действительно новых продуктов, таких какУмное написание(вспомогательное создание почты Gmail) иTalk to Books(Перейдите по ссылке в конце статьи, чтобы попробовать поговорить с книгой). Это также помогает повысить производительность при выполнении различных задач на естественном языке с ограниченными обучающими данными, например, при создании мощного текстового классификатора всего со 100 помеченными примерами.

Ниже мы обсудим две статьи о последних достижениях в исследованиях, связанных с семантическими представлениями в Google, а также две новые модели, доступные для загрузки на TensorFlow Hub, которые, как мы надеемся, разработчики будут использовать для создания новых интересных приложений.

TensorFlow Hub – это инструмент управления для управления, распространения и извлечения повторно используемого кода (моделей) для TensorFlow. Чтобы узнать больше, ознакомьтесь с:

https://tensorflow.google.cn/hub/

Семантическое сходство текста

В разделе «Изучение семантического текстового сходства из разговоров» мы представляем новый метод изучения форм предложений семантического текстового сходства. Интуитивно можно понять, что если ответы предложений имеют сходные распределения, то они семантически подобны. Например, «Сколько вам лет?» и «Каков ваш возраст?» — это вопросы, связанные с возрастом, на которые можно ответить аналогичными ответами, например: «Мне 20 лет (мне 20 лет). Напротив, в то время как "Как дела?" (Как дела?) и «Сколько вам лет?» содержат почти одни и те же английские слова, но имеют очень разные значения и, следовательно, разные ответы.

Предложения семантически похожи, если на них можно ответить одним и тем же ответом. В противном случае они семантически различны.

В этом исследовании мы стремимся изучить семантическое сходство с помощью задачи классификации ответов: при вводе диалога мы хотим выбрать правильный ответ из случайно выбранной группы ответов. Однако конечной целью является изучение модели, которая может возвращать коды, представляющие различные отношения естественного языка, включая сходство и родство. Добавив еще одну задачу прогнозирования (в данном случаеНабор данных о последствиях SNLI) и благодаря общим уровням кодирования мы достигаем лучшей производительности по показателям подобия, таким какSTSBenchmark(контрольный показатель сходства предложений) иОКК Задача Б(вопрос/задача на подобие вопроса). Это связано с тем, что логическое следствие сильно отличается от простой эквивалентности и более полезно для изучения сложных семантических представлений.

Для данного входа классификацию можно рассматривать как потенциальную проблему ранжирования кандидатов.

Universal Sentence Encoder

В документе «Универсальный кодировщик предложений» представлена ​​модель, которая расширяет описанное выше многозадачное обучение, добавляя больше задач, мы используем что-то вродеskip-thought(документ связан в конце статьи) (который может предсказывать предложения в заданном диапазоне текста), чтобы обучать их. Однако, хотя архитектура кодер-декодер использовалась в исходной модели с пропуском мыслей, мы не копировали ее, а использовали архитектуру только с кодировщиком для управления задачей прогнозирования путем совместного использования кодировщика. Таким образом, время обучения может быть значительно сокращено при сохранении производительности при выполнении различных задач переноса, включая классификацию тональности и семантического сходства. Цель состоит в том, чтобы предоставить единый кодировщик для поддержки максимально широкого спектра приложений, включая обнаружение перефразирования, корреляцию, кластеризацию и пользовательскую классификацию текста.

Попарное сравнение семантического сходства на основе выходных данных универсального кодировщика предложений TensorFlow Hub.

Как описано в нашей статье, версия модели Universal Sentence Encoder используетсеть глубокого усреднения(DAN), в то время как другая версия использует более сложныйАрхитектура сети самообслуживания- Трансформер.

Многозадачное обучение, как описано в «Универсальном кодировщике предложений». Различные задачи и структуры задач связаны через общие слои/параметры кодировщика (серые прямоугольники).

Для более сложных архитектур эта модель превосходит относительно простую модель DAN в различных задачах классификации тональности и сходства и лишь немного медленнее для коротких предложений. Однако с увеличением длины предложения время расчета модели с использованием Transformer значительно увеличивается, в то время как время расчета модели DAN остается практически одинаковым при тех же условиях.

новая модель

В дополнение к модели Universal Sentence Encoder, описанной выше, мы также поделимся двумя на TensorFlow Hub.новый Модель:Universal Sentence Encoder - LargeиUniversal Sentence Encoder - Lite. Это предварительно обученные модели Tensorflow, которые возвращают семантическое кодирование ввода текста переменной длины. Эти кодировки могут использоваться для измерения семантического подобия, родства, классификации или кластеризации текстов на естественном языке.

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

  • Модели Lite обучаются на словарном запасе частей предложения, а не на словах, чтобы значительно уменьшить размер словарного запаса, что значительно влияет на размер модели. Эта модель подходит для сценариев с ограниченными ресурсами, такими как память и ЦП, например, для реализации на стороне устройства или в браузере.

Мы рады поделиться этим исследованием и этими моделями с сообществом. Мы считаем, что представленные здесь результаты — это только начало, и многие важные исследовательские вопросы еще предстоит решить. Например, расширение технологии на большее количество языков (вышеупомянутая модель в настоящее время поддерживает только английский язык). Мы также надеемся на дальнейшее развитие этой технологии, чтобы иметь возможность понимать текст на уровне абзаца и даже документа. Если мы сможем решить эти задачи, возможно, мы сможем сделать действительно «универсальный» кодировщик.

Спасибо

Даниэль Сер, Марио Гуахардо-Сеспедес, Шэн-Йи Конг и Ноа Констант обучали модель, Нан Хуа, Николь Лимтиако и Ромни Сент-Джон занимались переносом, а Стив Юань, Юнхсуан Сун, Брайан Строуп и Рэй Курцвейл обсуждали Архитектура модели благодарим. Особая благодарность Kong-Yi-Kong и Noah Constant за обучение модели Lite.

Список задействованных бумаг

  • Learning Semantic Textual Similarity from Conversations - https://arxiv.org/abs/1804.07754

  • Universal Sentence Encoder - https://arxiv.org/abs/1803.11175

  • Skip-Thought Vectors - https://papers.nips.cc/paper/5950-skip-thought-vectors.pdf

Talk to BooksПерейти по ссылке: https://books.google.com/talktobooks/