public static void getSentenceStemmsAndSubStemm(string lang, IEnumerable <string> sentence, Action <string, List <WordStemms> > onOK) { var stemmer = Creators.createStemmer(lang); if (stemmer == null) { return; } foreach (var word in sentence) { var all = new List <WordStemms>(); var first = new WordStemms() { word = word }; all.Add(first); stemm(stemmer, word, first.stemms); foreach (var subw in first.stemms.Where(w => w != word)) { var other = new WordStemms() { word = subw }; stemm(stemmer, subw, other.stemms); all.Add(other); } onOK(word, all); } }
static List <string> getWordStemms(string lang, string word) { var stemmer = Creators.createStemmer(lang); var res = new List <string>(); stemm(stemmer, word, res); return(res); }
public static void getSentenceStemms(string lang, IEnumerable <string> sentence, Action <string, List <string> > onWordOK) { var stemmer = Creators.createStemmer(lang); if (stemmer == null) { return; } var list = new List <string>(); foreach (var word in sentence) { stemm(stemmer, word, list); onWordOK(word, list); list.Clear(); } }