|
Acadêmico(a): Hélinton Pereira Steffens |
Título: ADA: ASSISTENTE PESSOAL AUTOMATIZADO BASEADO EM LINGUAGEM NATURAL |
|
Conclusão: |
Durante o desenvolvimento desse trabalho, criou-se um assistente pessoal automatizado móvel que interage com o usuário nos idiomas Português e Inglês. Ada permite o usuário informar atividades, necessidades e lembretes da forma mais natural possível, assim como também permite realizar consultas sobre as informações salvas. Todo diálogo é realizado no idioma de preferência do usuário, ou seja, se o usuário iniciar um diálogo em Português, Ada responderá em Português, caso seja em Inglês, ela responderá em Inglês. A ontologia foi desenvolvida de tal forma que o usuário possa informar a classe das palavras que ele está falando e não são inicialmente compreendidas pela Ada. Com isso, tem-se a capacidade de aprendizado de maneira que o uso de novas palavras incrementa o conhecimento do assistente. Portanto, todos os objetivos elencados foram atingidos. Durante a escolha das ferramentas para o desenvolvimento deste trabalho, existiram alguns percalços principalmente referente à escolha do framework PLN e da ferramenta de reconhecimento de voz. Referente ao framework Apache OpenNLP, a escolha deu-se a partir dos resultados apresentados por Rusu et al. (2007). Ainda assim, foi necessário, inicialmente, encontrar os arquivos de treinamento do parser para a Língua Portuguesa e, posteriormente, após o treinamento, adicionar cada nova sentença proferida pelo usuário no modelo de treinamento. No entanto, em função do Apache OpenNLP ser um parser estatístico, com o aumento do modelo de treinamento, a taxa de acertos na geração das parse trees foi aumentando consideravelmente ao longo do desenvolvimento. Quanto ao reconhecimento de voz, inicialmente, foi testada a utilização da intent CHECK_TTS_DATA. Como durante na fase de testes foi verificado que o reconhecimento somente funcionava para o idioma que estava configurado o smartphone do usuário, assim impossibilitando o usuário de alternar os idiomas durante o diálogo, optou-se por usar a API Cloud Speech to Text. Ainda, pensou-se em utilizar o framework SimpleNLG para o assistente gerar e fornecer respostas mais complexas e de maior qualidade ao usuário. No entanto, foram encontrados diversos problemas na utilização desse framework para a Língua Portuguesa, principalmente no que diz respeito à geração de artigos e preposições para as frases. Optou-se então por não utilizar a geração de linguagem natural, mas sim por gerar as frases de respostas ao usuário conforme descrito na seção de geração de frases. Ao final do desenvolvimento do projeto, acredita-se que este possa contribuir para a área de processamento de linguagem natural, visto que os trabalhos sobre PLN pesquisados fora desenvolvidos focados em um único idioma, ou seja, para se trabalhar com mais de um idioma é necessário realizar uma nova implementação, enquanto que para a Ada somente é necessário criar os arquivos de treinamento referentes ao idioma que se deseja trabalhar. Outra contribuição trata-se da extensão do algoritmo de extração de triplos apresentado por Rusu et al. (2007). O algoritmo proposto por eles extrai sujeito, verbo e complementos de frases afirmativas ou negativas. A partir deste trabalho também é possível extrair, além do sujeito, verbo e complementos, o pronome interrogativo da frase interrogativas. Por fim, diferentemente dos trabalhos pesquisados onde as ontologias sempre eram estáticas, neste trabalho foi desenvolvimento uma ontologia dinâmica que é capaz de aprender novos termos e palavras e suas relações com os demais conhecimentos já armazenados, assim resolvendo a limitação de não ser possível levantar todas as palavras (e suas relações) que podem ser ditas por um usuário. |
|
|