You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Zero/ZeroLevel/Services/Semantic/Contracts
Ogoun 9dd2d3e020
First
6 years ago
..
ILexProvider.cs First 6 years ago
ILexer.cs First 6 years ago
Languages.cs First 6 years ago
LexToken.cs First 6 years ago
README.txt First 6 years ago
WordToken.cs First 6 years ago

README.txt

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

Реализация основы для семантической работы с текстом.


LexProvider - реализует выделение токенов из текста, где под токеном понимается какое-либо приведение слова.
Например, токеном может являться непосредственно само слово, стем, лемма.

В качестве реализации созданы две фабрики:

SnowbolLexProviderFactory - возвращает провайдеры на основе стемминга 'Snowball'
JustWordLexProviderFactory - возвращает провайдер который принимает за токен непосредственно слово, без изменений (lower case)

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

Например:
public class LemmaLexer: ILexer
{
public string Lex(string word) { return Lemmatizer.Lemma(word); }
}

После чего можно создать на его основе провайдер:

var provider = new LexProvider(new LemmaLexer());

Powered by TurnKey Linux.