Правительство Российской Федерации
Федеральное государственное автономное образовательное учреждение высшего образования
Национальный исследовательский университет
«Высшая школа экономики»
Факультет гуманитарных наук
Образовательная программа «Фундаментальная и компьютерная лингвистика»
Выпускная квалификационная работа
Система проверки орфографии для башкирского языка
студент 4 курса бакалавриата группы БКЛ-152
Татаринов Дмитрий Юрьевич
Научный руководитель
канд. филологических наук, доц.
Б.В. Орехов
Москва 2019
Введение
В настоящее время особенно сильна тенденция к автоматизации обработки данных, при которой работа выполняется не человеком, а с помощью вычислительных машин. Это помогает избавиться от человеческого фактора во время проведения работы, тем самым повысить качество выполнения задачи, а также осуществлять значительно более трудоемкие операции, которые трудны для человека. К процессам, которые переходят на стадию автоматической обработки, можно отнести проверку правописания набранного компьютерным способом текста. При отсутствии готовых решений этой задачи с помощью вычислительных машин, человеку приходится вручную, в некоторых случаях с помощью бумажного словаря, проверять напечатанные или рукописные тексты. Такой процесс может занять достаточно много времени и человеческого ресурса, а также в силу ограниченности человеческих возможностей предполагает пропуск ошибок.
Для языков с большим количеством носителей, автоматизация проверки текста стала обычным делом. Помимо распространенных задач, таких как автоматическая коррекция текста во время печати на портативных устройствах и настольных компьютерах, алгоритм распознавание ошибок можно использовать в научных целях. Например, проверка работы технологии OCR, технологии распознавания рукописного текста. Эти технологии с помощью нейронных сетей или других средств разделяют поступающий отсканированный документ на текстовый слой и слой с изображениями. Текстовый слой, с помощью обученных нейронных сетей, которые на основе имеющихся представлений о внешних признаках символа текста, переводится из изображения в напечатанный текст (Усилин, Николаев, Постников, 2009). На стадии тестирования, необходимо оценить точность работы таких алгоритмов при помощи сопоставления реальных текстов и их распознанных версий.
В условиях, когда текстов для распознания много, человеку, не имеющему доступ к методам автоматической обработки текстов, потребуется значительное количество времени, чтобы найти и обозначить все неправильные распознания, когда алгоритм проверки при помощи компьютера произведет анализ быстрее и качественнее.
Для башкирского языка, таких сервисов, на данный момент нет. Этот факт подчеркивает актуальность разработки средств автоматической обработки текстов для языков, для которых такие средства отсутствуют (малоресурсные языки), в том числе для башкирского языка. Разработка продукта позволит не только развить использование таких средств в повседневной жизни, что значительно упростит выполнение ежедневных задач, связанных с работой с текстом, но также позволит развивать другие технологии, основанные на лингвистическом знании, и имеют непосредственную близость к работе с языком в целом.
Также необходимо отметить одну особенность, присущую разработке алгоритмов автоматической проверки текстов в настоящее время. Еще при первых разработках спелл-чекеров использовались технологии, основанные на автоматической проверке текста с использованием сформированного словаря. То есть человек исключался из цепи проверки текста и заменялся компьютером (Nielsen & Microsystems, 1996). При этом, словарь составлялся людьми, что не исключало ошибок. Ошибки при составлении словаря нарушали работу алгоритма. Таким образом, формировалась словарная зависимость работы алгоритма. Со временем развивались и технологии позволяющие заменять человека не только в качестве проверяющего, но и обучающего. Речь идет не о полном исключении человека из создания алгоритма, а об алгоритмах с использованием машинного обучения и нейронных сетей.
Методы машинного обучения, позволяют создавать модели, которые формируют числовое и формульное представление об объекте, тем самым вычислять их признаки на основе предоставленных данных (Pedregosa и др., 2011). Нейронные сети, как и следует из названия, формируют цепь из искусственных нейронов. Такая система меняет свою структуру, подстраиваясь под представленные данные, с целью построения цепей-зависимостей, которые также позволяют определять признаки входящих данных (Krogh & Vedelsby, 1995). Оба метода показывают высокое качество работы в области автоматической обработке текстов, в том числе автоматикой проверки текстов, однако имеют несколько значимых недостатков. Для достижения хорошего качества работы алгоритмов необходимо составить большой корпус материала, на котором модели будут строить свои зависимости. Помимо размера корпуса, корпус текстов должен содержать предварительно размеченные положительные и отрицательные примеры токенов. Помимо этого, корпус не должен быть составлен на основе тематических текстов. Использование тематических корпус в качестве материала для обучения моделей может негативно сказаться на качество работы итоговой модели из-за характерных языковых конструкций, которые присущи выбранной тематике. Это обусловлено ограниченностью и специфичностью набора словоформ ( Митрофанова, Захаров, б. д.). В случае башкирского языка и формата ВКР (выпускной квалификационной работы) не представляется возможным формирования корпуса такого типа и объема, что делает проблематичным использование вышеуказанных методов в качестве основной технологии. Это обусловлено тем, что готового размеченного корпуса для башкирского языка, на данный не существует, а подготовка материала представляет из себя трудозатратный процесс. Таким образом, задача по созданию алгоритма автоматической проверки текстов включает в себя разработку нового алгоритма, который не будет зависеть от тематики и размера корпуса. За основу берется идея определения приемлемости биграмм-последовательностей внутри языковой парадигмы, которая подвергается меньшему влиянию тематики и объема корпуса. Развитие посимвольной проверки текстов позволит разрабатывать технологии для языков, текстовые корпуса которых не позволяют строить модели на основе работы целиком со словоформами.
1. Постановка цели работы
автоматический проверка башкирский язык
Основная цель данной работы - это разработка алгоритма автоматической проверки текстов на основе текстов башкирского языка. За неимением возможности формирования большого корпуса текстов, который будет содержать как правильные, так и неправильные размеченные словоформы для работы с уже существующими методами автоматической обработки напечатанных текстов, а также узкой направленностью имеющихся текстов, необходимо разработать свой собственный алгоритм, основанный на проверке корректности последовательности биграмм-конструкций. Для решения поставленной цели необходимо:
1. Изучить возможные ошибки, которые могут встречаться при работе с текстами, а также разобраться с ошибками характерными именно для работы спелл-чекера.
2. Подробно изучить уже существующие методы построения спелл-чекеров, рассмотреть их слабые и сильные стороны.
3. Проанализировать, описать и подготовить предоставленный корпус башкирских текстов для работы алгоритма.
4. Изучить и составить распределение вероятностей существования всех возможных биграмм-конструкций для башкирского языка.
5. Разработать алгоритм проверки текстов при помощи языка программирования Python на основе полученных сведений о вариативности и частотности употреблений биграмм-конструкций.
6. Провести тестирование на различных тактовых выборках, чтобы выявить финальный результат, сильные и слабые стороны построенного алгоритма.
7. На основе результатов теста, провести возможные операции по улучшению качества работы алгоритма.
2. Изучение возможных опечаток на письме
Начало разработки алгоритма корректировки напечатанного текста необходимо начать с разбора и описания возможных типом ошибок, которые человек может допустить во время набора текста (Chatterjee, Athayle, Akhawe, Juels, & Ristenpart, 2016). Это необходимо сделать до начала разработки алгоритма, чтобы проанализировать природу возникновения ошибок, и разобраться с тем, какие ошибки можно распознать только путем анализа текста человеком, а какие ошибки можно распознать с помощью вычислительной машины.
1. Вставки символов с неправильным регистром - Такие типы ошибок могут возникнуть при неисправности печатной техники, или ошибочного нажатия клавиши верхнего регистра во время быстрого набора символов. Такого типа ошибки не имеют большого значения, если опечатка совершена не в начале слова. Заглавная буква является определяющей при распознавании и различии имен нарицательных и имен собственных. Таким образом, если ошибка совершена не в начале слова, спелл-чекер позволяет распознать ошибку без особого труда. В обратном случае, необходим более глубокий анализ природы происхождения слова.
2. «Клавиатурные опечатки» - При быстром наборе или недостаточной внимательности, человек может набрать символ, который находится на клавиатуре рядом с необходимым символом, например слово мир напечатано как мтр. Такого рода ошибки могут быть также вызваны механическим сбоем печатного устройства. Распознать такие ошибки можно при помощи сверки со словарем, а также, если последовательность символов нарушена грубо и противоречит возможным для данного языка правилам построения конструкций. Однако, существуют варианты, которые невозможно распознать без помощи контекстного анализа, например слово дом и слово лом. На русской раскладке компьютерной клавиатуры буква д находится непосредственно рядом с буквой л.Распознавание таких ошибок не входит в общий функционал спелл-чекеров.
3. Транспозиционные ошибки - Возникают при смене местами двух или более символов словоформы. Важно, что данные символы находятся последовательно. В отличии от «Клавиатурных опечаток», состав символов при таких ошибках не изменяется, нарушается только порядок. Распознавание таких ошибок спелл-чекером возможно только при грубом нарушении изначального строя слова с формированием несуществующей словоформы.
4. Нарушение морфологического строя - Если сформированная в процессе написания словоформа не нарушает правило формирования словоформ для данного языка, а лишь нарушает смысл построения предложения, тогда ошибка не может быть распознана без контекстного анализа текста. Такого типа ошибки не распознаются спелл-чекерами.
5. Пропуск слова - При пропуске целой словоформы, с последующим нарушением логики построения предложения, как и других примерах, связанных с отсутствием нарушения правила построения словоформы, необходимо использовать методы контекстного анализа предложения. Распознавание такого типа ошибок также не входит в основные задачи спелл-чекеров.
Описанные типы ошибок можно распределить на две определяющие группы:
1. Ошибки, которые формируют несуществующие для изучаемого языка словоформы - non-worderrors (NWE)
2. Ошибки, которые формируют существующие для изучаемого языка словоформы - real-worderrors (RWE)
Спелл-чекер предназначен для распознавания ошибок типа NWE, так как само по себе правописание словоформ при возникновении RWE ошибок не противоречит правилам написания (Choudhury, Thomas, Mukherjee, Basu, & Ganguly, 2007). Соответственно не являются с данной точки зрения неправильными. Определение таких слов зачастую происходит при помощи сверки со словарем. Если словоформа не определена в словаре, значит такая словоформа принимается за неправильную (Choudhury и др., 2007). Для распознавания ошибок типа RWE необходимо проводить дополнительный семантический анализ текста, который осуществляется посредствам создания языковых моделей на основе уже упомянутых нейронных сетей, что невозможно в рамках выполняемой работы.
В итоге можно заявить, что основной задачей данной работы ставится разработка алгоритма определения ошибок, формирующих несуществующие в парадигме башкирского языка словоформы без использования заготовленного для сверки словаря.
2.1 Работа с ошибками при использовании техники OCR
Отдельно стоит рассмотреть работу спелл-чекера в связке с технологией распознавания текста с изображений при помощи технологии OCR. Характер ошибок работы данного алгоритма непредсказуем и совмещает в себе ошибка двух типов, как RWE, так и NWE. Это происходит по той причине, что распознавание символов текста основано на визуальном сходстве двух единиц. Таким образом, схожие по своему образу букву и числа с большой вероятностью будут распознаны неправильно, замещая друг друга. Также, при отсутствии каких-либо ассоциативных рядов для определения символа, единица будет распознана как пустой символ или пробел, таким образом нарушается строй предложение со значительным повреждением словоформы. Такие ошибка тяжело распознаются спелл-чекерами. Для решения подобных задач формируются отдельные алгоритмы контекстного анализа и предсказания праформы, которые дополняются модель спелл-чекера для повышения точности проверки и оптимизации работы технологии (Tong & Evans, 1996).
2.2 Изучение существующих методов создания алгоритмов автоматической коррекции текста
Данная глава предназначена для описания возможных решений поставленной задачи, с целью изучения слабых и сильных сторон с дальнейшим использованием полученных данных.
2.3 Построение нейронных сетей
Нейронные модели широко используются в процессах обработки информации, поскольку они позволяют распознавать образы объектов, производить классификацию по множеству признаков, а также прогнозировать время выполнения процессов, таким образом оценивая продуктивность работы алгоритма. Финальная модель, после обучения, способна к обобщению данных, что уменьшает воздействия шумов и не валидной выборки на результат работы классификации. Также, нейронные сети способны к воссозданию исходной формы объекта, поступающего на вход, при незначительных его повреждениях ( Заенцев, 1999). Такие модели обладают высоким качеством работы при решении задач, связанных с текстами, вплоть до задач генерации текста. Однако для формирования такой модели необходимо собрать корпус текстов, которые гарантированно будут иметь положительные и отрицательные примеры (Правильные и неправильные словоформы). Собрать такой корпус проблематично, особенно когда речь идет о языке с низким уровнем развития сферы использования цифровых технологий в языковом функционировании. Недостаточность корпуса по какому-то параметру может резко негативно отразиться на работе модели и ее дальнейшем результате. При этом, обучение такой модели занимает длительное время и больших затрат по производительности вычислительной машины. В условиях выпускной квалификационной работы подход не рассматривается как оптимальный.