IP Library Granted Patent US 9,424,254
Granted Patent B2
US 9,424,254 · App. 14/177,694 · Granted Aug 23, 2016

Systems and methods for natural language generation

Inventors: Blake Howald (Northfield, MN); Ravi Kondadadi (Rosemount, MN); Frank Schilder (Saint Paul, MN)
Assignee: Thomson Reuters Global Resoures
G06F17/2881
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 9,424,254
App. No.
14/177,694
Filed
Feb 11, 2014
Granted
Aug 23, 2016
Kind
B2
Art Unit
2673
USPC
704/9
Abstract

A method includes receiving a corpus comprising a set of pre-segmented texts. The method further includes creating a plurality of modified pre-segmented texts for the set of pre-segmented texts by extracting a set of semantic terms for each pre-segmented text within the set of pre-segmented texts and applying at least one domain tag for each pre-segmented text within the set of pre-segmented texts. The method further includes clustering the plurality of modified pre-segmented texts into one or more conceptual units, wherein each of the one or more conceptual units is associated with one or more templates, wherein each of the one or more templates corresponds to one of the plurality of modified pre-segmented texts.

Claims (62)

1. A computer-implemented method comprising:

a. automatically creating, by a template module of a computer, based on a current set of input, a first automated natural language sentence;

b. removing, by the template module of the computer, at least one of the one or more input pieces from the current set of input to form a modified current set of input, the modified current set of input comprising at least one less input piece than the current set of input;

c. creating, by the template module of the computer, a second natural language sentence based on the modified set of input; and

d. providing, by the template module of the computer, the first automated natural language sentence and the second automated natural language sentence.

2. The method of claim 1 further comprising:

a. repeating the removing step until the current set of input is null to create one or more additional natural language sentences; and

b. providing the one or more additional natural language sentences.

3. The method of claim 2 wherein each of the first automated natural language sentence, the second automated natural language sentence and the one or more additional natural language sentences were created by:

a. identifying, based on the current set of input, a set of statistically generated templates, the set of statistically generated templates associated with the message type;

b. applying a ranking model on the set of statistically generated templates;

c. selecting, in response to applying the ranking model, a statistically generated template from the set of statistically generated templates; and

d. replacing a set of tags within the statistically generated template with one or more input pieces of the current set of input.

4. A computer-implemented method comprising:

a. automatically creating, by a template module of a computer, based on a current set of input, a first automated natural language sentence, the current set of input comprising one or more input pieces;

b. monitoring, by the template module of the computer, a set of usage values, each usage value, within the set of usage values, associated with each of the one or more input pieces;

c. determining, by the template module of the computer, whether each usage value has exceeded a threshold and:

i. if the threshold has been exceeded, removing, by the template module of the computer, each of the one or more input pieces associated with an exceeded threshold from the current set of input to form a modified current set of input; and

ii. if the threshold has not been exceeded, retaining each of the one or more input pieces associated with a non-exceeded threshold to form the modified current set of input and changing, by the template module of the computer, a corresponding usage value of each of the one or more input pieces associated with the non-exceeded threshold;

d. creating, by the template module of the computer, a second automated natural language sentence based on the current set of input; and

e. providing, by the template module of the computer, the first automated natural language sentence and the second automated natural language sentence.

5. The method of claim 4 further comprising:

a. repeating the monitoring step, the determining step until the current set of input is null to create one or more additional natural language sentences; and

b. providing the one or more additional natural language sentences.

6. The method of claim 5 wherein each of the first automated natural language sentence, the second automated natural language sentence and the one or more additional natural language sentences were created by:

a. identifying, based on the current set of input, a set of statistically generated templates, the set of statistically generated templates associated with the message type;

b. applying a ranking model on the set of statistically generated templates;

c. selecting, in response to applying the ranking model, a statistically generated template from the set of statistically generated templates; and

d. replacing a set of tags within the statistically generated template with one or more input pieces of the current set of input.

7. A system comprising:

a. a computer comprising a processor and a memory coupled to the processor;

b. a program stored in the memory for execution by the processor, the program configured to:

i. automatically create, by a template module of the computer, based on a current set of input, a first automated natural language sentence;

ii. remove, by the template module of the computer, at least one of the one or more input pieces from the current set of input to form a modified current set of input, the modified current set of input comprising at least one less input piece than the current set of input;

iii. create, by the template module of the computer, a second natural language sentence based on the current set of input; and

iv. provide, by the template module of the computer, the first automated natural language sentence and the second automated natural language sentence.

8. The system of claim 7 wherein the program further configured to:

a. repeat a remove configuration until the current set of input is null to create one or more additional natural language sentences; and

b. provide the one or more additional natural language sentences.

9. The system of claim 8 wherein each of the first automated natural language sentence, the second automated natural language sentence and the one or more additional natural language sentences were created by the program, the program further configured to:

a. identify, based on the current set of input, a set of statistically generated templates, the set of statistically generated templates associated with the message type;

b. apply a ranking model on the set of statistically generated templates;

c. select, responsive to the ranking model, a statistically generated template from the set of statistically generated templates; and

d. replace a set of tags within the statistically generated template with one or more input pieces of the current set of input.

10. A system comprising:

a. a computer comprising a processor and a memory coupled to the processor;

b. a program stored in the memory for execution by the processor, the program configured to:

i. automatically create, by a template module of the computer, based on a current set of input, a first automated natural language sentence, the current set of input comprising one or more input pieces;

ii. monitor, by the template module of the computer, a set of usage values, each usage value, within the set of usage values, associated with each of the one or more input pieces;

iii. determine, by the template module of the computer, whether each usage value has exceeded a threshold and:

1. if the threshold has been exceeded, remove, by the template module of the computer, each of the one or more input pieces associated with an exceeded threshold from the current set of input to form a modified current set of input; and

2. if the threshold has not been exceeded, retain each of the one or more input pieces associated with a non-exceeded threshold to form the modified current set of input and change, by the template module of the computer, a corresponding usage value of each of the one or more input pieces associated with the non-exceeded threshold;

iv. create, by the template module of the computer, a second automated natural language sentence based on the current set of input; and

v. provide, by the template module of the computer, the first automated natural language sentence and the second automated natural language sentence.

11. The system of claim 10 wherein the program further configured to:

a. repeat a monitor configuration and a determine configuration until the current set of input is null to create one or more additional natural language sentences; and

b. provide the one or more additional natural language sentences.

12. The method of claim 5 wherein each of the first automated natural language sentence, the second automated natural language sentence and the one or more additional natural language sentences were created by the program, the program further configured to:

a. identifying, based on the current set of input, a set of statistically generated templates, the set of statistically generated templates associated with the message type;

b. applying a ranking model on the set of statistically generated templates;

c. selecting, in response to applying the ranking model, a statistically generated template from the set of statistically generated templates; and

d. replacing a set of tags within the statistically generated template with one or more input pieces of the current set of input.

Assignments (5)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 5, 2020
From: THOMSON REUTERS GLOBAL RESOURCES UNLIMITED COMPANY
To: THOMSON REUTERS ENTERPRISE CENTRE GMBH
Reel/Frame 052028/0794 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 13, 2020
From: THOMSON REUTERS GLOBAL RESOURCES UNLIMITED COMPANY
To: REFINITIV US ORGANIZATION LLC
Reel/Frame 051917/0922 →
CHANGE OF NAME Recorded Nov 30, 2017
From: THOMSON REUTERS GLOBAL RESOURCES
To: THOMSON REUTERS GLOBAL RESOURCES UNLIMITED COMPANY
Reel/Frame 044263/0720 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 1, 2016
From: KONDADADI, RAVI; SCHILDER, FRANK; HOWALD, BLAKE
To: THOMSON REUTERS HOLDINGS, INC.
Reel/Frame 037633/0358 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 1, 2016
From: THOMSON REUTERS HOLDINGS, INC.
To: THOMSON REUTERS GLOBAL RESOURCES
Reel/Frame 037633/0468 →
Continuity (3)
Continuation In Part 13689194 · Nov 29, 2012
Provisional Application 61763247 · Feb 11, 2013
Related Publication 20150227508A1 · Aug 13, 2015