Patent Publication Number: US-11657234-B2

Title: Computer-based interlocutor understanding using classifying conversation segments

Description:
PRIORITY BENEFIT CLAIM 
     This is a continuation patent application of U.S. patent application Ser. No. 17/164,510, filed on Feb. 1, 2021, which was a continuation of U.S. patent application Ser. No. 16/201,188 filed on Nov. 27, 2018 (now U.S. Pat. No. 10,929,611), which claimed benefit of U.S. Provisional Patent Application 62/594,610 filed on Dec. 5, 2017, all by Jonathan E. Eisenzopf. 
    
    
     FIELD OF THE INVENTION 
     This is a continuation patent application of U.S. patent application Ser. No. 17/164,510, filed on Feb. 1, 2021, which was a continuation of U.S. patent application Ser. No. 16/201,188 filed on Nov. 27, 2018 (now U.S. Pat. No. 10,929,611), which claimed benefit of U.S. Provisional Patent Application 62/594,610 filed on Dec. 5, 2017, all by Jonathan E. Eisenzopf. The present invention relates to certain improvements of computer functionality to understand conversational inputs to an Interactive Voice Response, chat, messaging, or virtual assistant device. 
     BACKGROUND OF INVENTION 
     Interactive Voice Response (IVR) systems are commonly used by a wide variety of companies, government agencies, and private organizations to allow users of a telephone to navigate a hierarchy of menus to obtain information, conduct transactions, and connect to human agents for further help. These systems, however, do not offer a natural, conversational interface, but rather require the user to conform to the menu structure provided by the IVR system, which leads to frustration, errors, delays, and loss of customer affinity for the service, company, agency or organization. 
     Computer-based “chat” systems, messaging applications, and virtual assistants such as Amazon™ Alexa™ and Google Assistant™ allow for unstructured natural language input, but this input format is fundamentally incompatible with the input format of existing IVR systems. 
     SUMMARY OF THE EXEMPLARY 
     Embodiments of the Invention 
     Computer-based natural language understanding of input and output for a computer interlocutor is improved using a method of classifying conversation segments from transcribed conversations. The improvement includes one or more methods of splitting transcribed conversations into groups related to a conversation ontology using metadata; identifying dominant paths of conversational behavior by counting the frequency of occurrences of the behavior for a given path; creating a conversation model comprising conversation behaviors, metadata, and dominant paths; and using the conversation model to assign a probability score for a matched input to the computer interlocutor or a generated output from the computer interlocutor. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       The figures presented herein, when considered in light of this description, form a complete disclosure of one or more embodiments of the invention, wherein like reference numbers in the figures represent similar or same elements or steps. 
         FIG.  1    depicts an improved data processing system and its related components according to at least one embodiment of the present invention. 
         FIG.  2    depicts one or more methods according to the present invention performed by the improved data processing system to classify a plurality of conversation transcriptions between two or more interlocutors. 
         FIG.  3    illustrates an exemplary conversation classification method including splitting a plurality of transcribed conversations between multiple interlocutors into a plurality of conversation segments. 
         FIG.  4    shows an exemplary embodiment of a method for dominant weighting for a dominant path modeler. 
         FIG.  5    illustrates an exemplary topic classification method used by a topic classifier to identify the correct topic of conversation. 
         FIG.  6    depicts an exemplary weighted conversation model using a weighted conversation model. 
         FIG.  7    sets forth an exemplary conversation ontology used to for rule-based decision making to split transcribed conversations into segments for classification by the improved data processing system. 
         FIG.  8    illustrates an exemplary arrangement of computers, devices, and networks according to at least one embodiment of the present invention. 
     
    
    
     DETAILED DESCRIPTION OF ONE OR MORE EXEMPLARY EMBODIMENT(S) OF THE INVENTION 
     The present inventor has realized that there is an unmet need in the art of computing and user interface to enable an IVR to interface to a user through a conversational interface, especially through a digital virtual assistant. Certain improvements are disclosed herein that improve the ease of use of an IVR-provided service through particular user interface enhancements, while simultaneously improving the utilization of computer usage of computing resources such as memory footprint, processing bandwidth, and communications bandwidth to yield higher levels of simultaneously-served users by a single computing platform, thereby reducing the cost of the service to the operator. 
     This invention relates to a data processing system that processes audio, text and/or visual input for a computer interlocutor by creating and using a computer-based and computer-maintained conversation model comprising a plurality of topics comprising a plurality of probable inputs and outputs of a conversation based on a plurality of recorded conversations between a plurality of interlocutors. 
     The computer interlocutor resides on a computer with attached storage and memory that contains one or more processing units. The computer interlocutor creates responses displayed via an output mechanism such as an attached computer monitor or embedded visual screen or audio speaker attached to or embedded in the computer or computing device based on matching user inputs from an input device such as a connected keyboard or microphone attached to a computer or computing device. 
     Computer-based natural language understanding of input and output for a computer interlocutor is improved using a method, disclosed herein, of classifying conversation segments, which includes one or more of the following computer-performed actions, steps or processes:
         a. receiving conversation data from transcribed conversations, such as between two people, an online chat or a text messaging system, a speech recognition system, or a chatbot or voicebot system;   b. splitting transcribed conversations into groups related to a conversation ontology using metadata; identifying dominant paths of conversational behavior by counting the frequency of occurrences of the behavior for a given path;   c. creating a conversation model comprising conversation behaviors, metadata, and dominant paths;   d. using the conversation model to assign a probability score for a matched input to the computer interlocutor or a generated output from the computer interlocutor.   e. receiving a plurality of transcribed conversations comprising a plurality of topics comprising a plurality of inputs and outputs by the interlocutors;   f. accessing and using for rule-based decision making a plurality of metadata related to a plurality of conversations, topics, interlocutors, or related computer systems;   g. receiving conversation data from transcribed conversations between one or more of people, an online chat or a text messaging system, a speech recognition system, and a chatbot or voicebot system (in some embodiments, some users&#39; paths may be given more weight than other users);   h. splitting a plurality of transcribed conversations into a plurality of groups related to a conversation ontology using a plurality of metadata;   i. identifying a plurality of dominant paths comprising a plurality of conversational behavior by counting the frequency of occurrences of said behavior for a given path;   j. creating a conversation model comprising plurality of conversation behaviors, metadata, and dominant paths; and   k. accessing and using for rule-based decision making the conversation model to assign a probability score for a matched input to the computer interlocutor or a generated output from the computer interlocutor.       

     Referring now to  FIG.  1   , an exemplary improved networked computer environment  100  is depicted according to the present invention. The conversation classifier server  101 B is connected to a network  103  and configured such that is it capable of storing and running one or more of the following: a conversation processor  104 , a conversation classifier  105 , a topic classifier  106 , a dominant path modeler  107 , and a conversation modeler  108 , each of which may be realized by a processor running computer instructions, specialized electronic hardware circuits, or a combination of both. In this exemplary embodiment, another computer  101 A is also connected to the computer communications network  103  and contains conversation data  102 , which consists of transcribed conversations between two or more human and/or computer interlocutors. In some embodiments, at least one of the interlocutors may be interfaced via an application programming interface (API). In some embodiments, all of the interlocutors may be conducting a dialog within one computer. 
     Referring now to  FIG.  2   , exemplary methods used by the data processing system  100  to classify a plurality of conversation transcriptions from conversation data  102  between two or more interlocutors  200  are set forth further reference the exemplary arrangement of computing systems as shown in  FIG.  1   . The first step of the process is to segment the conversation transcript into turns further categorized by interlocutor  201  which is performed, for example, by the conversation processor  104  and further illustrated in  FIG.  3   . The conversation is further classified  202  according to a conversation ontology  700  according to conversation class  304 . In at least one embodiment, the segmenting of a conversation transcript may be performed manually, according to the conversation ontology described herein, or may be performed at least if not entirely automatically using available third-party dialog act processing systems with suitable control parameters. 
     Next, conversations are weighted  203  according to the number of path traversals, which is performed, for example, by the dominant path modeler  107 . Following the previous step, the data processing system performs topic classification  204  using the topic classifier  106 . Topic classification can be performed automatically (unsupervised) using techniques such as keyword analysis thesauri, and natural language processing. Finally, the improved data processing system creates  205  a weighted conversation model  600  as further illustrated by  FIG.  6    which can be used by a plurality of computer interlocutor systems to improve input and output performance in a number of ways, including but not limited to:
         (a) allowing for predictive responses by automated systems in order to handle transactions faster, thereby reducing the computer resources consumed by aggregate transactions and allowing more transactions to by handled by the same amount of hardware;   (b) supporting optimized product design and upgrades by identifying and automating the most likely conversation behaviors to target in resource reduction (decrease response time, reduce memory footprint, reduce processor burden, reduce communications bandwidth, etc.); and   (c) increasing customer affinity for interacting with automated systems by reducing delays between conversation turns which are otherwise unnatural delays when two humans are conversing.       

       FIG.  3    illustrates an exemplary embodiment  300  of a method for a dominant path weighting  203  and output of the conversation classifier  105 . This example includes a series of conversation turns T 1 -T 12    301  by an interlocutor  302  and another interlocutor  303  and further classified into a conversation classes  304  which correspond to a conversation ontology  700  as further illustrated in  FIG.  7   . 
     The conversation classifier  105  works by examining the text from the interlocutor  305  comprising a turn  301  and further examines the second interlocutor&#39;s text  306 , which, together and with processing of subsequent text including the turns of the interlocutors, classifies the turns into a conversation class  304 . Illustrative of this figure, the conversation classes are greeting  307 , topic negotiation  308 , discussion  309 , change/end topic  310 , and end conversation  311 . 
       FIG.  4    shows, using a Sankey-like diagram, an exemplary  400  dominant weighting method  203  used, for example, by the dominant path modeler  107  of data processing system  100  based on a plurality of segmented transcribed conversations processed by, for example, the conversation classifier  105  as depicted in  FIG.  3   .  FIG.  4    further illustrates a highlighted dominant path example as produced by the dominant weighting method  203  comprised of a plurality of classified conversations  300 . The dominant path model  400  is created, for example, by the dominant path modeler  107 . Each step in the dominant path may be representative of a conversation class ( 304 ), an interlocutor input, or additional metadata identified by the dominant path modeler.  FIG.  4    illustrates a dominant path model and may include a greeting  401 , a topic negotiation  403 , a topic discussion  405 , a change or end of topic  407 , and an end of conversation  409  steps (path nodes). The illustrated lines between each element of the dominant path represent the sum of plurality of conversations that traverse each path. The lines or weights ( 402 ,  404 ,  406 , and  408 ) between steps in the paths represent the sums W 1 - W   N  of traversals between steps in the dominant path. 
       FIG.  5    depicts  500  an exemplary topic classification method  204  used, for example, by the topic classifier  106  of data processing system  100 , and is used to identify the correct topic of conversation based on a plurality of segmented conversations  300  including a plurality of topic negotiation segments  308 .  FIG.  5    further includes matching interlocutor inputs  501  to a plurality of topics in a plurality of domain ontologies  502  which returns the resulting metadata associated with a plurality of matching topics  503  to, for example, the topic classifier  106 . 
       FIG.  6    depicts an exemplary weighted conversation model  600  which is recorded in computer memory in an improved data structure and produced, for example, by the conversation modeler  108  of the data processing system  100 , using, for example, the weighted conversation modeling method  205  from a plurality of transcribed conversations for a plurality of identified topics  500 .  FIG.  6    is illustrative of the weighted conversation modeling method  205  which is produced by the conversation modeler  108  and includes a topic  601  and a plurality of weights  602 ,  603 ,  605 ,  607  associated with a plurality of conversation paths and turns  604 ,  606 ,  608 . The present method uses the output of, for example, the dominant path modeler  107  and its associated dominant path weighting method  203  and as previously illustrated in  FIG.  4    as input. 
     Each path segment P 1 -P N  between turns T 1 -T N  from a given dominant path model  400  and its associated weights W 1 -W N  are converted to a corresponding weight in the conversation model  600  such that the percentage of conversation traversals are represented as a percentage of the total traversals from the plurality of processed conversations. 
     For this present illustration, given a topic  601 , weight  602  represents the percentage of processed conversations that have traversed the path P x  for the interlocutor turn T y . Further, weight  603  represents a second dominant path weighting with its associated path and interlocutor turn. Further weights for turns by the interlocutors are similarly represented by  605 ,  606 ,  607 , and  608  as prescribed by the conversation segments, paths and weights contained in the dominant path model  400 . The resulting conversation model as illustrated by  FIG.  6    and its associated weights can then be used as by a method to predict the next most likely step in a conversation based upon the current position in the conversation model. 
     Referring now to  FIG.  7   , an exemplary conversation ontology is shown using a steampipe-like diagram, which may consist of entities including a greeting  701 , topic negotiation  702 , a discussion about a topic comprised of a series of turns  709  between the interlocutors that may contain a corresponding question  703  and answer followed by an end  705  or change of topic  708  followed by an end of conversation  706 . Conversation repair  707  occurs within a topic when one or both interlocutors exchange turns during which the initial or earlier topic is finetuned or further refined, but not entirely changed from one domain to another. A plurality of conversation ontologies may be used by the data processing system  100  and one or more of the corresponding methods  200  of the system. Further, an ontology  700  is specifically utilized by the conversation classifier  105  and the associated method conversation classification  203  and as further illustrated by  FIG.  3    to segment a plurality of conversations into conversation classes  304 . 
     Referring now to  FIG.  8   , an exemplary arrangement  800  of computers, devices, and networks according to at least one embodiment of the present invention is shown. A variety, but not exhaustive collection, of interlocutor types are shown, including a computer  804   a , such as a personal computer or tablet computer, a smart cellular telephone  804   b , a traditional telephone  804   c , a chat server  805   a , a web server  805   b , an interactive voice response (IVR) system  805   c , and an agent console  805   d , which are interconnected via one or more wired or wireless telephone networks  801 , data networks  803 , and an internet  801 . Two more or more of the interlocutor devices can carry on a dialog or conversation, which can be processed according to the forgoing descriptions. This analysis, as described, yields conversation data with metadata  102 , which is created via supervised conversation analysis  807 , automated conversation analysis  806 , or a combination of both. The conversation classifier server  101   b  then communicates via appropriate data networks to access the conversation data  102  and perform the forgoing dominant path analysis. 
     The preceding example logical processes may include computer processing hardware to embody systems according to the present invention; may be coupled with tangible, computer readable memory devices to realize computer program products according to the invention; and may be embodied as a machine logic method. 
     The present invention may be realized for many different processors used in many different computing platforms, including but not limited to “Personal Computers” and web servers, running a popular operating systems such as Microsoft™ Windows™ or IBM™ AIX™, UNIX, LINUX, Google Android™, Apple iOS™, and others, to execute one or more application programs to accomplish the computerized methods described herein, thereby providing the improvement to the computer platform as set forth herein. 
     The “hardware” portion of a computing platform typically includes one or more processors accompanied by, sometimes, specialized co-processors or accelerators, such as graphics accelerators, and by suitable computer readable memory devices (RAM, ROM, disk drives, removable memory cards, etc.). Depending on the computing platform, one or more network interfaces may be provided, as well as specialty interfaces for specific applications. If the computing platform is intended to interact with human users, it is provided with one or more user interface devices, such as display(s), keyboards, pointing devices, speakers, etc. And, each computing platform requires one or more power supplies (battery, AC mains, solar, etc.). 
     The terminology used herein is for the purpose of describing particular exemplary embodiments only and is not intended to be limiting of the invention. As used herein, the singular forms “a”, “an” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms “comprises” and/or “comprising,” when used in this specification, specify the presence of stated features, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, steps, operations, elements, components, and/or groups thereof, unless specifically stated otherwise. 
     The corresponding structures, materials, acts, and equivalents of all means or step plus function elements in the claims below are intended to include any structure, material, or act for performing the function in combination with other claimed elements as specifically claimed. The description of the present invention has been presented for purposes of illustration and description, but is not intended to be exhaustive or limited to the invention in the form disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the invention. The embodiment was chosen and described in order to best explain the principles of the invention and the practical application, and to enable others of ordinary skill in the art to understand the invention for various embodiments with various modifications as are suited to the particular use contemplated. 
     Certain embodiments utilizing a microprocessor executing a logical process may also be realized through customized electronic circuitry performing the same logical process(es). The foregoing example embodiments do not define the extent or scope of the present invention, but instead are provided as illustrations of how to make and use at least one embodiment of the invention.