IP Library Granted Patent US 10,650,812
Granted Patent B2
US 10,650,812 · App. 16/101,734 · Granted May 12, 2020

Deterministic multi-length sliding window protocol for contiguous string entity

Inventors: Viju Kothuvatiparambil (Plano, TX); Maruthi Z. Shanmugam (Plano, TX); Donatus Asumu (Plano, TX)
Assignee: Bank of America Corporation
G10L15/197G06F16/3344G06F16/90344G06F16/9535G06F40/289G10L15/26G10L15/30H04M3/4936H04M3/5166H04M2201/40
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 10,650,812
App. No.
16/101,734
Granted
May 12, 2020
Kind
B2
Abstract

A system for extracting verifiable entities from a user-utterance received on an automated calling service is provided. The system may include a receiver configured to receive a user-utterance, a processor and a non-transitory computer-readable media comprising computer-executable instructions. The processor may be configured to execute the instructions which, canonicalize the user-utterance into a plurality of tokens, determine the number of tokens of the user-utterance, and generate, using a sliding-window protocol, a comprehensive number of n-gram sequences from the user-utterance. The processor may be configured to process a plurality of threads of execution that may include a series of actions executed on the n-gram sequences to identify and extract verified entities from the user-utterance.

Claims (52)

1. A method for extracting verifiable entities from a user-utterance received on an automated calling service, the method comprising:

receiving a user-utterance;

canonicalizing the user-utterance into a plurality of tokens;

determining the number of tokens of the user-utterance;

generating, using a sliding-window protocol, a comprehensive number of n-gram sequences from the user-utterance, the number of n-gram sequences equal to the number of determined tokens, each n-gram sequence including a window-size equal to a value of n in the n-gram sequence;

retrieving a first n-gram from each n-gram sequence;

processing, in parallel, a plurality of threads of execution, one thread of execution, from the plurality of threads of execution, for each n-gram sequence, the processing of the plurality of threads of execution comprising a series of actions on the comprehensive n-gram sequences including:

determining the first n-gram or a subsequent n-gram to be verifiable, said verifiable verifying the n-gram including a noun;

in the event that the first n-gram or the subsequent n-gram is not determined to be verifiable, the method further comprising, retrieving the subsequent n-gram from each n-gram sequence and repeating the series of actions for the subsequent n-gram;

searching, in a database of stored entity-verifiers, for an entity-verifier associated with the verified n-gram;

in the event that an entity-verifier associated with the verified n-gram is not found in the database, the method further comprising, retrieving the subsequent n-gram from each n-gram sequence and repeating the series of actions on the subsequent n-gram;

invoking the entity-verifier on the verified n-gram to determine the n-gram to be a valid entity;

in the event that the n-gram is determined not to be a valid entity, the method further comprising retrieving the subsequent n-gram from each n-gram sequence and repeating the series of actions on the subsequent n-gram; and

transmitting the valid entity to an entity assembler.

2. The method of claim 1 wherein the noun is a pronoun.

3. The method of claim 1 wherein the comprehensive n-gram sequences comprises a unigram sequence, a bigram sequence and a trigram sequence.

4. The method of claim 1 further comprising an n-gram sequence where an n-gram value of the n-gram sequence is equal to the determined number of tokens in the user-utterance.

5. The method of claim 1 wherein the processing in parallel the threads of execution further comprises, processing each n-gram in descending order of n-gram sequences.

6. The method of claim 1 further comprising in response to the determination of an n-gram being a valid entity:

verifying further that additional valid-entities do not exist in the user-utterance; and

upon validation, terminating the processing of the series of actions.

7. The method of claim 1 wherein the determining the n-gram to be verifiable further comprises, determining if the n-gram is linked with a subsequent n-gram as a multiple entity and in response to the determination that the n-gram is linked to the subsequent n-gram, the method further comprises, retrieving the subsequent n-gram from the n-gram sequence and further verifying the n-gram coupled with the subsequent n-gram to be a valid multiple entity.

8. The method of claim 1 wherein the entity-verifier is a verifier for an n-gram including one or more of a date, a denomination and a pronoun.

9. The method of claim 1 wherein the number of determined tokens of the user-utterance is limited to a maximum number of 30 tokens.

10. The method of claim 1 , wherein in response to the entity assembler receiving one or more valid entities, the method further comprises, transmitting the one or more valid entities to a response system for discerning the meaning of the utterance.

11. A system for extracting verifiable entities from a user-utterance received on an automated calling service, the system comprising:

a receiver configured to receive a user-utterance;

a processor;

a non-transitory computer-readable media comprising computer-executable instructions which, when executed by the processor:

canonicalize the user-utterance into a plurality of tokens;

determine the number of tokens of the user-utterance;

generate, using a sliding-window protocol, a comprehensive number of n-gram sequences from the user-utterance, the number of n-gram sequences equal to the number of determined tokens, each n-gram sequence including a window-size equal to a value of n in the n-gram sequence;

retrieve a first n-gram from each n-gram sequence;

process, in parallel, a plurality of threads of execution, one thread of execution from the plurality of threads of execution for each n-gram sequence, the process of the plurality of threads of execution comprises a series of actions on the comprehensive n-gram sequences to:

determine the first n-gram or a subsequent n-gram to be verifiable, said verifiable to verify the n-gram as a noun;

in the event that the first n-gram or the subsequent n-gram is not determined to be verifiable, the processor is configured to retrieve the subsequent n-gram from each n-gram sequence and repeat the series of actions for the subsequent n-gram;

search, in a database of stored entity-verifiers, for an entity-verifier associated with the verified n-gram;

in the event that an entity-verifier associated with the verified n-gram is not found in the database, the processor is configured to retrieve the subsequent n-gram from each n-gram sequence and repeat the series of actions on the subsequent n-gram;

invoke the entity-verifier on the verified n-gram to determine the n-gram to be a valid entity;

in the event that the n-gram is not determined to be a valid entity, the processor is configured to retrieve the subsequent n-gram from each n-gram sequence and repeat the series of actions on the subsequent n-gram; and

transmit the valid entity to an entity assembler.

12. The system of claim 11 wherein the noun is a pronoun.

13. The system of claim 11 wherein the number of determined tokens of the user-utterance is limited to a maximum number of 30 tokens.

14. The system of claim 13 wherein, when the number of determined tokens of the user-utterance exceeds the maximum number, the system further comprises a transceiver configured to transmit a request to a user to repeat and reduce the user-utterance and further configured to receive the repeated user-utterance.

15. The system of claim 11 wherein the comprehensive n-gram sequences comprises a unigram sequence, a bigram sequence and a trigram sequence.

16. The system of claim 11 further comprising an n-gram sequence where an n-gram value of the n-gram sequence is equal to the determined number of tokens in the user-utterance.

17. The system of claim 11 wherein, in response to the determination of an n-gram being a valid entity, the processor is further configured to:

verify further that additional valid-entities do not exist in the user-utterance; and

upon validation, terminate the process of the series of actions.

18. The system of claim 11 wherein, in response to the determination that the n-gram is verifiable, the processor is further configured to determine if the n-gram is linked with a subsequent n-gram as a multiple entity and in response to the determination that the n-gram is linked to the subsequent n-gram, the processor is further configured to retrieve the subsequent n-gram from the n-gram sequence and further verify the n-gram coupled with the subsequent n-gram to be a valid multiple entity.

19. The system of claim 11 wherein the entity-verifier is a verifier for an n-gram, and said entity verifier comprises at least one of a date, a denomination and a pronoun.

20. The system of claim 11 , wherein, in response to the entity assembler receiving one or more valid entities, the system is further configured to transmit the one or more valid entities to a response system for discerning the meaning of the utterance.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 13, 2018
From: SHANMUGAM, MARUTHI; KOTHUVATIPARAMBIL, VIJU; ASUMU, DONATUS
To: BANK OF AMERICA CORPORATION
Reel/Frame 046625/0690 →
Continuity (1)
Related Publication 20200051552A1 · Feb 13, 2020