using System.Collections.Generic; namespace ZeroLevel.Services.Semantic { public interface ILexProvider { /// /// Extract tokens from text as is /// /// Spisok tokenov IEnumerable ExtractLexTokens(string text); IEnumerable ExtractLexTokens(string[] words); /// /// Selecting unique tokens from text /// /// Tokens IEnumerable ExtractUniqueLexTokens(string text); IEnumerable ExtractUniqueLexTokens(string[] words); /// /// Allocation of unique tokens from text with drop of stop words /// /// Tokens IEnumerable ExtractUniqueLexTokensWithoutStopWords(string text); IEnumerable ExtractUniqueLexTokensWithoutStopWords(string[] words); /// /// Search for tokens in the text corresponding to the specified words (full-text search) /// /// Search text /// Search words /// Dictionary, where key is a word, value is a list of matching tokens found for it IDictionary> SearchLexTokensByWords(string text, string[] words); /// /// Search for tokens in the text corresponding to the specified phrases (full-text search) /// /// Search text /// Search phrases /// The dictionary, where the key is a phrase, a value is a list of token arrays corresponding to it IDictionary> SearchLexTokensByPhrases(string text, string[] phrases); } }