In our first post on writing with the Ephox Cognitive Assistant, we described how the technology can make the writing process easier for content creators. In this post, we look at the technical elements behind setting up the Cognitive Assistant.
Exploring the architecture
As text is typed into the main editor window, it is periodically uploaded to the Ephox Cognitive Assistant cloud service for analysis. The Ephox Cognitive Assistant uses IBM’s Alchemy Language for linguistic parsing and concept identification. The IBM Alchemy Language is based on IBM Watson’s question-answering AI system. Yeah, the one that’s famous for winning Jeopardy.
The IBM Alchemy Language returns DBPedia URIs for each identified concept. We used these as indexes into an RDF knowledge graph.
Implementing the Knowledge Graph
The Ephox Knowledge Graph service enriches the information that we receive from DBpedia. This allows us to display the items in the sidebar in a richer format, including images, video and other structures data.
We implemented our Knowledge Graph service using an Apache Tomcat3 Web application server with a RDF4J4 version 2.0 RDF database engine. Relevant portions of DBpedia were sharded into six RDF4J databases to speed both data indexing and assist query performance.
In the first version of the Cognitive Assistant, we access DBpedia topical concepts, SKOS categories, labels, image URLs, short abstracts, categories and their labels, transitive instance types, mapping-based objects and literals, and person data.
We used two SPARQL queries against the knowledge graph to construct the enriched embed concept snippets:
- The first SPARQL query is used to identify the type of concept, e.g. person, place, movie, species, product, or a general concept.
- The second SPARQL query is used to identify available data about a specific concept, as anticipated by its type.
For example, a concept of type “person” might have a birth date and a birth place. A place might have area and a population estimate, etc. The results of the second query are used to fill a type-specific HTML template. The filled template forms the embed code snippet which is sent back to the sidebar in the editor.
How Cognitive Assistant stacks up in user tests
We put our Cognitive Assistant to the test using the Validately service. Our next blog post looks at some of the key findings into how the Cognitive Assistant can be used to make your next writing task easier.
* The Ephox Cognitive Assistant is currently available as a technology preview. If you would like to see the technology in action, please contact us here.