LÍNGUA NATURAL N E C E S S I D A D E Internet mais de 3 biliões de documentos indexados pelo Google RECUPERAÇÃO DE INFORMAÇÃO (INFORMATION RETRIEVAL) Nuno Mamede Que quantidade de informação é gerada todos os anos? http://www.sims.berkeley.edu/research/projects/how-much-info/ Várias necessidades: Procurar documentos por tópico Procurar determinada informação Procurar uma resposta a uma pergunta Procurar determinada informação noutra língua Licenciatura em Engenharia Informática e de Computadores Departamento de Engenharia Informática Instituto Superior Técnico 2 A L G U M A S D E F I N I Ç Õ E S D E Salton (1989): Information-retrieval systems process files of records and requests for information, and identify and retrieve from the files certain records in response to the information requests. The retrieval of particular records depends on the similarity between the records and the queries, which in turn is measured by comparing the values of certain attributes to records and information requests. A indexação e recuperação de documentos textuais A procura de páginas na World Wide Web é a aplicação mais recente e mais popular de um sistema de recuperação de Informação A principal preocupação é a procura de documentos relevantes para a pergunta Kowalski (1997): An Information Retrieval System is a system that is capable of storage, retrieval, and maintenance of information. Information in this context can be composed of text (including numeric and date data), images, audio, video, and other multi-media objects). A segunda preocupação é a procura eficiente em grandes conjuntos de documentos 3 4 E X T R A C Ç Ã O D E I N F O R M A Ç Ã O ( E I ) E X E M P L O S D E S I S T E M A S D E Identificar pedaços de informação (dados) num documento textual não estruturado ou semi-estruturado Transformar informação não estruturada (um corpus de documentos ou páginas web) numa base de dados estruturada Pode ser aplicado a diferentes tipos de texto: Artigos de jornal Páginas web Artigos científicos Mensagens de grupos de discussão Anúncios classificados Notas médicas... Convencional (catálogo de uma biblioteca) Procura por palavra chave, título, autor,... Baseado em texto (Lexis-Nexis, Google, FAST) Procura por palavra chave Procura limitada usando perguntas em LN Multimédia (QBIC, WebSeek, SaFe) Procura pela aparência visual (forma, cor, ) Sistemas de Pergunta-Resposta (AskJeeves, Answerbus) Outros: Procura (restrita) em língua natural Procura de informação em diversas línguas Procura pela melodia 5 6
T A R E F A T Í P I C A D E A R Q U I T E C T U R A T Í P I C A D E U M S I S T E M A D E Dado: Um corpus de documentos textuais (em língua natural) Uma pergunta de um utilizador na forma de uma cadeia de caracteres Corpus de Procurar: Um conjunto ordenado de documentos considerados relevantes Pergunta (cadeia de caracteres) SELECÇÃO DOS DOCUMENTOS RELEVANTES Relevantes 1. Doc1 2. Doc2 3. Doc3 7 8 S I S T E M A D E R E C U P E R A Ç Ã O N A R E D E R E L E V Â N C I A Web Pergunta (cadeia de caracteres) Corpus de SELECÇÃO DOS DOCUMENTOS RELEVANTES A relevância é um julgamento subjectivo que pode incluir: Pertencer ao mesmo assunto Ser actual (informação recente) Ser credível (de uma fonte de confiança) Satisfazer os objectivos do utilizador e a sua previsível utilização dessa informação (necessidade para a informação) Principal critério de relevância de um Sistema de RI: satisfazer as necessidades de informação do utilizador 1. Pág.1 2. Pág.2 3. Pág.3 Relevantes 9 10 A B O R D A G E M B Á S I C A : P R O C U R A P O R P A L A V R A C H A V E P R O B L E M A S D A S P A L A V R A S C H A V E A noção mais simples de relevância A pergunta deve ocorrer, ipsis verbis, no documento Uma noção mais elaborada As palavras da pergunta devem ocorrer frequentemente no documento, independente da ordem (saco de palavras) Pode não extrair documentos relevantes que incluem termos sinónimos restaurante vs. churrasqueira República Popular da China vs. China aluno vs. aluna vs. alunos vs. alunas Podem ser extraídos documentos irrelevantes que incluem termos ambíguos cachorro (alimento vs. mamífero) Apple (empresa vs. fruto) canto (esquina vs. acto de cantar) 11 12
T É C N I C A S I N T E L I G E N T E S D E A R Q U I T E C T U R A D E U M S I S T E M A D E Ter em atenção o significado das palavras usadas Ter em atenção a ordem das palavras na pergunta Adaptar-se (automaticamente ou semi-automaticamente) ao utilizador com base na informação providenciada pelo utilizador Estender a procura com termos relacionados Necessidades do utilizador Cometários do Utilizador Interface Utilizador Operações sobre o texto Operações sobre a pergunta Vista Lógica Indexação Texto Gestor BD Efectuar correcção ortográfica / restauração dos diacríticos (acentos e cedilhas) Ter em atenção a credibilidade das fontes Pergunta ordenados Procura Ordenação Índice Ficheiro invertido Recuperados BD de Textos 13 14 C O M P O N E N T E S C O M P O N E N T E S Operações sobre o texto Segmentação Remoção das palavras funcionais Lematização Indexação Mapeia as palavras chave nos índices dos ficheiros Procura Recupera os documentos que contêm os símbolos da pergunta usando um índice invertido Ordenação Atribui uma valor a todos os documentos recuperados, com base em critérios de relevância Documento 1 I did enact Julius Caesar I was killed i' the Capitol; Brutus killed me. Documento 2 So let it be with Caesar. The noble Brutus hath told you Caesar was ambitious Interface com o utilizador Leitura da pergunta e saída dos documentos Processa o retorno sobre a relevância Visualização dos resultados Operações sobre a pergunta Expansão da pergunta usando um dicionário de sinónimos Transformação da pergunta usando o retorno sobre relevância 15 16 M O D E L O S D E R I M O D E L O S C L Á S S I C O S D E R I C O N C E I T O S B Á S I C O S T a r e f a Recuperação Adhoc Filtragem Consulta Modelos clássicos Booleanos Vectoriais Probabilísticos Modelos Estruturados Non-Overlapping Lists Proximal Nodes Browsing Flat Structure Guided Hypertext Teoria de Conjuntos Fuzzy Extended Boolean Algébricos Generalized Vector Lat. Semantic Index Neural Networks Probabilísticos Inference Network Belief Network Cada documento é representado por um conjunto representativo de palavras chaves ou índice de termos Um índice de termos é um documento com palavras úteis para expressar os principais tópicos do documento Os termos do índice podem ser seleccionados para ser unicamente nomes, pois os nomes têm, por si só, significado Reduz a dimensão do índice Mas necessita de um POS Os mecanismos de procura assumem que todas as palavras que são potenciais termos ocorrem no índice (full text representation) 17 18
M O D E L O S C L Á S S I C O S D E R I C O N C E I T O S B Á S I C O S M O D E L O B O O L E A N O Nem todos os termos são igualmente úteis para representar o conteúdo de um documento Os termos menos frequentes permitem identificar conjuntos mais pequenos de documentos A importância de um índice de termos aumenta com a possibilidade de associar pesos aos termos Modelo simples baseado na teoria de conjuntos As perguntas são formuladas como expressões booleanas Semântica precisa Formalismo claro Termos ou estão presentes ou ausentes Ou seja, wij! {0,1} Assuma-se que ki seja um termo que ocorre no índice dj seja um documento wij é o peso associado com (ki,dj) O peso wij quantifica a importância do termo para descrever o conteúdo do documento Exemplo: pergunta = ka " (kb # kc) = (1,1,1) # (1,1,0) # (1,0,0) (forma normal conjuntiva) (1,1,0) é um componente conjuntivo 19 20 M O D E L O B O O L E A N O I N C O N V E N I E N T E S D O M O D E L O B O O L E A N O q = Ka! (Kb " Kc) Recuperação baseada em critérios binários, sem a noção de emparelhamento parcial Ka Kb Não existe uma ordenação dos documentos (ausência de uma escala de semelhança) (1,0,0) (1,1,0) (0,1,0) A informação necessária tem de ser traduzida para uma expressão booleana (não é intuitivo para alguns utilizadores) (1,1,1) (1,0,1) (0,1,1) As perguntas Booleanas formuladas pelos utilizadores são (normalmente) muito simplistas (0,0,1) Como consequência, o modelo Booleano devolve, frequentemente, como resposta à pergunta do utilizador Kc ou muitos documentos ou poucos documentos 21 22 A utilização de pesos binários é muito limitativo Pesos não-binários permitem considerar o emparelhamento parcial Os pesos dos termos são usados para calcular o grau de semelhança entre a pergunta e o documento O melhor emparelhamento é seleccionado depois de ordenar os documentos Definições: wij > 0 sempre que ki! dj wiq >= 0 fica associado ao par (ki,q) vec(dj) = (w1j, w2j,..., wtj) vec(q) = (w1q, w2q,..., wtq) Cada termo ki fica associado a um vector unitário vec(i) Assume-se que os vectores unitários vec(i) e vec(j) são ortornormais (i.e., assume-se que os índices dos termos ocorrem independentemente nos documentos) Os t vectores unitários vec(i) constituem a base ortornormal de um espaço de dimensão-t Neste espaço, as perguntas e os documentos são representados por vectores com pesos 23 24
j dj Sim(q,d j)! = [# w ij * w iq ] / d j * q # Como calcular os pesos w ij e w iq? Sim(q,d j)! = cos(")!!= [vec(d j ) vec(q)] / d j * q!!= [# w ij * w iq ] / d j * q Pois w ij > 0 e w iq > 0, 0 <= sim(q,d j ) <=1 Um documento é recuperado mesmo quando só emparelha parcialmente com a pergunta q i Uma boa política de pesos deve ter em atenção dois efeitos quantificação do conteúdo dentro de cada documento (similarity) factor tf, a frequência do termo dentro do documento quantificação da separação entre os documentos (dissi-milarity) factor idf, a frequência inversa do documento w ij = tf(i,j) * idf(i) 25 26 M O D E L O P R O B A B I L Í S T I C O M O D E L O P R O B A B I L Í S T I C O Objectivo Usar o enquadramento probabilístico para resolver o problema da recuperação de informação Dada uma pergunta Existe uma resposta (conjunto de documentos) ideal Algoritmo Tentar adivinhar o conjunto de documentos ideal Melhorar iterativamente Algoritmo Escolhe (por qualquer processo) um conjunto de documentos pode usar o modelo vectorial ou booleano O utilizador inspecciona os documentos para identificar os relevantes (basta inspeccionar os 10-20 melhor classificados) O sistema de RI usa a informação para refinar a descrição do conjunto ideal Pela repetição deste processo, a descrição do conjunto ideal vai melhorando A descrição da resposta ideal é modelada em termos probabilísticos 27 28 P R I N C Í P I O D A O R D E N A Ç Ã O P R O B A B I L Í S T I C A T E R M O S U S A D O S E M Dada uma pergunta do utilizador q e um documento d j, o modelo probabilístico tenta estimar a probabilidade do utilizador considerar o documento dj relevante O modelo assume que a probabilidade de ser relevante depende unicamente da pergunta a da representação do documento O conjunto de resposta R deve maximizar a probabilidade de relevância. Os documentos pertencentes a R pressupõe-se serem relevantes PERGUNTA (question) Uma representação do que o utilizador procura: pode ser uma lista de palavras ou uma frase DOCUMENTO (document) Uma entidade (contém informação) que o utilizador quer extrair COLECÇÃO (collection) Um conjunto de documentos ÍNDICE (indice) Uma representação da informação que facilita a elaboração de perguntas TERMO (term) Palavra ou conceito que ocorre num documento ou pergunta 29 30
CLASSIFICAÇÃO (Classification) Classificação não supervisionada toda a classificação é efectuada sem referência a informação externa Classificação supervisionada existe algum mecanismo externo (como o reforço do utilizador) que fornece informação sobre a correcta classificação dos documentos????? (Cluster) grupo de elementos semelhantes, num domínio????? (Similarity, semantic closeness/proximity/nearness) Uma métrica que classifica a semelhança de um conjunto de documentos ou termos, com base na semelhança do significado /conteúdo semântico EXTRACÇÃO DE INFORMAÇÃO (Information Extraction) Aplica métodos e tecnologias da ciência dos computadores ao problema de processar automaticamente texto não estruturado, com o objectivo de extrair conhecimento estruturado relativamente a um domínio pré-definido PRECISÃO/COBERTURA (Precision/Recall) Precisão é a fracção do número de documentos relevantes no conjunto de documentos devolvidos por uma procura Cobertura é a fracção (da totalidade) do material relevante que é devolvida por uma procura LEMATIZAÇÃO (Stemming) Determina o lema de uma palavra flexionada (por vezes derivada). O lema não tem de ser idêntico à raiz da palavra. 31 32 PALAVRA FUNCIONAL (Stopword) Uma palavra usada frequentemente, como por exemplo a ou um, que não é indexada e consequentemente não usada pelo motor de procura FICHEIRO INVERTIDO (Inverted File) Indica o documento em que uma palavra aparece, e não o local do texto onde a palavra está presente EXPANSÃO DA PERGUNTA (Query Expansion) Aumenta a possibilidade de encontrar um documento expandindo a pergunta com as palavras ou frases que têm um significado semelhante RELEVÂNCIA (Relevance) Uma medida da semelhança entre um dado objecto (ficheiro, página web, registo da base de dados,...) e a informação providenciada pelo utilizador para efectuar uma procura 33 FREQUÊNCIA DE TERMOS (Term Frequency) Frequência de um termo num documento é uma medida da importância do termo nesse documento: é o número de vezes que a palavra aparece no documento a dividir pelo número total de palavras do documento. FREQUÊNCIA DO DOCUMENTO (Document Frequency) A frequência do documento é uma medida da importância do termo (o log do número de todos os documentos a dividir pelo número de documentos que contêm o termo) FREQUÊNCIA DE DOCUMENTOS INVERSA (Inverse Document Frequency) TFIDF quantifica a importância de uma palavra num documento A importância aumenta proporcionalmente ao número de vezes que a palavra aparece no documento, mas tendo em atenção a frequência dessa palavra em todos os documentos do corpus 34 C O N F E R Ê N C I A S I M P O R T A N T E S MODELO VECTORIAL (Vector Space Model) Modelo algébrico usado para filtrar os documentos relevantes durante um processo de busca. Representa os documentos através de uma representação formal de vectores num espaço multi-dimensional PESOS (Weighting) Controla a especificidade e a exaustividade da procura TREC (Text REtrieval Conference) Conferência anual onde os participantes competem com os seus sistemas de resposta a perguntas em qualquer tópico através da procura num corpus de textos MUC (Message Understanding Conference) Conferência que avalia sistemas capazes de extrair entidades encontrar palavras equivalentes preencher os atributos de padrões (templates) previamente definidos identificar relações entre os atributos de padrões 35 36