using System.Collections.Generic;
namespace ZeroLevel.Services.Semantic
{
public interface ILexProvider
{
///
/// Выделение токенов из текста как есть
///
/// Список токенов
IEnumerable ExtractLexTokens(string text);
///
/// Выделение уникальных токенов из текста
///
/// Список токенов
IEnumerable ExtractUniqueLexTokens(string text);
///
/// Выделение уникальных токенов из текста с отбрасыванием стоп-слов
///
/// Список токенов
IEnumerable ExtractUniqueLexTokensWithoutStopWords(string text);
///
/// Поиск токенов в тексте соответствующих указанным словам (полнотекстовый поиск)
///
/// Текст по которому выполняется поиск
/// Слова для поиска
/// Словарь, где ключ - слово, значение - список соответствующих ему найденных токенов
IDictionary> SearchLexTokensByWords(string text, string[] words);
///
/// Поиск токенов в тексте соответствующих указанным фразам (полнотекстовый поиск)
///
/// Текст по которому выполняется поиск
/// Фразы для поиска
/// Словарь, где ключ - фраза, значение - список соответствующих ему найденных массивов токенов
IDictionary> SearchLexTokensByPhrases(string text, string[] phrases);
}
}