Под капотом в Grammarly: обнаружение неорганизованного письма с помощью ИИ
Опубликовано: 2018-07-10Всякий раз, когда вы пишете что-то длиннее предложения, вам нужно принять решение о том, как организовать и представить свои мысли. Хороший текст легко понять, потому что каждое предложение основано на предыдущих. Когда тема меняется, сильные писатели используют переходные предложения и разрывы абзацев в качестве указателей, чтобы сообщить читателям, чего ожидать дальше.
Лингвисты называют этот аспект связности письменного дискурса, и он является предметом интересного нового исследования группы Grammarly Research, которое будет представлено на конференции SIGDIAL в Мельбурне, Австралия, на этой неделе.
Что такое связность дискурса и зачем об этом заботиться?
Когда мы говорим, что текст имеет высокий уровень дискурсивной связности, мы имеем в виду, что все предложения логически связаны друг с другом. Автор не уходит от темы. Различные точки соединены переходами. Текст легко читается от начала до конца.
Этот тип организации не всегда приходит сам собой. Немногие из нас думают совершенно линейной последовательностью идей. Система, которая могла бы автоматически сообщать вам о том, что вы написали что-то, за чем другим людям будет трудно следовать, и, в конце концов, предлагать, как это исправить, была бы чрезвычайно полезна для передачи того, что вы имеете в виду.
Что сделано
Научить компьютер точно оценивать уровень связности текста непросто. На сегодняшний день наиболее распространенный метод оценки того, насколько хорошо компьютер оценивает связность дискурса, основан на задаче упорядочивания предложений. С помощью этого метода исследователи берут существующий, хорошо отредактированный фрагмент текста, например новостную статью, и случайным образом меняют порядок всех предложений. Предполагается, что случайную перестановку можно рассматривать как некогерентную, а исходный порядок можно рассматривать как когерентный. Задача состоит в том, чтобы построить компьютерный алгоритм, способный отличить бессвязную версию от оригинала. В этих условиях точность некоторых систем достигает 90%. Очень впечатляет.
Но у этого метода есть большой потенциальный недостаток. Может быть, вы уже это заметили. Случайное изменение порядка предложений может привести к получению текста с низкой связностью, но это не приведет к тому, что текст будет похож на то, что написал бы человек.
В Grammarly мы сосредоточены на решении реальных проблем, поэтому мы знали, что любая работа, которую мы делаем в этой области, должна быть сопоставлена с реальным письмом, а не с искусственными сценариями. Удивительно, но очень мало работ по проверке методов оценки дискурса на реальном тексте, написанном людьми в обычных обстоятельствах. Пришло время изменить это.
Исследования в реальном мире, писатели из реального мира
Первая проблема, которую нам пришлось решить, была той же самой, с которой сталкивался любой другой исследователь, работающий над когерентностью дискурса: нехватка реальных данных. Не было корпуса обычного естественно написанного текста, на котором мы могли бы протестировать наши алгоритмы.
Мы создали корпус, собрав текст из нескольких общедоступных источников: Yahoo Answers, Yelp Reviews и общедоступные правительственные и корпоративные электронные письма. Мы выбрали именно эти источники, потому что они представляют то, что люди пишут в обычный день — сообщения на форуме, обзоры и электронные письма.
Чтобы превратить весь этот текст в корпус, из которого могут учиться компьютерные алгоритмы, нам также нужно было оценить уровни когерентности каждого текста. Этот процесс называется аннотацией. Неважно, насколько хорош ваш алгоритм, неаккуратная аннотация сильно исказит ваши результаты. В нашей статье мы подробно расскажем о многих проверенных нами подходах к аннотации, в том числе о тех, которые включали краудсорсинг. В конечном итоге мы решили, что экспертные аннотаторы оценивают уровень связности каждого фрагмента текста по трехбалльной шкале (низкая, средняя или высокая связность). Каждый фрагмент текста оценивали три аннотатора.
Проверка алгоритмов
Когда у нас был корпус, пришло время проверить, насколько точно различные компьютерные системы могут определить уровень когерентности данного фрагмента текста. Мы протестировали три типа систем:
В первую категорию входят модели на основе сущностей. Эти системы отслеживают, где и как часто одни и те же объекты упоминаются в тексте. Например, если система находит слово «транспорт» в нескольких предложениях, она воспринимает это как признак того, что эти предложения логически связаны друг с другом.
Во второй категории мы протестировали модель, основанную на графе лексической связности. Это способ представления предложений в виде узлов графа и соединения предложений, содержащих пары похожих слов. Например, этот тип модели соединит предложение, содержащее «автомобиль», и предложение, содержащее «грузовик», потому что оба предложения, вероятно, относятся к транспортным средствам или транспорту.
В третью категорию входят модели нейронных сетей или глубокого обучения. Мы протестировали несколько из них, в том числе две совершенно новые модели, созданные командой Grammarly. Это системы на основе ИИ, которые изучают представление каждого предложения, которое фиксирует его значение, и они могут изучать общее значение документа, комбинируя эти представления предложений. Они могут искать шаблоны, которые не ограничиваются вхождениями сущностей или похожими парами слов.
Задача на порядок предложений
Мы использовали высокосвязные тексты из нашего нового корпуса, чтобы создать задание на упорядочивание предложений для всех трех типов моделей. Мы обнаружили, что модели, которые хорошо работали с другими наборами данных о порядке предложений, также хорошо работали с нашим набором данных с точностью до 89 процентов. Модели на основе сущностей и графики лексической когерентности показали приличную точность (обычно от 60 до 70 процентов точности), но именно нейронные модели превзошли другие модели по крайней мере на десять процентных пунктов в трех из четырех областей.
Настоящий письменный тест
На самом деле мы хотели знать, может ли какая-либо из этих моделей работать с таким же уровнем точности на реальном, естественно написанном тексте. Мы преобразовали метки аннотаторов в числовые значения (низкий = 1, средний = 2, высокий = 3) и усреднили числа вместе, чтобы получить оценку согласованности для каждого фрагмента текста.
В каждой области по крайней мере одна из систем на основе нейронных сетей превосходила все остальные. На самом деле, одна из моделей Grammarly, учитывающая разрывы абзацев, показала лучшие результаты при работе с текстом из Yahoo Answers, как показано в таблице ниже. Модель Neural Clique, разработанная исследователями из Стэнфорда, также показала хорошие результаты.
Но наша первоначальная гипотеза оказалась верной: все модели справлялись с реальным заданием хуже, чем с заданием на порядок предложений, а некоторые были намного хуже. Например, метод лексического графа показал 78-процентную точность для корпоративных электронных писем в сценарии с искусственным изменением порядка предложений, но в этой более реалистичной оценке ему удалось достичь только 45-процентной точности.
Что мы нашли
Оказывается, предыдущая работа над связностью дискурса проверяла не то. Задача на порядок предложений определенно не является хорошим показателем для измерения когерентности дискурса. Наши результаты очевидны: системы, которые хорошо работают в искусственном сценарии, намного хуже работают с реальным текстом.
Важно отметить, что это открытие не является неудачей. На самом деле далеко не так. Частью развития любой области является оценка того, как вы оцениваете, время от времени останавливаясь, чтобы взглянуть на то, что вы действительно измеряли. Благодаря этой работе исследователи, работающие над когерентностью дискурса, теперь получили две важные части информации. Одним из них является понимание того, что задача упорядочивания предложений больше не должна быть способом измерения точности. Второй — это общедоступный аннотированный корпус текстов реального мира и новые тесты (наши нейронные модели) для использования в будущих исследованиях.
С нетерпением жду
Предстоит еще много работы и много интересных приложений для системы, которая может надежно оценивать когерентность дискурса в фрагменте текста. Когда-нибудь подобная система сможет не только сказать вам, насколько последовательным является ваше сообщение в целом, но и указать на конкретные отрывки, которым может быть трудно следовать. Когда-нибудь мы надеемся помочь вам сделать эти отрывки более понятными, чтобы то, что вы пытаетесь сказать, было понятно получателю.
В конце концов, путь Grammarly к тому, чтобы стать всесторонним помощником по общению, заключается не только в том, чтобы убедиться, что ваш текст грамматически и стилистически точен, но и в том, чтобы вас поняли так, как задумано.
---
Джоэл Тетро — директор по исследованиям в Grammarly. Элис Лай — аспирант Иллинойсского университета в Урбана-Шампейн и стажер-исследователь в Grammarly. Это исследование будет представлено на ежегодной конференции SIGDIAL 2018 в Мельбурне, Австралия, 12–14 июля 2018 г. Сопроводительный исследовательский документ под названием «Согласованность дискурса в дикой природе: набор данных, оценка и методы» будет опубликован в Трудах 19-е ежегодное собрание Специальной группы по дискурсу и диалогу. Набор данных, описанный в этом сообщении в блоге, называется Grammarly Corpus of Discourse Coherence, и его можно бесплатно загрузить для исследовательских целей здесь.