MCZA017-13 Processamento de Linguagem Natural Semântica e similaridade de palavras: Parte I Prof. Jesús P. Mena-Chalco jesus.mena@ufabc.edu.br 1Q-2018 1
Bibliografia Daniel Jurafsky & James H. Martin. Speech and language processing: An introduction to natural language processing, computational linguistics, and speech recognition. Pearson/Prentice Hall. 2019? 2000 2009 Stanford University University of Colorado, Boulder 2
Bibliografia Capítulo 15 https://web.stanford.edu/~jurafsky/slp3/ 3
Cinco definições importantes sobre significado de palavras 4
Da aula 04: Stemming x Lemmatization Stemming (a ação de reduzir em stems) Stem: Parte de uma palavra Stemmer: O artefato (programa) Produc Produced Produce Lemmatization (a ação de reduzir em Lemmas) Lemma: Forma básica da palavra Lemmatizer: O artefato (programa) 5
Lemma e Wordform Lemma: é a forma básica da palavra. Wordform: é uma palavra com inflexão. wordform Lemma Banks Bank Sung Sing Durmiu dormir Bancos Banco 6
Diferentes significados? Um determinado lemma pode ter significados diferentes. 7
Diferentes significados? Um determinado lemma pode ter significados diferentes. Exemplo: um banco pode manter investimentos dos correntistas... os métodos implementados em um banco de dados... trocaram de cor o banco de madeira... 8
1) Homônimos São palavras que compartilham a mesma forma mas com significados diferentes (origens diferentes). Banco: Instituição financeira. Banco: Artefato para armazenamento de dados. Banco: Assento. Homônimos podem ser: Homógrafos, i.e., mesma forma de escrita (banco/banco) Homófonos, i.e., mesma forma de fala (Concerto/conserto) 9
Homônimos criam problemas em PLN Em recuperação de informação banco quebrado (a instituição ou o assento?) Em tradução de textos bat: morcego bat: bastão Em aplicações text-to-speech (a pronuncia é diferente) bass (instumento musical) bass (peixe) 10
2) Polissemia (muitos significados) É a propriedade de uma palavra tem de apresentar vários significados. Uma palavra polissêmica tem significados relacionados. (origens similares): Letra: Elemento básico de um alfabeto. Letra: Texto de uma canção. Letra: Caligrafia de uma determinado indivíduo. 11
Relações sistemáticas (metonímia) Muitos tipos de polissemia são sistemáticos: Rádio Universidade Escola Hospital Prédio Organização 12
Relações sistemáticas (metonímia) Muitos tipos de polissemia são sistemáticos: Rádio Universidade Escola Hospital Outros tipos de relações sistemáticas: Eu amo J. K. Rowling Eu amo (as obras de) J. K. Rowling Maracujá tem lindas flores Ontem experimentei maracujá Prédio Organização Autor Trabalhos de autor Árvore Fruto 13
Como determinar se uma palavra tem mais de um significado? Usando o teste Zeugma (figura de linguagem ou estilo)... construirá uma universidade de mármore pedirá à universidade de João... 14
Como determinar se uma palavra tem mais de um significado? Usando o teste Zeugma (figura de linguagem ou estilo)... construirá uma universidade de mármore pedirá à universidade de João... Teste: Se a construção não faz sentido (coerente), provavelmente a palavra seja polissêmica: construirá uma universidade de mármore e de João? 15
3) Sinônimos Palavras que tem o mesmo significado em alguns ou todos os contextos. Caderno Carro Sofá Agua Computador Caderneta Automóvel Divá H 2O PC Duas palavras são sinônimas se: Ambas podem ser substituídas em todas as situações. Ambas têm o mesmo significado proposicional. 16
4) Antônimos Palavras que tem significado oposto em relação a uma característica. escuro quente curto para cima rápido claro frio longo para baixo lento 17
5) Hiponímia e Hiperonímia sub super Indicam relação hierarquica de significados entre palavras. Uma palavra A é hiponímia de B, se o significado de A é mais específico que B: Carro Sandália é uma hiponímia de é uma hiponímia de Se modo inverso: Automóvel é uma hiperonímia de Calçado é uma hiperonímia de Automóvel Calçado Carro Sandália 18
Wordnet: Um repositório (tesauro) muito útil em PLN 19
Wordnet wordnet.princeton.edu A Wordnet é uma base de dados (1985) usada na área de linguística computacional, em inglês. Wordnet está organizado em base de relações (hierarquicas). Usado para desambiguar o significado das palavras. Versão 3.0, contem mais substantivos 20
21
22
Synset = Synonym set É um conjunto de sinônimos (próximos) a uma palavra 23
Synset = Synonym set Hierarquia de hiperonomios 24
Wordnet diferentes iniciativas http://www.globalwordnet.org/gwa/wordnet_table.html 25
Wordnet em português http://wnpt.brlcloud.com/wn/search?term=banana 26
Similaridade entre palavra? 27
Similaridade entre palavras Duas palavras são similares se ambas compartilham o mesmo significado. As palavras similares mantem uma relação de significado. Instituição financeira: Banco é similar a fundo Objeto: Caderno é similar a caderneta 28
Porque é importante avaliar similaridade? A similaridade de palavras pode ser útil em diferentes tipos de aplicações, como por exemplo: Recuperação de Informação (IR) Busca por elementos similares Detecção de plágio Busca por regiões similares Agrupamento de textos Busca por conjuntos de textos similares 29
Porque é importante avaliar similaridade? 30
Similaridade entre palavras e palavras correlatas Versão mais flexível: A similaridade entre palavras pode ser estimadada por uma medida de proximidade de significado: Quase sinônimos Carro é similar a Bicicleta Exemplo de palavras correlatas: Carro está relacionado com Gasolina 31
Algoritmos Duas abordagens para identificar similaridade entre palavras: (1) Algoritmos baseados em tesauro: Duas palavras são similares se uma é hiponímia de outra Carro Sandália é uma hiponímia de é uma hiponímia de Automóvel Calçado Ou se compartilham a mesma definição (gloss) 32
Algoritmos Duas abordagens para identificar similaridade entre palavras: (2) Algoritmos baseados em distribuição de palavras: Não precisam de um tesauro, mas de um corpus grande no qual sejam evidenciados diferentes pares de palavras... 33
(1) Algoritmos de similaridade de palavras basedos em tesauro(s) 34
Similaridade usando tesauro Denomiado de path based similarity : Assumindo que as palavras tem comprimento igual a 1 para si mesmos Duas palavras são similares se ambas estão na mesma hierarquia (ou bem próximas). Pensamento computacional: distância do menor caminho entre eles. 35
Formalizando as medidas Pathlen(c1, c2) = 1 + comprimento do caminho entre c1 e c2 na árvore de hiponímia. 36
Exemplo 37
Problema Podemos discutir um problema dessa abordagem: Assumimos que cada aresta representa distância uniforme. simpath(nickel, money) == simpath(nickel, standard) Os vértices em hierarquias superiores são mais abstratos! 38
Problema Podemos discutir um problema dessa abordagem: Assumimos que cada aresta representa distância uniforme. simpath(nickel, money) == simpath(nickel, standard) Palavras conectadas por um vértice abstrado deveriam ser menos similares Os vértices em hierarquias superiores são mais abstratos! Deveria ser possível representar o custo de cada aresta de forma independente 39
Contornando o problema Utiliza um corpus para captar da melhor forma a distância entre 2 conceitos ou 2 palavras 40
Contornando o problema 1988 Utiliza um corpus para captar da melhor forma a distância entre 2 conceitos ou 2 palavras 41
Contornando o problema 42
Interfaces NLTK oferece métodos para calculo de similaridade de palavras baseada em wordnet. Por outro lado existem outras iniciativas on line: http://maraca.d.umn.edu/cgi-bin/similarity/similarity.cgi 43
Interfaces 44
(2) Algoritmos de similaridade de palavras basedos em distribuição de palavras Porque? 45
Por que é necessário este tipo de abordagem? As métricas apresentadas nos slides anteriores são dependentes de um tesauro. Dependem da completude das palavras (dicionário), ie. não são flexíveis. No Tesauro algumas relações não estão representadas. Adjetivos e verbos são menos representados nos tesauros: Wordnet Versão 3.0, contem mais substantivos 46
Por que é necessário este tipo de abordagem? A semantica muda/evolue ao longo do tempo 47
Abordagem baseada em distribuição de palavras Obras similares estão geralmente próximas Em PLN: Palavras que estão em contextos similares, tendem a ser semanticamente similares 48
Abordagem baseada em distribuição de palavras Na literatura isso é conhecido como: Distributional semantics. Vector semantics. O significado de uma palavra é calculada a partir da distribuição de palavras que ao redor dela. As palavras são representadas como um vetor de números. 49
Abordagem baseada em distribuição de palavras 50
Abordagem baseada em distribuição de palavras Podemos não saber o que é tesguino (certamente não estará presente em algum tesauro), mas pelo contexto podemos intuir que trata-se de uma bebida alcoólica. --> Duas palavras serão similares se ambas estão em contextos similares. 51
Matriz: termo-documento 52
Matriz: termo-documento 53
Matriz: termo-documento 54
Matriz: termo-documento 55
Agrupamento hierarquico 56
Capturar significa relacional 57