Inspiration
CQL search allows user to use complex filters and search for specific information beyond what is possible using native Confluence search. However, a regular user might not know how to use CQL because using CQL requires training and understanding. By allowing user to use natural language to perform CQL query, we aim to allow regular users to perform complex query using a language they are already familiar with.
What it does
Translates natural language to CQL query to search for content (pages, comments, etc.)
How we built it
We used Dialogflow API to transform natural language query to structured data which in turn is used to generate CQL. We use the generated CQL to call Confluence REST API.
Challenges we ran into
Initially we wanted to train our own model which translates natural language to CQL in one step without the intermediate structured data, but was unable to do so because we did not have enough data to train an accurate model.
Accomplishments that we're proud of
We successfully translated natural language to CQL and use it to search for content.
What we learned
The model provided by Dialogflow does not need a lot of data to train but the data needs to be annotated by hand as to which part of the sentence corresponds to which CQL field. On the other hand, the model we initially wanted to go with requires a lot of data but it doesn't need annotated data and can predict accurately given enough examples.
What's next for Semantica
Train the model in Dialogflow to be able to understand more complex sentences. Build a similar search for JQL using natural language.
Built With
- atlaskit
- serverless

Log in or sign up for Devpost to join the conversation.