UFSM > Informática > ELC117 - Paradigmas de Programação

Objetivo

O objetivo deste trabalho é desenvolver um chatbot em Prolog, isto é, um programa que simule um diálogo "inteligente" com um usuário.

Detalhamento

  1. O requisito principal é que o chatbot tenha melhorias em relação ao programa mychatbot2.pl, que foi fornecido em aula.

  2. As melhorias devem tornar o diálogo mais "inteligente", capacitando o programa a fornecer respostas mais apropriadas ao usuário.

  3. Exemplos de melhorias:
    • Buscar uma palavra-chave na frase digitada pelo usuário. Usar essa palavra para selecionar uma resposta.
    • Criar uma resposta usando alguma palavra digitada pelo usuário.
    • Reconhecer quando o usuário digitar uma pergunta qualquer (terminada por ?). Selecionar ou criar uma resposta genérica para a pergunta.
    • Reconhecer sinônimos de palavras ou frases (exemplo: se o usuário digitar 'Ola', o programa entenderá que é sinônimo de 'Oi' e responderá de acordo).
    • Fazer o chatbot aprender sinônimos de palavras ou frases.
    • Especializar o chatbot em alguma temática (exemplos: atendente de telemarketing, Analista de Bagé :-), atendente de assistência técnica, professor de português, etc.). Para isso, será necessário criar uma base especializada na temática e conduzir o usuário a manter um diálogo temático.
    • Reconhecer alguns elementos gramaticais (verbos, advérbios, etc.).
    • Usar sua criatividade :-)

  4. Algumas dicas:
    • O formato do predicado knowledge_base (usado em mychatbot2.pl) pode ser inapropriado para certas melhorias. Você pode alterar esse formato à vontade.
    • O formato de entrada de dados do usuário pode ser alterado para ficar mais fácil de processar uma frase. Por exemplo, você pode assumir que o usuário digitará suas frases na forma de lista (ex.: [como,vai,voce,?]).
    • O SWI-Prolog tem vários predicados pré-definidos para manipulação de strings e listas. Para saber mais sobre isso, consulte o manual de referência do SWI-Prolog. Sobre strings em Prolog, tem também um bom artigo em: http://obvcode.blogspot.com/2008/11/working-with-strings-in-prolog.html
    • Você não precisa reusar o código de mychatbot2.pl. Se desejar, você pode criar um código totalmente novo.

Entrega e avaliação

Material de apoio

Chatbots

Prolog

Página criada em: Tue May 24 12:32:58 BRT 2011. Última atualização em: Tue May 24 16:13:33 2011. Autoria: Andrea Schwertner Charão.