Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Поиск документов на основе построения




Терминологического базиса

 

В основе предлагаемого авторами подхода лежат две идеи:

- использование возможностей SQL-запросов применительно к реляционным базам данных при осуществлении поиска;

- описание любого текста посредством предметного указателя (мы избегаем здесь использования английского аналога термина «предметный указатель» – index, чтобы это не вызывало ассоциации со структурами хранения информации во внешней памяти).

Первая идея предполагает, что необходимая для поиска информация о документе должна содержаться в базе данных. Это дает возможность использовать средства СУБД, связанные с индексированием таблиц и оптимизацией запросов, что в идеале должно обеспечить оптимальную скорость выполнения последних.

Вторая идея связана с вопросом о том, чтό следует хранить в базе данных, а точнее – в полях таблицы базы данных. Современные серверы БД практически не ограничивают объемы информации, которую можно записать в поле таблицы базы данных. Так, например, СУБД IBM DB2 Universal DataBase позволяет хранить неструктурированные текстовые документы объемом до 2 Гбайт [1]. Однако такими возможностями обладают далеко не все СУБД. Кроме того, для эффективного поиска в таких полях необходимы вспомогательные структуры хранения данных, построение которых берет на себя СУБД. Эти структуры могут находиться как в базе данных, так и в файловой системе.

Будем исходить из того, что необходимость хранить документы в базе данных отсутствует. Достаточно хранить только ссылки (URL) на документы (здесь, конечно, могут возникнуть непринципиальные в рассматриваемом контексте проблемы, связанные с изменением местоположения документов). Также будем считать неэффективным сохранение в базе данных всего словарного множества документа, предлагаемое в [2; 94], отдавая предпочтение простоте реализации и быстродействию алгоритма индексирования, с помощью которого определяются наиболее часто используемые слова.

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

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

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

Структура такой поисковой словарной базы должна обеспечить не только быстрый, но и релевантный поиск. Релевантность обусловлена еще и тем, что при формировании терминологического словарного базиса конкретного документа сохраняется не только сам термин, но и частота его вхождения в документ. Поэтому при выполнении поиска его результаты можно упорядочить по частоте вхождения искомого термина в документ. Кроме того, можно ввести некоторое пороговое значение f (например, f > 1), которое должно использоваться в качестве критерия отбора записей в поисковом запросе, причем это не потребует дополнительных затрат времени. Основные временные затраты придутся не на поиск, а на предобработку документа, т. е. формирование предметного указателя, что осуществляется не в реальном времени выполнения запроса, а только один раз при регистрации документа в системе.

Чтобы сформировать терминологический базис данных, требуется решить следующие задачи:

- определить часть речи слова в документе (морфологический анализ);

- выяснить, что является составным термином (синтаксический анализ). Предполагается, что простым термином является существительное. С составным же термином дело обстоит сложнее, поскольку нужен достоверный критерий того, какая последовательность слов является терминологически связанной;

- как хранить термин, чтобы слова с разными падежными (личными) окончаниями записывались в базу данных один раз. Заметим, что эта же проблема должна решаться и при поиске. Например, запрос на поиск слова «программа» должен учесть также и слова «программе», «программы», «программах» и т. д.

Морфологический анализ можно реализовать, оценивая окончания слов в документе [3; 12]. Для неоднозначно трактуемых слов можно использовать специальную таблицу в БД с атрибутами «слово» и «часть речи» и при анализе просматривать сначала ее, а затем (если слова там нет) выполнять оценку по окончанию слова. В этой же таблице будут находиться и незначительное число слов, принадлежащих неизменяемым частям речи, таким как междометие, наречие и т. п.

При выявлении составных терминов мы исходим из следующих предположений:

- термин должен находиться между знаками препинания;

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

- составной термин должен включать в себя существительное;

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

Эти предположения можно реализовать с помощью следующего алгоритма формирования терминологического базиса данных.

На первом шаге выполняется создание поискового образа документа из копии исходного [3; 10]. Поисковой образ документа – это информационное наполнение документа, в котором уже не содержится междометий, вводных и служебных слов и т. д. При этом исключаемые слова, если они не находятся в начале или конце предложения, заменяются в ПОД некоторым разделительным символом для дальнейшего выявления многословных терминов. Для всех исключаемых слов можно использовать один и тот же символ (например, запятую), чтобы упростить синтаксический анализ.

На втором шаге анализируются фрагменты текста между разделительными символами и извлекаются любые последовательности слов, среди которых есть существительное. Эти последовательности заносятся в таблицу Term (термин). Одновременно с этим можно формировать таблицу TermInDoc (термин в документе), в которой, помимо идентификатора термина (внешний ключ), в поле freq будет подсчитываться частота вхождения термина в документ (рис. 2.4). Заметим, что на основе морфологического анализа в таблицу Term заносятся лишь основы слов (PhraseBase), составляющих термин, т. е. всем терминам, отличающимся только падежными окончаниями, соответствует одна запись в этой таблице.

 
 


 

Рис. 2.4. Логическая схема базы данных поисковой системы

Дадим некоторые пояснения к ER-диаграмме (в нотации IDEF1X), представленной на рис. 2.4. Идентификатор связи Р между таблицами Document и TermInDoc имеет значение «один или более», т. е. любой документ должен содержать термины. Это означает, что при регистрации документа в БД всегда должно выполняться построение его терминологического базиса. Если (что маловероятно) при анализе документа термины обнаружены не будут, то данный документ просто не следует включать в БД.

Каждый конкретный термин из таблицы Term может содержаться в любом количестве документов. Допустимо также его отсутствие в таблице TermInDoc. Такая ситуация возможна в следующих случаях:

- когда частота вхождения термина в документы ниже выбранного порогового значения;

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

Атрибут DocRef в таблице Document содержит ссылку на местоположение оригинала документа в файловой системе или сети.

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

Пороговое значение можно подобрать эмпирически. В этом случае оно представляет собой постоянную величину (например, единицу). Недостатком постоянного порогового значения является то, что в небольших документах может вообще не оказаться терминов с частотой выше порогового значения. Однако нельзя сказать, что такие документы вообще не несут никакой информации. Найти выход можно с помощью переменного порогового значения, предложенного в интервале между максимальной и минимальной частотой терминов в данном документе. Такое пороговое значение будет являться характеристикой документа. Кроме того, можно определить пороговое значение для совокупности документов [3; 7; 12].

При поиске проверяется только наличие термина (терминов) в таблице TermInDoc. Результатом выполнения запроса будет список документов, содержащих образец поиска, который действительно адекватно их характеризует, чем, как нам представляется, и обеспечивается высокий уровень релевантности.

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

Естественно, что при данном подходе ответ будет получен не на любые запросы, например в случае если образец поиска будет содержать только исключаемые из ПОД слова. Но, с другой стороны, какой смысл имеет поиск документов по словам «например» или «следовательно»? Кроме того, учет таких слов может привести к ошибочному выполнению запроса.

В качестве примера рассмотрим поиск по словам «можно» и «термин». Если поиск ведется по вхождению в документ хотя бы одного из двух терминов, то возможно, что полученный список весь будет состоять из документов, содержащих слово «можно» (причем с достаточно высокой частотой вхождения) и не содержащих слово «термин». Если же критерий поиска построен на вхождении в документ обоих слов, то релевантность такого поиска может вызвать сомнения. Вполне вероятно, что если частота вхождения слова «можно» значительно превысит частоту вхождения слова «термин», то в результате наверху списка окажутся документы, имеющие меньшую релевантность относительно слова «термин».

Также следует отметить критичность данного алгоритма по отношению к точности определения части речи и правильности исключения незначимых слов.

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

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

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

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...