예제 #1
0
파일: Stemmer.cs 프로젝트: 0000duck/latino
        private bool CreateStemmer()
        {
            switch (mLanguage)
            {
            case Language.English:
                mStemmer = new EnglishStemmer();
                return(true);

            case Language.German:
                mStemmer = new German2Stemmer();
                return(true);

            case Language.French:
                mStemmer = new FrenchStemmer();
                return(true);

            case Language.Spanish:
                mStemmer = new SpanishStemmer();
                return(true);

            case Language.Italian:
                mStemmer = new ItalianStemmer();
                return(true);

            case Language.Portuguese:
                mStemmer = new PortugueseStemmer();
                return(true);

            case Language.Danish:
                mStemmer = new DanishStemmer();
                return(true);

            case Language.Dutch:
                mStemmer = new DutchStemmer();
                return(true);

            case Language.Finnish:
                mStemmer = new FinnishStemmer();
                return(true);

            case Language.Norwegian:
                mStemmer = new NorwegianStemmer();
                return(true);

            case Language.Russian:
                mStemmer = new RussianStemmer();
                return(true);

            case Language.Swedish:
                mStemmer = new SwedishStemmer();
                return(true);

            default:
                return(false);
            }
        }
예제 #2
0
파일: Stemmer.cs 프로젝트: mgrcar/Detextive
        // *** IStemmer interface implementation ***

        public string GetStem(string word)
        {
            Utils.ThrowException(word == null ? new ArgumentNullException("word") : null);
            try
            {
                ISnowballStemmer stemmer = CreateStemmer();
                stemmer.SetCurrent(word);
                stemmer.Stem();
                return(stemmer.GetCurrent());
            }
            catch { return(word); }
        }
예제 #3
0
        /// <summary>
        /// Processes a string of terms using the Snowball stemming algorithm.
        /// </summary>
        /// <param name="text">Input string</param>
        /// <param name="language">Stemmer language</param>
        /// <returns>Stemmed terms</returns>
        public static string ProcessText(string text, SnowballStemmerEnum language)
        {
            StringBuilder builder = new StringBuilder();
            string        result  = string.Empty;
            string        stemmedWord;

            char[]           delimiterChars = { ' ' };
            string[]         tokens         = text.Split(delimiterChars);
            ISnowballStemmer stemmer        = SnowballStemmerUtils.GetStemmer(language);

            foreach (string token in tokens)
            {
                stemmedWord = stemmer.Stem(token);
                builder.AppendFormat("{0} ", stemmedWord);
            }
            result = builder.ToString().Trim();
            return(result);
        }
예제 #4
0
파일: Stemmer.cs 프로젝트: viidea/latino
 private bool CreateStemmer()
 {
     switch (mLanguage)
     {
         case Language.English:
             mStemmer = new EnglishStemmer();
             return true;
         case Language.German:
             mStemmer = new German2Stemmer();
             return true;
         case Language.French:
             mStemmer = new FrenchStemmer();
             return true;
         case Language.Spanish:
             mStemmer = new SpanishStemmer();
             return true;
         case Language.Italian:
             mStemmer = new ItalianStemmer();
             return true;
         case Language.Portuguese:
             mStemmer = new PortugueseStemmer();
             return true;
         case Language.Danish:
             mStemmer = new DanishStemmer();
             return true;
         case Language.Dutch:
             mStemmer = new DutchStemmer();
             return true;
         case Language.Finnish:
             mStemmer = new FinnishStemmer();
             return true;
         case Language.Norwegian:
             mStemmer = new NorwegianStemmer();
             return true;
         case Language.Russian:
             mStemmer = new RussianStemmer();
             return true;
         case Language.Swedish:
             mStemmer = new SwedishStemmer();
             return true;
         default:
             return false;
     }
 }