IP Library Granted Patent US 12,094,458
Granted Patent B2
US 12,094,458 · App. 17/668,968 · Granted Sep 17, 2024

Multi-channel conversation processing

Inventor: Vivek Kumar (Redwood Shores, CA)
Assignee: Oracle International Corporation
G10L15/1815G06F40/30G10L15/16G10L15/1822H04L51/212G06F40/289G06F40/35G10L15/183G10L2015/225
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,094,458
App. No.
17/668,968
Granted
Sep 17, 2024
Kind
B2
Abstract

Techniques for extracting data from conversations across different types of communication channels are disclosed. A system applies a set of rules to extract data from conversations based, at least in part, on a type of communication channel used for conducting the conversation. The system applies a machine learning model to recognize semantic content in conversations. The system divides conversations into conversation segments and classifies the conversation segments based on the semantic content. The system selects conversation segments to be extracted based on the semantic content and the type of communication channel over which a conversation is conducted. The system maps conversation segments from different conversations conducted on different types of communication channels to a same set of transactions.

Claims (141)

1. A non-transitory computer readable medium comprising instructions which, when executed by one or more hardware processors cause performance of operations comprising:

obtaining a first training data set of historical conversation data for a plurality of conversations, the first training data set of historical conversation data comprising:

a first conversation;

a communication channel type, of a plurality of communication channel types, over which the first conversation was conducted;

a label identifying a first portion of the first conversation that is to be extracted;

training a first machine learning model based on the first training data set to extract portions of conversations based at least in part on communication channel types over which the conversations were conducted;

identifying a second conversation conducted over a first communication channel type of the plurality of communication channel types;

applying the first machine learning model to the second conversation and the first communication channel type to identify a first portion of the second conversation to be extracted;

extracting the first portion of the second conversation; and

populating a database with the extracted first portion of the second conversation without populating the database with a second portion of the second conversation.

2. The non-transitory computer readable medium of claim 1 , wherein the operations further comprise:

identifying a third conversation conducted over a second communication channel type of the plurality of communication channel types;

applying the first machine learning model to the third conversation and the second communication channel type to identify a third portion of the third conversation to be extracted;

extracting the third portion of the third conversation; and

populating a database with the extracted third portion of the third conversation without populating the database with a fourth portion of the third conversation.

3. The non-transitory computer readable medium of claim 2 , wherein the operations further comprise:

identifying first semantic content in the first portion of the second conversation;

identifying second semantic content in the third portion of the third conversation;

based at least on the first semantic content, mapping the first portion of the second conversation to a first candidate transaction; and

based at least on the second semantic content, mapping the third portion of the third conversation to the first candidate transaction.

4. The non-transitory computer readable medium of claim 3 , wherein first semantic content includes a name associated with the first candidate transaction, and

wherein the third portion of the third conversation does not include any name associated with the first candidate transaction.

5. The non-transitory computer readable medium of claim 1 , wherein applying the first machine learning model to the second conversation and the first communication channel type further identifies a third portion of the second conversation to be extracted,

wherein the operations further comprise:

identifying first semantic content in the first portion of the second conversation;

identifying second semantic content in the third portion of the second conversation;

based at least on the first semantic content, mapping the first portion of the second conversation to a first candidate transaction;

based at least on the second semantic content, mapping the third portion of the second conversation to a second candidate transaction;

extracting the third portion of the second conversation; and

populating the database with the extracted third portion of the second conversation.

6. The non-transitory computer readable medium of claim 1 , wherein the operations further comprise:

identifying a third conversation conducted over a second communication channel type of the plurality of communication channel types; and

applying the first machine learning model to the third conversation and the second communication channel type to identify a third portion of the third conversation to be extracted,

wherein applying the first machine learning model to the third conversation and the second communication channel type, comprises:

identifying first semantic content in the first portion of the second conversation; and

identifying the first semantic content in a fourth portion of the third conversation,

wherein the first machine learning model identifies the first portion of the second conversation to be extracted based at least on the first semantic content and the first communication channel type, and

wherein the first machine learning model identifies the fourth portion of the third conversation to not be extracted based at least on the first semantic content and the second communication channel type.

7. The non-transitory computer readable medium of claim 1 , wherein training the first machine learning model to extract portions of conversations based at least in part on communication channel types over which the conversations were conducted comprises:

training the machine learning model to select a particular length of extracted portions, based at least in part on the communication channel types over which the conversations were conducted;

training the machine learning model to associate with each other messages of conversations occurring a defined amount of time apart from each other, based at least in part on the communication channel types over which the conversations were conducted; and

training the machine learning model to identify particular semantic content to be extracted, based at least in part on the communication channel types over which the conversations were conducted.

8. The non-transitory computer readable medium of claim 1 , wherein the operations further comprise:

identifying a third conversation conducted over a second communication channel type of the plurality of communication channel types;

applying the first machine learning model to the third conversation and the second communication channel type to identify a third portion of the third conversation to be extracted;

extracting the third portion of the third conversation;

populating a database with the extracted third portion of the third conversation without populating the database with a fourth portion of the third conversation;

identifying first semantic content in the first portion of the second conversation;

identifying second semantic content in the third portion of the third conversation;

based at least on the first semantic content, mapping the first portion of the second conversation to a first candidate transaction; and

based at least on the second semantic content, mapping the third portion of the third conversation to the first candidate transaction,

wherein first semantic content includes a name associated with the first candidate transaction,

wherein the third portion of the third conversation does not include any name associated with the first candidate transaction,

wherein applying the first machine learning model to the second conversation and the first communication channel type further results in identifying a fifth portion of the second conversation to be extracted,

wherein the operations further comprise:

identifying third semantic content in the fifth portion of the second conversation;

based at least on the third semantic content, mapping the fifth portion of the second conversation to a second candidate transaction;

extracting the fifth portion of the second conversation; and

populating the database with the extracted fifth portion of the second conversation,

wherein applying the first machine learning model to the third conversation and the second communication channel type further results in identify a sixth portion of the third conversation,

wherein the operations further comprise: identifying the first semantic content in a sixth portion of the third conversation,

wherein the first machine learning model identifies the first portion of the second conversation to be extracted based at least on the first semantic content and the first communication channel type,

wherein the first machine learning model identifies the sixth portion of the third conversation to not be extracted based at least on the first semantic content and the second communication channel type, and

wherein training the first machine learning model to extract portions of conversations based at least in part on communication channel types over which the conversations were conducted comprises:

training the machine learning model to select a particular length of extracted portions, based at least in part on the communication channel types over which the conversations were conducted;

training the machine learning model to associate with each other messages of conversations occurring a defined amount of time apart from each other, based at least in part on the communication channel types over which the conversations were conducted; and

training the machine learning model to identify particular semantic content to be extracted, based at least in part on the communication channel types over which the conversations were conducted.

9. A method comprising:

obtaining a first training data set of historical conversation data for a plurality of conversations, the first training data set of historical conversation data comprising:

a first conversation;

a communication channel type, of a plurality of communication channel types, over which the first conversation was conducted;

a label identifying a first portion of the first conversation that is to be extracted;

training a first machine learning model based on the first training data set to extract portions of conversations based at least in part on communication channel types over which the conversations were conducted;

identifying a second conversation conducted over a first communication channel type of the plurality of communication channel types;

applying the first machine learning model to the second conversation and the first communication channel type to identify a first portion of the second conversation to be extracted;

extracting the first portion of the second conversation; and

populating a database with the extracted first portion of the second conversation without populating the database with a second portion of the second conversation.

10. The method of claim 9 , further comprising:

identifying a third conversation conducted over a second communication channel type of the plurality of communication channel types;

applying the first machine learning model to the third conversation and the second communication channel type to identify a third portion of the third conversation to be extracted;

extracting the third portion of the third conversation; and

populating a database with the extracted third portion of the third conversation without populating the database with a fourth portion of the third conversation.

11. The method of claim 10 , further comprising:

identifying first semantic content in the first portion of the second conversation;

identifying second semantic content in the third portion of the third conversation;

based at least on the first semantic content, mapping the first portion of the second conversation to a first candidate transaction; and

based at least on the second semantic content, mapping the third portion of the third conversation to the first candidate transaction.

12. The method of claim 11 , wherein first semantic content includes a name associated with the first candidate transaction, and

wherein the third portion of the third conversation does not include any name associated with the first candidate transaction.

13. The method of claim 9 , wherein applying the first machine learning model to the second conversation and the first communication channel type further identifies a third portion of the second conversation to be extracted,

the method further comprising:

identifying first semantic content in the first portion of the second conversation;

identifying second semantic content in the third portion of the second conversation;

based at least on the first semantic content, mapping the first portion of the second conversation to a first candidate transaction;

based at least on the second semantic content, mapping the third portion of the second conversation to a second candidate transaction;

extracting the third portion of the second conversation; and

populating the database with the extracted third portion of the second conversation.

14. The method of claim 9 , further comprising:

identifying a third conversation conducted over a second communication channel type of the plurality of communication channel types;

applying the first machine learning model to the third conversation and the second communication channel type to identify a third portion of the third conversation to be extracted;

wherein applying the first machine learning model to the third conversation and the second communication channel type, comprises:

identifying first semantic content in the first portion of the second conversation; and

identifying the first semantic content in a fourth portion of the third conversation,

wherein the first machine learning model identifies the first portion of the second conversation to be extracted based at least on the first semantic content and the first communication channel type, and

wherein the first machine learning model identifies the fourth portion of the third conversation to not be extracted based at least on the first semantic content and the second communication channel type.

15. The method of claim 9 , wherein training the first machine learning model to extract portions of conversations based at least in part on communication channel types over which the conversations were conducted comprises:

training the machine learning model to select a particular length of extracted portions, based at least in part on the communication channel types over which the conversations were conducted;

training the machine learning model to associate with each other messages of conversations occurring a defined amount of time apart from each other, based at least in part on the communication channel types over which the conversations were conducted; and

training the machine learning model to identify particular semantic content to be extracted, based at least in part on the communication channel types over which the conversations were conducted.

16. A system comprising:

one or more processors; and

memory storing instructions that, when executed by the one or more processors, cause the system to perform operations comprising:

obtaining a first training data set of historical conversation data for a plurality of conversations, the first training data set of historical conversation data comprising:

a first conversation;

a communication channel type, of a plurality of communication channel types, over which the first conversation was conducted;

a label identifying a first portion of the first conversation that is to be extracted;

training a first machine learning model based on the first training data set to extract portions of conversations based at least in part on communication channel types over which the conversations were conducted;

identifying a second conversation conducted over a first communication channel type of the plurality of communication channel types;

applying the first machine learning model to the second conversation and the first communication channel type to identify a first portion of the second conversation to be extracted;

extracting the first portion of the second conversation; and

populating a database with the extracted first portion of the second conversation without populating the database with a second portion of the second conversation.

17. The system of claim 16 , wherein the operations further comprise:

identifying a third conversation conducted over a second communication channel type of the plurality of communication channel types;

applying the first machine learning model to the third conversation and the second communication channel type to identify a third portion of the third conversation to be extracted;

extracting the third portion of the third conversation; and

populating a database with the extracted third portion of the third conversation without populating the database with a fourth portion of the third conversation.

18. The system of claim 17 , wherein the operations further comprise:

identifying first semantic content in the first portion of the second conversation;

identifying second semantic content in the third portion of the third conversation;

based at least on the first semantic content, mapping the first portion of the second conversation to a first candidate transaction; and

based at least on the second semantic content, mapping the third portion of the third conversation to the first candidate transaction.

19. The system of claim 18 , wherein first semantic content includes a name associated with the first candidate transaction, and

wherein the third portion of the third conversation does not include any name associated with the first candidate transaction.

20. The system of claim 16 , wherein applying the first machine learning model to the second conversation and the first communication channel type further identifies a third portion of the second conversation to be extracted,

wherein the operations further comprise:

identifying first semantic content in the first portion of the second conversation;

identifying second semantic content in the third portion of the second conversation;

based at least on the first semantic content, mapping the first portion of the second conversation to a first candidate transaction;

based at least on the second semantic content, mapping the third portion of the second conversation to a second candidate transaction;

extracting the third portion of the second conversation; and

populating the database with the extracted third portion of the second conversation.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 10, 2022
From: KUMAR, VIVEK
To: ORACLE INTERNATIONAL CORPORATION
Reel/Frame 058975/0508 →
Continuity (1)
Related Publication 20230252980A1 · Aug 10, 2023