예제 #1
0
        public void OnWords(TokenType firstWord, TokenType secondWord, SymbolInformation secondWordSymbolInfo, TokenType lastWordBeforeSymbolOrLiteral, int secondWordIndexInElement)
        {
            TotalCount++;
            int firstWordKey = ComputeLastWordsKey(firstWord, lastWordBeforeSymbolOrLiteral);
            NextWordProbabilities nextWordProbabilities = null;

            if (!WordProbabilities.TryGetValue(firstWordKey, out nextWordProbabilities))
            {
                nextWordProbabilities = new NextWordProbabilities(firstWordKey);
                WordProbabilities.Add(firstWordKey, nextWordProbabilities);
            }
            nextWordProbabilities.OnNextWord(secondWord, secondWordSymbolInfo, secondWordIndexInElement);
        }
예제 #2
0
        public IList <WordProbability> NextWordsProbability(TokenType lastWord, TokenType lastWordBeforeSymbolOrLiteral)
        {
            int lastWordKey = ComputeLastWordsKey(lastWord, lastWordBeforeSymbolOrLiteral);
            NextWordProbabilities wordProbabilities = null;

            if (WordProbabilities.TryGetValue(lastWordKey, out wordProbabilities))
            {
                return(wordProbabilities.NextWords);
            }
            else
            {
                return(null);
            }
        }
예제 #3
0
 public void OnWords(TokenType firstWord, TokenType secondWord, SymbolInformation secondWordSymbolInfo, TokenType lastWordBeforeSymbolOrLiteral, int secondWordIndexInElement)
 {
     TotalCount++;
     int firstWordKey = ComputeLastWordsKey(firstWord, lastWordBeforeSymbolOrLiteral);
     NextWordProbabilities nextWordProbabilities = null;
     if (!WordProbabilities.TryGetValue(firstWordKey, out nextWordProbabilities))
     {
         nextWordProbabilities = new NextWordProbabilities(firstWordKey);
         WordProbabilities.Add(firstWordKey, nextWordProbabilities);
     }
     nextWordProbabilities.OnNextWord(secondWord, secondWordSymbolInfo, secondWordIndexInElement);
 }