Done transposition slides
[cipher-training.git] / language_models.py
index 52e7ac43db6f62376735808f030c9d6aaa3ba17f..59d858868dd5b67d5de9dd848fe26d6b5f1c6391 100644 (file)
@@ -123,6 +123,7 @@ Pw = Pdist(datafile('count_1w.txt'), log_probability_of_unknown_word)
 Pw_wrong = Pdist(datafile('count_1w.txt'), lambda _k, N: log10(1/N))
 Pl = Pdist(datafile('count_1l.txt'), lambda _k, _N: 0)
 P2l = Pdist(datafile('count_2l.txt'), lambda _k, _N: 0)
+P3l = Pdist(datafile('count_3l.txt'), lambda _k, _N: 0)
 
 def Pwords(words): 
     """The Naive Bayes log probability of a sequence of words.
@@ -146,6 +147,12 @@ def Pbigrams(letters):
     """
     return sum(P2l[p] for p in ngrams(letters, 2))
 
+def Ptrigrams(letters):
+    """The Naive Bayes log probability of the trigrams formed from a sequence 
+    of letters.
+    """
+    return sum(P3l[p] for p in ngrams(letters, 3))
+
 
 def cosine_similarity_score(text):
     """Finds the dissimilarity of a text to English, using the cosine distance