IP Library Granted Patent US 10,467,347
Granted Patent B1
US 10,467,347 · App. 15/338,991 · Granted Nov 5, 2019

Method and apparatus for natural language document orchestrator

Inventors: Ehud Baruch Reiter (Aberdeen, GB); Kapila Annuruddha Ponnamperuma Arachchi (Aberdeen, GB); Michael Simon Schlafli (Aberdeen, GB); Neil Stuart Burnett (Aberdeen, GB); Nikhil Dinesh (Aberdeen, GB)
Assignee: ARRIA DATA2TEXT LIMITED
G06F17/2881G06F16/3344G06F16/93G06F17/271G06F17/273G06F17/2755
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,467,347
App. No.
15/338,991
Granted
Nov 5, 2019
Kind
B1
Abstract

Methods, apparatuses, and computer program products are described herein that are configured to be embodied as a natural language document orchestrator. In some example embodiments, a method is provided that comprises generating natural language text. The method of this embodiment may also include executing document orchestration requests from a scripted input language file.

Claims (113)

1. A method for generating natural language from a scripted input language file, the method comprising:

accessing, using processing circuitry, the scripted input language file, wherein the scripted input language file comprises one or more document orchestration requests;

parsing the one or more document orchestration requests using the processing circuitry, wherein each document orchestration request comprises an identification of a document orchestration module of one or more document orchestration modules and formatted instructions for execution by the document orchestration module;

executing, using the processing circuitry, the one or more document orchestration requests by:

invoking, using the processing circuitry, the document orchestration module identified by the document orchestration request,

passing, using the processing circuitry, the document orchestration module the formatted instructions,

receiving, using the processing circuitry, a natural language output from the document orchestration module; and

processing, using the processing circuitry, the natural language output to generate natural language text;

determining, using the processing circuitry, that all document orchestration requests of the parsed input language file have executed; and

outputting, using the processing circuitry, natural language text for display via a user interface.

2. The method of claim 1 , wherein a document orchestration module of the one or more document orchestration modules comprises one or more of:

a content query processor;

a document plan processor;

a microplanner processor;

a syntax processor;

a morphology processor;

a morphophonology processor;

an orthography processor; and

a mark-up processor.

3. The method of claim 2 further comprising:

starting, using the processing circuitry, a content query processor;

creating, using the processing circuitry, a new instance of a content query, based on the formatted instructions;

utilizing, using the processing circuitry, the formatted instructions to at least perform one or more of:

selecting, using the processing circuitry, a message type comprising one or more argument classes and one or more child classes of the content query, wherein the one or more argument classes and the one or more child classes identify the content to be queried;

gathering one or more messages by querying, using the processing circuitry, a content store using argument class and child classes, wherein the one or more message instances comprise unordered portions of text representing the queried content; and

sorting, using the processing circuitry, the one or messages by at least one of content sort properties and comparators; and

outputting, using the processing circuitry, the sorted messages.

4. The method of claim 2 further comprising:

starting, using the processing circuitry, a document planner processor;

instantiating, using the processing circuitry, a document plan with one or more messages based on the formatted instructions; and

outputting, using the processing circuitry, the document plan.

5. The method of claim 2 further comprising:

starting, using the processing circuitry, a microplanner processor;

accessing, using the processing circuitry, an input;

utilizing, using the processing circuitry, the formatted instructions to at least perform, using the processing circuitry, one or more of:

converting at least one message from the document plan into a phrase specification;

applying one or more of lexicalization rules, aggregation rules, or referring expression rules to the phrase specification; and

determining aspects of ordering not specified in the document plan; and

outputting a microplanned output.

6. The method of claim 2 further comprising:

starting, using the processing circuitry, a syntax processor

accessing, using the processing circuitry, an input, and applying, using the processing circuitry, syntactic rules to generate natural language; and

outputting, using the processing circuitry, a syntactic output.

7. The method of claim 2 further comprising:

starting, using the processing circuitry, a morphology processor;

accessing, using the processing circuitry, an input, and applying morphology rules to generate natural language;

substituting, using the processing circuitry, a base word form in the input with an inflected word form a lexicon by searching the lexicon for the base word form and using the formatted instructions to determine which inflected form from the lexicon to substitute;

utilizing, using the processing circuitry, a base word form for other realization operations, by using the formatted instructions to determine other morphological changes to the input; and

outputting, using the processing circuitry, a morphological output.

8. The method of claim 2 further comprising:

starting, using the processing circuitry, a morphophonology processor;

accessing, using the processing circuitry, an input, and applying morphophonology rules to generate natural language; and

outputting, using the processing circuitry, a morphophonological output.

9. The method of claim 2 , further comprising:

starting, using the processing circuitry, a orthography processor;

accessing, using the processing circuitry, an input, and applying, using the processing circuitry, orthography rules to generate natural language by:

capitalizing individual words;

formatting numbers such as applying currency or date formats;

performing punctuation operations; or

placing white space characters between words; and

outputting, using the processing circuitry, an orthographical output.

10. The method of claim 2 further comprising:

starting, using the processing circuitry, a mark-up processor;

accessing, using the processing circuitry, an input, and applying mark-up rules to generate natural language;

converting, using the processing circuitry, internal markups found in the input into a mark-up format or plurality of formats that can be understood by a plurality of natural language text presentation systems; and

outputting, using the processing circuitry, a marked-up output.

11. The method of claim 1 , wherein the scripted input language file includes at least partially orchestrated natural language text.

12. The method of claim 1 , wherein the natural language output of the invoked document orchestration module is processed by further orchestration requests of the scripted input language file or outputted directly to the output text processor.

13. An apparatus comprising:

processing circuitry; and

at least one memory including computer program code, the at least one memory and the computer program code configured to, with the processing circuitry, cause the apparatus to at least:

access a scripted input language file, wherein the scripted input language file comprises one or more document orchestration requests;

parse the one or more document orchestration requests by a processor, wherein each document orchestration request comprises an identification of a document orchestration module of one or more document orchestration modules and formatted instructions for execution by the document orchestration module;

execute the one or more document orchestration requests by:

invoking the document orchestration module identified by the document orchestration request,

passing the document orchestration module the formatted instructions,

receiving a natural language output from the document orchestration module, and

processing the natural language output to generate natural language text; and

determine that all document orchestration requests of the parsed input language file have executed; and

output natural language text for display via a user interface.

14. The apparatus of claim 13 , wherein a document orchestration module of the one or more document orchestration modules comprises:

a content query processor;

a document plan processor;

a microplanner processor;

a syntax processor;

a morphology processor;

a morphophonology processor;

an orthography processor; and

a mark-up processor.

15. The apparatus of claim 13 , wherein the scripted input language file includes at least partially orchestrated natural language text.

16. The apparatus of claim 13 , wherein the at least one memory and the computer program code are further configured to, with the processing circuitry, cause the apparatus to further process the natural language output of the invoked document orchestration module by invoking further orchestration requests of the scripted input language file or output the natural language output directly to the output text processor.

17. The apparatus of claim 13 , wherein the at least one memory and the program code instructions are further configured to, when executed by the processing circuitry, cause the apparatus to further process the natural language output of the invoked document orchestration module by invoking further orchestration requests of the scripted input language file or output the natural language output directly to the output text processor.

18. A computer program product comprising:

at least one computer readable non-transitory memory medium having program code instructions stored thereon, the program code instructions which when executed by processing circuitry cause an apparatus at least to:

access a scripted input language file, wherein the scripted input language file comprises one or more document orchestration requests;

parse the one or more document orchestration requests by a processor, wherein each document orchestration request comprises an identification of a document orchestration module of one or more document orchestration modules and formatted instructions for execution by the document orchestration module;

execute the one or more document orchestration requests by:

invoking the document orchestration module identified by the document orchestration request,

passing the document orchestration module the formatted instructions,

receiving a natural language output from the document orchestration module, and

processing the natural language output to generate natural language text; and

determine that all document orchestration requests of the parsed input language file have executed; and

output natural language text for display via a user interface.

19. The computer program product of claim 18 , wherein a document orchestration module of the one or more document orchestration modules comprises:

a content query processor;

a document plan processor;

a microplanner processor;

a syntax processor;

a morphology processor;

a morphophonology processor;

an orthography processor; and

a mark-up processor.

20. The computer program product of claim 18 , wherein the scripted input language file includes at least partially orchestrated natural language text.

Assignments (2)
SECURITY INTEREST Recorded Sep 9, 2025
From: ARRIA DATA2TEXT LIMITED
To: COLLATERAL HOLDINGS, INC.
Reel/Frame 072202/0480 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 2, 2016
From: REITER, EHUD BARUCH; PONNAMPERUMA ARACHCHI, KAPILA ANURUDDHA; SCHLAFLI, MICHAEL SIMON; BURNETT, NEIL STUART; DINESH, NIKHIL
To: ARRIA DATA2TEXT LIMITED
Reel/Frame 040198/0569 →
Cited By (2)
US 12,265,570 US 12,705,273