Method and system for using robotic process automation to provide real-time case assistance to client support professionals
By combining machine learning and RPA technology, analyzing case data in the customer support system and automatically identifying similar cases and skill matching, the problem of real-time case assistance in existing systems is solved, and more efficient case resolution and resource utilization is achieved.
Patent Information
- Application Number
- JP2023552001
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2022-02-25
- Filing Date
- 2022-02-25
- Publication Date
- 2025-02-10
- Estimated Expiration
- 2042-02-25
AI Technical Summary
Existing customer support systems are difficult to provide real-time case assistance efficiently and efficiently, and the ability to quickly identify the best customer support professionals, resulting in extended case resolution times, increased costs and reduced quality.
Using robot process automation (RPA) technology combined with machine learning and artificial intelligence, we use robotic process automation (RPA) technology to analyze large amounts of historical and current case data, identify similar cases and skill matching, automatically recommend the best professionals, and monitor case progress in real time to predict potential problems.
Improves the work efficiency of customer support professionals, reduces case resolution time, improves quality, reduces the need for manual intervention, and enhances the adaptability and flexibility of the system.
Smart Images

Figure 0007628624000005 
Figure 0007628624000006 
Figure 0007628624000007
Abstract
Description
[Technical field]
[0001] Related Applications This application claims the benefit of U.S. Provisional Patent Application No. 63 / 154,390, filed February 26, 2021, and entitled “METHOD AND SYSTEM FOR USING ROBOTIC PROCESS AUTOMATION TO PROVIDE CASE ASSISTANCE TO CLIENT SUPPORT PROFESSIONALS,” which is incorporated by reference in its entirety below as if fully set forth herein.
[0002] This application is related to U.S. patent application Ser. No. 16 / 195,668 to Sahni et al., entitled “METHOD AND SYSTEM FOR PROVIDING A MULTI-DIMENSIONAL HUMAN RESOURCE ALLOCATION ADVISER,” filed Nov. 19, 2018, and issued as U.S. Patent No. 11,182,707 on Nov. 23, 2021, which is incorporated by reference in its entirety as if fully set forth herein. [Background technology]
[0003] One of the primary challenges facing businesses, especially those that provide professional services to their clients, is finding ways to effectively and efficiently utilize the business's resources and data assets to improve the quality and speed of case resolution. Many businesses that provide professional services to their clients employ thousands of client support professionals and have a huge client base made up of clients that utilize thousands of specialized technology products and product modules. Thus, the client support professionals employed by those businesses are often highly skilled and / or specialized personnel, such as engineers, technicians, or other technical professionals.
[0004] To resolve client cases, many businesses utilize one or more conventional client service systems or client management systems to collect, track, and analyze data about the various jobs, tasks, and projects performed by their employees. Using those conventional client service systems, when a client has a project or problem that needs to be resolved, a client case is created in the system, case data is collected, and each case is tracked until the case is resolved or closed. However, conventional client service systems have several technical shortcomings that prevent them from being able to utilize the full potential of the business's resources and data assets.
[0005] Enabling effective and efficient case resolution requires providing client support professionals with real-time case assistance that takes into account the wide variety of separate yet interconnected factors relevant to the resolution of a client case. Most conventional and current client service systems lack the technological capabilities to analyze and process the subtle and highly complex interconnections between those factors in a manner that provides actionable and tangible real-world, real-time results. For example, it not only requires detailed real-time analysis of vast amounts of dynamically changing skill set data for both individual support professionals and teams of support professionals, but also requires detailed real-time analysis of vast amounts of relevant case history data, data related to past, current, and potential employee collaboration opportunities, data related to outside business practices, identification of case problem scope and proactive case resolution opportunities along with identification of potential skill gaps and potential solutions, all of which are beyond the capacity of the human mind to grasp. Thus, developing effective and efficient systems and methods for assisting client support professionals with case resolution in real time is a challenging technical problem that is highly complex and requires a technical solution.
[0006] As one particular illustrative example, a service provider that offers a variety of support services for various Enterprise Resource Planning (ERP) related software systems utilized by the clients may potentially have hundreds of clients with a data repository that includes thousands of case records associated with jobs performed for each of those clients. Efficient resolution of open cases often depends on being able to rapidly identify closed case records that are similar to the open case records. Furthermore, each case may require multiple and variable skills to resolve, making identifying the best-matched client support professional to assist with an open case a daunting, if not impossible, task.
[0007] Consider a business that employs engineering professionals to provide engineering and support services to the business' clients for various enterprise resource planning (ERP) related systems utilized by those clients. In this particular illustrative example, each engineering professional potentially has numerous specialized skills and experiences with numerous specific products, product modules, and features and capabilities associated with those products and product modules. Furthermore, each engineering professional's specialized skills are not static. As each engineer works on various assignments, they are continually developing new skills, both on-the-job and off-the-job, and thus, in many situations, the human mind is not capable of detecting, processing, and tracking the continuously changing skill set of an engineering professional. Given that each engineering professional can potentially have thousands of skills associated with hundreds of products and product sub-systems, it is often an assignment in which a single engineering professional's skill set can include hundreds or even thousands of individual, dynamically changing skills.
[0008] Additionally, the problem becomes more complex when more than one client support professional needs to be assigned to a client case. Consider a client case that requires a team of ten employees to resolve. Not only does the skill set data for each of the individual client support professionals need to be analyzed, but the skill set data for each of the individual client support professionals also needs to be analyzed in relation to the skill set data for each of the other individual client support professionals. Additionally, other factors in addition to skill sets need to be accounted for, such as, but not limited to, possible exceptions related to support professional workload and availability, along with case history data related to the client support professional's past performance on cases previously worked on in combination with other professionals. As a result, developing effective and efficient systems and methods for assisting client support professionals with case resolution in real time can quickly become complicated and a daunting technical task that the human mind does not have the ability to perform, especially given the fixed nature of conventional data processing systems.
[0009] Indeed, technical issues can become so complex that it is impractical and in most cases it is not possible for humans to accurately identify and grasp the project / case requirements for potentially hundreds of business clients with the iterations and relationships between multiple or even thousands of support professionals, each of which potentially has hundreds or even thousands of individual, dynamically changing skills, and each of those projects / cases in turn potentially has hundreds or even thousands of job skill set requirements and contract performance requirements and constraints.The problem is further complicated when the availability and workload for each qualified support professional must also be taken into account.
[0010] The result is a level of problem complexity that makes it impossible for humanity to recognize the meaningful relationships and interconnections between all of the factors necessary to effectively and efficiently provide real-time case assistance to client support professionals so that they can more rapidly and successfully resolve client cases. As noted above, the current technical problem of effectively and efficiently providing real-time case assistance to client support professionals is an ongoing and dynamically changing problem due in part to the fact that client support professionals employed by many businesses have skill sets and experiences that are continually changing as the professionals are assigned to various projects and complete various tasks, thereby acquiring new skills and valuable experience.
[0011] The current difficulties encountered when attempting to effectively and efficiently provide real-time case assistance to client support professionals are not only a problem for businesses wishing to increase the productivity of their employees, but also for the clients of the business in that the inability to effectively and efficiently provide case assistance to client support professionals can adversely affect the quality of work performed and the time it takes to complete that work. As a result, the long-standing technical problem of lacking an effective and efficient system and method for providing real-time case assistance to client support professionals is detrimental to business employers, as well as to the employees and clients of the business, potentially resulting in missed deadlines and benchmarks, lost man-hours, cost overruns, and lower quality work. Moreover, the difficulties described above are often amplified by various ongoing labor shortages.
[0012] Therefore, what is needed is a technological solution to a long-standing technical problem that will effectively and efficiently provide real-time case assistance to client support professionals in order to enhance the professionals' ability to resolve client cases more rapidly and successfully. Summary of the Invention [Means for solving the problem]
[0013] Embodiments of the present disclosure provide a technical solution to a technical problem of effectively and efficiently providing real-time case assistance to client support professionals to enhance the professionals' ability to resolve client cases more rapidly and successfully.
[0014] The embodiments disclosed herein provide a case assistant system that utilizes Robotic Process Automation (RPA) technology in combination with Machine Learning (ML) technology to assist and advise support professionals on related similar client case history, initiate collaboration between support professionals, and advise support professionals on skills required for a particular client case. The case assistant can also trigger exceptions to the embodiment, such as, but not limited to, alerting a team owner or team leader when a support professional is out of the office, out of the company, and / or affected by a local emergency condition.
[0015] Thus, the disclosed embodiments represent a technical solution to the long-standing technical problem of providing real-time case assistance to client support professionals by utilizing RPA technology in combination with ML technology to proactively advise professionals on related similar case history, initiate collaboration among professionals, advise teams on skill gaps, create teams, and initiate cases. As a result, using the disclosed embodiments, professional contributions are accelerated and enhanced, thereby enabling support professionals to resolve client cases more quickly and successfully.
[0016] Although many conventional businesses utilize business process automation (BPA) techniques to streamline business processes, increase service quality, and contain business operation costs, BPAs have some deficiencies when it comes to their ability to handle highly complex problems such as those discussed above. For example, most BPAs are fully pre-programmed and relatively static, making it not easily possible to adapt them to unknown situations and unforeseen environments.
[0017] One emerging field within BPA is Robotic Process Automation (RPA), which typically utilizes machine learning (ML) and artificial intelligence (AI) to address deficiencies in traditional BPA. Examples of the present disclosure leverage RPA technology to solve technical problems that provide real-time case assistance to client support professionals, as discussed in additional detail below.
[0018] In one embodiment, a method performed by a computing system includes providing a user interface to a client service system including case data associated with one or more clients of a service provider, obtaining current open case data representing currently open cases, obtaining historical closed case data representing historical closed cases associated with the service provider, training one or more RPA workers to process the current open case data and the historical closed case data using one or more machine learning processes, and configuring the one or more trained RPA workers to process the current open case data and the historical closed case data.
[0019] In one embodiment, the configured trained RPA worker performs one or more of identifying historical closed cases similar to the currently open case and generating ranked similar case data, identifying experts skilled in historical closed cases similar to the currently open case and generating ranked skilled expert data, identifying business exceptions associated with the currently open case and generating business exception data, and providing data related to one or more of the similar cases, the skilled experts, and the business exceptions through a user interface of the client service system.
[0020] In one embodiment, the configured trained RPA worker functions are performed in near real-time. In one embodiment, the historical closed case data representing historical closed cases associated with the service provider includes data associated with one hundred or more historical closed cases.
[0021] In one embodiment, identifying historical closed cases similar to the currently open case and generating ranked similar case data includes aggregating, processing, and filtering the obtained currently open case data to generate aggregated open case vector data; aggregating, processing, and filtering the obtained historical closed case data to generate aggregated closed case vector data; parsing the aggregated open case vector data into tokens to generate tokenized open case vector data; parsing the aggregated closed case vector data into tokens to generate tokenized closed case vector data; identifying tokens in the tokenized open case vector data that are not useful in determining a context of the currently open case represented by the currently open case data and generating filtered open case vector data; The method further includes identifying tokens of the tokenized closed case vector data that are not informative in determining a context of the historical closed case represented by the case data to generate filtered closed case vector data; assigning a relevance weight to each token of the filtered open case vector data to generate weighted open case vector data; assigning a relevance weight to each token of the filtered closed case vector data to generate weighted closed case vector data; providing the weighted open case vector data and the weighted closed case vector data to one or more similarity processes to generate a list of historical closed cases that are similar to the currently open case; and assigning a similarity ranking to each historical closed case in the list of similar historical closed cases to generate ranked similar case data.
[0022] In one embodiment, the one or more machine learning models are trained to perform one or more of: identifying tokens in the tokenized open case vector data that are not informative in determining a context of a currently open case represented by the currently open case data; identifying tokens in the tokenized closed case vector data that are not informative in determining a context of a historically closed case represented by the historical closed case data; assigning a relevance weight to each token in the filtered open case vector data; assigning a relevance weight to each token in the filtered closed case vector data; and assigning a similarity ranking to each historically closed case in the list of similar historically closed cases.
[0023] In one embodiment, identifying tokens in the tokenized open case vector data that are not informative in determining a context of a currently open case represented by the currently open case data and identifying tokens in the tokenized closed case vector data that are not informative in determining a context of a historically closed case represented by the historical closed case data include utilizing machine learning techniques to develop one or more customized stop word removal processes.
[0024] In one embodiment, utilizing machine learning techniques to develop the one or more customized stop word removal processes includes one or more of: training one or more machine learning models to identify tokens in the tokenized open case vector data that should be removed from the generated filtered open case vector data; training one or more machine learning models to identify tokens in the tokenized closed case vector data that should not be removed from the generated filtered closed case vector data and adding those tokens to the generated filtered closed case vector data; training one or more machine learning models to identify tokens in the tokenized closed case vector data that should be removed from the generated filtered closed case vector data; and training one or more machine learning models to identify tokens in the tokenized closed case vector data that should not be removed from the tokenized closed case vector data and adding those tokens to the generated filtered closed case vector data.
[0025] In one embodiment, assigning a relevance weight to each token of the filtered open case vector data and assigning a relevance weight to each token of the filtered closed case vector data include utilizing machine learning techniques to build one or more customized relevance finder processes.
[0026] In one embodiment, utilizing machine learning techniques to develop the one or more customized relevance processes includes one or more of: utilizing TF-IDF techniques to train one or more machine learning models to identify tokens in the filtered open case vector data that should be assigned a higher or lower relevance value than other tokens in the filtered open case vector data; utilizing TF-IDF techniques to train one or more machine learning models to identify tokens in the filtered closed case vector data that should be assigned a higher or lower relevance value than other tokens in the filtered closed case vector data based on the identified business context of the token; training the one or more machine learning models to identify tokens in the filtered open case vector data that should be assigned a higher or lower relevance value than other tokens in the filtered closed case vector data based on the identified business context of the token; and training the one or more machine learning models to identify tokens in the filtered closed case vector data that should be assigned a higher or lower relevance value than other tokens in the filtered closed case vector data based on the identified business context of the token.
[0027] In one embodiment, the one or more similarity processes include a cosine similarity algorithm, a Jaccard similarity algorithm, and an LSA similarity algorithm. In one embodiment, the similarity process used to generate the list of historically closed cases similar to the currently open case is dynamically selected during data processing. In one embodiment, the similarity process is dynamically selected based on one or more of the context of the currently open case, the context of the historically closed case, the number of current and historical case documents being compared, the size of each of the current and historical case documents being compared, the number of pages in each of the current and historical case documents being compared, the number of paragraphs in each of the current and historical case documents being compared, the number of words in each of the current and historical case documents being compared, the file type of each of the current and historical case documents being compared, and the number of related words found for each of the current and historical documents being compared.
[0028] In one embodiment, identifying experts skilled in historical closed cases similar to the currently open case and generating ranked skilled experts data includes obtaining initial employee skill set data, dynamic employee skill set data, and employee HR data; aggregating the initial employee skill set data, dynamic employee skill set data, and employee HR data to generate aggregated employee skill set data; obtaining client data about a client associated with the currently open case; processing the currently open case data and the client data to generate currently open case skill set vector data; and generating initial skill set matched employee data representing employees with one or more skill sets matched. processing the aggregated employee skill set data and the current open job skill set vector data; and for each skill set matched employee, generating normalized employee skill set vector data based on the normalized employee skill set data and skill set features associated with the skill set matched employee; providing the normalized employee skill set vector data and the current open job skill set vector data for each skill set matched employee to a machine learning process to generate ranked skill matched employee data; and merging the ranked skill matched employee data with the ranked similar job data to generate ranked skilled expert data.
[0029] In one embodiment, the process of generating ranked similar case data described above can be performed and utilized independently of other case assistant functions. In one embodiment, all or part of the case assistant functions discussed herein can be accomplished without the need for specially trained and configured RPA workers.
[0030] In various embodiments, the document similarity finder disclosed herein is composed of several process subsystems, which may include processes such as, but are not limited to, a vector data collector, a tokenizer, a stop word remover, a relevance finder, and a similarity finder.
[0031] In one embodiment, the document similarity finder's vector data collector is a core integrated program that collects document data from source systems for defined vectors. In one embodiment, the tokenizer parses documents, paragraphs, or sentences into smaller units called tokens, which include individual words, groups of words, or units composed of one or more of terms and phrases. In one embodiment, the stop word remover filters out words that are not important in deriving the case context. In one embodiment, the relevance finder assigns a number between 0 and 1 to each context token identified in the previous step based on how related tokens are in the document. In one embodiment, the similarity finder is utilized to determine similarity between case documents.
[0032] In one embodiment, the Case Assistant stop word remover includes a two pass process. The first pass of the stop word remover utilizes NLTK (Natural Language Tool Kit) functions to remove stop words. The second pass of the stop word remover utilizes supervised learning methods to train a model to build a successively growing "Ignore List." In one embodiment, the second pass of the stop word remover also includes a "Qualifier List" that adds business context words that were previously ignored in the first pass of the stop word remover.
[0033] In one embodiment, the Relevance Finder of the Case Assistant process includes a two-pass process. The first pass of the Relevance Finder uses a term frequency-inverse document frequency (TF-IDF) process to assign initial weights to tokens that are not filtered out from the stop word remover. The second pass of the Relevance Finder passes the token weight list created by the first pass of the Relevance Finder to a "Business Context Enrichment" process to further refine the token weights.
[0034] In one embodiment, the similarity finder dynamically selects a similarity discovery process from a set of two or more similarity discovery processes based on factors such as, but not limited to, document size, document type, and TF_IDF match value. Examples of similarity discovery processes dynamically selected by the similarity finder include, but are not limited to, processes that utilize a Cosine similarity algorithm, a Latent Semantic Analysis (LSA) similarity algorithm, and a Jaccard similarity algorithm.
[0035] In various embodiments, the stop word remover, relevance finder, and similarity finder each utilize machine learning techniques to train various machine learning models. In one embodiment, various training user interfaces are provided to enable a user to oversee the training process. One or more end user interfaces are also provided to present results of the case assistant processes and subsystems to an end user, such as, but not limited to, a client support professional.
[0036] Thus, the disclosed embodiments represent a technical solution to a long standing technical problem of providing real-time case assistance to client support professionals by utilizing RPA technology to proactively advise professionals regarding relevant similar case history, initiate collaboration among professionals, advise teams regarding skill gaps, create teams, and initiate excursions.
[0037] As a result, using the disclosed embodiments, professional contributions are accelerated and enhanced, thereby enabling support professionals to resolve client cases more quickly and successfully. [Brief description of the drawings]
[0038] [Figure 1A] FIG. 1 is a high-level diagram illustrating how a case assistant system is built on top of an existing AI application platform, according to one embodiment. [Figure 1B] FIG. 1 is a high-level diagram illustrating a case assistant system and AI application platform as part of a larger architectural context according to one embodiment. [Figure 2A] FIG. 1 is a block diagram of a manufacturing environment associated with a case assistant system, according to one embodiment. [Figure 2B] FIG. 1 is a block diagram of a manufacturing environment associated with a case allocation advisor utilized by a case assistant system according to one embodiment. [Figure 3A] FIG. 1 is a block diagram of a document similarity finder of the case assistant system according to one embodiment. [Figure 3B] FIG. 2 is a block diagram of a stop word remover used by the document similarity finder of the case assistant system according to one embodiment. [Figure 3C] FIG. 1 is a block diagram of a relevance finder used by a document similarity finder of the case assistant system according to one embodiment. [Figure 3D] 1 is an exemplary representation of a cosine similarity measure according to one embodiment. [Figure 3E] 1 is an exemplary description of a vector space model used to detect word similarities according to one embodiment. [Figure 3F] 1 is an illustrative illustration of training data utilized by the relevance finder and similarity finder according to one embodiment. [Figure 4A] 1 is a flowchart of a process for providing case assistance to a client support professional according to one embodiment. [Figure 4B] 1 is a flowchart of a process for identifying similar cases according to one embodiment. [Figure 4C] 1 is a flowchart of a process for identifying a skilled expert according to one embodiment. [Diagram 5] 1 is a screenshot of an example rules & constraints configuration interface that may be utilized by the case assistant system, according to one embodiment. [Figure 6] 1 is a screen shot of a business alert configuration interface of a business exception finder utilized by the case assistant system according to one embodiment. [Figure 7A] 1 is a screenshot of a dashboard user interface for a case assistant system, according to one embodiment. [Figure 7B] FIG. 7B is an expanded view of a portion of the example screenshot of FIG. 7A, according to one embodiment. [Figure 7C] 1 is a screenshot of an example of a Case Assistant widget utilized as part of a larger client service system according to one embodiment. [Figure 8A] 1 is a screenshot of an alert system associated with a document similarity finder according to one embodiment. [Figure 8B]1 is a screenshot of similar job listings generated by a document similarity finder according to one embodiment. [Figure 9A] 1 is a screen shot of a skilled expert finder and associated alert system according to one embodiment. [Figure 9B] 1 is a screen shot of a skilled expert finder and associated alert system according to one embodiment. [Figure 9C] 11 is a screenshot of an interface for initiating collaboration with a trained expert according to one embodiment. [Figure 9D] 1 is a screenshot of a listing of available skilled experts generated by the skilled expert finder according to one embodiment. [Figure 9E] 11 is a screenshot of an interface for initiating collaboration with an available trained expert, according to one embodiment. [Figure 9F] 11 is a screenshot of an interface for viewing the skills of available trained experts according to one embodiment. [Figure 10A] 11 is a screenshot of a business exception alert generated by a business exception finder, according to one embodiment. [Figure 10B] 11 is a screenshot of a business exception alert generated by a business exception finder, according to one embodiment. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0039] Common reference numerals are used throughout the figures and detailed description to denote like elements. Those skilled in the art will readily recognize that other architectures, modes of operation, sequences of operation, elements, and functions may be provided and implemented without departing from the characteristics and features of the invention as illustrated by the figures and claims set forth herein.
[0040] The embodiments are discussed herein with reference to the accompanying drawings, which depict one or more exemplary embodiments. The embodiments may be implemented in many different forms and should not be construed as being limited to the embodiments shown in the specification, illustrated in the drawings, and / or described below. Rather, these exemplary embodiments are provided to enable a complete disclosure that conveys the principles of the invention, as claimed, to those skilled in the art.
[0041] Embodiments disclosed herein provide a case assistant that utilizes Robotic Process Automation (RPA) technology in combination with Machine Learning (ML) technology to advise support professionals on relevant client case history, initiate collaboration between support professionals, and advise support professionals on skills required for a particular client case. The case assistant can also trigger example exceptions such as, but not limited to, alerting a team owner or leader when a support professional is out of the office or away from the company.
[0042] Many conventional businesses utilize Business Process Automation (BPA) technology to streamline business processes, increase service quality, and contain business operating costs, but BPAs have some deficiencies when it comes to their ability to handle highly complex problems such as those discussed above. For example, most BPAs are fully pre-programmed and relatively static, and it is not easily possible to adapt them to unknown situations and unforeseen circumstances.
[0043] One emerging field within BPA is Robotic Process Automation (RPA), which typically utilizes machine learning (ML) and artificial intelligence (AI) to address deficiencies in traditional BPA. Examples of the present disclosure leverage RPA technology to solve technical problems that provide real-time case assistance to client support professionals, as discussed in additional detail below.
[0044] As used herein, the term "real-time" may be used interchangeably with the term "near real-time," and thus processes performed by the disclosed embodiments may include processes that are processed in minutes, seconds, milliseconds, microseconds, nanoseconds, or other time frames in which a CPU has the capability to currently process the data and / or that are made available after filing.
[0045] Thus, the disclosed embodiments represent a technical solution to a long-standing technical problem of providing real-time case assistance to client support professionals by utilizing RPA technology to proactively advise professionals on relevant case history, initiate collaboration among professionals, advise teams on skill gaps, and initiate case resolution. As a result, using the disclosed embodiments, professional contributions are accelerated and enhanced, thereby enabling support professionals to resolve client cases more quickly and successfully.
[0046] FIG. 1A is a high-level diagram 100A illustrating how a case assistant system is built on an existing AI application platform, according to one embodiment.
[0047] As shown in FIG. 1A, in one embodiment, the case assistant system 102 utilizes a skills manager 110 and a case allocation advisor 106 to assist client support professionals, such as, but not limited to, engineers, in discovering similar functional issues across cases to identify and pinpoint needed team skills, initiate collaboration with other support professionals, and raise business exception alerts. Also shown in FIG. 1A, in one embodiment, several case assistant tools 104 utilized by the case assistant system 102 are one or more processes, such as, but not limited to, robotic process automation (RPA) and processes utilizing a cosine similarity algorithm. In one embodiment, the skills manager 110 utilizes skills management tools 112, including, but not limited to, a fully secured and integrated skills & profile repository. In one embodiment, the case allocation advisor 106 utilizes a case allocation tool 108 that includes several processes such as, but not limited to, k-nearest neighbors (KNN), Euclidean distance, and min-max normalization.
[0048] In various embodiments, the case assistant system 102, the skills manager 110, and the case allocation advisor 106 are built on a scalable AI & machine learning platform 114 that utilizes various open source technologies 116 to provide a sophisticated and unique machine learning engine for the case assistant system 102, the skills manager 110, and the case allocation advisor 106. Additional details of each of the above-identified elements are discussed in further detail below.
[0049] FIG. 1B is a high-level diagram 100B illustrating a case assistant system and AI application platform as part of a larger architectural context according to one embodiment.
[0050] 1 and 2 together illustrate an integrated, secure, and extensible AI application platform 114 that performs several functions. First, in one embodiment, the AI application platform 114 integrates with multiple data sources, such as data source 118. In one embodiment, the AI application platform 114 includes a skills manager 110 and a case allocation advisor 106 that are both capable of capturing the multi-dimensional skills of support professionals and using machine learning processes to enable normalizing and ranking the skills of the support professionals to provide recommendations that match the skills of the professionals with the skills best suited to solve a particular client case. Additionally, in one embodiment, the AI application platform 114 proactively identifies "need attention" and "positive" signals for the business by analyzing data anomalies and user sentiment. In one embodiment, the application platform 114 is an integrated and extensible platform and further includes the case assistant system 102, which has the capability to incorporate new natural language and machine learning processes to perform tasks such as document similarity discovery, skilled expert discovery, and business exception discovery, each of which is discussed in additional detail below.
[0051] system FIG. 2A is a block diagram of a manufacturing environment 200A associated with a case assistant system, according to one embodiment.
[0052] 2A , in one embodiment, manufacturing environment 200A includes client support professional 210, support professional computing environment 201, support professional computing system 202, and service provider computing environment 205. In one embodiment, service provider computing environment 205 includes processor 203, physical memory 204, one or more communication channels 208, and client service system 207. In one embodiment, client service system 207 includes user interface 206, case assistant system 102, case allocation advisor 106, case intake & management system 240, and rules & constraints database 260.
[0053] In one embodiment, the case assistant system 102 includes a document similarity finder 216, a skilled expert finder 228, a business exception finder 238, a robotic process automation (RPA) worker 212, similar case data 213, expert data 214, and exception data 215. In one embodiment, the document similarity finder 216 includes a vector data collector 218, a tokenizer 220, a stop word remover 222, a relevance finder 224, and a similarity finder 226. In one embodiment, the skilled expert finder 228 includes ranked skill match employee data 230, ranked similar case data 232, and ranked skilled expert data 234. In one embodiment, the business exception finder 238 includes business alert configuration 236 and business exception data 237.
[0054] In one embodiment, case intake & management system 240 includes case intake & management database 242, which further includes client data 244, currently open case data 246, and historical closed case data 248. In one embodiment, case allocation advisor 106 includes autonomous machine learning (ML) platform 252. In one embodiment, autonomous ML platform 252 includes skill manager 110. In one embodiment, skill manager 110 includes employer business database 256. In one embodiment, employer business database includes employee data 258. In one embodiment, rules & constraints database 260 includes similarity algorithm data 262, product line data 264, support team data 266, and RPA data 268. Each of the above listed elements is discussed in further detail below.
[0055] In one embodiment, the case assistant system 102 utilizes one or more RPA workers 212. In embodiments disclosed herein, the term "RPA worker" or "RPA process" includes background programs / processes that can run continuously in the background of a service provider system to perform a wide variety of computing tasks and can grow to hundreds or thousands or any number desired / necessary. In one embodiment, RPA workers can be easily cloned as the service provider platform is scaled. In one embodiment, RPA workers can be configured, trained, and controlled by business users of the service provider platform.
[0056] As discussed above, many conventional businesses utilize Business Process Automation (BPA) techniques to streamline business processes, increase service quality, and contain business operation costs, but BPA has several deficiencies associated with their ability to handle highly complex problems such as those discussed above. For example, most BPA processes are fully pre-programmed to do a specific job, and therefore, they are relatively static and it is not easily possible to adapt them to unknown situations and unforeseen circumstances.
[0057] Unlike BPA, RPA workers and / or processes are given instructions to do such jobs, and as they perform the jobs, they utilize various machine learning techniques to learn as they go, so that they can easily adapt to unknown situations and unforeseen environments. While many applications utilize machine learning, and most of them are front-end UI applications, RPA workers are processes that are always running in the background of a system, such as the client service system 207, learning autonomously and working to provide help to the system users when needed.
[0058] In association with the case assistant system 102, an RPA worker 212 is trained and configured to perform various jobs including, but not limited to, identifying areas in which assistance can be provided to a client support professional 210 through a user interface 206, which in one embodiment is accessible by the client support professional computing system 202. In one embodiment, the RPA worker 212 proactively provides assistance to the client support professional 210 in real-time or near real-time.
[0059] For example, many service providers have thousands of open client cases that are worked on by hundreds of client support professionals every day. The case assistant system 102 enables training and configuration of the RPA worker 212 so that the RPA worker 212 can work continuously in the background of the client service system 207 to assist each client support professional, such as client support professional 210, with the open client cases assigned to the client support professional. Because the RPA worker 212 works continuously in the background, the client support professional does not have to spend valuable time combing through thousands of historical documents to find the best solution to resolve the open case. The client support professional, such as client support professional 210, can instead rely on the RPA worker 212 of the case assistant system 102 to find relevant and useful information and bring it to the attention of the client support professional 210 in real time or near real time. In one embodiment, the related useful information includes similar case data 213, which enables the client support professional to review root causes and solutions to similar, previously resolved cases that may be relevant to finding a solution to the currently open case. In one embodiment, the related useful information includes expert data 214, which identifies skilled experts with similar previously resolved cases that enable the client support professional to collaborate with other experts to more easily find a solution to the currently open case. In one embodiment, the related useful information includes exception data 215, which functions to alert the client support professional when a team member becomes unavailable and needs to be replaced to efficiently resolve the currently open case.
[0060] In one embodiment, the client support professional 210 is provided with data related to one or more of similar cases, skilled experts, and business exceptions in real time through a user interface of the client support system to assist the client support professional with efficient resolution of the currently open cases. In one embodiment, the jobs assigned to the individual RPA workers 212 include, but are not limited to, finding historical closed case documents similar to the currently open cases assigned to the client support professional 210, finding skilled experts within a particular technical area associated with the currently open cases assigned to the client support professional 210, finding business exceptions and alerting the client support professional 210 of business exceptions, etc. While those three job types are fully discussed in this disclosure, it should be appreciated that many additional job types can be assigned to the RPA workers 212 as needed.
[0061] Thus, one RPA worker 212 can be configured to utilize the document similarity finder 216 to generate similar case data 213, one RPA worker 212 can be configured to utilize the skilled expert finder 228 to generate expert data 214, one RPA worker 212 can be configured to utilize the business exception finder 238 to generate exception data 215, and additional RPA workers can be configured to perform other jobs as needed. These three or more RPA workers 212 can be cloned in any desired amount depending on factors such as, but not limited to, the overall case load handled by the client service system 207. The RPA workers 212 can then proactively provide the similar case data 213, the expert data 214, and the exception data 215 to the client support professional 210 through the user interface 206 of the client service system 207.
[0062] As a result, the utilization of an RPA worker / process, as disclosed herein, results in increased efficiency, quality, and scalability of the assistance provided to client support professionals 210 by the case assistant system 102. Additionally, although an RPA worker is discussed extensively herein, it should be apparent to one of ordinary skill in the art that any type of process, program, and / or functionality that performs similar functions as an RPA worker, as known at the time of filing and / or later developed after filing, may be utilized.
[0063] 2A, in one embodiment, the case assistant system 102 assists a client support professional 210 by providing valuable data in the form of similar case data 213, expert data 214, and exception data 215. In one embodiment, the similar case data 213 is generated by a document similarity finder 216, the expert data 214 is generated by a skilled expert finder 228, and the exception data 215 is generated by a business exception finder 238, each of which is discussed in additional detail below.
[0064] In one embodiment, the document similarity finder 216 of the case assistant system 102 is utilized by one or more RPA workers 212 to alert a support professional, such as the client support professional 210, to the existence of closed cases from one or more clients that are similar to an open case being worked on by the client support professional 210. In one embodiment, the document similarity finder 216 of the case assistant system 102 includes several process sub-systems that together function to identify historical closed cases that are similar to a currently open case being worked on by the client support professional 210. For example, in the embodiment depicted in FIG. 2A, the document similarity finder 216 includes a vector data collector 218, a tokenizer 220, a stop word remover 222, a relevance finder 224, and a similarity finder 226, each of which are discussed in additional detail below.
[0065] In one embodiment, the opportunity intake & management system 240 represents one or more computing systems and databases through which sales representatives for the service provider understand and record sales, track contracts and performance for both historical and current tasks, projects, or opportunities, coordinate upcoming tasks, projects, or opportunities, track ongoing performance and milestones, record client feedback and satisfaction, and perform any other client intake & customer relationship management functions as discussed or illustrated herein, and / or as known in the art at the time of filing, and / or as may become known or available after filing.
[0066] In one embodiment, case intake & management system 240 includes case intake & management database 242. In one embodiment, case intake & management database 242 includes historical closed case data 248. In one embodiment, historical closed case data 248 is aggregated data and includes case history data, such as, but not limited to, closed case subject, closed case description, closed case summary, product name associated with the closed case, product line associated with the closed case, module, skills, and experience associated with the closed case, closed case root cause, closed case resolution, client support professional responsible for resolving the closed case, closed case communication & comments data, closed case resolution time, client associated with the closed case, closed case client satisfaction review data, closed case client relationship management data, and / or any other historical case data as discussed or exemplified herein and / or as known in the art at the time of filing and / or as becomes known or available after filing.
[0067] In one embodiment, case intake & management database 242 further includes currently open case data 246. In one embodiment, currently open case data 246 may include, but is not limited to, the name of a task, project, or case; the name of a client for whom a task, project, or case is to be performed; the names of one or more client support professionals assigned to a task; the priority of a task, project, or case; the priority of a client associated with a task, project, or case; a job equipment type or product line associated with a task, project, or case; any subcomponents included with a job equipment type or product line associated with a task, project, or case; the type of task, project, or case; the complexity of a task, project, or case; the name of a client for whom a task, project, or case is to be performed; the names of one or more client support professionals assigned to a task; the priority of a client associated with a task, project, or case; the job equipment type or product line associated with a task, project, or case; whether the client associated with the task, project, or issue is an escalated client or a strategic client; the average of any research or review data associated with the client and / or the task, project, or issue; the geographic location of the client or the geographic location where the task, project, or issue will be performed; the time zone associated with the client's location and / or the location where the task, project, or issue will be performed; and / or any other currently open issue data as discussed or exemplified herein, and / or as known in the art at the time of filing, and / or as made available after filing.
[0068] In one embodiment, the case intake & management database 242 further includes client data 244. In one embodiment, the client data 244 is aggregated client data and may include data representing, but not limited to, the name of the client; the client's priority; the type of equipment or product line associated with the client; any contractual obligations and / or requirements associated with the client and / or the tasks, projects, or cases performed on behalf of the client; whether the client is an escalated client or a strategic client; any research or review data averages associated with the client; client relationship history; the client's geographic location; the time zone associated with the client's location; and / or any other client data as discussed or illustrated herein, and / or as known in the art at the time of filing, and / or as made available or known after filing.
[0069] In one embodiment, all or a portion of the data stored in the case intake & management database 242, including, but not limited to, all or a portion of the historical closed case data 248, the current open case data 246, and the client data 244, are provided for access and use by other components of the case assistant system 102, such as the document similarity finder 216, the skilled expert finder 228, and / or the business exception finder 238.
[0070] In one embodiment, all or a portion of the data stored in the case intake & management database 242, including, but not limited to, all or a portion of the historical closed case data 248, the currently open case data 246, and the client data 244, is provided to the document similarity finder 216 for the purpose of identifying historical closed cases that are similar to the currently open case being worked on by the client support professional 210.
[0071] With respect to the document similarity finder 216, details of the components of the document similarity finder 216 are now discussed herein in conjunction with Figures 3A-3F.
[0072] FIG. 3A is a block diagram of the document similarity finder 216 of the case assistant system according to one embodiment.
[0073] 2A and 3A, which together depict one embodiment of the document similarity finder 216 of the case assistant system 102, several sub-processes of the document similarity finder 216 will now be discussed.
[0074] It should first be noted that the historical closed case data 248 carries significant data value, which is often significant for resolving currently open cases represented by the currently open case data 246, especially in situations where the currently open case data 246 and the historical closed case data 248 are associated with the same client represented by the client data 244. Searching valuable data assets from the case intake & management database 242 and correlating the currently open case data 246 with the historical closed case data 248 is a standard engineering practice for understanding the background of currently open cases. However, as discussed above, this practice can be very costly, time consuming, and inefficient. As a result, utilizing the RPA worker 212 to proactively identify similar case data 213 from historical closed case data 248 to process alongside currently open case data 246 for a case associated with a client identified by the client data 244 can result in the identification of similar case data 213, which in one embodiment can provide a significant enhancement in the productivity of the client support professional 210. As one illustrative example, as discussed above, the RPA worker 212 can be configured to always run in the background of the client service system 207 and look for historical closed cases similar to the currently open case being worked on by the client support professional 210, such that the client support professional 210 does not have to spend valuable time and energy manually searching for similar case data 213.
[0075] In one embodiment, the RPA worker 212 works continuously in the background of the client service system to collect both case and non-case data. In one embodiment, case / employee factors such as employee availability and workload are relevant to the functionality of the case assistant system 102. In one embodiment, case / employee factors such as employee availability and workload are not relevant to the functionality of the case assistant system 102. Regardless of whether an individual case / employee factor is relevant to the proper functionality of the case assistant system 102, in one embodiment, the aggregated case / employee / employer data is processed to generate vectors that can be useful for identifying similarities between documents, which similarities assist client support professionals in efficiently and successfully resolving open cases.
[0076] Illustrative examples of potentially useful vectors and / or vector components / variables in the context of the case assistant system 102 include, but are not limited to, a client support professional's paid time off (PTO) dates and times; attributes defining a client support professional's status as active or inactive; and / or attributes defining a support professional's case load and milestones. Of particular importance to the document similarity finder 216 of the case assistant system 102 is document summary data retrieved from case records, which in various embodiments include data such as, but not limited to, case subject, case description, case size, case format, case solution, root cause, product name, and product module.
[0077] 3A , in one embodiment, a first sub-process of the document similarity finder 216 includes a vector data collector 218. In one embodiment, the vector data collector 218 accesses a case intake & management system 240 of the client service system 207. As discussed above, in one embodiment, the case intake & management system 240 includes a case intake & management database 242. In one embodiment, the case intake & management database 242 includes client data 244, currently open case data 246, and historical closed case data 248.
[0078] In one embodiment, the vector data collector 218 is a core integration program that collects data from source systems for several defined vectors. In various embodiments, the vector data collector 218 not only collects / aggregates data, but also filters and formats the collected data. In one embodiment, the vector data collector 218 analyzes and processes the data to determine which data elements are required by the various machine learning components utilized by the document similarity finder 216 of the case assistant system 102. In one embodiment, the vector data collector 218 retrieves data from the case intake & management database 242. In one embodiment, the data retrieved by the vector data collector 218 may include, but is not limited to, client and client case details as represented by current open case data 246, historical closed case data 248, and client data 244.
[0079] In various embodiments, highly useful data is collected by the vector data collector 218 from the case intake & management database 242 and client documents / records, such as data related to case matters. In one embodiment, this data is derived from case documents / records, including unformatted text data. In one embodiment, the vector data collector 218 aggregates and processes unformatted text data associated with the currently open case data 246, the historical closed case data 248, and the client data 244, so that the data can be more efficiently utilized by the various sub-systems and RPA workers / processes of the case assistant system 102. In one embodiment, processing the case and client data includes filtering and formatting the case and client data. In one embodiment, this data processing results in aggregated open case vector data and aggregated closed case vector data, which in one embodiment are structured to provide individual RPA workers with the specific data elements they need to properly perform their assigned functions.
[0080] In one embodiment, once the vector data collector 218 aggregates and processes the client and / or case data to generate aggregated open case vector data and aggregated closed case vector data, the vector data collector 218 then passes the aggregated open case vector data and the aggregated closed case vector data to the tokenizer 220, which parses the case vector data into individual tokens.
[0081] In one embodiment, the tokenizer 220 parses documents, pages, paragraphs, or sentences of the aggregated closed case vector data and the aggregated open case vector data into smaller units, such as individual words, groups of words, punctuation, numbers, and / or any other type of phrases and / or terms. In one embodiment, the groupings of words may include bigrams (2 words) and / or trigrams (3 words). As discussed herein, each of those smaller units is referred to as a token. To optimize the performance of the case assistant system 102, when a case is resolved / closed, the associated case data related to the currently closed case is converted into historical closed case data 248. In one embodiment, both the currently open case data 246 related to the open case being worked on by the client support professional 210 and the historical closed case data 248 related to previously closed cases are then passed to the tokenizer 220. In this manner, whenever a case is closed or whenever there is an update to a closed case, the case assistant system 102 automatically refreshes the associated case token. As an example, if and when a root cause or solution associated with a historical closed case is found, the case assistant system 102 updates the historical closed case data 248 associated with the closed case. In one embodiment, the updates to the historical closed case data 248 occur in real time or near real time.
[0082] In one embodiment, when performing the parsing operation, the tokenizer 220 removes many words that potentially provide no value in defining the context of the data. Although a conventional tokenizer could be used for this purpose, conventional tokenizers currently do not have the ability to reliably determine the context of a token in relation to the subject matter of documents associated with the current open case data 246 and the historical closed case data 248. As an illustrative example, conventional tokenizers often leave in many words / tokens that are not actually useful in establishing a business context, or they may remove words that are actually useful in establishing a business context. Thus, conventional tokenizers are not readily capable of providing useful results in processing tokens to identify the business context of documents associated with the case data. As discussed in additional detail below, establishing the business context of documents and / or files associated with the current case and / or historical case is an essential part of the invention disclosed herein.
[0083] In one embodiment, once the tokenizer 220 has finished parsing one or more documents into tokens, the tokenized open case vector data and the tokenized closed case vector data are then passed to a stop word remover 222, which utilizes a unique two-pass process to remove words from the tokenized case vector data that are not informative in determining the business context of the case.
[0084] FIG. 3B is a block diagram of the stop word remover 222 used by the document similarity finder 216 of the case assistant system according to one embodiment.
[0085] 3A and 3B together, in various embodiments, the stop word remover 222 of the document similarity finder 216 includes a two-pass process. In one embodiment, the two-pass process includes a stop word remover pass one 310 and a stop word remover pass two 312. In one embodiment, the stop word remover pass one 310 utilizes standard Natural Language Tool Kit (NLTK) functionality to remove stop words from the token vector received from the tokenizer 220. As one illustrative example, in standard stop word removal, one may have list A, which is then fed into an ML model to obtain list B, which is a more meaningful subset of list A. This standard stop word removal provides a reasonable filter as a first level of stop word removal. However, standard stop word removal still fails to provide quality results in terms of reliably identifying tokens that are useful for establishing the business context of a case. Therefore, to optimize the performance of the stop word remover 222, the stop word remover pass two 312 is designed to utilize supervised machine learning (ML) techniques 304 in accordance with the training data 302 to train an ML model by constructing an “ignorance list”. The “ignorance list” functions to remove additional irrelevant or less important tokens from the case data that may have been overlooked by the stop word remover pass one 310. Utilizing supervised machine learning techniques 304 in accordance with the training data 302 allows the “ignorance list” to continue to learn and expand as the stop word remover 222 is used with more and more cases, and the ML model grows more and more sophisticated as it continues to be trained. In one embodiment, the stop word remover pass 2 312 also includes a “qualifier list,” which does the opposite of the “ignorance list” by adding business context words that may have been mistakenly ignored in the first automation pass.In various embodiments, the stop word remover 222 further includes a stop word training user interface 314 that allows a user to oversee the training process.
[0086] Returning now to FIG. 3A , in one embodiment, once the stop word remover 222 has filtered the tokenized open case vector data and the tokenized closed case vector data based on the unique two-step process, the stop word remover 222 then passes the resulting filtered open case vector data and filtered closed case vector data to the relevance finder 224 which, in one embodiment, includes a unique two-pass process for identifying the business context of the closed and open cases represented by the filtered open case vector data and the filtered closed case vector data.
[0087] FIG. 3C is a block diagram of the relevance finder 224 used by the document similarity finder 216 of the case assistant system according to one embodiment.
[0088] 3A and 3C together, in various embodiments, the relevance finder 224 of the document similarity finder 216 also includes a two-pass process. In one embodiment, the two-pass process utilized by the relevance finder 224 includes a relevance finder pass one 316 and a relevance finder pass two 318. This two-pass process assigns a relevance weight, which in some embodiments is a number between 0 and 1, to each context token identified by the stop word remover 222 based on how relevant the tokens are within the document.
[0089] In one embodiment, the relevance finder pass one 316 uses term frequency-inverse document frequency (TF-IDF) to identify initial weights for tokens in the filtered open case vector data and the filtered closed case vector data. TF-IDF looks at factors such as associations between words along with how many times a particular word or phrase is used in a document. For example, a context is built based not only on how many times a word is found, but also on whether there are any related words set in the context. As one illustrative example, assume two tokens are "spreadsheet" and "Microsoft Excel." TF-IDF looks at the semantic associations between those tokens to determine relevance and relates words in a cosine similarity space to find related similar words. The stop word remover pass one 316 then generates a token weight list and passes the token weight list to the relevance finder pass two 318.
[0090] In one embodiment, Relevance Finder Path Two 318 passes the token weight list generated by Relevance Finder Path One 316 to a “Business Context Enrichment” process to further refine the token weights. For example, if the tokens are enterprise resource planning (ERP) product / module names, form names, report names, or process names, the weights of those tokens are increased by Relevance Finder Path Two 318 because those types of tokens define the business context of the problem more precisely. For example, a token that includes an ERP product / module name is more likely to be relevant to the context of the matching problem or solution compared to tokens such as “spreadsheet” or “log file.”
[0091] In one embodiment, the supervised learning method 304 and the training data 302 are utilized to enhance the business context list. The relevance training user interface 320 is designed to provide the user with the option to feed (or tag) business words as and when they are encountered and are not present in the existing business context list. In various embodiments, the initial business context list includes thousands of product and module names known to be supported by the business. In one embodiment, the relevance finder 224 generates weighted open issue vector data and weighted closed issue vector data, which are then passed to the similarity finder 226 of the document similarity finder 216.
[0092] Returning now to FIG. 3A , in one embodiment, the similarity finder 226 utilizes one or more similarity discovery processes that transform the weighted open case vector data and the weighted closed case vector data into a ranked listing of historical closed cases similar to the open case being worked on by the client support professional. In various embodiments, the similarity finder 226 is a key process in finding historical closed cases similar to the currently open case. In one embodiment, only cases from the same client are considered when identifying similar documents. In one embodiment, cases associated with multiple clients may be considered when identifying similar documents. In one embodiment, the similarity finder 226 ranks the historical closed cases from highest to lowest in similarity, with a ranking of 1=100% similarity and a ranking of 0=0% similarity. In one embodiment, a similarity threshold is set to determine a similarity value required for the document similarity finder 216 to suggest similar cases to the client support professional.
[0093] In various embodiments, the accuracy of the document similarity finder 226 depends heavily on the quality of tokens and their weights generated from previous document similarity finder 216 operations, as represented by the weighted open case vector data and weighted closed case vector data generated by the relevance finder 224. The accuracy of the document similarity finder 226 also depends on how bigram (2 word) and trigram (3 word) tokens are assembled, since business contexts are often defined solely by how words such as "Sales Order" or "Purchase Order" are circulated and always kept together.
[0094] In one embodiment, data is segregated to improve the performance of the similarity finder 226. For example, if the similarity finder 226 has thousands of cases to evaluate, the similarity finder 226 may first look at cases associated with the same product name because the chances of finding a similar business context are higher for cases associated with the same product name. In one embodiment, if no case documents meeting the similarity threshold are found for cases with the same product name, the similarity finder 226 may then look at cases within the same product line, and so on.
[0095] In one embodiment, the design of the similarity finder 226 is based heavily on dynamic selection of similarity discovery processes. While the similarity discovery process can be selected manually, the similarity finder 226 can also dynamically select the best similarity discovery process to use based on factors such as, but not limited to, the case problem context, the number of documents being compared, the size of each document, the number of pages in each document, the number of paragraphs in each document, the number of words in each document, the file type of each document, as well as the number of related words found by the relevance finder 224 for each document.
[0096] For example, one type of similarity finding process may work best for large documents and a different similarity finding process may work best for small documents. Alternatively, or in addition, one similarity finding process may provide better results when the number of related words found is large, and a different similarity finding process may provide better results when the number of related words found is small. In various embodiments, the ML model utilized by the similarity finder 226 dynamically selects the similarity finding process from the following options: cosine similarity algorithm; Jaccard similarity algorithm; and LSA similarity algorithm. In various other embodiments, other algorithms and / or processes as discussed herein and / or known in the art at the time of filing and / or developed or made known after filing may be utilized to determine similarity between file documents.
[0097] FIG. 3D is an exemplary representation of a cosine similarity measure 322 according to one embodiment.
[0098] In various embodiments, the cosine similarity algorithm measures the cosine of the angle between two vectors projected into a multi-dimensional space, where the smaller the angle between the two vectors, the more similar the subjects are. One version of the cosine similarity mathematical formula utilized by some embodiments of the present disclosure is:
number
number
[0099] FIG. 3E is an example depiction of a vector space model 324 utilized to detect token similarity according to one embodiment.
[0100] In various embodiments, the Jaccard similarity algorithm measures the similarity between two finite sample sets by taking the ratio of the Intersection over Union, which in one embodiment is defined as the size of the intersection divided by the size of the union of the two sets. One version of the Jaccard similarity mathematical formula utilized by some embodiments of the present disclosure is:
number
[0101] In some embodiments, a similarity algorithm based on Latent Semantic Analysis (LSA) may be used. In some embodiments, LSA uses a document-term matrix, describing the occurrence of terms in documents, to analyze relationships between a set of documents and the terms they contain.
[0102] 3A, 3B, and 3C together, as discussed above, the stop word remover 222, the relevance finder 224, and the similarity finder 226 each utilize various machine learning methods, such as, but not limited to, supervised learning methods 304, in accordance with the training data 302 to train various machine learning models to aid in stop word removal, relevance finding, and similarity finding. In various embodiments, a machine learning user interface, such as the stop word training user interface 314 of FIG. 3B and the relevance training user interface 320 of FIG. 3C, enables a user to monitor the training of the various machine learning models utilized by the disclosed embodiments.
[0103] FIG. 3F is an illustrative illustration of training data 302 utilized by the relevance finder 224 and the similarity finder 226 according to one embodiment.
[0104] 2A and 3A together, in one embodiment, the user interface 206 may include one or more end user interfaces, such as the user interface 206 provided to the client support professional 210. In one embodiment, the output of the similarity finder 226 is a ranked listing of historical closed cases found by the document similarity finder 216 to be similar to one or more currently open cases being worked on by the client support professional 210. In one embodiment, the RPA worker 212 provides the similar case data 213 to the client support professional 210 through the user interface 206 of the client service system 207. In one embodiment, the ranked similar case data 232 is provided to the skilled expert finder 228, as discussed in additional detail below.
[0105] Referring again to FIG. 3A, in one embodiment, the document similarity finder 216 also includes a Rules & Constraints layer 306 and a Master Data & Security layer 308. As part of the application infrastructure, the Rules & Constraints layer 306 and the Master Data & Security layer 308 are provided to allow configuration of portions of the data to be processed, to allow configuration of how the data is processed, and to allow configuration of which portions of the various user interfaces users have access to. For example, the Master Data & Security layer 308 can provide user management features to allow different users to be associated with different roles, and the Master Data & Security layer 308 can also control integration options, such as how often scheduled jobs run. In some embodiments, data can be updated and processed in real time, while in other embodiments, data processing jobs can be scheduled at specific intervals, such as hourly, daily, etc.
[0106] For the Rules & Constraints layer 306, various parameters can be configured, such as, but not limited to, those shown in the table below. [Table 1]
[0107] As shown in the table above, the Rules & Constraints layer 306 allows for easy scaling of the number of RPA workers utilized by the Case Assistant depending on various case factors. For example, a specification of 7 x 1 RPA workers indicates that there are 7 different jobs to perform, and one RPA worker is indicated for each job. If more RPA workers are desired, this can be up to 7 x 10 (10 workers for each of the 7 jobs), 7 x 100 (100 workers for each of the 7 jobs), or any number of workers for any number of jobs desired by the user of the Case Assistant system. In one embodiment, the overall service provider case volume is used to trigger a number of case workers to be assigned to each job for each case, ensuring that the service provider has enough computing power to handle all of the jobs for all of the cases.
[0108] In one embodiment, the rules & constraints layer 306 allows one or more RPA worker job types to be enabled and / or disabled. For example, in one embodiment, an RPA worker may be configured to perform all of document similarity finding, skilled expert finding, and business exception finding. In one embodiment, an RPA worker may be configured to perform only document similarity finding. For example, while three job types are listed here, any number and type of job can be configured to be performed by an RPA worker.
[0109] In one embodiment, the rules & constraints layer 306 allows for the selection of a similarity discovery process / algorithm to be used by the similarity finder 226 of the document similarity finder 216. As mentioned above, in various embodiments, the similarity process / algorithm is selected from the following processes / algorithms: cosine similarity algorithm; Jaccard similarity algorithm; and LSA similarity algorithm, and / or any other process / algorithm as known in the art at the time of filing and / or as developed or made available after filing. In one embodiment, the user can also configure dynamic selection of the similarity process / algorithm. In one embodiment, the cosine similarity process / algorithm is the default process / algorithm used.
[0110] In one embodiment, the Rules & Constraints layer 306 allows teams to be defined for use by the expert finder, which is discussed in additional detail below. In one embodiment, by default, the team is defined to include the case owner, the lead engineer, and the case team. In one embodiment, the Rules & Constraints layer 306 allows case assistant jobs to be enabled and / or disabled for specific product lines.
[0111] 2A , when the document similarity finder 216 identifies historically closed cases similar to one or more currently open cases being worked on by the client support professional 210, the resolution details of the similar historically closed cases are invaluable in discovering a resolution to the currently open case represented by the currently open case data 246. The RPA worker 212 of the case assistant system 102 can provide data and advice to the client support professional 210 in the form of potential functionality solutions to case resolution that can often be extremely beneficial to the client support professional 210 who may be working on one or more open cases represented by the currently open case data 246.
[0112] Additionally, when the similar case data 213 is presented to the client support professional 210, the case assistant system 102 enables the client support professional 210 to provide feedback as to whether the similar case data 213 provided by one or more of the RPA workers 212 was helpful in resolving the case, and this similar case feedback data (not shown) can then be used to further refine training data for the ML models and processes / algorithms utilized by the RPA workers 212.
[0113] As a result, a case document similarity discovery process, such as that provided by document similarity finder 216, can be utilized by RPA worker 212 using various machine learning processes / algorithms. Additionally, RPA worker 212 associated with document similarity finder 216 can be built, trained, configured, and associated with various continuous processes that run in the background of a client service system, such as client service system 207. Additionally, the process of RPA worker 212 associated with document similarity finder 216 of case assistant system 102 is a continuous process that is capable of continuously searching in near real-time for assistance that can be provided to client support professional 210. As a result, utilization of RPA worker 212 enables case assistant system 102 to proactively assist client support professional with the resolution of currently open cases represented by currently open case data 246. In one embodiment, utilizing the case assistant system 102 in combination with the RPA worker 212 increases the speed, efficiency, and accuracy of the client support professional's 210 efforts, thereby enabling the client support professional 210 to resolve client cases more quickly and successfully.
[0114] As discussed above, in various embodiments, aspects of the case assistant system 102 can be configured to work within defined boundaries / rules & constraints that can be accessed from the rules & constraints database 260 and taken into account during each of the process operations described herein. While details of the rules & constraints database 260, including similarity algorithm data 262, product line data 264, support team data 266, and RPA data 268, have been discussed above in connection with the rules & constraints layer 306 of the document similarity finder 216, data from the rules & constraints database 260 can also be utilized by other aspects of the case assistant system 102, such as the skilled expert finder 228, which will be discussed in additional detail below.
[0115] In one embodiment, the skilled expert finder 228 of the case assistant system 102 is utilized by one or more RPA workers 212 to alert support professionals, such as the client support professional 210, regarding the presence of a skilled expert (e.g., an employee of a service provider) who has previously resolved cases similar to one or more of the currently open cases being worked on by the client support professional 210. Upon identifying a skilled expert and generating the expert data 214, the skilled expert finder 228 can also function to initiate collaboration between the client support professional 210 and one or more skilled experts represented by the expert data 214. For example, when cases are resolved, they can be associated with the experts who worked to resolve the cases. Thus, when the document similarity finder 216 identifies historical closed cases similar to one or more of the currently open cases, the skilled expert finder 228 can be utilized by the RPA worker 212 to identify associated experts who have resolved the issues in the past. Additionally, the skilled expert finder 228 can utilize the skills manager 110 of the case allocation advisor 106 to identify experts whose skills are most relevant to resolving currently open cases. The RPA worker can then provide the ranked skilled expert data to initiate and offer the case review by the identified skilled experts. Comments from the identified skilled experts can then be saved as internal comments to the case itself, which can help improve collaboration opportunities between one or more experts and the client support professional 210, thus accelerating and enhancing case resolution.
[0116] A detailed description of an embodiment of the case allocation advisor 106 can be found in the related application to Sahni et al., U.S. patent application Ser. No. 16 / 195,668, entitled “METHOD AND SYSTEM FOR PROVIDING A MULTI-DIMENSIONAL HUMAN RESOURCE ALLOCATION ADVISER,” filed November 19, 2018, and issued as U.S. Patent No. 11,182,707 on November 23, 2021, which is incorporated by reference in its entirety as if fully set forth herein.
[0117] The Case Allocation Advisor described in U.S. Patent No. 11,182,707 details a system and method for recommended skilled experts who are available to tackle open cases through the use of various machine learning techniques based on factors such as, but not limited to, open case skill requirements, initial employee skill set data, dynamic employee skill set data, employee workload data, and employee availability data.
[0118] In one embodiment, the skilled expert finder 228 of the case assistant system 102 utilizes portions of the case allocation advisor 106 features specifically related to skills analysis and management, represented in FIG. 2A by the case allocation advisor 106's autonomous machine learning platform 252 and skills manager 110.
[0119] FIG. 2B is a block diagram of a manufacturing environment 200B associated with the case allocation advisor 106 utilized by the case assistant system 102 according to one embodiment.
[0120] In one embodiment, manufacturing environment 200B includes case assistant system 102 and service provider computing environment 205. In one embodiment, service provider computing environment 205 includes processor 203, physical memory 204, and case allocation advisor 106. In one embodiment, case allocation advisor 106 includes autonomous machine learning platform 252 and case intake & management system 240.
[0121] In one embodiment, the autonomous machine learning platform 252 includes an enterprise machine learning (ML) database 270, a skill manager 110, an ML engine 280, and ranked skill match employee data 230. In one embodiment, the enterprise ML database 270 includes aggregated employee skill set data 272, current open job skill set vector data 274, initial skill set match employee data 276, and normalized employee skill set vector data 278. In one embodiment, the skill manager 110 includes an employer business database 256, which further includes employee HR data 255, initial employee skill set data 257, and dynamic employee skill set data 259. In one embodiment, the ML engine 280 includes a pre-processing module 282 and a skill match, normalization, and ranking module 284. In one embodiment, case intake and management system 240 includes case intake and management database 242 , which further includes client data 244 , currently open case data 246 , and historical closed case data 248 .
[0122] In various embodiments, the case assistant system 102 uses all or a portion of the components and functionality of the case allocation advisor 106 and the autonomous machine learning platform 252, with various modifications, to perform its assigned tasks and provide its respective functionality to the user. One focus of the current disclosure is on the interaction of the case allocation advisor 106 and the autonomous machine learning platform 252 with the case assistant system 102 for purposes of providing ranked skills-matched employee data 230 to the case assistant system 102 for use in identifying skilled experts to assist client support professionals with resolving currently open cases.
[0123] 2B , in one embodiment, autonomous machine learning platform 252 includes enterprise ML database 270 and ML engine 280. As discussed in more detail below, in the operation of one embodiment, enterprise ML database 270 is the main repository for data obtained from and / or provided / generated by other components of case allocation advisor 106. Thus, in one embodiment, enterprise ML database 270 receives data from and provides data to other components of case allocation advisor 106, and thus, in one embodiment, is the central hub of case allocation advisor 106.
[0124] In one embodiment, the opportunity intake & management system 240 represents one or more computing systems and databases through which sales representatives for the service provider understand and record sales, track contracts and performance for both historical and current tasks, projects, or opportunities, coordinate upcoming tasks, projects, or opportunities, track ongoing performance and milestones, record client feedback and satisfaction, and perform any other client intake & customer relationship management functions as discussed or exemplified herein, and / or as known in the art at the time of filing, and / or as may become known / available after filing.
[0125] 2B , in one embodiment, case intake & management system 240 includes case intake & management database 242. In one embodiment, case intake & management database 242 includes historical closed case data 248. In one embodiment, historical closed case data 248 is aggregated data and includes case history data such as, but not limited to, closed case subject, closed case description, closed case summary, product name associated with the closed case, product line associated with the closed case, module, skills, and experience associated with the closed case, closed case root cause, closed case resolution, client support professional responsible for resolving the closed case, closed case communication & comments data, closed case resolution time, client associated with the closed case, closed case client satisfaction review data, closed case client relationship management data, and / or any other historical case data as discussed or exemplified herein and / or as known in the art at the time of filing and / or as known / made available after filing.
[0126] In one embodiment, case intake & management database 242 further includes currently open case data 246. In one embodiment, currently open case data 246 may include, but is not limited to, the name of a task, project, or case; the name of a client for whom a task, project, or case is to be performed; the names of one or more client support professionals assigned to a task; the priority of a task, project, or case; the priority of a client associated with a task, project, or case; a job equipment type or product line associated with a task, project, or case; any subcomponents included with a job equipment type or product line associated with a task, project, or case; the type of task, project, or case; the complexity of a task, project, or case; the name of a client for whom a task, project, or case is to be performed; the names of one or more client support professionals assigned to a task; the priority of a client associated with a task, project, or case; the job equipment type or product line associated with a task, project, or case; whether the client associated with the task, project, or issue is an escalated client or a strategic client; the average of any research or review data associated with the client and / or the task, project, or issue; the geographic location of the client or the geographic location where the task, project, or issue will be performed; the time zone associated with the client's location and / or the location where the task, project, or issue will be performed; and / or any other currently open issue data as discussed or exemplified herein, and / or as known in the art at the time of filing, and / or as made available after filing.
[0127] In one embodiment, the case intake & management database 242 further includes client data 244. In one embodiment, the client data 244 is aggregated client data and may include data representing, but not limited to, the name of the client; the client's priority; the type of equipment or product line associated with the client; any contractual obligations and / or requirements associated with the client and / or the tasks, projects, or cases performed on behalf of the client; whether the client is an escalated client or a strategic client; any research or review data averages associated with the client; client relationship history; the client's geographic location; the time zone associated with the client's location; and / or any other client data as discussed or illustrated herein, and / or as known in the art at the time of filing, and / or as made available or known after filing.
[0128] In one embodiment, all or a portion of the data stored in the Case Intake & Management Database 242, including, but not limited to, all or a portion of the Historical Closed Case Data 248, the Current Open Case Data 246, and the Client Data 244, is provided to and stored in the Enterprise ML Database 270 for access and use by other components of the Case Allocation Advisor 106.
[0129] 2B, in one embodiment, the skill manager 110 of the autonomous machine learning platform 252 includes an employer business database 256. In one embodiment, the employer business database 256 includes data associated with employer businesses and employees of the employer businesses, which in some embodiments include client support professionals.
[0130] In one embodiment, the employer business database 256 includes employee human resources (HR) data 255. In one embodiment, the employee HR data 255 may include, but is not limited to, the geographic locations of employees of the employer business; time zones associated with employees of the employer business; working time zones associated with employees of the employer business; human languages that employees of the employer business understand, speak, or write; machine and programming languages in which employees of the employer business are skilled; certification and / or education data associated with employees of the employer business; employee types, full-time, part-time, contractor, associated with employees of the employer business; reviews & client satisfaction data associated with employees of the employer business; planned paid time off (PTO) associated with employees of the employer business; and / or any other HR data as discussed or exemplified herein, and / or as known in the art at the time of filing, and / or as may become known / available after filing.
[0131] In one embodiment, employer business database 256 includes initial employee skill set data 257. In one embodiment, initial employee skill set data 257 may include, but is not limited to, employee skill set / experience data obtained from the employee themselves; employee skill set / experience data obtained from the employee's employment records; employee skill set / experience data obtained from the employee's HR records; employee skill set / experience data obtained from certification and schooling public records; employee accounts with professional social media sites; employee skill set / experience data obtained from general social media sites; employee skill set / experience data obtained from the employee's previous employers; and / or other sources of initial, self-reported / declared, and / or relatively static initial employee skill set data, as discussed or exemplified herein and / or as known in the art at the time of filing and / or as developed subsequent to filing.
[0132] In one embodiment, the employer business database 256 includes dynamic employee skill set data 259. In one embodiment, the dynamic employee skill set data 259 is derived from the historical closed case data 248 as well as the skills and experience acquired / gained by each employee "on the job."
[0133] In one embodiment, dynamic employee skill set data 259 is obtained at the product line, product, and release or version level based on one or more of: dynamically updated task, project, or case closure data associated with the employee, including total number of closed tasks, projects, or cases; dynamically updated average time to close for a task, project, or case; dynamically updated average client survey or ranking data per customer / product / employee; dynamically updated experience & team participation data; dynamically updated team leadership experience data; dynamically updated case priority experience; dynamically updated milestones per period to determine the employee's current workload; and / or any other sources of dynamic employee skill set data as discussed or exemplified herein, as known in the art at the time of filing, and / or as developed after filing.
[0134] 2B , in one embodiment, autonomous machine learning platform 252 includes ML engine 280. In one embodiment, ML engine 280 performs pre-processing, skill matching, normalization, and ranking functions for autonomous machine learning platform 252. To this end, in one embodiment, ML engine 280 includes pre-processing module 282 and skill matching & normalization & ranking module 284. In one embodiment, pre-processing module 282 performs functions of acquiring, transferring, processing, aggregating, remediating, storing, and updating various data from multiple data sources to and from enterprise ML database 270.
[0135] In one embodiment, employee skill set consolidation / aggregation is performed in pre-processing module 282 of ML engine 280 to generate aggregated employee skill set data 272 for each employee of the employer business using all or a portion of the employee's initial employee skill set data 257, dynamic employee skill set data 259, and employee HR data 255. In one embodiment, all or a portion of aggregated employee skill set data 272 is then provided to enterprise ML database 270 and stored therein for access and use by other components of case allocation advisor 106.
[0136] In one embodiment, the pre-processing module 282 obtains and processes all or a portion of the initial employee skill set data 257, the dynamic employee skill set data 259, and the employee HR data 255 to generate aggregated employee skill set data 272 for each employee based on a multi-dimensional analysis of the initial employee skill set data 257, the dynamic employee skill set data 259, and the employee HR data 255, and dynamically updates the aggregated employee skill set data 272 periodically and / or as new data becomes available. In one embodiment, the aggregated employee skill set data 272 is updated in near real-time.
[0137] In one embodiment, all or a portion of the aggregated employee skill set data 272 is provided to the enterprise ML database 270 by the pre-processing module 282 and stored in the enterprise ML database 270 for access and use by other components of the case allocation advisor 106, and the aggregated employee skill set data 272 in the enterprise ML database 270 is dynamically updated by the pre-processing module 282 periodically and / or as new data becomes available. In one embodiment, the aggregated employee skill set data 272 is updated in near real-time.
[0138] The aggregated employee skill set data 272 provides employee skill set dimensions that provide unique and distinct perspectives of employee skills that are important versus a unified view of employee skills, and enables the generation and normalization of employee skill set data, as discussed in further detail below, which is then used, in one embodiment, to generate the disclosed normalized employee skill set vector data 278, which is used to make conclusions and decisions to provide the ranked skill-matched employee data 230 to the case assistant system 102, in accordance with one embodiment.
[0139] In one embodiment, the pre-processing module 282 further obtains all or a portion of the historical closed case data 248, the currently open case data 246, and the client data 244 including skill set data regarding skills required for resolution of the currently open case, where the skill set data is derived from the currently open case data 246 and the client data 244 and represents the required skill sets of employees to fulfill the needs of the tasks, jobs, and / or projects associated with the currently open case. In one embodiment, the pre-processing module 282 then processes this data to generate currently open case skill set vector data 274 representing the identified skill sets associated with the currently open case. In one embodiment, the currently open case skill set vector data 274 is then provided by the pre-processing module 282 to the enterprise ML database 270 and stored in the enterprise ML database 270 for access and use by other components of the case allocation advisor 106.
[0140] As seen in FIG. 2B , in one embodiment, various pre-processed data, including but not limited to aggregated employee skill set data 272 and current open case skill set vector data 274, is provided to an enterprise ML database 270, which is periodically updated and made available for access and use by other components of the case allocation advisor 106, including the skills matching, normalization, and ranking module 284.
[0141] In one embodiment, the enterprise ML database 270 and the skills match, normalization, and ranking module 284 exchange and update data to update the ranked skills matched employee data 230. In one embodiment, in the skills match, normalization, and ranking module 284, machine learning processes / algorithms are used to identify, normalize, and rank the aggregated employee skill set data 272 with respect to skill sets identified as necessary for a given task and / or project, as represented by the currently open job skill set vector data 274.
[0142] In one embodiment, the currently open file skill set vector data 274 is generated by one or more machine learning services and / or modules of the skills matching & normalization & ranking module 284. In various embodiments, the set of one or more machine learning services or modules includes, but is not limited to, one or more of: supervised machine learning services or models; unsupervised machine learning services or models; semi-supervised machine learning services or models; or any other machine learning services or models capable of generating the currently open file skill set vector data 274 as discussed or illustrated herein and / or as known in the art at the time of filing and / or as developed or made available after filing. In one embodiment, once generated by the skills matching & normalization & ranking module 284, the currently open file skill set vector data 274 is provided to the enterprise ML database 270 and stored therein for access and use by other components of the file allocation advisor 106.
[0143] In one embodiment, the skills match & normalization & ranking module 284 generates normalized employee skill set vector data 278. To this end, in one embodiment, the aggregated employee skill set data 272 and the currently open job skill set vector data 274 for each employee are skill matched, i.e., processed using a skills discovery routine by the skills match & normalization & ranking module 284, to generate initial skill set matched employee data 276 representing employees who appear to have associated skill set data that matches or most closely matches the skill sets represented in the currently open job skill set vector data 274 according to the aggregated employee skill set data 272 associated with the initial skill set matched employees represented by initial skill set matched employee data 276.
[0144] In one embodiment, the aggregated employee skill set data 272 and current open job skill set vector data 274 for each employee are skill matched by a skills matching, normalization, and ranking module 284 using one or more machine learning processes / algorithms, such as, but not limited to, k-nearest neighbor (KNN) classification, and weighted or unweighted Euclidean distance methods, or any other classification process / algorithm / methodology as discussed or exemplified herein and / or known in the art at the time of filing and / or developed after filing.
[0145] In one embodiment, employees are first determined by the skills matching, normalization, and ranking module 284 to match or most closely match the skill sets represented in the currently open job skill set vector data 274 based on identified common skills present in both the currently open job skill set vector data 274 and the aggregated employee skill set data 272, also referred to as matched skills or matched skill characteristics.
[0146] In one embodiment, the skills match & normalization & ranking module 284 then uses machine learning processes / algorithms to identify, normalize, and rank the aggregated employee skill set data 272 with respect to the skill sets identified as necessary for a given task or project. As described above, in one embodiment, the matched skills contained in the skill set data for each initially skill set matched employee are normalized by the skills match & normalization & ranking module 284 to generate normalized employee skill set vector data 278 for each employee. In one embodiment, the normalization process is based on aggregated dynamic “on the job” acquired skill set data for employees associated with matched skills in the dynamic employee skill set data 259.
[0147] As described above, in various embodiments, the dynamic employee skill set data 259 in the employer business database 256 for employees associated with the matched skill set characteristic may include, but is not limited to, total cases closed by employees associated with the matched skill set characteristic; average time to close for cases worked on by employees associated with the matched skill set characteristic; average customer satisfaction review score for the employee's matched skill set characteristic; total cases owned and / or closed by employees associated with the matched skill set characteristic; total cases led and / or closed by employees associated with the matched skill set characteristic. the total cases contributed by the employee associated with the matched skill set characteristic; the average resolution time associated with the total cases owned and / or closed and / or participated in by the employee associated with the matched skill set characteristic; the average reviews and customer satisfaction inputs / ratings for the employee or team associated with the matched skill set characteristic; and / or any other dynamic skill set data associated with the employee and the matched skill set characteristic, as discussed or exemplified herein, and / or as known in the art at the time of filing, and / or as made available after filing.
[0148] The process for skill matching, normalization, and ranking performed by the skill matching & normalization & ranking module 284 is discussed in additional detail below.
[0149] In one embodiment, once generated by the skills matching, normalization, and ranking module 284, the normalized employee skill set vector data 278 for each employee is provided to the enterprise ML database 270 and stored therein for access and use by other components of the case allocation advisor 106.
[0150] In one embodiment, normalized employee skill set vector data 278 for each initially matched employee is generated by skill matching, normalization, and ranking module 284 using one or more machine learning services and / or models as input data to match the normalized employee skill set data and skill set features. In various embodiments, one or more of the machine learning services or modules include, but are not limited to, one or more of supervised machine learning services or models; unsupervised machine learning services or models; semi-supervised machine learning services or models; or any other machine learning services or models capable of generating normalized employee skill set vector data 278 as discussed or illustrated herein and / or as known in the art at the time of filing and / or as developed or made available after filing.
[0151] In one embodiment, once generated by the skills matching, normalization, and ranking module 284, the normalized employee skill set vector data 278 for each employee is provided to the enterprise ML database 270 and stored therein for access and use by other components of the case allocation advisor 106.
[0152] 2B , in one embodiment, ranked skill-matched employee data 230 is generated by skills match & normalization & ranking module 284. In one embodiment, ranked skill-matched employee data 230 is generated by skills match & normalization & ranking module 284 using currently open job skill set vector data 274 and normalized employee skill set vector data 278 and one or more machine learning processes / algorithms. In one embodiment, skills match & normalization & ranking module 284 uses currently open job skill set vector data 274 and normalized employee skill set vector 278 as inputs to one or more previously trained machine learning models.
[0153] In one embodiment, the previously trained machine learning model is trained in an offline environment (not shown) using as training data the total cases closed by the employee, the average resolution time for cases closed by the employee, the average customer satisfaction review score data for the employee, the historical case data, the historical client data, the historical initial employee skill set data, the historical dynamic employee skill set data, the historical employee HR data, and the historical rules & constraints data, along with historical task, project, or case completion data, historical customer review / rating data, and other historical case & employee data. In one embodiment, using this training data, the machine learning model is trained to match and rank the normalized employee skill set vector data 278 for employees who were initially matched with the currently open case skill set vector data 274.
[0154] In various embodiments, the machine learning model is one or more of: a supervised machine learning service or model; an unsupervised machine learning service or model; a semi-supervised machine learning service or model; or any other machine learning service or model capable of being trained to match and rank the normalized employee skill set vector data 278 for employees who are initially matched with the currently open job skill set vector data. As a specific illustrative example, in one embodiment, the machine learning model utilizes a weighted or unweighted Euclidean distance method or any other ranking process / algorithm / methodology as discussed or illustrated herein and / or known in the art at the time of filing and / or developed after filing.
[0155] 2B , in one embodiment, the output of the machine learning model and skills match & normalization & ranking module 284 is ranked skill matched employee data 230. In one embodiment, the ranked skill matched employee data 230 includes data representing employees who match or most closely match the currently open case according to the employee's aggregated employee skill set data 272. In one embodiment, the ranked skill matched employee data 230 for the currently open case includes data representing employees who have aggregated employee skill set data 272 that most closely match the currently open case skill set vector data 274. In one embodiment, the ranked skill matched employee data 230 is then provided to the case assistant system 102 for further processing.
[0156] 2A , in one embodiment, the ranked skill-matched employee data 230 is provided by the case allocation advisor 106 to a skilled expert finder 228 of the case assistant system 102. In one embodiment, ranked similar case data 232, as previously generated by the document similarity finder 216, is also provided to the skilled expert finder 228. In one embodiment, the skilled expert finder 228 merges the ranked skill-matched employee data 230 and the ranked similar case data 232 to generate ranked skilled expert data 234, which in an embodiment disclosed herein represents data associated with employees of the service provider business who have resolved cases similar to the currently open case and who have skill sets that most closely match the skill set required for effective resolution of the currently open case. In one embodiment, the ranked skilled expert data 234 is formatted into expert data 214, and the RPA worker 212 provides the formatted expert data 214 to the client support professional 210 through the user interface 206 of the client service system 207, which enables the client support professional 210 to resolve client cases more quickly and successfully through collaboration with the skilled experts.
[0157] As discussed above, in one embodiment, ranked similar job data 232 is generated in part using one or more similarity processes / algorithms, such as, but not limited to, a cosine similarity algorithm, a Jaccard algorithm, and an LSA algorithm. In one embodiment, ranked skill-matched employee data 230 is generated in part using one or more processes / algorithms, such as, but not limited to, a Euclidean distance algorithm. In one embodiment, skilled expert finder 228 merges the values generated by each process / algorithm used to arrive at a “proximity” factor that provides a method for ranking skilled experts represented by ranked skilled expert data 234.
[0158] In some embodiments, the skilled expert finder 228 is also utilized to identify skill gaps during the case life cycle. Resolving enterprise cases often requires extensive and deep product, technical, and industry knowledge, as well as other skills such as local language and localization. As the case life cycle progresses, the skill set required for the case often changes, making it important to periodically reassess the skills of the client support professionals assigned to the case during the case life cycle. For example, during the case life cycle, communication typically goes back and forth between the client and the client support professionals. As more knowledge is gained about the case, the case gains more direction and becomes more defined. During those communications, new information is often received about the cause of the problem. As one simplified illustration, when a case first begins, a client support professional assigned to a case may be focused on the skills associated with product component A and product component B, but by the time the professional gets more details about the case, for example, midway through or toward the end of the case life cycle, the case professional may discover that the product skills needed to resolve the case are actually the skills associated with components C and D. In one embodiment, an RPA worker 212 associated with a skilled expert finder 228 may continuously check in in the background to determine if there are any skills gaps and identify additional client support professionals who can be assigned to the case.
[0159] It should be noted that for this particular use case of the skilled expert finder 228, additional functionality may need to be provided by the case allocation advisor 106 to allocate a new client support professional to the case. For example, in the embodiment of FIG. 2B, because the case assistant system 102 is searching for an expert to advise the case (as opposed to actively working on the case), many of the rules & constraints, filtering, and load balancing features that can be provided by the case allocation advisor 106 are not needed. In situations where a new support professional needs to be added to the case, however, those additional features may be needed. All of these additional features are discussed in detail in the related application to Sahni et al., entitled "METHOD AND SYSTEM FOR PROVIDING A MULTI-DIMENSIONAL HUMAN RESOURCE ALLOCATION ADVISER," filed November 19, 2018, and issued as U.S. Patent No. 11,182,707 on November 23, 2021, which is incorporated by reference in its entirety below as if fully set forth herein.
[0160] As shown in FIG. 2A , in one embodiment, the case assistant system 102 also includes a business exception finder 238. In one embodiment, the business exception finder 238 of the case assistant system 102 is utilized by one or more RPA workers 212 to proactively alert client support professionals to business exceptions. For example, monitoring case progress is an essential part of case management, especially for high priority cases. Situations often arise that require immediate attention to ensure that cases continue to progress. Examples of situations that may cause an execution alert include, but are not limited to, an engineer being off work, an engineer and / or contractor leaving the company, and / or multiple high priority cases being assigned to a particular engineer. In one embodiment, the RPA worker 212 of the case assistant system 102 can be easily configured via business alert configuration 236 to continuously search in the background for those types of business exceptions and generate business exception data 237 and raise alerts as necessary, which can be extremely helpful in reassuring the commitment to the client with regard to managing those types of exceptions and special situations in an efficient and productive manner. Additional examples of business exception alerts provided by the case assistant system 102 are discussed in additional detail below.
[0161] process FIG. 4A is a flow diagram of a process 400A for providing case assistance to a client support professional according to one embodiment.
[0162] In one embodiment, process 400A begins at BEGIN 402 and process flow proceeds to 404. In one embodiment, at 404, a client support professional is provided with a user interface to a client service system that includes case data associated with one or more clients of the service provider.
[0163] As discussed above, many businesses provide various services to their clients. Thus, these businesses may be referred to herein as "service providers." Additionally, many businesses utilize one or more computer-based client service systems or client management systems to collect, track, and analyze data regarding various jobs, tasks, and projects performed by their employees. Thus, the term "client service system" as used herein refers to the computer-based systems used by the business / service provider. The employees of the business / service provider who are engaged in tasks that serve to support the various needs of their clients are referred to herein as "client support professionals." In one embodiment, a user interface to the client service system is provided to the client support professional through one or more computing systems utilized by the client support professional. In the embodiments disclosed herein, the term "computing system" includes any type of computing system capable of providing the client support professional with a user interface that enables them to interact with the components of the client service system.
[0164] In one embodiment, at 404, a client support professional is provided with a user interface to a client service system and process flow proceeds to 406. In one embodiment, at 406, current open case data is obtained that represents current open cases assigned to the client support professional.
[0165] As described above, in one embodiment, the currently open case data may include, but is not limited to, the name of the task, project, or case; the name of the client for which the task, project, or case is to be performed; the names of one or more client support professionals assigned to the task, the priority of the task, project, or case; the priority of the client associated with the task, project, or case; the job equipment type or product line associated with the task, project, or case; any subcomponents included with the job equipment type or product line associated with the task, project, or case; the type of the task, project, or case; the complexity of the task, project, or case; whether a client associated with a task, project, or issue is an escalated client or a strategic client; the average of any research or review data associated with the client and / or the task, project, or issue; the geographic location of the client and / or the geographic location where the task, project, or issue will be performed; the time zone associated with the client's location and / or the location where the task, project, or issue will be performed; and / or any other currently open issue data as discussed or exemplified herein, and / or as known in the art at the time of filing, and / or as made available after filing.
[0166] In one embodiment, once the currently open case data is obtained at 406, process flow proceeds to 408. In one embodiment, at 408, historical closed case data is obtained that represents historical closed cases associated with the service provider.
[0167] As described above, in one embodiment, the historical closed case data is aggregated data and may include case history data, such as, but not limited to, closed case subject, closed case description, closed case summary, product name associated with the closed case, product line associated with the closed case, module, skills, and experience associated with the closed case, closed case root cause, closed case resolution method, client support professional responsible for resolving the closed case, closed case communication & comments data, closed case resolution time, client associated with the closed case, closed case client satisfaction review data, closed case client relationship management data, and / or any other historical case data as discussed or exemplified herein, and / or as known in the art at the time of filing, and / or as becomes known or available after filing.
[0168] In one embodiment, once the historical closed case data is obtained at 408, process flow proceeds to 410. In one embodiment, at 410, one or more RPA workers are trained to process the currently open case data and the historical closed case data using one or more machine learning processes.
[0169] As discussed above, in various embodiments, one or more RPA workers are trained using various machine learning processes and techniques to perform data processing jobs, including, but not limited to, stop word removal, association finding, similarity finding, skilled expert finding, and business exception finding. In some embodiments, initial training data is provided to the RPA workers, and the training data is continuously updated and refined as the RPA workers perform their assigned data processing jobs. Thus, the RPA workers are continuously learning as they perform their functions, which allows them to dynamically adapt to unanticipated conditions and environments.
[0170] In one embodiment, once one or more RPA workers are trained at 410, process flow proceeds to 412. In one embodiment, at 412, the one or more trained RPA workers are configured to process current open case data and historical closed case data in near real-time.
[0171] As discussed above, in various embodiments, one or more RPA workers can be configured in various ways. For example, in one embodiment, each RPA worker can be assigned a specific job, such as, but not limited to, document similarity finding, skilled expert finding, and business exception finding. Furthermore, each RPA worker can be assigned a specific schedule. For example, some RPA workers can be configured to run continuously in near real-time, while others can be configured to run periodically, such as once every five minutes, once an hour, or once a day, or any other scheduled time suitable for efficient execution of the jobs assigned to the RPA worker. In one embodiment, the number of RPA workers assigned to a particular job can be easily configured and scaled, taking into account factors such as the overall service provider case load, which results in enhanced performance of the RPA workers.
[0172] In one embodiment, once one or more trained RPA workers are configured at 412, process flow proceeds to 414. In one embodiment, at 414, the configured trained RPA workers are utilized to identify historical closed cases similar to currently open cases, and ranked similar case data is generated.
[0173] In one embodiment, identifying historical closed cases similar to a currently open case and generating ranked similar case data involves various additional process steps, as illustrated in FIG. 4B.
[0174] FIG. 4B is a flow diagram of a process 400B for identifying similar cases according to one embodiment.
[0175] In one embodiment, at 414 of Figure 4A, process flow proceeds from 414 of Figure 4A to 416 of Figure 4B to identify historically closed cases similar to the currently open case and generate ranked similar case data. In one embodiment, at 416, the obtained currently open case data is aggregated and processed to generate aggregated open case vector data.
[0176] As discussed in additional detail above, in one embodiment, 416 utilizes a vector data collector, which is a core integration program that collects data from source systems for several defined vectors. In various embodiments, the vector data collector not only collects / aggregates the data, but also processes the data to determine which data elements are required by various machine learning components utilized by the case assistant system of the client service system. In one embodiment, the vector data collector may retrieve currently open case data.
[0177] In one embodiment, the currently open case data is derived from case documents / records that include unformatted text data. Thus, in one embodiment, the vector data collector processes the currently open case data by filtering and formatting the unformatted text data associated with the currently open case data so that the currently open case data can be more efficiently utilized by the RPA workers / processes. This data processing results in aggregated open case vector data that, in some embodiments, is formatted and filtered to provide individual RPA workers with the specific data elements they need to properly perform their assigned functions.
[0178] In one embodiment, once the aggregated open case vector data is generated at 416, process flow proceeds to 418. In one embodiment, at 418, the retrieved historical closed case data is aggregated and processed to generate aggregated closed case vector data.
[0179] In one embodiment, 418 utilizes a vector data collector to retrieve the historical closed case data. In one embodiment, the historical closed case data is derived from case documents / records that include unformatted text data. Thus, in one embodiment, the vector data collector processes the historical closed case data to filter and format the unformatted text data associated with the historical closed case data so that the historical closed case data can be more efficiently utilized by RPA workers / processes. This data processing results in aggregated closed case vector data that, in some embodiments, is formatted and filtered to provide individual RPA workers with the specific data elements they need to properly perform their assigned functions.
[0180] In one embodiment, once aggregated closed case vector data is generated at 418, process flow proceeds to 420. In one embodiment, at 420, the aggregated open case vector data is parsed into tokens to generate tokenized open case vector data.
[0181] As discussed in more detail above, in one embodiment, 420 utilizes a tokenizer that parses documents, pages, paragraphs, or sentences of the aggregated open issue vector data into smaller units, such as individual words, groups of words, punctuation, numbers, and / or any other typed phrases and / or terms. In one embodiment, while performing the parsing operation, the tokenizer removes many words that potentially do not provide value in terms of defining the context of the data. In one embodiment, parsing the aggregated open issue vector data results in the generation of tokenized open issue vector data.
[0182] In one embodiment, once the tokenized open case vector data is generated at 420, process flow proceeds to 422. In one embodiment, at 422, the aggregated closed case vector data is parsed into tokens to generate tokenized closed case vector data.
[0183] As discussed in more detail above, in one embodiment, 422 utilizes a tokenizer that parses documents, pages, paragraphs, or sentences of the aggregated closed case vector data into smaller units, such as individual words, groups of words, punctuation, numbers, and / or any other typed phrases and / or terms. In one embodiment, while performing the parsing operation, the tokenizer removes many words that potentially do not provide value in terms of defining the context of the data. In one embodiment, parsing the aggregated closed case vector data results in the generation of tokenized closed case vector data.
[0184] In one embodiment, once the tokenized closed case vector data is generated at 422, process flow proceeds to 424. In one embodiment, at 424, tokens in the tokenized open case vector data that are not informative in determining the context of the currently open cases represented by the currently open case data are identified to generate filtered open case vector data.
[0185] As discussed in more detail above, in various embodiments, a stop word remover is utilized that includes a two-pass process. The two-pass process includes a stop word remover pass one and a stop word remover pass two. In one embodiment, the stop word remover pass one utilizes standard Natural Language Tool Kit (NLTK) functionality to remove stop words from the tokenized open matter vector data received from the tokenizer. In one embodiment, the stop word remover pass two utilizes supervised machine learning (ML) techniques according to the training data to train an ML model by constructing an "ignorance list." The "ignorance list" functions to remove additional irrelevant or less important tokens from the tokenized open matter vector data that may have been overlooked by the stop word remover pass one. In one embodiment, the stop word remover pass two also includes a "qualifier list," which does the inverse of the "ignorance list" to add business context words that may have been erroneously ignored in the first automated pass. In various embodiments, the stop word remover further includes a stop word training user interface, which allows a user to oversee the training process. In one embodiment, utilizing the stop word remover to process the tokenized open case vector data results in the generation of filtered open case vector data.
[0186] In one embodiment, once the filtered open case vector data is generated at 424, process flow proceeds to 426. In one embodiment, at 426, tokens in the tokenized closed case vector data that are not informative in determining the context of each of the historical closed cases represented by the historical closed case data are identified to generate filtered closed case vector data.
[0187] As discussed in more detail above, in various embodiments, a stop word remover is utilized that includes a two-pass process. In one embodiment, the stop word remover pass one utilizes standard Natural Language Tool Kit (NLTK) functionality to remove stop words from the tokenized closed case vector data received from the tokenizer. In one embodiment, the stop word remover pass two utilizes supervised machine learning (ML) techniques according to the training data to train an ML model by building an "ignorance list." The "ignorance list" serves to remove additional irrelevant or less important tokens from the tokenized closed case vector data that may have been overlooked by the stop word remover pass one. In one embodiment, the stop word remover pass two also includes a "qualifier list," which does the reverse of the "ignorance list" and adds back business context words that may have been erroneously ignored in the first automation pass. In various embodiments, the stop word remover further includes a stop word training user interface that allows a user to oversee the training process. In one embodiment, utilizing the stop word remover to process the tokenized closed case vector data results in the generation of filtered closed case vector data.
[0188] In one embodiment, once the filtered closed case vector data is generated at 426, process flow proceeds to 428. In one embodiment, at 428, a relevance weight is assigned to each token in the filtered open case vector data to generate weighted open case vector data.
[0189] As discussed in more detail above, in various embodiments, a relevance finder is utilized by 428 that includes a two-pass process. In one embodiment, the two-pass process utilized by the relevance finder includes a relevance finder pass one and a relevance finder pass two. This two-pass process assigns a relevance weight, which in some embodiments is a number between 0 and 1, to each context token of the filtered open issue vector data identified by the stop word remover based on how relevant the tokens are within the document.
[0190] In one embodiment, Relevance Finder Pass One uses term frequency-inverse document frequency (TF-IDF) to identify initial weights for tokens in the filtered open issue vector data. Relevance Finder Pass One then generates a token weight list and passes the token weight list to Relevance Finder Pass Two.
[0191] In one embodiment, Relevance Finder pass two passes the token weight list generated by Relevance Finder pass one to a “business context enrichment” process to further refine the token weights of the filtered open matter vector data. In one embodiment, supervised learning methods and training data are utilized to enrich the business context list. In one embodiment, a relevance training user interface is provided that allows a user to feed (or tag) business words as and when they are encountered and are not present in the existing business context list. In one embodiment, utilizing Relevance Finder to process the filtered open matter vector data results in the generation of weighted open matter vector data.
[0192] In one embodiment, once the weighted open case vector data is generated at 428, process flow proceeds to 430. In one embodiment, at 430, a relevance weight is assigned to each token of the filtered closed case vector data to generate weighted closed case vector data.
[0193] As discussed in more detail above, in various embodiments, a relevance finder is utilized by 430 that includes a two-pass process. In one embodiment, each context token in the filtered closed case vector data identified by the stop word remover is assigned a relevance weight, which in some embodiments is a number between 0 and 1, based on how relevant the tokens are within the document.
[0194] In one embodiment, Relevance Finder Pass One uses term frequency-inverse document frequency (TF-IDF) to identify initial weights for tokens in the filtered closed case vector data. Relevance Finder Pass One then generates a token weight list and passes the token weight list to Relevance Finder Pass Two.
[0195] In one embodiment, Relevance Finder pass two passes the token weight list generated by Relevance Finder pass one to a “business context enrichment” process to further refine the token weights of the filtered closed case vector data. In one embodiment, supervised learning methods and training data are utilized to enrich the business context list. In one embodiment, a relevance training user interface is provided that allows a user to feed (or tag) business words as and when they are encountered and are not present in the existing business context list. In one embodiment, utilizing Relevance Finder to process the filtered closed case vector data results in the generation of weighted closed case vector data.
[0196] In one embodiment, once the weighted closed case vector data is generated at 430, process flow proceeds to 432. In one embodiment, at 432, one or more similarity processes are provided with the weighted open case vector data and the weighted closed case vector data to generate a list of historical closed cases that are similar to the currently open case.
[0197] As discussed in more detail above, in one embodiment, a similarity finder is utilized by 432 that utilizes one or more similarity processes to convert the weighted open case vector data and the weighted closed case vector data into ranked listings for engagement by the client support professional. In one embodiment, the similarity finder ranks historical closed cases from highest to lowest in similarity, with a ranking of 1=100% similarity and a ranking of 0=0% similarity. In one embodiment, a similarity threshold is set to determine the similarity value required for the document similarity finder to suggest similar cases to the client support professional. In one embodiment, the similarity process utilized in 432 may be configured through the Rules & Constraints configuration interface of the Case Assistant system.
[0198] FIG. 5 is a screenshot of an example rules & constraints configuration interface 500 that may be utilized by the case assistant system, according to one embodiment.
[0199] As mentioned above, in one embodiment, the design of the document similarity finder is based heavily on dynamic selection of similarity discovery processes. While the similarity discovery process can be selected manually, through an interface such as the rules & constraints configuration interface 500, the similarity finder can also be configured to dynamically select the best similarity discovery process to use based on factors such as, but not limited to, the case problem context, the number of documents being compared, the size of each document, the number of pages in each document, the number of paragraphs in each document, the number of words in each document, the file type of each document, as well as the number of related words found for each document.
[0200] For example, one type of similarity process may work best for large documents and a different similarity process may work best for small documents. Alternatively, or in addition, one similarity process may provide better results when a large number of related words are found and a different similarity process may provide better results when a small number of related words are found. In various embodiments, the ML model utilized by the document similarity finder of the case assistant system may be configured to dynamically select a similarity process from the following options: Cosine similarity algorithm; Jaccard similarity algorithm; and LSA similarity algorithm, as shown in the similarity algorithm selection menu 502 of the rules & constraints configuration interface 500. In various other embodiments, other algorithms and / or processes may be utilized to determine similarity between case documents, as discussed herein and / or known in the art at the time of filing and / or developed or made known after filing.
[0201] Referring again to FIG. 4B, in one embodiment, utilizing a similarity finder to process the weighted open case vector data and the weighted closed case vector data results in the generation of a list of historical closed cases that are similar to the currently open case.
[0202] In one embodiment, once the list of historically closed cases similar to the currently open case is generated at 432, process flow proceeds to 434. In one embodiment, at 434, each historically closed case in the list of similar historically closed cases is assigned a similarity ranking to generate ranked similar case data.
[0203] In one embodiment, once the ranked similar case data is generated, process flow proceeds again to FIG. 4A and operation 436. In one embodiment, at 436, the configured trained RPA workers are utilized to identify experts skilled in historical closed cases similar to the currently open case, and ranked skilled experts data is generated.
[0204] In one embodiment, identifying seasoned experts on historical closed cases similar to a currently open case and generating ranked seasoned experts data involves various additional process steps, as shown in FIG. 4C.
[0205] FIG. 4C is a flow diagram of a process 400C for identifying a seasoned expert according to one embodiment.
[0206] In one embodiment, at 436 of Figure 4A, process flow proceeds to 438 of Figure 4C to identify experts skilled in historical closed cases similar to the currently open case and generate ranked skilled experts data. In one embodiment, at 438, initial employee skill set data, dynamic employee skill set data, and employee HR data are obtained.
[0207] In one embodiment, at 438, the initial employee skill set data is obtained from one or more sources, including, but not limited to, one or more of the employee themselves, and / or the employee's employment records, and / or the employee's HR records, and / or public records of certifications and schooling, and / or employee accounts with professional and / or general social media sites, and / or other sources of initial, self-reported / declared, and / or relatively static initial employee skill set data, as discussed or exemplified herein, and / or as known in the art at the time of filing, and / or as developed after filing.
[0208] In one embodiment, at 438, dynamic employee skill set data associated with aggregated “on-the-job” acquired employee skills and performance is obtained.
[0209] In one embodiment, dynamic employee skill set data for employees associated with aggregated "on-the-job" acquired skills and performance is obtained at the product line, product, and release or version level based on one or more of: dynamically updated task, project, or case closure data associated with the employee, including total number of closed tasks, projects, or cases; dynamically updated average time to close for a task, project, or case; dynamically updated average client survey or ranking data per customer / product / employee; dynamically updated experience and team participation data; dynamically updated team leadership experience data; dynamically updated case priority experience; dynamically updated milestones per period to determine the employee's current workload; and / or any other sources of dynamic employee skill set data as discussed or exemplified herein, as known in the art at the time of filing, and / or as developed after filing.
[0210] In one embodiment, human resource (HR) data associated with the employee is obtained at 438. In various embodiments, the HR data associated with the employee may include, but is not limited to, the employee's geographic location; a time zone associated with the employee; a working time zone associated with the employee; human languages the employee understands, speaks, or writes; machine and programming languages the employee is skilled in; employee certification and / or education data; employee type, such as full-time, part-time, contractor, etc.; the employee's planned paid time off (PTO); and / or any other HR data as discussed or exemplified herein, and / or as known in the art at the time of filing, and / or as becomes known / available after filing.
[0211] In one embodiment, once the initial employee skill set data, dynamic employee skill set data, and employee HR data are obtained at 438, process flow proceeds to 440. In one embodiment, at 440, the initial employee skill set data, dynamic employee skill set data, and employee HR data are aggregated to generate aggregated employee skill set data.
[0212] In one embodiment, at 440, employee skill set linking is performed based on multi-dimensional analysis of aggregated initial employee skill set data, dynamic employee skill set data, and other employee data, such as, but not limited to, human resources (HR) and / or other employee record data, to generate aggregated employee skill set data for each employee and dynamically update the aggregated employee skill set data for each employee.
[0213] As discussed above, in one embodiment, the disclosed concatenation, refinement, and unification of the initial employee skill set data, dynamic employee skill set data, and employee HR data performed at 440 provides employee skill set dimensions that provide unique and distinct perspectives of employee skills that are important to the unified view of employee skills, and also enables the generation and normalization of employee skill set data, as discussed in more detail above, which is then used, in one embodiment, to generate the disclosed normalized employee skill set vector data that is used by one embodiment to make conclusions and decisions for case allocation.
[0214] In one embodiment, once the aggregated employee skill set data is generated at 440, process flow proceeds to 442. In one embodiment, at 442, client data is obtained for clients associated with currently open cases.
[0215] In various embodiments, the client data obtained at 442 is aggregated client data, where at least a portion of the client data is obtained as part of currently open case data, and may include data representing, but not limited to, the name of the client; the client's priority; equipment or product lines associated with the client; any contractual obligations and / or requirements associated with the client and / or tasks, projects, or cases performed on behalf of the client; whether the client is an escalated client or a strategic client; an average of any research or review data associated with the client; the client's geographic location; a time zone associated with the client's location; and / or any other client data as discussed or exemplified herein, and / or as known in the art at the time of filing, and / or as made available or becomes known after filing.
[0216] In various embodiments, the client data may be obtained from one or more of, but not limited to, client and / or case records maintained by the employing business; social media accounts associated with the client; websites and advertisements associated with the client; and / or any other sources of client data as discussed or exemplified herein, and / or as known in the art at the time of filing, and / or as made available or known after filing.
[0217] In one embodiment, once client data is obtained for a client associated with a currently open case at 442, process flow proceeds to 444. In one embodiment, the currently open case data and the client data are processed at 444 to generate currently open case skill set vector data.
[0218] In one embodiment, at 442, the obtained currently open case data and client data are processed to identify skill sets required for employees assigned to the currently open cases along with new case requirements and / or contractual obligations associated with the currently open cases to fulfill the tasks, projects, or cases, and / or client needs.
[0219] In one embodiment, currently open file skill set data is then generated that represents the identified new file requirements associated with the currently open files and the skill sets required by the currently open files. In one embodiment, the currently open file skill set data is then vectorized to generate currently open file skill set vector data.
[0220] In one embodiment, once the currently open job skill set vector data is generated at 444, process flow proceeds to 446. In one embodiment, the aggregated employee skill set data and the currently open job skill set vector data are processed at 446 to generate initial skill set matched employee data representing employees with one or more skill sets matched.
[0221] In one embodiment, initial skill set match employee data is generated at 446. In one embodiment, the aggregated employee skill set data and the currently open job skill set data for each employee are skill matched at 446 according to their associated skill set data to identify initial skill set match employee data representing employees who appear to have associated skill set data that matches or most closely matches the skill sets represented in the new job skill set vector data.
[0222] In one embodiment, at 446, the aggregated employee skill set data and the current open job skill set data for each employee are skills matched using one or more machine learning processes, such as, but not limited to, k-nearest neighbor (KNN) classification, and weighted or unweighted Euclidean distance methods, or any other classification process / algorithm / methodology as discussed or exemplified herein and / or known in the art at the time of filing and / or developed after filing.
[0223] In one embodiment, at 446, the employee is first determined to match or most closely match the skill set currently represented in the open job skill set data based on identified common skills present in both the open job skill set data and the aggregated employee skill set data, which in some embodiments are also referred to as matched skills or matched skill characteristics.
[0224] In one embodiment, once the initial skill set matched employee data is generated at 446, process flow proceeds to 448. In one embodiment, at 448, for each skill set matched employee, normalized employee skill set vector data is generated based on the normalized employee skill set data and skill set features associated with the skill set matched employee.
[0225] In one embodiment, a machine learning process is used to identify, normalize, and rank aggregated employee skill set data with respect to skill sets identified as necessary for a given task, project, or job and the job-specific requirements associated with the given task, project, or job.
[0226] In one embodiment, normalized employee skill set data is generated for each skill set matched employee at 448. In one embodiment, the matched skills included in the skill set for each employee represented in the initial skill set matched employee data are normalized to generate normalized employee skill set data for each employee. In one embodiment, the normalization process is based on dynamic “on the job” acquired skill set data for employees associated with the matched skills.
[0227] In various embodiments, the dynamic skill set data for an employee associated with a matched skill set feature may include, but is not limited to, total cases closed by the employee; average resolution time for cases closed by the employee; average customer satisfaction review score data for the employee; cases owned and / or closed by the employee associated with the matched skill set feature; cases led and / or closed by employees associated with the skill set feature; cases contributed to by employees associated with the matched skill set feature; resolution times associated with cases owned and / or closed and / or participated in by employee teams associated with the matched skill set feature; reviews and customer satisfaction inputs / ratings for employee teams associated with the matched skill set feature; and / or any other dynamic skill set data associated with the employee and the matched skill set feature, as discussed or exemplified herein, and / or as known in the art at the time of filing, and / or as made available after filing.
[0228] In one embodiment, the normalized initial skill set matched employee data for each employee is generated using dynamic skill set data for the employee associated with matched skills and, without limitation, Min-Max normalization or any other normalization process / method as discussed or exemplified herein and / or known in the art at the time of filing and / or developed after filing.
[0229] The disclosed embodiments provide for "normalizing" one employee's skills with respect to another employee's skills, so that multiple employee skill sets can be objectively compared with respect to the needs of a given task, project, or deal. This is accomplished by considering and integrating the impact of employees' historical and current aggregated "on-the-job" employee performance and dynamic work experience parameters with respect to their reported / known skills and potential tasks, projects, or deals, and / or clients. As a result, using the disclosed embodiments, the comparison and analysis of multiple employee skill set data reflects a consideration of "real world" and aggregated "on-the-job" performance with respect to the employees' reported / known skills and the identified needs of a given task, project, or deal, or client. As a result, the disclosed normalization process integrates dynamic employee skills acquired "on-the-job" to uniquely evaluate the employee's skill set data.
[0230] In one embodiment, once the normalized employee skill set vector data is generated at 448, process flow proceeds to 450. In one embodiment, at 450, the normalized employee skill set vector data for each skill set matched employee and the current open job skill set vector data are provided to a machine learning process to generate ranked skill matched employee recommendation data.
[0231] In one embodiment, the ranked skill-matched employee recommendation data is generated using one or more machine learning processes at 450. In one embodiment, the current open job vector data and the normalized employee skill set vector data for each initially matched employee are used as input data to a previously trained machine learning model at 450.
[0232] In one embodiment, the machine learning model is trained in an offline environment using training data including, but not limited to, total cases closed by employees; average resolution time for cases closed by employees; average customer satisfaction review score data for employees; historical case data, historical client data, historical initial employee skill set data, historical dynamic employee skill set data, historical employee HR data, and historical rules & constraints data, along with aggregated task, project, or case completion data, historical customer review / rating data, and other historical case & employee data. In one embodiment, using this training data, the machine learning model is trained to match and rank the current open case skill set vector data and the normalized employee skill set vector data for each initially matched employee.
[0233] In various embodiments, the machine learning model is one or more of: a supervised machine learning service or model; an unsupervised machine learning service or model; a semi-supervised machine learning service or model; or any other machine learning service or model capable of matching and ranking the normalized employee skill set vector data for each first matched employee with the currently open job skill set vector data.
[0234] As a specific illustrative example, in one embodiment, the machine learning model utilizes a weighted or unweighted Euclidean distance method, or any other ranking process / method as discussed or illustrated herein, and / or as known in the art at the time of filing, and / or as developed after filing.
[0235] In one embodiment, the output of the machine learning model is ranked, skill-matched employee recommendation data. In one embodiment, the ranked, skill-matched employee recommendation data includes data representing employees who match or most closely match current open jobs.
[0236] In one embodiment, once the ranked skills-matched employee recommendation data is generated at 450, process flow proceeds to 452. In one embodiment, at 452, the ranked skills-matched employee data is merged with the ranked similar job data to generate ranked skilled experts data.
[0237] As discussed above, in one embodiment, the ranked similar job data is generated in part using one or more similarity processes, such as, but not limited to, a cosine similarity algorithm, a Jaccard algorithm, and an LSA algorithm. In one embodiment, the ranked skill-matched employee data is generated in part using one or more processes, such as, but not limited to, a Euclidean distance algorithm. In one embodiment, at 452, the values generated by each process are merged to arrive at a “proximity” factor, which provides a way to rank the skilled experts represented by the ranked skilled experts data, thus resulting in the generation of the ranked skilled experts data.
[0238] In one embodiment, once the ranked skilled experts data is generated at 452, process flow proceeds again to FIG. 4A and operation 454. In one embodiment, at 454, a configured trained RPA worker is utilized to identify outside business examples associated with currently open cases.
[0239] As discussed in more detail above, in one embodiment, the case assistant system utilized by the client service system also includes a business exception finder. In one embodiment, the business exception finder is utilized by one or more RPA workers to proactively alert client support professionals to business exceptions. Examples of circumstances that may cause an execution alert include, but are not limited to, an engineer being off work, an engineer and / or contractor leaving the company, and / or multiple high priority cases being assigned to a particular engineer.
[0240] FIG. 6 is a screenshot of a business alert configuration interface 600 of a business exception finder utilized by the case assistant system, according to one embodiment.
[0241] As shown in Figure 6, various business embodiment alerts can be created and configured to provide client support professionals with a wide array of information regarding case resolution. For example, in various embodiments, alerts can be generated by configured RPA workers in situations such as, but not limited to, when a case and / or client is escalated, when one or more case load thresholds are exceeded, when a change occurs in the service provider's relationship with the client, when a client support professional assigned to a case is away from the company, on vacation, and / or in an area, state, or country potentially affected by events such as storms, floods, earthquakes, tornadoes, virus outbreaks, and active shooters.
[0242] In one embodiment, once a business exception is identified at 454, process flow proceeds to 456. In one embodiment, at 456, the client support professional is provided with near real-time data related to one or more of similar cases, skilled experts, and business exceptions through a user interface of the client service system to assist the client support professional with resolving the currently open case.
[0243] Provided below are illustrative examples of data related to similar cases, skilled experts, and business exceptions that are provided to a client support professional through a client service system user interface.
[0244] FIG. 7A is a screenshot of a dashboard user interface 700A for a case assistant system according to one embodiment.
[0245] In various embodiments, the case assistant system disclosed herein provides a user interface to one or more client support professionals that enables the client support professionals to review and interact with the data provided by the RPA worker. As shown in FIG. 7A, in one embodiment, the client support professionals can view currently open case listings 702 from a dashboard interface provided by the case assistant system. In various embodiments, the currently open case listings 702 include data such as, but not limited to, product line, case number, client name, client theater, case priority, case creation date, case status, client PSE, product module, product release version, case subject, and associated action items.
[0246] FIG. 7B is an expanded view 700B of a portion of the example screenshot of FIG. 7A, according to one embodiment.
[0247] 4A and 7B together, in one embodiment, for each case subject item 704, an action item 706 is provided to the client support professional. In one embodiment, the action item 706 allows the client support professional to interact with the data provided by the RPA worker discussed above. For example, in one embodiment, the action item 706 includes a link to view data related to cases similar to the currently open case represented by the case subject item 704. In one embodiment, the similar case data includes the ranked similar case data generated in 414 of FIG. 4A. In one embodiment, the action item 706 includes a link to view data related to a skilled expert associated with the currently open case represented by the case subject item 704. In one embodiment, the expert data includes the ranked skilled expert data generated in 436 of FIG. 4A. In one embodiment, the action item 706 includes a link to view data related to a business alert associated with the currently open case represented by the case subject item 704. In one embodiment, the business alert data includes the business exception data generated in 454 of FIG. 4A.
[0248] 7C is a screenshot 700C of an example case assistant widget utilized as part of a larger client service system, according to one embodiment. In one embodiment, links to similar case data, skilled expert data, and business alerts generated by the RPA worker are provided via the case assistant widget 708, which in some embodiments is a widget that can be incorporated as part of a larger client service system.
[0249] FIG. 8A is a screenshot 800A of an alert system associated with a document similarity finder according to one embodiment.
[0250] In one embodiment, when a case similar to a currently open case, such as currently open case 802, is discovered by an RPA worker, an alert, such as similar case alert 804, may be automatically provided to a client support professional working on the currently open case 802.
[0251] FIG. 8B is a screenshot 800B of a listing of similar cases generated by the document similarity finder, according to one embodiment.
[0252] In one embodiment, the client support professional may be presented with ranked similar cases data 808 for cases found by the RPA worker to be similar to the currently open cases represented by the currently open cases data 806. In some embodiments, the ranked similar cases data 808 may include data such as, but not limited to, the similar case number, the cosine similarity value generated for each similar case by the document similarity finder, the subject of the similar case, a link to a description of the similar case, a link to data associated with the root cause of the similar case, a link to data associated with solutions to problems resolved for the similar case, a status of the similar case along with data related to the client support professional who was responsible for resolving the similar case. In one embodiment, the client support professional is also provided with a similar case feedback mechanism 810 that enables the client support professional to provide feedback on case results that may be incorporated into the training data utilized by the RPA worker to train the document similarity finder ML model.
[0253] 9A and 9B are screenshots 900A and 900B of an alert system associated with a skilled expert finder, according to one embodiment.
[0254] As shown in FIG. 9A , in one embodiment, when a skills gap is discovered for a currently open case, such as currently open case 902, by an RPA worker, an alert, such as skills gap alert 904, can be automatically provided to a client support professional working on currently open case 902.
[0255] As shown in FIG. 9B, in one embodiment, when a skilled expert on a case similar to a currently open case, such as currently open case 902, is discovered by an RPA worker, an alert, such as skilled expert alert 906, may be automatically provided to a client support professional working on the currently open case 902.
[0256] FIG. 9C is a screenshot of an interface 900C for initiating collaboration with a trained expert, according to one embodiment.
[0257] Now, referring to both Figures 9B and 9C, in one embodiment, when an alert, such as skilled expert alert 906, is presented to a client support professional currently working on an open case 902, if the client support professional wishes to contact a recommended skilled expert, they may be provided with a skilled expert collaboration message generator 908 which, in one embodiment, automatically populates a message to send to the skilled expert to initiate collaboration.
[0258] FIG. 9D is a screenshot 900D of a listing of available skilled experts generated by a skilled expert finder, according to one embodiment.
[0259] In one embodiment, the client support professional may be presented with ranked skilled expert data 912 for skilled experts found by the RPA worker as most skilled with cases similar to the currently open cases represented by the currently open case data 910. In some embodiments, the ranked skilled expert data 912 may include data such as, but not limited to, the skilled expert's name, the skilled expert's email, the skilled expert's time zone, a proximity factor generated for each skilled expert by the skilled expert finder, a link to initiate collaboration with the skilled expert, and a link to view detailed skill data associated with the skilled expert. In one embodiment, the client support professional may also be provided with a skilled expert feedback mechanism 914 that allows the client support professional to provide feedback on the expert results that may be incorporated into the training data utilized by the RPA worker to train the skilled expert finder ML model.
[0260] FIG. 9E is a screenshot 900E of an interface for initiating collaboration with an available trained expert, according to one embodiment.
[0261] Now, referring to both Figures 9D and 9E, in one embodiment, when the ranked skilled expert data 912 is presented to a client support professional currently working on an open case 910, if the client support professional wishes to contact one of the recommended skilled experts, they may utilize the provided link to request a review by a skilled expert, which in one embodiment provides the client support professional with a skilled expert collaboration message generator 916 which, in one embodiment, automatically populates a message to send to the skilled expert to initiate collaboration.
[0262] FIG. 9F is a screenshot 900F of an interface for viewing the skills of available trained experts, according to one embodiment.
[0263] 9D and 9F together, in one embodiment, if a client support professional wishes to view detailed skill data associated with one of the skilled experts represented by ranked skill expert data 912, they may utilize a provided link to open an interface to view the skilled expert details. In some embodiments, skilled expert details 918 include details such as, but not limited to, the expert name, email, location, status, biography, as well as data related to years of experience with various different product lines, product families, products, etc.
[0264] 10A and 10B are screenshots 1000A and 100B of a business exception alert generated by a business exception finder according to one embodiment.
[0265] 10A , in one embodiment, a client support professional may be presented with business exception data 1004 about business exceptions discovered by an RPA worker for currently open cases represented by currently open case data 1002. In some embodiments, the business exception data 1004 includes data such as, but not limited to, a description of the alert type and a link to view additional information about the alert.
[0266] 10B, in various embodiments, the additional information 1008 provided regarding the business exception represented by the business exception data 1004 may include data such as, but not limited to, the client name, the product line, the escalation level, etc. In one embodiment, the additional information 1008 provided to the client support professional depends on the type of business alert.
[0267] In one embodiment, the client support professional is also provided with a business alert feedback mechanism 1006 that allows the client support professional to provide feedback on business exception results, which can be incorporated into the training data utilized by the RPA worker to train the business exception finder ML model.
[0268] In one embodiment, once the client support professional is provided with data relating to one or more of similar cases, skilled experts, and business exceptions at 456, the client support professional uses this data to resolve client cases more quickly and successfully, and process flow proceeds to END 458 where process 400A of providing case assistance to the client support professional ends to await new data and / or instructions.
[0269] In various embodiments, the methods and systems disclosed herein enable case data, client data, employee data, and skill data to be combined from multiple data sources into one platform. The Case Assistant may run continuously in the background with focused RPA workers constantly attempting to assist support professionals within defined constraints, such as, but not limited to, searching for cases from the same client. In various embodiments, the methods and systems disclosed herein use a combination of data mining, data processing, natural language processing, machine learning models and processing, and performance optimization to enable both real-time and scheduled processing. In one embodiment, the Case Assistant can dynamically select the most suitable machine learning processing method for document similarity discovery depending on various case data factors. In one embodiment, the number of Case Assistant workers can be scaled up and down based on case logging patterns, including factors such as the number of currently open cases. In one embodiment, the RPA continuous processing functionality can be navigated based on defined constraints from the business and governance. In one embodiment, the business context of the open and closed cases can be enhanced from continuous feedback and machine learning techniques to arrive at precise results in a very short time. In one embodiment, the stop word removal process can be enhanced from continuous feedback and machine learning techniques to improve the efficiency and accuracy of the open and closed case context formulation.
[0270] The embodiments of the present disclosure provide highly efficient, effective, and versatile systems and methods that utilize robotic process automation to provide real-time assistance to client support professionals, and the disclosed embodiments of systems and methods for providing real-time assistance to client support professionals do not include, embody, or exclude other forms of innovation within the area of process automation.
[0271] Additionally, the disclosed embodiments of systems and methods that utilize robotic process automation to provide real-time assistance to client support professionals do not abstract ideas for at least several reasons.
[0272] First, as noted above, a service provider offering various support services to clients can potentially have hundreds of clients, along with a data repository containing thousands of case records associated with jobs performed for each of those clients. Efficient resolution of open cases often depends on being able to rapidly identify closed case records that are similar to the open case records. Furthermore, each case may require multiple skills to resolve, and each client support professional can potentially have multiple specialized skills and / or experience with the multiple products, modules, and / or features for which the business provides support and employees, and / or capabilities associated with those products and modules. Given that each client support professional can potentially have hundreds of skills associated with potentially hundreds of products and modules, a single client support professional's skill set is often a case that can include hundreds, or even thousands, of individual skills. As a result, identifying closed cases similar to an open case, identifying the skills needed to resolve the open case, and identifying the best-suited client support professional, i.e., the client support professional most appropriate to support a given task, project, or case, can quickly become complex and daunting tasks, especially when considering the hundreds, thousands, and / or millions of data points that may be required to perform the associated analytical assessment.
[0273] In fact, problems can become so complex that it is not possible for a human to accurately identify business context similarities across thousands of documents and grasp the interactions and relationships between multiple or even hundreds of employee skill sets, each with potentially hundreds or even thousands of individual skills and multiple or even hundreds of task, project or case requirements for potentially hundreds of business clients, each with hundreds or even thousands of skill set requirements and contract performance requirements & constraints. The result is problem complexity that makes it impossible for a human to recognize meaningful relationships and interconnections between factors necessary to most effectively and efficiently provide real-time case assistance to client support professionals.
[0274] In contrast, the disclosed embodiments utilize machine learning techniques in a unique manner to identify similarities between case documents, identify skilled experts, and efficiently provide this information to business support professionals in real time, in ways that humans do not have the ability to do, and in some cases based on relationships that humans do not discern. As a result, the disclosed systems and methods utilizing robotic process automation to effectively and efficiently provide real-time assistance to client support professionals do not abstract ideas simply because they are not ideas themselves and cannot be implemented mentally or using pen and paper.
[0275] Second, the disclosed systems and methods that utilize robotic process automation to effectively and efficiently provide real-time assistance to client support professionals do not abstract ideas because they are not fundamental economic practices (e.g., they do not create contractual relationships, hedge, or mitigate settlement risk).
[0276] Third, while mathematics may be used in the disclosed systems and methods that utilize robotic process automation to effectively and efficiently provide real-time assistance to client support professionals, the disclosed and claimed systems and methods do not abstract ideas simply because they are not mathematical relationships / formulas.
[0277] In addition, as discussed above, the disclosed methods and systems utilizing robotic process automation to effectively and efficiently provide real-time assistance to client support professionals provide consolidated, normalized, and more focused data, which provides consolidated and more accurate data processing and storage, and minimizes the processing of irrelevant, inaccurate, or erroneous data. Thus, using the disclosed embodiments, unnecessary data analysis, transfer, and storage is avoided. As a result, using the disclosed methods and systems to effectively and efficiently provide real-time assistance to client support professionals results in more efficient use of human and non-human resources, fewer processor cycles utilized, reduced memory utilization, and less communication bandwidth utilized to relay data to and from back-end systems and various systems and parties. As a result, computing systems are transformed into faster, more efficient, and more effective computing systems by implementing the disclosed embodiments.
[0278] Additionally, the disclosed embodiments represent an ordered combination of operations, including data integration, normalization, and machine learning processing, that together arrive at something significantly greater than any abstract idea and represent an inventive concept and technological advancement.
[0279] The present invention has been described in particular detail with respect to certain possible embodiments. Those skilled in the art will recognize that the invention may be practiced in other embodiments. For example, the nomenclature used for components, component designations and capitalization of terms, attributes, data structures, or other programming or structural aspects are not important, required, or limiting, and mechanisms for implementing the invention or its features may have a variety of different names, formats, or protocols. Furthermore, the inventive system or functionality may be implemented through various combinations of software and hardware, as described, or entirely in hardware elements. Also, the particular division of functionality between various components described herein is merely exemplary and is not required or critical. As a result, functionality performed by a single component may be performed by multiple components in other embodiments, and functionality performed by multiple components may be performed by a single component in other embodiments.
[0280] In the above discussion, certain aspects of an embodiment include process steps and / or operations and / or instructions described herein in a particular order and / or grouping for illustrative purposes. However, the particular order and / or grouping shown and discussed herein is exemplary only and not limiting. Those skilled in the art will recognize that other orders and / or groupings of process steps and / or operations and / or instructions are possible and that in some embodiments, one or more of the process steps and / or operations and / or instructions discussed above can be combined and / or deleted. In addition, portions of one or more of the process steps and / or operations and / or instructions can be regrouped as one or more other portions of the process steps and / or operations and / or instructions discussed herein. As a result, the particular order and / or groupings of process steps and / or operations and / or instructions discussed herein do not limit the scope of the invention as claimed below.
[0281] As discussed in more detail above, there is considerable flexibility, adaptability, and opportunity for customization to meet the specific needs of various parties in numerous environments using the above embodiments with little or no modification and / or input.
[0282] Some portions of the above description present features of the invention in terms of processes / algorithms and symbolic or algorithm-like representations of operations on information / data. These algorithms or algorithm-like descriptions and representations are the means used by those skilled in the art to most effectively and efficiently convey the substance of their work to others skilled in the art. These operations will be understood to be functionally or logically described and implemented by computer programs or computing systems. Further, it has proven convenient at times, without loss of generality, to refer to sequences of these operations as steps or modules or by functional names.
[0283] Unless otherwise specifically stated, and as will be apparent from the above discussion, it will be appreciated that throughout the above description, discussions utilizing terms such as, but not limited to, "activate," "access," "add," "aggregate," "alert," "apply," "analyze," "associate," "calculate," "capture," "categorize," "classify," "compare," "create," "define," "detect," "determine," "distribute," "remove," "encrypt," "extract," "filter," "migrate," "generate," "identify," "implement," "notify," "monitor," "acquire," "post," "process," "provide," "receive," "request," "save," "send," "store," "replace," "transfer," "transform," "transmit," "use," and the like refer to the actions and processes of a computing system or similar electronic device that operates and acts on data represented as physical (electronic) quantities in the computing system memory, registers, cache, or other information storage, transmission, or display device.
[0284] The present invention also relates to an apparatus or system for performing the operations described herein, which may be specially constructed for the required purposes, or the apparatus or system may include a system selectively activated or configured / reconfigured by a computer program stored in a non-transitory computer-readable medium that can be accessed by a computing system or other device, to execute instructions using a processor to perform the processes as discussed or illustrated herein.
[0285] Those skilled in the art will readily recognize that the algorithms and operations presented herein are not inherently related to any particular computing system, computer architecture, computer, or industry standard, or any other particular apparatus. A variety of systems may also be used with programs in accordance with the teachings herein, or it may prove more convenient / efficient to construct a more specialized apparatus to perform the required operations described herein. The required structure for a variety of those systems, along with equivalent variations, will be apparent to one of ordinary skill in the art. In addition, the present invention is not described with reference to any particular programming language, and a variety of programming languages may be used to implement the teachings of the present invention as described herein, and any reference to a specific language or language(s) is provided for illustrative purposes only and for enabling the invention as contemplated by the inventors at the time of filing.
[0286] The present invention is well suited to a wide variety of computer network systems operating across a multitude of topologies. Within this field, the configuration and management of large scale networks includes computers and storage devices communicatively coupled to similar or dissimilar computers and storage devices across a private network, a LAN, a WAN, a private network, or a public network such as the Internet.
[0287] It should be noted that the language used in the specification has been chosen primarily for purposes of readability, clarity, and guidance, and not to delineate or limit the subject matter of the invention. Accordingly, the disclosure of the present invention is intended to be illustrative, and not limiting, of the scope of the invention, which is set forth in the following claims.
[0288] In addition, operations as shown in the drawings or discussed or illustrated herein are identified using particular nomenclature for ease of description and understanding, although other nomenclature is often used in the art to identify equivalent operations.
[0289] Thus, numerous variations, whether expressly provided or implied by the specification, may be implemented by one of ordinary skill in the art in light of this disclosure.
Claims
1. 1. A method implemented by a computing system, comprising: providing a user interface to a client servicing system including case data associated with one or more clients of the service provider; Obtaining currently open case data representing currently open cases; obtaining historical closed case data representing historical closed cases associated with the service provider; training one or more RPA workers to process the current open case data and the historical closed case data using one or more machine learning processes; configuring the one or more trained RPA workers to process the current open case data and the historical closed case data; identifying historically closed cases similar to said currently open cases and generating ranked similar case data; identifying experts skilled in the historical closed cases similar to the currently open case and generating ranked skilled expert data; identifying business exceptions associated with the currently open case and generating business exception data; and providing data related to one or more of similar cases, trained experts, and business exceptions through the user interface of the client service system; utilizing the configured trained RPA worker to perform one or more of the following:
23. A method implemented by a computing system, comprising:
2. 10. The method implemented by the computing system of claim 1, wherein the configured trained RPA worker functions are performed in real time.
3. 2. The method implemented by the computing system of claim 1, wherein the historical closed case data representing historical closed cases associated with the service provider includes data associated with one hundred or more historical closed cases.
4. identifying historical closed cases similar to the currently open case and generating ranked similar case data; aggregating and processing the obtained current open case data to generate aggregated open case vector data; aggregating and processing the obtained historical closed case data to generate aggregated closed case vector data; parsing the aggregated open case vector data into tokens to generate tokenized open case vector data; parsing the aggregated closed case vector data into tokens to generate tokenized closed case vector data; identifying tokens of the tokenized open case vector data that are not informative in determining a context of the currently open case represented by the currently open case data to generate filtered open case vector data; identifying tokens of the tokenized closed case vector data that are not informative in determining the context of the historical closed case represented by the historical closed case data to generate filtered closed case vector data; assigning a relevance weight to each token of the filtered open case vector data to generate a weighted open case vector data; assigning a relevance weight to each token of the filtered closed case vector data to generate a weighted closed case vector data; providing the weighted open case vector data and the weighted closed case vector data to one or more similarity processes to generate a list of historical closed cases similar to the currently open case; assigning a similarity ranking to each historically closed case in said list of similar historically closed cases to generate ranked similar case data; The method implemented by the computing system of claim 1 further comprising:
5. One or more machine learning models identifying tokens of the tokenized open case vector data that are not informative in determining the context of the currently open case represented by the currently open case data; identifying tokens of the tokenized closed case vector data that are not informative in determining the context of the historical closed case represented by the historical closed case data; assigning a relevance weight to each token of the filtered open case vector data; assigning a relevance weight to each token of the filtered closed case vector data; assigning a similarity ranking to each historically closed case in said list of similar historically closed cases; 5. The method of claim 4, wherein the computing system is trained to perform one or more of the following:
6. 6. The method implemented by the computing system of claim 5, wherein identifying tokens of the tokenized open case vector data that are not informative in determining the context of the currently open case represented by the currently open case data and identifying tokens of the tokenized closed case vector data that are not informative in determining the context of the historically closed case represented by the historical closed case data comprise utilizing machine learning techniques to develop one or more customized stop word removal processes.
7. Utilizing machine learning techniques to build one or more customized stop word removal processes; training one or more machine learning models to identify tokens in the tokenized open matter vector data that should be removed from the generated filtered open matter vector data; training one or more machine learning models to identify tokens that should not have been removed from the tokenized open case vector data and adding those tokens to the generated filtered open case vector data; training one or more machine learning models to identify tokens in the tokenized closed case vector data that should be removed from the generated filtered closed case vector data; training one or more machine learning models to identify tokens that should not have been removed from the tokenized closed case vector data and adding those tokens to the generated filtered closed case vector data; 7. The method implemented by the computing system of claim 6, comprising one or more of:
8. 6. The method implemented by the computing system of claim 5, wherein assigning a relevance weight to each token of the filtered open case vector data and assigning a relevance weight to each token of the filtered closed case vector data comprises utilizing machine learning techniques to build one or more customized relevance finder processes.
9. Utilizing machine learning techniques to build one or more customized relevance processes; utilizing TF-IDF techniques to train one or more machine learning models to identify tokens in the filtered open case vector data that should be assigned higher or lower relevance values than other tokens in the filtered open case vector data; utilizing TF-IDF techniques to train one or more machine learning models to identify tokens in the filtered closed case vector data that should be assigned higher or lower relevance values than other tokens in the filtered closed case vector data; training one or more machine learning models to identify tokens in the filtered open case vector data that should be assigned a higher or lower relevance value than other tokens in the filtered open case vector data based on the identified business context of the tokens; training one or more machine learning models to identify tokens in the filtered closed case vector data that should be assigned a higher or lower relevance value than other tokens in the filtered closed case vector data based on the identified business context of the tokens; 10. The method implemented by the computing system of claim 8, comprising one or more of:
10. The one or more similarity processes A cosine similarity algorithm; the Jaccard similarity algorithm; an LSA similarity algorithm; 5. The method implemented by the computing system of claim 4, comprising:
11. 11. The method implemented by the computing system of claim 10, wherein the similarity process used to generate the list of historically closed cases similar to the currently open case is dynamically selected during data processing.
12. The similarity process comprises: The context of the currently open case; and The context of the historical closed case; and The number of current and historical case documents to be compared; the size of each of the current and historical case documents being compared; the number of pages in each of the current and historical case documents being compared; and the number of paragraphs in each of the current and historical case documents being compared; the number of words in each of the current and historical case documents being compared; the file type of each of said current and historical case documents to be compared; the number of related words found for each of the current and historical documents being compared; and 12. The method of claim 11, wherein the selected node is dynamically selected based on one or more of:
13. Identifying experts skilled in the historical closed cases similar to the currently open case and generating ranked skilled expert data includes: Obtaining initial employee skill set data, dynamic employee skill set data, and employee HR data; aggregating the initial employee skill set data, the dynamic employee skill set data, and the employee HR data to generate aggregated employee skill set data; obtaining client data for the client associated with the currently open file; processing the currently open case data and the client data to generate currently open case skill set vector data; processing the aggregated employee skill set data and the currently open job skill set vector data to generate initial skill set matched employee data representative of employees who have one or more skill sets matched; generating, for each skill set matched employee, normalized employee skill set vector data based on the normalized employee skill set data and skill set characteristics associated with the skill set matched employee; providing the normalized employee skill set vector data and the currently open job skill set vector data for each skill set matched employee to a machine learning process to generate ranked skill matched employee data; merging the ranked skill-matched employee data with the ranked similar case data to generate ranked skilled expert data; The method implemented by the computing system of claim 1 further comprising:
14. 1. A method implemented by a computing system, comprising: providing a user interface to a client servicing system including case data associated with one or more clients of the service provider; Obtaining currently open case data representing currently open cases; obtaining historical closed case data representing historical closed cases associated with the service provider; training one or more RPA workers to process the current open case data and the historical closed case data using one or more machine learning processes; configuring the one or more trained RPA workers to process the current open case data and the historical closed case data; aggregating, processing, and filtering the obtained current open case data to generate aggregated open case vector data; aggregating, processing, and filtering the obtained historical closed case data to generate aggregated closed case vector data; parsing the aggregated open case vector data into tokens to generate tokenized open case vector data; parsing the aggregated closed case vector data into tokens to generate tokenized closed case vector data; identifying tokens of the tokenized open case vector data that are not informative in determining a context of the currently open case represented by the currently open case data to generate filtered open case vector data; identifying tokens in the tokenized closed case vector data that are not informative in determining the context of the historical closed case represented by the historical closed case data to generate filtered closed case vector data; assigning a relevance weight to each token of the filtered open issue vector data to generate a weighted open issue vector data; assigning a relevance weight to each token of the filtered closed case vector data to generate a weighted closed case vector data; providing the weighted open case vector data and the weighted closed case vector data to one or more similarity processes to generate a list of historical closed cases similar to the currently open case; assigning a similarity ranking to each historically closed case in said list of similar historically closed cases to generate ranked similar case data; and providing all or a portion of the ranked similar case data through the user interface of the client service system; utilizing the configured trained RPA worker to perform one or more of the following:
23. A method implemented by a computing system, comprising:
15. 15. The computing system implemented method of claim 14, wherein the configured trained RPA worker functions are performed in real time.
16. 15. The method implemented by the computing system of claim 14, wherein the historical closed case data representing historical closed cases associated with the service provider includes data associated with one hundred or more historical closed cases.
17. One or more machine learning models identifying tokens of the tokenized open case vector data that are not informative in determining the context of the currently open case represented by the currently open case data; identifying tokens of the tokenized closed case vector data that are not informative in determining the context of the historical closed case represented by the historical closed case data; assigning a relevance weight to each token of the filtered open case vector data; assigning a relevance weight to each token of the filtered closed case vector data; assigning a similarity ranking to each historically closed case in said list of similar historically closed cases; 15. The method of claim 14, wherein the computing system is trained to perform one or more of the following:
18. 20. The method implemented by claim 17, wherein identifying tokens of the tokenized open case vector data that are not informative in determining the context of the currently open case represented by the currently open case data and identifying tokens of the tokenized closed case vector data that are not informative in determining the context of the historically closed case represented by the historical closed case data comprise utilizing machine learning techniques to develop one or more customized stop word removal processes.
19. Utilizing machine learning techniques to build one or more customized stop word removal processes; training one or more machine learning models to identify tokens in the tokenized open case vector data that should be removed from the generated filtered open case vector data; training one or more machine learning models to identify tokens that should not have been removed from the tokenized open case vector data and adding those tokens to the generated filtered open case vector data; training one or more machine learning models to identify tokens in the tokenized closed case vector data that should be removed from the generated filtered closed case vector data; training one or more machine learning models to identify tokens that should not have been removed from the tokenized closed case vector data and adding those tokens to the generated filtered closed case vector data; 20. The method implemented by the computing system of claim 18, comprising one or more of the following:
20. 20. The method implemented by the computing system of claim 17, wherein assigning a relevance weight to each token of the filtered open case vector data and assigning a relevance weight to each token of the filtered closed case vector data comprises utilizing machine learning techniques to build one or more customized relevance finder processes.
21. Utilizing machine learning techniques to build one or more customized relevance processes; utilizing TF-IDF techniques to train one or more machine learning models to identify tokens in the filtered open case vector data that should be assigned higher or lower relevance values than other tokens in the filtered open case vector data; utilizing TF-IDF techniques to train one or more machine learning models to identify tokens in the filtered closed case vector data that should be assigned higher or lower relevance values than other tokens in the filtered closed case vector data; training one or more machine learning models to identify tokens in the filtered open case vector data that should be assigned a higher or lower relevance value than other tokens in the filtered open case vector data based on the identified business context of the tokens; training one or more machine learning models to identify tokens in the filtered closed case vector data that should be assigned a higher or lower relevance value than other tokens in the filtered closed case vector data based on the identified business context of the tokens; 21. The method implemented by the computing system of claim 20, comprising one or more of the following:
22. The one or more similarity processes A cosine similarity algorithm; the Jaccard similarity algorithm; an LSA similarity algorithm; 15. The method implemented by the computing system of claim 14, comprising:
23. 23. The method implemented by the computing system of claim 22, wherein the similarity process used to generate the list of historically closed cases similar to the currently open case is dynamically selected during data processing.
24. The similarity process comprises: The context of the currently open case; and The context of the historical closed case; and The number of current and historical case documents to be compared; the size of each of the current and historical case documents being compared; the number of pages in each of the current and historical case documents being compared; and the number of paragraphs in each of the current and historical case documents being compared; the number of words in each of the current and historical case documents being compared; the file type of each of said current and historical case documents to be compared; the number of related words found for each of the current and historical documents being compared; and 24. The method of claim 23, wherein the selected node is dynamically selected based on one or more of:
25. providing a user interface to a client servicing system including case data associated with one or more clients of the service provider; Obtaining currently open case data representing currently open cases; obtaining historical closed case data representing historical closed cases associated with the service provider; identifying historically closed cases similar to the currently open case and generating ranked similar case data; identifying experts skilled in the historical closed cases similar to the currently open case and generating ranked skilled expert data; identifying business exceptions associated with the currently open case and generating business exception data; providing, through the user interface of the client service system, data related to one or more of similar cases, trained experts, and business exceptions; and performing one or more of 23. A method implemented by a computing system, comprising:
26. providing a user interface to a client servicing system including case data associated with one or more clients of the service provider; Obtaining currently open case data representing currently open cases; obtaining historical closed case data representing historical closed cases associated with the service provider; aggregating, processing, and filtering the obtained current open case data to generate aggregated open case vector data; aggregating, processing, and filtering the obtained historical closed case data to generate aggregated closed case vector data; parsing the aggregated open case vector data into tokens to generate tokenized open case vector data; parsing the aggregated closed case vector data into tokens to generate tokenized closed case vector data; identifying tokens of the tokenized open case vector data that are not informative in determining a context of the currently open case represented by the currently open case data to generate filtered open case vector data; identifying tokens in the tokenized closed case vector data that are not informative in determining a context of the historical closed case represented by the historical closed case data to generate filtered closed case vector data; assigning a relevance weight to each token of the filtered open case vector data to generate a weighted open case vector data; assigning a relevance weight to each token of the filtered closed case vector data to generate a weighted closed case vector data; providing the weighted open case vector data and the weighted closed case vector data to one or more similarity processes to generate a list of historical closed cases similar to the currently open case; assigning a similarity ranking to each historically closed case in said list of similar historically closed cases to generate ranked similar case data; providing all or a portion of the ranked similar case data through the user interface of the client service system; and performing one or more of 23. A method implemented by a computing system, comprising:
27. 1. A system for providing case assistance to a client support professional, comprising: at least one processor; and at least one memory coupled to said at least one processor, said at least one memory having stored instructions that, when executed by any set of said one or more processors, perform a process, said process comprising: obtaining historical case vector data representing historical client cases associated with clients of the service provider in a client service system; parsing the historical case vector data into tokens; identifying a token relevant to determining a context of the historical client case; removing tokens that are not relevant to determining the context of the historical client case; assigning a relevance weight to each token identified as being relevant to determining the context of the historical client case; obtaining current case vector data representing current client cases associated with clients of the service provider in a client service system; dynamically selecting a similarity algorithm from a set of two or more similarity algorithms based on the historical case vector data and the current case vector data; utilizing the similarity algorithm and the relevance weights of the tokens to determine whether at least one historical client case is similar to at least one current client case within the client servicing system; notifying at least one client support professional upon determining that the at least one historical client case is similar to the at least one current client case; taking at least one action in the client service system upon providing a notification to the at least one client support professional; Including, the system.
28. One or more machine learning models identifying a token relevant to determining the context of the historical client case; removing tokens that are not relevant to determining the context of the historical client case; assigning a relevance weight to each token identified as being relevant to determining the context of the historical client case; dynamically selecting a similarity algorithm from a set of two or more similarity algorithms based on the historical case vector data and the current case vector data; 28. The system of claim 27, wherein the system is trained to perform one or more of the following:
Citation Information
Patent Citations
Information processing device, information processing system, information processing program, and information processing method
JP2018026069A
Method and system for providing a multi-faceted staffing advisor - Patent Application 20070122997
JP2022510583A
Artificial intelligence customer support case management system
US20200279180A1