Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


ЧАСТЬ 2. АВТОКОРРЕКЦИЯ ТЕКСТА



ВВЕДЕНИЕ

Программы автоматического обнаружения и исправления оши­бок в текстах на естественных языках (назовем их автокорректорами - АК, хотя терминология ещё не сложилась) получают все большее распространение. Они используются, в частности, в пакетах WINWORD и EXCEL для проверки орфографии текстовой информации.

Говоря точнее, АК производят автоматически лишь обнару­жение ошибок, а собственно коррекция ведется обычно при участии человека.

Теоретическая часть

Методы обнаружения ошибок

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

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

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

При словарном методе все входящие в текст словоформы, пос­ле упорядочения или без него, в своем исходном текстовом виде или после морфологического анализа, сравниваются с содержимым заранее составленного машинного словаря. Если словарь такую словоформу допускает, она считается правильной, а иначе предъявляется контролеру. Он может оставить слово как есть; оставить его и вставить в словарь, так что далее в сеансе подобное сло­во будет опознаваться системой без замечаний; заменить (испра­вить) слово в данном месте; потребовать подобных замен по всем дальнейшему тексту; отредактировать слово вместе с его окруже­нием. Операции над сомнительным участком текста, указанные или иные возможные, могут комбинироваться исходя из замысла проек­тировщика АК.

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

Автоматизация процесса исправления

Можно предложить три степени автоматизации процесса кор­рекции текста:

1) только обнаружение ошибок,

2) обнаружение их и выдвижение гипотез (альтернатив, кандидатов) по исправлению;

3) обнаружение ошибок, выдвижение гипотез и принятие од­ной из них (если хотя бы одна выдвинута системой) в качестве автоматически вносимого исправления.

Без первой степени АК немыслим.

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

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

Чисто автоматическому исправлению мог бы способствовать автоматический синтаксический и семантический анализ проверяе­мого текста, но он ещё не стал принадлежностью обычных АК. И даже при его наличии лишь человек сможет диагностировать быст­ро меняющиеся совокупности собственных имен, терминов и аббре­виатур, а также окказионализмы - случайно появляющиеся словес­ные новации.

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

I) Текст имеет вид перечня терминов и терминологических словосочетаний в стандартной их форме, так что в АК достаточно иметь словарь, замкнутый по объему и проблематике. При этом все термины между собой " непохожи" (например, в словаре нет одновременно АДСОРБЦИЯ и АБСОРБЦИЯ).

2) Ошибки носят характер замены кодов исходных букв на коды литер, совпадающихили близких к исходным по начертанию. Например, заменяются коды ASCII русских букв А, В, С, Е, У на коды латинских буквА, В, С, Е, У; латинские буквы I и 0 - на цифры I и 0 и т.п. Сюда же отне­сем повторы одной и той же литеры, возникающие из-за продлен­ного нажима клавиши дисплея или его неисправности. В подавляющем большинстве, если в словоформе более 2 -3 букв, такиеисправления абсолютно правильны.

Диалоговый и пакетный режимы

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

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

Выводы по части 2.

В высокофлективных языках, к которым относятся, в част­ности, все славянские, от одной основы могут образовываться до нескольких сот различных словоформ. Вэтих условиях в АК неизбеж­ны средства морфологического анализа той или иной сложности, а непосредственное использование западных АК и перенос методов их работына неанглоязычные тексты едва ли даст удовлетворительные результаты, если исключить метод " грубой силы" - неограниченное наращивание объема оперативной памяти (ОП) и быстродействия ЭВМ.

ЧАСТЬ 3. СЖАТИЕ ИНФОРМАЦИИ

ВВЕДЕНИЕ

Объектами сжатия являются:

- числовые данные,

- упорядоченные текстовые данные (словари),

- специальные тексты на формализованных языках,

- естественно-языковые тексты общего вида,

- структурированные данные.

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

Теоретическая часть

Сжатие числовых данных

Наиболее распространены методы: разностное кодирование, кодирование повторений и подавление незначащих нулей.

Суть разностного кодирования заключается в хранении вмес­то абсолютных значений разностей двух смежных чисел или отк­лонения чисел от их среднего значения. Например, для последо­вательности чисел 2, 14, 18, 27, 34 первый способ даст после­довательность 2, 12, 4, 9, 7. Второй способ порождает последо­вательность: -17, -5, -1, 8, 15 (среднее значение для исходной последовательности - 19).

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

Кодирование повторений заключается в замене цепочки оди­наковых символов кодом этого числа и числом повторений. Напри­мер, для последовательности 5555 6666 888888 применение этого способа даст последовательность 5(4) 6(4) 8(6).

Подавление незначащих нулей означает отбрасывание незнача­щих нулей в старших разрядах целой части числа и в младших разрядах дробной части. Например, применение этого спо­соба сжатия к последовательности 0010 01, 100 011 011 даст после­довательность: 10 1, 1 11 11.

Сжатие словарей

Под словарями понимают списки неповторяющихся цепочек сим­волов в алфавитном или ином строгом порядке. Такой словарь мож­но рассматривать как монотонную последовательность чисел и для его сжатия применять метод разностного кодирования (см. п.1.1). Здесь он заключается в отбрасывании у каждого слова начальных букв, совпадающих с начальными символами предыдущего слова и замене их на число отброшенных букв. Например, словарь:

вычислитель

вычислительный

вычислять

в результате рассматриваемого способа кодирования будет заме­нен словарем:

вычислитель

11ный

6ять.

Такой метод, однако, неудобен тем, что при декодировании любого конкретного слова требуется последовательно декодировать все предшествующие слова. Поэтому порой используются отдельные перечни наиболее часто встречающихся частей слов (суффиксы, префиксы), где каждой из них ставится в соответствие более ко­роткий код, заменяющий её в словаре. Например, словарь:

встречающийся

заменяющий

с помощью этого способа сжатия заменится на совокупность сло­варей:

основной                                                                  вспомогательный

встреча1ся                                                    1- ющий

заменя1

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

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

Сжатие специальных текстов

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

Для данного типа информации пригодны методы, описанные в п. 1.5. В то же время специфика этих текстов позволяет осуще­ствить экономное хранение, основанное на выделении длинных часто повторяющихся фрагментов. Например, текст Фортран-прог­раммы:

ТYРЕ *, ’ФОРТРАН’

ТYРЕ *, ’ПРОГРАММА'

может быть представлен с использованием кодового словаря:

программа                                                    словарь

1, 'ФОРТРАН'                                                  1 - ТУРЕ *

1, 'ПРОГРАММА'


Поделиться:



Последнее изменение этой страницы: 2019-10-03; Просмотров: 146; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.021 с.)
Главная | Случайная страница | Обратная связь