Patent Publication Number: US-2019197423-A1

Title: Probabilistic modeling system and method

Description:
RELATED APPLICATION(S) 
     This application claims the benefit of the following: U.S. Provisional Application No. 62/616,784, filed on 12 Jan. 2018, and U.S. Provisional Application No. 62/609,906, filed on 22 Dec. 2017, their entire contents of which are herein incorporated by reference. 
    
    
     TECHNICAL FIELD 
     This disclosure relates to probabilistic models and, more particularly, to automated generation of probabilistic models. 
     BACKGROUND 
     Businesses may receive and need to process content that comes in various formats (e.g., fully-structured content, semi-structured content, and unstructured content). The processing of such content may occur via the use of probabilistic models, wherein these probabilistic models may be generated based upon the content to be processed. 
     As is known, the world of traditional programming was revolutionized through the use of object-oriented programming, wherein portions of code are configured as objects (that effectuate simpler tasks/procedures) that are then compiled/linked together to form a more complex system that effectuates more complex tasks/procedures. 
     Unfortunately and when designing probabilistic models, these models are generated organically regardless of whether or not portions of the model are common in nature. 
     Summary of Disclosure 
     In one implementation, a computer-implemented method is executed on a computing device and including: identifying a need for an ML object within a probabilistic model; accessing an ML object repository that defines a plurality of ML objects; obtaining a first ML object selected from the plurality of ML objects defined within the ML object repository; and adding the first ML object to the probabilistic model. 
     One or more of the following features may be included. Adding the first ML object to the probabilistic model may include one or more of: adding the first ML object to the probabilistic model using a pipelining methodology; adding the first ML object to the probabilistic model using a boosting methodology; adding the first ML object to the probabilistic model using a transfer learning methodology; and adding the first ML object to the probabilistic model using a Bayesian synthesis methodology. Whether the first ML object is applicable with the probabilistic model may be determined. It may be determined that the first ML object is not applicable with the probabilistic model. The first ML object may be removed from the probabilistic model. An additional ML object selected from the plurality of ML objects defined within the ML object repository may be selected. The additional ML object may be added to the probabilistic model. Adding the additional ML object to the probabilistic model may include one or more of: adding the additional ML object to the probabilistic model using a pipelining methodology; adding the additional ML object to the probabilistic model using a boosting methodology; adding the additional ML object to the probabilistic model using a transfer learning methodology; and adding the additional ML object to the probabilistic model using a Bayesian synthesis methodology. Whether the additional ML object is applicable with the probabilistic model may be determined. The ML object repository may be maintained. 
     In another implementation, a computer program product resides on a computer readable medium and has a plurality of instructions stored on it. When executed by a processor, the instructions cause the processor to perform operations including identifying a need for an ML object within a probabilistic model; accessing an ML object repository that defines a plurality of ML objects; obtaining a first ML object selected from the plurality of ML objects defined within the ML object repository; and adding the first ML object to the probabilistic model. 
     One or more of the following features may be included. Adding the first ML object to the probabilistic model may include one or more of: adding the first ML object to the probabilistic model using a pipelining methodology; adding the first ML object to the probabilistic model using a boosting methodology; adding the first ML object to the probabilistic model using a transfer learning methodology; and adding the first ML object to the probabilistic model using a Bayesian synthesis methodology. Whether the first ML object is applicable with the probabilistic model may be determined. It may be determined that the first ML object is not applicable with the probabilistic model. The first ML object may be removed from the probabilistic model. An additional ML object selected from the plurality of ML objects defined within the ML object repository may be selected. The additional ML object may be added to the probabilistic model. Adding the additional ML object to the probabilistic model may include one or more of: adding the additional ML object to the probabilistic model using a pipelining methodology; adding the additional ML object to the probabilistic model using a boosting methodology; adding the additional ML object to the probabilistic model using a transfer learning methodology; and adding the additional ML object to the probabilistic model using a Bayesian synthesis methodology. Whether the additional ML object is applicable with the probabilistic model may be determined. The ML object repository may be maintained. 
     In another implementation, a computing system includes a processor and memory is configured to perform operations including identifying a need for an ML object within a probabilistic model; accessing an ML object repository that defines a plurality of ML objects; obtaining a first ML object selected from the plurality of ML objects defined within the ML object repository; and adding the first ML object to the probabilistic model. 
     One or more of the following features may be included. Adding the first ML object to the probabilistic model may include one or more of: adding the first ML object to the probabilistic model using a pipelining methodology; adding the first ML object to the probabilistic model using a boosting methodology; adding the first ML object to the probabilistic model using a transfer learning methodology; and adding the first ML object to the probabilistic model using a Bayesian synthesis methodology. Whether the first ML object is applicable with the probabilistic model may be determined. It may be determined that the first ML object is not applicable with the probabilistic model. The first ML object may be removed from the probabilistic model. An additional ML object selected from the plurality of ML objects defined within the ML object repository may be selected. The additional ML object may be added to the probabilistic model. Adding the additional ML object to the probabilistic model may include one or more of: adding the additional ML object to the probabilistic model using a pipelining methodology; adding the additional ML object to the probabilistic model using a boosting methodology; adding the additional ML object to the probabilistic model using a transfer learning methodology; and adding the additional ML object to the probabilistic model using a Bayesian synthesis methodology. Whether the additional ML object is applicable with the probabilistic model may be determined. The ML object repository may be maintained. 
     The details of one or more implementations are set forth in the accompanying drawings and the description below. Other features and advantages will become apparent from the description, the drawings, and the claims. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1  is a diagrammatic view of a distributed computing network including a computing device that executes a probabilistic modeling process according to an embodiment of the present disclosure; 
         FIG. 2  is a flowchart of an implementation of the probabilistic modeling process of  FIG. 1  according to an embodiment of the present disclosure; 
         FIG. 3  is a diagrammatic view of a probabilistic model rendered by the probabilistic modeling process of  FIG. 1  according to an embodiment of the present disclosure; 
         FIG. 4A  is diagrammatic view of a pipelining process according to an embodiment of the present disclosure; 
         FIG. 4B  is diagrammatic view of a boosting process according to an embodiment of the present disclosure; 
         FIG. 4C  is diagrammatic view of a transfer learning process according to an embodiment of the present disclosure; 
         FIG. 4D  is diagrammatic view of a Bayesian synthesis process according to an embodiment of the present disclosure; 
     
    
    
     Like reference symbols in the various drawings indicate like elements. 
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS 
     System Overview 
     Referring to  FIG. 1 , there is shown probabilistic modeling process  10 . Probabilistic modeling process  10  may be implemented as a server-side process, a client-side process, or a hybrid server-side/client-side process. For example, probabilistic modeling process  10  may be implemented as a purely server-side process via probabilistic modeling process  10   s . Alternatively, probabilistic modeling process  10  may be implemented as a purely client-side process via one or more of probabilistic modeling process  10   c   1 , probabilistic modeling process  10   c   2 , probabilistic modeling process  10   c   3 , and probabilistic modeling process  10   c   4 . Alternatively still, probabilistic modeling process  10  may be implemented as a hybrid server-side/client-side process via probabilistic modeling process  10   s  in combination with one or more of probabilistic modeling process  10   c   1 , probabilistic modeling process  10   c   2 , probabilistic modeling process  10   c   3 , and probabilistic modeling process  10   c   4 . Accordingly, probabilistic modeling process  10  as used in this disclosure may include any combination of probabilistic modeling process  10   s , probabilistic modeling process  10   c   1 , probabilistic modeling process  10   c   2 , probabilistic modeling process, and probabilistic modeling process  10   c   4 . 
     Probabilistic modeling process  10   s  may be a server application and may reside on and may be executed by computing device  12 , which may be connected to network  14  (e.g., the Internet or a local area network). Examples of computing device  12  may include, but are not limited to: a personal computer, a laptop computer, a personal digital assistant, a data-enabled cellular telephone, a notebook computer, a television with one or more processors embedded therein or coupled thereto, a cable/satellite receiver with one or more processors embedded therein or coupled thereto, a server computer, a series of server computers, a mini computer, a mainframe computer, or a cloud-based computing network. 
     The instruction sets and subroutines of probabilistic modeling process  10   s , which may be stored on storage device  16  coupled to computing device  12 , may be executed by one or more processors (not shown) and one or more memory architectures (not shown) included within computing device  12 . Examples of storage device  16  may include but are not limited to: a hard disk drive; a RAID device; a random access memory (RAM); a read-only memory (ROM); and all forms of flash memory storage devices. 
     Network  14  may be connected to one or more secondary networks (e.g., network  18 ), examples of which may include but are not limited to: a local area network; a wide area network; or an intranet, for example. 
     Examples of probabilistic modeling processes  10   c   1 ,  10   c   2 ,  10   c   3 ,  10   c   4  may include but are not limited to a client application, a web browser, a game console user interface, or a specialized application (e.g., an application running on e.g., the Android™ platform or the iOS™ platform). The instruction sets and subroutines of probabilistic modeling processes  10   c   1 ,  10   c   2 ,  10   c   3 ,  10   c   4 , which may be stored on storage devices  20 ,  22 ,  24 ,  26  (respectively) coupled to client electronic devices  28 ,  30 ,  32 ,  34  (respectively), may be executed by one or more processors (not shown) and one or more memory architectures (not shown) incorporated into client electronic devices  28 ,  30 ,  32 ,  34  (respectively). Examples of storage device  16  may include but are not limited to: a hard disk drive; a RAID device; a random access memory (RAM); a read-only memory (ROM); and all forms of flash memory storage devices. 
     Examples of client electronic devices  28 ,  30 ,  32 ,  34  may include, but are not limited to, data-enabled, cellular telephone  28 , laptop computer  30 , personal digital assistant  32 , personal computer  34 , a notebook computer (not shown), a server computer (not shown), a gaming console (not shown), a smart television (not shown), and a dedicated network device (not shown). Client electronic devices  28 ,  30 ,  32 ,  34  may each execute an operating system, examples of which may include but are not limited to Microsoft Windows™, Android™, WebOS™, iOS™, Redhat Linux™, or a custom operating system. 
     Users  36 ,  38 ,  40 ,  42  may access probabilistic modeling process  10  directly through network  14  or through secondary network  18 . Further, probabilistic modeling process  10  may be connected to network  14  through secondary network  18 , as illustrated with link line  44 . 
     The various client electronic devices (e.g., client electronic devices  28 ,  30 ,  32 ,  34 ) may be directly or indirectly coupled to network  14  (or network  18 ). For example, data-enabled, cellular telephone  28  and laptop computer  30  are shown wirelessly coupled to network  14  via wireless communication channels  46 ,  48  (respectively) established between data-enabled, cellular telephone  28 , laptop computer  30  (respectively) and cellular network/bridge  50 , which is shown directly coupled to network  14 . Further, personal digital assistant  32  is shown wirelessly coupled to network  14  via wireless communication channel  52  established between personal digital assistant  32  and wireless access point (i.e., WAP)  54 , which is shown directly coupled to network  14 . Additionally, personal computer  34  is shown directly coupled to network  18  via a hardwired network connection. 
     WAP 54 may be, for example, an IEEE 802.11a, 802.11b, 802.11g, 802.11n, Wi-Fi, and/or Bluetooth device that is capable of establishing wireless communication channel  52  between personal digital assistant  32  and WAP 54. As is known in the art, IEEE 802.11x specifications may use Ethernet protocol and carrier sense multiple access with collision avoidance (i.e., CSMA/CA) for path sharing. The various 802.11x specifications may use phase-shift keying (i.e., PSK) modulation or complementary code keying (i.e., CCK) modulation, for example. As is known in the art, Bluetooth is a telecommunications industry specification that allows e.g., mobile phones, computers, and personal digital assistants to be interconnected using a short-range wireless connection. 
     Probabilistic Modeling Overview: 
     Assume for illustrative purposes that probabilistic modeling process  10  may be configured to process content (e.g., content  56 ), wherein examples of content  56  may include but are not limited to unstructured content and structured content. 
     As is known in the art, structured content may be content that is separated into independent portions (e.g., fields, columns, features) and, therefore, may have a pre-defined data model and/or is organized in a pre-defined manner. For example, if the structured content concerns an employee list: a first field, column or feature may define the first name of the employee; a second field, column or feature may define the last name of the employee; a third field, column or feature may define the home address of the employee; and a fourth field, column or feature may define the hire date of the employee. 
     Further and as is known in the art, unstructured content may be content that is not separated into independent portions (e.g., fields, columns, features) and, therefore, may not have a pre-defined data model and/or is not organized in a pre-defined manner. For example, if the unstructured content concerns the same employee list: the first name of the employee, the last name of the employee, the home address of the employee, and the hire date of the employee may all be combined into one field, column or feature. 
     For the following example, assume that content  56  is unstructured content, an example of which may include but is not limited to unstructured user feedback received by a company (e.g., text-based feedback such as text-messages, social media posts, and email messages; and transcribed voice-based feedback such as transcribed voice mail, and transcribed voice messages). 
     When processing content  56 , probabilistic modeling process  10  may use probabilistic modeling to accomplish such processing, wherein examples of such probabilistic modeling may include but are not limited to discriminative modeling, generative modeling, or combinations thereof. 
     As is known in the art, probabilistic modeling may be used within modern artificial intelligence systems (e.g., probabilistic modeling process  10 ), in that these probabilistic models may provide artificial intelligence systems with the tools required to autonomously analyze vast quantities of data (e.g., content  56 ). 
     Examples of the tasks for which probabilistic modeling may be utilized may include but are not limited to:
         predicting media (music, movies, books) that a user may like or enjoy based upon media that the user has liked or enjoyed in the past;   transcribing words spoken by a user into editable text;   grouping genes into gene clusters;   identifying recurring patterns within vast data sets;   filtering email that is believed to be spam from a user&#39;s inbox;   generating clean (i.e., non-noisy) data from a noisy data set;   analyzing (voice-based or text-based) customer feedback; and   diagnosing various medical conditions and diseases.       

     For each of the above-described applications of probabilistic modeling, an initial probabilistic model may be defined, wherein this initial probabilistic model may be subsequently (e.g., iteratively or continuously) modified and revised, thus allowing the probabilistic models and the artificial intelligence systems (e.g., probabilistic modeling process  10 ) to “learn” so that future probabilistic models may be more precise and may explain more complex data sets. 
     Accordingly, probabilistic modeling process  10  may define an initial probabilistic model for accomplishing a defined task (e.g., the analyzing of content  56 ). For example, assume that this defined task is analyzing customer feedback (e.g., content  56 ) that is received from customers of e.g., restaurant  58  via an automated feedback phone line. For this example, assume that content  56  is initially voice-based content that is processed via e.g., a speech-to-text process that results in unstructured text-based customer feedback (e.g., content  56 ). 
     With respect to probabilistic modeling process  10 , an analysis model may be utilized to go from initial observations about content  56  (e.g., as represented by the initial branches of an analysis model) to conclusions about content  56  (e.g., as represented by the leaves of an analysis model). 
     As used in this disclosure, the term “branch” may refer to the existence (or non-existence) of a component (e.g., a sub-model) of (or included within) a model. Examples of such a branch may include but are not limited to: an execution branch of a probabilistic program or other generative model, a part (or parts) of a probabilistic graphical model, and/or a component neural network that may (or may not) have been previously trained. 
     While the following discussion provides a detailed example of an analysis model, this is for illustrative purposes only and is not intended to be a limitation of this disclosure, as other configurations are possible and are considered to be within the scope of this disclosure. For example, the following discussion may concern any type of model (e.g., be it probabilistic or other) and, therefore, the below-described analysis model is merely intended to be one illustrative example of a type of model and is not intended to limit this disclosure to analysis models. 
     Additionally, while the following discussion concerns word-based routing of messages through an analysis model, this is for illustrative purposes only and is not intended to be a limitation of this disclosure, as other configurations are possible and are considered to be within the scope of this disclosure. Examples of other types of information that may be used to route messages through an analysis model may include: the order of the words within a message; and the punctuation interspersed throughout the message. 
     For example and referring also to  FIG. 2 , there is shown one simplified example of an analysis model (e.g., analysis model  100 ) that may be utilized to analyze content  56  (e.g., unstructured text-based customer feedback) concerning restaurant  58 . The manner in which analysis model  100  may be automatically-generated by probabilistic modeling process  10  will be discussed below in detail. In this particular example, analysis model  10  may receive content  56  (e.g., unstructured text-based customer feedback) at branching node  102  for processing. Assume that analysis model  100  includes four branches off of branching node  102 , namely: service branch  104 ; meal branch  106 ; location branch  108 ; and value branch  110  that respectively lead to service node  112 , meal node  114 , location node  116 , and value node  118 . 
     As stated above, service branch  104  may lead to service node  112 , which may be configured to process the portion of content  56  (e.g., unstructured text-based customer feedback) that concerns (in whole or in part) feedback concerning the customer service of restaurant  58 . For example, service node  112  may define service word list  120  that may include e.g., the word service, as well as synonyms of (and words related to) the word service (e.g., waiter, waitress, server, employee, and hostess). Accordingly and in the event that a portion of content  56  (e.g., a text-based customer feedback message) includes the word service, waiter, waitress, server, employee and/or hostess, that portion of content  56  may be considered to be text-based customer feedback concerning the service received at restaurant  58  and (therefore) may be routed to service node  112  of analysis model  100  for further processing. Assume for this illustrative example that analysis model  100  includes two branches off of service node  112 , namely: good service branch  122  and bad service branch  124 . 
     Good service branch  122  may lead to good service node  126 , which may be configured to process the portion of content  56  (e.g., unstructured text-based customer feedback) that concerns (in whole or in part) good feedback concerning the customer service of restaurant  58 . For example, good service node  126  may define good service word list  128  that may include e.g., the word good, as well as synonyms of (and words related to) the word good (e.g., courteous, friendly, lovely, happy, and smiling). Accordingly and in the event that a portion of content  56  (e.g., a text-based customer feedback message) that was routed to service node  112  includes the word good, courteous, friendly, lovely, happy, and/or smiling, that portion of content  56  may be considered to be text-based customer feedback indicative of good service received at restaurant  58  (and, therefore, may be routed to good service node  126 ). 
     Bad service branch  124  may lead to bad service node  130 , which may be configured to process the portion of content  56  (e.g., unstructured text-based customer feedback) that concerns (in whole or in part) bad feedback concerning the customer service of restaurant  58 . For example, bad service node  130  may define bad service word list  132  that may include e.g., the word bad, as well as synonyms of (and words related to) the word bad (e.g., rude, mean, jerk, miserable, and scowling). Accordingly and in the event that a portion of content  56  (e.g., a text-based customer feedback message) that was routed to service node  112  includes the word bad, rude, mean, jerk, miserable, and/or scowling, that portion of content  56  may be considered to be text-based customer feedback indicative of bad service received at restaurant  58  (and, therefore, may be routed to bad service node  130 ). 
     As stated above, meal branch  106  may lead to meal node  114 , which may be configured to process the portion of content  56  (e.g., unstructured text-based customer feedback) that concerns (in whole or in part) feedback concerning the meal served at restaurant  58 . For example, meal node  114  may define meal word list  134  that may include e.g., words indicative of the meal received at restaurant  58 . Accordingly and in the event that a portion of content  56  (e.g., a text-based customer feedback message) includes any of the words defined within meal word list  134 , that portion of content  56  may be considered to be text-based customer feedback concerning the meal received at restaurant  58  and (therefore) may be routed to meal node  114  of analysis model  100  for further processing. Assume for this illustrative example that analysis model  100  includes two branches off of meal node  114 , namely: good meal branch  136  and bad meal branch  138 . 
     Good meal branch  136  may lead to good meal node  140 , which may be configured to process the portion of content  56  (e.g., unstructured text-based customer feedback) that concerns (in whole or in part) good feedback concerning the meal received at restaurant  58 . For example, good meal node  140  may define good meal word list  142  that may include words indicative of receiving a good meal at restaurant  58 . Accordingly and in the event that a portion of content  56  (e.g., a text-based customer feedback message) that was routed to meal node  114  includes any of the words defined within good meal word list  142 , that portion of content  56  may be considered to be text-based customer feedback indicative of a good meal being received at restaurant  58  (and, therefore, may be routed to good meal node  140 ). 
     Bad meal branch  138  may lead to bad meal node  144 , which may be configured to process the portion of content  56  (e.g., unstructured text-based customer feedback) that concerns (in whole or in part) bad feedback concerning the meal received at restaurant  58 . For example, bad meal node  144  may define bad meal word list  146  that may include words indicative of receiving a bad meal at restaurant  58 . Accordingly and in the event that a portion of content  56  (e.g., a text-based customer feedback message) that was routed to meal node  114  includes any of the words defined within bad meal word list  146 , that portion of content  56  may be considered to be text-based customer feedback indicative of a bad meal being received at restaurant  58  (and, therefore, may be routed to bad meal node  144 ). 
     As stated above, location branch  108  may lead to location node  116 , which may be configured to process the portion of content  56  (e.g., unstructured text-based customer feedback) that concerns (in whole or in part) feedback concerning the location of restaurant  58 . For example, location node  116  may define location word list  148  that may include e.g., words indicative of the location of restaurant  58 . Accordingly and in the event that a portion of content  56  (e.g., a text-based customer feedback message) includes any of the words defined within location word list  148 , that portion of content  56  may be considered to be text-based customer feedback concerning the location of restaurant  58  and (therefore) may be routed to location node  116  of analysis model  100  for further processing. Assume for this illustrative example that analysis model  100  includes two branches off of location node  116 , namely: good location branch  150  and bad location branch  152 . 
     Good location branch  150  may lead to good location node  154 , which may be configured to process the portion of content  56  (e.g. unstructured text-based customer feedback) that concerns (in whole or in part) good feedback concerning the location of restaurant  58 . For example, good location node  154  may define good location word list  154  that may include words indicative of restaurant  58  being in a good location. Accordingly and in the event that a portion of content  56  (e.g., a text-based customer feedback message) that was routed to location node  116  includes any of the words defined within good location word list  156 , that portion of content  56  may be considered to be text-based customer feedback indicative of restaurant  58  being in a good location (and, therefore, may be routed to good location node  154 ). 
     Bad location branch  152  may lead to bad location node  158 , which may be configured to process the portion of content  56  (e.g. unstructured text-based customer feedback) that concerns (in whole or in part) bad feedback concerning the location of restaurant  58 . For example, bad location node  158  may define bad location word list  160  that may include words indicative of restaurant  58  being in a bad location. Accordingly and in the event that a portion of content  56  (e.g., a text-based customer feedback message) that was routed to location node  116  includes any of the words defined within bad location word list  160 , that portion of content  56  may be considered to be text-based customer feedback indicative of restaurant  58  being in a bad location (and, therefore, may be routed to bad location node  158 ). 
     As stated above, value branch  110  may lead to value node  118 , which may be configured to process the portion of content  56  (e.g. unstructured text-based customer feedback) that concerns (in whole or in part) feedback concerning the value received at restaurant  58 . For example, value node  118  may define value word list  162  that may include e.g., words indicative of the value received at restaurant  58 . Accordingly and in the event that a portion of content  56  (e.g., a text-based customer feedback message) includes any of the words defined within value word list  162 , that portion of content  56  may be considered to be text-based customer feedback concerning the value received at restaurant  58  and (therefore) may be routed to value node  118  of analysis model  100  for further processing. Assume for this illustrative example that analysis model  100  includes two branches off of value node  118 , namely: good value branch  164  and bad value branch  166 . 
     Good value branch  164  may lead to good value node  168 , which may be configured to process the portion of content  56  (e.g. unstructured text-based customer feedback) that concerns (in whole or in part) good value being received at restaurant  58 . For example, good value node  168  may define good value word list  170  that may include words indicative of receiving good value at restaurant  58 . Accordingly and in the event that a portion of content  56  (e.g., a text-based customer feedback message) that was routed to value node  118  includes any of the words defined within good value word list  170 , that portion of content  56  may be considered to be text-based customer feedback indicative of good value being received at restaurant  58  (and, therefore, may be routed to good value node  168 ). 
     Bad value branch  166  may lead to bad value node  172 , which may be configured to process the portion of content  56  (e.g. unstructured text-based customer feedback) that concerns (in whole or in part) bad value being received at restaurant  58 . For example, bad value node  172  may define bad value word list  174  that may include words indicative of receiving bad value at restaurant  58 . Accordingly and in the event that a portion of content  56  (e.g., a text-based customer feedback message) that was routed to value node  118  includes any of the words defined within bad value word list  174 , that portion of content  56  may be considered to be text-based customer feedback indicative of bad value being received at restaurant  58  (and, therefore, may be routed to bad value node  172 ). 
     Once it is established that good or bad customer feedback was received concerning restaurant  58  (i.e., with respect to the service, the meal, the location or the value), representatives and/or agents of restaurant  58  may address the provider of such good or bad feedback via e.g., social media postings, text-messages and/or personal contact. 
     Assume for illustrative purposes that a user (e.g., user  36 ,  38 ,  40 ,  42 ) of the above-stated probabilistic modeling process  10  provides feedback to restaurant  58  in the form of speech provided to an automated feedback phone line. Further assume for this example that user  36  uses data-enabled, cellular telephone  28  to provide feedback  60  (e.g., a portion of content  56 ) to the automated feedback phone line. Upon receiving feedback  60  for analysis, this user content (e.g., feedback  60 ) may be preprocessed (via e.g., a machine process or a third-party). Examples of such preprocessing may include but are not limited to: the correction of spelling errors (e.g., to correct any spelling errors within text-based feedback and to correct any transcription errors within voice-based feedback), the inclusion of additional synonyms, and the removal of irrelevant comments. Accordingly and for this example, such user content (e.g., feedback  60 ) may be the unprocessed feedback or may be the preprocessed feedback, wherein the author of this feedback may be the user, the third-party, or a collaboration of both. Continuing with the above-stated example, probabilistic modeling process  10  may identify any pertinent content that is included within feedback  60 . 
     For illustrative purposes, assume that user  36  was not happy with their experience at restaurant  58  and that feedback  60  provided by user  36  was “my waiter was rude and the weather was rainy”. Accordingly and for this example, probabilistic modeling process  10  may identify the pertinent content (included within feedback  60 ) as the phrase “my waiter was rude” and may ignore/remove the irrelevant content “the weather was rainy”. As (in this example) feedback  60  includes the word “waiter”, probabilistic modeling process  10  may rout feedback  60  to service node  112  via service branch  104 . Further, as feedback  60  also includes the word “rude”, probabilistic modeling process  10  may rout feedback  60  to bad service node  130  via bad service branch  124  and may consider feedback  60  to be text-based customer feedback indicative of bad service being received at restaurant  58 . 
     For further illustrative purposes, assume that user  36  was happy with their experience at restaurant  58  and that feedback  60  provided by user  36  was “my dinner was yummy but my cab got stuck in traffic”. Accordingly and for this example, probabilistic modeling process  10  may identify the pertinent content (included within feedback  60 ) as the phrase “my dinner was yummy” and may ignore/remove the irrelevant content “my cab got stuck in traffic”. As (in this example) feedback  60  includes the word “dinner”, probabilistic modeling process  10  may rout feedback  60  to meal node  114  via meal branch  106 . Further, as feedback  60  also includes the word “yummy”, probabilistic modeling process  10  may rout feedback  60  to good meal node  140  via good meal branch  136  and may consider feedback  60  to be text-based customer feedback indicative of a good meal being received at restaurant  58 . 
     Thus far, the examples of customer feedback  60  have concerned only one facet of restaurant  58 , wherein: the first example of feedback  60  concerned bad feedback with respect to the service received at restaurant  58 , while the second example of feedback  60  concerned good feedback with respect to the meal received at restaurant  58 . Accordingly, both examples of feedback  60  have been routed to only one end node. However, it is understood that a single piece of feedback may concern multiple facets of restaurant  58 . Accordingly, it is foreseeable that a single piece of feedback may need to be routed to a plurality of end nodes. 
     For example and for further illustrative purposes, assume that user  36  had mixed feeling concerning their experience at restaurant  58  and that feedback  60  provided by user  36  was “my waiter was rude and the weather was rainy but my dinner was yummy even though my cab got stuck in traffic”. Accordingly and for this example, probabilistic modeling process  10  may identify the pertinent content (included within feedback  60 ) as the phrases “my waiter was rude” and “my dinner was yummy” and may ignore/remove the irrelevant content “the weather was rainy” and “my cab got stuck in traffic”. As (in this example) feedback  60  includes the word “waiter”, probabilistic modeling process  10  may rout feedback  60  (or a portion thereof) to service node  112  via service branch  104 . Further, as feedback  60  also includes the word “rude”, probabilistic modeling process  10  may rout feedback  60  (or a portion thereof) to bad service node  130  via bad service branch  124  and may consider this portion of feedback  60  to be text-based customer feedback indicative of bad service being received at restaurant  58 . Further, since feedback  60  includes the word “dinner”, probabilistic modeling process  10  may rout feedback  60  (or a portion thereof) to meal node  114  via meal branch  106 . Further, as feedback  60  also includes the word “yummy”, probabilistic modeling process  10  may rout feedback  60  (or a portion thereof) to good meal node  140  via good meal branch  136  and may consider this portion of feedback  60  to be text-based customer feedback indicative of a good meal being received at restaurant  58 . 
     Accordingly and in this example, feedback  60  concerns two facets of restaurant  58  (i.e., the service and the meal), wherein user  36  stated (via feedback  60 ) that they received a good meal even though the service received was poor. Therefore, multiple branches within analysis model  100  may be simultaneously activated. Specifically, service branch  104  and meal branch  106  may be simultaneously activated so that the appropriate portion of feedback  60  (e.g., “my waiter was rude”) may be provided to service node  112  while the appropriate portion of feedback  60  (e.g., “my dinner was yummy”) may be provided to meal node  114 . 
     Probabilistic Model Auto Generation: 
     While the following discussion concerns the automated generation of an analysis model, this is for illustrative purposes only and is not intended to be a limitation of this disclosure, as other configurations are possible and are considered to be within the scope of this disclosure. For example, the following discussion of automated generation may be utilized on any type of model. For example, the following discussion may be applicable to any other form of probabilistic model or any form of generic model (such as Dempster Shaffer theory or fuzzy logic). 
     As discussed above, analysis model  100  may be utilized to categorize content  56 , thus allowing the various messages included within content  56  to be routed to (in this simplified example) one of eight nodes (e.g., good service node  126 , bad service node  130 , good meal node  140 , bad meal node  144 , good location node  154 , bad location node  158 , good value node  168 , and bad value node  172 ). For the following example, assume that restaurant  58  is a long-standing and well established eating establishment. Further, assume that content  56  is a very large quantity of voice mail messages (&gt;10,000 messages) that were left by customers of restaurant  58  on a voice-based customer feedback line. Additionally, assume that this very large quantity of voice mail messages (&gt;10,000) have been transcribed into a very large quantity of text-based messages (&gt;10,000). 
     Probabilistic modeling process  10  may be configured to automatically define analysis model  100  based upon content  56 . Accordingly, probabilistic modeling process  10  may receive content (e.g., a very large quantity of text-based messages). Probabilistic modeling process  10  may be configured to define one or more analysis model variables for analysis model  100 . For example, probabilistic modeling process  10  may be configured to allow a user of probabilistic modeling process  10  to specify such analysis model variables. Another example of such variables may include but is not limited to values and/or ranges of values for a data flow variable. For the following discussion and for this disclosure, examples of “variable” may include but are not limited to variables, parameters, ranges, branches and nodes. 
     Assume for this example that the user of probabilistic modeling process  10  (be it the owner of restaurant  58  or a third-party service provider) is knowledgeable of e.g., the restaurant business and/or the type of messages included within content  56 ). For example, assume that the user of probabilistic modeling process  10  read a portion of the messages included within content  56  and determined that the portion of messages reviewed all seem to concern either a) the service, b) the meal, c) the location and/or d) the value of restaurant  58 . Accordingly, probabilistic modeling process  10  may be configured to allow a user to define one or more analysis model variables, which (in this example) may include one or more analysis model branch variables. 
     Examples of such analysis model branch variables may include but are not limited to one or more of: a) a weighting on branches off of a branching node; b) a weighting on values of a variable in the model; c) a minimum acceptable quantity of branches off of the branching node (e.g., branching node  102 ); d) a maximum acceptable quantity of branches off of the branching node (e.g., branching node  102 ); and e) a defined quantity of branches off of the branching node (e.g., branching node  102 ). For example, probabilistic modeling process  10  may be configured to allow a user to define a) a weighting on branches off of a branching node; b) a weighting on values of a variable in the model; c) the maximum number of branching node branches as e.g., five, d) the minimum number of branching node branches as e.g., three and/or e) the quantity of branching node branches as e.g., four. 
     Specifically and for this example, assume that probabilistic modeling process  10  defines the initial number of branches (i.e., the number of branches off of branching node  102 ) within analysis model  100  as four (i.e., service branch  104 , meal branch  106 , location branch  108  and value branch  110 ). When defining the initial number of branches (i.e., the number of branches off of branching node  102 ) within analysis model  100  as four, this may be effectuated in various ways (e.g., manually or algorithmically). Further and when defining analysis model  100  based, at least in part, upon content  56  and the one or more model variables (i.e., defining the number of branches off of branching node  102  as four), probabilistic modeling process  10  may process content  56  to identify the pertinent content included within content  56 . As discussed above, probabilistic modeling process  10  may identify the pertinent content (included within content  56 ) and may ignore/remove the irrelevant content. 
     This type of processing of content  56  may continue for all of the very large quantity of text-based messages (&gt;10,000) included within content  56 . And using the probabilistic modeling technique described above, probabilistic modeling process  10  may define a first version of the analysis model (e.g., analysis model  100 ) based, at least in part, upon pertinent content found within content  56 . Accordingly, a first text-based message included within content  56  may be processed to extract pertinent information from that first message, wherein this pertinent information may be grouped in a manner to correspond (at least temporarily) with the requirement that four branches originate from branching node  102  (as defined 202 above). 
     As probabilistic modeling process  10  continues to process content  56  to identify pertinent content included within content  56 , probabilistic modeling process  10  may identify patterns within these text-based message included within content  56 . For example, the messages may all concern one or more of the service, the meal, the location and/or the value of restaurant  58 . Further and e.g., using the probabilistic modeling technique described above, probabilistic modeling process  10  may process content  56  to e.g.: a) sort text-based messages concerning the service into positive or negative service messages; b) sort text-based messages concerning the meal into positive or negative meal messages; c) sort text-based messages concerning the location into positive or negative location messages; and/or d) sort text-based messages concerning the value into positive or negative service messages. For example, probabilistic modeling process  10  may define various lists (e.g., lists  128 ,  132 ,  142 ,  146 ,  156 ,  160 ,  170 ,  174 ) by starting with a root word (e.g., good or bad) and may then determine synonyms for this words and use those words and synonyms to populate lists  128 ,  132 ,  142 ,  146 ,  156 ,  160 ,  170 ,  174 . 
     Continuing with the above-stated example, once content  56  (or a portion thereof) is processed by probabilistic modeling process  10 , probabilistic modeling process  10  may define a first version of the analysis model (e.g., analysis model  100 ) based, at least in part, upon pertinent content found within content  56 . Probabilistic modeling process  10  may compare the first version of the analysis model (e.g., analysis model  100 ) to content  56  to determine if the first version of the analysis model (e.g., analysis model  100 ) is a good explanation of the content. 
     For example and as is known in the art, analysis model  100  may be used to generate messages (in addition to analyzing them). For example and when defining a first version of the analysis model (e.g., analysis model  100 ) based, at least in part, upon pertinent content found within content  56 , probabilistic modeling process  10  may define a weight for each branch within analysis model  100  based upon content  56 . For example, probabilistic modeling process  10  may equally weight each of branches  104 ,  106 ,  108 ,  110  at 25%. Alternatively, if e.g., a larger percentage of content  56  concerned the service received at restaurant  58 , probabilistic modeling process  10  may equally weight each of branches  106 ,  108 ,  110  at 20%, while more heavily weighting branch  104  at 40%. 
     Accordingly and when probabilistic modeling process  10  compares the first version of the analysis model (e.g., analysis model  100 ) to content  56  to determine if the first version of the analysis model (e.g., analysis model  100 ) is a good explanation of the content, probabilistic modeling process  10  may generate a very large quantity of messages e.g., by auto-generating messages using the above-described probabilities, the above-described nodes &amp; node types, and the words defined in the above-described lists (e.g., lists  128 ,  132 ,  142 ,  146 ,  156 ,  160 ,  170 ,  174 ), thus resulting in generated content  56 ′. Generated content  56 ′ may then be compared to content  56  to determine if the first version of the analysis model (e.g., analysis model  100 ) is a good explanation of the content. For example, if generated content  56 ′ exceeds a threshold level of similarity to content  56 , the first version of the analysis model (e.g., analysis model  100 ) may be deemed a good explanation of the content. Conversely, if generated content  56 ′ does not exceed a threshold level of similarity to content  56 , the first version of the analysis model (e.g., analysis model  100 ) may be deemed not a good explanation of the content. 
     If the first version of the analysis model (e.g., analysis model  100 ) is not a good explanation of the content, probabilistic modeling process  10  may define a revised version of the analysis model (e.g., revised analysis model  100 ′). When defining revised analysis model  100 ′, probabilistic modeling process  10  may e.g., adjust weighting, adjust probabilities, adjust node counts, adjust node types, and/or adjust branch counts to define the revised version of the analysis model (e.g., revised analysis model  100 ′). Once defined, the above-described process of auto-generating messages (this time using revised analysis model  100 ′) may be repeated and this newly-generated content (e.g., generated content  56 ″) may be compared to content  56  to determine if e.g., revised analysis model  100 ′ is a good explanation of the content. If revised analysis model  100 ′ is not a good explanation of the content, the above-described process may be repeated until a proper analysis model is defined. 
     The above-described repetitive generation of revised analysis models may be accomplished via inferring and/or learning utilizing any inferring or learning algorithm to optimize or estimate the values or distribution over values of variables in a model (e.g., a probabilistic program or other probabilistic model). The variables may control the quantity, composition, and/or grouping of features and feature categories. The inferring or learning algorithm may include Markov Chain Monte Carlo (MCMC). The Markov Chain Monte Carlo (MCMC) may be Metropolis-Hastings MCMC (MH-MCMC). The MH-MCMC may utilize custom proposals to e.g., add, remove, delete, augment, merge, split, or compose features (or categories of features). The inferring or learning algorithm may alternatively (or additionally) include Belief Propagation or Mean-Field algorithms. The inferring or learning algorithm may alternatively (or additionally) include gradient descent based methods. The gradient descent based methods may alternatively (or additionally) include auto-differentiation, back-propagation, and/or black-box variational methods. 
     ML (Machine Learning) Objects: 
     As discussed above, the world of traditional programming was revolutionized through the use of object-oriented programming, wherein portions of code are configured as objects (that effectuate simpler tasks/procedures) that are then compiled/linked together to form a more complex system that effectuates more complex tasks/procedures. Accordingly, probabilistic modeling process  10  may be configured to allow for ML objects to be utilized when generating analysis model  100  an/or analysis model  100 ′. 
     As discussed above, analysis model  100  includes four branches off of branching node  102 , namely: service branch  104 ; meal branch  106 ; location branch  108 ; and value branch  110  that respectively lead to service node  112 , meal node  114 , location node  116 , and value node  118 . Further and as discussed above: service branch  104  leads to service node  112  (which is configured to process service-based content); meal branch  106  leads to meal node  114  (which is configured to process meal-based content); location branch  108  leads to location node  116  (which is configured to process location-based content); and value branch  110  leads to value node  118  (which is configured to process value-based content). 
     Accordingly, a first portion (e.g., portion  176 ) of analysis model  100  may be configured to process service-based content within content  56 . A second portion (e.g., portion  178 ) of analysis model  100  may be configured to configured to process meal-based content within content  56 . A third portion (e.g., portion  180 ) of analysis model  100  may be configured to process location-based content within content  56 . And a fourth portion (e.g., portion  182 ) of analysis model  100  may be configured to process location-based content within content  56 . 
     Referring also to  FIG. 3 , probabilistic modeling process  10  may maintain 200 an ML object repository (e.g., ML object repository  62 ), wherein ML repository  62  may define plurality of ML objects  64 . For this discussion, each ML object included within plurality of ML objects  64  and defined within ML object repository  62  may be a portion of an analysis model that may be configured to effectuate a specific functionality (in a fashion similar to that of a software object used in object oriented programming), wherein the ML objects within plurality of ML objects  64  may be utilized within an analysis model (e.g., analysis model  100  and/or analysis model  100 ′). 
     Accordingly, the functionality of the first portion (e.g., portion  176 ) of analysis model  100  may be effectuated via an ML object (chosen from plurality of ML objects  64 ) that is configured to process the service-based content within content  56 . Additionally, the functionality of the second portion (e.g., portion  178 ) of analysis model  100  may be effectuated via an ML object (chosen from plurality of ML objects  64 ) that is configured to process the meal-based content within content  56 . Further, the functionality of the third portion (e.g., portion  180 ) of analysis model  100  may be effectuated via an ML object (chosen from plurality of ML objects  64 ) that is configured to process the location-based content within content  56 . And the functionality of the fourth portion (e.g., portion  182 ) of analysis model  100  may be effectuated via an ML object (chosen from plurality of ML objects  64 ) that is configured to process the location-based content within content  56 . 
     As will be discussed below in greater detail, when probabilistic modeling process  10  is defining analysis model  100  (based upon content  56 ), probabilistic modeling process  10  may utilize one or more ML objects (chosen from plurality of ML objects  64  defined within ML object repository  62 ). 
     For example, assume that when defining analysis model  100  (based upon content  56 ), probabilistic modeling process  10  may identify  202  a need for an ML object within probabilistic model  100 . Specifically, assume that after probabilistic modeling process  10  defines the four branches off of branching node  102  (e.g., service branch  104 , meal branch  106 , location branch  108 , and value branch  110 ), probabilistic modeling process  10  identifies  202  the need for an ML object within probabilistic model  100  that may process service-based content (i.e., effectuate the functionality of portion  176  of analysis model  100  that is configured to process the service-based content within content  56 ). 
     Accordingly and instead of generating portion  176  of analysis model  100  organically, probabilistic modeling process  10  may access  204  ML object repository  62  that defines plurality of ML objects  64  and may obtain  206  a first ML object (e.g., ML object  66 ) selected from plurality of ML objects  64  defined within ML object repository  62 . 
     Continuing with the above-stated example, probabilistic modeling process  10  may identify  202  the need for an ML object within probabilistic model  100  that may process the service-based content (i.e., effectuate the functionality of portion  176 ). Accordingly, probabilistic modeling process  10  may access  204  ML object repository  62  that defines plurality of ML objects  64  and search for ML objects that may process service-based content. Assume that upon accessing  204  ML object repository  62 , probabilistic modeling process  10  may identify ML object  66  as an ML object that may (potentially) process service-based content. Accordingly, probabilistic modeling process  10  may obtain  206  a first ML object (e.g., ML object  66 ) selected from plurality of ML objects  64  defined within ML object repository  62 . Probabilistic modeling process  10  may then add  208  the first ML object (e.g., ML object  66 ) to probabilistic model  100 . 
     When adding  208  the first ML object (e.g., ML object  66 ) to probabilistic model  100 , probabilistic modeling process  10  may add  210  the first ML object (e.g., ML object  66 ) to probabilistic model  100  using a pipelining methodology. As is known in the art, pipelining (with respect to machine learning) is a technique that helps automate machine learning workflows, wherein such pipelines enable a sequence of data to be transformed and correlated together in a probabilistic model that can be tested and evaluated to achieve an outcome (whether positive or negative). A graphical example of such a pipelining methodology (being used to analyze a picture of an animal to determine if the animal is a dog or a cat) is shown in  FIG. 4A . In such a configuration, two separate probabilistic models may be arranged serially so that a picture of an animal cannot be identified as both a dog and a cat. Unfortunately, if the picture provided to a pipelining methodology illustrates e.g., a dog that looks very similar to a cat (e.g., a Pomeranian), both probabilistic models may consider the picture to be a picture of a cat. Accordingly, the outcome of a pipelining methodology may be determined by the order of the probabilistic models. For example, if the “cat” probabilistic model is positioned first, the picture of a Pomeranian dog may be determined to be a picture of a cat. While if the “dog” probabilistic model is positioned first, the same picture of the Pomeranian dog may be determined to be a picture of a dog. 
     When adding  208  the first ML object (e.g., ML object  66 ) to probabilistic model  100 , probabilistic modeling process  10  may add  212  the first ML object (e.g., ML object  66 ) to probabilistic model  100  using a boosting methodology. As is known in the art, boosting (with respect to machine learning) is technique for primarily reducing bias and variance in supervised learning converting weak learning algorithms to strong learning algorithms. A graphical example of such a boosting methodology (being used to analyze a picture of an animal to determine if the animal is a dog or a cat) is shown in  FIG. 4B . In such a configuration, two separate probabilistic models may be arranged in parallel. However, both outputs are provided to a decider (i.e., “boost”) that decides which result to use based upon various other factors (e.g., individual confidence scores, etc.). 
     When adding  208  the first ML object (e.g., ML object  66 ) to probabilistic model  100 , probabilistic modeling process  10  may add  214  the first ML object (e.g., ML object  66 ) to probabilistic model  100  using a transfer learning methodology. As is known in the art, transfer learning (with respect to machine learning) is a technique that focuses on storing knowledge gained while solving one problem and applying it to a different but related problem. For example, knowledge gained while learning to recognize cats could apply when trying to recognize dogs. A graphical example of such a transfer learning methodology (being used to analyze a picture of an animal to determine if the animal is a dog or a cat) is shown in  FIG. 4C . In such a configuration, two separate probabilistic models may be arranged in parallel. However, the first model is trained using labelled pictures of e.g., cats. The trained first model is then reused as the starting point for the second model and is trained using labelled pictures of e.g., dogs. So the second model utilizes knowledge from the first model . . . but the two models are not combined. 
     When adding  208  the first ML object (e.g., ML object  66 ) to probabilistic model  100 , probabilistic modeling process  10  may add  216  the first ML object (e.g., ML object  66 ) to probabilistic model  100  using a Bayesian synthesis methodology. As is known in the art, Bayesian synthesis (with respect to machine learning) is a technique in which individual models are combined. This way, the combined models each know the confidence level of the other model. So a model that has a high confidence level may still defer to the other model if that other model has a higher confidence level. A graphical example of such a Bayesian synthesis methodology (being used to analyze a picture of an animal to determine if the animal is a dog or a cat) is shown in  FIG. 4D . In such a configuration, the two separate probabilistic models may be combined so that the confidence levels of each model can be shared and a communal decision can be made. 
     While the above discussion concerns adding  208  the first ML object (e.g., ML object  66 ) to probabilistic model  100  using one of four methodologies (namely pipelining, boosting, transfer learning and Bayesian synthesis), this is for illustrative purposes only and is not intended to be a limitation of this disclosure, as other configuration are possible and are considered to be within the scope of this disclosure. For example, it is understood that many other methodologies may be utilized by probabilistic modeling process  10  when adding  208  the first ML object (e.g., ML object  66 ) to probabilistic model  100 . 
     Probabilistic modeling process  10  may determine  218  whether the first ML object (e.g., ML object  66 ) is applicable with probabilistic model  100 . Continuing with the above-stated example in which probabilistic modeling process  10  adds  208  the first ML object (e.g., ML object  66 ) to probabilistic model  100 , probabilistic modeling process  10  may determine  218  whether the first ML object (e.g., ML object  66 ) is applicable with probabilistic model  100  by performing the comparisons discussed above. 
     For example, probabilistic modeling process  10  may compare analysis model  100  (with ML object  66  being utilized to perform the functionality of portion  176 ) to content  56  to determine if analysis model  100  (with ML object  66  being utilized to effectuate portion  176 ) is a good explanation of the content. Specifically and as discussed above, probabilistic modeling process  10  may generate a large quantity of messages e.g., by auto-generating messages using the above-described probabilities, nodes, node types, and words, resulting in generated content  56 ′. Generated content  56 ′ may then be compared to content  56  to determine if analysis model  100  (with ML object  66  being utilized to effectuate portion  176 ) is a good explanation of the content. For example, if generated content  56 ′ exceeds a threshold level of similarity to content  56 , analysis model  100  (with ML object  66  being utilized to effectuate portion  176 ) may be deemed a good explanation of the content. Conversely, if generated content  56 ′ does not exceed a threshold level of similarity to content  56 , analysis model  100  (with ML object  66  being utilized to effectuate portion  176 ) may be deemed not a good explanation of the content. 
     If it is determined that the first ML object (e.g., ML object  66 ) is applicable with probabilistic model  100  (e.g., is deemed a good explanation of the content), probabilistic modeling process  10  may maintain (e.g., permanently incorporate) the first ML object (e.g., ML object  66 ) within probabilistic model  100  and may (if needed) continue defining analysis model  100  (in e.g., the manner described above). 
     However, if it is determined that the first ML object (e.g., ML object  66 ) is not applicable with probabilistic model  100  (e.g., is deemed not a good explanation of the content), probabilistic modeling process  10  may perform various operations as described below. 
     For example, probabilistic modeling process  10  may remove  220  the first ML object (e.g., ML object  66 ) from probabilistic model  100 . Probabilistic modeling process  10  may then identify an additional ML object (e.g., ML object  68 ) as an ML object that may (potentially) process service-based content; may obtain  222  the additional ML object (e.g., ML object  68 ) selected from plurality of ML objects  64  defined within ML object repository  62 ; and may add  224  the additional ML object (e.g., ML object  68 ) to probabilistic model  100 . 
     When adding  224  the additional ML object (e.g., ML object  68 ) to probabilistic model  100 , probabilistic modeling process  10  may add  226  the additional ML object (e.g., ML object  68 ) to probabilistic model  100  using a pipelining methodology. As discussed above, pipelining (with respect to machine learning) is a technique that helps automate machine learning workflows, wherein such pipelines enable a sequence of data to be transformed and correlated together in a probabilistic model that can be tested and evaluated to achieve an outcome (whether positive or negative). As discussed above, due to the manner in which the individual probabilistic models are coupled serially within a pipelining methodology, inaccurate results may occur. Specifically, if the picture provided to a pipelining methodology illustrates e.g., a dog that looks very similar to a cat (e.g., a Pomeranian), the outcome of a pipelining methodology may be determined by the order of the probabilistic models. 
     When adding  224  the additional ML object (e.g., ML object  68 ) to probabilistic model  100 , probabilistic modeling process  10  may add  228  the additional ML object (e.g., ML object  68 ) to probabilistic model  100  using a boosting methodology. As discussed above, boosting (with respect to machine learning) is technique for primarily reducing bias and variance in supervised learning converting weak learning algorithms to strong learning algorithms. 
     When adding  224  the additional ML object (e.g., ML object  68 ) to probabilistic model  100 , probabilistic modeling process  10  may add  230  the additional ML object (e.g., ML object  68 ) to probabilistic model  100  using a transfer learning methodology. As discussed above, transfer learning (with respect to machine learning) is a technique that focuses on storing knowledge gained while solving one problem and applying it to a different but related problem. For example, knowledge gained while learning to recognize cats could apply when trying to recognize dogs 
     When adding  224  the additional ML object (e.g., ML object  68 ) to probabilistic model  100 , probabilistic modeling process  10  may add  232  the additional ML object (e.g., ML object  68 ) to probabilistic model  100  using a Bayesian synthesis methodology. As is known in the art, Bayesian synthesis (with respect to machine learning) is a technique in which individual models are combined. This way, the combined models each know the confidence level of the other model. So a model that has a high confidence level may still defer to the other model if that other model has a higher confidence level. 
     Again, while the above discussion concerns adding  224  the additional ML object (e.g., ML object  68 ) to probabilistic model  100  using one of four methodologies (namely pipelining, boosting, transfer learning and Bayesian synthesis), this is for illustrative purposes only and is not intended to be a limitation of this disclosure, as other configuration are possible and are considered to be within the scope of this disclosure. For example, it is understood that many other methodologies may be utilized by probabilistic modeling process  10  when adding  224  the additional ML object (e.g., ML object  68 ) to probabilistic model  100 . 
     Once added 224, probabilistic modeling process  10  may determine  234  whether the additional ML object (e.g., ML object  68 ) is applicable with probabilistic model  100 . Again, probabilistic modeling process  10  may determine  234  whether the additional ML object (e.g., ML object  68 ) is applicable with probabilistic model  100  by generating messages and performing the comparisons as discussed above. 
     This process of removing  220  ML objects from probabilistic model  100 ; obtaining  222  additional ML objects selected from plurality of ML objects  64  defined within ML object repository  62 ; adding  224  the additional ML object to probabilistic model  100 ; and determining  234  whether the additional ML object is applicable with probabilistic model  100  may be repeated until an applicable ML object is identified and added to probabilistic model  100  or until all ML objects within ML object repository  62  have be deemed not applicable. 
     General 
     As will be appreciated by one skilled in the art, the present disclosure may be embodied as a method, a system, or a computer program product. Accordingly, the present disclosure may take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, micro-code, etc.) or an embodiment combining software and hardware aspects that may all generally be referred to herein as a “circuit,” “module” or “system.” Furthermore, the present disclosure may take the form of a computer program product on a computer-usable storage medium having computer-usable program code embodied in the medium. 
     Any suitable computer usable or computer readable medium may be utilized. The computer-usable or computer-readable medium may be, for example but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, device, or propagation medium. More specific examples (a non-exhaustive list) of the computer-readable medium may include the following: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a transmission media such as those supporting the Internet or an intranet, or a magnetic storage device. The computer-usable or computer-readable medium may also be paper or another suitable medium upon which the program is printed, as the program can be electronically captured, via, for instance, optical scanning of the paper or other medium, then compiled, interpreted, or otherwise processed in a suitable manner, if necessary, and then stored in a computer memory. In the context of this document, a computer-usable or computer-readable medium may be any medium that can contain, store, communicate, propagate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device. The computer-usable medium may include a propagated data signal with the computer-usable program code embodied therewith, either in baseband or as part of a carrier wave. The computer usable program code may be transmitted using any appropriate medium, including but not limited to the Internet, wireline, optical fiber cable, RF, etc. 
     Computer program code for carrying out operations of the present disclosure may be written in an object oriented programming language such as Java, Smalltalk, C++ or the like. However, the computer program code for carrying out operations of the present disclosure may also be written in conventional procedural programming languages, such as the “C” programming language or similar programming languages. The program code may execute entirely on the user&#39;s computer, partly on the user&#39;s computer, as a stand-alone software package, partly on the user&#39;s computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user&#39;s computer through a local area network/a wide area network/the Internet (e.g., network  14 ). 
     The present disclosure is described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the disclosure. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, may be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer/special purpose computer/other programmable data processing apparatus, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks. 
     These computer program instructions may also be stored in a computer-readable memory that may direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function/act specified in the flowchart and/or block diagram block or blocks. 
     The computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer-implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks. 
     The flowcharts and block diagrams in the figures may illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present disclosure. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustrations, and combinations of blocks in the block diagrams and/or flowchart illustrations, may be implemented by special purpose hardware-based systems that perform the specified functions or acts, or combinations of special purpose hardware and computer instructions. 
     The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the disclosure. 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, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof. 
     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 disclosure has been presented for purposes of illustration and description, but is not intended to be exhaustive or limited to the disclosure 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 disclosure. The embodiment was chosen and described in order to best explain the principles of the disclosure and the practical application, and to enable others of ordinary skill in the art to understand the disclosure for various embodiments with various modifications as are suited to the particular use contemplated. 
     A number of implementations have been described. Having thus described the disclosure of the present application in detail and by reference to embodiments thereof, it will be apparent that modifications and variations are possible without departing from the scope of the disclosure defined in the appended claims.