До появления методов автоматической обработки информации с большим объемом данных людям приходилось справляться самостоятельно, тогда и появились конспекты, рефераты и прочие методы, с помощью которых можно значительно сокращать и упрощать написанный текст.
В настоящее время существует метод, способный облегчить для людей процесс поиска и анализа больших объемов текстовых данных. Обработка естественного языка (Natural Language Processing, NLP) – научная дисциплина, находящаяся на стыке таких наук, как лингвистика, математика, информатика и искусственный интеллект [1]. Основными направлениями NLP можно считать машинный перевод, распознавание речи, классификацию текстовых документов и автоматическое реферирование.
Реферирование — это процесс извлечения основной и необходимой информации из текста для последующего изложения. Обычно задача реферирования заключается в составлении краткого и связного реферата, который содержит самую важную из исходных документов. На вход поступает один или несколько файлов, на выходе получается реферат, состоящий из текста исходных документов или сгенерированный новый текст. Важность информации в данном случае определяется из контекста и предметной области, а сам текст реферата должен содержать значительно меньше слов и предложений, чем текст исходного документа, а также быть грамматически правильными и связным.
В некоторых фирмах для решения данной задачи существуют специальные сотрудники секретари-референты. Они просматривают материалы, формируют краткие анонсы для заседаний и совещаний. Если документации много, то отчеты формируются несколько дней, замедляя исполнение задач и поручений, сотрудники сидят без заданий, файлы и документы превращаются в горы бесполезной информации, по которой очень сложно ориентироваться и искать данные по проекту. Поэтому для решения данной проблемы было решено создать собственный инструмент для реферирования документов.
Целью работы является исследование методов машинного обучения и разработка программного комплекса для решения задачи аннотирования документации по разработке программного обеспечения на русском языке.
Для ее достижения поставлены следующие задачи:
1) изучение алгоритмов машинного обучения,
2) подбор и подготовка выборки,
3) подбор метрик для оценки результатов,
4) программная реализация выбранных для данной задачи алгоритмов,
5) сравнение реализованных алгоритмов.
ВВЕДЕНИЕ..................................................................................................... 4
1. Обоснование актуальности проводимых исследований............................ 6
2. История алгоритмов решения задачи реферирования текста.................. 7
3. Методы автоматического реферирования текста.................................... 10
3.1. Классификация методов автоматического реферирования................. 10
3.2. Методы автоматического реферирования без учителя........................ 12
3.2.1. Метод Луна.......................................................................................... 12
3.2.2. TF-IDF.................................................................................................. 14
3.2.3. TextRank............................................................................................... 14
3.2.4. LexRank................................................................................................ 16
3.3. Методы автоматического реферирования c учителем.......................... 17
3.3.1. BertSumExt........................................................................................... 17
3.3.2. Sequence-to-sequence............................................................................ 18
3.3.3. Pointer-Generator Network................................................................... 19
3.3.4. GPT....................................................................................................... 20
3.3.5. BART.................................................................................................... 21
3.3.6. T5......................................................................................................... 23
4. Подборка метрик для оценки реферирования текста.............................. 25
5. Данные и наборы данных для реферирования текстов........................... 28
6. Программная реализация выбранных для данной задачи алгоритмов. 30
6.1. Формирование собственного набора данных....................................... 30
6.2. Предварительная обработка исходных данных................................... 31
6.3. Реализация алгоритма стемминга. Тест Портера................................. 32
6.4. Извлечение ключевых фраз. EmbedRank.............................................. 33
6.5. Реализация алгоритмов.......................................................................... 33
6.6. Использование платформы Hugging Face.............................................. 34
6.7. Web-интерфейс приложения.................................................................. 35
6.8. Дообучение моделей............................................................................... 36
ЗАКЛЮЧЕНИЕ............................................................................................. 44
СПИСОК ЛИТЕРАТУРЫ............................................................................. 51
ПРИЛОЖЕНИЕ............................................................................................. 52
1) Большакова Е.И. Автоматическая обработка текстов на естественном языке и компьютерная лингвистика: учебное пособие / Е.И. Большакова и др.
– Москва: МИЭМ, 2011. – 272 с. - Текст : непосредственный.
2) ГОСТ 19.201-78 Единая система программной документации. Техническое задание. Требования к содержанию и оформлению = Unified system for program documentation. Technical specification for development. Requirements for contents and form of pressentation: межгосударственный стандарт: издание официальное : утвержден и введен в действие Постановлением Государственного комитета СССР по стандартам от 18 декабря 1978 г. № 3351: введен впервые : дата введения 1980-01-01 / разработан Федеральным агентством по техническому регулированию и метрологии (Росстандарт). - Москва : Стандартинформ, 2010. - 59 с. - Текст непосредственный.
3) Еляков, А.Д. Информационная перегрузка людей / А.Д. Еляков // Социолог. исслед. – 2005. – № 5. – С. 114–121. – Библиогр.: C. 120–121.
4) Luhn H. The automatic creation of literature abstracts // IBM Journal of Research and Development. – 1958. – Vol. 2, № 2. P. 159–165.
5) Rada Mihalcea, Paul Tarau. TextRank: Bringing Order into Texts // In Proceedings of EMNLP. – 2004. – (ed. Lin D and Wu D), P. 404–411.
6) Günes Erkan, Dragomir R Radev. LexRank: Graph-based lexical centrality as salience in text summarization. // Journal of Artificial Intelligence Research. – 2004. – P. 457–479.
7) Lewis M., Liu Y., Goyal, N., Ghazvininejad M., Mohamed A., Levy O., Stoyanov V., Zettlemoyer L. BART: Denoising Sequence-to-Sequence Pretraining for Natural Language Generation, Translation, and Comprehension. // arXiv preprint arXiv:1910.13461. 2019.
8) Transformers // Huggin Face Docs: [сайт]. — 2023. — URL: https://huggingface.co/docs/transformers/index (дата обращения: 15.04.2023).