Введение 3
Постановка задачи 5
Обзор литературы 6
1. Сравнение существующих моделей 9
1.1. GPT-2 9
1.2. mT5 9
1.3. Дообучение моделей 10
1.4. Сравнение результатов моделей 10
1.4.1. Описание метрик 11
1.4.2. Результаты моделей 13
1.5. Выводы 13
2. Дообучение модели 15
2.1. Описание датасета 15
2.1.1. Предобработка входных данных 16
2.2. Процесс дообучения 16
2.3. Оценка результатов модели 18
2.3.1. Описание метрик 19
2.3.2. Результаты дообучения 19
3. Дальнейшее улучшение результатов 21
3.1. Биграммная языковая модель 21
3.2. Комбинированная модель 22
3.3. Результаты комбинированной модели 23
Выводы 24
Заключение 25
Список литературы 26
В современном мире всё большую значимость приобретает электронный документооборот. Так, в электронном виде могут храниться медицинские данные - о заболеваниях пациента, назначенных процедурах и лекарственных средствах. Корпуса судебных слушаний облегчают юристам поиск похожих дел и прецендентов. Реестры недвижимости позволяют предотвратить мошенничество и спорные ситуации владения имуществом. Это лишь часть примеров - электронный документооборот прочно вошёл в жизнь общества. На то есть несколько причин, одна из которых - удобство. Такой подход не только позволяет обеспечить надёжное и централизованное хранение существующих документов с возможностью быстрого из поиска, но и ускоряет создание и добавление новых. В электронных документах проще оставлять ссылки на связанные тексты, что упрощает навигацию. Ими удобно делиться, делать копии и получать доступ к содержимому вне зависимости от физического расположения читателя.
Тем не менее, несмотря на все свои преимущества и всё удобство, эта система всё ещё содержит простор для оптимизаций. В частности, документы, как правило, строятся по некоторому шаблону, повторяя с некоторыми вариациями не только структуру, но и определённые части текстов. С одной стороны, следование шаблону и использование клишированных фраз не требует творческого участия человека, с другой - усложняет составление документа. Даже обладая релевантным опытом, люди неизбежно тратят какое-то время на подобные участки - как минимум, на выбор и набор нужного шаблона. Такая почти механическая работа является перспективной для автоматизации или, по крайней мере, использования методов, способных ускорить её выполнение человеком.
В то же время, сейчас всё большую популярность приобретают системы, использующие машинное обучение для достижения целей, сложно выразимых алгоритмически. В частности, эта тенденция наблюдается в области обработки естественных языков. Спектр задач, решаемых такими системами, обширен - в их число входит суммаризация текста, перефразирование, анализ тональности, а также генерация и, в том числе, автодополнение. Скажем, широко известно автодополнение для формальных языков, таких как языки программирования. Одним из наиболее известных примеров систем автодополнения программного кода, использующих машинное обучение, может служить GitHub Copilot [7].
Несмотря на то, что для документов используются естественные языки, они всё же имеют черты, роднящие их с текстами на языках формальных. Так, большинство документов имеют фиксированную форму, строятся по определённому набору правил, содержат одинаковые фрагменты. В свете всего вышеперечисленного кажется разумным использование для их автодополнения тех же методов, которые уже используются для формальных языков.
Постановка задачи
Исходя из сказанного во Введении, требуется упростить написание электронных документов человеком путём сокращения затрат времени на написание присущих данным документам клише, а также конкретных фраз, повторяющихся в рамках одного документа. Обобщить и формализировать эту задачу можно следующим образом: по имеющемуся тексту, представленному в виде набора токенов, требуется предложить наиболее вероятное его продолжение. Таким образом, получаем задачу автодополнения текста. Поскольку в качестве текстов рассматриваются документы - речь идёт о текстах на естественном языке. Для сужения класса возможных подходов к решению будем рассматривать только способы автодополнения текста, основанные на глубоком обучении. Кроме того, для определённости в качестве рассматриваемого типа документов определим юридические тексты, а именно - решения судов. Язык документов - русский.
Данная работа состоит из следующих этапов:
1. Обзор литературы затрагивающей родственные вопросы.
2. Выбор нескольких нейросетевых моделей.
3. Сравнение выбранных моделей и выбор наиболее подходящей.
4. Создание датасета, пригодного для дообучения выбранной модели.
5. Дообучение выбранной модели.
6. Обзор результатов дообученной модели.
7. Дальнейшее улучшение результатов.
В данной работе был сформулирован и достигнут ряд целей. Был проведён обзор литературы, так или иначе имеющей отношение к решению задач NLP методами машинного обучения и в частности - задач генерации и автодополнения текста на естественном языке. На основании данного обзора была выбрана архитектура, наилучшим образом подходящая для решения выдвинутой задачи, а именно - Transfomer. Кроме того, был произведён сравнительный анализ двух предобученных моделей выбранной архитектуры - ruGPT-3 и ruT5-base, сделаны выводы и выдвинуты гипотезы, объясняющие результаты. Также с использованием открытых источников был собран датасет решений российских судов. На данных из этого датасета была дообучена модель ruGPT-3. Были выбраны метрики, которые позволили оценить качество итоговой модели. Кроме того, был предложен и реализован вариант улучшения результатов модели путём учёта контекста конкретного документа с помощью использования биграммной языковой модели совместно с нейросетевой. Таким образом, поставленные изначально задачи были выполнены в полном объёме.