Tisane: Mission-Critical AI and Explainability

Vadim Berman
Tisane Labs
Published in
5 min readSep 19, 2019
Tisane Labs at the Interpol World ’19
Tisane Labs at the Interpol World ‘19

Our experience at the Interpol World in early July was eye-opening. Easily one of the most productive and fascinating trade events we ever attended.

People from all over the world, many looking like stereotypical agents of elite law enforcement units in the movies — maybe because they are actual agents in these units in real life. We met US Secret Service veterans, Canadian Mounted Police, UK’s NCA, the ever cheerful and friendly Interpol people, and topped up our knowledge of the alphabet soup agencies. The law enforcement agencies are not merely playing catch-up with the new technological developments, they are actively collaborating with the academia and the industry.

We were fortunate to participate in the joint Interpol and UNICRI Global Meeting on Artificial Intelligence, learning about the challenges and the priorities of the law enforcement agencies and providing our input on the subject. It was not just a rehash of the usual fare in the press: “AI is dangerous”, “AI really works / doesn’t really work”, “we must ban AI”. No odd questions like “how is natural language processing AI?” It was a practical and informed discussion, diving into some technological capabilities we did not realize existed. Law enforcement agencies from Norway, Germany, Japan, and Australia shared their experience integrating advanced image / speech / text processing. The round table participants examined the dangers and the challenges, and suggested solutions.

While it was not the only topic the meeting was focused on, AI applications being black boxes was likely the biggest obstacle for most. Lack of explainability may be only a minor setback for a recommendation engine or a camera special effect filter, but in life-and-death matters like law enforcement applications it means the system’s usability is in question.

How Tisane Tackles Explainability

Tisane Visual Debugger in action
Tisane Debugger recreating decisions made by Tisane

Understanding the meaning of an utterance is one of the amazing feats of the human brain that we often take for granted. Make no mistake: it’s anything but trivial. That is the reason we still don’t have fluently talking robots or even virtual assistants going beyond the standard narrow set of domains.

It’s even harder to parse language if the software can’t be debugged properly. Therefore, the ability to debug the outcome was among the fundamental requirements of Tisane API. While our team built debug capabilities in natural language processing systems before, this time we wanted to go beyond raw logs, and make the process of zeroing in on an issue more intuitive and quick.

Morphology

Some of the issues can be stopped in their tracks at design time. Tisane allows a preview of all the inflected forms to be generated, no matter how complex the grammar is. (The examples below come from German, one of the nearly 30 languages we support.) Our design focuses on striking the balance between providing enough information and not overwhelming the user. We picked a layout similar to the classic paper dictionary.

If something is wrong, a trained eye will immediately spot the issue, even when casually browsing the lexicon.

The inflections can be viewed in a table-like fashion, with more detail, as shown below.

For every inflected form the pattern that generated it can be inspected:

and overridden on the fly, if it’s an exception:

Failures can be examined with the reason clearly highlighted:

…a click on the inflection pattern link brings the user to the inflection pattern:

…which can be edited, with changes effective immediately for testing purposes.

Runtime

But what happens at the later stages, like disambiguation, that depend on the context?

This is where things get really interesting, and all the different Tisane data structures come together. To ensure transparency and explainability, all the transactions made by the Tisane engine are traceable, like in a step-by-step debugger. A process can be saved into a human-readable log, as shown below:

Contents of a Tisane log

This log then can be loaded into Tisane Visual Debugger, which re-enacts every transaction visually, as captured in the animated GIF below:

Visual Debugger in action

The entities created and encountered are grouped by type and displayed in a structured manner.

Entities encountered during the process

Each section can be drilled down into, providing insight into how the decisions were made:

…and what the structures actually do:

The search icon brings up a list of all occurrences of the entity in the process.

Clicking on the occurrence rewinds the process to the exact point where the occurrence was detected.

Conclusion

As the use of AI applications spreads, better diagnostic tools are required to provide transparency into increasingly complex decision-making process. Tisane is not just an API or a runtime library; it’s a platform. Extensible and powerful tools complete with web-based UI are part and parcel of the Tisane’s design philosophy.

--

--