Introduction

Traditionally most chatbots today we have is following hardwired routines(Ex: Ordering a pizza) or predefined question answering(FAQ). These chatbots are based on simple string-matching methods where inputs are matching with QnA data databases. But this is not applicable in highly dynamic data-insensitive environments. With Cooee we attempted to build a chatbot that can intelligently comprehend user queries and construct responses on the fly.

We experimented with and evaluated Cooee Latrobe Energy Analytics Platform – LEAP. LEAP contains a billion data points belonging to modalities such as electricity consumption, gas consumption, and solar generation, and this data is streamed at 15-minute intervals. This complex multi-source data space contains more than 200 data tables.

Framework

Following is the framework of Cooee.

How Cooee works.

Following is an example of Cooee works. Here it tries to understand user query, “What is the total energy consumption of library last Monday?” It goes through various information extraction steps, converted to SQL query and compared against the database in order to extract the correct answers.

Cooee Implementation.

We integrated cooee to leap as QnA dashboard as well as chat popup.. Chat pop-up is for conversational question answering and dashboard is for more comprehension question answering where it can also produce tabular outputs as answers.

Higher order comprehension skills with Cooee.

Cooee has some advanced comprehension skills. It can resolve ambiguates, resolve coreferences and infer incomplete information.

  • Resolve ambiguates

    Resolving ambiguities is one of the major challenges in natural languages. Cooee uses chat history to resolve this challenge.
    For instance when Cooee is working in multi-campus setting asking a question like "What is the total electricity consumption of library?" can be ambiguous. Where there are multiple libraries.. Such as the library of Bundoora campus, library of Bendigo campus etc.
    So here what Cooee does is it will convert this ambiguous question to set of disambiguate questions such as.."What is the total electricity consumption of the Library on the Bendigo campus?","What is the total electricity consumption of the Library on the Bundoora campus?"and leverage previous chat history and natural language inference to pick the correct questions. So here as recent chat history is talking about Bendigo campus it gives higher probability for Bendigo campus…

  • Co-reference resolution and Answer incomplete questions.

    Similar to resolving ambiguations, Cooee can resolve incomplete questions and co-references

Technologies and areas

Python, Deep learning - Language models(BERT), Text similarity matching, Token classification(NER), Regexes, Web development(ReactJS, Redux, HTML, JS, CSS)

Team

Gihan Gamage(me), Nishan Mills, A. Prof. Daswin De Silva

Publications

Cooee: An Artificial Intelligence Chatbot for Complex Energy Environments
2022 15th International Conference on Human System Interaction (HSI)
G Gamage, N Mills, P Rathnayaka, A Jennings, D Alahakoon

See project on Github