Modelos de Linguagem envolvem a estimação de probabilidades condicionais de ocorrência de um termo dado um contexto. $$P_{bi}(t_1t_2t_3t_4) = P(t_1)P(t_2|t_1)P(t_3|t_1t_2)P(t_4|t_1t_2t_3)$$
import nltk
import string
from nltk.corpus import machado
from nltk.corpus import stopwords
import matplotlib.pyplot as plt
# %pylab inline
neste modelo, a ordem das palavras não importa. $$P_{bi}(t_1t_2t_3t_4) = P(t_1)P(t_2)P(t_3)P(t_4)$$
nltk.download('machado')
nltk.download('stopwords')
[nltk_data] Downloading package machado to /home/fccoelho/nltk_data... [nltk_data] Package machado is already up-to-date! [nltk_data] Downloading package stopwords to [nltk_data] /home/fccoelho/nltk_data... [nltk_data] Package stopwords is already up-to-date!
True
swu = set(stopwords.words('portuguese') + list (string.punctuation) + ['\x97','--','...'])
wordgen = (word for word in machado.words() if word.lower() not in swu and len(word)>=3)
fd = nltk.FreqDist(wordgen)
fd.most_common(20)
[('disse', 6444), ('casa', 4821), ('tempo', 4339), ('ainda', 4226), ('coisa', 3999), ('dia', 3959), ('olhos', 3936), ('tudo', 3879), ('outro', 3652), ('nada', 3648), ('tão', 3592), ('outra', 3553), ('dois', 3494), ('homem', 3249), ('porque', 3211), ('vez', 3207), ('pouco', 3018), ('todos', 2989), ('dizer', 2938), ('vida', 2884)]
x,y = zip(*fd.most_common(20))
plt.barh(range(len(x)),width=y);
ax = plt.gca()
ax.set(yticks=range(len(x)),yticklabels=x);
plt.xlabel('frequência');
Uma alternativa ao modelo bag-of-words onde as probabilidades são independentes, é o modelo bigrama. onde calculamos a probabilidade de ocorrência de uma palavra condicionada à ocorrência da anterior. $$P_{bi}(t_1t_2t_3t_4) = P(t_1)P(t_2|t_1)P(t_3|t_2)P(t_4|t_3)$$ nltk.ConditionalFreqDist é um estimador de probabilidades condicionais. Dada uma lista de bigramas, para cada palavra no vocabulário, ele calculará uma distribuição de frequências para a próxima palavra.
wordgen = (word.lower() for word in machado.words() )#if word.lower() not in swu)
machado_2gram = nltk.ConditionalFreqDist(nltk.bigrams(wordgen))
conditions() retorna as palavras para as quais temos distribuições condicionais construídas.
machado_2gram.conditions()
['conto', ',', 'contos', 'fluminenses', '1870', 'texto', '-', 'fonte', ':', 'obra', 'completa', 'machado', 'de', 'assis', 'vol', '.', 'ii', 'rio', 'janeiro', 'nova', 'aguilar', '1994', 'publicado', 'originalmente', 'pela', 'editora', 'garnier', 'em', 'índice', 'miss', 'dollar', 'luís', 'soares', 'a', 'mulher', 'preto', 'o', 'segredo', 'augusta', 'confissões', 'uma', 'viúva', 'moça', 'linha', 'reta', 'e', 'curva', 'frei', 'simão', 'capítulo', 'primeiro', 'iii', 'iv', 'v', 'vi', 'vii', 'viii', 'era', 'conveniente', 'ao', 'romance', 'que', 'leitor', 'ficasse', 'muito', 'tempo', 'sem', 'saber', 'quem', 'mas', 'por', 'outro', 'lado', 'apresentação', 'seria', 'autor', 'obrigado', 'longas', 'digressões', 'encheriam', 'papel', 'adiantar', 'ação', 'não', 'há', 'hesitação', 'possível', 'vou', 'apresentar', 'lhes', 'se', 'é', 'rapaz', 'dado', 'gênio', 'melancólico', 'imagina', 'inglesa', 'pálida', 'delgada', 'escassa', 'carnes', 'sangue', 'abrindo', 'à', 'flor', 'do', 'rosto', 'dois', 'grandes', 'olhos', 'azuis', 'sacudindo', 'vento', 'umas', 'tranças', 'loiras', 'questão', 'deve', 'ser', 'vaporosa', 'ideal', 'como', 'criação', 'shakespeare', ';', 'contraste', 'roastbeef', 'britânico', 'com', 'alimenta', 'liberdade', 'reino', 'unido', 'tal', 'ter', 'poeta', 'tennyson', 'cor', 'ler', 'lamartine', 'no', 'original', 'souber', 'português', 'deliciar', 'leitura', 'dos', 'sonetos', 'camões', 'ou', 'os', 'cantos', 'gonçalves', 'dias', 'chá', 'leite', 'devem', 'alimentação', 'semelhante', 'criatura', 'adicionando', 'lhe', 'alguns', 'confeitos', 'biscoitos', 'para', 'acudir', 'às', 'urgências', 'estômago', 'sua', 'fala', 'um', 'murmúrio', 'harpa', 'eólia', 'seu', 'amor', 'desmaio', 'vida', 'contemplação', 'morte', 'suspiro', 'figura', 'poética', 'da', 'heroína', 'suponhamos', 'estes', 'devaneios', 'melancolias', 'nesse', 'caso', 'totalmente', 'diferente', 'outra', 'desta', 'vez', 'será', 'robusta', 'americana', 'vertendo', 'pelas', 'faces', 'formas', 'arredondadas', 'vivos', 'ardentes', 'feita', 'refeita', 'perfeita', 'amiga', 'boa', 'mesa', 'bom', 'copo', 'esta', 'preferirá', 'quarto', 'carneiro', 'página', 'longfellow', 'coisa', 'naturalíssima', 'quando', 'reclama', 'nunca', 'chegará', 'compreender', 'poesia', 'pôr', 'sol', 'mãe', 'família', 'segundo', 'doutrina', 'padres', 'mestres', 'civilização', 'isto', 'fecunda', 'ignorante', 'já', 'mesmo', 'sentir', 'tiver', 'passado', 'segunda', 'mocidade', 'vir', 'diante', 'si', 'velhice', 'recurso', 'esse', 'verdadeiramente', 'digna', 'contada', 'algumas', 'páginas', 'cinqüenta', 'anos', 'dotada', 'mil', 'libras', 'esterlinas', 'aportando', 'brasil', 'procura', 'assunto', 'escrever', 'realizasse', 'verdadeiro', 'casando', 'aludido', 'incompleta', 'tivesse', 'óculos', 'verdes', 'grande', 'cacho', 'cabelo', 'grisalho', 'cada', 'luvas', 'renda', 'branca', 'chapéu', 'linho', 'forma', 'cuia', 'seriam', 'última', 'demão', 'deste', 'magnífico', 'tipo', 'ultramar', 'mais', 'esperto', 'outros', 'acode', 'dizendo', 'nem', 'foi', 'brasileira', 'quatro', 'costados', 'nome', 'quer', 'dizer', 'simplesmente', 'rapariga', 'rica', 'descoberta', 'excelente', 'fosse', 'exata', 'infelizmente', 'as', 'outras', 'são', 'exatas', 'menina', 'romântica', 'velha', 'literata', 'falha', 'proverbial', 'perspicácia', 'leitores', 'cadelinha', 'galga', 'pessoas', 'qualidade', 'fará', 'perder', 'interesse', 'erro', 'manifesto', 'apesar', 'teve', 'honras', 'ver', 'nos', 'papéis', 'públicos', 'antes', 'entrar', 'este', 'livro', 'jornal', 'comércio', 'correio', 'mercantil', 'publicaram', 'nas', 'colunas', 'anúncios', 'seguintes', 'linhas', 'reverberantes', 'promessa', 'desencaminhou', 'na', 'noite', 'ontem', '30', 'achou', 'quiser', 'levar', 'rua', 'mata', 'cavalos', '...,', 'receberá', 'duzentos', 'réis', 'recompensa', 'tem', 'coleira', 'pescoço', 'fechada', 'cadeado', 'lêem', 'palavras', 'tout', 'mon', 'coeur', 'todas', 'sentiam', 'necessidade', 'urgente', 'tiveram', 'felicidade', 'aquele', 'anúncio', 'andaram', 'dia', 'extremo', 'cuidado', 'ruas', 'davam', 'fugitiva', 'galgo', 'aparecesse', 'longe', 'perseguido', 'tenacidade', 'até', 'verificar', 'animal', 'procurado', 'toda', 'caçada', 'completamente', 'inútil', 'visto', 'apareceu', 'estava', 'aboletada', 'casa', 'sujeito', 'morador', 'cajueiros', 'fazia', 'coleção', 'cães', 'quais', 'razões', 'induziram', 'dr', 'mendonça', 'fazer', 'ninguém', 'podia', 'uns', 'queriam', 'paixão', 'símbolo', 'fidelidade', 'servilismo', 'pensavam', 'cheio', 'profundo', 'desgosto', 'pelos', 'homens', 'guerra', 'adorar', 'fossem', 'certo', 'possuía', 'bonita', 'variada', 'ele', 'tinha', 'raças', 'tamanhos', 'cores', 'cuidava', 'deles', 'seus', 'filhos', 'algum', 'morria', 'ficava', 'quase', 'pode', 'espírito', 'cão', 'pesava', 'tanto', 'expressão', 'célebre', 'tirai', 'mundo', 'ermo', 'superficial', 'conclui', 'daqui', 'nosso', 'homem', 'excêntrico', 'gostava', 'gostam', 'flores', 'eram', 'suas', 'rosas', 'violetas', 'cultivava', 'mesmíssimo', 'esmero', 'também', 'delas', 'plantas', 'nasciam', 'cortar', 'jasmim', 'prender', 'canário', 'parecia', 'idêntico', 'atentado', 'trinta', 'bem', 'apessoado', 'maneiras', 'francas', 'distintas', 'formado', 'medicina', 'tratou', 'doentes', 'clínica', 'adiantada', 'sobreveio', 'epidemia', 'capital', 'inventou', 'elixir', 'contra', 'doença', 'tão', 'ganhou', 'par', 'agora', 'exercia', 'amador', 'quanto', 'bastava', 'compunha', 'animais', 'citados', 'acima', 'memorável', 'voltava', 'ventura', 'encontrar', 'rocio', 'entrou', 'acompanhá', 'lo', 'notando', 'dono', 'visível', 'levou', 'consigo', 'apenas', 'examinou', 'cuidadosamente', 'realmente', 'mimo', 'delgadas', 'graciosas', 'fidalga', 'raça', 'castanhos', 'aveludados', 'pareciam', 'exprimir', 'alegres', 'serenos', 'contemplou', 'minuciosamente', 'leu', 'dístico', 'fechava', 'convenceu', 'finalmente', 'estimação', 'parte', 'dela', '\x97', 'aparecer', 'fica', 'comigo', 'disse', 'entregando', 'moleque', 'encarregado', 'dar', 'comida', 'enquanto', 'planeava', 'futuro', 'hóspede', 'cuja', 'devia', 'perpetuar', 'plano', 'durou', 'duram', 'sonhos', 'espaço', 'seguinte', 'lendo', 'jornais', 'viu', 'transcrito', 'prometendo', 'entregasse', 'deu', 'medida', 'dor', 'sofrer', 'dona', 'chegava', 'oferecer', 'gratificação', 'apresentasse', 'conseqüentemente', 'resolveu', 'restituí', 'la', 'bastante', 'mágoa', 'coração', 'chegou', 'hesitar', 'instantes', 'afinal', 'venceram', 'sentimentos', 'probidade', 'compaixão', 'apanágio', 'daquela', 'alma', 'custasse', 'despedir', 'ainda', 'recente', 'dispôs', 'levá', 'fim', 'preparou', 'almoçou', 'depois', 'averiguar', 'havia', 'feito', 'mesma', 'operação', 'saíram', 'ambos', 'direção', 'naquele', 'barão', 'amazonas', 'salvo', 'independência', 'das', 'repúblicas', 'platinas', 'mediante', 'vitória', 'riachuelo', 'câmara', 'municipal', 'crismou', 'vigorava', 'portanto', 'tradicional', 'queria', 'nenhuma', 'jeito', 'número', 'indicado', 'aparência', 'indicava', 'certa', 'abastança', 'haveres', 'lá', 'morasse', 'batesse', 'palmas', 'corredor', 'reconhecendo', 'pátrios', 'lares', 'começava', 'pular', 'contente', 'soltar', 'sons', 'guturais', 'houvesse', 'entre', 'literatura', 'deviam', 'hino', 'graças', 'veio', 'vinha', 'restituir', 'expansão', 'correu', 'anunciar', 'aproveitando', 'fresta', 'precipitou', 'escadas', 'dispunha', 'descer', 'pois', 'cumprida', 'tarefa', 'voltou', 'subisse', 'entrasse', 'sala', 'têm', 'salas', 'elegantemente', 'dispostas', 'costumam', 'deixar', 'serem', 'estas', 'admiradas', 'visitas', 'virem', 'cumprimentar', 'costume', 'donos', 'cuidou', 'porque', 'mal', 'médico', 'porta', 'surgiu', 'interior', 'braços', 'alegria', 'queira', 'bondade', 'sentar', 'ela', 'designando', 'cadeira', 'minha', 'demora', 'pequena', 'sentando', 'vim', 'trazer', 'está', 'desde', '...', 'desassossego', 'causou', 'cá', 'ausência', 'imagino', 'senhora', 'eu', 'sou', 'apreciador', 'me', 'faltasse', 'sentiria', 'profundamente', 'perdão', '!', 'interrompeu', 'sobrinha', 'ah', '!...', 'aí', 'vem', 'levantou', 'justamente', 'entrava', 'representava', 'vinte', 'oito', 'pleno', 'desenvolvimento', 'beleza', 'dessas', 'mulheres', 'anunciam', 'tardia', 'imponente', 'vestido', 'seda', 'escura', 'dava', 'singular', 'realce', 'imensamente', 'pele', 'roçagante', 'aumentava', 'majestade', 'porte', 'estatura', 'corpinho', 'cobria', 'todo', 'colo', 'adivinhava', 'baixo', 'belo', 'tronco', 'mármore', 'modelado', 'escultor', 'divino', 'cabelos', 'naturalmente', 'ondeados', 'estavam', 'penteados', 'essa', 'simplicidade', 'caseira', 'melhor', 'modas', 'conhecidas', 'ornavam', 'graciosamente', 'fronte', 'coroa', 'doada', 'natureza', 'extrema', 'brancura', 'menor', 'tom', 'rosa', 'fizesse', 'harmonia', 'boca', 'imperiosa', 'distinção', 'daquele', 'aquilo', 'prendia', 'imaginem', 'duas', 'esmeraldas', 'nadando', 'vira', 'disseram', 'existiam', 'sabia', 'versos', 'célebres', 'então', 'fênix', 'antigos', 'conversando', 'amigos', 'propósito', 'disto', 'afirmava', 'alguma', 'encontrasse', 'fugiria', 'terror', 'quê', '?', 'perguntou', 'circunstantes', 'admirado', 'verde', 'mar', 'respondeu', 'evito', 'tempestades', 'evitarei', 'deixo', 'critério', 'singularidade', 'preciosa', 'sentido', 'molière', 'cumprimentou', 'respeitosamente', 'recém', 'chegada', 'gesto', 'convidou', 'agradeço', 'infinitamente', 'restituído', 'pobre', 'merece', 'estima', 'margarida', 'dou', 'deus', 'tê', 'achado', 'caído', 'mãos', 'restituíssem', 'fez', 'saltando', 'regaço', 'patas', 'dianteiras', 'pôs', 'lhas', 'sobre', 'joelhos', 'trocaram', 'longo', 'olhar', 'afeto', 'durante', 'brincava', 'orelhas', 'assim', 'lugar', 'admirasse', 'belíssimos', 'dedos', 'armados', 'unhas', 'agudíssimas', 'conquanto', 'sumo', 'prazer', 'estar', 'ali', 'reparou', 'esquisita', 'humilhante', 'pareceria', 'esperando', 'escapar', 'interpretação', 'desairosa', 'sacrificou', 'conversa', 'missão', 'compreendeu', 'ameaça', 'interrupção', 'maior', 'ambicionar', 'peço', 'licença', 'senhoras', 'compreenderam', 'intenção', 'pagou', 'cortesia', 'sorriso', 'reunindo', 'pulso', 'quantas', 'forças', 'restavam', 'pelo', 'corpo', 'apertou', 'amizade', 'mão', 'saiu', 'impressionado', 'interessante', 'notava', 'principalmente', 'além', 'primeira', 'água', 'severidade', 'triste', 'modos', 'caráter', 'índole', 'resultado', 'episódio', 'decifrada', 'hábeis', 'falar', 'verdade', 'único', 'defeito', 'feia', 'prevenção', 'cumpre', 'dizê', 'literária', 'apegava', 'frase', 'proferira', 'citada', 'produziu', 'mo', 'acusem', 'chofre', 'inteligente', ...]
Podemos obter a contagem de palavras que se seguem à uma palavra específica.
machado_2gram['exercia']
FreqDist({'um': 4, 'o': 4, 'sobre': 4, 'a': 3, 'nela': 3, 'desde': 2, 'em': 2, 'aquele': 1, 'outra': 1, '-': 1, ...})
Ou podemos obter a Probabilidade por máxima verossimilhança:
machado_2gram_cp = nltk.ConditionalProbDist(machado_2gram, nltk.MLEProbDist)
cp = machado_2gram_cp['exercia']
cp.samples()
dict_keys(['a', 'aquele', 'um', 'outra', 'o', '-', 'de', 'desde', 'nela', 'na', 'uma', 'as', 'sobre', 'esse', 'no', 'nele', 'em', 'mais', 'então', 'interinamente', 'com', 'realmente'])
cp.prob('sobre')
0.10810810810810811
cp.prob('nela')
0.08108108108108109
machado_2gram_cp['exercia'].generate()
'uma'
def gera_texto(palavra_inicial, cpd,numero=50):
w = palavra_inicial
texto = w
for i in range(numero):
w2 = cpd[w].generate()
sep = ' ' if w2 not in string.punctuation else ''
texto += sep + w2
w = w2
return texto
gera_texto('cresceu',machado_2gram_cp, numero=200)
'cresceu com este tempo em dizer, o intenso, é um segmento de linho com a velha, fizesse barulho muito contente quando acordava duas há de fugir ao pai e tempo de oliver, e os flagelos destinados a mim, despovoou- me hei de cativa ou vão se perdem- se apaga sinistramente nos veremos. como moedas passaram, modesta, como disse- o achado. arranjávamos um prêmio? é só a moça não assim um modo é uma aberta até quinta, eram recriminações e as mãos frias; viçosas; o digno rui barbosa que acabou a eminente nas poucas vezes alguns minutos, mas as frutas, confessando a educação, patologia. helena. foi só muito fazendo. ainda que não há porém, não precisa. e o público àquela sociedade qualquer parte importante do esforço e os poetas. vá perdê- lhe o padre sá estava bonachão. alguns gaiatos, objeto de um desses tapamentos de província surgiu- pierre- ganha, tem ódio que devera ser de raquel, sem operações comuns. não se dentro era natural vir! eu tinha um'
from nltk.tokenize import sent_tokenize
wordgen2 = (word.lower() for word in machado.words())
corpus = (((x,y),z) for x, y, z in nltk.trigrams(wordgen2))
machado_3gram = nltk.ConditionalFreqDist(corpus)
machado_3gram.conditions()
[('conto', ','), (',', 'contos'), ('contos', 'fluminenses'), ('fluminenses', ','), (',', '1870'), ('1870', 'contos'), ('fluminenses', 'texto'), ('texto', '-'), ('-', 'fonte'), ('fonte', ':'), (':', 'obra'), ('obra', 'completa'), ('completa', ','), (',', 'machado'), ('machado', 'de'), ('de', 'assis'), ('assis', ','), (',', 'vol'), ('vol', '.'), ('.', 'ii'), ('ii', ','), (',', 'rio'), ('rio', 'de'), ('de', 'janeiro'), ('janeiro', ':'), (':', 'nova'), ('nova', 'aguilar'), ('aguilar', ','), (',', '1994'), ('1994', '.'), ('.', 'publicado'), ('publicado', 'originalmente'), ('originalmente', 'pela'), ('pela', 'editora'), ('editora', 'garnier'), ('garnier', ','), ('janeiro', ','), (',', 'em'), ('em', '1870'), ('1870', '.'), ('.', 'índice'), ('índice', 'miss'), ('miss', 'dollar'), ('dollar', 'luís'), ('luís', 'soares'), ('soares', 'a'), ('a', 'mulher'), ('mulher', 'de'), ('de', 'preto'), ('preto', 'o'), ('o', 'segredo'), ('segredo', 'de'), ('de', 'augusta'), ('augusta', 'confissões'), ('confissões', 'de'), ('de', 'uma'), ('uma', 'viúva'), ('viúva', 'moça'), ('moça', 'linha'), ('linha', 'reta'), ('reta', 'e'), ('e', 'linha'), ('linha', 'curva'), ('curva', 'frei'), ('frei', 'simão'), ('simão', 'miss'), ('dollar', 'índice'), ('índice', 'capítulo'), ('capítulo', 'primeiro'), ('primeiro', 'capítulo'), ('capítulo', 'ii'), ('ii', 'capítulo'), ('capítulo', 'iii'), ('iii', 'capítulo'), ('capítulo', 'iv'), ('iv', 'capítulo'), ('capítulo', 'v'), ('v', 'capítulo'), ('capítulo', 'vi'), ('vi', 'capítulo'), ('capítulo', 'vii'), ('vii', 'capítulo'), ('capítulo', 'viii'), ('viii', 'capítulo'), ('primeiro', 'era'), ('era', 'conveniente'), ('conveniente', 'ao'), ('ao', 'romance'), ('romance', 'que'), ('que', 'o'), ('o', 'leitor'), ('leitor', 'ficasse'), ('ficasse', 'muito'), ('muito', 'tempo'), ('tempo', 'sem'), ('sem', 'saber'), ('saber', 'quem'), ('quem', 'era'), ('era', 'miss'), ('dollar', '.'), ('.', 'mas'), ('mas', 'por'), ('por', 'outro'), ('outro', 'lado'), ('lado', ','), (',', 'sem'), ('sem', 'a'), ('a', 'apresentação'), ('apresentação', 'de'), ('de', 'miss'), ('dollar', ','), (',', 'seria'), ('seria', 'o'), ('o', 'autor'), ('autor', 'obrigado'), ('obrigado', 'a'), ('a', 'longas'), ('longas', 'digressões'), ('digressões', ','), (',', 'que'), ('que', 'encheriam'), ('encheriam', 'o'), ('o', 'papel'), ('papel', 'sem'), ('sem', 'adiantar'), ('adiantar', 'a'), ('a', 'ação'), ('ação', '.'), ('.', 'não'), ('não', 'há'), ('há', 'hesitação'), ('hesitação', 'possível'), ('possível', ':'), (':', 'vou'), ('vou', 'apresentar'), ('apresentar', '-'), ('-', 'lhes'), ('lhes', 'miss'), ('.', 'se'), ('se', 'o'), ('leitor', 'é'), ('é', 'rapaz'), ('rapaz', 'e'), ('e', 'dado'), ('dado', 'ao'), ('ao', 'gênio'), ('gênio', 'melancólico'), ('melancólico', ','), (',', 'imagina'), ('imagina', 'que'), ('que', 'miss'), ('dollar', 'é'), ('é', 'uma'), ('uma', 'inglesa'), ('inglesa', 'pálida'), ('pálida', 'e'), ('e', 'delgada'), ('delgada', ','), (',', 'escassa'), ('escassa', 'de'), ('de', 'carnes'), ('carnes', 'e'), ('e', 'de'), ('de', 'sangue'), ('sangue', ','), (',', 'abrindo'), ('abrindo', 'à'), ('à', 'flor'), ('flor', 'do'), ('do', 'rosto'), ('rosto', 'dois'), ('dois', 'grandes'), ('grandes', 'olhos'), ('olhos', 'azuis'), ('azuis', 'e'), ('e', 'sacudindo'), ('sacudindo', 'ao'), ('ao', 'vento'), ('vento', 'umas'), ('umas', 'longas'), ('longas', 'tranças'), ('tranças', 'loiras'), ('loiras', '.'), ('.', 'a'), ('a', 'moça'), ('moça', 'em'), ('em', 'questão'), ('questão', 'deve'), ('deve', 'ser'), ('ser', 'vaporosa'), ('vaporosa', 'e'), ('e', 'ideal'), ('ideal', 'como'), ('como', 'uma'), ('uma', 'criação'), ('criação', 'de'), ('de', 'shakespeare'), ('shakespeare', ';'), (';', 'deve'), ('ser', 'o'), ('o', 'contraste'), ('contraste', 'do'), ('do', 'roastbeef'), ('roastbeef', 'britânico'), ('britânico', ','), (',', 'com'), ('com', 'que'), ('que', 'se'), ('se', 'alimenta'), ('alimenta', 'a'), ('a', 'liberdade'), ('liberdade', 'do'), ('do', 'reino'), ('reino', 'unido'), ('unido', '.'), ('.', 'uma'), ('uma', 'tal'), ('tal', 'miss'), ('dollar', 'deve'), ('deve', 'ter'), ('ter', 'o'), ('o', 'poeta'), ('poeta', 'tennyson'), ('tennyson', 'de'), ('de', 'cor'), ('cor', 'e'), ('e', 'ler'), ('ler', 'lamartine'), ('lamartine', 'no'), ('no', 'original'), ('original', ';'), (';', 'se'), ('se', 'souber'), ('souber', 'o'), ('o', 'português'), ('português', 'deve'), ('deve', 'deliciar'), ('deliciar', '-'), ('-', 'se'), ('se', 'com'), ('com', 'a'), ('a', 'leitura'), ('leitura', 'dos'), ('dos', 'sonetos'), ('sonetos', 'de'), ('de', 'camões'), ('camões', 'ou'), ('ou', 'os'), ('os', 'cantos'), ('cantos', 'de'), ('de', 'gonçalves'), ('gonçalves', 'dias'), ('dias', '.'), ('.', 'o'), ('o', 'chá'), ('chá', 'e'), ('e', 'o'), ('o', 'leite'), ('leite', 'devem'), ('devem', 'ser'), ('ser', 'a'), ('a', 'alimentação'), ('alimentação', 'de'), ('de', 'semelhante'), ('semelhante', 'criatura'), ('criatura', ','), (',', 'adicionando'), ('adicionando', '-'), ('se', '-'), ('-', 'lhe'), ('lhe', 'alguns'), ('alguns', 'confeitos'), ('confeitos', 'e'), ('e', 'biscoitos'), ('biscoitos', 'para'), ('para', 'acudir'), ('acudir', 'às'), ('às', 'urgências'), ('urgências', 'do'), ('do', 'estômago'), ('estômago', '.'), ('a', 'sua'), ('sua', 'fala'), ('fala', 'deve'), ('ser', 'um'), ('um', 'murmúrio'), ('murmúrio', 'de'), ('de', 'harpa'), ('harpa', 'eólia'), ('eólia', ';'), (';', 'o'), ('o', 'seu'), ('seu', 'amor'), ('amor', 'um'), ('um', 'desmaio'), ('desmaio', ','), (',', 'a'), ('sua', 'vida'), ('vida', 'uma'), ('uma', 'contemplação'), ('contemplação', ','), ('sua', 'morte'), ('morte', 'um'), ('um', 'suspiro'), ('suspiro', '.'), ('a', 'figura'), ('figura', 'é'), ('é', 'poética'), ('poética', ','), (',', 'mas'), ('mas', 'não'), ('não', 'é'), ('é', 'a'), ('a', 'da'), ('da', 'heroína'), ('heroína', 'do'), ('do', 'romance'), ('romance', '.'), ('.', 'suponhamos'), ('suponhamos', 'que'), ('leitor', 'não'), ('é', 'dado'), ('dado', 'a'), ('a', 'estes'), ('estes', 'devaneios'), ('devaneios', 'e'), ('e', 'melancolias'), ('melancolias', ';'), (';', 'nesse'), ('nesse', 'caso'), ('caso', 'imagina'), ('imagina', 'uma'), ('uma', 'miss'), ('dollar', 'totalmente'), ('totalmente', 'diferente'), ('diferente', 'da'), ('da', 'outra'), ('outra', '.'), ('.', 'desta'), ('desta', 'vez'), ('vez', 'será'), ('será', 'uma'), ('uma', 'robusta'), ('robusta', 'americana'), ('americana', ','), (',', 'vertendo'), ('vertendo', 'sangue'), ('sangue', 'pelas'), ('pelas', 'faces'), ('faces', ','), (',', 'formas'), ('formas', 'arredondadas'), ('arredondadas', ','), (',', 'olhos'), ('olhos', 'vivos'), ('vivos', 'e'), ('e', 'ardentes'), ('ardentes', ','), (',', 'mulher'), ('mulher', 'feita'), ('feita', ','), (',', 'refeita'), ('refeita', 'e'), ('e', 'perfeita'), ('perfeita', '.'), ('.', 'amiga'), ('amiga', 'da'), ('da', 'boa'), ('boa', 'mesa'), ('mesa', 'e'), ('e', 'do'), ('do', 'bom'), ('bom', 'copo'), ('copo', ','), (',', 'esta'), ('esta', 'miss'), ('dollar', 'preferirá'), ('preferirá', 'um'), ('um', 'quarto'), ('quarto', 'de'), ('de', 'carneiro'), ('carneiro', 'a'), ('a', 'uma'), ('uma', 'página'), ('página', 'de'), ('de', 'longfellow'), ('longfellow', ','), (',', 'coisa'), ('coisa', 'naturalíssima'), ('naturalíssima', 'quando'), ('quando', 'o'), ('o', 'estômago'), ('estômago', 'reclama'), ('reclama', ','), (',', 'e'), ('e', 'nunca'), ('nunca', 'chegará'), ('chegará', 'a'), ('a', 'compreender'), ('compreender', 'a'), ('a', 'poesia'), ('poesia', 'do'), ('do', 'pôr'), ('pôr', '-'), ('-', 'do'), ('do', '-'), ('-', 'sol'), ('sol', '.'), ('.', 'será'), ('uma', 'boa'), ('boa', 'mãe'), ('mãe', 'de'), ('de', 'família'), ('família', 'segundo'), ('segundo', 'a'), ('a', 'doutrina'), ('doutrina', 'de'), ('de', 'alguns'), ('alguns', 'padres'), ('padres', '-'), ('-', 'mestres'), ('mestres', 'da'), ('da', 'civilização'), ('civilização', ','), (',', 'isto'), ('isto', 'é'), ('é', ','), (',', 'fecunda'), ('fecunda', 'e'), ('e', 'ignorante'), ('ignorante', '.'), ('.', 'já'), ('já', 'não'), ('não', 'será'), ('será', 'do'), ('do', 'mesmo'), ('mesmo', 'sentir'), ('sentir', 'o'), ('leitor', 'que'), ('que', 'tiver'), ('tiver', 'passado'), ('passado', 'a'), ('a', 'segunda'), ('segunda', 'mocidade'), ('mocidade', 'e'), ('e', 'vir'), ('vir', 'diante'), ('diante', 'de'), ('de', 'si'), ('si', 'uma'), ('uma', 'velhice'), ('velhice', 'sem'), ('sem', 'recurso'), ('recurso', '.'), ('.', 'para'), ('para', 'esse'), ('esse', ','), ('a', 'miss'), ('dollar', 'verdadeiramente'), ('verdadeiramente', 'digna'), ('digna', 'de'), ('de', 'ser'), ('ser', 'contada'), ('contada', 'em'), ('em', 'algumas'), ('algumas', 'páginas'), ('páginas', ','), ('seria', 'uma'), ('boa', 'inglesa'), ('inglesa', 'de'), ('de', 'cinqüenta'), ('cinqüenta', 'anos'), ('anos', ','), (',', 'dotada'), ('dotada', 'com'), ('com', 'algumas'), ('algumas', 'mil'), ('mil', 'libras'), ('libras', 'esterlinas'), ('esterlinas', ','), ('e', 'que'), ('que', ','), (',', 'aportando'), ('aportando', 'ao'), ('ao', 'brasil'), ('brasil', 'em'), ('em', 'procura'), ('procura', 'de'), ('de', 'assunto'), ('assunto', 'para'), ('para', 'escrever'), ('escrever', 'um'), ('um', 'romance'), ('romance', ','), (',', 'realizasse'), ('realizasse', 'um'), ('romance', 'verdadeiro'), ('verdadeiro', ','), (',', 'casando'), ('casando', 'com'), ('com', 'o'), ('leitor', 'aludido'), ('aludido', '.'), ('dollar', 'seria'), ('seria', 'incompleta'), ('incompleta', 'se'), ('se', 'não'), ('não', 'tivesse'), ('tivesse', 'óculos'), ('óculos', 'verdes'), ('verdes', 'e'), ('e', 'um'), ('um', 'grande'), ('grande', 'cacho'), ('cacho', 'de'), ('de', 'cabelo'), ('cabelo', 'grisalho'), ('grisalho', 'em'), ('em', 'cada'), ('cada', 'fonte'), ('fonte', '.'), ('.', 'luvas'), ('luvas', 'de'), ('de', 'renda'), ('renda', 'branca'), ('branca', 'e'), ('e', 'chapéu'), ('chapéu', 'de'), ('de', 'linho'), ('linho', 'em'), ('em', 'forma'), ('forma', 'de'), ('de', 'cuia'), ('cuia', ','), (',', 'seriam'), ('seriam', 'a'), ('a', 'última'), ('última', 'demão'), ('demão', 'deste'), ('deste', 'magnífico'), ('magnífico', 'tipo'), ('tipo', 'de'), ('de', 'ultramar'), ('ultramar', '.'), ('.', 'mais'), ('mais', 'esperto'), ('esperto', 'que'), ('que', 'os'), ('os', 'outros'), ('outros', ','), (',', 'acode'), ('acode', 'um'), ('um', 'leitor'), ('leitor', 'dizendo'), ('dizendo', 'que'), ('que', 'a'), ('a', 'heroína'), ('romance', 'não'), ('é', 'nem'), ('nem', 'foi'), ('foi', 'inglesa'), ('inglesa', ','), ('mas', 'brasileira'), ('brasileira', 'dos'), ('dos', 'quatro'), ('quatro', 'costados'), ('costados', ','), ('o', 'nome'), ('nome', 'de'), ('dollar', 'quer'), ('quer', 'dizer'), ('dizer', 'simplesmente'), ('simplesmente', 'que'), ('a', 'rapariga'), ('rapariga', 'é'), ('é', 'rica'), ('rica', '.'), ('a', 'descoberta'), ('descoberta', 'seria'), ('seria', 'excelente'), ('excelente', ','), (',', 'se'), ('se', 'fosse'), ('fosse', 'exata'), ('exata', ';'), (';', 'infelizmente'), ('infelizmente', 'nem'), ('nem', 'esta'), ('esta', 'nem'), ('nem', 'as'), ('as', 'outras'), ('outras', 'são'), ('são', 'exatas'), ('exatas', '.'), ('dollar', 'do'), ('a', 'menina'), ('menina', 'romântica'), ('romântica', ','), (',', 'nem'), ('nem', 'a'), ('mulher', 'robusta'), ('robusta', ','), ('a', 'velha'), ('velha', 'literata'), ('literata', ','), ('a', 'brasileira'), ('brasileira', 'rica'), ('.', 'falha'), ('falha', 'desta'), ('vez', 'a'), ('a', 'proverbial'), ('proverbial', 'perspicácia'), ('perspicácia', 'dos'), ('dos', 'leitores'), ('leitores', ';'), (';', 'miss'), ('uma', 'cadelinha'), ('cadelinha', 'galga'), ('galga', '.'), ('para', 'algumas'), ('algumas', 'pessoas'), ('pessoas', 'a'), ('a', 'qualidade'), ('qualidade', 'da'), ('heroína', 'fará'), ('fará', 'perder'), ('perder', 'o'), ('o', 'interesse'), ('interesse', 'do'), ('.', 'erro'), ('erro', 'manifesto'), ('manifesto', '.'), ('.', 'miss'), (',', 'apesar'), ('apesar', 'de'), ('de', 'não'), ('não', 'ser'), ('ser', 'mais'), ('mais', 'que'), ('que', 'uma'), ('galga', ','), (',', 'teve'), ('teve', 'as'), ('as', 'honras'), ('honras', 'de'), ('de', 'ver'), ('ver', 'o'), ('seu', 'nome'), ('nome', 'nos'), ('nos', 'papéis'), ('papéis', 'públicos'), ('públicos', ','), (',', 'antes'), ('antes', 'de'), ('de', 'entrar'), ('entrar', 'para'), ('para', 'este'), ('este', 'livro'), ('livro', '.'), ('o', 'jornal'), ('jornal', 'do'), ('do', 'comércio'), ('comércio', 'e'), ('o', 'correio'), ('correio', 'mercantil'), ('mercantil', 'publicaram'), ('publicaram', 'nas'), ('nas', 'colunas'), ('colunas', 'dos'), ('dos', 'anúncios'), ('anúncios', 'as'), ('as', 'seguintes'), ('seguintes', 'linhas'), ('linhas', 'reverberantes'), ('reverberantes', 'de'), ('de', 'promessa'), ('promessa', ':'), (':', 'desencaminhou'), ('desencaminhou', '-'), ('se', 'uma'), (',', 'na'), ('na', 'noite'), ('noite', 'de'), ('de', 'ontem'), ('ontem', ','), (',', '30'), ('30', '.'), ('.', 'acode'), ('acode', 'ao'), ('ao', 'nome'), ('.', 'quem'), ('quem', 'a'), ('a', 'achou'), ('achou', 'e'), ('e', 'quiser'), ('quiser', 'levar'), ('levar', 'à'), ('à', 'rua'), ('rua', 'de'), ('de', 'mata'), ('mata', '-'), ('-', 'cavalos'), ('cavalos', 'no'), ('no', '...,'), ('...,', 'receberá'), ('receberá', 'duzentos'), ('duzentos', 'mil'), ('mil', '-'), ('-', 'réis'), ('réis', 'de'), ('de', 'recompensa'), ('recompensa', '.'), ('dollar', 'tem'), ('tem', 'uma'), ('uma', 'coleira'), ('coleira', 'ao'), ('ao', 'pescoço'), ('pescoço', 'fechada'), ('fechada', 'por'), ('por', 'um'), ('um', 'cadeado'), ('cadeado', 'em'), ('em', 'que'), ('se', 'lêem'), ('lêem', 'as'), ('seguintes', 'palavras'), ('palavras', ':'), (':', 'de'), ('de', 'tout'), ('tout', 'mon'), ('mon', 'coeur'), ('coeur', '.'), ('.', 'todas'), ('todas', 'as'), ('as', 'pessoas'), ('pessoas', 'que'), ('que', 'sentiam'), ('sentiam', 'necessidade'), ('necessidade', 'urgente'), ('urgente', 'de'), ('de', 'duzentos'), ('réis', ','), ('e', 'tiveram'), ('tiveram', 'a'), ('a', 'felicidade'), ('felicidade', 'de'), ('de', 'ler'), ('ler', 'aquele'), ('aquele', 'anúncio'), ('anúncio', ','), (',', 'andaram'), ('andaram', 'nesse'), ('nesse', 'dia'), ('dia', 'com'), ('com', 'extremo'), ('extremo', 'cuidado'), ('cuidado', 'nas'), ('nas', 'ruas'), ('ruas', 'do'), ('do', 'rio'), ('a', 'ver'), ('ver', 'se'), ('se', 'davam'), ('davam', 'com'), ('a', 'fugitiva'), ('fugitiva', 'miss'), ('.', 'galgo'), ('galgo', 'que'), ('que', 'aparecesse'), ('aparecesse', 'ao'), ('ao', 'longe'), ('longe', 'era'), ('era', 'perseguido'), ('perseguido', 'com'), ('com', 'tenacidade'), ('tenacidade', 'até'), ('até', 'verificar'), ('verificar', '-'), ('se', 'que'), ('que', 'não'), ('não', 'era'), ('era', 'o'), ('o', 'animal'), ('animal', 'procurado'), ('procurado', '.'), ('mas', 'toda'), ('toda', 'esta'), ('esta', 'caçada'), ('caçada', 'dos'), ('dos', 'duzentos'), ('réis', 'era'), ('era', 'completamente'), ('completamente', 'inútil'), ('inútil', ','), (',', 'visto'), ('visto', 'que'), (',', 'no'), ('no', 'dia'), ('dia', 'em'), ('que', 'apareceu'), ('apareceu', 'o'), ('o', 'anúncio'), (',', 'já'), ('já', 'miss'), ('dollar', 'estava'), ('estava', 'aboletada'), ('aboletada', 'na'), ('na', 'casa'), ('casa', 'de'), ('de', 'um'), ('um', 'sujeito'), ('sujeito', 'morador'), ('morador', 'nos'), ('nos', 'cajueiros'), ('cajueiros', 'que'), ('que', 'fazia'), ('fazia', 'coleção'), ('coleção', 'de'), ('de', 'cães'), ('cães', '.'), ('.', 'capítulo'), ('ii', 'quais'), ('quais', 'as'), ('as', 'razões'), ('razões', 'que'), ('que', 'induziram'), ('induziram', 'o'), ('o', 'dr'), ('dr', '.'), ('.', 'mendonça'), ('mendonça', 'a'), ('a', 'fazer'), ('fazer', 'coleção'), ('cães', ','), (',', 'é'), ('é', 'coisa'), ('coisa', 'que'), ('que', 'ninguém'), ('ninguém', 'podia'), ('podia', 'dizer'), ('dizer', ';'), (';', 'uns'), ('uns', 'queriam'), ('queriam', 'que'), ('que', 'fosse'), ('fosse', 'simplesmente'), ('simplesmente', 'paixão'), ('paixão', 'por'), ('por', 'esse'), ('esse', 'símbolo'), ('símbolo', 'da'), ('da', 'fidelidade'), ('fidelidade', 'ou'), ('ou', 'do'), ('do', 'servilismo'), ('servilismo', ';'), (';', 'outros'), ('outros', 'pensavam'), ('pensavam', 'antes'), ('antes', 'que'), (',', 'cheio'), ('cheio', 'de'), ('de', 'profundo'), ('profundo', 'desgosto'), ('desgosto', 'pelos'), ('pelos', 'homens'), ('homens', ','), (',', 'mendonça'), ('mendonça', 'achou'), ('achou', 'que'), ('que', 'era'), ('era', 'de'), ('de', 'boa'), ('boa', 'guerra'), ('guerra', 'adorar'), ('adorar', 'os'), ('os', 'cães'), ('.', 'fossem'), ('fossem', 'quais'), ('quais', 'fossem'), ('fossem', 'as'), ('razões', ','), (',', 'o'), ('o', 'certo'), ('certo', 'é'), ('é', 'que'), ('ninguém', 'possuía'), ('possuía', 'mais'), ('mais', 'bonita'), ('bonita', 'e'), ('e', 'variada'), ('variada', 'coleção'), ('coleção', 'do'), ('do', 'que'), ('que', 'ele'), ('ele', '.'), ('.', 'tinha'), ('tinha', '-'), ('-', 'os'), ('os', 'de'), ('de', 'todas'), ('as', 'raças'), ('raças', ','), (',', 'tamanhos'), ('tamanhos', 'e'), ('e', 'cores'), ('cores', '.'), ('.', 'cuidava'), ('cuidava', 'deles'), ('deles', 'como'), ('como', 'se'), ('se', 'fossem'), ('fossem', 'seus'), ('seus', 'filhos'), ('filhos', ';'), ('se', 'algum'), ('algum', 'lhe'), ('lhe', 'morria'), ('morria', 'ficava'), ('ficava', 'melancólico'), ('melancólico', '.'), ('.', 'quase'), ('quase', 'se'), ('se', 'pode'), ('pode', 'dizer'), ('dizer', 'que'), ('no', 'espírito'), ('espírito', 'de'), ('de', 'mendonça'), ('mendonça', ','), ('o', 'cão'), ('cão', 'pesava'), ('pesava', 'tanto'), ('tanto', 'como'), ('como', 'o'), ('o', 'amor'), ('amor', ','), (',', 'segundo'), ('segundo', 'uma'), ('uma', 'expressão'), ('expressão', 'célebre'), ('célebre', ':'), (':', 'tirai'), ('tirai', 'do'), ('do', 'mundo'), ('mundo', 'o'), ('cão', ','), ('o', 'mundo'), ('mundo', 'será'), ('será', 'um'), ('um', 'ermo'), ('ermo', '.'), ('leitor', 'superficial'), ('superficial', 'conclui'), ('conclui', 'daqui'), ('daqui', 'que'), ('o', 'nosso'), ('nosso', 'mendonça'), ('mendonça', 'era'), ('era', 'um'), ('um', 'homem'), ('homem', 'excêntrico'), ('excêntrico', '.'), ('era', '.'), ('homem', 'como'), ('como', 'os'), ('outros', ';'), (';', 'gostava'), ('gostava', 'de'), ('cães', 'como'), ('como', 'outros'), ('outros', 'gostam'), ('gostam', 'de'), ('de', 'flores'), ('flores', '.'), ('.', 'os'), ('cães', 'eram'), ('eram', 'as'), ('as', 'suas'), ('suas', 'rosas'), ('rosas', 'e'), ('e', 'violetas'), ('violetas', ';'), (';', 'cultivava'), ('cultivava', '-'), ('os', 'com'), ('o', 'mesmíssimo'), ('mesmíssimo', 'esmero'), ('esmero', '.'), ('.', 'de'), ('flores', 'gostava'), ('gostava', 'também'), ('também', ';'), (';', 'mas'), ('mas', 'gostava'), ('gostava', 'delas'), ('delas', 'nas'), ('nas', 'plantas'), ('plantas', 'em'), ('que', 'nasciam'), ...]
machado_3gram[('mas', 'não')]
FreqDist({'é': 108, 'se': 77, 'me': 63, 'era': 54, 'há': 49, 'foi': 30, 'o': 28, 'lhe': 27, 'pôde': 25, 'sei': 24, ...})
machado_3gram_cp = nltk.ConditionalProbDist(machado_3gram, nltk.MLEProbDist)
cp = machado_3gram_cp[('sua','vida')]
cp.samples()
dict_keys(['uma', ';', 'soares', ':', 'era', 'foi', 'um', '.', 'não', ',', 'próspera', 'e', 'realizado', 'depende', 'tinha', 'na', 'de', 'mais', 'pelo', 'acontecimento', 'se', 'seria', 'toda', '...', 'despedaçada', 'laboriosa', 'matou', 'interior', 'malbaratada', 'cansada', 'pendia', 'fosse', 'militar', 'em', 'amorosa', '?', 'naquele', 'ou'])
machado_3gram_cp[('sua','vida')].generate()
'despedaçada'
def gera_texto2(bigrama_inicial, cpd,numero=50):
b = bigrama_inicial
texto = ' '.join(b)
for i in range(numero):
w2 = cpd[b].generate()
sep = ' ' if (w2 not in string.punctuation and b[1] != '-') else ''
texto += sep + w2
b = (b[1],w2)
return texto
gera_texto2(('sua','vida'), machado_3gram_cp, 200)
'sua vida. ainda criança e reprimiu o seu último livro de vistas ). cena x alvarez, dumont estava apertado dentro de mim ... e pára diante de um preto que trazia consigo uma conseqüência, pouco haja atendido aos meus instintos solitários. na noite, no armazém. não conhecia as virtudes da escola, que assistira à leitura o livro, causa-me como um recreio procurá-la à sua pessoa. prima justina não achou semelhante prenda; mas a cruel verdade. o mundo passageiro não pode repetir a advertência fê-lo, aplaudi-lo, viu parar ao fim, ou os simples bilhetes, pô-lo. em todo o lado feio, tão jovem, graças a deus que está feito, começando na questão de fato, a limpeza que deus lhe fale ... mas não fazem uma constelação de sentimentos religiosos de laurindo rabelo foi uma imprudência, eu gostaria, porque os homens iam fumar. indefinido é o tal vírgula que te espantas ... marcelina não ouviu, até que o céu e no fim de alguns minutos antes, muçulmano agora, que'