US 11,935,531 B2
Multi-tier rule and AI processing for high-speed conversation scoring and selecting of optimal responses
Isaac Persing, Sierra Vista, AZ (US); Emad Noorizadeh, Plano, TX (US); Ramakrishna R. Yannam, The Colony, TX (US); Sushil Golani, Charlotte, NC (US); Hari Gopalkrishnan, Plainsboro, NJ (US); and Dana Patrice Morrow Branch, Celina, TX (US)
Assigned to Bank of America Corporation, Charlotte, NC (US)
Filed by Bank of America Corporation, Charlotte, NC (US)
Filed on Dec. 1, 2021, as Appl. No. 17/539,262.
Prior Publication US 2023/0169968 A1, Jun. 1, 2023
Int. Cl. G10L 15/22 (2006.01); G10L 15/06 (2013.01); G10L 15/30 (2013.01)
CPC G10L 15/22 (2013.01) [G10L 15/063 (2013.01); G10L 15/30 (2013.01); G10L 2015/223 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A method for providing pre-processing of an utterance prior to feeding utterance-related data to a sequential neural network classifier for conversation sentiment scoring, the utterance being expressed, by a user, to an interactive response system during an interaction between the user and the interactive response system, the method comprising:
a conversation manager receiving a stateless application programming interface (“API”) request including the utterance, previous utterance data and a sequence of labels, each label being associated with a previous utterance expressed by a user during the interaction;
a natural language processor processing the utterance to output an utterance intent, a semantic meaning of the utterance and an utterance parameter, the utterance parameter comprising one or more words included in the utterance and being associated with the utterance intent;
a signal extractor processing the utterance, the utterance intent, the semantic meaning, the utterance parameter, and the previous utterance data to generate one or more utterance signals;
an utterance sentiment classifier:
storing a hierarchy of rules, each rule in the hierarchy being associated with one or more rule signals and a label;
in response to receiving the one or more utterance signals from the signal extractor, iterating through the hierarchy of rules in sequential order to identify a rule in the hierarchy for which the one or more utterance signals are a superset of the rule's one or more rule signals, the iterating ending when the rule is identified;
the sequential neural network classifier:
receiving a data input including the sequence of labels and a label associated with the rule identified by the utterance sentiment classifier, the data input not including the utterance;
processing the data input using a trained algorithm; and
outputting a sentiment score;
the conversation manager:
executing a first routine to identify a first response to the utterance based on one or more of the utterance intent, the sentiment score, the label and the one or more utterance signals;
running a query on the previous utterance data to determine if a previous utterance stored in the previous utterance data is associated with both the first response and a sentiment score below a threshold value;
if the query returns a null value, storing the first response in the stateless API request;
if the query returns a non-null value:
executing a second routine to identify a second response to the utterance based on one or more of the utterance intent, the sentiment score, the label and the one or more utterance signals; and
storing the second response in the stateless API request; and
transmitting the stateless API request including the first response or the second response to the interactive response system; and
the interactive response system receiving the stateless API request and outputting the first response or the second response stored in the API request to the user;
wherein:
the pre-processing of the utterance by the natural language processor, the signal extractor and the utterance sentiment classifier reduces the data input to the label and the sequence of labels, thereby increasing a speed at which the sequential neural network classifier returns the sentiment score and decreasing resources consumed by the sequential neural network classifier when processing the data input.