Baixe o app para aproveitar ainda mais
Prévia do material em texto
Recuperação de Informação e Processamento da Linguagem Natural Marco Gonzalez, Vera L. S. de Lima PUCRS - Faculdade de Informática Av.Ipiranga, 6681 – Prédio 16 - PPGCC 90619-900 Porto Alegre, Brasil {gonzalez, vera} @inf.pucrs.br Abstract. Information retrieval (IR) systems essentially execute indexation, search, and classification of (textual) documents. Their purpose is to satisfy user information needs, expressed through queries. However, to find the relevant information is a difficult task. Natural language processing (NLP) is present in different levels of the many approaches that researchers have been trying to solve that problem. The linguistic knowledge can bring intelligent strategies for IR, mainly through syntactic processing and semantic interpretation. Although statistical methods or linguistic knowledge are used, NLP has still to surmount many difficulties in the area of IR but, of course, it has many benefits to offer. Resumo. Sistemas de recuperação de informação (RI) tratam essencialmente de indexação, busca e classificação de documentos (textuais), com o objetivo de satisfazer necessidades de informação de seus usuários, expressas através de consultas. Encontrar a informação relevante é, entretanto, uma tarefa difícil. O processamento da linguagem natural (PLN) está presente em diferentes níveis nas diversas abordagens que os pesquisadores têm procurado para solucionar este problema. O conhecimento lingüístico pode, principalmente através de processamentos morfo-sintático e semântico, trazer estratégias inteligentes para a RI. Tanto através de métodos estatísticos quanto pela aplicação de conhecimento lingüístico, o PLN tem ainda muitos desafios a vencer na área de RI mas, por certo, tem muitos benefícios a oferecer. Palavras-chave: recuperação de informação, processamento da linguagem natural. 1. Introdução 1.1. Motivação O homem tem armazenado, catalogado e organizado a informação há aproximadamente 4000 anos, com o principal objetivo de recuperá-la para uso posterior. Atualmente, cresce de forma cada vez mais rápida a quantidade dos textos armazenados em formato digital, e a maioria deles é esquecida pois nenhum ser humano pode ler, entender e sintetizar toda esta informação. Isto tem incentivado os pesquisadores a explorar estratégias para tornar acessível ao usuário a informação relevante [Rijsbergen1979, Sparck-Jones1997, Kowalski1997, Frantz1997, Baeza-Yates1999, Croft2000, Meadow2000]. A necessidade de informação (NI) é considerada uma das necessidades vitais do ser humano e quem a satisfaz “viabiliza sua adaptação às condições externas da existência” [Frantz1997]. Entre os métodos tradicionais utilizados para satisfazer a NI estão: a captura da informação a partir da natureza (por exemplo: pela dedução de fórmulas ou pela medição de eventos), e a obtenção da informação através de consultas a um conjunto de dados armazenados [Frantz1997]. Tais consultas constituem a entrada de um sistema de recuperação de informação (RI), que deve buscar, em uma coleção de documentos, aqueles que podem satisfazer à NI do usuário. Entretanto, é difícil encontrar a informação relevante, principalmente porque há muita informação (a maioria irrelevante) [Baeza-Yates1999]. Os pesquisadores têm procurado abordagens alternativas para solucionar este problema. Além da aplicação de métodos estatísticos, o processamento da linguagem natural (PLN), com motivação lingüística, é uma dessas alternativas [Sparck-Jones1997, Jacquemin2000]. 1.2. Objetivos Este curso tem, como objetivo geral, apresentar uma visão geral sobre a área da RI e relatar aspectos e experiências relacionadas ao PLN, nesta área. Neste sentido, tem, como objetivos específicos, os seguintes: · relatar os fundamentos do PLN quanto aos processamentos morfo-sintático e semântico e à representação do conhecimento; · discutir o problema da RI, apresentando conceitos, modelos, técnicas e recursos que têm sido adotados para resolvê-lo; · discutir como tem sido utilizado o PLN, em níveis sintático e semântico, para beneficiar técnicas e recursos na resolução dos problemas da RI; e · apresentar um estudo de caso para ilustrar o funcionamento de um sistema tradicional de RI. 1.3. Organização do texto Nesta seção (Introdução) é explicada a motivação do mesmo, são definidos seus objetivos e a seqüência dos assuntos abordados. Na seção 2 (Processamento da Linguagem Natural), é dada uma visão geral sobre o PLN, quanto à transformação das sentenças em linguagem natural nas correspondentes formas lógicas, através de processamentos morfo-sintático e semântico, discutindo representação do conhecimento e estratégias do PLN. Na seção 3 (Ontologia e Thesauri), são discutidos os conhecimentos ontológicos e são apresentados conceitos, classificação, modos de construção e aplicações de thesauri, com aplicação em alguns sistemas de RI. A seção 4 (Recuperação de Informação) é reservada para o problema da RI. São discutidos conceitos e classificações, é apresentado um breve histórico e são descritos modelos, componentes e etapas (indexação e busca) de execução dos sistemas de RI. Também são apresentadas métricas para avaliação dos mesmos. Na seção 5 (RI e PLN), o PLN é discutidos no contexto da RI. São discutidas abordagens e relatadas experiências. Na seção 6 (Estudo de Caso) é apresentado um estudo de caso sobre um sistema de RI, com o objetivo de examinar seus componentes e recursos. Para finalizar, a seção 7 (Considerações Finais) tece comentários sobre os pontos abordados, discutindo dificuldades e possibilidades do PLN na RI. 2. Processamento da Linguagem Natural 2.1. Introdução O processamento da linguagem natural (PLN) trata computacionalmente os diversos aspectos comunicação humana, como sons, palavras, sentenças e discursos, considerando formatos e referências, estruturas e significados, contextos e usos. Em sentido bem amplo, podemos dizer que o PLN visa fazer o computador se comunicar em linguagem humana, nem sempre necessariamente em todos os níveis de entendimento e/ou geração de sons, palavras, sentenças e discursos. Estes níveis são: · fonético e fonológico: do relacionamento das palavras com os sons que produzem; · morfológico: da construção das palavras a partir unidades de significado primitivas e de como classificá-las em categorias morfológicas; · sintático: do relacionamento das palavras entre si, cada uma assumindo seu papel estrutural nas frases, e de como as frases podem ser partes de outras, constituindo sentenças; · semântico: do relacionamento das palavras com seus significados e de como eles são combinados para formar os significados das sentenças; e · pragmático: do uso de frases e sentenças em diferentes contextos, afetando o significado. A representação do significado de uma sentença, independente de contexto, é obtida através de sua forma lógica [Allen1995, Franconi2001] (ver Figura 1). A forma lógica codifica os possíveis sentidos de cada palavra e identifica os relacionamentos semânticos entre palavras e frases. Uma vez que os relacionamentos semânticos são determinados, alguns sentidos para as palavras tornam-se inviáveis e, assim, podem ser desconsiderados. Figura 1. Transformações da sentença na estrutura sintática e na forma lógica forma lógica processamento semântico processamento morfo-sintático Gramática Léxico sentença estrutura sintática A estrutura sintática de uma sentença é obtida através do processamento morfo- sintático, sendo a representação desta estrutura é regidas por leis gramaticais – definidas em uma gramática. Outras informações necessárias a esta etapa, como as categorias morfológicas das palavras, são encontradas em um léxico. O mapeamento da estrutura sintática da sentença em sua forma lógica é realizado pelo processamento semântico e, nele, o léxico também exerce papelfundamental, com informações sobre o significado dos itens lexicais. Vimos que a gramática e o léxico são recursos indispensáveis para a transformação1 da sentença em sua forma lógica. Vamos examiná-los um pouco mais de perto. 2.2. Gramática Uma gramática é constituída por um conjunto de regras de boa formação das palavras e das sentenças de uma língua. Essas regras permitem dupla função para as gramáticas [Bouillon1998]: a função normativa, que define regras de combinação das palavras, gerando sentenças corretas; e a função representativa, que associa a uma ou mais frases suas representações sintáticas. Uma boa gramática deve ser [Allen1995] (a) suficientemente genérica, aceitando o maior número possível de sentenças válidas; (b) seletiva, reconhecendo os casos identificados como problemáticos; e (c) inteligível, favorecendo o entendimento de suas regras, principalmente, pela simplicidade das mesmas. Uma gramática é dita gerativa quando consegue traduzir os fatos lingüísticos (inclusive os aspectos criativos) da linguagem por meio de regras e processos explícitos, precisos e de aplicação automática, obedecendo a condições específicas [Lobato1986]. Diversos formalismos de representação computacional podem ser usados para representar uma gramática [Nunes1999]. Um destes formalismos é o da gramática de constituintes imediatos (phrase-structure grammar – PSG), que é definida como uma quádrupla <T,N,P,S>, onde: T representa o conjunto das palavras da língua, N representa o conjunto das categorias funcionais e das categorias lexicais, P representa o conjunto de regras de produção, e S representa o símbolo inicial pertencente a N. Não há um formalismo eleito como o melhor. Os modelos que se situam entre as gramáticas livres de contexto e aquelas sensíveis ao contexto têm sido propostos pelos pesquisadores como os mais indicados [Vieira2001]. De qualquer forma, quanto ao PLN, é indispensável o uso de critérios formais para a construção das regras gramaticais. Estes vão se aliar a outro recurso do PLN que é o léxico. 2.3. Léxico De forma genérica, o termo “léxico” significa uma relação de palavras com suas categorias gramaticais e seus significados. Em relação a uma determinada língua, um 1 Esta visão adota uma abordagem chomskyana, justificada pela ampla e fundamental influência exercida por Chomsky e seus discípulos nesta área. léxico é o universo de todos os seus itens lexicais, que seus falantes utilizam, já utilizaram ou poderão vir a utilizar [Scapini1995]. Alguns autores argumentam que o termo “dicionário” carrega tipicamente impresso o significado de vocabulário (wordbook) para leitores humanos [Guthrie1996]. Em alguns casos, utiliza-se o termo “léxico” para identificar o componente de um sistema de PLN com informações semânticas e gramaticais sobre itens lexicais. Também, usa-se a expressão “base de dados lexical” como sendo uma coleção de informações lexicais, apresentadas em formato estruturado e acessível a sistemas de PLN. De qualquer forma, o propósito dos dicionários (ou léxicos) é prover uma grande gama de informações sobre palavras, como etimologia, pronúncia, morfologia, sintaxe, entre outras. Eles fornecem definições de seus sentidos e, em decorrência disso, produzem conhecimento não apenas sobre a linguagem, mas sobre o próprio mundo [Guthrie1996]. Quanto ao conteúdo, podemos classificar os dicionários em cinco categorias [Wertheimer1995]: (a) convencionais, com verbetes em ordem alfabética; (b) analógicos, que organizam os itens lexicais de acordo com seu significado; (c) etimológicos, que se ocupam exclusivamente da origem das palavras; (d) morfológicos, que apresentam as formas flexionais dos lexemas; e (e) de sinônimos e antônimos, com listagens de palavras semelhantes ou opostas em significado. Quanto ao objetivo a que se destinam, os dicionários podem ser classificados, também, em cinco tipos [Wilks1966]: (a) dicionários padrão, que explicam os significados das palavras; (b) thesauri, que apontam relacionamentos entre os itens lexicais; (c) dicionários bilíngües, que buscam relacionar dois idiomas em nível de equivalência de sentidos das palavras; (d) dicionários de estilo, que dão orientações sobre o bom uso das regras gramaticais; e (e) dicionários de concordância, que são essencialmente ferramentas escolares. No contexto do PLN surgem ainda os dicionários (ou léxicos) com capacidade de serem legíveis e tratáveis por máquina [Wilks1996]. Espera-se que informações lexicais em larga escala possam ser extraídas automaticamente através do que tem sido denominado de “dicionário legível por máquina” (machine-readable dictionarie — MRD), melhorando, assim, a uniformidade e a consistência da informação. A capacidade das máquinas de tratar dicionários, entretanto, vai além dos MRDs, com o surgimento dos “dicionários tratáveis por máquina” (machine-tractable dictionaries — MTDs). Os MTDs, contendo um grande conjunto de informações lingüísticas, viabilizam a conversão de um dicionário existente em uma forma apropriada para PLN. Entre os modelos de dicionários com potencial para processamento pelo computador, encontra-se o Explanatory Combinatorial Dictionary (ECD) [Mel’cuk1992], que adota o modelo Meaning-Text Model (MTM). Este modelo descreve uma linguagem natural como um dispositivo lógico que associa os significados aos textos, com quatro níveis lingüísticos de representação: (a) semântico; (b) sintático; (c) morfológico; e (d) fonético ou ortográfico. Outro exemplo é o WordNet [Fellbaum1998], descrito por seus autores como uma base de dados lexical legível por máquina e organizada por significado. Ela está dividida em grupos de substantivos, verbos, adjetivos e advérbios. Os itens lexicais são apresentados através de suas definições, seus diversos sentidos e suas relações com outros itens lexicais. Usa o conceito de synset, ou seja, conjunto de sinônimos, para construir o relacionamento semântico básico no WordNet, que é a sinonímia (relação entre sinônimos). Através de synsets relacionados é formada uma hierarquia lexical, pela hiponímia (relação entre um hiperônimo, mais genérico, e um hipônimo, mais específico) entre eles, como {robin, redbreast } ® {bird} ® {animal, animate_being} ® {organism, life_form, living_thing} ({tordo, pisco-de-peito-ruivo} ® {pássaro} ® {animal, ser_animado} ® {organismo, forma-de-vida, ser-vivo}). Contando, então, com bases de dados lexicais e regras gramaticais, a transformação da sentença em sua forma lógica é iniciada pelo processamento morfo- sintático, discutido a seguir. 2.4. Processamento 2.4.1. Morfo-sintático Fazem parte do processamento morfo-sintático, a análise morfológica e a análise sintática. A morfologia e a sintaxe tratam da constituição das palavras e dos grupos de palavras que formam os elementos de expressão de uma língua. Enquanto o analisador léxico-morfológico lida com a estrutura das palavras e com a classificação das mesmas em diferentes categorias, o analisador sintático trabalha em nível de agrupamento de palavras, analisando a constituição das frases. A análise sintática (parsing) é o procedimento que avalia os vários modos de como combinar regras gramaticais, com a finalidade de gerar uma estrutura de árvore que represente a estrutura sintática da sentença analisada. Se a sentença for ambígua, o analisador sintático (parser) irá obter todas as possíveis estruturas sintáticas que a representam. O papel do processamento sintático varia em importância [Nunes1999]. Ele tradicionalmente ocupa posição de destaque, com a semântica sendo considerada uma interpretação da sintaxe. Mas, também, pode ser considerado em posição secundária, de acordo com os pesquisadores denominados semântico-gerativistas. Neste último caso, a sintaxe é uma projeção da semântica. Entretanto, qualquer que seja a visão adotada, o processamentosintático é uma etapa indispensável para viabilizar o processamento semântico, que passamos a discutir. 2.4.2. Semântico Enquanto a sintaxe corresponde ao estudo de como as palavras agrupam-se para formar estruturas em nível de sentença, a semântica está relacionada ao significado, não só de cada palavra, mas também do conjunto resultante delas. O processamento semântico é considerado um dos maiores desafios do PLN, pois se vincula, de um lado, com a morfologia e a estrutura sintática e, de outro lado em alguns casos, com informações da pragmática [Saint-Dizier1999]. Segundo o princípio da composicionalidade, o significado de qualquer construção em uma linguagem depende do significado de cada um dos seus componentes [Allen1995]. Assim, o significado de uma frase, por exemplo, origina-se do significado de cada palavra. Este princípio revela a importância das relações que ocorrem entre os itens lexicais. Quando essas conexões ligam elementos de domínios semânticos, tem sido usual denominá-las “relações semânticas”, enquanto as ligações entre itens lexicais são tratadas como “relações lexicais”. Entretanto, quando não é possível ou é desnecessária a distinção, é adotado o termo “relações semânticas lexicais” [Evens1992]. As palavras podem se associar através de dois tipos de relações: paradigmáticas [Lyons1979, Evens1992, Pustejovsky1995, Scapini1997, Yule1998, Sacconi1999] e sintagmáticas [Lyons1979, Evens1992] ou colocações [Yule1998]. Entre as relações paradigmáticas estão: sinonímia, antonímia, hiponímia, hiperonímia (em sentido contrário da hiponímia), meronímia (relação entre um holônimo, que representa o todo, e um merônimo, que representa a parte), holonímia (em sentido contrário da meronímia), implicatura e pressuposição. A implicatura é a relação entre A e B, quando B só é verdadeiro se A também for. A pressuposição é a relação entre A e B, quando B é verdadeiro se A ou a negação de A forem verdadeiros. As relações paradigmáticas associam palavras através do significado, como “nadar” e “água”. As relações sintagmáticas conectam palavras que são freqüentemente encontradas no mesmo discurso, como “água” e “poça”. As associações de termos [Ruge1999] englobam diferentes tipos de relações semânticas lexicais, como a sinonímia (exemplo: “recipiente” e “receptáculo”), a hiponímia (exemplo: “reservatório” e “tanque”), a meronímia (exemplo: “carro” e “tanque”), a antonímia (exemplo: “aceleração” e “desaceleração”) e a compatibilidade (exemplo: “carro” e “dirigir”), entre outras. Estão incluídos nestas classes de relacionamentos tanto os paradigmáticos quanto os sintagmáticos. O processo composicional é um dos principais problemas do processamento semântico. Assim, como o significado de um constituinte de uma sentença depende dos significados dos seus sub-constituintes, os significados destes podem, por sua vez, ser determinados por regras gramaticais. Como alternativa, entretanto, a complexidade do processamento pode ser deslocada das regras gramaticais para o léxico. Um exemplo deste último caso é o conceito de léxico hierárquico [Allen1995]. Nele, os sentidos dos verbos são organizados de tal forma, permitindo que sejam herdados de umas classes para outras. Outra abordagem neste sentido é a teoria do Léxico Gerativo [Pustejovsky1995], que introduz um conjunto de recursos para análise semântica de expressões em linguagem natural. Esta teoria considera a semântica das palavras isoladas e, também, a capacidade de composição entre elas. O Léxico Gerativo procura abordar (a) explicação da natureza polimórfica da linguagem; (b) a caracterização da semanticalidade (semanticality) das expressões em linguagem natural; (c) a captura do uso criativo das palavras em novos contextos; e (d) o desenvolvimento de uma representação semântica co-composicional mais rica. Todos esses esforços são realizados com o objetivo de processar os prováveis significados de palavras, frases, sentenças e textos. Mas, o que é o significado? 2.5. Questões sobre o significado 2.5.1. O significado do significado O termo “significado” pode ser utilizado como sendo o sentido da linguagem corrente, como sentido intuitivo, pré-teórico, e podem ser relacionadas três funções da informação semântica codificável em enunciados lingüísticos [Lyons1977]: (a) o significado descritivo, que pode ser objetivamente verificado; (b) o significado social, que serve para estabelecer e manter relações sociais; e (c) o significado expressivo, que depende do locutor. Para discutir a formação (ou a descrição) do significado, tem sido usado o conceito de “primitivas” [Wilks1996]. Numa analogia com o conceito de átomo, há a identificação de entidades primitivas, não subdivisíveis, e a partir das quais outras, mais complexas, são formadas. Palavras e primitivas não seriam elementos distintos, mas as primitivas, como característica, têm o propósito principal e específico de definir. Neste sentido, um conjunto de primitivas deve ser entendido como mais um recurso (juntamente com processamento sintático) a serviço da representação semântica de expressões em linguagem natural, através de algoritmos que associem palavras a primitivas, em busca do significado. As teorias propostas para explicar o que é o significado podem ser classificadas em três grandes grupos de visões [Wilks1996]: · Visão não-simbólica: o significado pode ser visto como uma coleção de objetos do mundo, ou como algo que se mostra mas não se explica com palavras ou, ainda, como um procedimento de verificação do valor-verdade. · Casos intermediários: o significado pode ser visto como uma descrição formal, como um mapeamento funcional, associado a atividades sub- simbólicas do cérebro, como um agente seletivo, ou como um estereótipo. · Visão simbólica: o significado pode ser visto como um conjunto de condições, como o resultado de implicação ou dedução ou, simplesmente, como um símbolo. Verifica-se que definir o que é o significado é uma tarefa tão difícil quanto estabelecer precisamente a noção de semântica, já que estes termos são usados em contextos e propósitos diversos. O processamento do significado de um item lexical ou de uma sentença enfrenta diversos obstáculos. Entre eles está o problema das variações lingüísticas. 2.5.2. Variações lingüísticas e ambigüidade As variações lingüísticas [Jacquemin1997, Arampatzis2000] podem ser classificadas em: · morfológica, quando processos flexionais ou derivacionais criam palavras diferentes, como em “lobo” e “lobos”; · lexical, quando diferentes palavras são usadas para representar o mesmo significado, como “calçado” e “sapato”; · sintático-semântica, quando a posição relativa das palavras determinam frases com significados diferentes, como “biblioteca da ciência” e “ciência da biblioteca”; · morfo-sintática, quando variações morfológicas não impedem a manutenção do significado essencial da frase, podendo ser: · variações substantivo-substantivo, como resultado/agente em “fixação de nitrogênio” e “fixador de nitrogênio”, ou recipiente/conteúdo em “reservatório de água” e “reserva de água”; · variações substantivo-verbo, como processo/resultado em “fixação de nitrogênio” e “fixar nitrogênio”; e · variações substantivo-adjetivo, onde um modificador preposicional é substituído por modificador adjetival, como em “variação do clima” e “variação climática”; e · semântica, quando diversos significados são possíveis para o mesmo objeto lingüístico, como “palmas” e “queda da bolsa”. Portanto, objetos lingüísticos de diferentes tipos, como palavras e frases, podem não ter o mesmo significado em cada ocorrência. Isto causa a ambigüidade, que é a propriedade que faz com que uma sentença, por exemplo, possa ser interpretada através de dois ou mais modos diferentes [Lyons1977]. Esta propriedade pode ser atribuída a qualquer objeto lingüístico, seja ele uma palavra, uma frase,ou todo um texto. Quanto ao nível de processamento do PLN, temos os seguintes tipos de ambigüidade [Jurafsky2000]: · sintática, quando a ambigüidade é encontrada já em nível sintático; e · semântica, quando a ambigüidade aparece somente em nível semântico. A ambigüidade sintática ocorre quando um item lexical pode pertencer a mais de uma classe gramatical, como “casa” em “a bela casa”, que pode ser substantivo ou verbo. Outras causas da ambigüidade sintática são [Smeaton1997]: (a) mais de uma ligação possível do sintagma preposicional, como em “comprei um cofre com dinheiro”; (b) mais de uma coordenação ou conjunção possíveis, como em “tenho parentes e amigos gremistas”; ou (c) mais de uma combinação possível para substantivos compostos, como em “lareira da casa de pedras”. Um exemplo de ambigüidade semântica é a que ocorre com o verbo “passar”, que pode apresentar mais de um significado, como em “passar a ferro” e em “passar no exame”. Quanto à causa da ambigüidade, podemos encontrar os seguintes tipos [Beardon1991]: · lexical, que ocorre quando uma palavra possui múltiplos significados; e · estrutural, quando é possível mais de uma estrutura sintática para a sentença, podendo ser: · local, quando a ambigüidade pode ser resolvida em nível de sentença, dispensando o conhecimento do contexto onde ela ocorre; ou · global, quando exige análise do contexto para sua resolução. Há ambigüidade estrutural local em “ele olhou o computador com esperança”, e há ambigüidade estrutural global em “ele olhou o colega com esperança”. No segundo caso, é possível construir duas associações diferentes: “olhou com esperança” e “colega com esperança”. No primeiro caso, a vinculação “computador com esperança” pode, em princípio, ser descartada. Em relação à ambigüidade lexical temos dois fenômenos a ressaltar: a homonímia e a polissemia. A homonímia ocorre entre itens lexicais com significados diferentes, que (a) possuem o mesmo som e a mesma grafia (homônimos perfeitos: como substantivo alvo e adjetivo alvo), ou (b) apenas o mesmo som (homônimos homófonos: como acento e assento), ou (c) apenas a mesma grafia (homônimos homógrafos: como verbo “seco” e adjetivo “seco”) [Sacconi1999]. Os homônimos homógrafos podem existir (a) por possuírem origem comum (o adjetivo “triangular” e o verbo “triangular”), (b) por coincidência (“vogal”, a letra, e “vogal”, um membro de júri) ou (c) por derivação (substantivo “procura”, derivado do verbo “procurar”) [Santos1996]. A polissemia, ao contrário da homonímia, seria o resultado do processo que ocorre, onde diferentes significados vão sendo adquiridos por uma mesma palavra com o tempo, como é o caso das palavras “filme” e “banco”. A normalização lingüística e, mais especificamente, a resolução da ambigüidade, qualquer que seja ela, são essenciais para uma representação eficiente do conhecimento. 2.6. Representação do conhecimento Duas formas de conhecimento são consideradas cruciais para os sistemas que utilizam representação do conhecimento (RC) [Allen1995]: o conhecimento geral do mundo e o conhecimento específico da situação corrente. Este último pode ser subdividido em: (a) conhecimento semântico lexical, que associa as palavras e suas propriedades sintáticas a estruturas conceituais; e (b) conhecimento de domínio (ou de contexto), que agrega significado aos conceitos [Franconi2001]. Grande parte do conhecimento que se tem sobre aquilo que tratamos e sobre seu ambiente é descritiva, podendo ser expressa de forma declarativa [Genesereth1988]. A tarefa da RC, entretanto, não é simples, pois depende justamente do processamento do significado. A RC pode ser vista como [Davis1993]: · um surrogate: a RC substituiria aquilo que representa, possibilitando que se argumente sobre o mundo através de inferências; · um conjunto de compromissos ontológicos: a RC estabeleceria um ponto de vista em relação ao mundo, afetando decisões e posicionamentos que, por sua vez gerariam novos compromissos ontológicos; · uma teoria fragmentária sobre o raciocínio inteligente, que estabelece (a) o modo como o raciocínio é representado, (b) o que podemos deduzir do que conhecemos e (c) o que devemos deduzir do que conhecemos; · um meio para a computação eficiente em termos pragmáticos: a RC seria um ambiente computacional onde o pensamento se realiza, como um guia que organiza a informação, para facilitar inferências recomendadas; ou · um meio de expressão humana: a RC seria uma linguagem através da qual discorremos sobre o mundo. No contexto da inteligência artificial, o objetivo da RC é expressar o conhecimento em uma forma tratável pelo computador [Russel1995], de tal modo que o resultado possa ser útil à comunicação entre as pessoas e a máquina. Tal comunicação está fundamentada em um conjunto de objetos com os quais o conhecimento é expresso e que é denominado universo do discurso [Genesereth1988]. Este conjunto deve atender à conceitualização do mundo por parte de quem expressa o conhecimento, considerando a formalização do mesmo. 2.6.1. Forma lógica Diversos fenômenos lingüísticos, como o polimorfismo, a composição, a homonímia, entre outros, fazem com que a transformação de uma sentença em sua correspondente forma lógica não seja um processo trivial. O ideal é que, ao ser adotado um formalismo para representação, este formalismo obedeça aos seguintes critérios [Beardon1991]: (a) prover distintas representações para distintos significados que qualquer conjunto de palavras possa ter; (b) prover uma única representação para dois conjuntos diferentes de palavras que tenham o mesmo significado; (c) ser completo, de forma a representar o significado de qualquer conjunto de palavras; e (d) produzir somente representações que correspondam a significados possíveis. O cálculo de predicados de primeira ordem (CPPO) é adequada para a RC, pois é tratável computacionalmente e flexível [Jurafsky2000]. É dito de primeira ordem porque os predicados estabelecem relações entre termos. Seria de segunda ordem se os predicados estabelececm relações também entre predicados. Um CPPO possui os seguintes elementos: predicados e termos. Os predicados representam relações entre objetos. Os termos podem ocorrer na forma de (a) variáveis, que representam classes de objetos, (b) constantes, que representam objetos específicos, ou (c) funções, que, ao serem aplicadas sobre objetos, representam outros objetos resultantes desta aplicação. Outros elementos também podem ser inseridos, como conectivos e quantificadores. Um CPPO pode combinar unidades primitivas de significado (denominadas “sentido”) para formar o significado de uma expressão mais complexa [Russel1995]. Isto é útil porque o significado de uma sentença, como vimos, é composicional, ou seja, é o resultado do significado de suas partes. A lógica aplicada às sentenças em linguagem natural consiste [Russel1995] de um sistema formal, para descrever os estados dos acontecimentos, e de teoria de prova. O sistema formar inclui a sintaxe da linguagem, que descreve como devem ser construídas as sentenças, e a semântica, que estabelece as restrições sistemáticas de como as sentenças estão relacionadas aos estados dos acontecimentos. A teoria de prova é um conjunto de regras para deduzir as implicações de um conjunto de sentenças. Descrições lógicas têm sido usadas para codificar os elementos sintáticos e semânticos necessários em uma base de conhecimento, para orientar o processamento semântico [Franconi2001]. Neste sentido, o PLN busca estabelecer, através de descrições lógicas, as relações entre os objetos lingüísticos e esclarecer a correspondência dos mesmos a situações do mundo real. O que nos leva, por generalização, à representação do próprio conhecimento ontológico, que discutiremos mais adiante. 2.7. Estratégias de processamento Na busca do significado, no tratamento da ambigüidade e noenfrentamento de outros desafios, por exemplo, para obter uma forma lógica adequada, o PLN pode se apoiar no conhecimento lingüístico e em métodos estatísticos, não necessariamente de forma excludente. Têm sido, inclusive, apontados benefícios quando há a associação de ambos [Bod1995]. 2.7.1. Aplicação de conhecimento lingüístico São citados, a seguir, algumas estratégias de PLN que envolvem conhecimento lingüístico. A) Etiquetagem de texto Quando algum conhecimento lingüístico é considerado, a etiquetagem gramatical do texto é um dos passos iniciais. Um etiquetador gramatical (part-of-speech tagger) é um sistema que identifica, através da colocação de uma etiqueta (tag), a categoria gramatical de cada item lexical do texto analisado [Bick1998]. Enquanto, u etiquetador morfológico inclui informações sobre categorias morfológicas, como substantivo e adjetivo, um etiquetador sintático acrescenta etiquetas indicando as funções sintáticas das palavras, como sujeito e objeto direto. Além da etiquetagem ou marcação gramatical, existe a etiquetagem semântica [Vieira2000], que anexa informação relacionada ao significado, podendo indicar os papéis dos itens lexicais na sentença, como agente, processo e estado. B) Normalização de variações lingüísticas O reconhecimento de variações lingüísticas encontradas em um texto permite, por exemplo, o controle de vocabulário [Jacquemin1997]. A normalização lingüística pode ser subdividida em três casos distintos [Arampatzis2000]: morfológica, sintática e léxico-semântica. A normalização morfológica ocorre quando há redução dos itens lexicais através de conflação2 a uma forma que procura representar classes de conceitos. Os procedimentos mais conhecidos para conflação são: · stemming, que reduz todas as palavras com mesmo radical a uma forma denominada stem (similar ao próprio radical) [Orengo2001], sendo eliminados afixos oriundos de derivação ou de flexão (em alguns casos, apenas os sufixos são retirados); e · redução à forma canônica (tratada por alguns autores como lemmatization), que, geralmente, reduz os verbos ao infinitivo e os adjetivos e substantivos à forma masculina singular [Arampatzis2000]. No caso da forma canônica, não há perda da categoria morfológica original, ao contrário de um stem que pode ser oriundo de palavras de categorias diferentes. Por exemplo, “contruções” e “construiremos” seriam reduzidas ao stem “constru”, no processo de stemming. Por outro lado, ao ser adotada a redução à forma canônica teriámos, respectivamente, “construção” e “construir”. A normalização sintática ocorre quando há a normalização de frases semanticamente equivalentes mas sintaticamente diferentes, em uma forma única e representativa das mesmas, como “processo eficiente e rápido” e “processo rápido e eficiente”. A normalização léxico-semântica ocorre quando são utilizados relacionamentos semânticos (como a sinonímia, hiponímia e meronímia) entre os itens lexicais para criar um agrupamento de similaridades semânticas, identificado por um item lexical que representa um conceito único. 2 Algoritmos de conflação (conflation) são aqueles que combinam a representação de dois ou mais termos num único termo, ou seja, reduzem variantes de uma palavra numa forma única [Sparck- Jones1997]. Em nível de item lexical, portanto, podemos encontrar dois extremos de normalização. De um lado está a normalização morfológica através de stemming, que explora similaridades morfológicas, talvez, inferindo proximidades conceituais. Em outro extremo está a normalização léxico-semântica, por exemplo, atrvés de busca de sinônimos em thesauri, considerando informações terminológicas [Jacquemin1999]. C) Eliminação de stopwords A eliminação de stopwords pode ser, também, uma estratégia adotada no PLN. Stopwords são palavras funcionais, como artigos, conetivos e preposições [Baeza- Yates1999]. Com tal eliminação, corre-se, entretanto, o risco de perder a estrutura composicional de expressões. As preposições, por exemplo, podem exercer papel composicional significativo [Gamallo2002], entretanto, como termos isolados perdem significado ao contrário de outras categorias gramaticais como o substantivo. As estratégias mencionadas podem se socorrer de gramáticas e/ou bases de dados lexicais ou, também, podem ser executadas com o auxílio de métodos estatísticos. 2.7.2. Aplicação de métodos estatísticos Métodos estatísticos têm dado grande contribuição ao PLN, como são os casos da lei de Zipf e do gráfico de Luhn. Zipf, em 1949, estabeleceu o que ficou conhecida como “constant rank- frequency law of Zipf” [Moens2000]. Esta lei define que, tomando um determinado texto, o produto log(ft) x kt é aproximadamente constante, onde ft é o número de vezes que o termo t ocorre no texto e kt é a posição deste termo em uma relação de todos os termos daquele texto, ordenados pela freqüência de ocorrência. Por outro lado, Luhn sugeriu, em 1958, que a freqüência de ocorrência das palavras em um texto pode fornecer uma medida útil sobre a expressividade das mesmas [Frants1997, Moens2000], pois “o autor normalmente repete determinadas palavras ao desenvolver ou variar seus argumentos e ao elaborar diferentes enfoques sobre o assunto que trata”. As palavras com maior freqüência de ocorrência deveriam ser consideradas pouco expressivas porque este conjunto de palavras é composto normalmente por artigos, preposições e conjunções. Também as palavras que muito raramente ocorrem deveriam ser consideradas pouco expressivas justamente em razão da baixa freqüência. Sobram como expressivas as palavras com freqüência de ocorrência intermediária, como mostra a Figura 2. Figura 2. Gráfico de Luhn para relacionar expressividade e freqüência de palavras l imite superior l imite inferiorordem crescente de expressividade ordem decrescente de freqüência palavras não expressivas de alta freqüência palavras não expressivas de baixa freqüência A utilização, no PLN, da teoria de probabilidade e das abordagens estatísticas em geral apontam caminhos interessantes para o processamento do significado [Bod1995]. A teoria da probabilidade, por gerar modelos matematicamente precisos para freqüências de ocorrência, e as abordagens estatísticas, por permitirem suposições valiosas em casos de incertezas. Regida pela teoria da probabilidade, o estudo das variáveis estocásticas introduz diversos tipos de medidas, como distribuição, freqüência, esperança e variança, e também modelos [Krenn1997]. Um modelo probabilístico, útil para o PLN, é o que analisa seqüências de palavras (modelo N-grama ou modelo de Markov de orden n-1) supondo que as n-1 palavras antecedentes afetam a probabilidade da próxima palavra [Jurafsky2000]. Diversas aplicações deste modelo podem ser encontradas no PLN, para criar clusters de palavras [Brown1992] ou para extrair unidades lexicais complexas [Dias2000]. No âmbito da teoria da informação, a estatística provê mecanismos para indicar quanta informação ou quanta incerteza temos em relação a um evento, ou, ainda, qual o grau de associação de eventos co-ocorrentes [Krenn1997]. Um desses mecanismos, a informação mútua (IM), leva em conta a probabilidade de ocorrência dos eventos isolados e em conjunto. Quanto maior a probabilidade dos termos ocorrerem juntos em relação às probabilidades de suas ocorrências isoladas, maior a informação mútua. Podem ser encontradas aplicações desta medida, por exemplo, para calcular o grau de similaridade entre palavras [Gauch1994, Mandala1999]. Os métodos estatísticos podem ser utilizados para auxiliar o PLN em diversas situações. Eles têm sido utilizados na etiquetagem gramatical, na resolução de ambigüidade e na aquisição de conhecimento lexical [Krenn1997], entre outras aplicações. 3. Ontologia e thesauri 3.1. Introdução Em razão da existênciada polissemia e da sinonímia, uma palavra pode denotar mais de um conceito e um conceito pode ser representado por palavras distintas [Pustejovsky1995, Scapini1997, Sacconi1999]. Não há dúvidas, também, que são os conceitos, e não as palavras, que representam sem ambigüidade as entidades do mundo real [Clark2000]. Portanto, na RC, é indiscutível a vantagem de se trabalhar com ênfase nos conceitos e não nas palavras. Então, um dos desafios a serem vencidos é o de construir uma ontologia apropriada, ou seja, um vocabulário conceitual, e os thesauri têm sido usados para tal tarefa [Sparck-Jones1986, Loukachevitch1999, Clark2000]. Vamos discutir o conhecimento ontológico e, posterioremente, os thesauri. 3.2. Conhecimento ontológico Pode-se entender que ontologia é o estudo do ser enquanto ser, ou seja, é o estudo da própria categorização do ser ou, ainda, que é uma espécie de modelagem do conhecimento do mundo, envolvendo objetos, relações e propriedades [Bouillon1998]. Uma ontologia pode se referir a um conjunto de objetos distintos que resultam da análise de um domínio específico ou de um micro-mundo [Jurafsky2000] ou, ao contrário, pode ser construída com abrangência geral, sendo, neste caso, mais difíceis de elaborar que as especializadas [Russel1995]. A elaboração de uma ontologia, em sua essência, consiste numa estruturação dos elementos envolvidos. Tal estruturação, que se assemelha ao formato de árvore, recebe o nome de taxonomia [Jurafsky2000]. Numa taxonomia, normalmente há um conjunto de restrições de formação, que estabelecem quais os relacionamentos válidos, sendo adotada a noção de hierarquia de objetos, com determinados critérios para heranças de características de ancestrais para descendentes. As palavras, contidas nos léxicos de diversas línguas, tem a função de referenciar os conceitos apresentados numa ontologia [Bouillon1998]. Assim, no PLN, uma ontologia pode dar maior qualidade e mais generalidade ou abrangência ao processamento. A representação do texto ganha profundidade e abstração Entre os aspectos considerados numa ontologia, para que produza esse conhecimento do mundo, destacam-se principalmente informações sobre categorias e composição dos objetos, mas também outras, como medidas, eventos, processos, tempo e espaço [Russel1995]. Através da classificação dos objetos em categorias seriam estabelecidas classes, coleções, espécies, tipos ou conceitos que incluem componentes com propriedades comuns e associados numa hierarquia taxonômica. Em alguns casos, a composição, mais do que outra característica qualquer, permitiria que objetos pertençam a determinadas categorias. A consideração do conceito de medida possibilitaria associar, aos objetos, propriedades como comprimento e idade e, ainda, quantificadores como massa e número. Poderiam ser, também, reconhecidos eventos e processos, sendo estes últimos considerados eventos contínuos e homogêneos. Eventos ocorreriam em tempos e locais específicos e poderiam ser decompostos em subeventos. Também, ao serem assumidas dimensões temporais e espaciais, poderiam ser tratadas durações diferentes e ocorrência simultânea de eventos. É através das palavras (e de seus sentidos) que representamos e registramos todas essas noções. A esse registro, na forma de conceitos refletidos nos sentidos das palavras, damos o nome de léxico. Um léxico, então, não contém apenas um conjunto de conhecimento sobre a linguagem mas, mais que isso, armazena informações sobre o mundo [Guthrie1996]. Um dos tipos de léxicos, como vimos, são os thesauri, que passamos a discutir. 3.3. Thesauri A origem do termo “thesaurus” deve-se à obra elaborada por Roget [Roget1958], com primeira versão editada em 1852. Há diversas definições na bibliografia para thesauri [Gonzalez2001], sendo que a maioria enfatiza o uso de relacionamentos lexicais e a prioridade de manipulação do conceito e não da palavra em si. Um thesaurus Th(C,R) pode ser definido como um grafo dirigido composto por: (i) um conjunto de nós finito não-vazio C = {ck | ck é um conceito representado por um item lexical}; e (ii) um conjunto de arcos finito R = {r = (ci,cj) | r é uma relação semântica lexical}. O grafo que implementa um thesaurus deve ser dirigido para alcançar seu objetivo: a partir de qualquer conceito, representado por um item lexical, poder chegar a todos os outros itens lexicais relacionados. Apesar de existirem relações simétricas, como sinonímia ou antonímia, também há relações assimétricas, como hiponímia ou meronímia. Embora a relação se sinonímia seja mais tradicionalmente utilizada em thesauri, são aceitas tanto as relações paradigmáticas, quanto sintagmáticas. 3.3.1. Classificações Os thesauri podem ser classificados de diversas formas. Quanto aos recursos utilizados para formação das associações lexicais, podem ser: (a) estatísticos, baseados na co-ocorrência dos termos, em n-gramas, em janelas de texto, ou em similaridade de indexação de textos, (b) sintáticos, baseados no cálculo de similaridade sintática ou em padrões léxico-sintáticos, ou (c) semânticos, baseados na captura do conhecimento semântico lexical; Quanto ao grau de automatização da construção, podem ser: (a) manuais, assumindo características de uma ontologia de abrangência geral e sendo tipicamente semânticos, ou (b) de geração automática, geralmente estatísticos e de domínio específico; Quanto à abrangência das informações armazenadas, podem ser: (a) de domínio específico, geralmente dependentes de corpus3, ou (b) genéricos; Quanto à composição de cada item lexical, podem ser: (a) baseados em palavra, sendo cada termo uma palavra, ou (b) baseados em sintagma, sendo cada termo um item lexical composto por uma ou mais palavras; e E, finalmente, quanto ao idioma, podem ser: (a) monolíngües, em um único idioma, ou (b) multilíngües, que adotam dois ou mais idiomas. 3.3.2. Construção Os thesauri podem ser construídos através de métodos orientados a estatística, a sintaxe ou a semântica [Gonzalez2001]. Os principais métodos estatísticos para construção de thesauri utilizam mapeamento de co-ocorrência, basicamente considerando a freqüência de ocorrência dos termos em coleções de documentos. Entre os principais, encontramos os baseados em n-gramas, baseados em similaridade entre palavras encontradas em janelas de texto e, ainda, baseados em similaridade de termos indexação de textos. Os métodos orientados a sintaxe também utilizam mapeamento de co- ocorrência, como os estatísticos. No entanto, necessitam geralmente de etiquetagem do corpus com categorias gramaticais e, assim, levam em consideração não apenas a freqüência de ocorrência entre os termos, mas também o comportamento sintático dos mesmos. Os principais métodos são os baseados em cálculo de similaridade e em padrões léxico-sintáticos. Os métodos semânticos de construção de thesauri são, geralmente, manuais e utilizam mapeamento de vocabulário controlado ou semântico. Podem ser usados diversos recursos e técnicas, como text mining, bases de conhecimento, redes semânticas e outros, envolvendo PLN. Entretanto, por serem preferencialmente manuais, os thesauri com motivação semântica são construídos através de métodos que consistem em preencher campos de informação como aqueles estabelecidos pela norma 3 Conjunto de documentos sobre um determinado assunto ou com uma finalidade comum. ISO-2788, como termo preferencial e relacionamentos como USE (termo usado), UF (use por), BT (termo genérico) e NT (termo específico). 3.3.3. Aplicações Um thesaurus pode ter as seguintes aplicações [Soergel1997, Sparck-Jones1997]: (a) apoio para classificação de documentos, na caracterização de temas e categorização de conceitos; (b) apoio à produção e à tradução de textos, principalmente na seleção de vocabulário; (c) comunicação e aprendizado, na geração da estruturaconceitual; (d) base conceitual para projetos, na produção do contexto conceitual; (e) apoio à tomada de decisão, na classificação de assuntos; (f) apoio à sumarização de textos, na identificação e associação dos principais conceitos desenvolvidos; ou (g) apoio à recuperação de informação. Neste último caso, um thesaurus pode ser utilizado na geração de uma base de conhecimento para consulta por navegação em tópicos ou na associação de termos, em expansão automática ou manual de consultas [Gonzalez2001b], ou na estruturação da apresentação dos resultados da pesquisa [Soergel1997], ou na normalização do vocabulário para a indexação [Soergel1997, Sparck-Jones1997]. Os thesauri podem ser considerados [Soergel1997]: (a) dicionários analógicos para uso humano, quando possibilita a pesquisa do significado e não diretamente do item lexical; (b) bases conceituais para sistemas baseados em conhecimento em geral, quando provê a construção de ontologias e taxonomias; ou (c) bases de conhecimento especificamente para PLN, quando se constitui em dispositivo de compreensão da linguagem natural para extração de informação, sumarização ou indexação automatizadas de textos. 4. Recuperação de Informação 4.1. Introdução Desde que o termo information retrieval surgiu em 1950 tem gerado muita polêmica [Swanson1988]. Hoje, entretanto, é largamente aceito e utilizado pela comunidade científica, ainda que existam diversos pontos de vista do que seja “recuperação de informação” (RI). Algumas delas serão discutidas a seguir. Entre as tarefas de um sistema de banco de dados, além da inserção, da atualização e da eliminação de dados, encontra-se a recuperação de dados [Date1991]. Entretanto, é necessário que os dados armazenados estejam agrupados por propriedades específicas e que sejam consideradas categorias conceituais bem definidas para as consultas [Lewis1996]. Logo, RI não é recuperação de dados. Ou seja, ao entender que o foco de um sistema de RI é a informação textual, é válido supor que um sistema de RI seja diferente de um sistema de gerenciamento de banco de dados [Sparck-Jones1997]. Um sistema de RI tem como meta encontrar a informação exigida para satisfazer a necessidade de informação (NI) do usuário [Frantz1997]. Para tanto, além da recuperação propriamente dita, um sistema de RI deve ser capaz de realizar armazenamento e manutenção de informação [Kowalski1997]. Ou seja, além do procedimento de busca, pode incluir catalogação, categorização e classificação de informação, particularmente na forma textual [Strzalkowski1999]. Em outras palavras, deve representar, organizar e dar acesso a itens de informação (documentos) [Baeza- Yates1999]. Neste caminho, logo se constata que um sistema de RI não recupera informação, pois a informação consiste no relacionamento que ocorre entre o usuário e os sinais que recebe [Frantz1997]. Assim, pelo caráter extrínseco da informação enfocado pela teoria dos sistemas, quem a pode recuperar informação é o usuário e não o sistema. Freqüentemente a expressão “recuperação de informação” é tratada como um sinônimo para “recuperação de documentos” ou “recuperação de textos” [Sparck- Jones1997], acreditando-se que sua tarefa essencial seja recuperar documentos ou textos com informação. Vamos considerar, aqui, que sistemas de RI são sistemas que tratam essencialmente de indexação, busca e classificação de documentos (textuais), com o objetivo de satisfazer NIs expressas através de consultas. Tendo em mente esta visão, vamos analisar como estes sistemas surgiram e evoluíram. 4.2. Histórico Podemos considerar a existência de três gerações de sistemas de RI [Baeza-Yates1999]: (a) primeira geração, quando os sistemas de RI consistiam basicamente de catálogo de cartões, contendo principalmente nome do autor e título do documento; (b) segunda geração, quando ocorreram acréscimos nas funcionalidades de busca, permitindo pesquisa por assunto, por palavras-chave e outras consultas mais complexas; e (c) terceira geração, quando o foco é o uso de interface gráfica, de formulários eletrônicos, de características de hipertexto e de arquiteturas de sistemas abertos, como ocorre atualmente. Para tentar satisfazer as NIs mais adequadamente, o foco na sintaxe tem sido desviado para a semântica. Este fato pode ser evidenciado pela evolução dos sistemas de RI [Schatz1997], sendo constatadas grandes fases por que passaram as estratégias concebidas para RI: soluções universais, busca de textos, busca de documentos e busca de conceitos. Soluções universais foram consideradas até meados dos anos 60. cogitava-se a ficção de que os sistemas de RI tratariam de coleções universais de documentos, onde o usuário navegaria buscando informações de todo o tipo e de diferentes fontes. Na fase de busca de textos, inicialmente, a ênfase consistia em utilizar bases de dados onde eram pesquisados dados de referências bibliográficas. Houve a introdução dos operadores lógicos nas consultas. Posteriormente passaram a ser utilizados índices invertidos, indexação automática, recuperação full-text, redução das palavras ao seu radical, estatísticas de co-ocorrência de termos, técnicas de probabilidade e busca por proximidade de palavras. A sintaxe era o alvo fundamental nas pesquisas. Na fase de busca de documentos, nos anos 80, consolidou-se a tecnologia full- text e, nos anos 90, surgiu a Web e chegaram os browsers multimídia. O modelo de grandes computadores compartilhados evoluíram para estações de trabalho pessoais distribuídas. Múltiplas coleções de documentos passaram a ser armazenadas em locais fisicamente dispersos. Estilos diferentes de interação tornaram-se possíveis. Na atual fase de busca de conceitos, as abordagens para a captura da informação semântica contida nos textos, com o objetivo de construir índices, ainda envolve intermediários humanos, exigindo tarefas como a etiquetagem de termos. Entretanto, a utilização cada vez mais freqüente de expressões como “normalização semântica” e “expansão de consulta baseada em conceitos”, evidencia a preocupação e a tendência corrente. Tabela 1. Resumo histórico da pesquisa em RI Alguns fatos e momentos históricos Local Autor Data Uso, pela primeira vez, do termo “information retrieval” EUA Calvin Mooers 1950 Elaboração da primeira abordagem estatística para indexação EUA H. P. Luhn 1957 Início da pesquisa sistemática em RI EUA - International Conference on Scientific Information 1958 Introdução de thesaurus na RI Inglaterra T. Joyce e R. M. Needham 1958 Popularização do termo “information retrieval” Inglaterra Robert A. Fairthorne 1961 EUA Lauren B. Doyle 1961 EUA H. P. Luhn 1961 Publicação de estudos sobre RI automática (principalmente indexação automática): pós- coordenação, estatística de associação de termos, PLN, peso de termos, realimentação de relevância EUA Gerard Salton 1968 Surgimento do SMART, primeiro sistema de RI com indexação automática EUA Gerard Salton 1965 Elaboração dos primeiros testes para linguagens de indexação manual Inglaterra Cyril Cleverdon 1967 Publicação de artigos que impulsionam a recuperação automática EUA T. Saracevic 1970 Surgimento do DIALOG e do MEDLINE, primeiros sistemas de RI interativos EUA e Inglaterra F. W. Lancaster e E. G. Fayen 1973 Incentivo aos métodos estatísticos na RI, devido às dificuldades da lingüística computacional, no final dos anos 60, em tradução automática de textos Introdução dos “online public access catalogues” (OPACs) anos 70 Elaboração dos princípios da classificação por probabilidade EUA S. E. Robertson 1977 Ocorrência da primeira Text Retrieval Conference (TREC-1) EUA 1992 Aplicações de técnicas oriundas das ciências comportamentais e cognitivas EUA D. Ellis 1992 Surgimento dos primeiros sites de busca Web 1994 Para que esta evolução tenha ocorrido e continue a ocorrer,os pesquisadores da área têm trabalhado desde os meados do século XX. A Tabela 1 apresenta um resumo do caminho percorrido até agora pela pesquisa em RI. Mais informações podem ser obtidas em [Sparck-Jones1997] e [Baeza-Yates1999]. Este histórico determinou as características dos atuais sistemas de RI. 4.3. Classificação dos sistemas de RI Os sistemas de RI podem ser classificados quanto ao modo operacional e quanto às tarefas do usuário [Baeza-Yates1999]. Quanto ao modo operacional, temos sistemas de RI convencionais ou ad-hoc e de filtragem (filtering). No primeiro caso, os documentos da coleção permanecem relativamente estáticos enquanto novas consultas são submetidas ao sistema. Exemplo: sistemas de pesquisa de documentos em bibliotecas digitais. Nos sistemas de filtragem, as consultas permanecem estáticas enquanto novos documentos entram no sistema. Exemplo: sistemas de classificação de documentos. Quanto às tarefas do usuário, temos: (a) sistemas de RI propriamente ditos, onde o usuário propõe consultas que orientarão as pesquisas; ou (b) browsing, onde o usuário navega através de “páginas” selecionando links em busca de documentos. Um outro tipo de classificação está relacionada ao ambiente de uso do sistema de RI. Embora estes sistemas tenham sido usados inicialmente em bibliotecas, podem hoje ser classificados, quanto ao ambiente onde são utilizados, em três níveis diferentes [Sparck-Jones1997]: (a) nível 1, com sistemas constituídos por um conjunto de rotinas, tipicamente desenvolvidos para serem usados por um grupo de pesquisa com a finalidade de facilitar novas pesquisas e desenvolvimentos adicionais; (b) nível 2, com sistemas associados a coleções de documentos e a ambientes de software/hardware de uma instituição; e (c) nível 3, com sistemas comerciais amigáveis destinados a uma ampla gama de usuários com perfis variados, utilizando diversos tipos de coleções de documentos em diferentes plataformas. 4.4. Componentes São componentes iniciais de um sistema de RI: o usuário, sua NI e a coleção de documentos disponíveis para pesquisa. São componentes adicionais: a consulta, que traduz a NI do usuário; os índices, que representam os documento da coleção; e a referência (ou surrogate [Sparck-Jones1997, Meadow2000]) a cada documento da coleção, que pode ser constituída por: título, resumo, nomes dos autores, trecho do texto que contém os termos da consulta, etc. Pode ser também um componente adicional, em alguns sistemas, a consulta expandida por realimentação (feedback). A Figura 3 mostra o esquema geral de um sistema de RI típico, com os relacionamentos entre seus componentes. Na Figura 3 se observa que, além da interface com o usuário e de um sistema de gerenciamento de base de dados (SGBD) para a coleção de documentos, existem alguns processos necessários à RI: indexação, construção da consulta (que pode incluir expansão) e, finalmente, busca e classificação. Então, considerando uma necessidade de informação N de um usuário, em um dado momento, e uma coleção de documentos D = { di | di é um documento contendo texto em linguagem natural }, a resolução do problema da RI consiste em especificar: · funções de representação para obter uma estrutura de indexação I, que represente D, e a consulta q, que represente N; e · a função de recuperação para obter o conjunto Dq = { dk | dk é um documento relevante à consulta q, sendo Dq Í D }. O conceito de relevância é bastante subjetivo [Saracevic1975]. Entretanto, se considerarmos N expressa da seguinte forma: “Quais são os documentos que tratam de um determinado tema com maior abrangência e profundidade?”, Dq seria o conjunto de documentos esperado como resposta a esta questão. Figura 3. Esquema geral de um sistema de RI Os elementos presentes na Figura 3 são: NI do usuário; consulta; realimentação da consulta; documento; índice; e surrogate. Um sistema de RI deve adotar um modelo (ou características de alguns modelos – discutidos na próxima seção) e necessita de recursos, ou seja um conjunto L de estruturas de dados de apoio, como um thesaurus ou, simplesmente, uma stoplist (uma lista de stopwords). Tais recursos são opcionais, sendo constituídos conforme a estratégia adotada para a função de recuperação. Podemos, então, identificar dois momentos distintos durante a execução de sistema de RI: de indexação e de busca [Sparck-Jones1997, Baeza-Yates1999]. Em tempo de indexação, a estrutura I é construída através da função de representação, e em tempo de busca, que inclui consulta, busca e classificação, a função de recuperação é executada. A indexação é a etapa em que os documentos são representados para propósitos de recuperação. A busca tem a ver com o momento em que os arquivos são examinados e os itens neles contidos são comparados, de algum modo, aos itens da consulta. A distinção entre estes dois momentos é crucial. Os procedimentos em tempo de indexação estão fortemente comprometidos com a seleção dos termos mais representativos dos documentos – os termos de índice –, o que não ocorre em tempo de busca, quando se parte do princípio que esta representatividade é correta, e que a pesquisa no índice tem resultado similar à pesquisa feita diretamente no documento. 4.5. Modelos clássicos Em geral, a classificação de um sistema de RI em um determinado modelo é incerta e complicada, já que, geralmente, diversos dispositivos e estratégias são combinados. Construção da Consulta interface com o usuário Modelo e Recursos bla-bla-bla SGBD Indexação Busca e Classificação bla-bla-bla Entretanto, é possível considerar três modelos clássicos [Sparck-Jones1997, Baeza- Yates1999]: Lógico, Vetorial e Probabilístico. 4.5.1. Modelo Lógico Neste modelo, um documento é representado como um conjunto di = { tj | tj Î I }. Uma consulta seria uma expressão lógica, como q = (t1 Ú t2) Ù Øt3 . O mecanismo de busca retorna os documentos que possuem combinações dos termos que satisfazem à construção lógica da consulta. Nesses sistemas são utilizadas a teoria dos conjuntos e a álgebra booleana. Assume-se que todos os termos possuem peso 1 ou 0, dependendo de estarem presentes ou ausentes na consulta, respectivamente. Ou seja, no modelo Lógico tipicamente não há classificação de documentos, já que o cálculo da similaridade (S) de uma consulta em relação a um documento será: S ( q, di ) = 1 ou 0. Os principais problemas [Sparck-Jones1997] do modelo Lógico são: (a) normalmente, o usuário não possui treinamento apropriado, tendo dificuldade em formular consultas usando operadores lógicos; (b) há pequeno controle sobre o tamanho da saída produzida por uma determinada consulta; e (c) a recuperação lógica resulta em uma simples partição da coleção de documentos em dois subconjuntos discretos: os registros que satisfazem a consulta e os que não a satisfazem. Estas limitações têm incentivado o desenvolvimento de modelos de conjuntos fuzzy, que são mais flexíveis em termos de pertinência estrita a determinada classe. 4.5.2. Modelo Vetorial Além do modelo Lógico, o que mais tem influenciado o desenvolvimento de sistemas de RI e, consequentemente, o desenvolvimento de sistemas de RI operacionais, é o modelo Vetorial. Um documento é representado como um conjunto ® di = ( p1i, p2i, p3i, ... ), onde pji é o peso (entre 0 e 1) do termo tj Î I, referente ao documento di. A idéia essencial é que os termos de índice são considerados como coordenadas de um espaço multidimensional de informação. Da mesma forma uma consulta q é visualizada como um vetor ® q = ( p1, p2, p3, ... ), onde pj é o peso (entre 0 e 1) do termo tj Î N, ou seja, do contexto da NI do usuário. O conjunto completo de valores dos vetores dos documentos e da consulta, consequentemente, descreve a posição dos mesmos no espaço. Portanto a indexação, neste modelo, também pode ser visualizadacomo a distinção, entre os documentos, pela separação dos mesmos em um espaço de termos multidimensional. A similaridade entre documento e consulta (isto é, sua distância no espaço) pode ser calculada pela comparação de seus vetores, usando uma medida de similaridade tal como coseno. A similaridade (S) de uma consulta em relação a um documento será: S ( q, di ) = cos(q), onde q é o ângulo entre os vetores que representam o documento di e a consulta q. Esta interpretação geométrica provê fundamento para uma ampla série de operações de recuperação, incluindo indexação, realimentação de relevância e classificação de documentos. A realimentação de relevância pode ser vista tanto como um processo que avalia novamente os pesos dos termos existentes na consulta, quanto como uma alteração da composição da consulta pela adição ou eliminação de termos. É provável que documentos similares, isto é, que encontram-se em uma mesma parte do espaço multidimensional de termos, tenham a mesma relevância em relação às mesmas consultas, devendo ser armazenados e recuperados juntos. Esta observação, que forma a base para a “hipótese de cluster”, sugere que a comparação de uma consulta com grupos de documentos resultará em altos níveis de efetividade na recuperação. O uso de termos de índice para definir as dimensões do espaço onde ocorre a recuperação envolve pressupor que os termos são ortogonais, o que não é correto. Podem ser consideradas duas limitações práticas a essa idéia. A primeira é a necessidade de vários termos de consulta (se uma classificação seletiva precisa ser obtida), neste modelo, enquanto dois ou três termos ligados por operadores lógicos E seriam suficientes, no modelo Lógico, para obter uma saída de alta qualidade. A Segunda limitação é a dificuldade de explicitar relacionamentos específicos de sinonímia, e também relacionamentos entre termos compostos por mais de uma palavra, tarefas facilmente realizáveis, no modelo Lógico, através de operadores lógicos OU e E. 4.5.3. Modelo Probabilístico Pode-se entender um sistema de RI como tendo a função de classificar documentos de uma coleção em ordem decrescente de probabilidade de relevância a uma NI de usuário. Esta observação é freqüentemente referenciada como “princípio da classificação por probabilidade”, sendo utilizada no modelo Probabilístico. A idéia básica é usar os dados obtidos sobre a distribuição dos termos da consulta nos documentos acessados e tidos como relevantes. Estas informações permitem o cálculo dos pesos dos termos da consulta que definem a probabilidade de serem relevantes ou não os documentos que não foram ainda analisados. O modelo Probabilístico usa a especificação das propriedades do conjunto ideal de resposta (CIR), com realimentação da consulta. O cálculo da similaridade (S) entre um documento di e a consulta q seria probabilidade de dj Î CIRS ( q, di ) = ––––––––––––––––––––––– probabilidade de dj Ï CIR 4.6. Pesos dos termos O estabelecimento de pesos para os termos é um dos mais importantes fatores a determinar a efetividade de um sistema de RI [Sparck-Jones1997], podendo ser usado tanto na linguagem de indexação quanto na de consulta. O cálculo do peso de um termo, como um indicador da importância do mesmo para o texto onde está presente, pode levar em conta diversos parâmetros [Moens2000], entre eles podemos citar: a categoria gramatical do termo; o número de palavras (ou de termos) diferentes no texto onde o termo ocorre; a freqüência de ocorrência, a localização, os relacionamentos com outros termos e o contexto onde ocorre; e a freqüência de ocorrência no corpus, ou seja, na coleção de documentos. Algumas estratégias principais são relacionadas a seguir para o cálculo do peso dos termos de índice [Frants1997, Moens2000]. Em geral, os mesmos critérios podem ser aplicados à consulta. Variações das abordagens apresentadas aqui são largamente encontradas na bibliografia. Consideremos que pji = peso do termo tj para o documento di; fji = número de ocorrências (ou percentagem: número de ocorrências normalizado pelo número total de termos do documento sendo, em alguns casos, excluídas as stopwords) do termo tj no documento di Î D; |D| = número de documentos de D; |tjd| = número de documentos em D que contêm o termo tj; e Fj = S1£i£|D| fji = freqüência de ocorrência do termo tj no corpus; então podemos calcular o peso de um termo tj em relação a um documento di das seguintes maneiras: · Freqüência simples: quanto mais freqüente o termo, maior seu peso, sendo pji = fji · Freqüência normalizada pelo número de documentos: quanto menor o corpus, maior o peso do termo, sendo pji = fji / |D| · Freqüência normalizada pela ocorrência na coleção de documentos: quanto mais raro o termo no corpus, maior seu peso, sendo pji = fji / Fj · IDF (inverse document frequency): quanto maior o corpus e quanto menor o número de documentos em que o termo ocorre, maior seu peso, sendo pji = IDF j = log ( |D| / |tjd| ) · tf.IDF: quanto mais freqüente o termo e maior seu IDF, maior seu peso, sendo pji = fji x IDFj 4.7. Arquivos de indexação As três principais técnicas de construção de arquivos de indexação são: as árvores de sufixos, os arquivos de assinatura e os arquivos invertidos [Baeza-Yates1999]. Árvores de sufixos são mecanismos que permitem rapidez nas operações de pesquisa mas são de difícil construção e manutenção. As árvores Patrícia (Patricia tree) [Frakes1992] são um tipo de árvore de sufixo compactada. São construídas a partir de todas as subseqüências possíveis de caracteres do texto (iniciadas em um determinado ponto do texto). Para um texto com n caracteres, a árvore terá n nós folha e n-1 nós internos. Os arcos indicam o caractere representado. Os nós internos indicam o número de posições entre o caractere anterior e o posterior. Cada nó folha indica a posição no texto da subseqüência representada no caminho do nó-raiz ao próprio nó-folha. Para a construção de arquivos de assinatura (signature files) [Frakes1992] os documentos são divididos em blocos lógicos, contendo um número determinado de palavras (sendo eliminados as stopwords). Cada palavra possui sua “assinatura”, um padrão de bits obtido através de uma função hash. Os blocos de assinaturas são concatenados formando o arquivo de assinatura, que é utilizado para a busca das palavra contidas no texto do documento. Encontrada a palavra no arquivo de índice, um ponteiro a localiza no documento. Arquivos de assinatura foram utilizados com freqüência nos anos 80, mas atualmente perdem, em preferência, para os arquivos invertidos. Um arquivo invertido (ou índice invertido), a técnica mais utilizada atualmente, é um mecanismo orientado à palavra para indexar uma coleção de textos com o objetivo de agilizar a tarefa de busca. Arquivos invertidos normalmente contêm dois componentes principais [Sparck-Jones1997]: dicionário e endereçamentos. O dicionário é constituído por uma lista de todas as palavras-chave, todos os termos classificados, títulos, etc, em uma base de dados que pode ser usada como chave de recuperação. Os endereçamentos são constituídos por uma série de listas, uma para cada entrada do dicionário. Cada uma destas listas possui identificadores de todos os documentos que contêm o termo corrente. É comum não apenas armazenar a presença do termo no documento mas, também, sua localização, para permitir maior eficiência na implementação de busca por proximidade ou viabilizar a consulta de termos compostos. Com os arquivos de índice estruturados, a atenção se concentra nos procedimentos de busca. 4.8. Procedimentos de busca Sob o ponto de vista da busca, temos as operações de inspeção, verificação de similaridade (matching), classificação (scoring) e saída, com requisitos para as representações de documentos e consultas, critérios e componentes específicos.A fim de otimizar a busca de similaridade, um sistema de RI trabalha com representações de documentos e de consultas através de linguagens de representação (de indexação e de consulta), como vimos. Estas representações devem ser projetadas para atender dois requisitos [Sparck-Jones1997]: (a) que seja assegurado que as correspondentes relações de relevância sejam mantidas, quando houver similaridade entre as representações dos documentos e das consultas; e (b) que os meios para alcançar tal objetivo também não permitam ou incentivem similaridades onde a relação de relevância não seja mantida. Diversos recursos são utilizados nos procedimentos de busca [Smeaton1997]: (a) utilização de clusters de documentos, usualmente pré-classificados, para agilizar a busca e compor o conjunto de documentos recuperados; (b) utilização de diversas estratégias de classificação consolidadas, geralmente envolvendo mais de uma versão da mesma consulta, executada sobre a coleção de documentos; (c) utilização de indexação semântica latente (latent semantic), que basicamente reduz o número de índices ao considerar interdependências e relacionamentos termo a termo; e (d) utilização de trechos de texto (passages), onde os itens recuperados são seções internas aos documentos. 4.9. Avaliação A avaliação de sistemas de PLN exige um elevado conhecimento sobre o problema que se deseja resolver e, também, o desenvolvimento de metodologias próprias [Santos2000]. Para bem avaliar é necessário que o problema seja quantificado e que as vantagens de uso sejam identificadas [Santos2001]. Um sistema de RI pode ser analisado não apenas pelo mecanismo de recuperação usado para comparar consultas com conjuntos de documentos, mas também [Sparck-Jones1997]: (a) pelo modo como a NI do usuário pode ser formulada; (b) pela interação usuário-computador necessária para realizar o processamento apropriado para a pesquisa; e (c) pelo ambiente social e cognitivo no qual esta interação se dá. Entretanto, as evidências maiores, quanto a dados de avaliação quantitativos, são oriundas das Text REtrieval Conferences (TRECs), conforme é relatado a seguir. As TRECs foram projetadas para incentivar a pesquisa em RI, levando em conta aplicações reais envolvidas com grandes coleções de texto, procedimentos de avaliação uniformes e um fórum para organizações interessadas em comparar resultados [Voorhees1999, Voorhees2000]. São conferências anuais que acontecem desde 1992 com o objetivo de incentivar a interação entre os grupos de pesquisadores nas empresas e no ambiente acadêmico. As TRECs são promovidas pela DARPA (Defense Advanced Research Projects Agency) e pelo NIST (National Institute of Standards and Technology) dos Estados Unidos. São considerados importantes exercícios de avaliação de sistemas de RI, com muitos participantes de diversos países e grande variedade de técnicas. São utilizadas grandes coleções de documentos de diversas fontes, como Wall Street Journal, AP Newswire, documentos do Federal Register e do setor de Patentes dos EUA, além de artigos e abstracts de diversas publicações. Basicamente os sistemas de RI são avaliados conforme suas performance através das métricas precisão (precision) e resposta (recall), conforme as seguintes fórmulas: |Dr| Ç |Dq| |Dr| Ç |Dq| precisão = –––––––––––––––– e resposta = –––––––––––––––– |Dr| |Dq| onde |Dr| = número de documentos recuperados pelo sistema para uma consulta q; |Dq| = número de documentos relevantes a uma consulta q; e |Dr| Ç |Dq| = número de documentos relevantes recuperados. Os melhores experimentos observados nas TRECs têm utilizado estabelecimento de pesos, cuidados com a correta formulação de consulta, técnicas para expansão de consulta, realimentação da consulta a partir dos documentos recuperados com maior relevância, uso de termos compostos para índices e uso de passages, ou seja, pesquisa em trechos de texto homogêneos em conteúdo [Voorhees1999]. As conclusões sobre a avaliação, nas TRECs, dos sistemas de RI com PLN incluído [Strazalkowski1999b] são resumidas a seguir. As técnicas de PLN que aplicam conhecimento lingüístico possuem grande potencial, sendo aparentemente superiores aos métodos puramente quantitativos, entretanto as evidências para tal afirmação ainda são pequenas. Ainda assim, é possível observar algo de positivo. A comparação entre a abordagem booleana e as que utilizam linguagem natural indicou, com relação a técnicas interativas de busca, que a performance da busca com linguagem natural é superior. A construção de índices com técnicas lingüísticas sofisticadas e de alto custo também é promissora, embora sua potencialidade quanto à consulta pareça ser maior, principalmente com a utilização de estratégias de expansão. 5. RI e PLN 5.1. Introdução Vimos que os sistemas de RI, em resumo, tratam da indexação de textos e da seleção daqueles que são relevantes a uma determinada consulta de usuário. Também vimos que o PLN trata de diversos aspectos da língua, incluindo palavras e sentenças (ou seja, texto), e seus significados. Agora verificaremos como o PLN é aplicado à RI. Podemos relacionar, inicialmente, algumas possibilidades [Smeaton1997]: (a) na representação de consultas e documentos, o PLN pode contribuir para identificar termos compostos que constituam bons descritores, representativos do conteúdo dos textos; (b) na formulação das consultas, pode auxiliar o usuário a refinar sua NI; e (c) na busca, pode incorporar procedimentos de análise que envolvam inferências semânticas. Um sistema de RI possui, entre seus componentes, dois conjuntos compostos de representações lógicas: um, formado pelos índices, representando os documentos, e outro, formado pelas consultas, representando as NIs do usuário [Baeza-Yates1999]. Portanto, constitui-se em um campo de aplicação propício para a RC. Porém, mesmo que algumas técnicas de PLN sejam aplicadas a muitos dos sistemas de RI, métodos mais avançados só algumas vezes são utilizados [Allen2000]. A RC está fortemente relacionada à construção de bons descritores na indexação, assim como tem papel crucial na formulação correta da consulta. Isto, em conseqüência, afeta a busca de similaridade entre tais representações. A RC utilizada em sistemas de RI, entretanto, é muito precária [Sparck-Jones1999]. Conceitos não são normalizados e descrições são meramente conjuntos de termos sem estrutura e sem economia. Pesos são adicionados apenas como refinamentos para esquemas básicos e, assim mesmo, refletem o significado muito grosseiramente, tanto em relação aos termos individualmente, quanto em relação ao todo. Conceitos e tópicos são incluídos de forma implícita quando deveriam estar explícitos, por exemplo, num formato proposicional. Para a resolução destes e de outros problemas, entre os principais desafios da aplicação do PLN na RI, estão os seguintes [Lewis1996]: (a) a combinação apropriada de recursos não estatísticos e estatísticos; (b) o uso de recursos terminológicos, garantindo o cálculo de similaridade correto entre termos de índice e de consultas; (c) o tratamento de consultas, que envolvem pequena quantidade de texto mas grande variedade em formas e conteúdos; e (d) a definição de estratégias para análise semântica a ser realizada sobre grande quantidade de texto. Ao se voltarem para o PLN, já há algum tempo, os pesquisadores de RI encontram uma série de questões a serem resolvidas nesta área [Lewis1996]. Na indexação de documentos, por exemplo, pode haver benefícios ao ser utilizado vocabulário controlado, mas isto implica utilização de técnicas avançadas. Também há evidências que sugerem que a utilização combinada de termos simples e compostos, representando conceitos complexos, pode ser útil. O PLN pode ser usado com o objetivo
Compartilhar