Смекни!
smekni.com

Основные способы обработки большого количества текстовой информации (стр. 3 из 6)

часть часть часть

После складывания:

731- средняя часть

462 - левая часть, «завернутая» по месту стыка со средней частью

861 - правая «завернутая» часть.

После сложения совпавших цифр (сложение идет до достижения значения цифры): (7+4+8)(3+6+6)(1+2+1) = (19)(15)(4) = (1+9)(1+5)(4) = (10)(6)(4) = (1+0)(6)(4) = 164

Таким образом, относительный адрес для ключа КОМПЬЮТЕР, полученный вторым способом, равен 164,

- метод деления. Числовое значение ключа делится на количество адресов памяти, в которой размещается список. Остаток от деления – относительный адрес. Например, для ключа 264731168 и для числа адресов 989 (999 – 10) остаток от деления равен 593. Это и есть относительный адрес для ключа КОМПЬЮТЕР,

- метод сдвига. Числовое значение ключа делится на две равные части, которые смещаются друг навстречу другу так, чтобы общее число разрядов стало равно порядку адресов памяти. Совпавшие разряды складываются. Например, для ключа 264731168 и для тех же адресов:

02647[1] 31168

левая правая

часть часть


направление движения

правой и левой частей числа

02647 после сдвига

31168

3 3 7 (10)(15) = 337(1+0)(1+5)=33716

Поскольку полученное число имеет порядок, больший трех, процедура сдвига повторяется:

033 716

левая часть правая часть

033 после сдвига

749 – конечный результат – относительный адрес для ключа КОМПЬЮТЕР.

Очевидно, и этот этап дает потерю информации.

3) вычисление абсолютного адреса. Исходная информация – диапазон изменения относительных адресов (очевидно, от 0 до 999) и адреса размещения элементов списка в памяти (напомним, что список занимает кластеры с адресами от 10 до 999). Тогда абсолютный адрес для элементов списка получается по формуле:

<начальный адрес размещения списка> + <относительный адрес элемента> * const,

где const – константа, получаемая по формуле:

число доступных адресов / максимальный относительный адрес, причем число доступных адресов – разность между максимальным и минимальным адресами размещения списка в памяти.

Для нашего случая const = 989 / 999 = 0,989

Тогда, например, для относительного адреса 199 абсолютный адрес (читай – номер кластера) равен 10 + 199*0,989 = 10+197 = 207.

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

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

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

ВВЕДЕНИЕ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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