Processamento da Linguagem Natural
Exemplos da Web:
1- http://linguistica.insite.com.br/
"O Grupo de Lingüística da Insite tem como objetivo pesquisar e desenvolver produtos relacionados com as áreas de Processamento de Linguagem Natural (NLP), bases de dados para organização de conhecimento com sistemas de recuperação de informação e aplicações de Inteligência Artificial." Existem produtos disponíveis no próprio site como o Reconhecedor automático de idiomas e o Conjugador de verbos. No site da Close-up (www.closeup.com.br) você pode encontrar a Sete Zoom, um Chater Bot para conversação em Linguagem Natural, desenvolvido por eles. "Ela" é a garota propoganda do site e você pode manter uma conversação bastante consistente com "ela".
Repositório de agentes. Existe todo o tipo de agents para download. Na página principal você pode "conversar" com a Cybelle, um Chatter Bot bem inteligente. Além desse, na parte de Download, você pode baixar outros para execução local.
Na página principal, podemos encontrar também o software Virtual Woman. Esse software permite que você "construa" a sua Chatter bot, antes de "conversar" com ela.
Exemplos em C:
No livro Inteligência Artificial usando C (SCHILDT, 1989) encontramos quatro exemplos sobre processamento de linguagem natural. O código está disponível nos links abaixo e podem ser executados em qualquer compilador C. Caso prefira baixar o arquivo executável, ele também está disponível, mas deve ser executado em modo DOS (se estiver no ambiente Windows execute o programa emulador do DOS - command prompt que pode ser acessado através da barra de menu Iniciar>>Programas>>Acessórios). Lembre-se que todas as frases devem possuir ponto final, senão o programa executará uma operação ilegal.
Exemplo 1: Você poderá usar esse código em C para determinar se uma sentença está corretamente construída em Inglês. No entanto, temos uma gramática restrita, senão o código ficaria enorme. Usaremos apenas frases declarativas, os substantivos door, window, house e child, os verbos has, runs e plays, o adjetivo large, o advérbio quickly, os determinantes the, a e a preposição to.
Exemplo 2: Esse exemplo é a implementação de um analisador livre de contexto. Nesse caso, a sentença é composta de vários itens, que são compostos de vários itens e assim por diante, até você quebrar a sentença em seus elementos atômicos - substantivo, verbo, adjetivo, etc. As regras que governam como cada uma das partes deve ser construída são chamadas de regras de produção da gramática. Um analisador livre de contexto usa essas regras de produção para analisar a sentença. As palavras utilizadas são as mesmas do exemplo 1.
Exemplo 3: Com pequenas alterações no exemplo 2, você pode utilizá-lo para quebrar sentenças em suas orações componentes. Esta é uma capacidade importante, porque abre as portas para que o computador realmente compreenda, e não simplesmente verifique uma sentença, o que permitirá ao computador trabalhar com grupos de palavras relacionados.
Exemplo 4: Esse analisador trata todas as palavras que não conhece como ruído e as descarta, levando em conta somente algumas poucas palavras chaves para obter a informação que a sentença contém. Tipicamente, todas as sentenças devem seguir um formato rígido que se assemelha à linguagem natural.
Se você quiser aprender mais sobre a linguagem C, pode acessar o site do professor Adriano Joaquim de Oliveira Cruz da Universidade Federal do Rio de Janeiro: http://equipe.nce.ufrj.br/adriano/c/home.htm
Linguagem Prolog:
Na página Adventure in Prolog podemos encontrar explicações sobre Prolog e alguns exemplos para o processamento de linguagem.
Existem várias versões do Prolog que você pode fazer download nos sites abaixo:
Strawberry Prolog: http://www.lpa.co.uk/ind_dow.htm
Winprolog: http://www.lpa.co.uk/ind_dow.htm
Visual Prolog: http://www.visual-prolog.com/
Amzi: ftp://ftp.amzi.com/pub/misc/
Se você quiser aprender mais sobre a linguagem Prolog, pode acessar o site do professor Ricardo Annes da Pontifícia Universidade Católica do Rio Grande do Sul: http://pucrs.campus2.br/~annes/infpar2.html