IP Library Granted Patent US 11,074,911
Granted Patent B2
US 11,074,911 · App. 16/122,875 · Granted Jul 27, 2021

Digital assistant

Inventors: Arun N. Kumar (Atlanta, GA); Stefano Malnati (La Jolla, CA)
Assignee: FIRST ADVANTAGE CORPORATION
G10L15/22G06F3/16G06F3/167G06F9/453G10L15/1815G10L15/30H04L67/306G06F9/4451G06F40/30G10L2015/227G10L2015/228H04L67/42
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,074,911
App. No.
16/122,875
Granted
Jul 27, 2021
Kind
B2
Abstract

In one aspect, a server that receives, from a client terminal via a network, a request to initiate a verbal conversation using natural language that is in a spoken or textual format, extracts information during the verbal conversation, determines a context of the verbal conversation, receives an inquiry during the verbal conversation, processes the inquiry, acquires response information based on the determined appropriate response, and transmits to the client terminal the response information.

Claims (119)

1. A server that communicates with a client terminal via a network, the server comprising:

processing circuitry configured to

receive, from the client terminal via the network, a request to initiate a session that includes a first verbal conversation using natural language that is in a spoken or textual format,

extract information during the first verbal conversation, the extracted information being associated with credentials of a user, an environment of the first verbal conversation, and a request to provide a response,

determine a first verbal conversation context of the first verbal conversation based on the extracted information,

assign a first verbal conversation context value to the determined first verbal conversation context,

receive a first inquiry during the first verbal conversation,

process the first inquiry by

determining a first inquiry context of the first inquiry,

assigning a first inquiry context value to the determined first inquiry context,

in response to a difference between the first verbal conversation context value and the first inquiry context value being less than or equal to a first predetermined threshold, determining that the first inquiry context of the first inquiry is related to the first verbal conversation context of the first verbal conversation and generating a first appropriate response related to the first verbal conversation context of the first verbal conversation, receive a second inquiry,

process the second inquiry by

determining a second inquiry context of the second inquiry,

assigning a second inquiry context value to the determined second inquiry context,

determining whether the second inquiry context of the second inquiry is unrelated to the first inquiry context of the first inquiry based on whether a difference between the first inquiry context value and the second inquiry context value is greater than the first predetermined threshold,

starting a second conversation in response to determining that the second inquiry context of the second inquiry is unrelated to the first inquiry context of the first inquiry, the second conversation including a second verbal conversation context that is different from the first verbal conversation context of the first verbal conversation, the second verbal conversation context having a second verbal conversation context value, and

after starting the second conversation in response to determining that the second inquiry context of the second inquiry is unrelated to the first inquiry context of the first inquiry, generating a second appropriate response related to the second verbal conversation context of the second verbal conversation,

acquire, locally or from an external device, response information based on the generated first appropriate response related to the first verbal conversation or the generated second appropriate response related to the second verbal conversation,

transmit to the client terminal, via the network, the response information, receive, from the client terminal via the network, a request to end the session, and

terminate the session with the client terminal, wherein

the processing circuitry is further configured to generate the first appropriate response related to the first verbal conversation or the second appropriate response related to the second verbal conversation by determining whether a Language System (LS) includes a set of defined phrases or utterances related to the first verbal conversation context of the first verbal conversation or the second verbal conversation context of the second verbal conversation, and

upon determining the LS includes the set of defined phrases or utterances related to the first verbal conversation context of the first verbal conversation or the second verbal conversation context of the second verbal conversation, the processing circuitry is further configured to

amend an existing entity in the LS by updating at least one association and at least one relationship related to the existing entity in the LS,

update at least one governing rue for the existing entity in the LS, and

terminate a learning process for the existing entity in the LS.

2. The server according to claim 1 , wherein the processing circuitry is further configured to transmit to the client terminal, via the network, an acknowledgment that the session will end.

3. The server according to claim 1 , wherein the processing circuitry is further configured to

store a text or audio recording of the session to a memory.

4. The server according to claim 3 , wherein

the recording comprises a plurality of portions, and

the processing circuitry is further configured to separate each of the plurality of portions of the recording based on the first verbal conversation context of the first verbal conversation.

5. The server according to claim 1 , wherein upon determining the LS does not include the set of defined phrases or utterances related to the first verbal conversation context of the first verbal conversation or the second verbal conversation context of the second verbal conversation, the processing circuitry is further configured to

define a first entity in the LS,

define at least one association and at least one relationship related to the first entity in the LS, and

define at least one governing rule for the first entity in the LS.

6. The server according to claim 1 , wherein upon determining the LS includes the set of defined phrases or utterances related to the first verbal conversation context of the first verbal conversation or the second verbal conversation context of the second verbal conversation, and upon determining the LS does not include a second entity related to the existing entity, the processing circuitry is further configured to

define the second entity in the LS, define at least one association and at least one relationship related to both the existing entity and the second entity in the LS, and

define at least one governing rule for the second entity in the LS.

7. A method performed by an apparatus that communicates with a client terminal via a network, the method comprising:

receiving, from the client terminal via the network, a request to initiate a session that includes a first verbal conversation using natural language that is in a spoken or textual format;

extracting information during the first verbal conversation, the extracted information being associated with credentials of a user, an environment of the first verbal conversation, and a request to provide a response;

determining a first verbal conversation context of the first verbal conversation based on the extracted information;

assigning a first verbal conversation context value to the determined first verbal conversation context;

receiving a first inquiry during the verbal conversation;

processing the first inquiry by

determining a first inquiry context of the first inquiry;

assigning a first inquiry context value to the determined first inquiry context;

in response to a difference between the first verbal conversation context value and the first inquiry context value being less than or equal to a first predetermined threshold, determining that the first inquiry context of the first inquiry is related to the first verbal conversation context of the first verbal conversation and generating a first appropriate response related to the first verbal conversation context of the first verbal conversation;

receiving a second inquiry;

processing the second inquiry by

determining a second inquiry context of the second inquiry,

assigning a second inquiry context value to the determined second inquiry context,

determining whether the second inquiry context of the second inquiry is unrelated to the first inquiry context of the first inquiry based on whether a difference between the first inquiry context value and the second inquiry context value is greater than the first predetermined threshold,

starting a second conversation in response to determining that the second inquiry context of the second inquiry is unrelated to the first inquiry context of the first inquiry, the second conversation including a second verbal conversation context that is different from the first verbal conversation context of the first verbal conversation, the second verbal conversation context having a second verbal conversation context value, and

after starting the second conversation in response to determining that the second inquiry context of the second inquiry is unrelated to the first inquiry context of the first inquiry, generating a second appropriate response related to the second verbal conversation context of the second verbal conversation,

acquiring, locally or from an external device, response information based on the generated first appropriate response related to the first verbal conversation or the generated second appropriate response related to the second verbal conversation;

transmitting to the client terminal, via the network, the response information;

receiving, from the client terminal via the network, a request to end the session; and terminating the session with the client terminal, wherein

the generating of the first appropriate response related to the first verbal conversation or the second appropriate response related to the second verbal conversation is performed by determining whether a Language System (LS) includes a set of defined phrases or utterances related to the first verbal conversation context of the first verbal conversation or the second verbal conversation context of the second verbal conversation, and

upon determining the LS includes the set of defined phrases or utterances related to the first verbal conversation context of the first verbal conversation or the second verbal conversation context of the second verbal conversation,

amending an existing entity in the LS by updating at least one association and at least one relationship related to the existing entity in the LS,

updating at least one governing rue for the existing entity in the LS, and

terminating a learning process for the existing entity in the LS.

8. The method according to claim 7 , further comprising: transmitting to the client terminal, via the network, an acknowledgment that the session will end.

9. The method according to claim 7 , further comprising:

storing a text or audio recording of the session to a memory.

10. The method according to claim 9 , wherein

the recording comprises a plurality of portions, and

the method further comprises separating each of the plurality of portions of the recording based on the first verbal conversation context of the first verbal conversation.

11. The method according to claim 7 , further comprising upon determining the LS does not include the set of defined phrases or utterances related to the first verbal conversation context of the first verbal conversation or the second verbal conversation context of the second verbal conversation:

defining a first entity in the LS;

defining at least one association and at least one relationship related to the first entity in the LS; and

defining at least one governing rule for the first entity in the L.

12. The method according to claim 7 , further comprising, upon determining the LS includes the set of defined phrases or utterances related to the first verbal conversation context of the first verbal conversation or the second verbal conversation context of the second verbal conversation, and upon determining the LS does not include a second entity related to the existing entity, the processing circuitry is further configured to

defining the second entity in the LS,

defining at least one association and at least one relationship related to both the existing entity and the second entity in the LS, and

defining at least one governing rule for the second entity in the LS.

13. A non-transitory computer-readable storage medium including computer executable instructions, wherein the instructions, when executed by a computer that communicates with a client terminal via a network, causes the computer to perform a method, the method comprising:

receiving, from the client terminal via the network, a request to initiate a session that includes a first verbal conversation using natural language that is in a spoken or textual format;

extracting information during the first verbal conversation, the extracted information being associated with credentials of a user, an environment of the first verbal conversation, and a request to provide a response;

determining a first verbal conversation context of the first verbal conversation based on the extracted information;

assigning a first verbal conversation context value to the determined first verbal conversation context,

receiving a first inquiry during the verbal conversation;

processing the first inquiry by

determining a first inquiry context of the first inquiry;

assigning a first inquiry context value to the determined first inquiry context;

in response to a difference between the first verbal conversation context value and the first inquiry context value being less than or equal to a first predetermined threshold, determining that the first inquiry context of the first inquiry is related to the first verbal conversation context of the first verbal conversation and generating a first appropriate response related to the first verbal conversation context of the first verbal conversation,

receiving a second inquiry;

processing the second inquiry by

determining a second inquiry context of the second inquiry,

assigning a second inquiry context value to the determined second inquiry context,

determining whether the second inquiry context of the second inquiry is unrelated to the first inquiry context of the first inquiry based on whether a difference between the first inquiry context value and the second inquiry context value is greater than the first predetermined threshold,

starting a second conversation in response to determining that the second inquiry context of the second inquiry is unrelated to the first inquiry context of the first inquiry, the second conversation including a second verbal conversation context that is different from the first verbal conversation context of the first verbal conversation, the second verbal conversation context having a second verbal conversation context value, and

after starting the second conversation in response to determining that the second inquiry context of the second inquiry is unrelated to the first inquiry context of the first inquiry, generating a second appropriate response related to the second verbal conversation context of the second verbal conversation,

acquiring, locally or from an external device, response information based on the generated first appropriate response related to the first verbal conversation or the generated second appropriate response related to the second verbal conversation;

transmitting to the client terminal, via the network, the response information;

receiving, from the client terminal via the network, a request to end the session; and

terminating the session with the client terminal, wherein

the generating of the first appropriate response related to the first verbal conversation or the second appropriate response related to the second verbal conversation is performed by determining whether a Language System (LS) includes a set of defined phrases or utterances related to the first verbal conversation context of the first verbal conversation or the second verbal conversation context of the second verbal conversation, and

upon determining the LS includes the set of defined phrases or utterances related to the first verbal conversation context of the first verbal conversation or the second verbal conversation context of the second verbal conversation,

amending an existing entity in the LS by updating at least one association and at least one relationship related to the existing entity in the LS,

updating at least one governing rule for the existing entity in the LS, and

terminating a learning process for the existing entity in the LS.

14. The non-transitory computer-readable storage medium according to claim 13 , the method further comprising:

transmitting to the client terminal, via the network, an acknowledgment that the session will end.

15. The non-transitory computer-readable storage medium according to claim 13 , the method further comprising:

storing a text or audio recording of the session to a memory.

16. The non-transitory computer-readable storage medium according to claim 15 , wherein

the recording comprises a plurality of portions, and

the method further comprises separating each of the plurality of portions of the recording based on the first verbal conversation context of the first verbal conversation.

17. The non-transitory computer-readable storage medium according to claim 13 , the method further comprising

upon determining the LS does not include the set of defined phrases or utterances related to the first verbal conversation context of the first verbal conversation or the second verbal conversation context of the second verbal conversation:

defining a first entity in the LS;

defining at least one association and at least one relationship related to the first entity in the LS; and

defining at least one governing rule for the first entity in the LS.

18. The non-transitory computer-readable storage medium according to claim 13 , the method further comprising, upon determining the LS includes the set of defined phrases or utterances related to the first verbal conversation context of the first verbal conversation or the second verbal conversation context of the second verbal conversation, and upon determining the LS does not include a second entity related to the existing entity:

defining the second entity in the LS,

defining at least one association and at least one relationship related to both the existing entity and the second entity in the LS, and

defining at least one governing rule for the second entity in the L.

Assignments (4)
RELEASE (REEL 051780 / FRAME 0369) Recorded Feb 1, 2021
From: JPMORGAN CHASE BANK, N.A.
To: FIRST ADVANTAGE CORPORATION
Reel/Frame 055190/0104 →
SECURITY AGREEMENT Recorded Feb 3, 2020
From: FIRST ADVANTAGE CORPORATION
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 051779/0795 →
SECURITY AGREEMENT Recorded Feb 3, 2020
From: FIRST ADVANTAGE CORPORATION
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 051780/0369 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 15, 2019
From: KUMAR, ARUN N.; MALNATI, STEFANO
To: FIRST ADVANTAGE CORPORATION
Reel/Frame 051017/0958 →
Continuity (2)
Provisional Application 62554236 · Sep 5, 2017
Related Publication 20190074006A1 · Mar 7, 2019