mirror of https://github.com/ogoun/Zero.git
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.
Ogoun
9dd2d3e020
|
6 years ago | |
---|---|---|
.. | ||
ILexProvider.cs | 6 years ago | |
ILexer.cs | 6 years ago | |
Languages.cs | 6 years ago | |
LexToken.cs | 6 years ago | |
README.txt | 6 years ago | |
WordToken.cs | 6 years ago |
README.txt
Реализация основы для семантической работы с текстом.
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());