US 11,816,435 B1
Applied artificial intelligence technology for contextualizing words to a knowledge base using natural language processing
Maia Lewis Meza, Chicago, IL (US); Clayton Nicholas Norris, Chicago, IL (US); Michael Justin Smathers, Chicago, IL (US); Daniel Joseph Platt, Chicago, IL (US); and Nathan D. Nichols, Chicago, IL (US)
Assigned to Narrative Science Inc., Chicago, IL (US)
Filed by Narrative Science Inc., Chicago, IL (US)
Filed on Feb. 15, 2019, as Appl. No. 16/277,004.
Claims priority of provisional application 62/632,017, filed on Feb. 19, 2018.
Int. Cl. G06F 40/00 (2020.01); G06F 40/30 (2020.01); G06F 40/211 (2020.01); G06F 40/295 (2020.01); G10L 15/22 (2006.01); G10L 15/18 (2013.01); G10L 15/183 (2013.01)
CPC G06F 40/30 (2020.01) [G06F 40/211 (2020.01); G06F 40/295 (2020.01); G10L 15/183 (2013.01); G10L 15/1822 (2013.01); G10L 15/22 (2013.01)] 40 Claims
OG exemplary drawing
 
1. A natural language processing method that applies computer technology to a message that comprises data representing a plurality of words arranged in a natural language in order to (1) contextualize a plurality of the words in the message with respect to a knowledge base and (2) control a natural language generation (NLG) system for responding to the message, the method comprising:
a processor performing named entity recognition on the words of the message to identify a plurality of named entities that correspond to words in the message based on a knowledge base of named entities, wherein the named entities within the knowledge base include (1) a plurality of entity types and/or entity instances and (2) a plurality of attributes for a plurality of the entity types and/or entity instances;
the processor associating a plurality of the words in the message with their corresponding identified named entities;
the processor determining a core meaning for the message based on the associations of the words with their corresponding identified named entities, wherein the determined core meaning corresponds to an intent; and
the processor generating control instructions for the NLG system based on the determined core meaning by instantiating a parameterization of the corresponding intent, wherein the instantiated parameterization of the corresponding intent comprises one or more of the identified named entities from the knowledge base linked with their instances as derived from the associated words from the message that define an intent to (1) explain a value of a subject attribute of a subject entity in terms of a subject driver for the subject attribute or (2) explain a change in value of the subject attribute of the subject entity over a first timeframe in terms of the subject driver for the subject attribute over a second timeframe, wherein the subject attribute and the subject driver are members of the attributes, wherein the subject entity is a member of the entity types and/or entity instances, wherein the control instructions comprise the instantiated parameterization of the corresponding intent, and wherein the control instructions are configured to cause the NLG system to process the instantiated parameterization of the corresponding intent using a conditional outcome framework that determines one or more ideas for expression in a natural language response that satisfies the corresponding intent.