Como programo o bigram como uma tabela em python?

Estou fazendo esta lição de casa e estou preso neste momento. Não consigo programarFrequência do bigram no idioma inglês, 'probabilidade condicional' em python?

Ou seja, a probabilidade de um token dado o token anterior é igual à probabilidade de seu bigram ou à coocorrência dos dois tokens, dividido pela probabilidade do token anterior.

Como tenho um texto com muitas letras, calculei a probabilidade das letras neste texto, de modo que a letra 'a' apareça0.015% comparado com as letras no texto.

As letras são de^a-zA-Ze o que eu quero é:
Como faço para criar uma tabela com os comprimentos do alfabeto ((alfabeto) x (alfabeto)) e como calcular a probabilidade condicional para cada situação?

É como:

[[(a|a),(b|a),(c|a),...,(z|a),...(Z|a)]
 [(a|b),(b|b),(c|b),...,(z|b),...(Z|b)]
                    ...       ...
 [(a|Z),(b|Z),(c|Z),...,(z|Z),...(Z|Z)]]

e, para isso, devo calcular a probabilidade, como: Quais são as chances de você receber a letra 'a' se neste momento tiver a letra 'a', e assim por diante.

Não consigo começar, espero que você possa me dar um pontapé inicial e espero que fique claro o que preciso resolver.

questionAnswers(1)

yourAnswerToTheQuestion