A chatbot for automatic question answering in the information technology domain
Autor(a) principal: | |
---|---|
Data de Publicação: | 2019 |
Tipo de documento: | Dissertação |
Idioma: | eng |
Título da fonte: | Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) |
Texto Completo: | http://hdl.handle.net/10451/40208 |
Resumo: | Tese de mestrado, Engenharia Informática (Interação e Conhecimento), Universidade de Lisboa, Faculdade de Ciências, 2019 |
id |
RCAP_c482fef55a43b181e05ff411c000a235 |
---|---|
oai_identifier_str |
oai:repositorio.ul.pt:10451/40208 |
network_acronym_str |
RCAP |
network_name_str |
Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) |
repository_id_str |
7160 |
spelling |
A chatbot for automatic question answering in the information technology domainChatbots GenerativosInterfaces ConversacionaisConjunto de DadosInteligência ArtificialProcessamento de Linguagem NaturalTeses de mestrado - 2019Domínio/Área Científica::Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e InformáticaTese de mestrado, Engenharia Informática (Interação e Conhecimento), Universidade de Lisboa, Faculdade de Ciências, 2019Os chatbots têm sido alvo de grande estudo por parte da comunidade de Inteligência Artificial e de Processamento de Linguagem Natural e o seu futuro parece promissor. A ideia de automatizar conversas através do uso da tecnologia é bastante interessante para muitas empresas visto que fornece vários benefícios a um preço relativamente baixo. Por exemplo, pode dar apoio ao cliente a tempo inteiro, visto que consegue comunicar com um grande número de pessoas ao mesmo tempo e pode ser utilizado como ferramenta de automatização de trabalho repetitivo. No entanto, os sistemas atuais não conseguem por vezes acompanhar as expectativas cada vez mais exigentes dos utilizadores e por vezes falham em oferecer uma experiência tão simples e eficiente como gostaríamos. A falta de conjuntos de dados para treinar modelos é um dos principais problemas enfrentados pelos investigadores visto que para um conjunto de dados ser útil, precisa de ter um número de conversaçõees muito elevado. Outro problema frequente relaciona-se com a dificuldade em desenvolver chatbots capazes de criar diálogos convincentes, semelhantes aos que seriam feitos por humanos num determinado contexto. Esta dissertação tem por objectivo a construção de um chatbot que possa ser usado para responder a questões num ambiente de apoio informático. Este sistema deverá ser capaz de analisar uma determinada questão e, com base na informação com que foi treinado, devolver uma ou um conjunto de respostas correctas possíveis. Face ao atual interesse da comunidade de NLP relativo aos chatbots generativos, que dado um contexto, geram, usualmente palavra a palavra, as próprias respostas e devido à maior facilidade em adaptarem-se a novas perguntas que não existem no conjunto de dados de treino, este tipo de chatbots foi escolhido como foco central do trabalho desenvolvido. Assim sendo, três chatbots generativos foram replicados ao terem sido treinados e avaliados. Estes chatbots têm como nome Hierarchical Recurrent Encoder-Decoder (HRED), Variational Hierarchical Recurrent Encoder Decoder (VHRED) e Variational Hierarchical Conversation RNNs (VHCR). De entre estes três modelos, o HRED é o mais simples, sendo bastante semelhante a um modelo Encoder-Decoder básico. Para além do Encoder e do Decoder, o modelo HRED utiliza uma Rede Neuronal Recorrente (RNR) adicional que mantém informações relacionadas com o contexto da conversa atual e que é utilizada para condicionar o output gerado pelo modelo. Por seu turno, tanto o modelo VHRED como o modelo VHCR são Variational Autoencoders, um tipo de sistemas generativos que nos últimos anos tem sido muito estudado por ter uma grande capacidade de gerar novos dados. Embora inicialmente aplicado em geração de imagens, este tipo de modelos foi aplicado ao contexto de Processamento de Linguagem Natural através do modelo VHRED, com o objectivo de ser um modelo capaz de gerar frases mais diversificadas do que os restantes modelos existentes e de conseguir capturar a informação global do conjunto de dados de treino. O VHCR, por sua vez, assume-se como uma extensão do modelo VHRED ao ter uma estrutura muito idêntica a este e foi proposto para mitigar um problema que o VHRED tem relacionado com um défice na utilização correcta de uma variável latente fulcral à obtenção dos resultados pretendidos. Outra contribuição desta dissertação é a criação de uma ferramenta que permita extrair novos conjuntos de dados constituídos por diálogos entre humanos. Esta ferramenta utiliza o website Reddit, onde diariamente milhares de utilizadores partilham conteúdo em forma de perguntas, artigos e links, como fonte dos diálogos extraídos. Mais concretamente, esta ferramenta cria diálogos através da interação com bases de dados que são disponibilizadas online mensalmente. Um aspeto interessante desta ferramenta é o facto de permitir que conjuntos de dados de uma grande variedade de domínios sejam extraídos, o que permitirá obter conjuntos de dados relacionados com domínios nos quais ainda não exista nenhum. Um dos conjuntos de dados que foram extraídos recorrendo a esta ferramenta é genericamente focado no domínio da informática e expresso na língua inglesa, abordando vários temas distintos, entre os quais o Ubuntu e questões relativas a linguagens de programação. Este conjunto de dados tem como nome askIT e foi utilizado para treinar os modelos anteriormente referidos. Outro conjunto de dados extraído é maioritariamente composto por diálogos expressos na língua portuguesa e tem como nome Portuguese. Ao contrário do conjunto de dados anterior, este não se foca em nenhum assunto particular, e inclui diálogos sobre assuntos muito variados entre os quais cultura e atualidades. Para além destes conjuntos de dados extraídos por mim, o Ubuntu Dialogue Corpus foi também utilizado para treinar os modelos. Este conjunto de dados é uma coleção de diálogos relativos a apoio técnico sobre o Ubuntu e foi escolhido por ser de grandes dimensões e por abordar um tema semelhante ao pretendido para o meu chatbot. Para avaliar os modelos referidos, duas formas de avaliação distintas foram utilizadas: uma baseada em representação semântica vetorial (embeddings), extrínseca ao modelo, e outra baseada na perplexidade de palavras, intrínseca ao modelo. A avaliação de modelos baseada em embeddings, tal como o nome indica, foca-se na análise e comparação de embeddings, que são vetores representativos de uma palavra ou frase. Cada embedding tenta capturar o significado da frase ou palavra correspondente, o que leva a que frases ou palavras semelhantes sejam representadas por embeddings semelhantes. Assim sendo, nesta avaliação, os embeddings das frases geradas pelos modelos são comparados com os embeddings das frases de referência existentes no conjunto de dados de teste. Por sua vez, a avaliação baseada na perplexidade mede a surpresa que o modelo treinado tem a prever o conjunto de dados de teste. Para além destes dois tipos de avaliação e através de um programa criado por mim para interagir diretamente com o modelo, foram feitas algumas questões ao VHCR treinado tanto com o Ubuntu Dialogue Corpus como com o askIT com o fim de fazer um juízo sobre as suas capacidades. Através destas avaliaçõees, foi possível observar que os modelos treinados com o Ubuntu Dialogue Corpus obtiveram melhores resultados na avaliação extrínseca, enquanto que os treinados com o askIT obtiveram melhores resultados na avaliação intrínseca. No entanto, com as respostas dadas pelo VHCR, concluiu-se que para o objectivo de construir um chatbot capaz de responder a questões num ambiente de apoio informático, os modelos treinados com o Ubuntu Dialogue Corpus seriam os mais adequados. Concluiu-se também que para este tipo de fins, os chatbots baseados em recuperação de informação continuam a ser os mais adequados porque as respostas geradas pelos chatbots generativos não parecem estar ainda num nível competitivo.Recently, chatbots have been thoroughly studied by the Artificial Intelligence and the Natural Language Processing communities and the future of this technology appears promising. The idea of automating and scaling one-to-one conversations using technology appeals to companies since it can provide benefits in a cost effective way. However, current systems sometimes cannot keep up with the increasingly demanding user expectations as they sometimes fail to deliver experiences that are as seamless and efficient as we envisioned them to be. The lack of datasets to train models is one of the biggest problems faced by researchers since, for a dataset to be useful, it needs to have a very large number of conversations. Another problem researchers commonly face relates to the difficulty of developing a chatbot that is capable of generating convincing dialogues, similar to what a human would say in a given context. For this dissertation, I developed a tool that is capable of extracting new datasets containing dialogues between humans. This tool uses Reddit, a website in which thousands of users share content daily, as source and allows the creation of datasets related to a wide number of domains. Additionally, three state-of-the-art dialogue models were replicated and trained on two datasets of the information technology domain, one of which was extracted by the abovementioned tool. Two types of evaluation were conducted, one intrinsic to the models and the other extrinsic, and the results obtained are in line with the results reported by their original authors.Branco, António H.,1963-Gomes, Luís Manuel dos SantosRepositório da Universidade de LisboaAntunes, João Miguel Vila2019-11-20T16:30:15Z201920192019-01-01T00:00:00Zinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdfhttp://hdl.handle.net/10451/40208TID:202386759enginfo:eu-repo/semantics/openAccessreponame:Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)instname:Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informaçãoinstacron:RCAAP2023-11-08T16:39:22Zoai:repositorio.ul.pt:10451/40208Portal AgregadorONGhttps://www.rcaap.pt/oai/openaireopendoar:71602024-03-19T21:53:55.123728Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) - Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informaçãofalse |
dc.title.none.fl_str_mv |
A chatbot for automatic question answering in the information technology domain |
title |
A chatbot for automatic question answering in the information technology domain |
spellingShingle |
A chatbot for automatic question answering in the information technology domain Antunes, João Miguel Vila Chatbots Generativos Interfaces Conversacionais Conjunto de Dados Inteligência Artificial Processamento de Linguagem Natural Teses de mestrado - 2019 Domínio/Área Científica::Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática |
title_short |
A chatbot for automatic question answering in the information technology domain |
title_full |
A chatbot for automatic question answering in the information technology domain |
title_fullStr |
A chatbot for automatic question answering in the information technology domain |
title_full_unstemmed |
A chatbot for automatic question answering in the information technology domain |
title_sort |
A chatbot for automatic question answering in the information technology domain |
author |
Antunes, João Miguel Vila |
author_facet |
Antunes, João Miguel Vila |
author_role |
author |
dc.contributor.none.fl_str_mv |
Branco, António H.,1963- Gomes, Luís Manuel dos Santos Repositório da Universidade de Lisboa |
dc.contributor.author.fl_str_mv |
Antunes, João Miguel Vila |
dc.subject.por.fl_str_mv |
Chatbots Generativos Interfaces Conversacionais Conjunto de Dados Inteligência Artificial Processamento de Linguagem Natural Teses de mestrado - 2019 Domínio/Área Científica::Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática |
topic |
Chatbots Generativos Interfaces Conversacionais Conjunto de Dados Inteligência Artificial Processamento de Linguagem Natural Teses de mestrado - 2019 Domínio/Área Científica::Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática |
description |
Tese de mestrado, Engenharia Informática (Interação e Conhecimento), Universidade de Lisboa, Faculdade de Ciências, 2019 |
publishDate |
2019 |
dc.date.none.fl_str_mv |
2019-11-20T16:30:15Z 2019 2019 2019-01-01T00:00:00Z |
dc.type.status.fl_str_mv |
info:eu-repo/semantics/publishedVersion |
dc.type.driver.fl_str_mv |
info:eu-repo/semantics/masterThesis |
format |
masterThesis |
status_str |
publishedVersion |
dc.identifier.uri.fl_str_mv |
http://hdl.handle.net/10451/40208 TID:202386759 |
url |
http://hdl.handle.net/10451/40208 |
identifier_str_mv |
TID:202386759 |
dc.language.iso.fl_str_mv |
eng |
language |
eng |
dc.rights.driver.fl_str_mv |
info:eu-repo/semantics/openAccess |
eu_rights_str_mv |
openAccess |
dc.format.none.fl_str_mv |
application/pdf |
dc.source.none.fl_str_mv |
reponame:Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) instname:Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação instacron:RCAAP |
instname_str |
Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação |
instacron_str |
RCAAP |
institution |
RCAAP |
reponame_str |
Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) |
collection |
Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) |
repository.name.fl_str_mv |
Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) - Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação |
repository.mail.fl_str_mv |
|
_version_ |
1799134478192345088 |