/// <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); }
/// <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)); } }
/// <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)); }