IP Library Granted Patent US 11,144,734
Granted Patent B2
US 11,144,734 · App. 16/438,715 · Granted Oct 12, 2021

Self-learning natural-language generation rules engine with diachronic linguistic analysis

Inventors: Craig M. Trim (Ventura, CA); Martin G. Keen (Cary, NC); Michael Bender (Rye Brook, NY); Aaron K. Baughman (Silver Spring, MD)
Assignee: International Business Machines Corporation
G06F40/56G06F40/30G06N20/00
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 11,144,734
App. No.
16/438,715
Granted
Oct 12, 2021
Kind
B2
Abstract

A self-learning natural-language generation (NLG) system receives raw data from Internet-of-Things sensors or other data sources and a set of natural-language reports previously generated from the raw data by a legacy report-generation mechanism. The system divides the reports into two groups that are distinguished by differences in temporal characteristics of the reports or of the raw data from which each report is generated. The system performs a diachronic linguistic analysis that correlates values of the temporal characteristics with differences between linguistic features of each report group's natural-language text. The system creates translation rules that instruct the NLG system how to reproduce these differences and uses the rules to translate the raw data into its own natural-language reports. The system then compares the new and legacy reports and, if the new reports do not accurately reproduce the linguistic differences, analyzes more reports to improve its ability to accurately generate natural-language text.

Claims (58)

1. A natural-language generation (NLG) system comprising a processor, a memory coupled to the processor, and a computer-readable hardware storage device coupled to the processor, the storage device containing program code configured to be run by the processor via the memory to implement a method for self-learning natural-language generation, the method comprising:

the processor retrieving raw data from one or more extrinsic sources;

the processor partitioning the raw data into short-term data that is more recent than a predetermined threshold date and long-term data that is at least as old as the threshold date;

the processor receiving a set of short-term legacy reports that comprise natural-language translations of subsets of the short-term data and a set of long-term legacy reports that comprise natural-language translations of subsets of the long-term data;

the processor generating a set of NLG-generated reports by using the inferred rules to translate the raw data into natural language;

the processor comparing the NLG-generated reports to the short-term legacy reports and to the long-term legacy reports;

the processor updating the translation rules such that the updated translation rules translate the received raw data into natural language that more closely matches natural language comprised by the short-term legacy reports and by the long-term legacy reports;

the processor performing a diachronic linguistic analysis that identifies linguistic differences between the short-term legacy reports and the long-term legacy reports;

the processor inferring, as a function of the linguistic differences, one or more translation rules by which a rules engine of the NLG system generates natural-language text; and

the processor storing the one or more translation rules in a rulebase of the NLG system.

2. The system of claim 1 , where the diachronic linguistic analysis comprises:

the processor identifying a short-term linguistic characteristic that is characteristic of natural language generated from short-term data but is not characteristic of natural language generated from long-term data;

the processor identifying a long-term linguistic characteristic that is characteristic of natural language generated from long-term data but is not characteristic of natural language generated from short-term data; and

the processor identifying an achronal linguistic characteristic that is both characteristic of natural language generated from short-term data and characteristic of natural language generated from long-term data.

3. The system of claim 1 , where the one or more extrinsic sources comprise Internet-of-Things (IoT) devices.

4. The system of claim 1 ,

where the one or more translation rules comprise a first rule for translating short-term data into natural language and a second rule for translating long-term data into natural language, and

where the first rule specifies an action that is distinct from any action specified by the second rule.

5. The system of claim 1 , where at least one of the inferred translation rules specifies that the rules engine should determine whether a block of input data is short-term data or long-term data before determining how to translate the block of input data into natural language.

6. A method comprising:

a processor of a self-learning natural-language generation system retrieving raw data from one or more extrinsic sources, where the system comprises the processor, a memory coupled to the processor, and a computer-readable hardware storage device coupled to the processor, the storage device containing program code configured to be run by the processor via the memory to implement the method;

the processor partitioning the raw data into short-term data that is more recent than a predetermined threshold date and long-term data that is at least as old as the threshold date;

the processor receiving a set of short-term legacy reports that comprise natural-language translations of subsets of the short-term data and a set of long-term legacy reports that comprise natural-language translations of subsets of the long-term data;

the processor generating a set of NLG-generated reports by using the inferred rules to translate the raw data into natural language;

the processor comparing the NLG-generated reports to the short-term legacy reports and to the long-term legacy reports;

the processor updating the translation rules such that the updated translation rules translate the received raw data into natural language that more closely matches natural language comprised by the short-term legacy reports and by the long-term legacy reports;

the processor performing a diachronic linguistic analysis that identifies linguistic differences between the short-term legacy reports and the long-term legacy reports;

the processor inferring, as a function of the linguistic differences, one or more translation rules by which a rules engine of the NLG system generates natural-language text; and

the processor storing the one or more translation rules in a rulebase of the NLG system.

7. The method of claim 6 , where the diachronic linguistic analysis comprises:

the processor identifying a short-term linguistic characteristic that is characteristic of natural language generated from short-term data but is not characteristic of natural language generated from long-term data;

the processor identifying a long-term linguistic characteristic that is characteristic of natural language generated from long-term data but is not characteristic of natural language generated from short-term data; and

the processor identifying an achronal linguistic characteristic that is both characteristic of natural language generated from short-term data and characteristic of natural language generated from long-term data.

8. The method of claim 6 , where the one or more extrinsic sources comprise Internet-of-Things (IoT) devices.

9. The method of claim 6 ,

where the one or more translation rules comprise a first rule for translating short-term data into natural language and a second rule for translating long-term data into natural language, and

where the first rule specifies an action that is distinct from any action specified by the second rule.

10. The method of claim 6 , where at least one of the inferred translation rules specifies that the rules engine should determine whether a block of input data is short-term data or long-term data before determining how to translate the block of input data into natural language.

11. The method of claim 6 , further comprising providing at least one support service for at least one of creating, integrating, hosting, maintaining, and deploying computer-readable program code in the computer system, wherein the computer-readable program code in combination with the computer system is configured to implement the retrieving, the partitioning, the receiving, the generating, the comparing, the updating, the performing, the inferring, and the storing.

12. A computer program product, comprising a computer-readable hardware storage device having a computer-readable program code stored therein, the program code configured to be executed by a natural-language generation system comprising a processor, a memory coupled to the processor, and a computer-readable hardware storage device coupled to the processor, the storage device containing program code configured to be run by the processor via the memory to implement a method for self-learning natural-language generation, method comprising:

the processor retrieving raw data from one or more extrinsic sources;

the processor partitioning the raw data into short-term data that is more recent than a predetermined threshold date and long-term data that is at least as old as the threshold date;

the processor receiving a set of short-term legacy reports that comprise natural-language translations of subsets of the short-term data and a set of long-term legacy reports that comprise natural-language translations of subsets of the long-term data;

the processor generating a set of NLG-generated reports by using the inferred rules to translate the raw data into natural language;

the processor comparing the NLG-generated reports to the short-term legacy reports and to the long-term legacy reports;

the processor updating the translation rules such that the updated translation rules translate the received raw data into natural language that more closely matches natural language comprised by the short-term legacy reports and by the long-term legacy reports;

the processor performing a diachronic linguistic analysis that identifies linguistic differences between the short-term legacy reports and the long-term legacy reports;

the processor inferring, as a function of the linguistic differences, one or more translation rules by which a rules engine of the NLG system generates natural-language text; and

the processor storing the one or more translation rules in a rulebase of the NLG system.

13. The computer program product of claim 12 , where the diachronic linguistic analysis comprises:

the processor identifying a short-term linguistic characteristic that is characteristic of natural language generated from short-term data but is not characteristic of natural language generated from long-term data;

the processor identifying a long-term linguistic characteristic that is characteristic of natural language generated from long-term data but is not characteristic of natural language generated from short-term data; and

the processor identifying an achronal linguistic characteristic that is both characteristic of natural language generated from short-term data and characteristic of natural language generated from long-term data.

14. The computer program product of claim 12 , where the one or more extrinsic sources comprise Internet-of-Things (IoT) devices.

15. The computer program product of claim 12 ,

where the one or more translation rules comprise a first rule for translating short-term data into natural language and a second rule for translating long-term data into natural language, and

where the first rule specifies an action that is distinct from any action specified by the second rule.

16. The computer program product of claim 12 , where at least one of the inferred translation rules specifies that the rules engine should determine whether a block of input data is short-term data or long-term data before determining how to translate the block of input data into natural language.

Assignments (2)
CORRECTIVE ASSIGNMENT TO CORRECT THE DOCKET NUMBER IS MISSING PREVIOUSLY RECORDED AT REEL: 049444 FRAME: 0173. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jul 2, 2019
From: TRIM, CRAIG M.; KEEN, MARTIN G.; BENDER, MICHAEL; BAUGHMAN, AARON K.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 051720/0575 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 12, 2019
From: TRIM, CRAIG M.; KEEN, MARTIN G.; BENDER, MICHAEL; BAUGHMAN, AARON K.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 049444/0173 →
Continuity (1)
Related Publication 20200394273A1 · Dec 17, 2020