Индивидуальные задания по информатикеРефераты >> Программирование и компьютеры >> Индивидуальные задания по информатике
ЧАСТЬ 2. АВТОКОРРЕКЦИЯ ТЕКСТА
ВВЕДЕНИЕ
Программы автоматического обнаружения и исправления ошибок в текстах на естественных языках (назовем их автокорректорами - АК, хотя терминология ещё не сложилась) получают все большее распространение. Они используются, в частности, в пакетах WINWORD и EXCEL для проверки орфографии текстовой информации.
Говоря точнее, АК производят автоматически лишь обнаружение ошибок, а собственно коррекция ведется обычно при участии человека.
В высокофлективных языках, к которым относятся, в частности, все славянские, от одной основы могут образовываться до нескольких сот различных словоформ. Вэтих условиях в АК неизбежны средства морфологического анализа той или иной сложности, а непосредственное использование западных АК и перенос методов их работына неанглоязычные тексты едва ли даст удовлетворительные результаты, если исключить метод "грубой силы" - неограниченное наращивание объема оперативной памяти (ОП) и быстродействия ЭВМ.
1. Теоретическая часть
1.1. Методы обнаружения ошибок
Известны, покрайней мере, три метода автоматизированного обнаружения орфографических ошибок в текстах - статистический, полиграммный и словарный.
При статистическом методе из текста одна за другой выделяются составляющие его словоформы, а их перечень по ходу проверки упорядочивается согласно частоте встречаемости. По завершении просмотра текста упорядоченный перечень предъявляется человеку для контроля, например, через экран дисплея. Орографические ошибки и описки в сколь-нибудь грамотном тексте несистематичны и редки, так что искаженные ими слова оказываются где-то в конце перечня. Заметив их здесь, контролирующее лицо может автоматизированно найти их в тексте и исправить.
При полиграммном методе все встречающиеся в тексте двух- или трехбуквенные сочетания (биграммы и триграммы) проверяются по таблице их допустимости в данном естественном языке. Если в словоформе не содержится недопустимых полиграмм, она считается правильной, а иначе - сомнительной, и тогда предъявляется человеку для визуального контроля и, если нужно, исправления.
При словарном методе все входящие в текст словоформы, после упорядочения или без него, в своем исходном текстовом виде или после морфологического анализа, сравниваются с содержимым заранее составленного машинного словаря. Если словарь такую словоформу допускает, она считается правильной, а иначе предъявляется контролеру. Он может оставить слово как есть; оставить его и вставить в словарь, так что далее в сеансе подобное слово будет опознаваться системой без замечаний; заменить (исправить) слово в данном месте; потребовать подобных замен по всем дальнейшему тексту; отредактировать слово вместе с его окружением. Операции над сомнительным участком текста, указанные или иные возможные, могут комбинироваться исходя из замысла проектировщика АК.
Результаты неоднократных исследований показали, что только словарный метод экономит труд человека и ведет к минимуму ошибочных действий обоих родов - пропуска текстовых ошибок, с одной стороны, и отнесения правильных слов к сомнительным, с другой. Поэтому словарный метод стал доминирующим, хотя полиграммный метод иногда и применяют как вспомогательный.
1.2. Автоматизация процесса исправления
Можно предложить три степени автоматизации процесса коррекции текста:
1) только обнаружение ошибок,
2) обнаружение их и выдвижение гипотез (альтернатив, кандидатов) по исправлению;
3) обнаружение ошибок, выдвижение гипотез и принятие одной из них (если хотя бы одна выдвинута системой) в качестве автоматически вносимого исправления.
Без первой степени АК немыслим.
Вторая и третья степень возможны только при словарном методе. Уже вторая существенно облегчает внесение исправлений, ибо в большинстве случаев исключает перенабор сомнительного слова. Особенно полезны найденные альтернативы, когда контролирующее текст лицо нетвердо знает данный естественный язык или конкретную терминологическую область. Однако выдвижение гипотез требует больших переборов с поиском по словарю. Поэтому современные АК часто имеют средство выдвижения гипотез лишь в качестве факультативного, запускаемого, если требуется, избирательно для данного сомнительного слова.
Третья степень автоматизации заманчива и одновременно опасна. Заманчивость заключается в полной автоматизации процесса исправления. Опасность же в том, что ни один словарь, в том числе - заключенный в человеческом мозгу, никогда не бывает исчерпывающе полным. Когда незнакомое слово встречает система, основанная на неполном словаре, она может "исправить" его на ближайшее ей знакомое, порой резко исказив исходный смысл текста. Особо опасно править собственныеимена лиц, фирм, изделий, Заманчиво уметь пропускать (обходить) собственные имена и сугубо специальные термины, априори полагая их правильными, но безошибочные способы обхода, особенно - терминов,нам не известны.
Чисто автоматическому исправлению мог бы способствовать автоматический синтаксический и семантический анализ проверяемого текста, но он ещё не стал принадлежностью обычных АК. И даже при его наличии лишь человек сможет диагностировать быстро меняющиеся совокупности собственных имен, терминов и аббревиатур, а также окказионализмы - случайно появляющиеся словесные новации.
В связи со сказанным полная автоматизация исправлений может применяться лишь в любом из следующих ограничительных условий:
I) Текст имеет вид перечня терминов и терминологических словосочетаний в стандартной их форме, так что в АК достаточно иметь словарь, замкнутый по объему и проблематике. При этом все термины между собой "непохожи" (например, в словаре нет одновременно АДСОРБЦИЯ и АБСОРБЦИЯ).
2) Ошибки носят характер замены кодов исходных букв на коды литер, совпадающихили близких к исходным по начертанию. Например, заменяются коды ASCII русских букв А, В, С, Е, У на коды латинских буквА, В, С, Е, У; латинские буквы I и 0 - на цифры I и 0 и т.п. Сюда же отнесем повторы одной и той же литеры, возникающие из-за продленного нажима клавиши дисплея или его неисправности. В подавляющем большинстве, если в словоформе более 2 -3 букв, такиеисправления абсолютно правильны.
1.3. Диалоговый и пакетный режимы
Возможны, в общем случае, два режима работы АК: диалоговый, когда текст проверяется слово за словом и пользователю предоставляется возможность снять очередное затруднение по мере его возникновения, и пакетный, когда готовые большие тексты анализируются в отсутствии пользователя.
Во втором случае ненайденные словоформы либо как-то отмечаются в исходном тексте, либо запоминаются отдельно в виде своих адресов (в качестве адреса может использоваться, например, номер строки и номер символа, с которого начинается слово, в строке). Подобная проверка ведется до конца проверяемого файла без вмешательства человека. Далее файл вызывается снова и предъявляется для контроля тех строк, где былизамечены сомнительные слова.