IP Library Granted Patent US 12,339,997
Granted Patent B2
US 12,339,997 · App. 18/318,308 · Granted Jun 24, 2025

Entity focused natural language generation

Inventors: Praneet Pabolu (Bangalore, IN); Sriram Chaudhury (Bangalore, IN)
Assignee: Oracle International Corporation
G06F21/6254G06F16/345G06F40/166G06F40/216G06F40/284G06F40/40G06F40/47G06F40/56G06F40/58G06N3/045G06N3/09G06N20/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 12,339,997
App. No.
18/318,308
Granted
Jun 24, 2025
Kind
B2
Abstract

Method includes populating fake value for each of entities, to generate string of fake entity values that correspond to entities; inserting sentinel token between adjacent fake values included in the string to generate first input data; generating, by natural language generation model, natural language sentences based on first input data, natural language sentences including one or more fake values from the string; analyzing natural language sentences to determine whether any fake value from the string is missing; based on the fake value missing, summarizing, using text summarization model, natural language sentences to generate text summary; concatenating the text summary with the fake value, to generate second input data; and generating, by a next sentence generation model, additional natural language sentence using the second input data, the additional natural language sentence including the fake value. Additional natural language sentence is combined with natural language sentences to generate final natural language sentences.

Claims (103)

1. A computer-implemented method comprising:

populating a fake value for each entity within a set of entities, to generate a string of fake entity values that correspond to the entities, respectively;

inserting a sentinel token between adjacent fake values included in the string of fake entity values to generate first input data;

generating, by a natural language generation model, natural language sentences based on the first input data, wherein the natural language sentences comprise one or more fake values from the string of fake entity values;

performing pre-processing on the natural language sentences, to generate pre-processed natural language sentences;

analyzing the pre-processed natural language sentences to determine whether a fake value from the string of fake entity values is missing in the pre-processed natural language sentences;

in response to determining that the fake value is missing, summarizing, using a text summarization model, the pre-processed natural language sentences to generate a text summary;

concatenating the text summary with the fake value, to generate second input data;

generating, by a next sentence generation model, an additional natural language sentence, based on the second input data, wherein the additional natural language sentence comprises the fake value;

combining the additional natural language sentence with the pre-processed natural language sentences to generate a text portion comprising a first plurality of natural language sentences that are obtained as a result of the combining;

post-processing the result of the combining, to generate a collection of final natural language sentences; and

outputting the collection of final natural language sentences.

2. The computer-implemented method of claim 1 , wherein the pre-processing comprises:

tokenizing the natural language sentences into a series of tokens; and

correcting, using a context correction model, context of the natural language sentences based on the series of tokens to generate corrected natural language sentences.

3. The computer-implemented method of claim 2 , wherein:

the pre-processing further comprises:

determining a perplexity score for the corrected natural language sentences, and

extracting, from the corrected natural language sentences, natural language sentences having the perplexity score of less than a predetermined perplexity threshold, and

the analyzing is performed on the extracted natural language sentences.

4. The computer-implemented method of claim 1 , further comprising:

prior to the post-processing, analyzing the text portion to determine whether another fake value from the string of fake entity values is missing in the text portion;

in response to determining that the other fake value is missing, summarizing, using the text summarization model, the text portion to generate another text summary;

concatenating the other text summary with the other fake value, to generate third input data;

generating, by the next sentence generation model, a second additional natural language sentence based on the third input data, wherein the second additional natural language sentence comprises the other fake value; and

combining the second additional natural language sentence with the text portion, to obtain another text portion comprising a second plurality of natural language sentences,

wherein, in the post-processing, the second plurality of natural language sentences is used as the result of the combining.

5. The computer-implemented method of claim 1 , wherein the post-processing comprises:

calculating, using a cross-encoder model, a similarity score between the first plurality of natural language sentences included in the text portion and existing natural language sentences; and

determining the collection of final natural language sentences to include natural language sentences having the similarity score less than or equal to a predetermined similarity threshold, from the first plurality of natural language sentences.

6. The computer-implemented method of claim 1 , wherein the outputting comprises at least one from among transmitting the collection of final natural language sentences to an external device and storing the collection of final natural language sentences in a memory.

7. The computer-implemented method of claim 1 , further comprising:

after combining the additional natural language sentence with the pre-processed natural language sentences, repeating the analyzing and, thereafter, repeating the steps of summarizing, concatenating, generating, and combining, in response to determining that at least one other fake value from the string of fake entity values is missing in the text portion.

8. The computer-implemented method of claim 1 , wherein the inserting further comprises:

appending to each fake value a symbol that identifies a type of entity for a corresponding fake value.

9. A system comprising:

one or more processors;

a memory that is coupled to the one or more processors and stores one or more instructions that, when executed by the one or more processors, cause the one or more processors to perform a method including:

populating a fake value for each entity within a set of entities, to generate a string of fake entity values that correspond to the entities, respectively;

inserting a sentinel token between adjacent fake values included in the string of fake entity values to generate first input data;

generating, by using a natural language generation model, natural language sentences based on the first input data, wherein the natural language sentences comprise one or more fake values from the string of fake entity values;

performing pre-processing on the natural language sentences, to generate pre-processed natural language sentences;

analyzing the pre-processed natural language sentences to determine whether a fake value from the string of fake entity values is missing in the pre-processed natural language sentences;

in response to determining that the fake value is missing, summarizing, by using a text summarization model, the pre-processed natural language sentences to generate a text summary;

concatenating the text summary with the fake value, to generate second input data;

generating, by using a next sentence generation model, an additional natural language sentence, based on the second input data, wherein the additional natural language sentence comprises the fake value;

combining the additional natural language sentence with the pre-processed natural language sentences to generate a text portion comprising a first plurality of natural language sentences that are obtained as a result of the combining;

post-processing the result of the combining, to generate a collection of final natural language sentences; and

outputting the collection of final natural language sentences.

10. The system of claim 9 , wherein:

the pre-processing includes:

tokenizing the natural language sentences into a series of tokens,

correcting, using a context correction model, context of the natural language sentences based on the series of tokens to generate corrected natural language sentences,

determining a perplexity score for the corrected natural language sentences, and

extracting, from the corrected natural language sentences, natural language sentences having the perplexity score of less than a predetermined perplexity threshold, and

the analyzing is performed on the extracted natural language sentences.

11. The system of claim 9 , wherein the method further includes:

prior to the post-processing, analyzing the text portion to determine whether another fake value from the string of fake entity values is missing in the text portion;

in response to determining that the other fake value is missing, summarizing, using the text summarization model, the text portion to generate another text summary;

concatenating the other text summary with the other fake value, to generate third input data;

generating, by the next sentence generation model, a second additional natural language sentence based on the third input data, wherein the second additional natural language sentence comprises the other fake value; and

combining the second additional natural language sentence with the text portion, to obtain another text portion comprising a second plurality of natural language sentences,

wherein, in the post-processing, the second plurality of natural language sentences is used as the result of the combining.

12. The system of claim 9 , wherein the post-processing includes:

calculating, using a cross-encoder model, a similarity score between the first plurality of natural language sentences included in the text portion and existing natural language sentences; and

determining the collection of final natural language sentences to include natural language sentences having the similarity score less than or equal to a predetermined similarity threshold, from the first plurality of natural language sentences.

13. The system of claim 9 , wherein the method further includes:

after combining the additional natural language sentence with the pre-processed natural language sentences, repeating the analyzing and, thereafter, repeating the steps of summarizing, concatenating, generating, and combining, in response to determining that at least one other fake value from the string of fake entity values is missing in the text portion.

14. The system of claim 9 , wherein the inserting further includes:

appending to each fake value a symbol that identifies a type of entity for a corresponding fake value.

15. A non-transitory computer-readable memory storing one or more instructions that, when executed by one or more processors, cause the one or more processors to perform a method including:

populating a fake value for each entity within a set of entities, to generate a string of fake entity values that correspond to the entities, respectively;

inserting a sentinel token between adjacent fake values included in the string of fake entity values to generate first input data;

generating, by using a natural language generation model, natural language sentences based on the first input data, wherein the natural language sentences comprise one or more fake values from the string of fake entity values;

performing pre-processing on the natural language sentences, to generate pre-processed natural language sentences;

analyzing the pre-processed natural language sentences to determine whether a fake value from the string of fake entity values is missing in the pre-processed natural language sentences;

in response to determining that the fake value is missing, summarizing, by using a text summarization model, the pre-processed natural language sentences to generate a text summary;

concatenating the text summary with the fake value, to generate second input data;

generating, by using a next sentence generation model, an additional natural language sentence, based on the second input data, wherein the additional natural language sentence comprises the fake value;

combining the additional natural language sentence with the pre-processed natural language sentences to generate a text portion comprising a first plurality of natural language sentences that are obtained as a result of the combining;

post-processing the result of the combining, to generate a collection of final natural language sentences; and

outputting the collection of final natural language sentences.

16. The non-transitory computer-readable memory of claim 15 , wherein:

the pre-processing includes:

tokenizing the natural language sentences into a series of tokens,

correcting, using a context correction model, context of the natural language sentences based on the series of tokens to generate corrected natural language sentences,

determining a perplexity score for the corrected natural language sentences, and

extracting, from the corrected natural language sentences, natural language sentences having the perplexity score of less than a predetermined perplexity threshold, and

the analyzing is performed on the extracted natural language sentences.

17. The non-transitory computer-readable memory of claim 15 , wherein the method further includes:

prior to the post-processing, analyzing the text portion to determine whether another fake value from the string of fake entity values is missing in the text portion;

in response to determining that the other fake value is missing, summarizing, using the text summarization model, the text portion to generate another text summary;

concatenating the other text summary with the other fake value, to generate third input data;

generating, by the next sentence generation model, a second additional natural language sentence based on the third input data, wherein the second additional natural language sentence comprises the other fake value; and

combining the second additional natural language sentence with the text portion, to obtain another text portion comprising a second plurality of natural language sentences,

wherein, in the post-processing, the second plurality of natural language sentences is used as the result of the combining.

18. The non-transitory computer-readable memory of claim 15 , wherein the post-processing includes:

calculating, using a cross-encoder model, a similarity score between the first plurality of natural language sentences included in the text portion and existing natural language sentences; and

determining the collection of final natural language sentences to include natural language sentences having the similarity score less than or equal to a predetermined similarity threshold, from the first plurality of natural language sentences.

19. The non-transitory computer-readable memory of claim 15 , wherein the method further includes:

after combining the additional natural language sentence with the pre-processed natural language sentences, repeating the analyzing and, thereafter, repeating the steps of summarizing, concatenating, generating, and combining, in response to determining that at least one other fake value from the string of fake entity values is missing in the text portion.

20. The non-transitory computer-readable memory of claim 15 , wherein the inserting further includes:

appending to each fake value a symbol that identifies a type of entity for a corresponding fake value.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 27, 2025
From: PABOLU, PRANEET; CHAUDHURY, SRIRAM
To: ORACLE INTERNATIONAL CORPORATION
Reel/Frame 071227/0731 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 16, 2023
From: PABOLU, PRANEET; CHAUDHURY, SRIRAM
To: ORACLE INTERNATIONAL CORPORATION
Reel/Frame 063658/0134 →
Continuity (2)
Provisional Application 63416779 · Oct 17, 2022
Related Publication 20240126924A1 · Apr 18, 2024
References Cited (30)
US 10546054B1 · Foroughi et al. · 2020 [cited by applicant]
US 20170345185A1 · Byron · 2017 [cited by examiner]
US 20190096509A1 · Knoop · 2019 [cited by examiner]
US 20190287012A1 · Celikyilmaz · 2019 [cited by examiner]
US 20200057976A1 · Prakash · 2020 [cited by examiner]
US 20200126533A1 · Doyle · 2020 [cited by examiner]
US 20200134074A1 · Mankovskii · 2020 [cited by examiner]
US 20200160032A1 · Allen · 2020 [cited by examiner]
US 20200279050A1 · Endler · 2020 [cited by examiner]
US 20210004485A1 · Summers et al. · 2021 [cited by applicant]
US 20210097201A1 · Wasicek et al. · 2021 [cited by applicant]
US 20210150432A1 · Rosenberg · 2021 [cited by examiner]
US 20210303783A1 · Misra · 2021 [cited by examiner]
US 20210326652A1 · Hazard et al. · 2021 [cited by applicant]
US 20220180234A1 · Kamthe et al. · 2022 [cited by applicant]
US 20240354789A1 · Garvey · 2024 [cited by examiner]
US 20250045293A1 · Mcnamara · 2025 [cited by examiner]
EP 3985540A1 · 2022 [cited by applicant]
C4, Datasets, Available Online at: https://www.tensorflow.org/datasets/catalog/c4#c4multilingual_nights_stay, Dec. 6, 2022, 15 pages. [cited by applicant]
Dataset Card for “XL-Sum”, Available online at: https://huggingface.co/datasets/csebuetnlp/xlsum, 11 pages, retrieved Apr. 21, 2023. [cited by applicant]
Google-Research-Datasets/C4_200m-Synthetic-Dataset-for-Grammatical-Error-Correction, GitHub, Available Online at: https://github.com/google-research-datasets/C4_200M-synthetic-dataset-for-grammatical-error-correction, A… [cited by applicant]
Language-agnostic BERT Sentence Embedding (LaBSE), Available online at: https://github.com/bojone/labse, Aug. 24, 2020, 3 pages. [cited by applicant]
Welcome to the Leipzig Corpora Collection / Deutscher Wortschatz, A project of Leipzig University, the Saxon Academy of Sciences and Humanities in Leipzig and the Institute for Applied Informatics. Available online at: … [cited by applicant]
Dorr et al., Testing Code Using Synthetic Data, Technical Disclosure Commons, Oct. 2, 2019, pp. 1-8. [cited by applicant]
Galloni et al., A Novel Evaluation Metric for Synthetic Data Generation, Intelligent Data Engineering and Automated Learning, Oct. 2020, 2 pages. [cited by applicant]
Hendricks, Generate Data Containing Fake Personally Identifiable Information, Available Online at: https://github.com/paulhendricks/generator, Aug. 26, 2015, 8 pages. [cited by applicant]
Hillborn, Anonymizing Datasets at Scale Leveraging Databricks Interoperability, Databricks, Feb. 13, 2017, 8 pages. [cited by applicant]
Ladhak et al., Wiki_lingua, Available online at: https://gem-benchmark.com/data_cards/wiki_lingua, 2020, 5 pages. [cited by applicant]
Lee, Natural Language Generation for Electronic Health Records, npj Digital Medicine, vol. 1, No. 63, Nov. 19, 2018, 7 pages. [cited by applicant]
Xue et al., mT5: A Massively Multilingual Pre-trained Text-to-Text Transformer, Computation and Language, Mar. 11, 2021, 17 pages. [cited by applicant]