Библиотека позволяет находить все вхождения включевого слова в строку текста, правильно обнаруживая любые грамматические формы искомого слова.
Библиотека реализована на языке C# для платформы .NET. При ее разработке одним из главных требований было использование как в настольных приложениях, так и для ASP.NET-сайтов.
Для эффективного сопоставления ключевого слова запроса и слов в обрабатываемом тексте используются два морфологических модуля - стеммер и лемматизатор.
Выполнять поиск очень просто. Фрагмент кода на C#:
string text = "Вижу кошку и собаку, кошке надо погулять. "+
"В кошелку положи пирожок, пусть лежит в лукошке. "+
"Птички порхают, с кошками не играют.";
foreach( StringLib.WordHit hit in StringLib.LexemeMatcher.Match(text,"кошка") )
{
Console.WriteLine( "Hit: {0}", text.Substring( hit.Pos, hit.Length ) );
}
Класс LexemeMatcher имеет ряд методов, среди которых для демонстрации выбран Match. Он позволяет перечислить все вхождения ключевого слова кошка, возвращая для каждого сопоставления номер позиции и длину совпадения. Это позволяет распечатать список найденных в тексте словоформ:
Почти такой же код работает в ASP.NET приложении:
Исходный текст обоих примеров вместе с проектами для MS VisualStudio включены в состав SDK Грамматического Словаря.
Приобретение SDK грамматического словаря
© Козиев Илья 2019
![]() |
|
изменено 16-Aug-11 |