Example #1
0
        internal void CountProbability(bool check)
        {
            var sum = NgramVariants.Sum(item => item.Ngram.Value);

            for (var i = 0; i < NgramVariants.Count; i++)
            {
                if (sum == 0)
                {
                    if (check)
                    {
                        NgramVariants[i] = new NGramVariant {
                            Ngram = NgramVariants[i].Ngram, Probability = 0
                        }
                    }
                    ;
                    else
                    {
                        NgramVariants[i] = new NGramVariant {
                            Ngram = NgramVariants[i].Ngram, Probability = 1
                        }
                    };
                    continue;
                }

                NgramVariants[i] = new NGramVariant {
                    Ngram = NgramVariants[i].Ngram, Probability = (double)NgramVariants[i].Ngram.Value / sum
                };
            }
        }
Example #2
0
 /// <summary>
 /// Updates the NgramVariants based on the Ngrams list.
 /// </summary>
 /// <param name="goodNGrams">List with correct Ngrams.</param>
 internal void UpdateNGramsVariants(List <NGram> goodNGrams)
 {
     for (var i = 0; i < NgramVariants.Count; i++)
     {
         foreach (var goodNGram in goodNGrams)
         {
             if (goodNGram.WordsList.SequenceEqual(NgramVariants[i].Ngram.WordsList))
             {
                 NgramVariants[i] = new NGramVariant {
                     Ngram = new NGram(goodNGram), Probability = 0
                 };
             }
         }
     }
 }