IP Library Granted Patent US 12,229,504
Granted Patent B2
US 12,229,504 · App. 17/053,224 · Granted Feb 18, 2025

Hybrid batch and live natural language processing

Inventors: Brian A. Ellenberger (Woodstock, GA); Thomas S. Polzin (Pittsburgh, PA); Rajasekharan Devarajan (Pittsburgh, PA)
Assignee: Solventum Intellectual Properties Company
G06F40/20G10L15/183G10L15/22
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,229,504
App. No.
17/053,224
Granted
Feb 18, 2025
Kind
B2
Abstract

A computer system performs live natural language processing (NLP) on data sources that are complex, remotely stored, and/or large, while satisfying restrictive time constraints. The computer system divides the NLP process into a batch NLP process and a live NLP process. The batch NLP process operates asynchronously over the relevant data set, which may be complex, remotely stored, and/or large, to summarize information into a summarized NLP data model. When the live NLP process is initiated, live NLP process receives as input the relevant information from the summarized NLP data model, possibly along with other data. The prior generation of the summarized NLP data model by the batch NLP process enables the live NLP process to perform NLP within time constraints that could not have been satisfied if the batch NLP process had not pre-processed the data set to produce the summarized NLP data model.

Claims (48)

1. A method performed by at least one computer processor executing computer program instructions stored on at least one non-transitory computer readable medium to execute a method, the method comprising:

performing a batch NLP process that operates asynchronously, wherein the batch NLP process includes:

receiving batch data asynchronously from a plurality of narrative and non-narrative data sources, wherein data in at least one of the data sources in the plurality is in a different data format than data in the other of the data sources in the plurality;

normalizing the batch data to produce normalized batch data;

performing NLP on the normalized batch data to produce batch NLP data;

at a batch NLP module, generating a summarized NLP data model based on the batch NLP data in a first amount of time;

at a live NLP processor, after performing NLP on the batch data:

receiving first live data from a live data source;

combining at least a first part of the summarized NLP data model with the first live data to produce first combined data; and

performing live NLP on the first combined data to produce first live NLP output in a second amount of time,

wherein the second amount of time is shorter than the first amount of time.

2. The method of claim 1 , wherein the second amount of time is at least ten times shorter than the first amount of time.

3. The method of claim 1 , wherein the second amount of time is at least one hundred times shorter than the first amount of time.

4. The method of claim 1 , wherein the combining comprises identifying portions of the summarized NLP data model that are relevant to the live data, and combining the identified portions of the summarized NLP data model with the live data.

5. The method of claim 1 , wherein performing live NLP on the first combined data is performed in less than 5 seconds.

6. The method of claim 1 , wherein performing live NLP on the first combined data is performed in less than 1 second.

7. The method of claim 1 , wherein the live data includes data representing human speech, and wherein the live NLP output comprises text representing the human speech.

8. The method of claim 1 , wherein the live data includes data representing human speech, and wherein the live NLP output comprises structured data including text representing the human speech and data representing concepts corresponding to the human speech.

9. The method of claim 1 , further comprising, at the live NLP processor, after performing NLP on the batch data:

receiving second live data from the live data source;

combining at least a second part of the summarized NLP data model with the second live data to produce second combined data; and

performing live NLP on the second combined data to produce second live NLP output in a third amount of time,

wherein the third amount of time is shorter than the first amount of time.

10. The method of claim 1 , wherein performing NLP on the first combined data comprises performing live NLP on a first portion of the first live data in the first combined data at a first time, and performing live NLP again on the first portion of the first live data in the first combined data at a second time in response to determining that the first live data have changed since the first time.

11. A system comprising at least one non-transitory computer-readable medium having computer program instructions stored thereon, the computer program instructions being executable by at least one computer processor to execute a method, the method comprising:

performing a batch NLP process that operates asynchronously, wherein the batch NLP process includes:

receiving batch data asynchronously from a plurality of narrative and non-narrative data sources, wherein data in at least one of the data sources in the plurality is in a different data format than data in the other of the data sources in the plurality;

normalizing the batch data to produce normalized batch data;

performing NLP on the normalized batch data to produce batch NLP data;

at a batch NLP module, generating a summarized NLP data model based on the batch NLP data in a first amount of time;

at a live NLP processor, after performing NLP on the batch data:

receiving first live data from a live data source;

combining at least a first part of the summarized NLP data model with the first live data to produce first combined data; and

performing live NLP on the first combined data to produce first live NLP output in a second amount of time,

wherein the second amount of time is shorter than the first amount of time.

12. The system of claim 11 , wherein the second amount of time is at least ten times shorter than the first amount of time.

13. The system of claim 11 , wherein the second amount of time is at least one hundred times shorter than the first amount of time.

14. The system of claim 11 , wherein the combining comprises identifying portions of the summarized NLP data model that are relevant to the live data, and combining the identified portions of the summarized NLP data model with the live data.

15. The system of claim 11 , wherein performing live NLP on the first combined data is performed in less than 5 seconds.

16. The system of claim 11 , wherein performing live NLP on the first combined data is performed in less than 1 second.

17. The system of claim 11 , wherein the live data includes data representing human speech, and wherein the live NLP output comprises text representing the human speech.

18. The system of claim 11 , wherein the live data includes data representing human speech, and wherein the live NLP output comprises structured data including text representing the human speech and data representing concepts corresponding to the human speech.

19. The system of claim 11 , wherein the method further comprises, at the live NLP processor, after performing NLP on the batch data:

receiving second live data from the live data source;

combining at least a second part of the summarized NLP data model with the second live data to produce second combined data; and

performing live NLP on the second combined data to produce second live NLP output in a third amount of time,

wherein the third amount of time is shorter than the first amount of time.

20. The system of claim 11 , wherein performing NLP on the first combined data comprises performing live NLP on a first portion of the first live data in the first combined data at a first time, and performing live NLP again on the first portion of the first live data in the first combined data at a second time in response to determining that the first live data have changed since the first time.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 1, 2024
From: 3M INNOVATIVE PROPERTIES COMPANY
To: SOLVENTUM INTELLECTUAL PROPERTIES COMPANY
Reel/Frame 066431/0915 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 11, 2020
From: DEVARAJAN, RAJASEKHARAN
To: 3M INNOVATIVE PROPERTIES COMPANY
Reel/Frame 054616/0351 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 5, 2020
From: ELLENBERGER, BRIAN A.; POLZIN, THOMAS
To: 3M INNOVATIVE PROPERTIES COMPANY
Reel/Frame 054287/0698 →
Continuity (2)
Provisional Application 62668330 · May 8, 2018
Related Publication 20210074271A1 · Mar 11, 2021
References Cited (21)
US 8694305B1 · Grove · 2014 [cited by applicant]
US 11783422B1 · Hayward · 2023 [cited by examiner]
US 20090271194A1 · Davis · 2009 [cited by applicant]
US 20130253908A1 · Zhai · 2013 [cited by applicant]
US 20140019128A1 · Riskin · 2014 [cited by applicant]
US 20140289188A1 · Shimanovsky · 2014 [cited by applicant]
US 20150356260A1 · D'Souza · 2015 [cited by examiner]
US 20160098386A1 · Rangarajan Sridhar · 2016 [cited by examiner]
US 20160162456A1 · Munro · 2016 [cited by examiner]
US 20160314106A1 · Carrier · 2016 [cited by applicant]
US 20170256260A1 · Jeong · 2017 [cited by examiner]
US 20180053101A1 · Cudworth · 2018 [cited by applicant]
US 20180018562A1 · Jung · 2018 [cited by applicant]
US 20180336459A1 · Baughman · 2018 [cited by examiner]
US 20200265316A1 · Das · 2020 [cited by examiner]
US 20200372219A1 · Relangi · 2020 [cited by examiner]
US 20230153529A1 · Han · 2023 [cited by examiner]
Gimpel, “Distributed asynchronous online learning for natural language processing”, Association for computational linguistics, pp. 213-222. [cited by applicant]
International Search report for PCT International Application No. PCT/US2019/031018 mailed on Jul. 17, 2019, 2 pages. [cited by applicant]
European application 19799944 Supplementary European Search Report dated Dec. 16, 2021. [cited by applicant]
Pliennger, Andreas, “Deep Learning Neural Networks on Mobile Platforms”, pp. 1-31, dated Jan. 18, 2016, Retrieved from the Internet on Jan. 31, 2018: URL:https://www.nst.ei.tum.de/fileadmin/w00bqs/www/publications/as/20… [cited by applicant]