예제 #1
0
        /// <summary>
        /// Возвращает список проллемитизированных слов из запроса (если не может найти начальную форму то стреммит его т.е. обрезает окончание)
        /// </summary>
        /// <param name="request">список слов запроса</param>
        /// <returns> обработанный список слов из запроса</returns>
        public static List <string> GetStremmingWords(string[] request)
        {
            var result = new List <string>();

            foreach (var word in request)
            {
                var infWord = Analyser.FindAllSourceForm(word).FirstOrDefault();
                result.Add(infWord.SourceForm ?? Stemmer.Stemm(word));
            }
            return(result);
        }
예제 #2
0
        /// <summary>
        /// Леммитизация слов из непосредственного запроса пользователя в векторном поиске
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public static string[] GetStremmingWordsForQuery(string[] request)
        {
            var result = new string[request.Length];

            for (int i = 0; i < request.Length; i++)
            {
                var infWord = Analyser.FindAllSourceForm(request[i]).FirstOrDefault();
                result[i] = (infWord.SourceForm ?? Stemmer.Stemm(request[i]));
            }

            return(result);
        }