К3
Лингвистический процессор может решать две задачи,
имеющие отношение к связности:
·
Задача анализа. В этом случае
целью является выявление всех связей между предложениями некоторого текста.
·
Задача синтеза. Цель этой задачи -
построение текста, описывающего некоторый фрагмент внешней среды с сохранением
связей между объектами.
Далее будет рассмотрен алгоритм решения задачи
анализа.
Перед тем как описывать алгоритм программной
реализации задачи анализа, необходимо сделать одно замечание. Для качественного
решения задачи требуется наличие достаточно обширной базы данных, в которой
хранились бы сведения о различных морфологических представлениях слов, а также,
для еще более полной картины, соответствия между словами-синонимами. В данной работе
задача реализации такой базы данных не рассматривается. Описываемый алгоритм
определяет связи в тексте только путем поиска повторяющихся слов.
Работа алгоритма происходит в следующей последовательности:
1.
Предварительный анализ текста с
целью разбиения его на отдельные предложения. Предложение считается
законченным, как только обнаружена точка, причем за точкой следует либо большая
буква, либо ничего, если конец предложения одновременно является концом текста.
2.
Анализ предложений с целью
выделения отдельных слов. Предполагается, что слова разделяются пробелами или
другими символами-разделителями.
3.
Создание двумерного массива, в
котором одна координата определяет порядковый номер предложения, а другая -
порядковый номер слова в этом предложении.
4.
Поиск связей для каждого слова
текста. Этот поиск происходит в цикле и состоит из таких этапов:
a)
чтение следующего слова и его
проверка. Слова длиной меньше трех символов не анализируются, чтобы исключить
ошибочные связи по союзам, предлогам и т.п.;
b)
поиск в тексте слов, у которых
совпадает с данным словом не менее 3 первых символов и не менее 3/4 от
его длины. Таким образом учитывается возможность наличия у повторяющихся слов
разных окончаний. Можно также ограничивать глубину поиска, т. е. количество
предложений после текущего, в которых необходимо искать связи. Если производить
поиск только в одном следующем предложении, то будут найдены только связи по
схеме (1);
c)
запоминание координат найденных
связей в массиве. При этом создается таблица, в которой вводится запись для
каждого набора координат. Если работать только по схеме (1), то эти записи
будут представлять собой пары.
5.
По окончании цикла может быть
построена схема, демонстрирующая все связи в тексте.
6.
Возможно также произвести
разбиение текста на абзацы: началом нового абзаца считается предложение, в
котором нет ни одной связи с каким-либо из слов предыдущей части текста.
Алгоритм не дает гарантии правильности полученного
результата. В частности, возможны следующие ошибки:
· нахождение несуществующих связей по вспомогательным
частям речи;
· нахождение несуществующих связей по сходным в
написании, но не однокоренным словам;
· потеря связей по коротким словам.
Похожие работы на - Связность текстовой информации
|