Beispiel #1
0
        /// <summary>
        /// Creates a grams object for the given gramsType and language
        /// returns null if not possible
        /// </summary>
        /// <param name="gramsType"></param>
        /// <param name="language"></param>
        /// <param name="useSpaces"></param>
        /// <returns></returns>
        public static Grams CreateNGrams(GramsType gramsType, string language, bool useSpaces = false)
        {
            try
            {
                switch (gramsType)
                {
                case GramsType.Unigrams:
                    return(new Unigrams(language, useSpaces));

                case GramsType.Bigrams:
                    return(new Bigrams(language, useSpaces));

                case GramsType.Trigrams:
                    return(new Trigrams(language, useSpaces));

                case GramsType.Tetragrams:
                    return(new Tetragrams(language, useSpaces));

                case GramsType.Pentragrams:
                    return(new Pentagrams(language, useSpaces));
                }
            }
            catch (Exception)
            {
                //can not create grams
            }
            return(null);
        }
Beispiel #2
0
        /// <summary>
        /// Creates a Grams object based on the given parameters
        /// </summary>
        /// <param name="languageId"></param>
        /// <param name="gramsType"></param>
        /// <param name="useSpaces"></param>
        /// <returns></returns>
        public static Grams CreateGrams(int languageId, GramsType gramsType, bool useSpaces)
        {
            switch (gramsType)
            {
            case GramsType.Unigrams:         // 1
                return(new Unigrams(LanguageCode(languageId), useSpaces));

            case GramsType.Bigrams:         // 2
                return(new Bigrams(LanguageCode(languageId), useSpaces));

            case GramsType.Trigrams:        // 3
                return(new Trigrams(LanguageCode(languageId), useSpaces));

            case GramsType.Tetragrams:      // 4
                return(new Tetragrams(LanguageCode(languageId), useSpaces));

            case GramsType.Pentragrams: // 5
            default:                    // our default ngram size in CT2 is 5
                return(new Pentagrams(LanguageCode(languageId), useSpaces));

            case GramsType.Hexagrams:      // 6
                return(new Hexagrams(LanguageCode(languageId), useSpaces));
            }
        }
Beispiel #3
0
 /// <summary>
 /// Creates a Grams object based on the given parameters
 /// </summary>
 /// <param name="languageCode"></param>
 /// <param name="gramsType"></param>
 /// <param name="useSpaces"></param>
 /// <returns></returns>
 public static Grams CreateGrams(string languageCode, GramsType gramsType, bool useSpaces)
 {
     return(CreateGrams(LanguageId(languageCode), gramsType, useSpaces));
 }