Программа проверки орфографии (spellchecker) на основе распределенных представлений

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

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Datum:2013
1. Verfasser: Омельченко, Р.С.
Sprache:Russian
Veröffentlicht: Інститут програмних систем НАН України 2013
Schriftenreihe:Проблеми програмування
Schlagworte:
Online Zugang:http://dspace.nbuv.gov.ua/handle/123456789/86691
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
Назва журналу:Digital Library of Periodicals of National Academy of Sciences of Ukraine
Zitieren:Программа проверки орфографии (spellchecker) на основе распределенных представлений / Р.С. Омельченко // Проблеми програмування. — 2013. — № 4. — С. 35-42. — Бібліогр.: 14 назв. — рос.

Institution

Digital Library of Periodicals of National Academy of Sciences of Ukraine
id irk-123456789-86691
record_format dspace
spelling irk-123456789-866912015-09-27T03:02:10Z Программа проверки орфографии (spellchecker) на основе распределенных представлений Омельченко, Р.С. Інструментальні засоби і середовища програмування Задача программ проверки орфографии состоит в нахождении и исправлении ошибок в словах. Как правило, программа предлагает пользователю короткий список предполагаемых корректных слов в последовательности от самого вероятного к наименее вероятному. В данной работе исследована возможность применения бинарных распределенных представлений и методов их обработки для представления, поиска и обработки слов с ошибками. Приведены результаты экспериментов на двух наборах слов с типичными орфографическими ошибками, а также проведен сравнительный анализ с другими методами. 2013 Программа проверки орфографии (spellchecker) на основе распределенных представлений / Р.С. Омельченко // Проблеми програмування. — 2013. — № 4. — С. 35-42. — Бібліогр.: 14 назв. — рос. 1727-4907 http://dspace.nbuv.gov.ua/handle/123456789/86691 05.13.06 ru Проблеми програмування Інститут програмних систем НАН України
institution Digital Library of Periodicals of National Academy of Sciences of Ukraine
collection DSpace DC
language Russian
topic Інструментальні засоби і середовища програмування
Інструментальні засоби і середовища програмування
spellingShingle Інструментальні засоби і середовища програмування
Інструментальні засоби і середовища програмування
Омельченко, Р.С.
Программа проверки орфографии (spellchecker) на основе распределенных представлений
Проблеми програмування
description Задача программ проверки орфографии состоит в нахождении и исправлении ошибок в словах. Как правило, программа предлагает пользователю короткий список предполагаемых корректных слов в последовательности от самого вероятного к наименее вероятному. В данной работе исследована возможность применения бинарных распределенных представлений и методов их обработки для представления, поиска и обработки слов с ошибками. Приведены результаты экспериментов на двух наборах слов с типичными орфографическими ошибками, а также проведен сравнительный анализ с другими методами.
author Омельченко, Р.С.
author_facet Омельченко, Р.С.
author_sort Омельченко, Р.С.
title Программа проверки орфографии (spellchecker) на основе распределенных представлений
title_short Программа проверки орфографии (spellchecker) на основе распределенных представлений
title_full Программа проверки орфографии (spellchecker) на основе распределенных представлений
title_fullStr Программа проверки орфографии (spellchecker) на основе распределенных представлений
title_full_unstemmed Программа проверки орфографии (spellchecker) на основе распределенных представлений
title_sort программа проверки орфографии (spellchecker) на основе распределенных представлений
publisher Інститут програмних систем НАН України
publishDate 2013
topic_facet Інструментальні засоби і середовища програмування
url http://dspace.nbuv.gov.ua/handle/123456789/86691
citation_txt Программа проверки орфографии (spellchecker) на основе распределенных представлений / Р.С. Омельченко // Проблеми програмування. — 2013. — № 4. — С. 35-42. — Бібліогр.: 14 назв. — рос.
series Проблеми програмування
work_keys_str_mv AT omelʹčenkors programmaproverkiorfografiispellcheckernaosnoveraspredelennyhpredstavlenij
first_indexed 2025-07-06T14:13:48Z
last_indexed 2025-07-06T14:13:48Z
_version_ 1836907213989347328
fulltext Інструментальні засоби та середовища програмування © Р.С. Омельченко, 2013 ISSN 1727-4907. Проблеми програмування. 2013. № 4 35 УДК: 05.13.06 Р.С. Омельченко ПРОГРАММА ПРОВЕРКИ ОРФОГРАФИИ (SPELLCHECKER) НА ОСНОВЕ РАСПРЕДЕЛЕННЫХ ПРЕДСТАВЛЕНИЙ Задача программ проверки орфографии состоит в нахождении и исправлении ошибок в словах. Как правило, программа предлагает пользователю короткий список предполагаемых корректных слов в по- следовательности от самого вероятного к наименее вероятному. В данной работе исследована возмож- ность применения бинарных распределенных представлений и методов их обработки для представле- ния, поиска и обработки слов с ошибками. Приведены результаты экспериментов на двух наборах слов с типичными орфографическими ошибками, а также проведен сравнительный анализ с другими мето- дами. Введение Программа проверки орфографии представляет собой программу, позволя- ющую находить и исправлять ошибки в словах. Как правило, программа предлага- ет пользователю короткий список предпо- лагаемых правильных слов в последова- тельности от самого вероятного к наиме- нее вероятному. Исправление орфографи- ческих ошибок в подобных системах мо- жет быть организовано одним из таких способов:  проверка и коррекция ошибок в изолированных словах, при которых каждое слово проверяется отдельно без контекста;  контекстно-зависимая проверка и коррекция ошибок. Большинство программ проверки орфографии используют первый вариант, так как второй требует синтаксического анализа и является более сложным и зави- сящим от конкретного языка. Даже в кон- текстно-зависимых методах список канди- датов корректных слов получают для изо- лированных слов, а далее выбор соверша- ется с помощью контекста. В данной рабо- те будет использоваться метод с изолиро- ванными словами. Также использованы распределен- ные представления, методы их обработки (создания, поиска) для коррекции слов с ошибками. Для оценки и сравнения с дру- гими программами использовались два набора слов с типичными орфографиче- скими ошибками. Обзор существующих методов Для сравнения результатов работы нашей программы с другими применялись публично доступные базы, на которых те- стировали свои программы проверки ор- фографии Роджер Миттон [1], а также Се- бастьян Деоровиц и Марцин Киура [2]. Эти программы не используют инфор- мацию о контексте, как и описываемая программа. Приложение Деоровица и Киуры основывается на правилах, моделирующих типичные орфографические ошибки. Пра- вила применяются к словам с ошибками таким образом, что входная строка, нахо- дящаяся где угодно в слове с ошибками, заменяется на выходную строку [2]. Каж- дой замене на новую строку присвоена стоимость. Если полученное после замены слово корректное, оно добавляется в спи- сок кандидатов. Если к слову применяется несколько правил – стоимость сумми- руется. После этого все кандидаты сорти- руются в порядке увеличения стоимости. Предполагается, что корректное слово с наименьшей стоимостью является наибо- лее вероятным кандидатом для исправле- ния слова с ошибкой. В программе Роджера Миттона [1] использовалась система ключей. Ключи являлись сжатыми версиями слов с ошиб- кой и слов из словаря, содержащих при- знаки, наиболее вероятно присутствующие как в слове с ошибкой, так и в оригинале. Ключи строились на основе определенных Інструментальні засоби та середовища програмування 36 правил. Миттоном создан алгоритм, кото- рый с помощью этих ключей позволял находить корректные слова. Для сортиров- ки кандидатов использовался метод мини- мального расстояния коррекции, суть ко- торого состояла в нахождении объема из- менений слова с ошибкой для достижения корректного слова из словаря. Для каждой операции коррекции (удаление или вставка буквы, замена одной буквы на другую, пе- рестановка смежных букв) определялась стоимость и вычислялась общая стоимость достижения корректного слова. Кроме этого данный метод был до- полнен методом простого совпадения букв, включающий подсчет несовпада- ющих букв и дополнительный штраф за несовпадение первой буквы. Чем выше ре- зультат, тем хуже совпадение. Также для дополнительной коррекции результата каждого кандидата использовалась частота использования слова (количество появле- ний в Британской Национальной Коллек- ции). Представление слов бинарными распределенными кодвекторами Бинарные распределенные код- вектора. Основным отличием описы- ваемой программы проверки орфографии от предыдущих программ [1, 2] является представление слов, а также методы про- верки. Для представления слов использо- вались распределенные бинарные разре- женные кодвектора. Распределенное представление ин- формации – форма векторного представ- ления, где каждый объект представлен со- вокупностью элементов вектора, а отдель- ный элемент вектора может принадлежать представлениям разных объектов [3]. Та- кие представления были внедрены в про- грамму проверки орфографии, чтобы ис- пользовать их достоинства для проверки корректности слов [3 – 6]. Ведь в самой их природе заложены свойства, позволяющие исправлять ошибки:  представление релевантных ас- пектов объектов как элементов многомер- ного вектора, что обеспечивает непосред- ственный доступ к ним;  непосредственное представление сходства – сходные объекты имеют сход- ные представления. Такое свойство можно использовать для быстрого извлечения по- хожих представлений из памяти, сравне- ния с прототипами и автоматического обобщения;  избыточное представление ин- формации, что приводит к способности работать в условиях шума, сбоев, и не- определенности. Это свойство позволяет производить коррекцию ошибок и восста- навливать информацию по частичному, зашумленному или частично правильному входу;  надежность и мягкая деградация: информация в представлении все еще до- ступна, когда части повреждены или от- сутствуют. Возможность представления многих объектов на одном множестве эле- ментов;  возможность вносить малые из- менения в содержимое представлений, позволяющая учитывать малые изменения значений и различать незначительные от- личия;  возможность использования ме- тодов, развитых в рамках таких направле- ний, как машинное обучение, линейные модели, распознавание образов и др.;  нейробиологическая релевант- ность. Кроме этого распределенные пред- ставления позволяют реализовать алго- ритмы проверки слов эффективным обра- зом за счет:  параллельности алгоритмов об- работки, что позволяет эффективную ап- паратную реализацию;  возможности использовать рас- пределенную память, позволяющую упро- стить процессы хранения и обобщения;  эффективного использования ре- сурсов (до 2 N разных состояний для N- мерных бинарных векторных РП). Представление слов неслучайны- ми кодвекторами. Ввод текста в компью- тер сопряжен с наличием возможности со- вершить ошибку. Задачей программы про- верки орфографии является выявление та- кой ошибки и ее исправление. Выделяют несколько видов ошибок [2]: Інструментальні засоби та середовища програмування 37  словарная некомпетентность;  опечатки – ошибки при печата- нии, такие как вставка лишней буквы, уда- ление буквы, замена одной буквы на дру- гую, перестановка двух смежных букв;  неправильное написание – такие ошибки появляются, когда произношение известно, но используются некорректные графемы (буквы представляющие фонемы) для представления фонем из слова (подоб- ные ошибки часто возникают в языках, в которых фонема представлена нескольки- ми графемами). Как известно, неправильное напи- сание слов более удалено от их оригина- лов, чем те ошибки, которые вызваны опе- чатками [1]. Если опечатки могут быть ис- правлены уже за счет свойств самих рас- пределенных представлений, то для более сложных ошибок (неправильное написание при известном произношении) представ- ление свойств фонем могло бы улучшить результаты. Однако, учитывая то, что на вход программы проверки орфографии бу- дет подаваться печатный текст, а не звуко- вая запись, безусловно, нельзя использо- вать все преимущества представления свойств фонем, так как в некоторых случа- ях фонема может быть представлена не- сколькими графемами, а графема в разных словах может означать разные фонемы. Несмотря на это, учитывая, что ча- ще всего буква соответствует звуку в уст- ной речи (хотя это и необязательно), мы можем использовать преимущество пред- ставления свойств фонем хотя бы частич- но. Для этого необходимо перенести свой- ства фонем на буквы, т. е. в большинстве своем при таком представлении, похожие графемы должны отображать похожие фо- немы. Такое отображение осуществлено с помощью таблиц соответствия графем фо- немам [7]. Учитывая это, в продолжение предыдущих исследований в области представления образов бинарными рас- пределенными кодвекторами, где для представления использовались случайные кодвекторы (для непохожих образов) [8], для данной программы проверки орфогра- фии использовались распределенные пред- ставления, формируемые на основе апри- орных знаний о задаче, а именно исполь- зуя данные о признаках фонем английско- го языка. Другими словами, для отображе- ния сходства букв и слов использовано не- случайное представление. Например, гра- фемы «ph» и графема «f» представляют одну и туже фонему /f/ [9]. Соответствен- но, слова, содержащие эти графемы, долж- ны иметь схожесть кодвекторов. Преимуществами неслучайного представления является то, что комбина- ции естественных признаков, повышают их дискриминационные свойства. При признаковом представлении каждый при- знак обычно характеризует не уникальный объект, а целый ряд объектов (одна и та же частота может быть включена в разные фонемы), а увеличение набора выделя- емых признаков позволяет более точно описывать конкретный объект. Кроме это- го, другим аргументом в пользу такого подхода является нейрофизиологическая релевантность. Как известно, связывание контекст- но-зависимым прореживанием обеспечи- вает сохранение информации о группиров- ке компонентов структур [6], а его рекур- сивное применение позволяет пред- ставлять сложные иерархические структу- ры. А для направленных отношений (т. е. когда важна последовательность их аргу- ментов) используются схемы роль-запол- нитель и предикат-аргументы. Однако в данной работе для учета последовательности букв, предложен дру- гой метод кодирование слов через коди- рования последовательности букв слова. Безусловно, важная характеристика слова – это последовательность букв в нем, а не только их совокупность. Так, сло- во «кот» имеет другой смысл, отличный от слова «ток», хотя буквы в них одинаковые и звучание схожее. Соответственно, им должны отвечать различные кодвектора, учитывающие различные последователь- ности букв в слове. Такие отношения вида R(A,B,...) (где R – идентификатор отноше- ния, A,B... – аргументы), у которых важна последовательность их аргументов, явля- ются направленными. Отличие слогов «от» от «то» с точ- ки зрения нейрофизиологии в том, что в Інструментальні засоби та середовища програмування 38 головном мозге возбуждаются разные ан- самбли нейронов. Учитывая это необхо- димо формировать различные кодвекторы для разных последовательностей одинако- вого набора букв. Учитывая этот факт, а также по аналогии с наличием «обратных связей» в нервной системе человека, в работе был предложен новый метод формирования кодвекторов таких отношений. Для этого использовалось кодиро- вание биграмм. Для каждой графемы вы- делено поле вектора. Это поле делилось на поля связей с другими буквами. Количе- ство таких полей равнялось количеству букв в алфавите. Таким образом, каждой биграмме присваивался уникальный код- вектор. Формирование кодвекторов проис- ходило таким образом, что единицы в век- торе располагались в виде концентриро- ванных групп – ансамблей (табл. 1 и 2). Таблица 1. Биграмма в слове Биграмма Слово, содержащее биграмму Bi Bit Таблица 2. Представление биграмм Позиция бита 1 … 1822 1823 … Кодвектор 0 … 0 1 … После того, как каждой биграмме был присвоен кодвектор, следующей зада- чей являлось формирование словаря, а именно бинарных кодвекторов, которые соответствовали бы словам. Для кодиро- вания слов вектора биграмм соединялись по дизъюнкции. При этом для построения слова использовались биграммы соседних букв в прямом направлении, а также все возможные варианты биграмм в обратном направлении, замыкая связи между буква- ми в круг. Например, в слове «came» по дизъ- юнкции объединялись вектора 9 биграмм (рис. 1): 3 прямых: «ca», «am», «me» (чер- ные стрелки) и 6 обратных (синие стрел- ки): «ac», «ma», «mc», «ec», «ea», «em». Рис. 1. Кодирование последовательности букв Кроме этого, чем дальше располо- жена в слове буква относительно второй буквы биграммы, тем меньше количество единиц в векторе этой биграммы. Таким образом, кодировалось относительное по- ложение букв в слове. Учитывая экспери- менты, проведенные ранее [10], размер кодвектора принят n = 18 000 (табл. 3). Таблица 3. Построение вектора слова с помощью дизъюнкции Буква Кодвектора биграмм / слова BI 0 … 0 0 0 … 0 0 IT 0 … 1 1 1 … 0 0 IB 0 … 0 0 0 … 1 0 TI 0 … 0 0 0 … 0 0 TB 0 … 0 0 0 … 0 1 BIT 0 … 1 1 1 … 1 1 Сравнение слов и поиск коррект- ного слова. После того, как формируется кодвектор слова, он записывается в файл, так называемый словарь. Для поиска код- векторов слов использовался метод поиска ближайших аналогов. Поиск наиболее близкого аналога в памяти сводится к нахождению (в памяти, где хранятся кодвекторы слов) кодвектора, наиболее похожего на входной. Поиск ближайших аналогов осу- ществляется по величине разницы пере- крытия единиц и разных битов их кодвек- торов из базы Xl с кодвектором входного аналога Xвх:       ,,,maxarg ,1 * X lX вxZX lX вxVLlxвхl  с a m e Інструментальні засоби та середовища програмування 39 где l = 1, L – индекс кодвектора в базе; L – число аналогов (эпизодов, слов и т. п.) в БЗ; V(.,.) – величина перекрытия кодвекто- ров; Z(.,.) – количество отличающихся би- тов кодвекторов. В задаче поиска ближайших анало- гов для нахождения величины сходства кодвекторов применен метод обратного индексирования [11]. Таким образом, для каждого канди- дата (вектора из словаря) вычисляется ве- личины сходства, на основе которых век- тора-кандидаты можно упорядочить. Определение величин сходства входного кодвектора с кодвекторами L эпизодов ба- зы (слов) осуществляется путем формиро- вания выходного L-мерного вектора сходств s, элементы которого – величины сходства. Элементы вектора s формируют- ся следующим путем: а) в его элементы прибавляются единицы для номеров кодвекторов базы, содержащихся в строках, соответствую- щих ненулевым элементам входного код- вектора – X вх; б) итоговое значение каждого эле- мента рассчитывается по формуле: ,*3 X lX lV ll  где |Xвх| – количество единиц во входом векторе; |Xl| – количество единиц в код- векторе эпизода базы; Vl – величина пе- рекрытия кодвекторов. Вектор с наиболь- шей величиной сходства должен быть наиболее подходящим кандидатом и со- ответственно, вектором слова, которое тре- бовалось найти. Для дальнейшего сравне- ния с другими системами формировался список из 10-и наиболее похожих век- торов-кандидатов на входной. Результаты экспериментов Два набора слов, содержащих ре- альные орфографические ошибки, которые использовались для экспериментов: aspell и wikipedia. Тестовые данные – это про- стой список слов с ошибками и соответ- ствующих им корректных слов. Первая база – aspell – это коллекция ошибок, ко- торые сложно корректируются, которая использовалась для тестирования GNU Aspell программы проверки орфографии [12]. Она содержит 525 слов с ошибками – как опечатки (olf для old), так и непра- вильное написание (funetic для phonetic). Другая база – Wikipedia – это набор типичных орфографических ошибок, кото- рые сделали пользователи Википедии. Эта база больше, она содержит в основном опечатки или незначительные ошибки [13]. Для сравнения мы использовали формат базы, который переписан Митто- ном (табл. 4) [1]. Таблица 4. Выдержка из базы ошибок «Wikipedia» $Apennines Apenines Appenines $Athenian Athenean $Athenians Atheneans $Bernoulli Bernouilli $Blitzkrieg Blitzkreig $Brazilian Brasillian Данная база содержит 2455 ошибок. Корректные формы слов переписаны Мит- тоном согласно Британского английского языка. Как и у Деоровица с Киурой и у Миттона, ошибки, корректные формы ко- торых не содержал словарь, исключались из анализа. Для вычисления значений лучших кандидатов, использовалась следующая формула, определяющая точность опреде- ления корректных слов-кандидатов: %,100 t t t nnTop где nt – найденные корректные слова, ко- торые содержит список из n слов-канди- датов, tt – количество слов с ошибками в базе, для 1 ≤ n ≤ 10. Пример найденного списка наибо- лее подходящих кандидатов приведен в табл. 5: Інструментальні засоби та середовища програмування 40 Таблица 5. Слова – кандидаты Входное слово с ошибкой Слова – кандидаты в порядке убывания величины сходства Корректн ое слово из базы «Aspell» Abilitey Ability, liability, viability, affability, stability, inability, abilities, tenability, amiability, habitability. Ability Beging Begging, begin, beginning, begins, egging, beginner, beggings, pegging, besieging, began. Beginning Сравнения результатов нескольких программ обработки орфографии приведе- ны в табл. 6 и 7. Таблица 6. Сравнение результатов программ проверки орфографии (база aspell) aspell Деоровиц и Киура aspell Митто н aspell (эта программ а) First 66,3% 71,1% 58,6% Top two 75,5% 83,2% 69,7% Top three 79,6% 88,6% 77,7% Top five 83,6% 91,4% 82,4% Top ten 85,5% 94,4% 88,9% Total = 100% 511 499 488 Таблица 7. Сравнение результатов программ проверки орфографии (база wikipedia) wikipedia Деоровиц и Киура wikipedi a Миттон wikipedia (эта программ а) First 94,1% 92,9% 80,0% Top two 97,4% 97,2% 89,4% Top three 98,3% 97,9% 92,8% Top five 98,9% 98,6% 95,7% Top ten 99,0% 99,0% 97,5% Total = 100% 2196 2154 2284 Из табл. 6 видно, что для набора слов aspell частота попадания правильного слова в десятку первых кандидатов у предложенного метода лучше, чем у Део- ровица и несколько хуже, чем у Миттона. Для словаря Wikipedia этот показатель так- же довольно близок показателям срав- ниваемых программ. Несколько хуже в сравнении результаты работы рассматри- ваемой программы для правильного слова – первого кандидата, однако необходимо учесть, что в данном подходе не разраба- тывались специальные правила для кон- кретных языков, а использовались суще- ствующие методы на основе бинарных распределенных представлений. Дальней- шего улучшения результатов можно ожи- дать при внедрении в анализ синтаксиса предложения и семантики. Именно в этом направлении будет развиваться дальней- шая работа. Заключение В данной работе предложен подход к проверке орфографии на основе распре- деленных представлений. Для этого создан словарь разреженных бинарных распреде- ленных векторов для каждого слова ан- глийского языка. Как проверка корректности слова, так и его коррекция в случае, если в нем есть ошибки, зависят от размера сло- варя. Объем словаря, который использо- вался в данной работе – 58112 слов. Для коррекции слова необходимо вычислить количество общих единиц вектора входя- щего слова с каждым вектором словаря с помощью метода обратного индексиро- вания. Некоторые программы предполага- ют, что первая буква слова с ошибкой корректна, что, как правило, так и есть [14], при этом они ограничивают поиск словами, которые начинаются с той же буквы, что и слово с ошибкой. Однако в данной работе поиск происходит по всем словам словаря. Программа проверки орфографии на основе распределенных представлений может использоваться для любых язы- ков. При чем, если у других программ проверки орфографии необходимо собрать набор корректных слов и создавать новый Інструментальні засоби та середовища програмування 41 набор правил замен [2] или отдельно адап- тировать под каждый язык [1], то в дан- ной программе достаточно присвоить век- тора буквам алфавита (только новым графемам) и в автоматическом режиме изучить (присвоить бинарные вектора сло- вам словаря) лексикон. Другими словами фактически отсутствует необходимость или необходима минимальная адаптация к другим языкам. Еще одним преимуществом по срав- нению с другими программами проверки орфографии является то, что у них правила или методы подгоняются под конкретные множества ошибок, т. е. существует те- стовое множество, на котором эти методы тестируются. В нашей программе тестовое множество ошибок не используется, а кор- рекция происходит на основе пред- ставления содержимого словаря и методов обработки бинарных распределенных век- торов. В отличие от других программ про- верки орфографии пользователи данной программы могут расширить лексикон или вовсе использовать свой собствен- ный. Например, с лексиконом ADFA, ко- торый использует Деоровиц [2], это не- возможно. Как известно, неправильное написа- ние слов орфографически более удалено от их оригиналов [1], чем те ошибки, которые вызваны опечатками. В таких случаях час- то правильные фонемы заменяются на бли- зкие по звучанию. Вышеописанное пред- ставление слов позволяет учесть в какой- то мере схожесть фонем, а значит, имеет больше шансов исправить более сложные ошибки, которые возникают вследствие того, что кто-либо не уверен в написании или произношении слова. Кроме того, в распределенном пред- ставлении слов, а также благодаря методам связывания букв существует аналогия с некоторыми правилами, которые специ- ально разрабатывались в других програм- мах распознавания орфографии. Напри- мер, алгоритм Миттона [1] предполагает, что для ранжирования кандидатов подсчи- тываются количество несовпадающих букв и пар букв. В данной программе также век- тора слов включают вектора биграмм, а сумма сравнение векторов учитывает как совпадающие единицы векторов, так и те, которые не совпадают. Соответственно, чем больше совпадающих букв и чем меньше несовпадающих букв, тем более похоже слово. Результаты, описанные в данной статье, показывают возможность приме- нить распределенные представления для исправления орфографических ошибок в словах, а также при этом получить ка- чественные результаты. Однако, недоста- ток такой системы – это обработка изо- лированных слов. Тем не менее, в даль- нейшем возможности таких программ можно расширить, внедряя в такие векто- ра слов синтаксические и семантические признаки. Причем в данном случае такие признаки могут помочь в улучшении как выбора круга наиболее вероятных канди- датов, так и в их более корректном ранжи- ровании. 1. Roger Mitton. Ordering the suggestions of a spellchecker without using context // Natural Language Engineering, 2009. – 15 (2). – P. 173–192. 2. Sebastian Deorowicz, Marcin G. Ciura. Cor- recting Spelling Errors by Modeling their Causes // International Journal of Applied Mathematics and Computer Science, 2005. – 12(2). – P. 275–285. 3. Thorpe S. Localized Versus Distributed Rep- resentations // Arbib M. The Handbook of Brain Theory and Neural Networks. – Cam- bridge, MA: MIT Press, 2003. – P. 643–646. 4. Browne A., Sun R. Connectionist Inference Models // Neural Networks. – 2001. – Vol. 14, N 10. – P. 1331–1355. 5. Eliasmith C., Thagard P. Integrating Structure and Meaning: A Distributed Model of Ana- logical Mapping // Cognitive Science. – 2001. – Vol. 25, N 2. – P. 245–286. 6. Rachkovskij D.A. Representation and Pro- cessing of Structures with Binary Sparse Dis- tributed Codes // IEEE Transactions on Knowledge and Data Engineering. – 2001. – Vol. 13, N 2. – P. 261–276. 7. Letters and Sounds: Principles and Practice of High Quality Phonics Notes of Guidance for Practitioners and Teachers Andrew Adonis Rt Hon Beverly Hughes 11 May 2010. Availa- ble at http://www.education.gov.uk/ http://www.education.gov.uk/ Інструментальні засоби та середовища програмування 42 8. Rachkovskij D.A., Kussul E.M. Binding and Normalization of Binary Sparse Distributed Representations by Context-Dependent Thin- ning // Neural Computation. – 2001. – Vol. 13, N 2. – P. 411–452. 9. Nima Mesgarani, Stephen David, Shihab Shamma. «Representation of phonemes in primary auditory cortex: how the brain ana- lyzes speech», Electrical and Computer Engi- neering Department University of Maryland, College Park, MD 20742, ICASSP, 2007. 10. Rachkovskij D.A., Slipchenko S.V. Similarity- Based Retrieval with Structure-Sensitive Sparse Binary Distributed Representations // Computational Intelligence. –2012. – Vol. 28, N 1. – P. 106–129. 11. Слипченко С.В., Рачковский Д.А., Мисуно И.С. Декодирование разреженных бинар- ных распределенных кодов скалярных и векторных величин // Компьютерная мате- матика. – 2005. – № 3. – С. 108–120. 12. Atkinson K.: Spell Checker Test Kernel Re- sults – 2011. – Available at http://aspell.net/test/cur/ 13. Wikipedia Corpora of misspellings. – Availa- ble at http://www.dcs.bbk.ac.uk/~roger/wikipedia.dat. 14. Yannakoudakis E.J. and Fawthrop D. The rules of spelling errors // Information Pro- cessing and Management. – 1983. – N 19(2). – P. 87–99. Получено 18.02.2013 Об авторе: Омельченко Руслан Сергеевич, аспирант. Место работы автора: МННЦІTіС, (067) 378 4552, E-mail: ruslan.omelchenko.irtcits@gmail.com. http://www.mendeley.com/profiles/serge-slipchenko/ http://aspell.net/test/cur/ http://www.dcs.bbk.ac.uk/~roger/wikipedia.dat