DETAILED ACTION
Acknowledgement
This final office action is in response to the amendment filed on 04/28/2026.
Status of Claims
Claims 1, 8, and 15 have been amended.
Claims 1-20 are now pending.
Response to Arguments
The 35 U.S.C. 112(a) and 112(b) rejections of claims 1-20 remain due to lack of a written description or support for a physical structure for the AI-enabled agent feature generator and associated components. The recitation of an AI-enable agent feature generator implemented with a processor does not define the structure in which the generators, engines, analyzers, etc. are stored. Typically, processors run and process AI models, but the actual storage of the model files are usually in computer memory. Figs. 1A and 3A shows the AI-Enabled Agent Feature Generator as a stand-alone item. Fig. 7 shows computer hardware components as described in paragraphs [0058]-[0061]. However, the Applicant's drawings nor specifically explicitly recite that the AI-enable agent feature generator is housed or stored in any particular structure. Linking the implementation or operation of generator to the processor is not sufficient.
Applicant's arguments filed on 04/28/2026 regarding the 35 U.S.C. 101 and 103 rejections of claims 1-20 have been fully considered. The Applicant argues the following: (1) As per the 101 rejection, the Applicant argues, in summary, that claim 1 is not directed to an abstract idea, claim 1 concepts are integrated into a practical application, and the claims amount to significantly more.
The Examiner respectfully disagrees. Based on the abstract elements of the claims that are listed in Step 2A(1), the Examiner maintains the position that the claims are directed to the abstract ideas of Mental Processes and Certain Methods of Organizing Human Activity because the claims describe a process of assessing agents historic performance based on analysis of transcripts of historic communication and generating agent features via modeling, which can practically be performed in the human mind via pen, paper, and mathematical computations. These claims also describes a process of analyzing new communication requests to determine intent and identify a matching agents to address the request, which reflects certain method of organizing human activity. Assigning new requests to agents directs and manages the agent’s personal behavior and workload activities and also facilitates interaction between the agent and the requestor/customer. Per MPEP 2106.04(a), a claim recites a judicial exception when the judicial exception is “set forth” or “described” in the claim. The Examiner is not stating
The Examiner also maintains the position that the additional elements recited in the claims and listed in Steps 2A(2) and 2B do not integrate the abstract idea into a practical application nor provide significantly more because the additional elements in combination do not improve the functioning of a computer, improve upon another technology or technical field, nor provide a technical solution to a technical problem. “Utilizing AI and machine learning technologies to obtain historic features and current dynamics of agents and using these data to automatically pair customers with appropriate agents and/or achieve earlier detection of causal reasons related to performance” and improve the misaligned or suboptimal customer-agent pairing reflects the use of computer technology to perform and improve an abstract process. Limitations that recite mere instructions to implement an abstract idea on a computer or merely uses a computer as a tool to perform an abstract idea are not indicative of integration into a practical application (see MPEP 2106.05(f)). An improvement in the abstract idea itself (i.e. customer-agent pairing) is not an improvement in technology (MPEP 2106.05(a)). Therefore, the 35 U.S.C. 101 rejection is maintained.
(2) As per the 103 rejection, the Applicant argues that Kalra does not teach or suggest selecting an agent based on "current dynamics that represent current performance of the candidate agent and satisfaction levels of the customers”, as recited in amended claim 1.
The Examiner respectfully disagrees. The Examiner submits that Kalra teaches the amended claim 1 limitations as shown in the updated claim mapping below. Therefore, the 35 U.S.C. 103 rejection is maintained.
Notice of Pre-AIA or AIA Status
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
Claim Interpretation - 35 USC § 112
The following is a quotation of 35 U.S.C. 112(f):
(f) Element in Claim for a Combination. – An element in a claim for a combination may be expressed as a means or step for performing a specified function without the recital of structure, material, or acts in support thereof, and such claim shall be construed to cover the corresponding structure, material, or acts described in the specification and equivalents thereof.
The claims in this application are given their broadest reasonable interpretation using the plain meaning of the claim language in light of the specification as it would be understood by one of ordinary skill in the art. The broadest reasonable interpretation of a claim element (also commonly referred to as a claim limitation) is limited by the description in the specification when 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, is invoked.
As explained in MPEP § 2181, subsection I, claim limitations that meet the following three-prong test will be interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph:
(A) the claim limitation uses the term “means” or “step” or a term used as a substitute for “means” that is a generic placeholder (also called a nonce term or a non-structural term having no specific structural meaning) for performing the claimed function;
(B) the term “means” or “step” or the generic placeholder is modified by functional language, typically, but not always linked by the transition word “for” (e.g., “means for”) or another linking word or phrase, such as “configured to” or “so that”; and
(C) the term “means” or “step” or the generic placeholder is not modified by sufficient structure, material, or acts for performing the claimed function.
Use of the word “means” (or “step”) in a claim with functional language creates a rebuttable presumption that the claim limitation is to be treated in accordance with 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph. The presumption that the claim limitation is interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, is rebutted when the claim limitation recites sufficient structure, material, or acts to entirely perform the recited function.
Absence of the word “means” (or “step”) in a claim creates a rebuttable presumption that the claim limitation is not to be treated in accordance with 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph. The presumption that the claim limitation is not interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, is rebutted when the claim limitation recites function without reciting sufficient structure, material or acts to entirely perform the recited function.
This application includes one or more claim limitations that do not use the word “means,” but are nonetheless being interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, because the claim limitation(s) uses a generic placeholder that is coupled with functional language without reciting sufficient structure to perform the recited function and the generic placeholder is not preceded by a structural modifier.
Claims 1, 3-8, 10-15, and 17-20 recite “obtaining an assessments from an AI-enabled analytical engine (claims 1, 7, 8, 14, and 15), an artificial intelligence (AI)-enabled agent feature generator…configured for receiving transcripts (claim 15), generating, via a summary engine, a summary (claims 3, 10, and 17), obtaining from a psychometric engine, one or more psychometrics (claims 4,11, and 18), obtaining, from a revenue engine, a plurality of sale relevant features (claims 5, 12, and 19), obtaining, from a performance engine, a plurality of assessment indicators (claims 6,13, and 20) and a customer-agent matching engine…configured for receiving a request…determining an intent…determining current dynamics…identifying a matching agent…and directing the new communication to the matching agent…(claim 15). However, the Applicant’s specification does not define a specific structure for the underlined components. Therefore, these components will be interpreted as “software”.
If applicant does not intend to have these limitation(s) interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, applicant may: (1) amend the claim limitation(s) to avoid them being interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph (e.g., by reciting sufficient structure to perform the claimed function); or (2) present a sufficient showing that the claim limitation(s) recite(s) sufficient structure to perform the claimed function so as to avoid them being interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph.
Claim Rejections - 35 USC § 112
The following is a quotation of the first paragraph of 35 U.S.C. 112(a):
(a) IN GENERAL.—The specification shall contain a written description of the invention, and of the manner and process of making and using it, in such full, clear, concise, and exact terms as to enable any person skilled in the art to which it pertains, or with which it is most nearly connected, to make and use the same, and shall set forth the best mode contemplated by the inventor or joint inventor of carrying out the invention.
Claims 1-20 are rejected under 35 U.S.C. 112(a) or pre-AIA 35 U.S.C. 112, first paragraph, because the claim purports to invoke 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, but the Applicant’s specification fails to provide written support for the structure, material or acts to support the claimed function. Claims 1, 3-8, 10-15, and 17-20 contain subject matter which was not described in the specification in such a way as to reasonably convey to one skilled in the relevant art that the inventor or a joint inventor, or for applications subject to pre-AIA 35 U.S.C. 112, the inventor(s), at the time the application was filed, had possession of the claimed invention. The Applicant’s specification does not disclose the corresponding structure for the AI-enabled analytical engine, artificial intelligence (AI)-enabled agent feature generator, summary engine, psychometric engine, revenue engine, performance engine, and customer-agent matching engine. Therefore, claims 1-20 are rejected under 35 U.S.C. 112(a) for the lack of written description support.
The following is a quotation of 35 U.S.C. 112(b):
(b) CONCLUSION.—The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the inventor or a joint inventor regards as the invention.
Claims 1, 3-8, 10-15, and 17-20 limitations of “obtaining an assessments from an AI-enabled analytical engine (claims 1, 7, 8, 14, and 15), an artificial intelligence (AI)-enabled agent feature generator…configured for receiving transcripts (claim 15), generating, via a summary engine, a summary (claims 3, 10, and 17), obtaining from a psychometric engine, one or more psychometrics (claims 4,11, and 18), obtaining, from a revenue engine, a plurality of sale relevant features (claims 5, 12, and 19), obtaining, from a performance engine, a plurality of assessment indicators (claims 6,13, and 20) and a customer-agent matching engine…configured for receiving a request…determining an intent…determining current dynamics…identifying a matching agent…and directing the new communication to the matching agent…(claim 15)” invoke 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph. However, the written description fails to disclose the corresponding structure, material, or acts for performing the entire claimed function and to clearly link the structure, material, or acts to the function. The Applicant’s specification does not define a specific structure for the AI-enabled analytical engine, artificial intelligence (AI)-enabled agent feature generator, summary engine, psychometric engine, revenue engine, performance engine, and customer-agent matching engine. Therefore, the claims 1-20 are considered indefinite and are rejected under 35 U.S.C. 112(b) or pre-AIA 35 U.S.C. 112, second paragraph.
Claim Rejections - 35 USC § 101
35 U.S.C. 101 reads as follows:
Whoever invents or discovers any new and useful process, machine, manufacture, or composition of matter, or any new and useful improvement thereof, may obtain a patent therefor, subject to the conditions and requirements of this title.
Claims 1-20 are rejected under 35 U.S.C. 101 because the claimed invention, “Method and System for AI-Enabled Characterization of Performance and Applications Thereof”, is directed to an abstract idea, specifically Mental Processes and Certain Methods of Organizing Human Activity, without significantly more. The claims as a whole do not include additional elements that integrate the abstract idea into a practical application or are sufficient to amount to significantly more than the abstract idea because the additional elements individually or in combination provide mere instructions to implement the abstract idea on a computer.
Step 1: Claims 1-20 are directed to a statutory category, namely a process (claims 1-7), a manufacture (claims 8-14), and a machine (claims 15-20).
Step 2A (1): Independent claims 1, 8, and 15 are directed to an abstract idea of Mental Processes and Certain Methods of Organizing Human Activity, based on the following claim limitations: “receiving transcripts of historic communications between a plurality of agents and a plurality of customers; obtaining an assessment… with respect to one or more aspects of historic performance of each of the plurality of agents based on the transcripts of historic communications; generating historic agent features for each of the plurality of agents, via… models trained… based on the assessment; receiving a request relating to a new communication; determining an intent of the new communication; identifying one or more of the plurality of agents as candidate agents according to the intent and the historic agent features of the candidate agents; determining, based on near real-time communications, current dynamics of each of the one or more candidate agents,…, wherein the current dynamics represent current performance of the candidate agent and satisfaction levels of the customers; identifying a matching agent from the candidate agents based on the historic agent features and the current dynamics of the candidate agents; and directing the new communication to the matching agent to carry on the new communication.” These claims describe a process of assessing agents historic performance based on analysis of transcripts of historic communication and generating agent features via modeling, which can practically be performed in the human mind via pen, paper, and mathematical computations. These claims also describes a process of analyzing new communication requests to determine intent and identify a matching agents to address the request, which reflects certain method of organizing human activity. Assigning new requests to agents directs and manages the agent’s personal behavior and workload activities and also facilitates interaction between the agent and the requestor/customer. Dependent claims 2-7, 9-14, and 16-20 further describe the assessment of agent historic performance, determining current dynamics of candidate agents, and the training of models. Training a model can involve fitting a particular mathematical model to a dataset via the adjustment of parameters and/or variables to provide a specific output. Therefore, these limitations, under the broadest reasonable interpretation, fall within the abstract groupings of Mental Processes which include concepts performed in the human mind such as observations, evaluations, judgments, and opinions and Certain Methods of Organizing Human Activity which encompasses managing personal behavior or relationships or interactions between people including social activities, teaching, and following rules or instructions. Mental Processes include claims directed to collecting information, analyzing it, and displaying certain results of the collection and analysis even if they are claimed as being performed on a computer. Certain Methods of Organizing Human Activity can encompass the activity of a single person (e.g. a person following a set of instructions), activity that involve multiple people (e.g. a commercial interaction), and certain activity between a person and a computer (e.g. a method of anonymous loan shopping). Therefore, claims 1-20 are directed to an abstract idea and are not patent eligible.
Step 2A (2): The claims as a whole do not integrate this abstract idea into a practical application. In particular, claims 1, 3-8, 10-15, and 17-20 recite additional elements of “at least one artificial intelligence (AI)-enabled analytical engine, transformer models trained via machine learning (claims 1, 8, and 15); a summary engine (claims 3, 10, and 17); a psychometric engine, transformer (claims 4, 11, and 18); a revenue engine, transformer (claims 5, 12, and 19); a performance engine, transformer (claims 6, 13, and 20); wherein the transformer models are obtained via machine learning based on training data generated via AI-enabled analytical models, one or more AI-enabled analytical engines (claims 7 and 14); a machine-readable and non-transitory medium having information recorded thereon, wherein the information, when read by the machine, causes the machine to perform (claim 8); a system, comprising: an artificial intelligence (AI)-enabled agent feature generator implemented using a processor and configured, a customer-agent matching engine (claim 15)”. These additional elements do not integrate the abstract idea into a practical application because the claims do not recite (a) an improvement to another technology or technical field and (b) an improvement to the functioning of the computer itself and (c) implementing the abstract idea with or by use of a particular machine, (d) effecting a particular transformation or reduction of an article, or (e) applying the judicial exception in some other meaningful way beyond generally linking the use of an abstract idea to a particular technological environment. These additional elements evaluated individually and in combination are viewed as computing devices and mere instructions that are used to perform the abstract process identified in Step 2A(1). The use of machine learning and trained models are considered instructions to apply or implement a model on a computer. Limitations that recite mere instructions to implement an abstract idea on a computer or merely uses a computer as a tool to perform an abstract idea are not indicative of integration into a practical application (see MPEP 2106.05(f)). Limitations that amount to merely indicating a field of use (e.g. call center) or technological environment (e.g. AI/machine learning) in which to apply a judicial exception do not amount to significantly more than the exception itself, and cannot integrate a judicial exception into a practical application (see MPEP 2106.05(h)). Therefore, claims 1-20 as a whole do not include individual or a combination of additional elements that integrate the abstract into a practical application and thus are not patent eligible.
Step 2B: The claims as a whole do not include additional elements that are sufficient to amount to significantly more than the abstract idea. Claims 1, 3-8, 10-15, and 17-20 recite additional elements of “at least one artificial intelligence (AI)-enabled analytical engine, transformer models trained via machine learning (claims 1, 8, and 15); a summary engine (claims 3, 10, and 17); a psychometric engine, transformer (claims 4, 11, and 18); a revenue engine, transformer (claims 5, 12, and 19); a performance engine, transformer (claims 6, 13, and 20); wherein the transformer models are obtained via machine learning based on training data generated via AI-enabled analytical models, one or more AI-enabled analytical engines (claims 7 and 14); a machine-readable and non-transitory medium having information recorded thereon, wherein the information, when read by the machine, causes the machine to perform (claim 8); a system, comprising: an artificial intelligence (AI)-enabled agent feature generator implemented using a processor and configured, a customer-agent matching engine (claim 15)”. These additional elements are viewed as mere instructions to implement an abstract idea on a computer and merely indicates a field of use or technological environment in which to apply a judicial exception. Applying an abstract idea on a computer does not integrate a judicial exception into a practical application or provide an inventive concept (see MPEP 2106.05(f)). Therefore, claims 1-20 as a whole do not include individual or a combination of additional elements that are sufficient to amount to significantly more than the abstract idea and thus are not patent eligible.
Claim Rejections - 35 USC § 103
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
The factual inquiries for establishing a background for determining obviousness under 35 U.S.C. 103 are summarized as follows:
1. Determining the scope and contents of the prior art.
2. Ascertaining the differences between the prior art and the claims at issue.
3. Resolving the level of ordinary skill in the pertinent art.
4. Considering objective evidence present in the application indicating obviousness or nonobviousness.
Claims 1-20 are rejected under 35 U.S.C. 103 as being unpatentable over Kalra et al. (US 2025/0210034 A1) in view of Noor et al. (US 2025/0292262 A1).
As per claims 1, 8, and 15 (Currently Amended), Kalra teaches a method, comprising (Kalra e.g. Embodiments of the present invention are generally directed to systems and methods for optimized routing of customer interactions in a contact center that better meets real-time needs of the contact center, agents, and customers [0047].); Kalra teaches a machine-readable and non-transitory medium having information recorded thereon, wherein the information, when read by the machine, causes the machine to perform the following steps (Kalra e.g. Various embodiments may be computer implemented using many different types of data processing equipment, with embodiments being implemented as an apparatus, method, or computer program product. Example embodiments, thus, may take the form of a hardware embodiment, a software embodiment, or combination thereof [0017]. FIG. 1 illustrates a schematic block diagram of an exemplary computing device 100 in accordance with embodiments of the present invention and/or with which those embodiments may be enabled or practiced [0018].); Kalra teaches a system, comprising: an artificial intelligence (AI)-enabled agent feature generator implemented using a processor and configured for (Kalra e.g. The method continues by performing feature engineering to generate feature data and generating a training dataset therefrom (Abstract). With reference now to FIG. 8, an exemplary flow diagram 800 is shown that illustrates a process for collecting and storing property features or feature data and then using that data to train predictive models via machine learning algorithms [0082]. The process may begin at step 805 where raw data is ingested. During this initial step, for example, raw data is measured and collected from interactions occurring at the contact center and other sources [0082]. At the next step 815, feature engineering is then performed. Feature engineering is the process of extracting features (characteristics, properties, attributes) from raw/processed data so that those features then can be readily used to train AI or machine learning models [0083]. Feature engineering is the process of extracting features (characteristics, properties, attributes) from raw/processed data so that those features then can be readily used to train AI or machine learning models [0083]. FIG. 9 is a schematic representation of a system 900 is shown for generating feature properties or feature data, which may be used to train enhanced predictive routing models [0085].):
Kalra teaches receiving transcripts of historic communications between a plurality of agents and a plurality of customers; (Kalra e.g. The method may include receiving the data associated with the previously conducted interactions [0004]. The received data may further include: audio data that includes audio of a recording of a conversation occurring between a customer and an agent during the first interaction; and transcript data comprising text of the conversation of the first interaction as generated via automatic speech recognition from the audio data of the first interaction [0004]. With reference now to FIG. 10, a method 1000 is shown illustrating an exemplary embodiment of the present invention. The method 1000 is shown for processing data associated with interactions previously conducted by a contact center [0101]. The method 1000 may begin, at step 1005, by receiving data associated with interactions previously conducted by the contact center. The received data may include attribute data describing attributes of the first interaction [0102]. The attribute data may include: interaction data describing one or more interaction attributes of the first interaction; customer data describing one or more customer attributes of a customer of the first interaction; agent data describing one or more agent attributes of an agent of the first interaction; and outcome data describing an outcome of the first interaction [0102].)
Kalra teaches obtaining an assessment from at least one artificial intelligence (AI)-enabled analytical engine with respect to one or more aspects of historic performance of each of the plurality of agents based on the transcripts of historic communications; (Kalra e.g. The method may continue by performing speech analytics in relation to the received audio data of the interactions. The speech analytics may include processing the audio data of the first interaction to determine one or more scores associated with one or more speech metrics [0004]. The one or more speech metrics may include a measure of an extent to which the agent or customer speaks during the conversation of the first interaction [0004]. The method may continue by performing sentiment analysis in relation to the transcript data of the interactions [0004]. When described in relation to the transcript data of the first interaction, the sentiment analysis may include processing the transcript data of the first interaction to determine one or more scores associated with one or more sentiment metrics [0004]. At step 1010, the method 1000 continues by performing speech analytics in relation to the received audio data of the interactions. The speech analytics may include processing the audio data of the first interaction to determine one or more scores associated with one or more speech metrics. The one or more speech metrics may include a measure of the extent to which the agent or customer speaks during the conversation of the first interaction [0103]. At step 1015, the method 1000 continues by performing sentiment analysis in relation to the transcript data of the interactions. When described in relation to the transcript data of the first interaction, the sentiment analysis may include processing the transcript data of the first interaction to determine one or more scores associated with one or more sentiment metrics. The one or more sentiment metrics at least includes a measure of a sentiment based on classifying utterances appearing in the transcript data of the first interaction as being positive or negative [0104].)
Kalra teaches generating historic agent features for each of the plurality of agents, via a transformer model trained via machine learning based on the assessment; (Kalra e.g. At step 1020, the method 1000 continues by performing feature engineering to generate feature data associated with the interactions. The generated feature data may include: attribute features derived from attributes data; speech analytics features derived from the determined one or more scores of the one or more speech metrics; and sentiment analysis features derived from the determined one or more scores of the one or more sentiment metrics [0105]. At step 1025, the method 1000 continues by generating a training data set from the feature data. The training dataset may include attribute features, speech analytics features, and sentiment analysis features [0106]. Sentiment analysis may be done using a pretrained classifier that classifies each utterance as one of: negative/positive/neutral. The pretrained classifier may be finetuned for the specific classification task, which in this case is classifying an utterance as one having a negative, positive, or neutral sentiment. For example, this training may be done using supervised (manually annotated) data. As an example, a ROBERTa model could be used as the pretrained classifier. The ROBERTa model is a neural network that uses the known transformer architecture with attention heads. As another example, a neural network known as XLMR may be used as a pretrained classifier [0098]. At step 1030, the method 1000 continues by applying a machine learning algorithm to the training dataset to train a predictive routing model based on patterns identified within the training dataset that correlate agent-customer pairings with a performance measure of contact center. The performance measure, e.g., a KPI, may be based or derived, at least in part, on the outcomes described by the outcome data [0107].)
Kalra teaches receiving a request relating to a new communication; (Kalra e.g. With reference now to FIG. 7, a method 700 is shown by which this type of predictive routing may be performed. At step 705, the method 700 begins by identifying an incoming interaction to be routed [0080].)
Kalra teaches determining an intent of the new communication; (Kalra e.g. With specific reference to FIG. 4, a system 400 is shown in which customer data is used to facilitate routing decisions that are personalized to individual customers [0052]. The initial interaction data 465 may include data disclosing at least an intent of the incoming interaction and the contact center 200 for which the interaction is intended [0059]. Using this information, the incoming interaction may be classified as being a particular type of interaction. For example, a type of interaction may be defined by a particular type of intent or subject matter [0059]. Within this step 705, interaction data regarding the incoming interaction may be gathered, such as interaction type, intent, customer data, etc. [0080].)
Kalra teaches identifying one or more of the plurality of agents as candidate agents according to the intent and the historic agent features of the candidate agents; (Kalra e.g. The agents at a contact center may assist customers in making purchasing decisions, receiving orders, or solving problems with products or services already received. Within a contact center, such interactions between agents and customers may be conducted over a variety of communication channels, such as, for example, via voice (e.g., telephone calls or voice over IP or VoIP calls), video (e.g., video conferencing), text (e.g., emails and text chat), screen sharing, co-browsing, or the like [0024]. At a next step 710, the method 700 continues by identifying a group of agents based on one or more constraints for generating candidate agents. Constraints, for example, may include availability and ability to handle the incoming interaction. At step 715, the process 700 includes gathering data regarding the candidate agents [0080]. The storage device 220 may store agent data in an agent database 223. Agent data maintained by the contact center 200 may include agent availability and agent profiles, schedules, skills, average handle time, etc. [0033]. The agent database 435 may include agent profiles 440 corresponding to the available agents 445. Such agent profiles may include agent experience, training, personality type, performance characteristics, etc. [0058]. Once this is gathered, at step 720, an expected KPI value is estimated for each of the candidate agents. More specifically, this may be done by inputting the data gathered regarding the incoming interaction and the candidate agents into the predictive routing model that is trained on historical data to provide an output that is the expected KPI value [0080]. As will be appreciated, the expected KPI value is a prediction based on correlations found in the historical data as to the KPI value if the incoming interaction is routed to a particular agent [0080].)
Kalra teaches determining, based on near real-time communications, current dynamics of each of the one or more candidate agents via the transformer models, wherein the current dynamics represent current performance of the candidate agent and satisfaction levels of the customers; (Kalra e.g. Candidate agents are two or more agents of the contact center that are available and/or otherwise qualified to handle the incoming interaction [0072]. In exemplary embodiments, the candidate agents may be identified by the contact center 200 after a prompt is provided. The prompt may include information that is necessary for the contact center 200 to identify the candidate agents, such as, the intent of the incoming interaction [0072]. A predictive routing model 630 may rank available agents 635 based on an ability to best handle a given interaction, which may be based on information gathered on the interaction, i.e., interaction properties, such as customer, intent, etc. [0079]. The agent database 435 may include agent profiles 440 corresponding to the available agents 445. Such agent profiles may include agent experience, training, personality type, performance characteristics, etc. [0058]. The agent ranking 635 may be based on a score that is generated using a predictive routing model 630. The predictive routing model may be AI-based model that is configured to predict a score indicative as to how particular agents will perform in relation to a given interaction based on historical data (i.e. agent performance) [0079]. At a next step 710, the method 700 continues by identifying a group of agents based on one or more constraints for generating candidate agents. Constraints, for example, may include availability and ability to handle the incoming interaction [0080]. The trained model may be activated so that it is used to make realtime predictions in regard to incoming interactions. For example, a predictive routing model may be asked to calculate expected KPI values for respective candidate agents for selecting an agent to which to route an incoming interaction [0084]. Predictive routing may be used to leverage historical data to build models that score agents according to their suitability for optimizing a given key performance indicator (KPI) in a given interaction. The particular KPI of relevance may vary depending on the particular embodiment. For example, in other embodiments, the KPI being optimized may be customer satisfaction (CSAT), next contact avoidance (NCA), number of transfers, net promoter score (NPS), case resolution time (CRT), sales conversion, sales revenue, average wait time (A W T), first call resolution (FCR), and/or any other KPI. Predictive routing may push calls towards those agents most likely to achieve a positive KPI outcome [0081].The predictive routing model may be based on patterns identified within the training dataset via the machine learning algorithm whereby agent-customer pairings are correlated with a contact center performance measure, such as a selected KPI [0100]. Such a performance measure, or KPI, may be one that is derived, in whole or in part, from outcome data that is recorded in relation to past interactions, with such outcome data describing or classifying an outcome achieved by each of the interactions. Such outcome data may include, for example, customer satisfaction data, sales data, handle time, as well as any others listed herein [0100].)
Kalra teaches identifying a matching agent from the candidate agents based on the historic agent features and the current dynamics of the candidate agents; and (Kalra e.g. Such systems and methods can improve routing of interactions by using algorithms that leverage data about customers, interactions, and agents to make favorable matches between agents and customers or agents and interactions [0051]. With specific reference to FIG. 4, a system 400 is shown in which customer data is used to facilitate routing decisions that are personalized to individual customers. Contact centers often employ this type of intelligent or predictive routing in order to match incoming interactions from customers with available agents in order to better satisfy customers and/or further some business goal. Predictive routing can use particular ranking algorithms that uses certain techniques, such as machine learning, to build a model for optimal customer-agent pairing. As will be seen, there are multiple factors by which such pairing can be evaluated, such as, for example, knowledge and experience level of the agent, agent skill set, type of interaction, customer characteristics and preferences [0052]. At step 725, the method 700 continues by selecting, based on the estimates, a particular agent of the candidate agents that has the highest expected value from among the candidate agents [0080]. In this way, predictive routing may be used to leverage historical data to build models that score agents according to their suitability for optimizing a given key performance indicator (KPI) in a given interaction [0081].)
Kalra teaches directing the new communication to the matching agent to carry on the new communication. (Kalra e.g. The routing engine 475 generates (3) a routing recommendation 475 that is implemented via connecting the customer with a selected one of the agents. In making this recommendation, the routing engine 450 may take into account agent data 485 that is provided to the routing engine 450 via the agent database 435 [0058]. At step 730, the method 700 may end by signaling a routing device to route the incoming interaction to the selected agent [0080].)
While Kalra teaches multiple machine learning models and one type of transformer model (Kalra e.g. The analytics module 250 also may generate, update, train, and modify predictive models (or simply “models”) 252 based on collected data, such as, for example, customer data, agent data, and interaction data. The models 252 may include behavior models of customers or agents that predict behavior in a variety of situations, thereby allowing interactions to be personalized and resources better allocated so to improve both contact center performance and customer experience [0044]. The analytic module 250 may be configured to retrieve data stored within the storage device 220 for use in developing and training algorithms and models 252, for example, by applying machine learning algorithms [0045]. One or more of the included models 252 may be configured to predict customer or agent behavior and/or aspects related to contact center operation and performance. Further, one or more of the models 252 may be used in natural language processing and, for example, include intent recognition and the like. Given the foregoing requirements, a machine learning or neural network-based approach is presently a preferred embodiment for implementing the models 252. Neural networks, for example, may be developed based upon empirical data using advanced regression algorithms [0046]. The sentiment analysis module 920 may include a trained sentiment model that scores statements or utterances made in the customer-agent conversation according to sentiment [0097]. Sentiment analysis may be done using a pretrained classifier that classifies each utterance as one of: negative/positive/neutral. The pretrained classifier may be finetuned for the specific classification task, which in this case is classifying an utterance as one having a negative, positive, or neutral sentiment. For example, this training may be done using supervised (manually annotated) data. As an example, a ROBERTa model could be used as the pretrained classifier. The ROBERTa model is a neural network that uses the known transformer architecture with attention heads. As another example, a neural network known as XLMR may be used as a pretrained classifier [0098].)
Kalra does not explicitly teach, transformer models.
However, Noor teaches a transformer model (Noor e.g. In recent years, there has been interest in a type of neural network architecture, referred to as a transformer, for use as language models. For example, the Bidirectional Encoder Representations from Transformers (BERT) model, the Transformer-XL model, and the Generative Pre-trained Transformer (GPT) models are types of transformers. A transformer is a type of neural network architecture that uses self-attention mechanisms in order to generate predicted output based on input data that has some sequential meaning (i.e., the order of the input data is meaningful, which is the case for most text input) [0063]. FIG. 1 is a block diagram of an example transformer 112. A transformer is a type of neural network architecture that uses self-attention mechanisms to generate predicted output based on input data that has some sequential meaning (i.e., the order of the input data is meaningful, which is the case for most text input) [0064]. The transformer 112 includes an encoder 108 (which can comprise one or more encoder layers/blocks connected in series) and a decoder 110 (which can comprise one or more decoder layers/blocks connected in series) [0065]. The transformer 112 can be trained to perform certain functions on a natural language input. For example, the functions include summarizing existing content, brainstorming ideas, writing a rough draft, fixing spelling and grammar, and translating content [0066].)
The Examiner submits that before the effective filing date, it would have been obvious to one of ordinary skill in the art to combine Kalra’s method and system of processing interaction data using machine learning models for predictive routing with Noor’s method and system of processing previous support encounter with transformers in order to derive intent and provide guidance to a support agent during an encounter with a customer to help in resolving or mitigating the customer’s issue (Noor e.g. [0080] and [0085]).
As per claims 2, 9, and 16 (Original), Kalra in view of Noor teach the method of claim 1, the medium of claim 8, and the system of claim 15, Kalra teaches wherein the one or more aspects of historic performance of an agent include at least one of: problem-solving proficiency of the agent revealed in the historic communications; behavioral skill of the agent exhibited in the historic communications; and sale quotient relating to the agent’s ability of making sales in the historic communications (Kalra e.g. The storage device 220 may store agent data in an agent database 223. Agent data maintained by the contact center 200 may include agent availability and agent profiles, schedules, skills, average handle time, etc. [0033]. The agent database 435 may include agent profiles 440 corresponding to the available agents 445. Such agent profiles may include agent experience, training, personality type, performance characteristics, etc. [0058].)
As per claims 3, 10, and 17 (Original), Kalra in view of Noor teach the method of claim 2, the medium of claim 9, and the system of claim 16, wherein the obtaining assessment with respect to the problem-solving proficiency aspect of agent performance comprises (Kalra e.g. Contact centers traditionally employ skill-based routing for routing customer interactions. In traditional skill-based routing, the skill of an agent is one of the primary factors considered for determining whether the agent is equipped to deal with a particular interaction. The skill may relate to an agent's language proficiency, sales skill, certification, and the like [0003]. Predictive routing may be used to leverage historical data to build models that score agents according to their suitability for optimizing a given key performance indicator (KPI) in a given interaction [0081].):
Kalra teaches analyzing transcripts of historic communications to determine textual features of transcripts, generate intent associated with each of the plurality of agents, create agent success features, and obtain features for each of the plurality of agents to represent problem-solving proficiency of the agent (Kalra e.g. The method continues by performing feature engineering to generate feature data and generating a training dataset therefrom (Abstract). The method may continue by performing feature engineering to generate feature data associated with the interactions, the generated feature data including: attribute features derived from attributes data; speech analytics features derived from the determined scores of the one or more speech metrics; and sentiment analysis features derived from the determined scores of the one or more sentiment metrics [0004].The method may include receiving the data associated with the previously conducted interactions [0004]. The received data may further include: audio data that includes audio of a recording of a conversation occurring between a customer and an agent during the first interaction; and transcript data comprising text of the conversation of the first interaction as generated via automatic speech recognition from the audio data of the first interaction [0004]. The initial interaction data 465 may include data disclosing at least an intent of the incoming interaction and the contact center 200 for which the interaction is intended [0059]. Using this information, the incoming interaction may be classified as being a particular type of interaction. For example, a type of interaction may be defined by a particular type of intent or subject matter [0059]. Feature engineering is the process of extracting features (characteristics, properties, attributes) from raw/processed data so that those features then can be readily used to train AI or machine learning models [0083]. Once extracted, the features may be stored in what will be referred to as a feature store 820. As will be appreciated, the feature store 820 is a data repository where features are collected and organized for the explicit purpose of being used to either train models or make predictions by applications that have a trained model [0083]. With specific reference to FIG. 9, the system 900 illustrates an embodiment of the present invention that can be used to derive certain types of customer and agent features from speech and text for enhancing models used for predictive routing [0090]. As stated, the system 900 may include a historical interaction database 905. The historical interaction database 905 may be a data repository configured for storing interaction data collected from past interactions, for example, voice calls, emails, chats, messages, texts, etc. Such interaction data may be derived from interactions that were previously handled by the contact center [0090]. This collection of interaction data may be used to create feature data related to agents, customers, and interactions [0090]. Features associated with outcomes achieved during these interactions are also included for storage within the feature store 910. Thus, positive and negative outcomes associated with the interactions—for example, whether the issue was resolved, overall handle time, call transfers, whether a sale was made, customer reviews, etc.—can be included as feature properties with the feature store 910 [0100]. These feature properties derived from the speech analytics module 915 and sentiment analysis module 920 are then used (in conjunction with other features derived from attributes data derived from past interactions) to train the predictive routing model 925, for example, via a machine learning algorithm [0100]. The generated feature data may include: attribute features derived from attributes data; speech analytics features derived from the determined one or more scores of the one or more speech metrics; and sentiment analysis features derived from the determined one or more scores of the one or more sentiment metrics [0105]. More specifically, the predictive routing model may be a machine learning model or deep learning model based on neural network structure. In such cases, the predictive routing model may be trained on a large number of aggregate feature properties of both customers and agents [0079]. Such features may be derived from historical interactions handled by the contact center and then stored in a feature store 640 [0079]. The training of the predictive routing model 630 may be altered to optimize a variety of contact center KPIs, with the score used to rank the agents indicating how well the candidate agents will perform in relation to one of the KPIs. Such KPIs, for example, may be average handle time of the call, sales revenue, etc. As will be appreciated, predictive routing can promote efficient operations, reduce costs, and promote optimal agent behaviors [0079]. An expected KPI value is estimated for each of the candidate agents. More specifically, this may be done by inputting the data gathered regarding the incoming interaction and the candidate agents into the predictive routing model that is trained on historical data to provide an output that is the expected KPI value [0080]. As will be appreciated, the expected KPI value is a prediction based on correlations found in the historical data as to the KPI value if the incoming interaction is routed to a particular agent [0080].Predictive routing may be used to leverage historical data to build models that score agents according to their suitability for optimizing a given key performance indicator (KPI) in a given interaction [0081]. Thus, for example, if a contact center administrator wants to optimize for average handle time (AHT), the predictive routing model may be trained to assign a high score for those agents who are likely to produce a low final handle time. The particular KPI of relevance may vary depending on the particular embodiment [0081].)
Kalra does not explicitly teach, generating a summary of transcripts, determining textual features of each summary, generate intent embeddings, and create success vectors. However, Noor teaches the following:
Noor teaches generating, via a summary engine, a summary for each of the transcripts of the historic communications; (Noor e.g. A method can include generating, using a first large language model, summaries of previous support encounters (Abstract). In some implementations, a machine learning model (e.g., a large language model (LLM)) can be used to summarize past interactions [0026]. For example, an LLM can be used to summarize past chats, emails, calls (e.g., using transcriptions of calls), in-person support encounters (e.g., when a customer seeks support at a physical store), and so forth [0026]. In recent years, there has been interest in a type of neural network architecture, referred to as a transformer, for use as language models [0063]. The transformer 112 can be trained to perform certain functions on a natural language input. For example, the functions include summarizing existing content, brainstorming ideas, writing a rough draft, fixing spelling and grammar, and translating content [0066]. FIG. 2 is a flowchart of an example method for summarizing customer encounter data according to some implementations [0078]. At operation 210, the computing system can collect customer encounter data. The customer encounter data can be data from one or more channels. For example, the customer encounter data can be, for example, call recording transcripts, in-store customer service summaries, text-based support transcripts, or any combination thereof, or any other customer support interaction data [0079].)
Noor teaches determining textual features of each summary generated by the summary engine; (Noor e.g. In some implementations, an LLM or other model can be used to extract information from the textual input, which can be used to gauge usefulness [0046]. Summarizing can include extracting key points from an existing content in a high-level summary [0066]. The transformer 112 can be trained on a text corpus that is labeled (e.g., annotated to indicate verbs, nouns, and so forth) or unlabeled [0067]. FIG. 1 illustrates an example of how the transformer 112 can process textual input data. Input to a language model (whether transformer-based or otherwise) typically is in the form of natural language that can be parsed into tokens [0067]. In some implementations, the summarizing can be performed based on the totality of a support encounter. For example, the call summary can be based on both what the customer said (e.g., via voice or text) and what the support agent said (e.g., via voice or text). In some implementations, summaries can be based on only inputs from the customer or only inputs from the support agent [0080].)
Noor teaches generating intent embeddings associated with each intent involving each of the plurality of customers/agents; (Noor e.g. A method can include determining a customer intent indicative of an issue experienced by the customer (Abstract). In some embodiments, call intent can be determined based on prior support summaries as described herein [0024]. In some cases, call intent can be determined based on factors such as, for example, the release of a software update for a smartphone, the release of new phone hardware, the release of a configuration update for a smartphone, and so forth. In some implementations, information about a customer's hardware, software, and so forth can be used to determine call intent, determine appropriate support documents, route the call to an appropriate support agent, and so forth [0029]. FIG. 3 is a flowchart of an example method for routing a customer support interaction based on customer intent. The process of FIG. 3 can be carried out on a computing system [0080]. At operation 320, the computing system can, based on the summarized previous interactions, determine the customer intent. Summaries can be generated as described herein, for example using a large language model [0081]. The transformer 112 can be trained to perform certain functions on a natural language input. For example, the functions include summarizing existing content, brainstorming ideas, writing a rough draft, fixing spelling and grammar, and translating content [0066]. FIG. 1 illustrates an example of how the transformer 112 can process textual input data. Input to a language model (whether transformer-based or otherwise) typically is in the form of natural language that can be parsed into tokens [0067]. Tokenization, in the context of language models and NLP, refers to the process of parsing textual input (e.g., a character, a word, a phrase, a sentence, a paragraph) into a sequence of shorter segments that are converted to numerical representations referred to as tokens (or “compute tokens”) [0067]. Typically, a token can be an integer that corresponds to the index of a text segment (e.g., a word) in a vocabulary dataset [0067]. In FIG. 1, a short sequence of tokens 102 corresponding to the input text is illustrated as input to the transformer 112 [0069]. Each token 102 in the token sequence is converted into an embedding vector 106 (also referred to simply as an embedding 106) [0069]. An embedding 106 is a learned numerical representation (such as, for example, a vector) of a token that captures some semantic meaning of the text segment represented by the token 102. The embedding 106 represents the text segment corresponding to the token 102 in a way such that embeddings corresponding to semantically related text are closer to each other in a vector space than embeddings corresponding to semantically unrelated text [0069].)
Noor teaches creating…feature vectors…; and (Noor e.g. Each token 102 in the token sequence is converted into an embedding vector 106 (also referred to simply as an embedding 106) [0069]. The generated embeddings 106 are input into the encoder 108. The encoder 108 serves to encode the embeddings 106 into feature vectors 114 that represent the latent features of the embeddings 106 [0071]. The feature vectors 114 can have very high dimensionality (e.g., on the order of thousands or tens of thousands), with each element in a feature vector 114 corresponding to a respective feature [0071]. Conceptually, the decoder 110 is designed to map the features represented by the feature vectors 114 into meaningful output, which can depend on the task that was assigned to the transformer 112 [0072].)
Noor teaches obtaining embeddings for each of the textual features …. (Noor e.g. The transformer 112 includes an encoder 108 (which can comprise one or more encoder layers/blocks connected in series) and a decoder 110 (which can comprise one or more decoder layers/blocks connected in series) [0065]. The generated embeddings 106 are input into the encoder 108. The encoder 108 serves to encode the embeddings 106 into feature vectors 114 that represent the latent features of the embeddings 106. The encoder 108 can encode positional information (i.e., information about the sequence of the input) in the feature vectors 114 [0071]. The feature vectors 114 can have very high dimensionality (e.g., on the order of thousands or tens of thousands), with each element in a feature vector 114 corresponding to a respective feature [0071]. Conceptually, the decoder 110 is designed to map the features represented by the feature vectors 114 into meaningful output, which can depend on the task that was assigned to the transformer 112 [0072].)
The Examiner submits that before the effective filing date, it would have been obvious to one of ordinary skill in the art to combine Kalra’s method and system of processing transcript data for predictive routing with Noor’s transcript summarization and embedding techniques in order to provide guidance to a support agent during an encounter with a customer to help in resolving or mitigating the customer’s issue (Noor e.g. [0085]).
As per claims 4, 11, and 18 (Original), Kalra in view of Noor teach the method of claim 2, the medium of claim 9, and the system of claim 16, wherein the obtaining assessment with respect to the behavioral skill aspect of agent performance comprises: (Kalra e.g. The analytics module 250 is generally configured to perform analytics on data received from a plurality of different data sources as functionality described herein requires [0044]. The analytics module 250 may have access to the data stored in the storage device 220, including the customer database 222 and agent database 223 [0045].)
Kalra teaches obtaining, from a psychometric engine, one or more psychometrics based on each of the transcripts of the historic communications; (Kalra e.g. For voice interactions, sentiment analysis may be performed on a transcript that is generated from the audio via automatic speech recognition [0087]. With this information, for example, a customer's feelings can be assessed towards products, brands, services, and/or an agent's competency [0087]. In regard to sentiment analysis, as depicted in FIG. 9, the sentiment analysis module 920 may receive voice transcripts and/or email and chat transcripts from the historical interaction database 905 [0097].)
Kalra teaches deriving, via transformer models based on the one or more psychometrics, assessment features relating to the behavioral skill aspect exhibited in each of the historic communications involving each of the plurality of agents; and (Kalra e.g. The method may include receiving the data associated with the previously conducted interactions [0004]. The received data may further include: audio data that includes audio of a recording of a conversation occurring between a customer and an agent during the first interaction; and transcript data comprising text of the conversation of the first interaction as generated via automatic speech recognition from the audio data of the first interaction [0004].The method may continue by performing feature engineering to generate feature data associated with the interactions, the generated feature data including: attribute features derived from attributes data; speech analytics features derived from the determined scores of the one or more speech metrics; and sentiment analysis features derived from the determined scores of the one or more sentiment metrics [0004]. The method may continue by generating a training data set from the feature data, the training dataset including attribute features, speech analytics features, and sentiment analysis features [0004]. Turning now to FIG. 9, a schematic representation of a system 900 is shown for generating feature properties or feature data, which may be used to train enhanced predictive routing models [0085]. The system 900 may include an historical interaction database 905, a feature store 910, a speech analytics module 915, a sentiment analysis module 920, and a predictive routing model 925 [0085]. In regard to sentiment analysis, this is the process of understanding a customer's or agent's experience during an interaction based on the positivity or negativity of the language each uses in the interaction [0087]. With this information, for example, a customer's feelings can be assessed towards products, brands, services, and/or an agent's competency [0087]. Sentiment analysis may then be performed on the transcribed text. As will be understood, sentiment analysis is an analytic process whereby text is analyzed to determine if the emotional tone of the message is positive, negative, or neutral [0097]. The sentiment analysis module 920 may include a trained sentiment model that scores statements or utterances made in the customer-agent conversation according to sentiment [0097]. Sentiment analysis may be done using a pretrained classifier that classifies each utterance as one of: negative/positive/neutral.The pretrained classifier may be finetuned for the specific classification task, which in this case is classifying an utterance as one having a negative, positive, or neutral sentiment. For example, this training may be done using supervised (manually annotated) data. As an example, a ROBERTa model could be used as the pretrained classifier. The ROBERTa model is a neural network that uses the known transformer architecture with attention heads. As another example, a neural network known as XLMR may be used as a pretrained classifier [0098]. The one or more sentiment metrics at least includes a measure of a sentiment based on classifying utterances appearing in the transcript data of the first interaction as being positive or negative [0104].)
Karla teaches obtaining data for each of the plurality of agents based on the assessment features to represent the behavioral skills of the agent (Kalra e.g. The agents at a contact center may assist customers in making purchasing decisions, receiving orders, or solving problems with products or services already received. Within a contact center, such interactions between agents and customers may be conducted over a variety of communication channels, such as, for example, via voice (e.g., telephone calls or voice over IP or VoIP calls), video (e.g., video conferencing), text (e.g., emails and text chat), screen sharing, co-browsing, or the like [0024]. The storage device 220 may store agent data in an agent database 223. Agent data maintained by the contact center 200 may include agent availability and agent profiles, schedules, skills, average handle time, etc. [0033]. The agent database 435 may include agent profiles 440 corresponding to the available agents 445. Such agent profiles may include agent experience, training, personality type, performance characteristics, etc. [0058]. With specific reference to FIG. 4, a system 400 is shown in which customer data is used to facilitate routing decisions that are personalized to individual customers. Contact centers often employ this type of intelligent or predictive routing in order to match incoming interactions from customers with available agents in order to better satisfy customers and/or further some business goal. Predictive routing can use particular ranking algorithms that uses certain techniques, such as machine learning, to build a model for optimal customer-agent pairing. As will be seen, there are multiple factors by which such pairing can be evaluated, such as, for example, knowledge and experience level of the agent, agent skill set, type of interaction, customer characteristics and preferences [0052]. Predictive routing can use particular ranking algorithms that uses certain techniques, such as machine learning, to build a model for optimal customer-agent pairing. As will be seen, there are multiple factors by which such pairing can be evaluated, such as, for example, knowledge and experience level of the agent, agent skill set, type of interaction, customer characteristics and preferences [0052]. The routing engine 450 may take into account agent data 485 that is provided to the routing engine 450 via the agent database 435. The agent database 435 may include agent profiles 440 corresponding to the available agents 445. Such agent profiles may include agent experience, training, personality type, performance characteristics, etc. [0058]. A predictive routing model 630 may rank available agents 635 based on an ability to best handle a given interaction, which may be based on information gathered on the interaction, i.e., interaction properties, such as customer, intent, etc. [0079]. The training of the predictive routing model 630 may be altered to optimize a variety of contact center KPIs, with the score used to rank the agents indicating how well the candidate agents will perform in relation to one of the KPIs. Such KPIs, for example, may be average handle time of the call, sales revenue, etc. As will be appreciated, predictive routing can promote efficient operations, reduce costs, and promote optimal agent behaviors [0079].)
Kalra does not explicitly teach obtaining embeddings for each of the plurality of agents based on the assessment features to represent the behavioral skills of the agent.
However, Noor teaches representing data as embeddings (Noor e.g. FIG. 1 illustrates an example of how the transformer 112 can process textual input data. Input to a language model (whether transformer-based or otherwise) typically is in the form of natural language that can be parsed into tokens [0067]. Tokenization, in the context of language models and NLP, refers to the process of parsing textual input (e.g., a character, a word, a phrase, a sentence, a paragraph) into a sequence of shorter segments that are converted to numerical representations referred to as tokens (or “compute tokens”) [0067]. Typically, a token can be an integer that corresponds to the index of a text segment (e.g., a word) in a vocabulary dataset [0067]. In FIG. 1, a short sequence of tokens 102 corresponding to the input text is illustrated as input to the transformer 112 [0069]. Each token 102 in the token sequence is converted into an embedding vector 106 (also referred to simply as an embedding 106) [0069]. An embedding 106 is a learned numerical representation (such as, for example, a vector) of a token that captures some semantic meaning of the text segment represented by the token 102. The embedding 106 represents the text segment corresponding to the token 102 in a way such that embeddings corresponding to semantically related text are closer to each other in a vector space than embeddings corresponding to semantically unrelated text [0069]. FIG. 1 is a block diagram of an example transformer 112. A transformer is a type of neural network architecture that uses self-attention mechanisms to generate predicted output based on input data that has some sequential meaning (i.e., the order of the input data is meaningful, which is the case for most text input) [0064]. The transformer 112 includes an encoder 108 (which can comprise one or more encoder layers/blocks connected in series) and a decoder 110 (which can comprise one or more decoder layers/blocks connected in series) [0065]. The generated embeddings 106 are input into the encoder 108. The encoder 108 serves to encode the embeddings 106 into feature vectors 114 that represent the latent features of the embeddings 106. The encoder 108 can encode positional information (i.e., information about the sequence of the input) in the feature vectors 114 [0071]. The feature vectors 114 can have very high dimensionality (e.g., on the order of thousands or tens of thousands), with each element in a feature vector 114 corresponding to a respective feature [0071]. Conceptually, the decoder 110 is designed to map the features represented by the feature vectors 114 into meaningful output, which can depend on the task that was assigned to the transformer 112 [0072].)
The Examiner submits that before the effective filing date, it would have been obvious to one of ordinary skill in the art to modify Kalra’s method and system of processing transcript data for predictive routing to include representing model data as embeddings as taught by Noor in order to improve the accuracy of model outputs (Noor e.g. [0055]).
As per claims 5, 12, and 19 (Original), Kalra in view of Noor teach the method of claim 2, the medium of claim 9, and the system of claim 16, wherein the obtaining assessment with respect to the sales quotient of agent performance comprises:
Kalra teaches obtaining, from a revenue engine, a plurality of sale relevant features based on each of the transcripts of the historic communications; (Kalra e.g. As stated, the system 900 may include a historical interaction database 905. The historical interaction database 905 may be a data repository configured for storing interaction data collected from past interactions, for example, voice calls, emails, chats, messages, texts, etc. Such interaction data may be derived from interactions that were previously handled by the contact center [0090]. This collection of interaction data may be used to create feature data related to agents, customers, and interactions [0090]. Features associated with outcomes achieved during these interactions are also included for storage within the feature store 910. Thus, positive and negative outcomes associated with the interactions—for example, whether the issue was resolved, overall handle time, call transfers, whether a sale was made, customer reviews, etc.—can be included as feature properties with the feature store 910 [0100].)
Kalra teaches deriving,…models based on the plurality of sale relevant features, data for each of the plurality of agents based on the plurality of sale relevant features to represent the sales quotient of the agent. (Kalra e.g. The speech analytics module 915 may separately analyze each of the customer and agent recordings and determine several characteristics or attributes. These attributes may include identifying periods when the agent is speaking, periods when the customer is speaking, periods when the agent is silent, and/or periods when the customer is silent [0092]. Features associated with outcomes achieved during these interactions are also included for storage within the feature store 910. Thus, positive and negative outcomes associated with the interactions—for example, whether the issue was resolved, overall handle time, call transfers, whether a sale was made, customer reviews, etc.—can be included as feature properties with the feature store 910 [0100]. These feature properties derived from the speech analytics module 915 and sentiment analysis module 920 are then used (in conjunction with other features derived from attributes data derived from past interactions) to train the predictive routing model 925, for example, via a machine learning algorithm [0100]. The predictive routing model 925 may be trained in relation to a particular KPI that is selected by a supervisor of the contact center. For example, the feature properties can help improve the capability of the predictive routing model 925 to optimize average time taken by agents to handle a call, to improve a percentage of sales made per interaction, etc. [0100]. Such a performance measure, or KPI, may be one that is derived, in whole or in part, from outcome data that is recorded in relation to past interactions, with such outcome data describing or classifying an outcome achieved by each of the interactions. Such outcome data may include, for example, customer satisfaction data, sales data, handle time, as well as any others listed herein [0100].)
Kalra does not explicitly teach, however, Noor teaches deriving, via transformer models based on a plurality of relevant features, embeddings… (Noor e.g. FIG. 1 illustrates an example of how the transformer 112 can process textual input data. Input to a language model (whether transformer-based or otherwise) typically is in the form of natural language that can be parsed into tokens [0067]. Tokenization, in the context of language models and NLP, refers to the process of parsing textual input (e.g., a character, a word, a phrase, a sentence, a paragraph) into a sequence of shorter segments that are converted to numerical representations referred to as tokens (or “compute tokens”) [0067]. Typically, a token can be an integer that corresponds to the index of a text segment (e.g., a word) in a vocabulary dataset [0067]. In FIG. 1, a short sequence of tokens 102 corresponding to the input text is illustrated as input to the transformer 112 [0069]. Each token 102 in the token sequence is converted into an embedding vector 106 (also referred to simply as an embedding 106) [0069]. An embedding 106 is a learned numerical representation (such as, for example, a vector) of a token that captures some semantic meaning of the text segment represented by the token 102. The embedding 106 represents the text segment corresponding to the token 102 in a way such that embeddings corresponding to semantically related text are closer to each other in a vector space than embeddings corresponding to semantically unrelated text [0069]. FIG. 1 is a block diagram of an example transformer 112. A transformer is a type of neural network architecture that uses self-attention mechanisms to generate predicted output based on input data that has some sequential meaning (i.e., the order of the input data is meaningful, which is the case for most text input) [0064]. The transformer 112 includes an encoder 108 (which can comprise one or more encoder layers/blocks connected in series) and a decoder 110 (which can comprise one or more decoder layers/blocks connected in series) [0065]. The generated embeddings 106 are input into the encoder 108. The encoder 108 serves to encode the embeddings 106 into feature vectors 114 that represent the latent features of the embeddings 106. The encoder 108 can encode positional information (i.e., information about the sequence of the input) in the feature vectors 114 [0071]. The feature vectors 114 can have very high dimensionality (e.g., on the order of thousands or tens of thousands), with each element in a feature vector 114 corresponding to a respective feature [0071]. Conceptually, the decoder 110 is designed to map the features represented by the feature vectors 114 into meaningful output, which can depend on the task that was assigned to the transformer 112 [0072].)
The Examiner submits that before the effective filing date, it would have been obvious to one of ordinary skill in the art to modify Kalra’s method and system of processing interaction data for predictive routing to include representing model data as embeddings as taught by Noor in order to improve the accuracy of model outputs (Noor e.g. [0055]).
As per claims 6, 13, and 20 (Original), Kalra in view of Noor teach the method of claim 1, the medium of claim 8, and the system of claim 15, wherein the step of determining current dynamics of each of the candidate agents comprises:
Kalra teaches receiving near real-time transcripts associated with the candidate agent; (Kalra e.g. The statistics server 226 may be configured to record and aggregate data relating to the performance and operational aspects of the contact center 200 [0034]. The reporting server 248 may be configured to generate reports from data compiled and aggregated by the statistics server 226 or other sources [0042]. Such reports may include near real-time reports or historical reports and concern the state of contact center resources and performance characteristics, such as, for example, average wait time, abandonment rate, agent occupancy [0042]. Such speech analytics may be derived in real time or from voice recordings of interactions per conventional systems and methods, as one of skill in the art would appreciate [0086].)
Kalra teaches obtaining, from a performance engine, a plurality of assessment indicators based on each of the near real-time transcripts involving the candidate agent; (Kalra e.g. Such reports may include near real-time reports or historical reports and concern the state of contact center resources and performance characteristics, such as, for example, average wait time, abandonment rate, agent occupancy [0042]. With reference to FIG. 6, an alternative system 600 is shown for performing predictive routing in a contact center [0079]. Interactions are assigned to agents pursuant to a ranking or scoring system [0079]. For example, a predictive routing model 630 may rank available agents 635 based on an ability to best handle a given interaction, which may be based on information gathered on the interaction, i.e., interaction properties, such as customer, intent, etc. [0079]. The agent ranking 635 may be based on a score that is generated using a predictive routing model 630. The predictive routing model may be AI-based model that is configured to predict a score indicative as to how particular agents will perform in relation to a given interaction based on historical data [0079]. Speech analytics refers to the process of extracting characteristics and attributes from audio recordings and, from that data, finding relevant and meaningful intelligence [0086]. In regard to the present invention, speech analytics may refer to the application of certain types of analysis to audio recordings of customer-agent conversations that occur within contact center interactions. As will be discussed below, in accordance with exemplary embodiments, one speech metric of the present invention relates to a measure as to how much an agent speaks and/or a customer speaks during a given customer-agent conversation [0086]. Such speech analytics may be derived in real time or from voice recordings of interactions per conventional systems and methods, as one of skill in the art would appreciate [0086].)
Kalra teaches deriving, via…models based on the plurality of assessment indicators, data for the agent representing current dynamics of the agent. (Kalra e.g. The storage device 220 may store agent data in an agent database 223. Agent data maintained by the contact center 200 may include agent availability and agent profiles, schedules, skills, average handle time, etc. [0033]. The statistics server 226 may be configured to record and aggregate data relating to the performance and operational aspects of the contact center 200. Such information may be compiled by the statistics server 226 and made available to other servers and modules, such as the reporting server 248, which then may produce reports that are used to manage operational aspects of the contact center and execute automated actions in accordance with functionality described herein. Such data may relate to the state of contact center resources, e.g., average wait time, abandonment rate, agent occupancy, and others as functionality described herein would require [0034]. The training of the predictive routing model 630 may be altered to optimize a variety of contact center KPIs, with the score used to rank the agents indicating how well the candidate agents will perform in relation to one of the KPIs. Such KPIs, for example, may be average handle time of the call, sales revenue, etc. As will be appreciated, predictive routing can promote efficient operations, reduce costs, and promote optimal agent behaviors [0079].)
Kalra does not explicitly teach, however, Noor teaches deriving, via transformer models based on a plurality of relevant features, embeddings… (Noor e.g. FIG. 1 illustrates an example of how the transformer 112 can process textual input data. Input to a language model (whether transformer-based or otherwise) typically is in the form of natural language that can be parsed into tokens [0067]. Tokenization, in the context of language models and NLP, refers to the process of parsing textual input (e.g., a character, a word, a phrase, a sentence, a paragraph) into a sequence of shorter segments that are converted to numerical representations referred to as tokens (or “compute tokens”) [0067]. Typically, a token can be an integer that corresponds to the index of a text segment (e.g., a word) in a vocabulary dataset [0067]. In FIG. 1, a short sequence of tokens 102 corresponding to the input text is illustrated as input to the transformer 112 [0069]. Each token 102 in the token sequence is converted into an embedding vector 106 (also referred to simply as an embedding 106) [0069]. An embedding 106 is a learned numerical representation (such as, for example, a vector) of a token that captures some semantic meaning of the text segment represented by the token 102. The embedding 106 represents the text segment corresponding to the token 102 in a way such that embeddings corresponding to semantically related text are closer to each other in a vector space than embeddings corresponding to semantically unrelated text [0069]. FIG. 1 is a block diagram of an example transformer 112. A transformer is a type of neural network architecture that uses self-attention mechanisms to generate predicted output based on input data that has some sequential meaning (i.e., the order of the input data is meaningful, which is the case for most text input) [0064]. The transformer 112 includes an encoder 108 (which can comprise one or more encoder layers/blocks connected in series) and a decoder 110 (which can comprise one or more decoder layers/blocks connected in series) [0065]. The generated embeddings 106 are input into the encoder 108. The encoder 108 serves to encode the embeddings 106 into feature vectors 114 that represent the latent features of the embeddings 106. The encoder 108 can encode positional information (i.e., information about the sequence of the input) in the feature vectors 114 [0071]. The feature vectors 114 can have very high dimensionality (e.g., on the order of thousands or tens of thousands), with each element in a feature vector 114 corresponding to a respective feature [0071]. Conceptually, the decoder 110 is designed to map the features represented by the feature vectors 114 into meaningful output, which can depend on the task that was assigned to the transformer 112 [0072].)
The Examiner submits that before the effective filing date, it would have been obvious to one of ordinary skill in the art to modify Kalra’s method and system of processing interaction data for predictive routing to include representing model data as embeddings as taught by Noor in order to improve the accuracy of model outputs (Noor e.g. [0055]).
As per claims 7 and 14 (Original), Kalra in view of Noor teach the method of claim 1 and the medium of claim 8, wherein the transformer models are obtained via machine learning based on training data generated via AI-enabled analytical models, comprising (Kalra e.g. The method continues by performing feature engineering to generate feature data and generating a training dataset therefrom (Abstract). The method may continue by generating a training data set from the feature data, the training dataset including attribute features, speech analytics features, and sentiment analysis features [0004]. With reference now to FIG. 8, an exemplary flow diagram 800 is shown that illustrates a process for collecting and storing property features or feature data and then using that data to train predictive models via machine learning algorithms [0082]. The sentiment analysis module 920 may include a trained sentiment model that scores statements or utterances made in the customer-agent conversation according to sentiment [0097]. Sentiment analysis may be done using a pretrained classifier that classifies each utterance as one of: negative/positive/neutral. The pretrained classifier may be finetuned for the specific classification task, which in this case is classifying an utterance as one having a negative, positive, or neutral sentiment. For example, this training may be done using supervised (manually annotated) data. As an example, a ROBERTa model could be used as the pretrained classifier. The ROBERTa model is a neural network that uses the known transformer architecture with attention heads. As another example, a neural network known as XLMR may be used as a pretrained classifier [0098].):
Kalra teaches processing the transcripts of the historic communications to extract features related to different aspects of agent performance and/or sub-aspects thereof; (Kalra e.g. The method may continue by performing feature engineering to generate feature data associated with the interactions, the generated feature data including: attribute features derived from attributes data; speech analytics features derived from the determined scores of the one or more speech metrics; and sentiment analysis features derived from the determined scores of the one or more sentiment metrics [0004]. The method may continue by performing sentiment analysis in relation to the transcript data of the interactions [0004]. When described in relation to the transcript data of the first interaction, the sentiment analysis may include processing the transcript data of the first interaction to determine one or more scores associated with one or more sentiment metrics [0004]. In regard to sentiment analysis, this is the process of understanding a customer's or agent's experience during an interaction based on the positivity or negativity of the language each uses in the interaction [0087]. A sentiment marker representing the positive or negative phrase is placed in the interaction overview waveform and in the transcript. Subsequently, all of the positive and negative sentiment values may be used to calculate an overall sentiment score and/or a sentiment trend for the interaction. With this information, for example, a customer's feelings can be assessed towards products, brands, services, and/or an agent's competency [0087]. In regard to sentiment analysis, as depicted in FIG. 9, the sentiment analysis module 920 may receive voice transcripts and/or email and chat transcripts from the historical interaction database 905 [0097]. Voice interactions from the historical interaction database 905 may be analyzed as audio data by the speech analytics module 915 and as a voice transcript by the sentiment analysis module 920 [0100].)
Kalra teaches obtaining assessments, from one or more AI-enabled analytical engines, directed to the different aspects of agent performance and the sub-aspects thereof; (Kalra e.g. The method may continue by performing sentiment analysis in relation to the transcript data of the interactions [0004]. When described in relation to the transcript data of the first interaction, the sentiment analysis may include processing the transcript data of the first interaction to determine one or more scores associated with one or more sentiment metrics [0004]. The interaction data may include transcribed text of the voice conversation that occurred between an agent and customer during a given interaction [0097]. Sentiment analysis may then be performed on the transcribed text. As will be understood, sentiment analysis is an analytic process whereby text is analyzed to determine if the emotional tone of the message is positive, negative, or neutral [0097]. The sentiment analysis module 920 may include a trained sentiment model that scores statements or utterances made in the customer-agent conversation according to sentiment [0097].)
Kalra teaches generating, based on the features extracted and assessments from the one or more AI-enabled analytical engines, supervised training data sets for each of the different aspects and/or the sub-aspects thereof; performing machine learning of the transformer models corresponding to the aspects and/or sub-aspects thereof based on respective training data sets; and generating the transformer models based on the machine learning result.(Kalra e.g. Turning now to FIG. 9, a schematic representation of a system 900 is shown for generating feature properties or feature data, which may be used to train enhanced predictive routing models [0085]. The system 900 may include an historical interaction database 905, a feature store 910, a speech analytics module 915, a sentiment analysis module 920, and a predictive routing model 925 [0085]. The sentiment analysis module 920 may include a trained sentiment model that scores statements or utterances made in the customer-agent conversation according to sentiment [0097]. Sentiment analysis may be done using a pretrained classifier that classifies each utterance as one of: negative/positive/neutral. The pretrained classifier may be finetuned for the specific classification task, which in this case is classifying an utterance as one having a negative, positive, or neutral sentiment. For example, this training may be done using supervised (manually annotated) data. As an example, a ROBERTa model could be used as the pretrained classifier. The ROBERTa model is a neural network that uses the known transformer architecture with attention heads. As another example, a neural network known as XLMR may be used as a pretrained classifier [0098]. Features associated with outcomes achieved during these interactions are also included for storage within the feature store 910. Thus, positive and negative outcomes associated with the interactions—for example, whether the issue was resolved, overall handle time, call transfers, whether a sale was made, customer reviews, etc.—can be included as feature properties with the feature store 910 [0100]. These feature properties derived from the speech analytics module 915 and sentiment analysis module 920 are then used (in conjunction with other features derived from attributes data derived from past interactions) to train the predictive routing model 925, for example, via a machine learning algorithm [0100].)
Conclusion
Applicant's amendment necessitated the new ground(s) of rejection presented in this Office action. Accordingly, THIS ACTION IS MADE FINAL. See MPEP § 706.07(a). Applicant is reminded of the extension of time policy as set forth in 37 CFR 1.136(a).
A shortened statutory period for reply to this final action is set to expire THREE MONTHS from the mailing date of this action. In the event a first reply is filed within TWO MONTHS of the mailing date of this final action and the advisory action is not mailed until after the end of the THREE-MONTH shortened statutory period, then the shortened statutory period will expire on the date the advisory action is mailed, and any nonprovisional extension fee (37 CFR 1.17(a)) pursuant to 37 CFR 1.136(a) will be calculated from the mailing date of the advisory action. In no event, however, will the statutory period for reply expire later than SIX MONTHS from the mailing date of this final action.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to Ayanna Minor whose telephone number is (571)272-3605. The examiner can normally be reached M-F 9am-5 pm.
Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Jerry O'Connor can be reached at 571-272-6787. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of published or unpublished applications may be obtained from Patent Center. Unpublished application information in Patent Center is available to registered users. To file and manage patent submissions in Patent Center, visit: https://patentcenter.uspto.gov. Visit https://www.uspto.gov/patents/apply/patent-center for more information about Patent Center and https://www.uspto.gov/patents/docx for information about filing in DOCX format. For additional questions, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000.
/A.M./Examiner, Art Unit 3624
/Jerry O'Connor/Supervisory Patent Examiner,Group Art Unit 3624