Под капотом Grammarly: изменение стиля письма с помощью ИИ

Опубликовано: 2018-05-31

Когда вам нужно произвести хорошее впечатление на человека, которому вы пишете, вам нужно думать не только о том, что вы говорите. То, как вы это говорите, часто не менее важно. Выбор правильного уровня формальности может быть особенно сложной задачей — это сильно зависит от контекста, и вам часто приходится делать предположения о том, как ваш собеседник воспримет ваш тон.

Представьте, что вы пишете сопроводительное письмо. Насколько изменились бы правила игры, если бы у вас был инструмент, который мог бы определить, когда ваше письмо слишком небрежно (или, что еще хуже, слишком официально)? Внезапно ваши решения о том, как сказать то, что вы пытаетесь сказать, становятся намного менее туманными. Вы не просто полагаетесь на догадки о том, как ваш получатель воспримет ваше сообщение — у вас есть алгоритм, который использует множество данных, которых лично у вас нет. Сделав еще один шаг вперед, что, если бы этот инструмент мог не только сказать вам, когда что-то не так, но и фактически предложить вам альтернативную формулировку, которая понравилась бы вашему получателю?

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

Если вы когда-нибудь задумывались над тем, как инженеры-исследователи Grammarly создают системы, предлагающие вам рекомендации по написанию, читайте дальше.

Неформальный фон формальности

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

Неофициальный: нужно увидеть обе стороны истории

Формально: вы должны видеть обе стороны истории.

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

Когда мы посмотрели, как люди переписывают неформальные предложения в более формальном стиле, мы обнаружили, что наиболее частые изменения, которые они вносили, касались использования заглавных букв, пунктуации и разговорных выражений. Мы также заметили, что людям иногда приходится более радикально переписывать предложение, чтобы улучшить формальность:

Неофициальный: Когда ты придешь на встречу?

Формально: Пожалуйста, сообщите мне, когда вы будете присутствовать на собрании.

Но как научить компьютеры вносить изменения, подобные приведенным выше? Есть несколько подходов к проблеме.

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

Что такое модель перевода?

Одним из недавних достижений в области искусственного интеллекта является использование методов глубокого обучения или нейронных сетей для построения моделей машинного перевода.

Модели нейронного машинного перевода (NMT) могут изучать представления основного значения предложений. Это помогает модели изучить сложные шаблоны предложений, чтобы перевод был беглым, а его значение соответствовало исходному предложению.

Старые подходы к машинному переводу, такие как модели на основе правил или фраз (PBMT), разбивают предложения на более мелкие единицы, такие как слова или фразы, и переводят их независимо друг от друга. Это может привести к грамматическим ошибкам или бессмысленным результатам в переводе. Однако эти модели легче настраивать и, как правило, они более консервативны, что может быть преимуществом. Например, мы можем легко включить правила, которые превращают сленг в стандартные слова.

Мы рассмотрели несколько различных подходов к машинному переводу, чтобы определить, какой из них лучше всего подходит для передачи стиля.

Построение модели

NMT и PBMT полны проблем, не последней из которых является поиск хорошего набора данных для обучения ваших моделей. В этом случае, по нашим оценкам, нам потребуется набор данных из сотен тысяч неформальных и формальных пар предложений. В идеале вы должны обучать свою модель миллионам пар предложений, но, поскольку перенос стиля — довольно новая область в области обработки естественного языка, на самом деле не было существующего набора данных, который мы могли бы использовать. Итак, мы создали один.

Мы начали со сбора неформальных предложений. Мы получили наши предложения из вопросов и ответов, размещенных публично на Yahoo! Ответы. Мы автоматически отобрали более ста тысяч неформальных предложений из этого набора и попросили команду переписать каждое из них формальным языком, опять же с использованием заранее определенных критериев. (Подробнее об этом процессе читайте в нашей статье.)

Когда у вас есть набор данных, вы можете начать обучение своей модели. Обучение модели означает предоставление ей большого количества «исходных» предложений — в нашем случае неформальных предложений — наряду с большим количеством «целевых» предложений — для нас это формальные переписывания. Затем алгоритм модели ищет шаблоны, чтобы выяснить, как добраться от источника к цели. Чем больше у него данных, тем лучше он учится.

В нашем случае модель имеет сто тысяч неформальных исходных предложений и их формальных переписываний, на которых можно учиться. Мы также экспериментировали с различными способами создания искусственных формальных данных, чтобы увеличить размер нашего обучающего набора данных, поскольку модели NMT и PBMT часто требуют гораздо больше данных для хорошей работы.

Но вам также нужен способ оценить, насколько хорошо ваша модель выполняет свою задачу. Изменился ли смысл предложения? Является ли новое предложение грамматически правильным? Действительно ли это более формально? Существуют классификаторы — программы, которые могут автоматически оценивать предложения по тону и стилю написания — и мы протестировали некоторые из них, наиболее часто используемые в научных кругах. Однако ни один из них не является очень точным. Итак, в итоге мы попросили людей сравнить результаты различных протестированных нами моделей и ранжировать их по формальности, точности и беглости.

Мы показали нашей команде оригинальное неформальное предложение, результаты нескольких различных моделей и переписывание человеком. Мы не говорили им, кто или что сгенерировало каждое предложение. Затем они оценили переписывания, позволив ничьи. В идеале лучшая модель должна быть связана или даже лучше, чем переписывание человеком. Всего команда переписала 500 неформальных предложений.

Что мы нашли

В общем, мы протестировали десятки моделей, но сосредоточимся на лучших из них: на основе правил, на основе фраз (PBMT), на основе нейронных сетей (NMT) и на паре, сочетающих различные подходы.

Человеческие перезаписи получили самые высокие оценки в целом, но модели PBMT и NMT не сильно отставали. Фактически, было несколько случаев, когда люди предпочитали выходные данные модели человеческим. Эти две модели внесли более значительные изменения, но они, как правило, изменили смысл исходного предложения.

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

Ниже приведен пример неформального предложения с его человеческим и модельным переписыванием. В данном конкретном случае именно последняя модель (NMT с переводом PBMT) обеспечила наилучший баланс между формальностью, смыслом и естественно звучащей формулировкой.

Оригинальное неформальное: я почти никогда не вижу его в школе, но обычно я вижу его на баскетбольных играх моих братьев.

Человеческая переписка: я почти никогда не вижу его в школе. Обычно я вижу его с моими братьями, играющими в баскетбол.

Модель, основанная на правилах: я почти никогда не вижу его в школе, но обычно я вижу его на баскетбольных играх моих братьев.

Модель PBMT: Я тоже почти не вижу его в школе, но на баскетбольных играх моих братьев.

Модель NMT: Я редко вижу его в школе, либо вижу его на баскетбольных играх моего брата.

NMT (обучение на дополнительных данных, сгенерированных PBMT): Я редко вижу его в школе, но обычно я вижу его на баскетбольных играх моих братьев.

Передача стилей — это захватывающая новая область обработки естественного языка с потенциалом широкого применения. Тот инструмент, который я придумал в начале, — тот, который поможет вам понять, как сказать то, что вам нужно сказать? Предстоит еще много работы, но этот инструмент возможен, и он будет бесценен для соискателей, изучающих язык и всех, кому нужно произвести на кого-то хорошее впечатление своим письмом. Мы надеемся, что, опубликовав наши данные, мы и другие специалисты в этой области сможем сравнить друг друга и продвинуть эту область исследований вперед.

Что касается Grammarly, эта работа — еще один шаг к нашему видению создания комплексного помощника по общению, который поможет понять ваше сообщение именно так, как задумано.

Джоэл Тетро — директор по исследованиям в Grammarly. Судха Рао — аспирант Мэрилендского университета и стажер-исследователь в Grammarly. Джоэл и Суда представят это исследование на 16-й ежегодной конференции Североамериканского отделения Ассоциации компьютерной лингвистики: технологии человеческого языка в Новом Орлеане, 1–6 июня 2018 г. Сопроводительный исследовательский документ под названием «Уважаемый господин или госпожа , Могу ли я представить набор данных GYAFC: корпус, контрольные показатели и показатели для передачи формального стиля», будет опубликован в Трудах NAACL.