Автоматизация исследования заимствований в судебной лингвистической экспертзе
Автоматизация исследования текстов на наличие заимствований в судебной лингвистической экспертизеИсследованием текстов на наличие заимствований занимается судебно- лингвистическая экспертиза. Данный род экспертиз был утвержден приказом министра юстиции России № 114 от 14.05.2003 г и является новым в судебно- экспертных учреждениях Минюста России. Ранее такими исследованиями занималась автороведческая экспертиза.
Основной задачей исследования является установление наличия заимствований в источнике текста из других источников. Заимствования в тексте могут быть как из поступивших на экспертизу источников, так и из других общедоступных источников, например из публикаций в сети Интернет. При поиске заимствований из поступивших источников эксперту необходимо выявить в источниках все совпадающие фрагменты. При этом фрагменты могут быть как заимствованы полностью, так и иметь редакторские правки, что необходимо в экспертном исследовании отметить отдельно. Другой задачей является установление первоисточников заимствования. Очевидно, что если в двух текстах имеются одинаковые фрагменты, то они не обязательно были перенесены из одного текста во второй, они могли быть заимствованы в оба эти текста из третьего общедоступного.
Общий алгоритм такого вида исследований выглядит следующим образом:
- Исследование поступивших на экспертизу текстов в отдельности, оценка
- Поиск в исследуемых текстах общих фрагментов.
- Исследование этих фрагментов на наличие редакторских правок.
- Исследования фрагментов на предмет наличия в них частных признаков исполнителя документов (орфографические и пунктуационные ошибки, другие особенности).
- Определение процента заимствованных фрагментов в каждом из текстов.
- Проверка общих фрагментов на возможность заимствования их из общедоступных источников, в частности из сети Интернет.
- Поиск в документах и общих фрагментах схожих орфографических и пунктуационных ошибок.
- Исследование текстов на особенности авторского стиля, сравнение стилей каждого из текстов.
В связи с большой востребованностью такого вида исследований и большого объема текстов, приходящих на экспертизу, требуется разработка автоматизированных средств, наличие которых могло бы существенно снизить объем работы эксперта и повысить качество экспертизы.
Для автоматизации изложенного алгоритма эксперту необходим инструментарий, позволяющий решать следующие задачи:
- сравнение двух или более текстов на наличие в них общих или похожих фрагментов;
- обозначение минимального порога похожести фрагментов;
- поиск редакторских правок в общих фрагментах;
- поиск орфографических и пунктуационных ошибок в совпадающих фрагментах;
- эффективная синхронная визуализация похожих фрагментов;
- подсчет процента заимствований;
- поиск источников заимствований в сети Интернет через поисковые системы;
- обработка найденных в сети Интернет документов для более детального анализа;
- автоматизированный анализ стилистических характеристик текстов.
Автоматизация данной задачи осложняется обычно большими объемами
исследуемых текстов, что практически исключает возможность простой реализации методом сравнения каждого предложения одного текста с каждым предложением другого. В частности, могут исследоваться тексты книг, больших юридических документов и т.д. Обработка документов последнего типа осложняется их сложной структурой, наличием повторяющихся фрагментов, а также строгим официальным стилем, который минимизирует проявления авторской манеры.
Часто в документах содержатся клише и однотипные фразы, особенно в документах, относящихся к области, имеющей свою узкую терминологию. Таким образом, один и тот же фрагмент одного текста может пересекаться с двумя или более фрагментами второго текста. Это осложняет задачу объединения фрагментов.
Еще одной сложностью реализации является выявление для каждого фрагмента (предложения) одного текста списка наиболее похожих фрагментов второго, причем в порядке убывания схожести.
Данный функционал необходим эксперту в случае объемных исследований для фильтрации фрагментов, совпадение которых имеет малую значимость. При этом эксперту необходимо будет только задать порог отбора и изменять его при получении недостаточных результатов.
Среди существующих методов автоматизации задачи можно отметить следующие:
- Метод шинглов. (Сегалович И. Детектирование массовых рассылок на Яндекс.Почте. // http://www.spamtest.ru/document.html?context=15932&pubid=32) Данный метод основан на подсчете контрольных сумм наслаивающихся цепочек слов. Алгоритм позволяет найти цепочки совпадений, но малоэффективен при перестановках слов, делении сложных предложений на простые и наоборот.
- Метод описательных слов. (Ilyinsky S., Kuzmin M. and other An efficient method to detect duplicates of Web documents with the use of inverted index. // http://company.yandex.ru/articles/article7 .html) Данный метод отбирает множество ключевых слов текста, для которых далее считается контрольная сумма. Но метод в большей степени рассчитан на поиск похожих документов, а не на их детальный анализ.
- Метод поиска пересекающихся фрагментов на основе суффиксных деревьев. (Khmelev D., Teahan W. A repetition based measure for verification of text collections and for text categorization // SIGIR’2003 Toronto (Canada), 2003. July 28-August 1.) Данный метод достаточно эффективен для поиска полных заимствований (подстрок), но не эффективен при поиске частичных заимствований и редакторских правок.
- Интернет-сервис «Антиплагиат». (Интернет-сервис «Антиплагиат» // http://www.antiplagiat.ru) Данный сервис предоставляет возможность искать заимствования в заданном тексте во внутренней базе данных. Сервис позволяет искать как полные, так и частичные заимствования в текстах.
Среди недостатков стоит отметить невозможность сравнения заданных текстов друг с другом, так как сравнение осуществляется с внутренней базой, также не описан применяемый алгоритм поиска заимствований, что затрудняет исследование качества применяемых алгоритмов.
При решении данной задачи наиболее эффективно оказалось на первом этапе деление каждого текста на предложения и принятие предложения за минимальный совпадающий фрагмент. В основу алгоритма был положен поиск по сформированному разреженному массиву слов (хэшу) (Шилдт Г. Теория и практика C++: / Пер. с англ. СПб. :BHV — Санкт-Петербург, 2000.) и выделены следующие основные этапы:
- Фрагментация каждого из текстов на слова и предложения.
- Приведение каждого слова текста к нормальной форме и присвоение грамматических кодов слову (лемматизация). Данный процесс необходим при поиске редакторских правок, когда в процессе перефразирования часто меняют формы одного слова.
- Построение по тексту (или набору текстов, если необходим поиск совпадающих фрагментов во многих текстах) разряженного массива (хэша) слов. Для дальнейшей возможности получения на каждое предложение рейтинга наиболее похожих удобным оказалось хранение с каждым словом массива (набора) предложений, в которых оно встречается.
- Поиск в хэше каждого предложения анализируемого текста через запрос на все слова предложения.
- Построение для предложения рейтинга предложений «захэшированных» текстов в зависимости от их схожести и отсечение предложений, находящихся ниже порога важности, задаваемого экспертом. Данный алгоритм позволяет после выбора всех предложений похожих на заданное, отсортировать их в соответствии с процентом совпавших слов, а также, используя метрики Tf-Idf (Salton G., Buckley C. Term-weighting approaches in automatic text retrieval // Information Processing & Management. 1988. 24(5).), определить относительную значимость схожести каждого предложения, что исключит неоправданно большое значение сходности предложений, в которых совпали только служебные части речи.
- Поиск предложений с редакторскими правками. После нахождения для заданного предложения набора прошедших по значимости предложений происходит сравнение ненормализованного текста, т.е исходного. Также проверяется последовательность слов предложений. Если были изменены только грамматические формы и последовательность слов, предложение отмечается как содержащее редакторские правки и подсчитывается объем этих правок.
- Объединение найденных совпадающих предложений в более крупные фрагменты. После нахождения всех совпадающих предложений двух или более текстов происходит их последовательное объединение в большие фрагменты, сопровождающееся сложением подсчитанных весов (значимостей) предложений. При этом важным параметром является максимально допустимое количество пропущенных предложений при объединении. Данный параметр важен при объединении фрагментов, содержащих отсутствующий в одном из фрагментов текст, имеющий редакторские правки. Такие правки обычно носят поясняющий или дополняющий характер. Наиболее оптимальным порогом в большинстве случаев являются 2-4 предложения, но их количество может варьироваться экспертом в зависимости от исследуемого материала.
- Фильтрация результатов. После процедуры объединения могут оставаться отдельные предложения, не объединенные в большие фрагменты. Если эти предложения уже вошли в другие объединенные фрагменты, тогда вес этого фрагмента уменьшается. Данная процедура необходима для исключения результатов с низким весом и должна выполняться по усмотрению эксперта.
- Отображение результатов работы.
При анализе совпадающих фрагментов перед экспертом стоит задача идентифицировать, был ли данный фрагмент заимствован из одного документа в другой или возможно случайное совпадение фрагментов. Такая ситуация возможна, если оба текста имеют один стиль изложения, при том, что данный стиль характеризуется большим количеством формальных фраз, оборотов, клише. Для решения данной задачи используются методы идентификации исполнителя текста.
В случае, когда заимствуются фрагменты текста, исполнитель может быть идентифицирован по таким частным признакам, как наличие в тексте одинаковых орфографических и пунктуационных ошибок. В настоящий момент в большинство текстовых редакторов, часто используемых для составления документов, встроены средства проверки базовых орфографических и пунктуационных ошибок, что требует средств, учитывающих эти особенности при автоматизированном решении данных задач. Поиск в тексте орфографических ошибок, помимо тех, что могут быть распознаны автоматическими средствами проверки орфографии, обычно работающими по словарям, может быть построен на основе обратного индекса. Для этого необходимо найти по обратному индексу слова с наиболее низкой частотой встречаемости в данных текстах. При наличии проиндексированной базы текстов схожей тематики, которые могут быть найдены посредством поисковых машин Интернета, можно оценить вероятность орфографической ошибки в каждом конкретном случае и при высокой вероятности предъявить их эксперту. Поиск пунктуационных ошибок возможен только при наличии базы часто встречаемых ошибок. Такие ошибки обычно допускаются при возможности двоякого написания текста, зависящего от частных признаков, учет которых в автоматических средствах проверки пунктуации не заложен в связи со сложностью реализации. Наработка такой базы сейчас осуществляется лингвистической лабораторией РФЦСЭ при Минюсте России. После ее накопления возможно применение средств шаблонного поиска для автоматизации поиска каждого типа ошибок. Одним из таких эффективных средств является язык регулярных выражений. (Фридл Дж. Регулярные выражения. Библиотека программиста СПб.: Питер, 2001.)
При анализе редакторских правок эксперту необходимо оценить их характер. Данные правки могут иметь характер стилистических исправлений, перефразирования, что не меняет в целом смысл документа или его фрагмента. В другом же случае редакторские правки могут носить фундаментальный характер и быть направлены на изменение смысла документа, что в суде может быть расценено как индивидуальный творческий вклад автора.
Наиболее удобным, по нашим оценкам, визуальным представлением результатов работы оказалась таблица, в которой отображаются интервалы предложений каждого из текстов, объединенных во фрагменты, с указанием количества объединенных предложений, процента совпадений во фрагменте и наличия редакторских правок. При этом эксперт может отсортировать и отфильтровать фрагменты по каждому из параметров. Важной нам также представляется возможность просмотра экспертом каждого из фрагментов в контексте каждого из текстов. Для визуализации нами было адаптировано средство стороннего производителя Beyond Compare.(Home of Beyond Compare. // http://www.scootersoftware.com)
Для удобства были сделаны два режима просмотра.
- Просмотр фрагментов каждого из текстов, при котором тексты переформатированы таким образом, что каждое отдельное предложение текста занимает одну строку, а также нормализована пунктуация, т.е. между словами убраны все избыточные пробельные символы. Также совпавший фрагмент отделен от не со¬впавших с ним верхнего и нижнего контекстов специальными символами и отступом. Такое форматирование позволяет средству визуализации отличить совпадаю¬щие фрагменты от несовпадающих и синхронизировать построчно два текста.
- Просмотр фрагментов в исходном виде. Данное представление позволяет эксперту просматривать исходное форматирование фрагментов, которое может содержать дополнительную идентифицирующую информацию.
Для проверки гипотезы о возможном заимствовании общих фрагментов документов из открытых источников эксперту необходим инструментарий, кото-рый позволяет найти через поисковые системы Интернета документы, наиболее похожие на заданный документ или фрагмент, и получить их. Для большей досто¬верности необходимо сделать возможным поиск одновременно по двум и более поисковым системам с добавлением новых по мере необходимости. Список полу¬ченных похожих документов должен быть отсортирован по мере сходства с поис¬ковым документом. Также должен быть приблизительно оценен процент сход¬ства каждого из найденных документов с исходным, а документы, имеющие вес выше заданного экспертом минимума, должны быть скачаны. После этого най¬денные документы должны быть очищены от избыточной информации, обычно присутствующей на странице любого сайта, а также приведены к формату, удоб¬ному для дальнейшей работы, например формату txt.
Для решения данной задачи был разработан модуль работы с поисковыми систе¬мами Интернет. Наиболее удобным для настройки модуля на работу с разными поис¬ковыми системами оказался язык регулярных выражений, на котором можно задать шаблон обработки страниц с результатами поиска разных поисковых систем Интерне¬та. Применение языка регулярных выражений дало возможность быстрой настройки на уже существующие поисковые системы, а также позволило в случае необходимости добавлять новые поисковые системы в короткий промежуток времени.
Многие поисковые системы на данный момент работают с большинством раз-нообразных форматов документов, осуществляя поиск не только в html страницах, но и в документах форматов doc, pdf и др. Также часть поисковых систем позволяет через свой интерфейс получить текстовое представление документа, что избавляет от необ¬ходимости написания конвертора, поддерживающего все предлагаемые форматы.
Алгоритм работы поисковых систем позволяет довольно легко составить рейтинг сходства заданного текста с запрашиваемым. Для этого достаточно зада¬вать в качестве запросов предложения исходного текста и, разбирая страницу предоставленных результатов, запоминать рейтинги и ссылки на предоставляемые ре¬зультаты. Далее, при получении результатов следующего предложения, можно груп¬пировать их с предыдущими результатами.
После обработки таким образом нескольких предложений выстраивается рейтинг, в котором одинаковые ссылки сгруппированы и оценены по значимости на основе размера сформированной группы и рейтинга ссылок на страницах результатов поиска. Эксперт задает требуемый порог значимости, ниже которого результаты считаются незначимы¬ми. При большом количестве запросов можно отбросить как незначимые результаты, встреченные один раз. Если значимых результатов нет; значит; с большой степенью вероятности источники возможных заимствований отсутствуют в Интернете. Для оптимиза¬ции и уменьшения количества посылаемых запросов можно посылать предложения пос¬ледовательно на несколько поисковых машин. Также можно определить параметр точно¬сти поиска, который может быть задан максимальным количеством запросов или коли¬чеством пропускаемых предложений при формировании запросов.
- Загрузка всех шаблонов поисковых систем.
- Фрагментация полученного текста на предложения, если такая процеду¬ра не была сделана ранее.
- Формирование запросов из предложений в зависимости от заданных параметров и передача на вход поисковым системам.
- Сохранение и группировка результатов по ссылкам (с учетом рейтингов в поисковых системах).
- Отбрасывание результатов, не прошедших по порогу значимости.
- Предоставление результатов работы эксперту с возможностью сохранить отмеченные для дальнейшей обработки и сравнения.
- Сохранение отмеченных результатов в формате txt через сервис конвертирования поисковых систем.
Задача очистки html и извлечения из него текста может быть эффективно решена посредством процессора обработки регулярных выражений либо путем подключения средств автоматизации MS Word.
Разработанный комплекс экспертных средств проходит апробацию на базе судебно-лингвистической лаборатории РФЦСЭ при Минюсте России.
Автор:
О.В. Замолуев — аспирант РФЦСЭ при Минюсте России.