[Música] Olá pessoal tudo bem bem-vindos a semana 4 da nossa disciplina de processamento de linguagem natural e hoje a gente vai abordar o tópico chamado modelagem de tópicos certo então a gente vai seguir essa estrutura aqui da apresentação primeiro a gente vai fazer uma introdução ao que que é a modelagem de tópicos depois a gente vai falar sobre modelos probabilísticos né para resolver esse problema e Mais especificamente o algoritmo Lda e por fim a gente vai ver como é que a gente pode fazer uma avaliação né dos Tópicos dessa da qualidade né dessa modelagem tópicos
Bom primeiramente né fazer uma apresentar uma motivação né sobre a ideia de de se trabalhar com modelagem de tópicos né iniciando com a definição né que basicamente que modelos de tópicos eles provêem métodos né para automaticamente organizar entender buscar e sumirizar uma grande coleção de documentos basicamente a ideia que a gente tem aqui é de tentar descobrir né extrair informações padrões ocultos nesses dados né de forma a categorizar esses nossos textos de uma forma diferente né com a construção desses tópicos é isso aqui nada mais é do que um vamos analogia bem simples né se
utiliza muitos algoritmos de agrupamento né então a gente tá fazendo um agrupamento né o cluster né desses nossos documentos Qual que é a ideia em vez da gente é representar um texto por vários é um texto que a gente tem várias palavras diferentes a gente tenta encontrar tópicos né para poder resumir vamos dizer assim esses nossos esses nossos textos né E esses padrões que a gente quer encontrar são padrões que estão ocultos né nos nossos documentos né e a gente pode anotar documentos né de acordo com esses tópicos e também usar essas notações para organizar
sumarizar e até auxiliar na busca por outros documentos que são relacionados a esses tópicos né então a gente vai ver um pouquinho de mais detalhes aqui durante apresentação esse aqui é um exemplo pessoal de um conjunto de tópicos né que foram descobertos nesse trabalho aqui na distribuição de trópicos sobre palavras né trabalho de lei em 2011 Então a gente tem aqui palavras que compõem quatro tópicos que foram descobertos a partir do se eu não me engano foram os últimos 100 anos né desde então dessa publicação dos artigos científicos publicados na revista Science e a partir
disso se construiu esse tópicos né Que nada que podem ser representados a gente vai ver como isso é feito no nosso Lda né pode ser representado por um conjunto de palavras que Normalmente quando aparecem juntas ao mesmo tempo num documento elas caracterizam um determinado tópico Então a gente vai ver que essa primeira coluna são palavras que a gente pode depois que uma vez descoberta esses tópicos nesse caso aqui são quatro cada uma dessas colunas né a gente vai olhar na mesma forma que a gente faz com uma análise de agrupamento né a gente vai olhar
para esses tópicos tentar entender o que que aquilo ali representa ó esses caras estão sempre juntos a palavra humanos Genoma DNA Gene sequência Então vou entender que isso aqui pode ser algo que fala sobre genética vamos dizer assim um tópico de genética já a nossa quarto vamos dizer assim nossa quarta coluna aqui fala de computador modelos informação dados computadores etc então a gente vê que pode ser algum algum alguma categoria que a gente pode chamar de computação ou de computador ou de informática né Se a gente for pegar esses tópicos né Essas estruturas que a
gente acaba encontrando com diferença algoritmos com diferentes conjuntos de textos é cada pessoa que for analisar esses tópicos ela pode dar um nome pode dar um rótulo diferente para esses aí né tô dando alguns exemplos para vocês como que a gente denominaria esses tópicos foram encontrados né se a gente for ver a segunda coluna que fala de evolução é evolutivo espécies organismos vida a gente poderia considerar um tópico como evolução por exemplo chamar a evolução Evolution né no inglês né e o terceiro aqui são doenças né deslize host que é hospedeiro ou doença ou bactéria
né também são palavras né que são são relacionadas assim a gente pode ao tópico de doença a gente poderia construir um tópico jamais tópico de doenças né certo só para gente ter uma ideia do que que pode ser feito aqui né O que que a gente pode acabar descobrindo nessas nossas nessas nossas modelagem tópicos mas resumidamente que que a gente tem a partir de um conjunto de documentos que a gente tem vários documentos com várias palavras que compõem esses documentos a gente quer criar esse tópicos não só colocar esses caras que a gente tá esses
documentos que a gente tá trabalhando distribuir ele em diferentes tópicos mas a gente também quer criar né esses tópicos né Essa aqui é a ideia para poder fazer essa organização melhor dos documentos né Aqui tem alguns exemplos né de tópicos que foram extraídos de discursos políticos por exemplo então claro que a gente pegaria um discurso político trânsito faria uma transcrição escreveria num texto para depois fazer essa extração né então aqui a gente tem alguns exemplos de algumas palavras que aparecem aqui no eixo Y A gente tem o número de discursos né ou seja o número
de documentos né que a gente tem esses assuntos essas palavras que estão aqui do tópico representado por essas palavras que a gente tá vendo aqui como ruas povo movimento população etc e aí para cada mês ano aqui a gente vai vendo esse número de discursos que tem esse assunto né e a gente vê que tem um destaque aqui tem um pico em junho de 2013 por exemplo né para esse assunto e para esse um outro tópico também extraído de discursos políticos né que seria um tópico representado por essas palavras que a gente tá vendo aqui
mulheres violência feminina homens Maria da Maria lei e etc né e a gente vê que tem alguns Picos também aqui em março de 2011 em março de 2012 em março de 2013 né a gente tem algumas alguns Picos aí que aparecem nesses nesses dados né esse aqui também é outro exemplo interessante pessoal é uma figura no navegador que foi posso passar o link depois no no na nossa no nosso Ava para vocês darem uma olhada nesse artigo né que fez uma ferramenta um navegador aqui né que faz uma navegação na Wikipédia e com esse modelo
de tópicos né a gente depois a gente começar pelo canto superior aqui a gente vai ver um conjunto de tópicos né que cada sendo cada tema que a gente tem aqui né descoberto por um algoritmo de modelagem de tópicos né então se a gente clicar em um tópico específico aqui sobre cinema e televisão por exemplo a gente vai escolher um documento que está associado a esse tema que é um artigo né que a gente tem aqui sobre o Stanley cobrity E aí depois a gente vai de novo continuando né E aí a gente é a
página sobre esse artigo vai incluir o conteúdo e os tópicos de que se trata né que a gente tem aqui sobre esse artigo a gente pode explorar também esse tópico relacionado sobre filosofia por exemplo né e Psicologia e finalmente a gente vai visualizar um artigo que a gente que vai ser relacionado com o tema de existencialismo né que a gente tem aqui no final né Então essa estrutura de navegação que a gente tem aqui ela é criada executando esse algum algoritmo de modelagem de tópicos né a partir do texto bruto que a gente tem no
nosso Wikipédia né E aí depois a gente acaba fazendo essa visualização ao final né bom os modelos para poder fazer essa criação né criar esses grupos criar esses tópicos né A gente vai ver o mais conhecido com a Lda né que é um modelo probabilístico né basicamente pessoal os modelos probabilísticos é um conjunto de algoritmos né que tem como objetivo descobrir as estruturas né temáticas em grandes coleções de documentos né a gente tem aqui alguns exemplos né como plsi o hdp mas o Lda é um modelo base aí que é o bastante conhecido e bem
mais utilizado para poder fazer essa modelagem de tópicos né então A ideia é que a partir de uma coleção de documentos a gente tente encontrar esses tópicos que Eu mencionei para vocês né O que que é o que esses modelos que normalmente nos proporcionam né vai nos proporcionar não só uma quantidade pra cada tópico ele vai ser representado por uma quantidade de palavras algumas palavras e é cada documento que a gente tiver vai ser associado a uma probabilidade né é uma para cada um para cada palavra desses tópicos Então a gente tem lá vamos supor
vamos supor que a gente tem três tópicos e tópico representado por cinco palavras então a gente pode colocar isso como sendo um vetor né Cada top que ser um vetor de cinco valores e aí quando a gente tiver algum um documento chegando vamos dizer assim né a ideia o que que é a gente ter algumas probabilidades associadas a esses tópicos aí esses valores então para cada tópico a gente vai ter probabilidades dessas palavras que a gente tá que tão cedo que vão representando esses tópicos né E claro que aquelas palavras que a gente tem que
são mais importantes elas vão ter uma probabilidade maior dentro de um determinado tópico né e outras não tão altas como essas que são mais importantes né mas a ideia é encontrar então esses esses valores né Essas probabilidades para poder representar esses nossos tópicos né então Lda essa e essa algoritmo que a gente vai ver aqui né Ele é um método padrão né de modelagem de tópicos ele foi descrito pelo Play e tal em 2003 aqui tem um link para o artigo se vocês quiserem dar uma olhada né ele assume o modelo generativo né E tem
aqui também o modelo correlator top model né o CTN que é uma extensão do Lda né de informação para vocês né bom Como Eu mencionei não Lda né ele ele faz parte do dos algoritmos probabilísticos para modelagem de tópicos né e basicamente a ideia então né é a gente a partir dessas desses nossas palavras que a gente tem né que são as palavras que são no nosso texto a gente tentar encontrar essas variáveis latentes que a gente ama né que são as variáveis ocultas né que na verdade são os tópicos que a gente quer descobrir
aqui né Então as variáveis observadas que a gente tem no processo são as palavras desses documentos né que a gente vai utilizar né para cada documento nós vamos usar as palavras desse documento e as ocultas vão ser essas estruturas de tópicos aí que a gente quer estimar né então ele ele parte do princípio que cada documento ele é uma mistura de cá assuntos cada assunto vai possuir uma distribuição de probabilidade para os retermos do vocabulário né os tópicos são distribuições de probabilidade sobre o amplo vocabulário hipotético então com esse modelo em hipótese geram os documentos
né caso fossem conhecidos parâmetros tenta fazer justamente o fazer a geração deles né e o modelo baseado em probabilidade condicional né então aqui a ideia é a estrutura Geral de um modelo probabilístico não necessariamente Lda né que a ideia então fazer algumas É pressupor algumas hipóteses né e a partir disso e a partir de uma coleção de dados uma coletânea de dados a gente vai inferir né fazer a inferência desses tópicos aí estimar essas probabilidades que a gente tá querendo trabalhar né E daí então depois que a gente fizer isso a gente pode utilizar televisão
para fazer uma checagem com os documentos que a gente tem vou fazer até uma análise exploratória tá essa é uma imagem um exemplo que vem do artigo do Lda também né para mostrar o funcionamento dele né então esse modelo ele dá ele parte ele tem como premissa né o fato de que os documentos exibem exibem em vários tópicos né então aqui a gente tem um exemplo é de um artigo que tá aqui né Janete que necessite ser o artigo que tá no próprio no próprio artigo do artigo que propõe o Lda tem esse documento que
a gente tá vendo na imagem aqui que também é um artigo né A Gente Tá misturando muito a palavra artigo só para diferenciar né então o artigo dos autores que propuseram tem essa imagem aqui representa um artigo Também com esse título né Que Eu mencionei para vocês agora certo Então trata do uso de análise de dados né pra determinar o número dos genes que um organismo precisa para sobreviver então destacados aqui diferentes palavras que aparecem né Rosa por exemplo em azul em amarelo diferentes palavras que estão nesse nesse documento são destacadas aqui se a gente
for ver aqui do lado esquerdo a gente alguns tópicos né que que seriam isso aqui nesse exemplo a gente teria quatro tópicos um tópico que a gente tá sendo representado por Amarelo o outro para o roxo o outro por verde e outro por Azul tá nessa ordem de cima para baixo não sei se tem alguém aqui que quer daltônico pode ter um pouco de dificuldade né mas então seria o amarelo é o primeiro o o roxo é o segundo o verde é o terceiro e o azul é o quarto aqui de cima para baixo tá
nesses tópicos que a gente tá vendo aqui certo não tem nome nenhum o que que a gente consegue ver aqui consegue ver aqui dentro de cada tópico a gente tem alguma palavrinha estão vendo ali ó e uma probabilidade associada ali um númerozinho associado dentro de cada tópico vai ter algumas palavras que vão representar esse tópico vamos dizer né que a gente tá conversando que são palavras que normalmente aparecem juntas Então se esses caras se essas palavras aparecerem no documento provavelmente esse documento ele tá relacionado a esse tópico né só que mesmo assim cada uma dessas
palavras ela tem um peso diferente dentro daquele tópico né então esses pesos né que seriam generalizando aqui né seria esses valores que a gente tá vendo aqui essas probabilidades né e isso serve para cada um dos Tópicos que tá aqui né então se a gente for ver aqui se a gente pegar um documento por exemplo uma vez que a gente extraiu esses tópicos né a ideia que a gente tá tendo aqui é construir isso né a gente não tem nome nenhum depois que a gente construir esses esses quadradinhos que a gente tá vendo aqui a
gente vai olhar para eles e vai tentar por exemplo dar um nome que nem a gente viu no exemplo anterior lá isso aqui deve falar sobre medicina esse aqui deve ser um tópico fala sobre esportes vamos dizer assim né a gente pode dar um nome para ele mas na verdade a ideia é que não é encontrar nome Sim essas palavras que representam esses tópicos né então se a gente pegar um documento novo aqui a gente olhar para ele ele tá muito Rosa então Ó esse cara aqui provavelmente ele é do tópico representado por esse segundo
quadrado aqui né ah não ele tá muito Amarelo então ele é do primeiro então a gente consegue ter essa ideia visual né do que que tá acontecendo assim nessas palavras basicamente vão representar quanto mais palavras tiver daquela cor basicamente Vai representar aquele tópico né só que na realidade Claro a gente vai observar apenas os documentos né as outras variáveis que nem mencionei anteriormente elas são variáveis latentes né Essas que a gente tá querendo criar né a gente vai olhar para os documentos vai tentar criar aquela estrutura que a gente viu no slide anterior aquele ali
seria o resultado vamos dizer assim né do nosso algoritmo de modelagem de tópicos né então a ideia do Lda é justamente fazer isso né fazer essa leitura né dos documentos porque porque ele vai ter como entrada Só um conjunto de documentos e a partir desse conjunto de documentos a gente não vai entrar em detalhes específicos do algoritmo aqui porque ele ele tem uma uma carga matemática é bem bem pesada né Mas é para dar ideia geral para vocês né como vocês já viram Vocês já viram no no na leitura do documento né do livro dá
uma ideia geral para vocês como é que funciona né mas a ideia então é a partir desses documentos que a gente tá vendo aqui vai fazer essa leitura e vai construir esse algoritmo para poder fazer a construção desses tópicos e preencher essas quadradinhas que estão aqui né ou criar mais ou menos né dependendo de que que vai ser utilizado né e a ideia é basicamente então é computar essa distribuição né é condicionada né então a gente vai inferir as variáveis latentes e depois computa a distribuição condicionadas aos documentos né então o que que seria isso
a polaridade condicional né para vamos ver aqui qual a probabilidade do tópico de tópico palavras documento tópicos atribuições dados os documentos então A ideia é que esse algoritmo dos retorne isso aqui a partir de um conjunto de documentos né então o modelo Lda pessoal ele tem essa ideia né um processo Imaginário né para descrever como que esses documentos são criados né porque ele é generativo né formalmente ele vai definir um tópico como sendo uma distribuição sobre o vocabulário das palavras e assume que os tópicos são especificados antes de qualquer dado seja gerado essa que é
ele assume isso antes né que já tá especificado tópico né Então aí depois ele vai só fazendo o preenchimento né então a gente tem aqui uma ideia geral eu vou passar no próximo slide aqui um passo a passo que tá um pouco mais claro tá é basicamente a gente não vai entrar em detalhes que a gente tá vendo aqui né a gente o algoritmo Ele é bem ele tem algumas variações inclusive né mas basicamente como é que seriam esses quatro passos que tem esse nosso algoritmo linear né Eu preparo um então ele aleatoriamente ele vai
retribuir todos os rei e w né levando em conta tantas proporções dos Tópicos j o documento aí como a distribuição de cada palavra w não vocabulário de tópico né então usei w são aquelas aqueles valores que eu falei para vocês né de um documento aí para um w variando até o número k de catópicos né então para cada documento ir eu vou computar qual é a probabilidade da palavra né isso aí da w palavra né desculpe dessa palavra é para cada uma das palavras a gente vai poder fazer essa atribuição desses valores né para cada
documento né Então as proporções dos Tópicos JS no documento i e as atribuições de cada uma dessas palavras w no vocabulário do tópico né no passo 2 A gente vai aleatoriamente retribuir essas distribuições de tópicos em cada documento i a partir dos novos valores de rei w Então a gente vai sempre atualizando esse cara né esse passo vai se repetindo até que a gente chegue no final lá no que a gente quer né a gente vai repetir esse procedimento para todos os documentos e aleatoriamente a gente vai retribuir as distribuições dessas palavras por tópicos a
partir de todos os Rei w do Corpus no final basicamente O que que a gente vai querer ter aqui pessoal é basicamente né vai ter um valor aqui para cada documento vai ter uma probabilidade dele tá associado a uma palavra dentro de algum para cada para cada palavra para cada documento a gente vai ter uma probabilidade de ele ter associado a um determinado tópico o determinado a palavra de um determinado tópico então para cada tópico a gente vai ter aqueles valores que eu falei para vocês que a gente viu naquela caixinha né aqueles valores de
probabilidade né Essa que a ideia desse modelo ele dá né E como é que a gente faz avaliação depois né avaliação dos resultados avaliação dos resultados então avaliar esses modelos né a gente pode utilizar por exemplo é calcular o logaritmo de ver o Semelhança do modelo ou até mesmo usar uma métrica como essa aqui de perplexidade do modelo né tem essa forma é ilustrada para você só para vocês relembrar né então ele é bom para comparar esses modelos probabilísticos né só que os valores que a gente obtém com por eles não necessariamente condizem com a
correta a relação entre os tópicos né encontrados e os assuntos descritos na coleção né E aí a gente tem alguns trabalhos né posteriores que vão propondo outras formas de avaliação né que às vezes consegue os resultados melhores né como por exemplo eles proposta por Nilma né em 2010 né que é o método automático né para baseado na informação multa Entre palavras para formar um tópico né então ele faz um cálculo baseado na similaridade né média né entre pares de palavras e com aqueles que aquelas similaridades que tem maiores similaridade entre par de palavras ele considera
como sendo mais coerente né para ser o tópico né então aqui para finalizar pessoal algumas conclusões né a gente fala sobre os modelos probelíticos né eles oferecem uma excelente ferramenta aí pra gente hora organizar e buscar entender né uma vasta quantidade de informações entre a gente consegue organizar de forma melhor fazer consulta e etc e encontrar documentos relacionados àqueles aqueles documentos sem precisar utilizar toda a dimensionalidade do número de grande de palavras que tem esses documentos a gente pode trabalhar só com os tópicos depois Isso facilita bastante né e eles têm um tratamento matemático rigoroso
até por isso que a gente acabou não vendo os detalhes aqui da implementação né não é o escopo do curso e nós se for pegar um esqueleto implementar né não é não vai ser tão fácil assim né para tentar implementar o método desse vai precisar um pouco é uma tarefa um pouco difícil né quiser trabalhar com toda essa parte teórica da estatística para implementar esses métodos tá então a gente viu aqui é uma introdução A modelagem de tópicos os modelos probabilísticos né Mais especificamente o modelo Lda o algoritmo Lda para poder construir essa modelagem tópicos
E também como que pode ser feita a avaliação no resultado obtido por esses algoritmos tá bom na próxima vídeo aula a gente vai falar um pouco sobre a embeddens da mesma forma mais uma forma mais simplificada para a gente poder fazer representação de documentos é uma aula bem interessante tá bom e por fim né colocar para vocês aqui as referências que foram utilizadas né para preparar esse material dessa nossa vídeo aula de hoje tá bom pessoal então até a próxima um abraço aí [Música] [Música]