Синтаксический анализ (Parsing)

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

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

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

Пословный синтаксический анализ (пословное индексирование - word parsing) обычно выбирается для тематически связанных полей, таких как поля „заголовок", „реферат", или полнотекстовых полей, где не используется контролируемая лексика. При пословном индексировании каждое отдельное слово обычно определяется как любой набор букв и/или цифр, разделенных пробелами и/или знаками препинания. При синтаксическом анализе пословно проиндексированного поля система создает отдельный „вход" в файл инвертированных индексов каждый раз, когда встречается то или иное слово. Таким образом, заголовок „Разработка компьютерно-ориентированных библиотечных систем" будет иметь пять отдельных, организованных в алфавитном порядке „входов" в инвертированный индексный файл: БИБЛИОТЕЧНЫХ, КОМПЬЮТЕРНО, ОРИЕНТИРОВАННЫХ, РАЗРАБОТКА и СИСТЕМ.

Некоторые пакеты прикладных программ воспринимают дефис как ничего не значащий символ, а не как символ начала или конца слова. В таких системах это название будет иметь только четыре пословно проиндексированных инвертированных индекса: БИБЛИОТЕЧНЫХ, КОМПЬЮТЕРНО-ОРИЕНТИРОВАННЫХ, РАЗРАБОТКА, СИСТЕМ.

Большинство систем информационно-поискового программного обеспечения поддерживает список неинформативных слов (стоп-слов), которые не включаются в инвертированный индексный файл. Некоторые пакеты содержат уже готовый список стоп-слов, другие позволяют пользователю самому их определить. При создании инвертированных индексов компьютер сверяет со списком стоп-слов и не создает „входов" для слов, представленных в таком списке. Для фразы „В тоске и печали" для инвертированных индексов в большинстве систем будет создано два „входа": ТОСКЕ и ПЕЧАЛИ. Многие системы учитывают информацию о положении стоп-слов, и, таким образом, система запомнит, что ПЕЧАЛИ является четвертым словом в заголовке, а ТОСКЕ - вторым.

Пофразовый синтаксический анализ (пофразовое индексирование - phrase parsing) обычно используется для контролируемых полей, где человек-индексатор определил, что слова, составляющие фразу, должны идти вместе как связная фраза. Пофразово проиндексированные „входы" в файле инвертированных индексов обычно включают и пробелы, и знаки препинания. Программное обеспечение может определить, где кончается одна и начинается другая фраза, так как индексированные термины отмечены специальными разделителями. При пофразовом индексировании термины связаны друг с другом, что оказывает влияние и на возможности поиска. Для выдачи необходимого документа необходимо искать фразу целиком. Отдельные слова в дескрипторе, состоящем из нескольких слов, не могут подвергаться поиску. Например, при такой системе индексирования автора нельзя найти, указав только его имя. Поле „автор" обычно индексируется по-фразово. Автора, чье полное имя зафиксировано в обратной форме (фамилия, затем имя, затем отчество), можно найти по фамилии и некоторой части имени и отчества, чтобы отличить одного автора от другого.

Комбинированно проиндексированные (combination parsing, double posting) поля проиндексированы одновременно пословно и по-фразово. Связные фразы сохраняются вместе, но они также разделяются и пробелами, и знаками препинания. Такой подход обычно используется в поле „ключевые слова", где содержатся не только связные (предкоординированные) фразы, но и отдельные входящие в них слова (например, оба термина - PROGRAMMING LANGUAGES и STRUCTURED PROGRAMMING - могут быть выданы на термин запроса PROGRAMMING).

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


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: