b5ab525c

Поиск по грамматическим формам слова


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

SELECT Header FROM Articles WHERE CONTAINS(Header, 'FORMSOF(INFLECTIONAL, ”Валютная биржа”)')

Вот этот оператор даст возможность поиска словосочетания валютная биржа

с полным учетом грамматики русского языка. Первый параметр операции FORMSOF (слово INFLECTIONAL) является обязательным и никогда не меняется. Кстати, FORMSOF позволит отыскать формы слова, которые построить с помощью префиксной формы просто не удастся. Так, для префиксного поиска слова человек и люди являются двумя совершенно разными словами, а для FORMSOF — разными формами одного слова человек.

Поисковая система Microsoft SQL позволяет также производить поиск слов, встречающихся в тексте в непосредственной близости, причем порядок следования слов не важен. Такой вид поиска получил название поиск близких слов (proximity terms). Этот вид поиска существенно отличается от поиска по фразам, в которых порядок следования слов фиксирован. Поиск близких терминов реализуется при помощи оператора NEAR или его синонима символа ‘~’. Пример такого поиска:

SELECT Header FROM Articles WHERE CONTAINS(Header, 'курс NEAR доллара')

Нужно отметить, что поиск близких терминов сочетается с поиском по префиксным формам, но не может использоваться вместе с поиском по образованным формам.



Содержание раздела