[Música] Olá pessoal sejam bem-vindos à sétima e última semana do nosso curso de processamento de linguagem natural em que a gente vai trabalhar com o tópico bastante interessante que análise de sentimentos e para essa primeira vídeo aula a gente vai iniciar falando sobre similaridade semântica que é bastante importante para esse tópico então agora a gente vai tratar dos Tópicos primeiro fazer uma introdução a semântica e para poder falar também um pouquinho sobre o que que é similaridade semântica para então a gente voltar né ao ponto o que a gente tem visto nas últimas semanas que
é estudar o que que a gente tem de estado da arte né na área bom desde lá das nossas primeiras aulas né a gente colocou aqui uma definição sobre o que que é linguagem aos pouquinhos a gente foi vendo onde que se encaixava cada uma cada um dos conceitos cada um dos Tópicos a gente trata durante a semana né e a gente tá vendo aqui agora que a semana né ela trata do significado né como vocês já devem saber né mas é só para colocar isso bem claro aqui no ponto que a gente tá na
nossa disciplina né E também continuando com aquele nosso Exemplo né sobre o quão difícil é processar automaticamente a linguagem natural né a gente tem aquela frase que a gente vê desde o início do curso sobre o menino foi para escola de ônibus né e agora no nosso foco aqui para fazer esse tipo de análise é tentar entender a semântica né dessa nossa nessa nessa nosso conteúdo essa nossa frase nossa sentença que a gente tem aqui né e essa análise semântica a gente vai ver um pouco né que ela é feita tanto em nível lexico né
que a gente já viu um pouquinho sobre isso que é o significado de cada uma das palavras mas não interessa apenas o significado das palavras de forma individual e sim quando elas estão em conjunto em uma determinada frase e essas coisas podem mudar né ao longo do que a gente vê durante a frase certo bom em níveis linguísticos então né a gente teria que a nossa semântica que nem eu falei para vocês né que é o estudo do significado teria basicamente essas duas formas diferentes né dois níveis diferentes que seria a semântica lexical né que
é o entendimento dos significados das unidades linguísticas né ou das palavras de forma individual como por exemplo escola e ônibus né cada uma delas tem uma semântica diferente e a gente também tem a semântica composicional né que trata então do significado dessas unidades quando ela se agrupam e uma frase por exemplo escola de inglês então é diferente de analisar individual mente o significado das palavras né e a gente tem algumas relações importantes também aqui quando a gente fala sobre semântica a gente vai ver um pouquinho de cada uma delas das mais importantes primeiro falar um
pouquinho da polissemia que que é a polissemia né É quando a mesma palavra ela tem significados relacionados por exemplo a palavra letra ela palavra letra A gente pode ter uma letra como sendo uma unidade de uma palavra descrita como a gente já conhece ou por exemplo também uma letra de música né Então essa é uma Palace a gente pode dizer que essa palavra letra é uma palavra polissêmica né a gente também tem uma outra relação que a homonímia é quando a mesma palavra ela tem significados não relacionados Então a gente vai falar de manga por
exemplo a palavra manga ela ela tem um significado quando a gente tá falando da fruta e ela tem um outro significado a mesma palavra escrita da mesma forma quando a gente fala numa manga de uma camiseta por exemplo então aí seria uma relação de homonímia certo a gente também tem outras relações algumas delas vocês já conhecem são mais utilizadas no cotidiano diferentes daquela dessas que a gente mencionado anterior que seria a relação de sininonomia né Ou seja a palavra cômico engraçado elas são sinônimas nessas duas palavras são sinônimas né palavra vocábulo também né ou quando
a gente tem antonímia né antonímia seria os antônimos né Bom e ruim por exemplo a Mari odiar né tudo isso são relações importantes que a gente tem aqui na semântica das palavras né quando a gente vai trabalhar principalmente com processamento de linguagem natural porque Vejam a dificuldade que tem né da gente poder identificar esse tipo de relação quando a gente trabalha com um processamento automático de texto né Diferentemente quando quando a gente tá fazendo isso em uma linguagem falada a gente pelo contexto toda a gente acaba entendendo né Por Conta do conhecimento que a gente
tem aí durante os anos né mas para o computador fazer isso é bem mais difícil do que o ser humano né outras relações que a gente tem aqui também né seria a relação de hiperonímia ou hiponímia né que a relação de é um né ou por exemplo uma maçã é uma fruta né então a gente tem que seria uma relação de hipônica entre massa e fruta e hiper quando é entre fruto e maçã mesma coisa quando é veículo e carro por exemplo né ou a gente tem também aqui outra relação de olanímia e meronímia né
que é a relação de parte dele né então por exemplo uma roda é parte do carro né e o carro ele é num todo um pouco maior ele contém vamos dizer assim a roda né mesma coisa cadeira e o pé da cadeira né então são outras relações que a gente tem aí na semântica né entre as palavras né e agora quando a gente fala da semântica composicional a gente tá então tentando levar em consideração levando em consideração as relações que a gente tem né nas palavras quando elas estão agrupadas né então o que por exemplo
o significado de uma sentença ela vai depender dos itens lexicais que acompanha né então a gente tem que o significado de uma MWM que seria uma medida de de uma medida de de avaliação né de uma medida que avalia a similaridade semântica entre entre essas palavras né de faz uma avaliação com posicional né semântica ocupacional determinada sentença frase né então ela vai depender dos itens lexicais que compõem né então a gente tem aqui um princípio de comporcionalidade né que o significado de um constituinte sintático ele é derivado exclusivamente do significado de seus constituintes imediatos então
a gente leva em consideração o que tá em torno desse desse constituinte e a gente tem nessa quando a gente vai trabalhar com semântica com posicional algumas formas de representar isso né é um formalismo de representação né que a gente tem alguns exemplos É a lógica de primeira ordem por exemplo que a gente já trabalhou bastante aí vocês devem ter trabalhado no início do curso né então a gente teria que os predicados as variáveis quantificadores conectivas lógicos né para determinar essa semântica Então aqui tem um exemplo né um menino foi para a escola de ônibus
aquela mesma frase né então a gente teria que o nosso e ir né o Ira que seria menino escolhe Então quer dizer que o menino foi pra escola e aí isso faz um e né então além do menino ter ido pra escola o modo que ele foi pra escola né então ele ir de ônibus né então o modo que ele foi é de ônibus né então a gente teria uma forma de representar isso utilizando lógica de primeira ordem né outro formalismo de representação eu coloquei aqui o link vocês podem dar uma olhada depois em mais
detalhes né seria o que é conhecido como abstract mini representation né então aqui a gente tem duas frases elas estão em inglês né mas eu vou resumir para vocês né que basicamente elas dizem a mesma coisa mas de formas diferentes utilizando essa forma de representação que a gente tem aqui a gente consegue identificar que o significado você mantica seria a mesma coisa né então que o menino ele quer que a garota Acredite nele essa é a primeira a primeira frase a segunda frase é que o menino quer ser acreditado pela garota né então o significado
é o mesmo mas a forma de se inscrever né é diferente certo bom aí a gente entra então no tópico que praticamente é o que estamos chegando onde mais nos interessa né que a questão da similaridade textual né então a similaridade textual aí ela tem como objetivo né verificar o quão próximo são os dois fragmentos de texto né são esses textos que a gente quer avaliar a semilaridade entre eles né então a gente tem Como avaliar isso de duas formas basicamente de duas formas ou pelo significado ou pela estrutura quando a gente está falando de
estrutura a gente tá falando essa milharidade léxica que a gente já viu lá diante né Vocês lembram quando a gente viu aquelas medidas diferentes de avaliar semilaridade Entre palavras etc né mas a gente também pode avaliar a semilaridade semântica que em relação ao significado dessas dessas frases né É isso que a gente vai dar uma olhada agora de como que a gente pode fazer né essa avaliação essa medida disseminar idade textual é no nível semântico né então aqui a gente teria por exemplo essas duas frases né O rato come inseto e a outra frase o
inseto Come a comida do rato se a gente for olhar para as palavras de forma individual ou retirar aqui vão colocar que os tokens né como a gente tem visto até então a gente vai ver que a gente tem frases muito parecidas em termos de estrutura mas a semântica delas é muito diferente né porque aqui a gente tá falando que o rato que come inseto e na outra frase a gente falando outra coisa que o inseto Come a comida do rato então não são contextos muito diferentes a gente não pode levar em conta só as
palavras que estão ali né E para avaliar essa similaridade semântica Então a gente tem algumas abordagens né basicamente eu coloquei aqui quatro abordagens diferentes né para fazer esse tipo de avaliação né seria abordagem baseada em ontologias nós vamos ver pouquinho mais para frente baseada no índice de informações compartilhadas baseada em características ou uma abordagem híbrida né que faz qualquer tipo de combinação entre essas anteriores né a baseada em antologia aqui tem a definição do que que é antologia né um sistema de discrição abstrata que entende a Constituição do conhecimento de certo domínio né pela organização
de conceitos de maneira hierárquica né então se vocês não viram ainda né provavelmente em outras disciplinas você já leram o conteúdo do livro dessa semana né Vocês conseguirem entender basicamente o que que seria uma ontologia uma forma até de uma forma hierárquica que a gente hierárquica de a gente representar essas relações né então a gente tem muitas medidas né que utilizam a ontologia né como vocês viram também por exemplo o caminho mínimo de similaridade então a gente sai de um nó é tenta encontrar o nó mais comum o primeiro nó comum entre o entre duas
palavras por exemplo né então a gente sobe vai subindo na hierarquia e outra palavra a gente vai subindo também até que a gente encontre é um nó comum né que que representa que não comum entre essas duas palavras né então o caminho que a gente leva o caminho que a gente toma né o número de arestas que a gente precisa percorrer até chegar nesse nó é uma forma da gente avaliar a distância e inversamente proporcional à distância a gente chega na similaridade é um exemplo de medida que pode que seria baseado em ontologia né Então
ela é baseada nesse caso aqui né entre o entre essas bases de recursos semânticos né explorando o conhecimento existente dentro desses recursos né e uma ferramenta um recurso bastante utilizado que é baseado em antologia que é o wordinete né que vocês já viram também durante o curso né e ele é bastante popular e muito utilizado aí para fazer essa medida de similaridade né é baseado em conhecimentos né Então aqui tem alguns exemplos aqui né de versões de desse recurso das antologias do wordinete né algumas estão em língua portuguesa então quando tem um PT aqui porque
é português né ou br também português Brasil né e aqui a gente tem uma quantidade né de de substantivos belos adjetivos tem uma sumarização aqui do que que a gente tem de recursos disponíveis nessas nessas ontologias tá nesse disponível no wordinética bom para citar né Para a gente resumir um pouco isso aqui tem uma quant- algumas medidas que são baseadas em antologias como por exemplo elas também são categorizadas em diferentes níveis né baseadas em arestas Então aqui tem alguns exemplos de medidas que se baseiam nessas arestas como exemplo que eu falei para vocês anteriormente baseadas
em nós peruais é quando a gente faz uma comparação binária né entre duas palavras grupo Wise a gente tem outras medidas similaridade semânticas que não são baseadas em antologias mas são estatísticas aqui a gente tem alguns exemplos de medidas que são usadas para isso é similaridade baseada em semântica tem as redes de similaridades semânticas e aqui eu coloquei um link também para vocês que resume várias medidas e tipos diferentes de medidas que a gente tem para avaliar a similaridade semântica tá mas o que que a gente tem hoje de estado da arte vamos dizer assim
o que que é mais utilizado de novo a gente vai voltar lá para os nossos Transformers né que a gente viu na semana passada né que a gente acaba utilizando eles né para codificar sentença vocês lembram que a gente pode usar os Transformers e se a gente interrompe lá no meio né daquela daquela arquitetura né a gente pega no meio aquela aqueles de representação por exemplo a gente pode usar essa representação e depois a partir dessa representação que a gente já viu que ela captura semântica também entre as sentenças entre as fases né não é
somente a questão léxica né e avalia também a ordem de como tudo acontece lembra aquele processamento todo paralelo que considera por causa do mecanismo de atenção né a gente considera todos é todas as palavras Inclusive a ordem e a ordem que elas aparecem como que elas juntam aparecem tudo isso é de alguma forma representado ao final né quando a gente usa essa representação dos embelles lá no meio daquela nossa arquitetura né após tem colder né Vocês lembram disso bom então a gente pode usar né Essa essa representação para depois utilizar uma métrica de similaridade como
por exemplo alguma que a gente aprendeu que é similaridade de cosseno isso é feito por exemplo quando com esse cara aqui que chama o SBT né que é justamente para isso que é feito né para avaliar a similaridade entre entre sentenças né Que nada mais é do que o que é conhecido como uma rede siamesa né que são duas redes exatamente iguais né que fica uma do lado da outra aqui então a gente vai colocar aqui uma sentença e aqui a gente coloca uma outra sentença por exemplo um texto né E aí ao final dessas
duas redes exatamente iguais nas redes siamesas né a gente vai ter então aqui a utilização de um de uma função de semilaridade que nem a de cosseno e na saída ela vai dizer né o quão diferente são ou com similares são essas nossas duas sentenças né então basicamente é isso aqui que tem sido utilizado é obtidos os melhores resultados para fazer essa é métrica né de similaridade semântica né eu coloquei aqui para vocês também um exemplo pessoal em código né como que a gente poderia utilizar esse sbert para fazer né calcular a similaridade semântica então
Botando os trechos de código aqui estou disponibilizando também para vocês o notebook para vocês rodarem nessas máquinas né no Cohab né mas basicamente então a ideia seria a gente selecionar esse modelo né que a gente tá colocando aqui usando as mesmas os mesmos pacotes que a gente já viu anteriormente nos transforma e também esse novo aqui que seria o centro se transformas né que é para utilizar o Iceberg e fazemos as importações do pacotes e aqui a gente seleciona um dos modelos por exemplo né que esse aqui que tá disponível né o stsb Roberta Lorde
tá e com esse modelo aqui então o que que a gente faz a gente pode passar como entrada dele duas sentenças diferentes eu coloquei aqui duas sentenças né essa intenção sentença dois e aí a gente vai ter que codificar essa sentenças né utilizando aqueles que a gente conversou né Já tá tudo pronto aqui é só usar o encontro né feito isso a gente calcula o cosseno certo da cidade que seria saída né do resultado desse encode que Basicamente aquilo que eu falei para vocês as duas sentenças estão passando pelo Encoder né que dá como resultado
o quê que eles venderem então as vezes elas são as mesmas tá usando o Berti aqui né para fazer isso fez usou a mesma rede são aquelas redes siamesas que eu falei para vocês feito isso dados MB de cada uma dessas sentença a gente utiliza Então essa função de similaridade para ver o quão similar são a sentenças né e a gente imprime aqui né sem intenção sentença dois e o score né do de da similaridade dessas duas sentenças os valores os resultados estão tudo disponível no notebook para vocês tá e a gente consegue fazer também
o cálculo similaridade não apenas entre duas sentenças Mas entre duas listas de sentenças isso também é interessante né então ele vai acabar fazendo de novo aqui por exemplo a mesma coisa né encontrar os remédios né a representação dessas dessas sentenças né dessa lista de sentença e depois ele vai computar a celeridade para esses dois essas duas listas que a gente viu né então a gente pode por exemplo aqui a gente tá colocando pegando duas duas a cada duas e fazendo a comparação binária delas mas a gente pode por exemplo pegar uma uma sentença e verificar
em outra lista Qual que é a mais próxima ou qualquer mais diferente por exemplo né então são coisas que a gente consegue fazer aí utilizando essa ferramenta que é bastante interessante Então eu sugiro que vocês é façam né esses cálculos e tentam utilizar também é para comparar esses resultados com aquelas que a gente viu lá anteriormente que era para fazer medidas calcular a serenidade Entre palavras mas eu mostrei para vocês que também dava para para computacionalidade entre sentenças né E aí tenta pegar a sentenças em que elas não são tão próximas uma forma que se
escreve né mas elas têm significado parecidos né vamos dizer assim duas formas diferentes e a mesma coisa aí vocês vejam se como é que vai dar o resultado aqui pra similaridade pra esse caso aqui provavelmente vai dar tem que dar né É muito mais próximo do que as outras medidas tradicionais lá que a gente tem porque elas levam enquanto apenas as palavras né que estão lá e não o significado delas né então na aula de hoje pessoal a gente fez uma introdução vimos né falar um pouquinho sobre semântica para depois entrar em similaridade semântica e
vimos também como que isso é feito como que a gente faz o cálculo de similaridade semântica é com o método estado da arte aí né que é aquele exemplo que eu dei para vocês né baseado em Transformers né que é o Iceberg então na próxima vídeo aula pessoal a gente vai entrar então no tópico de análise de sentimentos até lá um abraço [Música] [Música]