[Música] Olá pessoal sejam bem-vindos novamente na nossa disciplina de processamento de linguagem natural Hoje a gente vai falar um pouquinho sobre modelos nigramas né então os tópicos que a gente vai abordar na aula de hoje primeiro fazer uma introdução sobre os modelos de linguagem para depois falar um pouco fazer uma introdução sobre o tópico falar sobre modelos de linguagem e especificamente sobre esses modelos nigramas bom retomando Aquela nossa definição lá inicial do que que seria uma linguagem né de novo tô colocando para vocês aqui o nosso conteúdo iniciando essa semana né que tá especificamente nessa
questão que determina a ordem né em que as palavras aparecem né a ordem que esses símbolos vocabulário os nossos toques nossas palavras acabam aparecendo e sendo expressos Nesse contexto Então no que vai tratar desse assunto sobre modelos de linguagem agora a gente tá mais preocupado especificamente nessa questão aqui da definição sobre linguagens tá bom qual a importância Então como que a gente pode determinar né falar um pouquinho sobre a ordem de ocorrência dessas palavras né o que que vai definir a ordem de ocorrência de algum de algumas palavras então a gente teria que um exemplinho
só para a gente pensar um pouquinho se a gente tivesse essa frase Cada Macaco No seu e uma lacuna para preencher o que que vai colocar ali que que a gente pensaria em colocar né pô a gente vai lembrar da expressão e tal Cada macaco no seu galho pensa não a imagem A palavra que deve ser colocada ali deve ser a palavra galho né outra questão importante como que a gente define diferencia o que que estaria correto vamos dizer assim né verificando duas sentenças qual delas que estaria correta macaco cada no seu no seu ou
Cada macaco no seu galho né então é uma outra forma também da gente ver a importância né e como que a gente pode eh estimar Por exemplo quando uma as palavras estão na ordem correta ou não Ou quando a gente tem que determinar qual palavra que a gente vai utilizar né completar uma frase por exemplo né Então como que a gente vai ensinar o computador né definir qual vai ser a próxima palavra que a gente vai colocar numa frase ou Qual é a ordem correta dessas palavras uma vez que a gente tem elas todas sem
lacuna nenhuma mas tem elas todas numa frase né então aí que a gente entra nessa questão aqui de nesse tópico dessa semana agora né então geralmente é definida com base numa probabilidade de ocorrência então aqui pra mostrar pra vocês é a importância do conceito de probabilidade né estatística que é bastante importante nesse contexto agora no que a gente vai trabalhar com modelos de linguagem né então o que que a gente por exemplo uma ideia da gente utilizar a probabilidade aqui né Cada macaco no seu galho como é que a gente definiria a probabilidade dessa da
da da da da frase ocorrendo essa sequência né de ser galho né a probabilidade da palavra que a gente quer colocar lá na lacuna ser a palavra galho seria o que é probabilidade da palavra galho dado que cada macaco no seu já ocorreu então a gente tá pensando assim em sentenças né probabilidade da palavra galho aparecer dado que é o Pipe né a gente com certeza lembro das definições né os conceitos de probabilidade né dado que as palavras a ocorreram nessa sequência Cada Macaco No Céu Então a gente vai ter com esse conceito né dessa
probabilidade é as chances da palavra que vai aparecer ali se a palavra galho né outra forma também interessante a gente ver fazer a comparação né dessas duas sentenças da ordem que essas palavras estão acontecendo macaco cada no seu galho versus Cada macaco no seu galho que que a gente poderia fazer como está a probabilidade né da sentença da inteira aparecer macaco caucada no seu galho e a probabilidade de cada macaco no seu galho e verificar qual delas é maior e qual delas é menor nesse caso aqui provavelmente né a segunda vai ser maior mas para
a gente poder para poder calcular essas probabilidades a gente precisa de de de informações né de textos né então claro que naturalmente a gente vai acabar utilizando textos bases que a gente tem muitas vezes oriundo de diferentes corpora né para poder fazer essa análise e poder fazer esse preenchimento né ou fazer essa essa verificação de qual sentença é mais provável que a outra né a ordem dessas palavras né quais seriam as aplicações que a gente poderia ter para isso então a primeira delas aqui seria geração de texto não é própria geração de textos né uma
sequência partindo de uma sequência já já gerada Cada Macaco No seu e aí a gente teria o quê como que a gente vai preencher agora vamos calcular a probabilidade de ser galinheiro de Saint Anzol de ser galho de setor por exemplo qual é a probabilidade de aparecer essas palavras a gente vem aqui e vê ó a probabilidade de a palavra que vai aparecer ali cegalho é maior do que das outras Então a gente vai acabar preenchendo com a palavra galho né bom vocês olha isso aqui vocês lembram do que né Vocês todo dia utiliza o
Google vocês começa a digitar fazer uma busca no Google ele já preenche para vocês automático é aquilo não tem aplicação maior mais clara do que essa né que a gente vê no nosso dia a dia né como é que ele faz isso pô e vocês podem perceber que na grande maioria das vezes ele acerta ele completa exatamente com o que vocês estão querendo fazer a busca né às vezes não na primeira vocês põe duas três palavras né duas palavras na terceira já não é quando vocês põem a terceira quarta já é a que vocês estão
querendo né perceba a ideia justamente justamente essa né claro que não necessariamente os modelos que o Google USA são esses modelos que a gente vai aprender agora ah é um modelo enema né não necessariamente mas é pode ser um outro tipo diferente um algoritmo diferente mas a ideia é essa né A ideia é justamente essa que nós estamos vendo aqui né de aplicação né a gente faz essa geração de texto outra aplicação interessante né é tradução de textos né bom a gente vai fazer uma tradução de texto a gente teria que algumas possíveis sentenças e
as probabilidades dessas sentenças a correrem né então quando a gente vai fazer a tradução também a gente vai ter pensando que isso aqui é um modelo é algo que foi traduzido do inglês pro português agora pô você não basta fazer uma tradução literal a gente vê que quando a gente vai trabalhar com nenhum inglesa com língua portuguesa fazer uma tradução as coisas não são feita palavra por palavra né é exemplos dos adjetivos em inglês o adjetivo vem antes né e no português o adjetivo vem depois mas só dando um exemplo Então como é que se
faz essa tradução como é que o Google Tradutor ele é tão realiza o trabalho dele tão bem feito faz tão bem feito esse trabalho de tradução atualmente né Por conta desse tipo de conhecimento que você vai vai fazendo provavelmente ele faz uma tradução Inicial literal depois ele acaba pegando essas palavras agora vamos botar na ordem certa aí ele Verifica a ordem das palavras se estão corretas compara com textos que já estão já fazem parte aí da literatura né e vê não a maioria dos casos a ordem é tal e acaba usando a ordem correta das
palavras então aqui do mesmo jeito né possíveis sentenças macaco cada no seu Cada macaco no seu galho galho no seu Cada Macaco qual é a probabilidade maior aqui qual delas aparecem mais vezes né em outros textos né é a segunda né que é uma probabilidade maior certo outra aplicação a questão de correção né então é possibilidade de corrigir sentença pô tem alguma coisa estranha aqui né por exemplo ela sentença original saudade corta como Aço de navalha pô mas pera aí tem alguma coisa errada aqui né o cara vai lá e olha as sentenças que seriam
corretas né saudade corta com ácido de navalha ou saudade corta com como Aço de Navais aí então a gente vai ver que a primeira tem uma probabilidade bem maior de acontecer né Então aí a gente vê algumas aplicações bem interessantes aí que fazem com que a gente eh ilustre a importância de processamento de linguagem natural né E para isso então a gente precisa aprender um pouquinho sobre modelos de linguagem né que que seria modelos de linguagem então o modelo de linguagem né ele inferno a probabilidade de uma sequência de palavras basicamente seria isso né e
é usado para prever por exemplo a próxima palavra dado uma sequência ou a ocorrência de uma sequência de palavras como a gente veio anteriormente Então qual é o modelo de linguagem que a gente vai usar para isso né então aqui como é que a gente faz para prever a próxima é próxima palavra dado uma sequência então dado uma sequência w2w3w4 qual é a probabilidade de aparecer agora W5 por exemplo ou qual é a probabilidade de ocorrência daquela sequência inteirando W2 w3w4 W5 né que seria basicamente isso aí baseado em teorias de probabilidades né para isso
então a gente poderia utilizar essa regra da cadeia né que que seria isso né é a probabilidade de uma sentença ela poder ser estimada pela multiplicação das probabilidades de cada palavra né que é isso que é estimada com base nas palavras anteriores Então a gente tem aqui os exemplos né pw1w2w3w4 W5 que que seria seria a probabilidade de W1 vezes a probabilidade de W2 W1 vezes a probabilidade de w3w www2 vezes a probabilidade de W4 www3 e vezes probabilidade de W5 w1w2w3 e W4 então aqui por exemplo né dos anos centenas que a gente tava
trabalhando anteriormente a probabilidade de cada macaco no seu galho seria igual a probabilidade de cada vezes probabilidade de macaco dado cada vez a probabilidade de no dado Cada Macaco e assim por diante né claro que isso aí quando a gente vai trabalhar com isso né a gente vai utilizar um grande corpos né porque porque daí a gente vai começar a verificar um Corpus a gente já viu o que que é né dentro daqueles diversos textos que tem de diversas categorias diferentes a gente vai começar a calcular essas probabilidades baseada nesses documentos que a gente tem
nesses nesse corpos né E aí fazendo isso a gente pode utilizar isso como base para poder fazer né com os textos novos que estão chegando que é o que a gente tá querendo fazer agora aqui né só que não é necessário a gente olhar para toda a sequência olhar entre aspas é calcular toda a sequência a gente pode simplificar um pouco isso aqui né então para a gente calcular por exemplo Cada macaco no seu galho a gente coloca lá a probabilidade de cada vezes probabilidade de macaco dá educada Veja a probabilidade dedo só a macaca
em vez de não considero não considera o cargo e assim por diante né a gente pode fazer essas complicações aí e chegar nas probabilidades que a gente quer encontrar né para tentar fazer essas essa resolver esses problemas que a gente viu para isso então um desses modelos de imagem bastante utilizados que a gente tem eu são os enegramas modelos nigramas né Que nada mais são do que sequência de n palavras tokens né É isso que a gente acaba utilizando em grama então por exemplo unigrama são todas as sequências possíveis de um determinado texto de tamanho
1 com uma palavra só então por exemplo essa frase aqui Cada macaco no seu galho teria esses todos esses minigramas que a gente tá vendo aqui né a gente acaba Considerando o string para poder ter não perder informação nas duas pontas no início e no fim a gente acaba utilizando o delimitador s ali tanto na ponta esquerda como na ponta direita né No início e no final para a gente ter esses caras de tamanho um porque a gente vai fazer o Big grama por exemplo duas palavras são todas as sequências que é todas as sequências
que aparecem juntas né de duas palavras a gente vai lá no Big grama vai ter eh o delimitador cada cada macaco macaco no seu seu galho e galho e depois o delimitador né e o trigrama por exemplo são todas as sequências que ocorrem juntas de três palavras a gente vai ver Cada macaco é quer dizer o delimitador Cada Macaco Cada Macaco novo macaco no seu no seu galho seu galho delimitador final né então a gente bom isso se estende para todos é quadrigrama e assim por diante com cinco seis sete oito palavras tá é assim
que que funciona esse modelo nigrama que a gente tá vendo aí né é que a gente faz faz um treinamento de um modelo de linguagem daí a gente calcula essas probabilidades de acordo com que a gente viu até o momento e faz essas complicações com os modelos de Big grama por exemplo utilizando essas sequências de tamanho dois ou os modelos de trigrama é utilizando essa sequência de tamanho 3 né então a gente calcula a frequência por exemplo dos Big grama aqui né para colocar o galho né ser o galho Então a gente vai calcular frequência
de seu galho dividido pela frequência do seu para saber o Quantas vezes o galho dentre aquelas as vezes que aparece a palavra seu quantas vezes quantas dessas vezes a próxima palavra é galho E aí a gente consegue fazer esse treinamento desse modelo de linguagem né Tem um exemplo aqui se vocês forem entrar no link que eu coloquei aqui para vocês no colab utilizando ltk Vocês conseguem né Nós vamos trabalhar isso na nossa vídeo aula né de aula prática né no final da semana mas você já podem começar a ver um pouquinho como é que isso
é feito na prática tá a gente tem outros também outros enigmas que a gente tem por aí né com expressões multipar palavras por exemplo né que são combinações de palavras que juntam pode representar algo a mais né do que a simples composição de suas ideias né e a gente também tem algumas entidades nomeadas né uma ou mais palavras que tenham que tem um papel no mundo Então a gente tem algumas dicas aqui vocês podem acessar os links também para ver esses métodos que a gente tem aqui de modelos Berti pra né Por Exemplo né tem
a dica que vocês vê o kit aqui do mwe vocês podem também pegar essas informações aí para essas expressões pras palavras né e as aplicações práticas né os exemplos práticos de como a gente vai utilizar isso né que é bem simples como a gente viu aqui agora Cálculos de probabilidades né é a gente trabalha um pouco melhor a nossa na nossa vídeo aula final da semana certo então a gente viu aqui falar um pouquinho sobre a introdução né modelos né falamos sobre modelos de linguagem e também sobre o modelo enigmas na nossa próxima vídeo aula
a gente vai começar a ver como é que a gente pode representar de forma estruturada esses textos que a gente tá até agora falando de textos né e Não vimos ainda como que a gente pode estruturar de representar esses textos de forma estruturada para começar a trabalhar com eles depois para outros tipos de problemas como por exemplo classificação de textos né E a gente vai desse tipo de representação a gente vai começar com essa representação vetorial de texto Tá bom então até a próxima pessoal abraço [Música] [Música]