Тема: Обнаружение нечётких повторов форматированных текстах
Закажите новую по вашим требованиям
Представленный материал является образцом учебного исследования, примером структуры и содержания учебного исследования по заявленной теме. Размещён исключительно в информационных и ознакомительных целях.
Workspay.ru оказывает информационные услуги по сбору, обработке и структурированию материалов в соответствии с требованиями заказчика.
Размещение материала не означает публикацию произведения впервые и не предполагает передачу исключительных авторских прав третьим лицам.
Материал не предназначен для дословной сдачи в образовательные организации и требует самостоятельной переработки с соблюдением законодательства Российской Федерации об авторском праве и принципов академической добросовестности.
Авторские права на исходные материалы принадлежат их законным правообладателям. В случае возникновения вопросов, связанных с размещённым материалом, просим направить обращение через форму обратной связи.
📋 Содержание
Постановка задачи 7
1. Обзор 8
1.1. Средства нечёткого поиска и сопоставления текстов . . . 8
1.1.1. Технология DocLine . . . . . . . . . . . . . . . . . . 8
1.1.2. Обнаружение клонов в естественных языках . . . 9
1.1.3. Обнаружение клонов в программном обеспечении 9
1.1.4. Обнаружение плагиата в научных работах . . . . 10
1.2. Алгоритмы нечёткого поиска . . . . . . . . . . . . . . . . 10
1.2.1. Алгоритмы с индексацией . . . . . . . . . . . . . . 11
1.2.2. Алгоритмы без индексации . . . . . . . . . . . . . 11
1.3. Используемые технологии и программные средства . . . 12
1.3.1. Платформа .NET и язык программирования C# . 12
1.3.2. Библиотека лемматизации . . . . . . . . . . . . . . 12
1.3.3. Библиотека стемминга . . . . . . . . . . . . . . . . 12
2. Предварительная обработка текста 14
2.1. Управление форматированием . . . . . . . . . . . . . . . . 14
2.2. Нормализация . . . . . . . . . . . . . . . . . . . . . . . . . 14
3. Алгоритм поиска нечётких повторов 16
3.1. Построение алфавита . . . . . . . . . . . . . . . . . . . . . 16
3.2. Фрагментация текста . . . . . . . . . . . . . . . . . . . . . 17
3.3. Сравнение фрагментов . . . . . . . . . . . . . . . . . . . . 17
3.3.1. Хеширование . . . . . . . . . . . . . . . . . . . . . . 18
3.3.2. Вычисление редакционного расстояния . . . . . . 20
3.4. Группировка и расширение клонов . . . . . . . . . . . . . 21
4. Особенности реализации 23
35. Эксперименты 24
5.1. Формирование тестовых данных . . . . . . . . . . . . . . 24
5.1.1. Данные для проверки корректности . . . . . . . . 24
5.1.2. Данные для формирования статистики . . . . . . 25
5.2. Схема экспериментов . . . . . . . . . . . . . . . . . . . . . 25
5.3. Анализ результатов . . . . . . . . . . . . . . . . . . . . . . 25
5.3.1. Проверка корректности алгоритма
5.3.2. Формирование численных оценок и статистики . . 27
Заключение 29
Список литературы
📖 Введение
Одной из важных особенностей электронной документации является наличие повторяющихся фрагментов текста, что значительно усложняет написание документа, так как в случае отсутствия дополнительных инструментов процесс его разработки и сопровождения может оказаться весьма трудоёмким и отнять немало времени. Также, если не
отслеживать наличие повторов в тексте, становится вероятным понижение качества документа. Поэтому важной задачей становится упрощение и частичная автоматизация процесса поиска и рефакторинга таких повторов. Для её выполнения существуют такие решения, как DocLine[1][2][3] — проект, целью которого является создание инструмента для разработки и сопровождения электронной документации со значительными повторами в тексте. DocLine работает с достаточно популярным форматом DocBook[4] и его расширением DRL[5] и предоставляет возможности для нахождения имеющихся в тексте повторов и удобной работы с ними.
В большинстве случаев существенное количество повторов не являются дословными. Существующий и реализованный в DocLine на данный момент алгоритм[6] позволяет искать в тексте точные и вариативные повторы с одним фрагментом текста в середине. Алгоритм комбинирует находящиеся рядом точно повторяющиеся фрагменты текста. Последние ищутся при помощи реализованного с использованием инструмента Clone Miner[7][8] алгоритма на основе суффиксных
массивов[9]. Clone Miner предназначен, в первую очередь, для поиска повторов в исходных тестах программ. Изменения при копировании текста программ обычно представлены небольшим количеством достаточно крупных локализованных правок. Для текстов на естественных языках характерны как содержательные, так и стилистические правки после копирования, которые приводят к большому количеству мелких изменений. В случае текстов, таким образом, мы сталкиваемся со следующими ограничениями подхода[10]: возможен поиск нечётких клонов только с одной вариативной частью, рассматриваются кандидаты клонов только с промежутком в середине клона (не в начале или конце).
Соответственно, возникает необходимость в функциональности, позволяющей быстро находить значительные нечёткие повторы в тексте, и которая не имела бы описанных выше ограничений.
Так как работа направлена на нахождение нечётких повторов в тексте документации, естественно при создании алгоритма было использовать существующие методы для нечёткого поиска. В ходе дипломной работы был использован и модифицирован для нечёткого сравнения алгоритм Рабина-Карпа[11] с использованием хеширования по сигнатуре[12][13] для быстрого сравнения фрагментов текста, а так же улучшенный алгоритм вычисления редакционного расстояния[14] между двумя фрагментами текста.
✅ Заключение
1. Изучены средства нечёткого поиска и сопоставления текстов, научные работы и алгоритмы в области нечёткого поиска.
2. Предложен новый алгоритм с использованием модификаций алгоритма Рабина-Карпа, хеширования по сигнатуре и алгоритма вычисления редакционного расстояния. Алгоритм реализован.
3. Проведены эксперименты и тестирование алгоритма



