Refactor your data

HumanFirst gives both data artists and scientists the tools to play with their training data and effortlessly split, merge and organize hierarchies of cascading intents that can continuously improve to best reflect the evolving underlying knowledge base.

VISUAL studio for your NLU data

Coders use integrated development environments (IDEs) that make editing and structuring code easy. HumanFirst aims to make working with NLU training data just as "easy".

Modular intent hierarchies#

Re-organizing and merging and intents#

Creating parent and child intents#

HumanFirst allows you to re-organize intents in parent/child hierarchies using simple drag & drop. This helps create intents with varying levels of abstraction.

You can create a child intent by selecting an existing intent and clicking Create sub-intent here or drag an exising intent over another intent.

Merging similar intents#

HumanFirst allows you to merge intents and their training data within by simply dragging the intent on top of another and confirming the merge.

Splitting intents (advanced)#


Intents can contain conflicting training data that should be split to two or more distinct intents. HumanFirst makes the splitting of intents very efficient.

Similarity search#

Within an intent that needs to be split, you can select an utterance and click on Sort phrases based on selection. This reranks the list of training phrases based on cosine similarity to speed up the selection of similar phrases. You can re-use this feature everytime you select a new utterance.

Recommendation flow#

Once you've selected the set of utterances that you wish to split, you can move these phrases to an existing intent by selecting one of the recommended intents or create a new intent.

Split confirmation#

HumanFirst will show you to which intent you're moving these phrases by showing the intent's current training data.

Continuous iteration

Building world-class NLU is part science, and part art: identifying what intents can be grouped under more general abstractions, and modularizing data in ways that make it easy to maintain and re-use, requires analytical and logical skillsets as well as continuous refactoring, much like programming.

Video Demo#