Utilize este identificador para referenciar este registo: https://hdl.handle.net/1822/65020

TítuloModelação e prototipagem de ChatBots
Outro(s) título(s)Modeling and prototyping ChatBots
Autor(es)Pereira, Carlos António Senra
Orientador(es)Pinto, Luís F.
Almeida, J. J.
Palavras-chaveChatBot
Modelação
Padrões linguísticos
ERL
Regras
Gerador
Domain specific language
Open-source
Modeling
Linguistic patterns
Rules
Generator
Data2018
Resumo(s)Genericamente, ChatBots são programas que interagem com utilizadores humanos através de linguagens naturais. Os ChatBots podem ser criados com objetivos muito diversos, como por exemplo manter uma conversa “inteligente” com um humano, ou prestar serviços em algum domínio concreto, como seja atender chamadas num call-center, reencaminhado-as para um operador. Dada a heterogeneidade dos ChatBots, é importante identificar os seus princípios gerais de organização e de funcionamento. Neste trabalho foi desenvolvida uma proposta original de modelação de ChatBots, que procura identificar estes princípios gerais. Na modelação que desenvolvemos, os ChatBots são organizados em três componentes principais: a interface com o utilizador, o núcleo e o estado do ChatBot. O núcleo é a peça central do funcionamento do Chatbot, pois ele é responsável por processar as interações recebidas do utilizador, gerando reações em resposta. O núcleo contém um conjunto de regras que associam funções de reação a padrões linguísticos que, juntamente com o estado do ChatBot, determinam a escolha da reação a uma dada interação do utilizador. Para a modelação de padrões linguísticos, desenvolvemos aquilo que designamos por expressões regulares linguísticas (ERL). As ERL baseiam-se em expressões regulares, envolvendo etiquetas gramaticais, e incluem um mecanismo para extração das palavras-chave de um padrão linguístico, e deram origem a uma Domain Specific Language. A modelação que desenvolvemos permite a criação de um motor geral para a construção de ChatBots. Para uma prova de conceito, foi criado o Diabrete: um motor geral, open-source, escrito em Python, versão 3, com a base de dados em MySQL, que permite a criação de ChatBots que seguem a modelação desenvolvida neste trabalho. Na implementação do Diabrete recorremos a algumas ferramentas opensource, para levar a cabo as tarefas da análise sintática das frases dos utilizadores (biblioteca FreeLing) e para a construção de um classificador baseado em técnicas de machine learning para a escolha da reação a apresentar a uma dada interação do utilizador (biblioteca NLTK).
ChatBots are programs that interact with human users through natural languages. ChatBots can be created for very different purposes, such as maintaining an ”inteligent”conversation with a human, or providing services in a specific domain, such as answering calls in a call-center, and forward them to an operator. Given the heterogeneity of ChatBots, it becomes important to identify their general principles of organization and operation. In this work, we identify some of these general principles, and develop a new proposal for the modeling of ChatBots. In the developed model, ChatBots are organized into three main components: the user interface, the core of the ChatBot, and the state of the ChatBot. The core is the centerpiece of Chatbot’s operation, as it is responsible for processing the interactions received from the user, generating reactions in response. The core contains a set of rules that associates reaction functions with linguistic patterns that, together with the state of the ChatBot, determine the choice of reaction to a given user interaction. For modeling linguistic patterns, we develop what we call regular linguistic expressions (ERL). ERLs are based on regular expressions involving grammatical tags, include a mechanism for extracting the keywords from a linguistic standard, and have given rise to a Domain Specific Language. The model that we developed allows the design of a general generator for the construction of ChatBots. For a proof of concept, the Diabrete was created. Diabrete is a general, open-source generator, written in Python, version 3, with the database in MySQL, which allows the construction of ChatBots that follow the modeling developed in this work. In the implementation of Diabrete, we used some opensource tools to perform the tasks of the user-generated sentences (library FreeLing) and to construct a classifier based on machine learning techniques for the choice of reaction to be presented to a given user interaction (library NLTK).
TipoDissertação de mestrado
DescriçãoRelatório de estágio de mestrado em Matemática e Computação
URIhttps://hdl.handle.net/1822/65020
AcessoAcesso aberto
Aparece nas coleções:BUM - Dissertações de Mestrado
DMA - Dissertações de mestrado

Ficheiros deste registo:
Ficheiro Descrição TamanhoFormato 
Carlos Antonio Senra Pereira.pdfDissertação de Mestrado861,05 kBAdobe PDFVer/Abrir

Partilhe no FacebookPartilhe no TwitterPartilhe no DeliciousPartilhe no LinkedInPartilhe no DiggAdicionar ao Google BookmarksPartilhe no MySpacePartilhe no Orkut
Exporte no formato BibTex mendeley Exporte no formato Endnote Adicione ao seu ORCID