Курсовая работа: Система проверки орфографии для башкирского языка

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

Наилучшее качество работы алгоритма при проверке текстов, собранных с сайта башкирской википедии достигается с пороговой долью 0,505. Результаты в количестве словоформ и долях соответственно:

Таблица 4. Наилучшая точность работы алгоритма на текстах с википедии, с пороговой долей 0.505

Изначальный статус словоформы

Словоформа верна

кол-во (доля)

Словоформа не верна

кол-во (доля)

Предсказание

модели

Словоформа верна

кол-во (доля)

724 (0.752)

53 (0.484)

Словоформа не верна

кол-во (доля)

167 (0.248)

42 (0.516)

9. Результат работы

В результате разработки алгоритма, была получена модель автоматической проверки текстов, написанных на башкирском языке. Осуществление посимвольной проверки текста, позволяет использовать разработанные технологии даже в том случае, когда имеющийся в расположении для подготовки модели текстовый корпус не имеет размеченных правильных и неправильных словоформ, а также по размерам и по типам данных не позволяет использовать уже существующие методы построения спелл-чекеров.

Далее описаны способы и методы повышения качества работы модели, а также дальнейшее развитие разработанной технологии.

10. Варианты улучшение качества работы алгоритма

10.1 Использование уникальных словоформ при формировании вероятностей

Изначально при подсчете вероятностей конструкций башкирского корпуса использовались все токены, входящие в тексты. После проведения тестов, было сделано предположение, что использование только уникальных словоформ корпуса должно повысить качество работы алгоритма.

Это суждение обосновывалось тем, что несмотря на независимость разработанного алгоритма от корпусной тематики, существует проблема частого употребления редких конструкций. Предположим, что в тексте необходимо употребляется и частое повторение словоформы с нехарактерной для Башкирского языка конструкцией. Таким образом, при подсчете вероятностей, такая конструкция может быть принята за нормальную и вытеснить из зоны допускаемы вероятностей корректные варианты. Таким же образом на качество работы алгоритма влияют и заимствованные слова. Если учитывать только уникальные словоформы, тогда можно решить проблему с частым употреблением нехарактерных и заимствованных слов.

Однако, повторные тесты на обновленном корпусе показали обратный результат. Качество работы модели незначительно, но ухудшилось. После проведения анализа результатов, выяснилось, что качество упало из-за увеличения общей доли заимствованных слов.

Увеличение доли заимствованных слов, повышает вероятность существования заимствованных биграмм составляющих в построенной модели языка, а существование исконно башкирских составляющих уменьшается. Это приводит к тому, что модель начинает распознавать заимствованные слова как правильные, что негативно влияет на общий результат.

Решением данной проблемы, является исключение заимствованных слов из выборки обучения, что является сложным процессом. В результате, был сделан вывод, что при работе с Башкирским языком, как с языком с большим количеством заимствованных слов, в рамках нашей задачи будут использоваться все токены, входящие в состав корпуса, а не только уникальные словоформы.

10.2 Улучшение работы качества при помощи стемминга текстов

Второе предположение по поводу улучшения качества работы алгоритма, это использование методов стемминга словоформ при подсчете вероятностей и непосредственно во время проверки. Стемминг - это процесс нахождения основы исходной словоформы. Проблема автоматического стемминга представляет собой этап предобработки текста в лингвистических исследованиях. По этой причине, для большинства “популярных” языков, например английского и русского, уже существуют готовые решения стемминга. Для башкирского языка, готового решения, которое бы подходило для решения нашей проблемы, нет.

Для произведения стемминга текстов в рамках нашей задачи написана собственная программа, которая работает на основе жадных алгоритмов регулярных выражений. Первоначально формирует список всех возможных аффиксов в башкирском языке. После этого, когда на обработку поступает слово, программа проверяет, есть ли на конце словоформы группа символов, схожая с аффиксом из сформированного списка. Если вхождения есть, тогда данная группа символов отделяется от словоформы и помещается в хранение аффиксных групп этой проверки. Процесс повторяется до тех пор, пока пересечений конечных символов остаточной словоформы и аффиксной группы не обнаружено. По окончанию работы, программа возвращает объект-словарь в котором хранится изначальная словоформа, основа и отделенная аффиксная группа.

Использование данной программы, в теории, позволяет выделить основу слова, которая содержит различные варианты биграмм конструкций, от аффиксной группы, которая в большинстве словоформ повторяется. Так как количество аффиксов и аффиксных групп ограничено их вариативность, а их наличие характерно для большинства словоформ, тогда проверку аффиксной группы можно организовать с помощью словаря, рассчитывая вероятности существования только для основы. Такой подход позволяет выровнять распределение вероятностей и равномернее распределить их по шкале возрастания. В свою очередь выравнивание помогает точнее определять словоформы, которые действительно характерны для башкирского языка.

Однако тесты показали, что данная методика, не помогает в улучшении точности работы алгоритма. Это происходит по той причине, что выравнивание вероятностей по шкале частотности не повышает качество работы модели с нашим алгоритмом. Если представить это распределение без использования стемминга, тогда выделяются три основные группы:

Конструкции, которые входят в аффиксные группы - самые вероятные комбинации.

Конструкции, которые нехарактерны для башкирского языка - группа с минимальной вероятностью.

Конструкции, которые характерны для башкирского языка - группа, вероятности которой распределены между двумя предыдущими группами.

При определении доли порогового значения вероятности, наша задача определить границу между второй и третьей группой. Стемминг позволяет размыть границу между первой и третьей группой и распределить составляющие этих групп. Таким образом, происходит смещение границы, определяющей пороговую вероятностей, но при этом состав групп не меняется.

10.3 Улучшение работы алгоритма при помощи группировки слов по их природе

В башкирском языке, на данный момент, наблюдается тенденция заимствований международных слов через русский язык, а также заимствования слов арабо-персидского ареала. Слова заимствования в корпусе, на котором строится работа алгоритма негативно сказывается на качество.

Мы предполагаем, что точность работы разработанной нашей программы можно улучшить посредствам введения дополнительных этапов проверки с дальнейшим распределением слов по разным потокам проверки. На дополнительном этапе проверки, определяется природа происхождения слова. Дальше, для каждой группы слов, обучается самостоятельная модель, которая определяет приемлемость словоформы в парадигме группы, к которой она принадлежит. Таким образом, получится добиться максимальной точности работы алгоритма, поскольку будет решена проблема с шумом в виде малой вероятности для характерных конструкций, а также неравного распределения из-за смешения нескольких словесных групп.

Библиография

1. Митрофанова О.А., Захаров В.П. (б. д.). Извлечено от http://www.dialog-21.ru/media/1599/49.pdf.

2. Усилин C.А., Николаев Д.П., Постников В.В. (б. д.). Извлечено от http://www.isa.ru/proceedings/images/documents/2009-45/159-173.pdf.

3. Chatterjee, R., Athayle, A., Akhawe, D., Juels, A., & Ristenpart, T. (2016). pASSWORD tYPOS and How to Correct Them Securely. 2016 IEEE Symposium on Security and Privacy (SP), 799-818. https://doi.org/10.1109/SP.2016.53.

4. Choudhury, M., Thomas, M., Mukherjee, A., Basu, A., & Ganguly, N. (2007). How Difficult is it to Develop a Perfect Spell-checker? A Cross-linguistic Analysis through Complex Network Approach. arXiv:physics/0703198. Извлечено от http://arxiv.org/abs/physics/0703198.

5. Colas, F., & Brazdil, P. (2006). Comparison of SVM and Some Older Classification Algorithms in Text Classification Tasks. В M. Bramer (Ред.), Artificial Intelligence in Theory and Practice (Т. 217, сс. 169-178). https://doi.org/10.1007/978-0-387-34747-9_18.

6. Hackeling, G. (2017). Mastering Machine Learning with scikit-learn. Packt Publishing Ltd.

7. Ueda, Nakagava (1990). Извлечено от https://www.isca-speech.org/archive/archive_papers/icslp_1990/i90_1209.pdf.

8. Krogh, A., & Vedelsby, J. (1995). Neural Network Ensembles, Cross Validation, and Active Learning. В.G. Tesauro, D.S. Touretzky, & T.K. Leen (Ред.), Advances in Neural Information Processing Systems 7 (сс. 231-238). Извлечено от http://papers.nips.cc/paper/1001-neural-network-ensembles-cross-validation-and-active-learning.pdf.

9. Liu, X., Cheng, K., Luo, Y., Duh, K., & Matsumoto, Y. (2013). A Hybrid Chinese Spelling Correction Using Language Model and Statistical Machine Translation with Reranking. Proceedings of the Seventh SIGHAN Workshop on Chinese Language Processing, 54-58. Извлечено от https://www.aclweb.org/anthology/W13-4409.

10. Nielsen, J., & Microsystems, S. (б. д.). DCTIONARY SYSTEM WITH AUTOMATIC UPDATING. 15.

11. Pedregosa, F., Varoquaux, G., Gramfort, A., Michel, V., Thirion, B., Grisel, O., … Cournapeau, D. (б. д.). Scikit-learn: Machine Learning in Python. MACHINE LEARNING IN PYTHON, 6.

12. Tong, X., & Evans, D. A. (1996). A Statistical Approach to Automatic OCR Error Correction in Context. Fourth Workshop on Very Large Corpora. Извлечено от https://www.aclweb.org/anthology/W96-0108.

13. Crow V., Scarberry R., Calaprist A., Miller N., Nakamura G., Saffer J. (2003). Извлечено от https://patentimages.storage.googleapis.com/d0/ae/cb/dd7253f2b27cec/US6665661.pdf.

14. Заенцев И.В. (1999). Извлечено от http://www.nemoai.narod.ru/Library/Zaentsev-NeuroNets.pdf.