Type
Project and/or thesis, preferably with the thesis building on a project. You will be working with a relatively large existing codebase making for a very real-world like project.
Background
Our Question Answering (QA) system Aqqu available online as well as via Telegram currently treats every question as self-contained and isolated.
Especially on a conversation based interface like Telegram this can feel quite unnatural, for example instead of being able to have the following conversation:
User: Where was Albert Einstein born?
AqquBot: Albert Einstein, place of birth: Ulm
User: And where did he die?
AqquBot: Albert Einstein, place of death: Princeton
The second question has to repeat the name to work asking for example And where did Albert Einstein die?
Goal
The goal of the project will be to design and implement the necessary changes to Aqqu enabling such conversational sessions. To keep the backend question answering system stateless this should be implemented using some kind of conversation context tracking mechanism on the client (Web UI or service bridge (e.g. Telegram)).
Subgoals
- Research related work on conversational interfaces
- Become familiar with the existing Aqqu system and code base
Create a dataset with normal and follow-up questions for evaluation, ideally based on an existing dataset for QA (e.g. WebQSP, SimpleQuestions, Free917)
- Design and implement a simple conversation context extension for the Aqqu API e.g. tracking previous entities and registering them with pronouns like "sh e", "he", "it"
- Design and implement a UI using the aforementioned API extension with a chat like interface
NOTE: For the purpose of this project/thesis you may regard it as out-of-scope to make the answers use natural language and may stick to answer lists