180 likes | 361 Views
Разработка программы лингвистического анализа для распознавания авторства текста. Выполнил: студент ИВТ-04 Гранин А . Руководитель проекта: к.т.н. Макаров Д. А. Основные проблемы лингвистического анализа. Проверка правописания Синтаксический анализ
E N D
Разработка программы лингвистического анализа для распознавания авторства текста Выполнил: студент ИВТ-04 Гранин А. Руководитель проекта: к.т.н. Макаров Д. А.
Основные проблемы лингвистического анализа • Проверка правописания • Синтаксический анализ • Распознавание авторства и выявление плагиата • Фонетический анализ • Удобочитаемость и благозвучие • Анализ поэтических и художественных текстов • «Машинное творчество»
Распознавание авторства текста Проблемы: • Вероятностный характер • Множество методик распознавания авторства • Сравнимость текстов Задачи: • Разработка нового метода распознавания с помощью ассоциативной памяти • Автоматизация сбора метрик (характеристик) текстов • Создать базу, допускающую добавление других методик распознавания авторства
Карта благозвучия Карта благозвучия – визуальное представление благозвучия текста. Проблемы: • Сложность и многообразие фонетических правил звучания • Отсутствие прямого соответствия между буквой и звуком Задачи: • Универсальный подход к формализации правил звучания • Графическое представление правил звучания • Универсальный подход к применению правил звучания • Составление карты благозвучия текста на основе выявленных элементов звучания
Алгоритмы, часть 1 1. Конечный автомат – для разбиения текста на структурное дерево (абзацы, предложения, слова) • Конфигурация конечного автомата – это схема разбиения текста • Возможность использования нескольких схем разбиения • Единообразная работа с уровнями дерева (весь текст, абзацы, предложения, слова) Уровень 0 ВЕСЬ ТЕКСТ Уровень 1 Абзац1 Абзац2 Абзац N … Уровень 2 Предложение 1 Предложение 2 Предложение M … Уровень 3 Слово 1 Слово 2 Слово K … Знаки конца абзаца: cr lf cr+lf lf+cr Знаки конца предложения: ? ! .cr lf ?! !! !!! ?!. …
Алгоритмы, часть 1 2. Выборка образцов для сравнения • Выборка производится по трем уровням: абзацы, предложения, слова • Обеспечивается минимально необходимая сравнимость текстов • Возможность изменить схему выборки образцов Уровень абзацев текста 1 … Уровень абзацев текста 2 … Уровень абзацев текста n … Min количество абзацев по длинам 2 0 1 1 1 2 Шаблон выборки образцов по min количеству, уровень абзацев 2 1 1 1 2 2
Алгоритмы, часть 1 3. Сбор статистических характеристик образцов Шаблон Абзацы текста Компоновка текста Частотное распределение символов Сохранение характеристик в лингвопрофиле Уровень: абзацы, текст 1 … АоУ К В Еп, кИм иС юМ, - мкт: «вий иов» А - 10 ! - 4 ю - 11 а - 44 ? - 6 я - 10 Б - 9 , - 22 ё - 1 б - 15 … - 4 с - 7 В - 3 ?! - 1 т - 33 в - 17 !.. - 1 ь - 5 Лингвопрофиль образца 1
Алгоритмы, часть 1 4. Нейросистема Хэмминга – компьютерная реализация ассоциативной памяти • Эталонные сигналы («память» нейросистемы) • Входной сигнал • Пороговая активационная функция • Распознавание образа через нелинейную функцию нейросистемы x1 x2 xj xn … 1 2 k m 1 2 k m … y1 y2 yk ym
Алгоритмы, часть 2 1. Карта благозвучия: базовое покрытие текста + элементы звучания • Базовое покрытие текста: каждому символу свое значение звучания • Элемент звучания – набор символов, попадающий под какое-либо правило звучания Мама мыла раму. Папа купил телевизор. Дул ветер. ЦЦЦЦ Мал золотник, да дорог.
Алгоритмы, часть 2 2. Язык RRL: язык правил звучания (Resounding Rules Language) • Формализация почти всех правил звучания • Динамическое изменение правил в ходе анализа • Возможно расширение языка Символьные фильтры Язык состоит из: Г ! Гласные Знаки • символьных фильтров • управляющих команд • специальных сигнатур С Согласные Любые другие фильтры … б «Любая буква» Возможности языка: Управляющие команды s EndP TBRes Skip Reset Бn Excit Def1,2,3… i = n Link Специальные сигнатуры бn
Алгоритмы, часть 2 2. Язык RRL: фильтрационная схема – основа правила звучания • Однонаправленные и двунаправленные • Дифференцируемые и не дифференцируемые • Определяемые и неопределяемые • Имеют значение звучания – действительное число Пример фильтрационной схемы («> 2 одинаковых букв в начале слов») Фильтрационная схема: • фактически – конфигурация конечного автомата • определяет разбор текста 0 2 1 Excit++ б б Skip б1 Excit++ Link б i = 1 Link Правила: i = 2 Skip Def(Б1, б1) Б1 Б1 EoT EndP i = 1 EndP TBRes CriticalExcit = 3 Influence = 0 EoT EndP Правило двустороннее, не дифференцируемое
Алгоритмы, часть 2 3. Конечный автомат для обработки правил звучания • Конфигурация конечного автомата – это правила звучания • Правила управляют конечным автоматом с помощью управляющих команд • Результат анализа текста – элементы звучания • Правило 1 • Правило 2 • Правило 3 • . . . Конечный автомат А Текст Б В Элемент звучания 1 Г Элемент звучания 2 Элемент звучания 3 Д . . .
Особенности реализации • Структурный конечный автомат основан на паттерне «Стратегия» • Использованы паттерны проектирования MVC, Итератор, «Умные указатели» • Шаблонные классы • STL – Standard Template Library, стандартная шаблонная библиотека АТД • OpenGL – для вывода карты благозвучия
Результаты • Повышена скорость сбора статистических данных текста • Создан новый метод распознавания авторства • Создан единственный в своем роде инструмент анализа • Базис для создания комплексного лингвистического анализатора текстов
…управляющих команд: EndP «Процедура завершения процесса» Link «Точка привязки» Excit «Изменение возбуждения» «TimeBackReset»(«Возврат во времени и Перезапуск») TBRes «Определить специальные символы с номером (1,2,3)данным символом» Def1,2,3… Skip «Пропуск» «Сменить текущее состояние на n» i = n Reset «Перезапуск» «Запись временной точки» Ret1,2,3… Rem «Возврат во времени» (множественный)
Фильтрационная схема (правило)«> 2 одинаковых букв в началах слов» 0 1 2 Excit++ б Skip б1 Excit++ Link i = 1 Link i = 2 б б Skip Def(Б1, б1) Б1 Б1 i = 1 EoT EndP EndP TBRes Двустороннее, не дифференцируемое EoT EndP CriticalExcit = 3 Influence = 0