PROCESSAMENTO DE LÍNGUAS NATURAIS: DESAFIOS E PERSPECTIVAS1 Francielle Alves VARGAS2 1.0 PROCESSAMENTO DE LÍNGUAS NATURAIS (PLN) O Processamento de línguas naturais (PLN) é um campo de pesquisa interdisciplinar que promove o diálogo entre a ciência linguística e a ciência da computação. A PLN é um micro campo da chamada linguística computacional. Para Anton Nijholt apud Vieira e Lima, um propulsor considerável para a área da lingüística computacional foi a guerra fria. As aplicações de uso militar logo incluíram algoritmos de criptologia e os primeiros ensaios em tradução automática. Os projetos envolvendo tradução se multiplicaram até chegar-se em 1966 a uma situação que contabilizava mais de 20 milhões de dólares gastos, com poucos resultados obtidos. As primeiras investigações institucionalizadas sobre o PLN começaram a ser desenvolvida no início da década de 50, depois da distribuição de 200 cópias de uma carta, conhecida como Weaver Memorandum, escrita por Warren Weaver, então vice-presidente da Fundação Rockfeller e exímio conhecedor dos trabalhos sobre criptografia computacional. Nessa carta, divulgada em 1949, Weaver convidava universidades e empresas, interessados potenciais, para desenvolver projetos sobre um novo campo de pesquisa que ficou conhecido como ‘‘tradução automática’’, ‘‘tradução mecanizada’’ ou simplesmente MT (abreviação do inglês “Machine Translation”)” (Silva, Montilha, Specia, Nunes, Junior, Martins, Pardo, 2007, p. 6). Para o desenvolvimento em PLN, devido a sua amplitude, faz-se necessário um recorte para que se saiba o tipo de metodologia a se utilizar. O PLN abrange várias e complexas áreas do conhecimento e, por isso, exige uma certa perspectiva a fim de traçar uma visão da área (Silva, Montilha, Specia, Nunes, Junior, Martins, Pardo, 2007, p. 4). Segundo Othero (2005, p. 26) os estudos em PLN têm motivado diálogos frutíferos sobre a interface computador-máquina. Atualmente, a busca por interfaces mais amigáveis e por softwares voltados para o trabalho com linguagem natural tem motivado muitas pesquisas na 1 2 UEADSL 2014.2 Universidade Federal de Minas Gerais. Email: [email protected] área, e diversos são os frutos resultantes de estudos na área de inteligência artificial e da linguística computacional. Um exemplo deste diálogo é o software ELIZA. Criado pelo pesquisador Joseph Weizenbaum, esse aplicativo simula diálogos intermitentes com o usuário, exercendo a função de um psicanalista. Segundo Othero (2005), o primeiro chatterbot desenvolvido foi ELIZA. Ele foi programa para ser uma espécie de psicólogo, ou conselheiro sentimental. Na verdade, o objetivo principal de seu criador não era criar um “psicólogo virtual”, mas apenas um programa de conversação, utilizando um sistema que se baseava em “moldes” (templates, em inglês) para construir suas frases. A linguística computacional é categorizada pela ciência da computação no campo de pesquisa chamado inteligência artificial (IA). Inteligência artificial é a área de conhecimento que se preocupa com a criação de protótipos computacionais que simulem faculdades cognitivas humanas. Imprescindíveis para o avanço da IA foram os trabalhos dos matemáticos dos séculos XVII a XIX. No séc. XIX, surge a figura de Alan Turing, mas só em 1956 é que a IA começa a ser reconhecida como ciência. Uma das perguntas que levantamos a partir do diálogo entre PLN e IA é: como fazer com que um computador compreenda uma língua natural? 2.0 ALGORITMOS Algoritmos são descrições organizadas de um conjunto de comandos que, efetuados, resultam numa sucessão finita de ações. Podemos defini-lo também como uma lista de instruções (comandos) ordenadas que tenham por finalidade resolver um determinado problema. Knuth (1973) apresenta uma versão para a origem da palavra algoritmo. Ela seria derivada do nome de um famoso matemático chamado Abu Ja´far Maomé ibn Mûsâ alKhowârism (825 d.C.), que, traduzido literalmente, quer dizer “Pai de Ja´far, Maomé, filho de Moisés, de Khowârizm”. Khowârizm é hoje a cidade de Khiva, na ex-União Soviética. Esse autor escreveu um livro chamado Kitab al jabrw´al-muqabala (“Regras de restauração e redução”). O título do livro deu origem também a palavra álgebra. O significado da palavra algoritmo é muito similar ao de “receita”, “procedimento”, “técnica”, “rotina”. Um dos objetivos do algoritmo é a resolução de um problema. Por exemplo, há diferentes maneiras de chegar a um dado lugar. A escolha do melhor caminho será baseada no melhor critério adotado em função da necessidade. Segundo Duque (2012, p. 69): a abordagem baseada em regras é utilizada para extrair automaticamente termos relevantes, mediante padrões encontrados nas sentenças de interesse (i.e., sentenças de tratamento). A técnica de processamento de língua natural PartOf-Speech (POS) é utilizada para etiquetar as palavras em suas respectivas classes gramaticais (i.e., classificar nas classes substantivos, adjetivo, verbo, dentre outras). A seguir um exemplo de algoritmo utilizado com a finalidade de extração de informações baseado em regras: Figura 1. Algoritmo que descreve o pseudocódigo da extração de termos com o uso de regras (DUQUE, 2012, p. 75) Outro exemplo dado pela autora é o algoritmo para extração de termos com uso de regras e dicionário (Figura 2). Esse algoritmo descreve o pseudocódigo da extração de termos com o uso de regras e de dicionário. Figura 2. Algoritmo que descreve o pseudocódigo da extração de termos com o uso de regras e dicionário (DUQUE, 2012, p.76) 3.0 CONSIDERAÇÕES FINAIS Os estudos interdisciplinares e os diálogos constantes entre áreas que a principio podem parecer distintas, como é o caso da ciência da computação e da linguística, mostrou-se indispensável para o avanço da PLN. O avanço de pesquisas em processamento de línguas naturais é fundamental para desenvolvimento de aplicações computacionais que possam simular, processar, armazenar, interpretar e reproduzir comandos de uma língua natural. Porém, muitos desafios emergem deste processo. Profissionais de áreas tão distintas, precisam estar em constante diálogo para que haja uma efetiva evolução no quadro de desenvolvimento da PLN. O encontro destes dois profissionais, pode ser dificultado devido a área distinta de formação de ambos. O cientista da computação, pode, muitas vezes não compreender a complexidade dos aspectos linguisticos de uma língua natural, banalizando assim conceitos fundamentais. O linguística, muitas vezes, por se isentar do processo de engenharia de software pode não compreender tal complexidade. A consequência desta dificuldade de compreensão e diálogo pode ser um grande obstáculo para o desenvolvimento da PLN. Outro desafio está na formação de um profissional apto a trabalhar com PLN. As escolas de linguística e ciência da computação, da contemporaneidade, tratam de forma superficial essa área, no currículo de seus cursos. Na ciência da computação, a PLN é tratada como tópico da disciplina de inteligência artificial. Nos cursos de linguística, a PLN ainda não é obrigatória no currículo, sendo que, em algumas escolas nem se aborda o assunto. Entretanto, realizado um trabalho efetivo para superação destes desafios, será possível, num futuro próximo desenvolver processos computacionais que possam, quem sabe, mapear o processamento mental da linguagem com o objetivo de “imitar”, ou seja, criar protótipos que simulem o processamento e o armazenamento de linguagem pela nossa mente. REFERÊNCIAS BIBLIOGRÁFICAS DUQUE, J. l. Um processo baseado em parágrafos para extração de tratamentos de artigos científicos do domínio biomédico. 121f. Dissertação (Mestrado em Ciência da Computação). Departamento de Ciência da Computação, Universidade Federal de São Carlos. São Paulo. 2012. Disponível em <http://www.bdtd.ufscar.br/htdocs/tedeSimplificado/tde_arquivos/3/TDE2012-05-16T120945Z-4409/Publico/4310.pdf >. Acesso em 19 setembro 2014. OTHERO, G. A.; MENUZZI, S. M. Linguística computacional: teoria e prática. São Paulo: Parábola, 2005. KNUTH, D. E. The art of computer programming: fundamental algorithms. Vol. 1. Massachusetts, USA: Addison-Wesley publishing company inc, 1973. SILVA, Bento Carlos Dias da; MONTILHA, Gisele; SPECIA, Lucia Helena Machado Rino; NUNES, Lucia Maria das Graças Volpe; JUNIOR, Osvaldo Novais de Oliveira; MARTINS, Ronaldo Teixeira; PARDO, Thiago Alexandre Salgueiro. Introdução ao processamento de línguas naturais e algumas aplicações. São Carlos: Série de Relatórios do Núcleo Interinstitucional de Lingüística Computacional NILC - ICMC-USP, 2007. Disponível em <http://www.letras.etc.br/ebralc/NILCTR0710-DiasDaSilvaEtAl.pdf >. Acesso em 22 setembro 2014. VIEIRA, Renata. LIMA, Vera Lúcia Strube. Linguistica computacional: principios e aplicações. 42 p. Disponível em <http://www.inf.unioeste.br/~jorge/MESTRADOS/LETRAS%20%20MECANISMOS%20DO%20FUNCIONAMENTO%20DA%20LINGUAGEM%20%20PROCESSAMENTO%20DA%20LINGUAGEM%20NATURAL/ARTIGOS%20INTERESSANTES/lingu%EDstica%20computacional.pdf >. Acesso em 22 setembro 2014.