Geração automática de tesaurus e recuperação de informação Pablo Gamallo [email protected] http://terra/~gamallo GLINt (Gupo de Lingua Natural) FCT, UNL Plano • Tesaurus e ontologias • Sistemas de recuperação de informação e processamento da linguagem natural • Construção automática de tesaurus a partir de texto analisado • Uso de tesaurus em sistemas de pesquisa e recuperação de informação Tesaurus e Ontologias • Definição dualista: - Ontologia: conjunto de conceitos + relações - Tesaurus: conjunto de termos de uma língua ligados a uma ontologia • Definição basada na hipôtese relacional: -Tesaurus = Ontologia: conjunto de termos + relações semânticas Tesaurus e Ontologias multa coima (sinonímia) presidente secretário (co-hiponímia) pequeno grande (antonímia) ministério ministro (meronímia) banco instituição (hiperonímia) Tesaurus e Ontologias Tesaurus = Ontologia = Terminologia Propriedades duma Terminologia: - termos relevantes para um domínio - pouca polisemia - pouco interés nos termos “upper-level” - problema de “portabilidade” a outros domínios Tesaurus e Ontologias WordNet • Sinonímia: única relação entre termos (“word forms”). • Duas palavras são sinónimas se elas têm o mesmo significado num dado contexto. • Synsets: conjuntos de sinónimos contextuais. Cada synset representa um significado. • Polisemia: um termo é polisémico se ele aparecer em diferentes synsets. • As relações semânticas (hiperonímia, meronímia…) são relações entre synsets Tesaurus e Ontologias Informação associada a “Organisation” em WordNet • Synsets (3 senses): (1) arrangement, organisation, system (an organised structure for arranging or classifying) (2) administration, governance, body, establishment, organisation (the persons, departments etc. who make up a body for the purpose of administering something) (3) constitution, establishment, formation, organisation (the act of forming something) Tesaurus e Ontologias Results for Hyponyms of “organisation” in WordNet Sense (1): distribution, statiscal distribution coordinate system, frame of reference, reference system Sense (2): county, council government, officials, officialdom judiciary, bench Sense (3): collectivisation colonisation, settlement federation Sistemas de RI e PLN Indexação de documentos Selecção de textos relevantes a uma determinada consulta Sistemas de RI e PLN • Indexação de documentos: Os documentos são representados por “termos de índices” • Selecção de textos relevantes a uma determinada consulta: - As consultas são representadas por “termos de consulta” - As búsquedas utilizam o “matching” (mapeamento) entre termos de índices e termos de consulta - Operadores de consulta: And, Or, And_Not - Ordenamento dos documentos recuperados Sistemas de RI e PLN • Uso do PLN para representar texto (documentos e consultas) : - tokenização - eliminação das “stopwords” • Uso do PLN para melhorar a indexação e permitir recuperaçoes inteligentes: - Reconhecemento de descritores: reconhecer aqueles índices que representam o tema ou tópico do documento. - Normalização dos índices (geração de índices controlados) : transformação das formas dos termos em representações mais abstractas, por forma a: - pôr em relação índices com o mesmo significado - economia de índices Sistemas de RI e PLN • Reconhecemento automático de descritores: - marcas tipográficas: termos em títulos, resumos, em negrito, ... - eliminação de termos que ocorrem em claúsulas subordinadas (- 30%) - identificação de termos compostos • Indices normalizados e controlados: - Normalização morfológica: agrupar variações de índices em torno de uma forma canónica (por flexão e por derivação) - Normalização semântica: agrupar variações de índices em torno de um conceito común: identificação de termos relacionados semanticamente (importância do tesaurus) Geração de thesaurus: Propriedades Hipótese distribucional: As palalavras que partilham os mesmos contextos estão associadas semanticamente Tipos de contexto: co-ocorrência simples (bigramas) co-ocorrência numa janela (n-gramas) estructuras sintácticas Textos com conteúdo específico: “domain-specific corpus” Geração de thesaurus: Etapas Extracção dos contextos sintácticos do corpus Métrica de similaridade entre palavras (baseada nos contextos partilhados) Identificar para cada palavra, a lista de palavras mais semelhantes Extracção de contextos sintácticos: Etapas • Tagging: marcação em categorias morfossintácticas • Parsing Parcial: marcação em chunks básicos • Heurísticas de “Attachment” • Identificação de relações binárias • Extracção de contextos sintácticos Tagging e Parsing Parcial “Falta pois a participação directa do funcionário no acto documentário.” (corpus P.G.R.) • Tagger: Falta_V pois_ADV a_ART participação_N directa_ADJ de_PREP o_ART funcionário_N em_PREP o_ART acto_N documentário_ADJ • Parsing Parcial (Chunks Básicos): VP( faltar, pois) NP(a, participação, directa) PP(de, NP(o, funcionário)) PP(em, NP(o, acto, documentário)) Heurísticas de “Attachment” e Relações Sintácticas • Attachment de Chunks Básicos: <VP(faltar, pois) , NP(a, participação, directa)> <NP(a, participação, directa), PP(de, NP(o, funcionário))> <NP(o, funcionário), PP(em, NP(o, acto, documentário))> • Relações Sintácticas entre palavras: <DOBJ, faltar , participação> <DE, participação, funcionário> <EM, funcionário, acto> Contextos sintácticos <DOBJ, faltar , participação> : <DOBJ, (*) , participação> <DOBJ, falta , (*)> <DE, participação, funcionário> : <DE, participação, (*)> <DE, (*), funcionário> <EM, funcionário, acto > : <EM, funcionário, (*)> <EM, (*), acto> Medida de Similaridade Coeficiênte de Jaccard A similaridade entre duas palavras depende de: A ratio entre o número de contextos que são comuns às duas palavras e o número total dos seus contextos. Similarity Measure Weighted Jaccard coefficient MicroCorpus em Lingua Natural Pedro lê um livro e Maria lê um livro, Pedro lê um romance e Maria lê um romance, Pedro também lê muita coisa mas Pedro gosta de Maria, Maria gosta de livros, Maria gosta de muita coisa. Maria come uma maçã e Pedro come uma maçã, Pedro também come uma salchicha, Pedro come muita coisa, Maria come salchichas, Maria gosta mesmo de salchichas. Relaçoes Thesáuricas entre nomes Pedro Maria livro romance maçã salchicha coisa livro, salchicha, maçã, romance (livro salchicha)? (Maria coisa)?? (Pedro salchicha)??? Extração de Contextos sintácticos de nomes Pedro: (<SUBJ, ler , (*)>, 3) (<SUBJ, gostar , (*)>, 1) ( <SUBJ, comer, (*)>, 3) Maria: (<SUBJ, ler , (*)>,2) (<SUBJ, gostar , (*)>, 3) (<SUBJ, comer, (*)>,2) (<IOBJ-DE, gostar, (*)>,1) romance: (<DOBJ, ler , (*)>,2) livro: (<DOBJ, ler , (*)>,3) (<IOBJ-DE, gostar , (*)>,1) coisa: (<DOBJ, ler , (*)>,1) (<DOBJ, comer, (*)>,1) (<IOBJ-DE, gostar , (*)>,1) maça: (<DOBJ, comer , (*)>,2). salchicha: (<DOBJ, comer , (*)>,2) (<IOBJ-DE, gostar,(*)>,1) Cálculo do Peso dum contexto para cada palabra (3): romance: (<DOBJ, ler , (*)>, 2) GW(<DOBJ, ler , (*)>) = log (2/1 + 3/2 + 1/3) / log(3) = 0.54 / 0.47 = 1.15 LW(romance, <DOBJ, ler , (*)>) = log(2) = 0.3 W(romance, <DOBJ, ler , (*)>) = 1.45 livro: (<DOBJ, ler , (*)>, 3) GW(<DOBJ, ler , (*)>) = log (2/1 + 3/2 + 1/3) / log(3) = 0.54 / 0.47 = 1.15 LW(livro, <DOBJ, ler , (*)>) = log(3) = 0.47 W(livro, <DOBJ, ler , (*)>) = 1.62 livro: (<IOBJ-DE, gostar , (*)>, 1) GW(< IOBJ-DE, gostar , (*)>) = log (1/2+ 1/4+1/3 + 1/2) / log(4) = 0.19 / 0.6 = 0.31 LW(livro, < IOBJ-DE, gostar , (*)>) = log(1) = 0. W(livro, < IOBJ-DE, gostar , (*)>) = 0.31 Similidade entre palavras (2) WJ(maça, salchicha) = 1.4 / 1.71 = 0.81 min( (1.4), (1.4) ) = 1.4 max( (1.4), (1.4+0.31) ) = 1.71 WJ(maça, coisa) = 1.1 / 2.68 = 0.41 min( (1.4), (1.1) ) = 1.1 max((1.4), (1.27+0.31+1.1) ) = 2.68 WJ(romance, coisa) = 1.1 / 2.68 = 0.41 min( (1.45), (1.1) ) = 1.1 max((1.45), (1.27+0.31+1.1) ) = 2.68 WJ(salchicha, coisa) = 1.41 / 2.68 = 0.51 min( (1.4+0.25), (1.1+0.31) ) = 1.41 max( (1.4+0.25), (1.27+0.31+1.1) ) = 2.68 Similidade entre palavras (Ordenamento) (0.83) Pedro (0.81) maçã (0.75) livro (0.58) coisa (0.51) coisa (0.41) coisa (0.16) livro (0.11) Maria (0.09) Maria (0.0) Pedro (0.0) romance Maria salchicha romance livro salchicha maçã, romance salchicha salchicha coisa salchicha salchicha Listas de palavras semelhantes Corpus da Procuradoria Geral da República (P.G.R.) juíz| {dirigente, presidente, subinspector, governador, árbitros} diploma| {decreto, lei, artigo, convenção, regulamento} decreto| {diploma, lei, artigo, nº, código} regulamento| {estatuto, código, sistema, decreto, norma} regra| {norma, princípio, regime, legislação, plano} renda| {caução, indemnização, reintegração, multa, quota} conceito| {noção, estatuto, regime, temática, montante} Thesaurus e Pesquisa de Informação Construção de thesaurus: conjunto de termos e conjunto de relações entre esses termos Acesso ao thesaurus para expandir as pesquisas Avaliação do thesaurus através da expansão das pesquisas, por forma a melhorar a recuperação de informação Expansão de pesquisas via thesaurus Expansão associativa: Se um termo é óptimo para discriminar documentos relevantes, então qualquer termo associado também é um bom discriminador categoria: cargo, carreira, lugar, funçðes... Expansão restrictiva via coocurrências frequêntes: república: presidente da república, assembleia da república... câmara: presidente da câmara, vereador da câmara... Problemas da expansão Que palavras ou termos da pesquisa devem ser expandidos? query: “TIPO DE REMUNERAÇÃO” Termos associados podem diversificar os textos recuperados: juíz, ministro, investigador