INDEXAÇÃO COM ORAÇÕES Ho Wen Cheng Instituto de Estudos Avançados /CTA - São José dos Campos - SP Abstract A tentativa de desenvolver um sistema capaz de interpretar a linguagens dos homens não é nova, a Universidade de Columbia, por exemplo, desenvolveu um sistema de linguagem natural (MedLEE) voltada para a área médica. A Indexação com orações é uma outra idéia, cujo sistema será capaz de trabalhar com as orações em geral. Se o sistema funcionar, a técnica poderá abrir novos campos de aplicação interessantes no futuro. Workshop Anual de Pesquisa e Desenvolvimento do IEAv - Jun 2006 1) INTRODUÇÃO A indexação das tabelas (Array) são usualmente feita utilizando um índice, que pode ser um número ou uma palavra (String). O problema é que existem informações que não podem ser indexados eficientemente só com os números e palavras, como são os casos de figuras, defeitos em equipamentos e assuntos de artigos de revistas e etc. Nesses casos, como a pessoa poderia endereçá-los? Mesmo que se utilizem múltiplas chaves, a tarefa não seria fácil. A idéia é fazer essa indexação utilizando-se de algum tipo não tradicional – orações, compostas de sujeito, verbo, obj dir, obj indireto, adjetivo e etc. A proposta é utilizar-se de períodos compostas por coordenação. 1) Importância das orações O sentido de uma palavra pode variar dependendo do contexto em que são empregados, por isso, é importante conhecer a oração toda para não ter erros de interpretação. Exemplo artigo 2) Oração: Converter output 5V and 2A from a 12V input source. O Indexador utiliza uma função chamada de Speech Tagging Engine para identificar o significado das palavras misteriosas, como são os casos do “5V and 2A” e “12A”, e retorna uma tabela de equivalências conforme abaixo: Frase 5V and 2A 12V Definição Potência Tensão Em seguida, um Parsing Module faz a análise sintática e divide a oração original em sujeito e complementos. Campo Noun1 Verb Noun2 Noun3 Valor Converter Output Potência [5V and 2A] Tensão [12V] Finalmente, a oração é incluída na tabela de Oração de um banco de dados conhecido como Knownledge Base. 2) Mudança de função – São palavras iguais na grafia, mas empregados com sentidos diferentes. Ex 1) A palavra “freqüência” não possui a mesma função Ex) As palavras “furar” e “furo” possuem o mesmo sentido sintática nas orações abaixo: A) A freqüência de saída é igual a 1GHz; nas duas orações abaixo. B) O oscilador possui boa estabilidade de freqüência. Ex 2) O número 555 não possui a mesma conotação nas A) Furar chapa de alumínio; duas orações abaixo: B) Fazer um furo em chapa de alumínio. A) O circuito monoestável utiliza um 555; B) A tensão de saturação é de 555 mV. 1) Sinônimos – São palavras com grafia diferentes, mas empregados com sentidos equivalentes. Exemplo artigo 3) Orações que compõe o período: - Electrically controlling a chemical reaction; - Hydrophilic effect makes connection electrolyte and electrode; - Hydrophobic effect keeps electrolyte separated from electrode. No período acima, o Speech Tagging Engine precisa consultar o dicionário de termos técnicos de química, para ver que as palavras “Hydrophilic” e “Hydrophobic” são substantivos comuns. A função do Speech Tagging Engine é encontrar as definições e classes para as palavras desconhecidas. 2) Banco de dados de artigo de revistas Este banco de dados é um Serviço imaginário onde os pesquisadores podem fazer buscas utilizando frases, que descrevem as características do artigo que quer encontrar, e o sistema lhe retorna uma lista de referências catalogadas que dizem respeito a, mais ou menos, o que ele quer. Fig 4 – Diagrama de relacionamento do Knownledge Base que armazena as referências a artigo de revistas. 2-1) Entradas de banco de dados Supõe que um leitor/ usuário, do Inpe por exemplo, leu um artigo e quer deixar digas a respeito do assunto para outros usuários da comunidade. A entrada de dados começa a partir do momento que ele faz o Login no serviço, ele localiza o artigo confirmando dados como o nome da revista, título do artigo e etc. e digita o seu período que descreve o assunto do artigo da revista que leu. As orações são separadas por ponto e vírgula (;). Depois de terminado, ele faz o Logout do serviço. 2-2) Consultas à banco de dados Supõe que tempos depois, um usuário, da CTA por exemplo, precise fazer uma pesquisa, ele conecta ao Serviço e entraria uma ou mais orações que caracterizem o artigo, que quer encontrar, e o serviço lhe retornaria uma lista de digas deixadas anteriormente por outros usuários. Exemplo Artigo 1) O período que descreve este artigo poderia conter as seguintes orações: - Catalyst Works with oxidants; - Destroy pollutants; - Break down organic molecules; Para encontrar este artigo, o pesquisador digitaria, por exemplo, a oração “Destroy pollutants” e, o Indexador lhe retornaria uma lista de digas: Destroy pollutants; break down organic molecules; ... Destroy pollutants; filtering small molecules; … Obliterate pollutants; break the chemical bonds; … Obs: a lista inclui a oração “obliterate pollutants” porque, segundo o dicionário, a palavra “obliterate” é sinônimo de “destroy”. Se a lista for muito comprida, o pesquisador ainda poderá entrar com uma 2ª oração que vai restringir ainda mais a busca. No fim, o serviço retorna para o pesquisador os dados que ele quer: o nome da revista; ISBN; número, ano e mês da publicação; a página; o título do artigo; resumo e o nome do autor. O serviço também poderá fornecer um hyperlink. A desvantagem dos hyperlink é que estes são passíveis de mudança, além disso, existem acessos restritos condicionados aos convênios, portanto são inacessíveis por qualquer um. 3) PROVA DE CONCEITO 1) As referências aos artigos de revistas estão armazenadas na tabela Artigo da figura acima. 2) Foram incluídas as tabelas – Período e Oração. Os campos Noun1, Verb, Noun2, Noun3, Adjective e Adverb são indexados. Para simplificar, só serão aceitos as orações na Voz Ativa. As orações que estiverem nas Vozes Passiva e Reflexiva precisam ser transformadas em Ativa. 3) Dicionários – Possuem os campos Classe, Definição e Sinônimos. A classe diz se um verbo, por exemplo, é transitivo direto; indireto; intransitivo ou de ligação. Se uma palavra é adjetivo, advérbio etc. O campo de sinônimos listam as palavras sinônimas, por exemplo, que a palavra “fazer furo” é igual a “furar”. 4) CONCLUSÃO A história abaixo é sobre o pioneiro chamado de Rzhetsky que tentou construir um banco de dados para auxiliar o trabalho de pesquisa. Rezhetsky tentou construir um software que pudesse ler e montar um banco de dados automaticamente, só que é muito difícil de construir uma máquina que completamente substitua o homem na tarefa de interpretar os textos. A proposta do Indexador é mais prática porque, sendo menores, as orações são mais fáceis de analisar e de trabalhar. O Indexador também pode ser utilizado para construir esse banco de dados imaginado pelo Rzhetsky, a diferença é que, quem lê e monta o banco de dados seria uma comunidade e não apenas um software. História do Geneways Fig 1 - Este artigo fala sobre um catalisador (TAML – Tetraamido Macrocyclic Ligang) que, na presença de um óxido (H2O2 – Peróxido de hidrogênio), torna-se extremamente reativo. O complexo catalisador-oxidante é capaz de quebrar moléculas de substâncias tóxicas normalmente jogadas aos rios como, por exemplo, os Phthalates (fab de plásticos); Alachlor e Atrazine (herbicidas) e Dioxins (fab de papel). Em 1996, um pesquisador russo (Andrey Rzhetsky) entrou para a universidade de Columbia como parte de um curso de pós-doutorado, ele quis estudar por que as células brancas chamadas de Lymphocytes não morriam nos casos de Lymphocytic Leukemia. O pesquisador, que é matemático e biólogo, fez algumas pesquisas e encontrou algumas centenas de artigos da área de Apoptosis (morte programada de células) e sobre câncer. Mesmo que ele tenha gasto todo o seu tempo na leitura, lamenta, seria quase impossível para uma pessoa assimilar todo aquele material publicado. Então ele começou uma tentativa de desenvolver um sistema capaz de ler os artigos, identificar as relações entre os genes e proteínas, e montar um banco de dados. Uma sentença do tipo “proteína A ativa o gene B” poderia ser representada por uma linha (relação) interligando duas bolas, uma representando a proteína e outra o gene. O projeto chamado de Geneways teve altas e baixas porque algumas pessoas da comunidade científica duvidaram da viabilidade técnica da proposta e da utilidade dos resultados. Depois que as verbas do projeto foram cortados, o trabalho inicializado por Rzhetsky foi licenciada para uma empresa de incubadora (Exergen Biosciences). Fig 2 – Artigo da revista Electronics Design que descreve o circuito de um conversor DC-DC que não utiliza dissipadores. Nesse meio tempo, Geneways obteve dois resultados: Ajudou a encontrar genes envolvidos no desenvolvimento embrionário da mosca de fruta Drosophila Melanogaster (2001); e identificou genes candidatos envolvidos na doença de Alzheimer’s – resultado próximo dos obtidos com os laboriosos métodos manuais (2004).