US20090089241A1 - Multidimensional expert behavior emulation system - Google Patents

Multidimensional expert behavior emulation system Download PDF

Info

Publication number
US20090089241A1
US20090089241A1 US12/331,256 US33125608A US2009089241A1 US 20090089241 A1 US20090089241 A1 US 20090089241A1 US 33125608 A US33125608 A US 33125608A US 2009089241 A1 US2009089241 A1 US 2009089241A1
Authority
US
United States
Prior art keywords
situation
data
features
behavior
parameter
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US12/331,256
Inventor
Pavel Zelinsky
Grigory Baytsur
Ivan Kopiev
Vitaly Grechko
Oleg Sidorkin
Andrey Belousov
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Applied Intelligence Solutions LLC
Original Assignee
Applied Intelligence Solutions LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Applied Intelligence Solutions LLC filed Critical Applied Intelligence Solutions LLC
Priority to US12/331,256 priority Critical patent/US20090089241A1/en
Publication of US20090089241A1 publication Critical patent/US20090089241A1/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • G06N5/046Forward inferencing; Production systems
    • G06N5/047Pattern matching networks; Rete networks

Definitions

  • This invention relates to a multi-dimensional, long-term behavior, computerized decision method and system. More particularly, the invention relates to providing computer operations to perform routine decisions based on the historical performance of experts in the decision process.
  • routine decision tasks based on input data as discussed above is in retail goods allocation tasks.
  • a distribution or allocation expert reviews input data on a computer display screen a quantity of retail goods to be allocated in various quantities from warehouses to multiple retail stores selling the goods. Where there are 10 to 1000+ stores in the business and the quantity of goods to be allocated to each store varies from 0 to 100+, the number of possible allocation outcomes can easily exceed several thousand.
  • Such a decision problem is so multi-dimensional it does not lend itself to automated solution based on recognition and classification systems.
  • Another problem in computerizing routine decision tasks of the above type is that best practices in the environment of the decision problem may change over time. For example, in the allocation of retail goods, business practices may change over time because of changes to the competitive environment or changes in the goals of the business entity.
  • an expert decision-making method is emulated based on a history of behaviors by experts in a variety of observed situations.
  • a history of behaviors is built up from observations of actions taken by experts in analyzing a plurality of situations. The observations are captured, and behaviors from the observations are constructed. The behaviors indicate an association between situation features and methods with parameters for solving the situations.
  • Situation data representative of a situation to be processed is received, and situation features are extracted from the situation data.
  • a behavior method is recognized from a pattern of situation features. Parameter values for parameters in the recognized behavior method are calculated based on the situation features.
  • the recognized behavior method is executed on the situation data using the parameter values to recommend a solution for the situation.
  • the recommended solution has solution data representing a plan of action to provide the solution and remainder data representing unprocessed situation data.
  • a test detects whether the remainder data is in a target range. If the remainder data is not in the target range, another behavior method from a pattern of situation features from the remainder data is recognized. Parameter values, based on the situation features from the remainder data, are calculated for parameters in this second recognized behavior method. This second recognized behavior method is executed on the remainder data using its parameter values to recommend a solution for the situation. These actions are repeated until the test detects the remainder data is in the target range.
  • a solution strategy is displayed to a user.
  • the strategy display includes all the recognized behavior methods with their parameter values and the solution data and remainder data for each recognized method. Adjustments to the strategy may be received from the user. The adjustments will be changes of behavior methods or changes of parameter values to arrive at the solution.
  • the above calculation of parameter values is accomplished by recognizing parameter calculation rules and calculating the parameter values using the rules.
  • a parameter calculation rule for each parameter in the behavior method is recognized from situation features. Recognizing a parameter calculation rule is based on feature/parameter-calculation-rules separation data in a pattern of features in multidimensional space with each feature associated with a parameter calculation rule used by experts. Similarly, recognizing a behavior method is based on feature/method separation data in a pattern of features in multidimensional space with each feature associated with a method used by experts.
  • the invention may be implemented as a computer process, a computing system or as an article of manufacture such as a computer program product or computer readable media.
  • the computer program product may be a computer storage media readable by a computer system and encoding a computer program of instructions for executing a computer process.
  • the computer program product may also be a propagated signal on a carrier readable by a computing system and encoding a computer program of instructions for executing a computer process.
  • FIG. 1 shows the flow of system work in one embodiment of the invention.
  • FIG. 2 illustrates the computer and communication environment in which the present embodiments of the invention will typically operate.
  • FIG. 3 shows the operational flow of the usage cycle illustrated in FIG. 1 .
  • FIG. 4 shows the operational flow of the behavior emulator module 308 in FIG. 3 .
  • FIG. 5 shows the operational flow of the recognize method module 404 in FIG. 4 .
  • FIG. 6 shows the operational flow of the recognize parameters module 406 in FIG. 4 .
  • FIG. 7 shows the operational flow of the execute method module 408 in FIG. 4 .
  • FIG. 8 shows the operational flow of the training cycle illustrated in FIG. 1 .
  • FIG. 9 shows the operational flow of the behavior construction module 810 in FIG. 8 .
  • FIG. 10 shows the operational flow of the strategy extraction module 904 in FIG. 9
  • FIG. 11 shows the operational flow of the learning module 814 in FIG. 8 .
  • expertise is derived from past experience of experts making decisions on the type of situation data being processed.
  • the decision-making process itself is empirical as the experts have learned what method choices applied to the situation data representing a situation provide a best plan of action to solve the situation
  • the choice of method to solve the situation may or may not include a choice of parameters to be used with that method.
  • the expert in working with situation data that has multiple dimensions as discussed herein, has become an expert heuristically, i.e. by trial and error, and developed an extensive personal knowledge base and historical background to analyze and solve problems provided by the situation data.
  • an allocator may spend six months or a year learning how to effectively allocate retail goods to a chain of stores. As the merchandise allocator becomes more expert, the profitable allocation of retail goods improves for the stores. Further, some merchandise allocators seem to have more talent for doing the allocations than other allocators. Accordingly, an expert emulating computer system emulating the behavior of the most talented allocators can be extremely valuable to a large retail company. Such a computing system provides expert guidance to new merchandise allocators who are not yet expert, or provides expert guidance to lower performing allocators.
  • FIG. 1 shows the flow of system work in one embodiment of the invention; the user interactive work is performed at a workstation 100 .
  • a workstation may be referred to herein as a user workstation or an expert workstation.
  • the designation expert workstation refers to users that have enough expertise that observations of their actions are used in the training cycle.
  • a usage cycle is performed at all user workstations, but training cycle is performed for expert workstations only.
  • One or more supplier servers 102 work with the expert workstation to perform the training cycle 108
  • a suppler server 103 and a customer server 104 work with the user workstation to perform the usage cycle.
  • “Supplier” as used herein refers to the provider of the expert behavior emulating system.
  • the usage cycle runs on-demand as a user at the workstation 100 processes situation data requiring a solution.
  • retrieve observations operation 116 runs constantly to capture observation data over a reasonable period of time.
  • the complete loop of the training cycle runs periodically as the supplier server 102 creates and/or updates profiles for use during the usage cycle.
  • the usage cycle runs on demand when an allocator requests allocation of situation data, such as goods to be allocated to a set of stores in a chain of retail outlets.
  • situation data such as goods to be allocated to a set of stores in a chain of retail outlets.
  • the complete loop of the training cycle in this example might run only once a week or even once a year or more.
  • the profile which contains allocation methods and other allocation data is normally adjusted for long term changes in the allocation process.
  • adjustments and new allocation observations will be frequent and the training cycle will run frequently, i.e. daily or even hourly.
  • the adjustments to a solution and new observation information regarding behavior of an expert will be minimal.
  • the profile has settled down, and the updates to the profiles by the training cycle will be come weekly, monthly or even quarterly on the calendar
  • the usage cycle begins with retrieval operation 110 which retrieves the situation data selected by the user and provides the situation data to the expert behavior emulator 112 .
  • the expert emulator 112 analyzes the situation data and makes a solution recommendation to the user.
  • the user reviews the solution recommendation, and adjust/save operation 114 may or may not adjust the solution based on input from the user.
  • the solution data is saved by adjust/save operation 114 to the customer database as a solution for the situation data being analyzed.
  • the usage cycle is described in more detail hereinafter with reference to FIG. 3 .
  • the training cycle begins with retrieval operation 116 which retrieves observations regarding actions taken by the expert when dealing with particular situation data. This situation data and actions information are used by the behavior construct operation 118 to construct expert behaviors. From these expert behaviors, profile create operation 120 creates the profiles for use by the expert behavior emulator 112 in the usage cycle.
  • retrieval operation 116 retrieves observations regarding actions taken by the expert when dealing with particular situation data. This situation data and actions information are used by the behavior construct operation 118 to construct expert behaviors. From these expert behaviors, profile create operation 120 creates the profiles for use by the expert behavior emulator 112 in the usage cycle.
  • profile create operation 120 creates the profiles for use by the expert behavior emulator 112 in the usage cycle. The training cycle is described in more detail hereinafter with reference to FIG. 8 .
  • retrieval operation 116 and behavior construct operation 118 might be performed for all users, and decisions about which users are experts might be made later at profile create operation 120 . This allows for better flexibility in case of a need to change a user assignment to expert or non-expert. Because all behaviors are collected in this alternative embodiment and it is not necessary to start retrieve operation 116 and construct behaviors operation 118 from the beginning.
  • FIG. 2 is illustrative of the computer and communication environment in which the present embodiments of the invention will typically operate.
  • the supplier of the expert emulating system is usually located at a supplier site 200 remote from the customer site 202 .
  • the supplier site includes a static data server 204 and a supplier workstation 206 .
  • the training cycle of FIG. 1 is performed on the supplier workstation 204 and static data server 206 in the supplier site 200 .
  • At the customer site 202 there is also a supplier dynamic data server 208 that receives the profiles and any other administrative updates from the static data server 204 at the supplier site.
  • Communication is usually over the Internet 209 as depicted in FIG. 2 , but could occur over any type of telecommunication link.
  • the customer site 202 also has the customer's server 210 , which maintains the customer's database of situation data.
  • a customer network 209 at the customer site interconnects the customer's server with supplier's dynamic data server 208 and the customer's workstations 212 .
  • the supplier also has an administrative laptop 214 connected to the customer network.
  • a computing device such as servers, desktop computers, laptop computers, and computer workstations in FIG. 2 , typically includes at least some form of computer-readable media.
  • Computer readable media can be any available media that can be accessed by the computing devices.
  • Computer-readable media might comprise computer storage media and communication media.
  • Computer storage media includes volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data.
  • Computer storage media includes, but is not limited to, RAM, ROM, EPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium that can be used to store the desired information and that can be accessed by the computing devices in FIG. 2 .
  • Communication media typically embodies computer-readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism and includes any information delivery media.
  • modulated data signal means a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal.
  • communication media includes wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared, and other wireless media. Combinations of any of the above should also be included within the scope of computer-readable media.
  • Computer-readable media may also be referred to as computer program product.
  • the logical operations of the various embodiments of the present invention are implemented (1) as a sequence of computer implemented acts or program modules running on a computing device and/or (2) as interconnected machine logic circuits or circuit modules within the computing device.
  • the implementation is a matter of choice dependent on the performance requirements of the system implementing the invention. Accordingly, the logical operations making up the embodiments of the present invention described herein may be referred to variously as operations, structural devices, acts or modules. It will be recognized by one skilled in the art that these operations, structural devices, acts and modules may be implemented in software, in firmware, in special purpose digital circuit logic, and any combination thereof without deviating from the spirit and scope of the present invention as recited within the claims attached hereto.
  • FIGS. 3-11 shall follow the illustrating convention of operations or modules being indicated by rectangles, decision operations being indicated by diamonds, and information being indicated by trapezoids. Further, the same item referenced in multiple drawings will be given the same reference numeral.
  • FIG. 3 shows the operational flow of the usage cycle in FIG. 1 in more detail.
  • Receive operation 302 receives from the data 304 in the customers system the situation data 306 selected by a user at the workstation.
  • the situation data would be a quantity of goods to be allocated to a plurality of stores operated by the customer, budget and other planning information, past store performance information, current store performance information if available, any other data that might be useful for allocation decision, and the expert or user would be the merchandise allocator.
  • the situation data 306 is received from the customers system and stored in working storage at the workstation.
  • the behavior emulator module 308 than works with the situation data 306 , the profile 310 , and the subject knowledge information 312 to recommend a situation solution to the user at the workstation.
  • the profile is a generalization of observed decisions made by experts, where a single decision is a sequence of methods with or without parameter values that have in the past been used by experts as solutions in observed situations.
  • the subject knowledge includes a methods library, a parameters library and a features library.
  • the methods library includes set of expert behavior methods used by the experts in the past.
  • a method includes a method name, a list of required input parameters and a method execution code, i.e. the method operations.
  • the parameters library includes the parameter lists and limitations for the parameters in the methods; it also includes parameter calculation rules.
  • the features library includes the features of the situation data and feature calculation rules.
  • the solution recommended by the behavior emulator will be solution data indicating a plan of action and remainder data indicative of situation data remaining to be processed.
  • the sequence of methods producing the recommended solution along with parameter values for the methods is referred to herein as a strategy.
  • the recommended solution from and the strategy used by the behavior emulator are both displayed by display operation 316 to the user at the workstation computer screen.
  • a typical display would identify each method used along with its parameter values, the situation solution data and remainder data at each stage or iteration of the strategy, i.e. a strategy iteration refers to the execution of one of the methods with its parameters in a sequence of methods making up a strategy. The next iteration works on the remainder data with the next method in the sequence.
  • the strategy is completely executed when the remainder data represents a value within a predetermined range deemed acceptable for a solution to the situation.
  • the display of each iteration of the strategy would identify a method used along with the parameter values used, the solution data, i.e. the number of goods allocated to each store, and the remainder data, i.e. the number of goods unallocated.
  • the strategy will not be complete usually until the remainder is zero.
  • Transfer operation 320 transfers the recommended solution into the customer's database. Normally, transfer operation 320 does not transfer an entire strategy to the customer system, because a strategy includes behavior steps that lead to the solution. Alternatively, the transfer operation could transfer the strategy as well as the solution. The transfer operation always transfers the recommended solution. In the case of merchandise allocation, the allocation for goods, i.e. the solution, would be transferred into the customers' database and the goods would be distributed accordingly.
  • Adjust strategy operation receives the adjustment input from the user and uses that input to modify the strategy being used by the behavior emulator.
  • the receive operation 322 also generates a corrections log 324 to record the strategy adjustment for subsequent use in a training cycle.
  • the operation flow returns to the behavior emulator to re-execute the strategy which has now been modified.
  • the modified strategy 314 is used by the behavior emulator module 308 along with the subject knowledge and the profile to recommend a new situation solution.
  • the behavior emulator module 308 may just change one method in the strategy and execute the other methods in the strategy unchanged. Additionally, the behavior emulator may be instructed by the user that it is allowed to adopt other methods in the strategy subsequent to the method changed by the user.
  • FIG. 4 illustrates the operational flow of the behavior emulator module 308 in FIG. 3 .
  • Feature extract operation 402 gets feature name and feature calculation rules information from the subject knowledge information 312 and extracts situation features from the situation data 306 based on the feature calculation rules.
  • the feature calculation rules may operate on all features or may operate on a subset of features to extract situation features that will be useful in recognizing the method to be executed to provide a solution. H is also true that if there are no feature calculation rules for a given feature, than that feature in the situation data is not processed and is not used by the feature extraction operation 402 to produce a situation feature.
  • Recognize method module 404 receives the situation features from feature extract operation 402 , and it receives the method choices from the subject knowledge 312 and features/methods separation data from the profile 310 . Using pattern recognition techniques in multi-dimensional space for all the situation features, and using the features/methods separation data, the recognize method module selects a method to be executed against the situation data.
  • Get operation 502 in FIG. 5 retrieves the situation features, the method choices and the features/methods separation data.
  • the features and methods are analyzed as patterns of numeric data. Alternatively, they might be analyzed as patterns of graphical data. In any case it is easier to understand the analysis if the situation features and the features/methods separation data are imagined as a graph in multi-dimensional space with a graph axis for the various features and graph points for the feature values with each point labeled with a method name.
  • Features/methods separation data is multi-dimensional surface(s), which separates the entire graphical space into areas populated mainly by graph points labeled with one method name or no graph point at all.
  • Each area is labeled with a method name, representing the method that prevails in that area.
  • the method represented by that area is the best choice for discriminating between situation features in that area, and the best method to be used to find a situation solution.
  • Detect operation 504 will use feature values to plot a new graph point in the same multi-dimensional space. Operation 504 detects the area where the new graph point appears using features/methods separation data, and select a method name associated with that area as the best choice for a method to operate on the situation data.
  • Save method operation 506 retrieves the operations for the selected method and saves the method operations 405 in working storage for subsequent use by execute method module 408 in FIG. 4 .
  • Recognize parameters module 406 in FIG. 4 receives the situation features from the extract features operation 402 , it receives the parameter lists and the limitations associated with the parameters in the selected method from the subject knowledge 312 , and it receives the features/parameters-calculation-rules separation data from the profile 310 .
  • the operation flow for the recognize parameters module 406 is shown in FIG. 6 .
  • Get operation 602 in FIG. 6 retrieves the situation features, the parameter limitations, parameters calculation rules from the parameter library from subject knowledge information 312 .
  • the features/parameters-calculation-rules separation data is retrieved from the profile 310 , and the selected method is retrieved from the recognize method module 404 .
  • Parameter values calculation is a hierarchical process.
  • Detect operation 604 detects a parameters calculation rule using a technique as described at FIG. 5 for detect operation 504 .
  • Detect operation 604 uses situation features, available parameter calculation rules and features/parameter calculation rules separation data to detect the parameters calculation rules to be used.
  • the features and parameters calculation rule are analyzed as patterns of numeric data. They may also be analyzed as patterns of graphical data.
  • Features/parameters-calculation-rules separation data is multi-dimensional surface(s) which separates the entire graphical space into areas populated mainly by graph points labeled with one rule or no graph point at all. Each area is labeled with a parameters calculation rule, representing the rule that prevails in that area. The rule represented by that area is the best choice for calculating parameter values for situation features in that area.
  • Detect operation 604 will use feature values to plot a new graph point in the same multi-dimensional space. Operation 604 detects the area where the new graph point appears using features/rules separation data, and selects a rule associated with that area as the best choice for calculating parameter values for the method to operate on the situation data.
  • Save operation 606 saves the detected parameters calculation rule.
  • a rules algorithm might require more parameters calculation rules for its execution, but some rules algorithms do not require any more parameters calculation rules and can be executed without any additional rules. If last saved rule requires parameters calculation rules, then additional rules test operation 608 branches the flow to detect operation 604 , and operations 604 and 606 repeat to detect parameters calculation rule for this rule algorithm. If last saved rule does not require additional parameters calculation rules, the operation flow branches to the execute operation 610 . The execute operation executes all saved parameters calculation rules. Save operation 612 saves parameter values obtained on the previous step, and the operation flow returns to execute method module 408 in FIG. 4 .
  • Execute method module 408 in FIG. 4 receives the situation data 306 , the method operations 405 for the selected method, and the parameter values 407 for parameters in the selected method.
  • the execute method module 408 executes the method operations using the parameter values and produces a solution for the situation data.
  • the operation flow for the execute method module 408 is shown in FIG. 7 .
  • the method retrieve operation 702 in FIG. 7 retrieves the method operations from subject knowledge 312 for the selected method from working storage.
  • Parameter retrieve operation 704 retrieves the parameter values 407 for the parameters in the selected method from working storage.
  • Retrieve operation 706 retrieves the situation data to which the method and its parameter values are to be applied.
  • Execute operation 708 now uses the parameter values for the selected method and executes the method operations of the selected method on the situation data. The result will be solution data and remainder data.
  • the solution data will be the quantity and type of goods allocated to each retail store, and the remainder data will be the remaining quantity and type of goods not allocated by the selected method.
  • Update operation 710 saves the current method, its parameters, the solution data and the remainder data, and the operation flow returns to remainder test operation 410 in FIG. 4 .
  • remainder test operation 410 tests whether the remainder data is in an acceptable target value range.
  • the remainder data “R” being in an acceptable target value range might be satisfied if R is greater than, equal to or less than a number, or it might be satisfied if R is within a range of numbers or a set of ranges. Further, the number(s) might be positive or negative. If the remainder is in acceptable target value range, the operation flow returns to display operation 316 in FIG. 3 .
  • Display operation 316 displays the information saved by the update operation 710 in FIG. 7 to the user at the computer display of the workstation.
  • the operation flow returns to recognize method module 404 .
  • Recognize method module 404 , recognize parameters module 406 and execute method module 408 operate as described above except that now the situation features are limited to those represented by the remainder data.
  • the operational flow stays in an operational loop through modules 404 , 406 , 408 and test operation 410 until R is in an acceptable target range. This completes the description of the operation flow in the usage cycle shown in FIG. 1 .
  • the training cycle of FIG. 1 is shown in the detail training operation flow of FIG. 8 .
  • the operation flow in FIG. 8 begins with capture operation 802 that captures observations of actions by the expert user and associates those actions with situations documented in the situation data.
  • the observations data 804 thus contains situations and actions.
  • Actions refers to keyboard and mouse or other input by the expert user as she works at the workstation 100 on situation data as well as observed data and data available from observation data screens and from the corrections log 324 .
  • the situation data represents a given situation for which a solution is being sought by the expert as well as all supportive information available to the expert for the decision-making.
  • situation data specifying the quantity of retail goods to be allocated to a set of stores in a retail chain, budget and other planning information, past store performance information, current store performance information if available, any other data might be useful for allocation decision.
  • Load operation 806 receives the observations 804 and extracts unique methods used, parameter lists and limitations, and features from those observations and loads the extracted information into the subject knowledge information 312 . Load operation could be manual at the beginning and made semi-automated as methods, parameters and features become familiar.
  • the subject knowledge information 312 as described in the usage operational flow includes the methods library, the parameters library, and the features library. These libraries are used by the behavior construction module 810 to construct behavior information 812 . Behavior information includes features and strategies as described above in reference to the usage cycle. The behavior construction module 812 is described in more detail hereinafter with reference to FIG. 9 .
  • the behavior information After the behavior information has been constructed it is provided to the learning module 814 .
  • the behaviors include situation features and strategies.
  • the learning module works with the features and strategies to create the profile 310 of expert decisions for use by the behavior emulator. After the learning module creates the profile 310 , the training cycle is complete. The operation of the learning module is described hereinafter with reference to FIG. 11 .
  • FIG. 9 illustrates the operational flow of the behavior construction module 810 in FIG. 8 .
  • the behavior construction module performs two important operations when working with the observations 804 and the subject knowledge information 312 .
  • One operation is a feature extraction operation 902 and the other operation is strategy extraction operation 904 .
  • the subject knowledge information includes a methods library, a parameters library and a features library.
  • the methods library includes set of methods used by experts to find solutions to prior situations.
  • a method includes a method name, a list of required input parameters and method execution code.
  • the parameters library includes the parameter lists and limitations for the parameters in the methods. Also it includes parameter-calculation-rules.
  • the features library includes the features of the situation data and feature calculation rules.
  • Feature extraction operation 902 receives the situation data from observations 804 and the feature names and calculation rules from the features library in the subject knowledge 312 .
  • the feature extract operation 902 uses the feature names and feature calculation rules to extract the situation features from the situation data.
  • the strategy extraction module 904 receives the actions data from the observations information 804 and it receives the method choices from the methods library and the parameter limitations for parameters in the methods from the parameters library in the subject knowledge 312 . From this information the strategy extraction operation determines a strategy associated with an action. The strategy is defined by methods and their parameter values. The strategy extraction module 904 is described in more detail hereinafter with reference to FIG. 10 .
  • the load behaviors operation 906 receives the situation features 905 created by feature extraction operation 902 . It also receives the strategy 907 extracted by the strategy extraction module. The strategy 907 is associated with situation features 905 by the load behaviors operation 906 . The load operation 906 loads the associated features and strategy in behaviors information 812 . This behaviors information is used by the learning module 814 of FIG. 8 , which is shown in detail in FIG. 11 .
  • FIG. 10 illustrates the operational flow of the strategy extraction module 904 of FIG. 9 .
  • the operational flow for strategy extraction module begins with the retrieve operation 1002 and get operation 1004 .
  • Retrieve operation 1002 retrieves the situations and actions associated with situations from the observations information 804 .
  • Get operation 1004 gets the method choices along with parameter limitations from subject knowledge information for the methods that may be used to work with a given situation/actions combination.
  • the compare operation 1006 compares the situation/actions information with the method/parameters information and passes the results of the comparison onto the select operation 1008 . Based on the historical association between the situation/actions and a method/parameters combination, the selection operation 1008 selects a behavior method along with its parameters to be used with the situation/actions combination by the user. The method and parameter values selected in operation 1008 are then saved as one strategy iteration (method and parameter values) as strategy information 907 ( FIG. 9 ) by save operation 1010 .
  • actions ended test 1012 detects whether there are more actions in the processing of the situation that need to be evaluated. If there are more actions, then the operation flow returns to retrieve operation 1002 , which retrieves the next situation/actions combination from the observations information. Compare operation 1006 then finds the best behavior method/parameter combination to be used with the situation/actions combination. Select operation 1008 then selects the best method and parameters for the situation/actions combination and save operation 1010 saves that as the next method/parameters iteration in the strategy information 907 . This cyclic loop continues until all actions have been handled by the strategy extraction operational flow. When all actions have been processed, the operational flow returns to the load behaviors operation 906 in FIG. 9 , which then works with the situation features 905 and strategy 907 extracted by the FIG. 10 operational flow.
  • the operational flow for the learning module 814 in FIG. 8 begins with construct operation 1102 constructing a test deck.
  • the test deck is constructed from expert behaviors in behaviors 812 created by behavior construction operation flow in FIG. 9 . Selection of experts from a set of users is mainly a management decision process, probably using a consulting service.
  • the test deck 1104 contains two subsets of information. A first subset is a training subset. The training subset is used by create model profile operation 1106 to create a model profile 1108 .
  • Model profile contains features/methods separation data, features/parameters-calculation-rules separation data, separation decisions thresholds, decision applicability thresholds.
  • the model profile 1108 is used by a verify model profile operation 1110 to verify the effectiveness of the strategies in the model profile.
  • This verify model operation uses a testing subset also created by construct operation 1102 to test the performance of the model profile created from the training subset.
  • This model performance is stored as model profile performance 1112 .
  • Load profile operation 1114 then receives the model profile 1108 and the model profile performance 1112 . It loads both into the profile 310 for use by the behavior emulator module 308 in FIG. 3 . This completes the description of the training cycle.

Abstract

An expert decision-making method is emulated based on a history of behaviors by experts in a variety of observed situations. The history of behaviors is built up from observations of actions taken by experts in analyzing a plurality of situations. Situation data representative of a situation to be processed is received, and situation features are extracted from the situation data. Each situation feature is associated with an expert behavior method used to process the situation. A behavior method is recognized from a pattern of situation features. Recognizing a behavior method is based on feature/method separation data in multidimensional space of features into so areas with each area associated with a method used by experts. Parameter values for parameters in the recognized behavior method are calculated based on the situation features. The calculation of parameter values is accomplished by recognizing parameter calculation rules and calculating the parameter values using the rules. A parameter calculation rule for each parameter in the behavior method is recognized from a pattern of situation features. Recognizing a parameter calculation rule is based on feature/parameter-calculation-rules separation data of multidimensional space of features into areas with each area associated with a parameter calculation rule used by experts. The recognized behavior method is executed on the situation data using the calculated parameter values to recommend a solution for the situation. The recommended solution has solution data representing a plan of action to provide the solution and remainder data representing unprocessed situation data. A test detects whether the remainder data is in a target range. If the remainder data is not in the target range, the actions to recommend a solution are repeated until the test detects the remainder data is in the target range.

Description

    RELATED APPLICATIONS
  • This application is related to commonly assigned, U.S. application Ser. No. ______, entitled “TRAINING A MULTI-DIMENSIONAL, EXPERT BEHAVIOR-EMULATION SYSTEM” by and concurrently filed herewith.
  • TECHNICAL FIELD
  • This invention relates to a multi-dimensional, long-term behavior, computerized decision method and system. More particularly, the invention relates to providing computer operations to perform routine decisions based on the historical performance of experts in the decision process.
  • BACKGROUND OF THE INVENTION
  • There are many routine decision tasks where a person receives input data from a computer and analyzes the data to come to a decision. In some cases, these decision tasks are multi-dimensional in input and cannot easily be grouped into a relatively small number of classes. Because the decisions cannot be so grouped, the decision process does not lend itself to automated or expert processes provided in traditional recognition or classification problems.
  • Further for many of these decision problems, it is difficult to measure the quality of each individual decision made by a person, but it is possible to measure the integral quality of a plurality of decisions as a whole made by the person over a period of time. This integral quality can be compared against other persons making similar decisions over a period of time and the relative expertise of each decision maker can be measured.
  • One example of routine decision tasks based on input data as discussed above is in retail goods allocation tasks. In such tasks a distribution or allocation expert reviews input data on a computer display screen a quantity of retail goods to be allocated in various quantities from warehouses to multiple retail stores selling the goods. Where there are 10 to 1000+ stores in the business and the quantity of goods to be allocated to each store varies from 0 to 100+, the number of possible allocation outcomes can easily exceed several thousand. Such a decision problem is so multi-dimensional it does not lend itself to automated solution based on recognition and classification systems.
  • Further, to measure the quality of an allocation by examining a specific allocation is not meaningful. For example, if a specific set of goods such as swimsuits is allocated to certain stores and turns out not to be profitable for those stores, this result may be due to weather conditions rather than lack of experience by the allocator. On the other hand, if over an entire season all the goods allocated by this same allocator generate the highest total profit or other metric, this same person might be recognized as an expert allocator. In other words, there is no absolutely right or wrong decision for each decision problem, but there are the best (expert) and the poorest decision makers.
  • Another problem in computerizing routine decision tasks of the above type is that best practices in the environment of the decision problem may change over time. For example, in the allocation of retail goods, business practices may change over time because of changes to the competitive environment or changes in the goals of the business entity.
  • SUMMARY OF THE INVENTION
  • In accordance with this invention an expert decision-making method is emulated based on a history of behaviors by experts in a variety of observed situations. A history of behaviors is built up from observations of actions taken by experts in analyzing a plurality of situations. The observations are captured, and behaviors from the observations are constructed. The behaviors indicate an association between situation features and methods with parameters for solving the situations.
  • Situation data representative of a situation to be processed is received, and situation features are extracted from the situation data. A behavior method is recognized from a pattern of situation features. Parameter values for parameters in the recognized behavior method are calculated based on the situation features. The recognized behavior method is executed on the situation data using the parameter values to recommend a solution for the situation.
  • The recommended solution has solution data representing a plan of action to provide the solution and remainder data representing unprocessed situation data. A test detects whether the remainder data is in a target range. If the remainder data is not in the target range, another behavior method from a pattern of situation features from the remainder data is recognized. Parameter values, based on the situation features from the remainder data, are calculated for parameters in this second recognized behavior method. This second recognized behavior method is executed on the remainder data using its parameter values to recommend a solution for the situation. These actions are repeated until the test detects the remainder data is in the target range.
  • A solution strategy is displayed to a user. The strategy display includes all the recognized behavior methods with their parameter values and the solution data and remainder data for each recognized method. Adjustments to the strategy may be received from the user. The adjustments will be changes of behavior methods or changes of parameter values to arrive at the solution.
  • The above calculation of parameter values is accomplished by recognizing parameter calculation rules and calculating the parameter values using the rules. A parameter calculation rule for each parameter in the behavior method is recognized from situation features. Recognizing a parameter calculation rule is based on feature/parameter-calculation-rules separation data in a pattern of features in multidimensional space with each feature associated with a parameter calculation rule used by experts. Similarly, recognizing a behavior method is based on feature/method separation data in a pattern of features in multidimensional space with each feature associated with a method used by experts.
  • The invention may be implemented as a computer process, a computing system or as an article of manufacture such as a computer program product or computer readable media. The computer program product may be a computer storage media readable by a computer system and encoding a computer program of instructions for executing a computer process. The computer program product may also be a propagated signal on a carrier readable by a computing system and encoding a computer program of instructions for executing a computer process.
  • These and various other features as well as advantages, which characterize the present invention, will be apparent from a reading of the following detailed description and a review of the associated drawings.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 shows the flow of system work in one embodiment of the invention.
  • FIG. 2 illustrates the computer and communication environment in which the present embodiments of the invention will typically operate.
  • FIG. 3 shows the operational flow of the usage cycle illustrated in FIG. 1.
  • FIG. 4 shows the operational flow of the behavior emulator module 308 in FIG. 3.
  • FIG. 5 shows the operational flow of the recognize method module 404 in FIG. 4.
  • FIG. 6 shows the operational flow of the recognize parameters module 406 in FIG. 4.
  • FIG. 7 shows the operational flow of the execute method module 408 in FIG. 4.
  • FIG. 8 shows the operational flow of the training cycle illustrated in FIG. 1.
  • FIG. 9 shows the operational flow of the behavior construction module 810 in FIG. 8.
  • FIG. 10 shows the operational flow of the strategy extraction module 904 in FIG. 9
  • FIG. 11 shows the operational flow of the learning module 814 in FIG. 8.
  • DETAILED DESCRIPTION OF THE INVENTION
  • In the present invention, expertise is derived from past experience of experts making decisions on the type of situation data being processed. The decision-making process itself is empirical as the experts have learned what method choices applied to the situation data representing a situation provide a best plan of action to solve the situation The choice of method to solve the situation may or may not include a choice of parameters to be used with that method. The expert in working with situation data, that has multiple dimensions as discussed herein, has become an expert heuristically, i.e. by trial and error, and developed an extensive personal knowledge base and historical background to analyze and solve problems provided by the situation data.
  • For example, in merchandise allocation an allocator may spend six months or a year learning how to effectively allocate retail goods to a chain of stores. As the merchandise allocator becomes more expert, the profitable allocation of retail goods improves for the stores. Further, some merchandise allocators seem to have more talent for doing the allocations than other allocators. Accordingly, an expert emulating computer system emulating the behavior of the most talented allocators can be extremely valuable to a large retail company. Such a computing system provides expert guidance to new merchandise allocators who are not yet expert, or provides expert guidance to lower performing allocators.
  • FIG. 1 shows the flow of system work in one embodiment of the invention; the user interactive work is performed at a workstation 100. Typically there are many workstations and a workstation may be referred to herein as a user workstation or an expert workstation. There are two cycles of operation for the expert emulating system—the usage cycle 106 and the training cycle 108. The designation expert workstation refers to users that have enough expertise that observations of their actions are used in the training cycle. A usage cycle is performed at all user workstations, but training cycle is performed for expert workstations only. One or more supplier servers 102 work with the expert workstation to perform the training cycle 108, and a suppler server 103 and a customer server 104 work with the user workstation to perform the usage cycle. “Supplier” as used herein refers to the provider of the expert behavior emulating system. The usage cycle runs on-demand as a user at the workstation 100 processes situation data requiring a solution. In the training cycle 108 retrieve observations operation 116 runs constantly to capture observation data over a reasonable period of time. The complete loop of the training cycle runs periodically as the supplier server 102 creates and/or updates profiles for use during the usage cycle.
  • In the example of a merchandise allocation system the usage cycle runs on demand when an allocator requests allocation of situation data, such as goods to be allocated to a set of stores in a chain of retail outlets. The complete loop of the training cycle in this example might run only once a week or even once a year or more. The profile which contains allocation methods and other allocation data is normally adjusted for long term changes in the allocation process. When a profile is first created by the training cycle, it can be expected that adjustments and new allocation observations will be frequent and the training cycle will run frequently, i.e. daily or even hourly. After the profile has been updated for several weeks, the adjustments to a solution and new observation information regarding behavior of an expert will be minimal. The profile has settled down, and the updates to the profiles by the training cycle will be come weekly, monthly or even quarterly on the calendar
  • The usage cycle begins with retrieval operation 110 which retrieves the situation data selected by the user and provides the situation data to the expert behavior emulator 112. The expert emulator 112 analyzes the situation data and makes a solution recommendation to the user. The user reviews the solution recommendation, and adjust/save operation 114 may or may not adjust the solution based on input from the user. After a final solution is reached and approved by the user, the solution data is saved by adjust/save operation 114 to the customer database as a solution for the situation data being analyzed. The usage cycle is described in more detail hereinafter with reference to FIG. 3.
  • The training cycle begins with retrieval operation 116 which retrieves observations regarding actions taken by the expert when dealing with particular situation data. This situation data and actions information are used by the behavior construct operation 118 to construct expert behaviors. From these expert behaviors, profile create operation 120 creates the profiles for use by the expert behavior emulator 112 in the usage cycle. The training cycle is described in more detail hereinafter with reference to FIG. 8.
  • Alternatively, retrieval operation 116 and behavior construct operation 118 might be performed for all users, and decisions about which users are experts might be made later at profile create operation 120. This allows for better flexibility in case of a need to change a user assignment to expert or non-expert. Because all behaviors are collected in this alternative embodiment and it is not necessary to start retrieve operation 116 and construct behaviors operation 118 from the beginning.
  • FIG. 2 is illustrative of the computer and communication environment in which the present embodiments of the invention will typically operate. The supplier of the expert emulating system is usually located at a supplier site 200 remote from the customer site 202. The supplier site includes a static data server 204 and a supplier workstation 206. The training cycle of FIG. 1 is performed on the supplier workstation 204 and static data server 206 in the supplier site 200. At the customer site 202 there is also a supplier dynamic data server 208 that receives the profiles and any other administrative updates from the static data server 204 at the supplier site. Communication is usually over the Internet 209 as depicted in FIG. 2, but could occur over any type of telecommunication link.
  • The customer site 202 also has the customer's server 210, which maintains the customer's database of situation data. A customer network 209 at the customer site interconnects the customer's server with supplier's dynamic data server 208 and the customer's workstations 212. The supplier also has an administrative laptop 214 connected to the customer network. Thus a user works at the workstations 212, and the user's work is assisted in the methodology of recommending situation solutions in accordance with the usage cycle discussed above for FIG. 1. Note that the supplier workstation 206 and the supplier administrative laptop 214 are indicated as also connected to the Internet and, thus, could be remote from the supplier's static data server and the supplier's dynamic data server 208.A computing device, such as servers, desktop computers, laptop computers, and computer workstations in FIG. 2, typically includes at least some form of computer-readable media. Computer readable media can be any available media that can be accessed by the computing devices. By way of example, and not limitation, computer-readable media might comprise computer storage media and communication media.
  • Computer storage media includes volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data. Computer storage media includes, but is not limited to, RAM, ROM, EPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium that can be used to store the desired information and that can be accessed by the computing devices in FIG. 2.
  • Communication media typically embodies computer-readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism and includes any information delivery media. The term “modulated data signal” means a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal. By way of example, and not limitation, communication media includes wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared, and other wireless media. Combinations of any of the above should also be included within the scope of computer-readable media. Computer-readable media may also be referred to as computer program product.
  • The logical operations of the various embodiments of the present invention are implemented (1) as a sequence of computer implemented acts or program modules running on a computing device and/or (2) as interconnected machine logic circuits or circuit modules within the computing device. The implementation is a matter of choice dependent on the performance requirements of the system implementing the invention. Accordingly, the logical operations making up the embodiments of the present invention described herein may be referred to variously as operations, structural devices, acts or modules. It will be recognized by one skilled in the art that these operations, structural devices, acts and modules may be implemented in software, in firmware, in special purpose digital circuit logic, and any combination thereof without deviating from the spirit and scope of the present invention as recited within the claims attached hereto.
  • The drawings in FIGS. 3-11 shall follow the illustrating convention of operations or modules being indicated by rectangles, decision operations being indicated by diamonds, and information being indicated by trapezoids. Further, the same item referenced in multiple drawings will be given the same reference numeral.
  • FIG. 3 shows the operational flow of the usage cycle in FIG. 1 in more detail. Receive operation 302 receives from the data 304 in the customers system the situation data 306 selected by a user at the workstation. In the merchandise allocation example the situation data would be a quantity of goods to be allocated to a plurality of stores operated by the customer, budget and other planning information, past store performance information, current store performance information if available, any other data that might be useful for allocation decision, and the expert or user would be the merchandise allocator. The situation data 306 is received from the customers system and stored in working storage at the workstation.
  • The behavior emulator module 308 than works with the situation data 306, the profile 310, and the subject knowledge information 312 to recommend a situation solution to the user at the workstation. The profile is a generalization of observed decisions made by experts, where a single decision is a sequence of methods with or without parameter values that have in the past been used by experts as solutions in observed situations. The subject knowledge includes a methods library, a parameters library and a features library. The methods library includes set of expert behavior methods used by the experts in the past. A method includes a method name, a list of required input parameters and a method execution code, i.e. the method operations. The parameters library includes the parameter lists and limitations for the parameters in the methods; it also includes parameter calculation rules. The features library includes the features of the situation data and feature calculation rules. The solution recommended by the behavior emulator will be solution data indicating a plan of action and remainder data indicative of situation data remaining to be processed. The sequence of methods producing the recommended solution along with parameter values for the methods is referred to herein as a strategy.
  • The recommended solution from and the strategy used by the behavior emulator are both displayed by display operation 316 to the user at the workstation computer screen. A typical display would identify each method used along with its parameter values, the situation solution data and remainder data at each stage or iteration of the strategy, i.e. a strategy iteration refers to the execution of one of the methods with its parameters in a sequence of methods making up a strategy. The next iteration works on the remainder data with the next method in the sequence. The strategy is completely executed when the remainder data represents a value within a predetermined range deemed acceptable for a solution to the situation.
  • For example in the case of merchandise allocation, the display of each iteration of the strategy would identify a method used along with the parameter values used, the solution data, i.e. the number of goods allocated to each store, and the remainder data, i.e. the number of goods unallocated. In merchandise allocation, the strategy will not be complete usually until the remainder is zero.
  • When the recommended solution is displayed, the user is given an opportunity to adjust the strategy or accept the strategy. If the strategy is accepted, accept test detects the indication from the user, and the operational flow branches to transfer operation 320. Transfer operation 320 transfers the recommended solution into the customer's database. Normally, transfer operation 320 does not transfer an entire strategy to the customer system, because a strategy includes behavior steps that lead to the solution. Alternatively, the transfer operation could transfer the strategy as well as the solution. The transfer operation always transfers the recommended solution. In the case of merchandise allocation, the allocation for goods, i.e. the solution, would be transferred into the customers' database and the goods would be distributed accordingly.
  • If the user decides to adjust the strategy, the accept test detects that adjustments are made and the operation flow passes to receive adjustments operation 322. Adjust strategy operation receives the adjustment input from the user and uses that input to modify the strategy being used by the behavior emulator. The receive operation 322 also generates a corrections log 324 to record the strategy adjustment for subsequent use in a training cycle. After the adjust strategy operation, the operation flow returns to the behavior emulator to re-execute the strategy which has now been modified. The modified strategy 314 is used by the behavior emulator module 308 along with the subject knowledge and the profile to recommend a new situation solution. Depending on input from the user, the behavior emulator module 308 may just change one method in the strategy and execute the other methods in the strategy unchanged. Additionally, the behavior emulator may be instructed by the user that it is allowed to adopt other methods in the strategy subsequent to the method changed by the user.
  • FIG. 4 illustrates the operational flow of the behavior emulator module 308 in FIG. 3. Feature extract operation 402 gets feature name and feature calculation rules information from the subject knowledge information 312 and extracts situation features from the situation data 306 based on the feature calculation rules. The feature calculation rules may operate on all features or may operate on a subset of features to extract situation features that will be useful in recognizing the method to be executed to provide a solution. H is also true that if there are no feature calculation rules for a given feature, than that feature in the situation data is not processed and is not used by the feature extraction operation 402 to produce a situation feature.
  • Recognize method module 404 receives the situation features from feature extract operation 402, and it receives the method choices from the subject knowledge 312 and features/methods separation data from the profile 310. Using pattern recognition techniques in multi-dimensional space for all the situation features, and using the features/methods separation data, the recognize method module selects a method to be executed against the situation data.
  • The operation flow for the recognize method module 404 is shown in FIG. 5. Get operation 502 in FIG. 5 retrieves the situation features, the method choices and the features/methods separation data. The features and methods are analyzed as patterns of numeric data. Alternatively, they might be analyzed as patterns of graphical data. In any case it is easier to understand the analysis if the situation features and the features/methods separation data are imagined as a graph in multi-dimensional space with a graph axis for the various features and graph points for the feature values with each point labeled with a method name. Features/methods separation data is multi-dimensional surface(s), which separates the entire graphical space into areas populated mainly by graph points labeled with one method name or no graph point at all. Each area is labeled with a method name, representing the method that prevails in that area. The method represented by that area is the best choice for discriminating between situation features in that area, and the best method to be used to find a situation solution. Detect operation 504 will use feature values to plot a new graph point in the same multi-dimensional space. Operation 504 detects the area where the new graph point appears using features/methods separation data, and select a method name associated with that area as the best choice for a method to operate on the situation data.
  • In the example of merchandise allocation, the selected method might be an initial allocation method, and the initial quantity of retail goods and retail stores would be the situation s features. Save method operation 506 retrieves the operations for the selected method and saves the method operations 405 in working storage for subsequent use by execute method module 408 in FIG. 4.
  • Recognize parameters module 406 in FIG. 4 receives the situation features from the extract features operation 402, it receives the parameter lists and the limitations associated with the parameters in the selected method from the subject knowledge 312, and it receives the features/parameters-calculation-rules separation data from the profile 310. The operation flow for the recognize parameters module 406 is shown in FIG. 6.
  • Get operation 602 in FIG. 6 retrieves the situation features, the parameter limitations, parameters calculation rules from the parameter library from subject knowledge information 312. The features/parameters-calculation-rules separation data is retrieved from the profile 310, and the selected method is retrieved from the recognize method module 404. Parameter values calculation is a hierarchical process. Detect operation 604 detects a parameters calculation rule using a technique as described at FIG. 5 for detect operation 504. Detect operation 604 uses situation features, available parameter calculation rules and features/parameter calculation rules separation data to detect the parameters calculation rules to be used. The features and parameters calculation rule are analyzed as patterns of numeric data. They may also be analyzed as patterns of graphical data. The analysis is most easily understood if the data is imagined as being graphed in multi-dimensional space with a graph axis for the various features and graph points for the feature values with each point labeled with a parameters calculation rule. Features/parameters-calculation-rules separation data is multi-dimensional surface(s) which separates the entire graphical space into areas populated mainly by graph points labeled with one rule or no graph point at all. Each area is labeled with a parameters calculation rule, representing the rule that prevails in that area. The rule represented by that area is the best choice for calculating parameter values for situation features in that area. Detect operation 604 will use feature values to plot a new graph point in the same multi-dimensional space. Operation 604 detects the area where the new graph point appears using features/rules separation data, and selects a rule associated with that area as the best choice for calculating parameter values for the method to operate on the situation data.
  • Save operation 606 saves the detected parameters calculation rule. A rules algorithm might require more parameters calculation rules for its execution, but some rules algorithms do not require any more parameters calculation rules and can be executed without any additional rules. If last saved rule requires parameters calculation rules, then additional rules test operation 608 branches the flow to detect operation 604, and operations 604 and 606 repeat to detect parameters calculation rule for this rule algorithm. If last saved rule does not require additional parameters calculation rules, the operation flow branches to the execute operation 610. The execute operation executes all saved parameters calculation rules. Save operation 612 saves parameter values obtained on the previous step, and the operation flow returns to execute method module 408 in FIG. 4.
  • Execute method module 408 in FIG. 4 receives the situation data 306, the method operations 405 for the selected method, and the parameter values 407 for parameters in the selected method. The execute method module 408 executes the method operations using the parameter values and produces a solution for the situation data. The operation flow for the execute method module 408 is shown in FIG. 7.
  • The method retrieve operation 702 in FIG. 7 retrieves the method operations from subject knowledge 312 for the selected method from working storage. Parameter retrieve operation 704 retrieves the parameter values 407 for the parameters in the selected method from working storage. Retrieve operation 706 retrieves the situation data to which the method and its parameter values are to be applied. Execute operation 708 now uses the parameter values for the selected method and executes the method operations of the selected method on the situation data. The result will be solution data and remainder data.
  • In the merchandise allocation example the solution data will be the quantity and type of goods allocated to each retail store, and the remainder data will be the remaining quantity and type of goods not allocated by the selected method. Update operation 710 saves the current method, its parameters, the solution data and the remainder data, and the operation flow returns to remainder test operation 410 in FIG. 4.
  • In FIG. 4 remainder test operation 410 tests whether the remainder data is in an acceptable target value range. The remainder data “R” being in an acceptable target value range might be satisfied if R is greater than, equal to or less than a number, or it might be satisfied if R is within a range of numbers or a set of ranges. Further, the number(s) might be positive or negative. If the remainder is in acceptable target value range, the operation flow returns to display operation 316 in FIG. 3. Display operation 316 displays the information saved by the update operation 710 in FIG. 7 to the user at the computer display of the workstation.
  • If the remainder is not in an acceptable target range, the operation flow returns to recognize method module 404. Recognize method module 404, recognize parameters module 406 and execute method module 408 operate as described above except that now the situation features are limited to those represented by the remainder data. The operational flow stays in an operational loop through modules 404, 406, 408 and test operation 410 until R is in an acceptable target range. This completes the description of the operation flow in the usage cycle shown in FIG. 1.
  • The training cycle of FIG. 1 is shown in the detail training operation flow of FIG. 8. The operation flow in FIG. 8 begins with capture operation 802 that captures observations of actions by the expert user and associates those actions with situations documented in the situation data. The observations data 804 thus contains situations and actions. Actions refers to keyboard and mouse or other input by the expert user as she works at the workstation 100 on situation data as well as observed data and data available from observation data screens and from the corrections log 324. The situation data represents a given situation for which a solution is being sought by the expert as well as all supportive information available to the expert for the decision-making. In the merchandise allocation example a situation would be described by the situation data specifying the quantity of retail goods to be allocated to a set of stores in a retail chain, budget and other planning information, past store performance information, current store performance information if available, any other data might be useful for allocation decision.
  • Load operation 806 receives the observations 804 and extracts unique methods used, parameter lists and limitations, and features from those observations and loads the extracted information into the subject knowledge information 312. Load operation could be manual at the beginning and made semi-automated as methods, parameters and features become familiar. The subject knowledge information 312 as described in the usage operational flow includes the methods library, the parameters library, and the features library. These libraries are used by the behavior construction module 810 to construct behavior information 812. Behavior information includes features and strategies as described above in reference to the usage cycle. The behavior construction module 812 is described in more detail hereinafter with reference to FIG. 9.
  • After the behavior information has been constructed it is provided to the learning module 814. The behaviors include situation features and strategies. The learning module works with the features and strategies to create the profile 310 of expert decisions for use by the behavior emulator. After the learning module creates the profile 310, the training cycle is complete. The operation of the learning module is described hereinafter with reference to FIG. 11.
  • FIG. 9 illustrates the operational flow of the behavior construction module 810 in FIG. 8. The behavior construction module performs two important operations when working with the observations 804 and the subject knowledge information 312. One operation is a feature extraction operation 902 and the other operation is strategy extraction operation 904. The subject knowledge information includes a methods library, a parameters library and a features library. The methods library includes set of methods used by experts to find solutions to prior situations. A method includes a method name, a list of required input parameters and method execution code. The parameters library includes the parameter lists and limitations for the parameters in the methods. Also it includes parameter-calculation-rules. The features library includes the features of the situation data and feature calculation rules.
  • Feature extraction operation 902 receives the situation data from observations 804 and the feature names and calculation rules from the features library in the subject knowledge 312. The feature extract operation 902 uses the feature names and feature calculation rules to extract the situation features from the situation data.
  • The strategy extraction module 904 receives the actions data from the observations information 804 and it receives the method choices from the methods library and the parameter limitations for parameters in the methods from the parameters library in the subject knowledge 312. From this information the strategy extraction operation determines a strategy associated with an action. The strategy is defined by methods and their parameter values. The strategy extraction module 904 is described in more detail hereinafter with reference to FIG. 10.
  • In FIG. 9 the load behaviors operation 906 receives the situation features 905 created by feature extraction operation 902. It also receives the strategy 907 extracted by the strategy extraction module. The strategy 907 is associated with situation features 905 by the load behaviors operation 906. The load operation 906 loads the associated features and strategy in behaviors information 812. This behaviors information is used by the learning module 814 of FIG. 8, which is shown in detail in FIG. 11.
  • FIG. 10 illustrates the operational flow of the strategy extraction module 904 of FIG. 9. The operational flow for strategy extraction module begins with the retrieve operation 1002 and get operation 1004. Retrieve operation 1002 retrieves the situations and actions associated with situations from the observations information 804. Get operation 1004 gets the method choices along with parameter limitations from subject knowledge information for the methods that may be used to work with a given situation/actions combination.
  • The compare operation 1006 compares the situation/actions information with the method/parameters information and passes the results of the comparison onto the select operation 1008. Based on the historical association between the situation/actions and a method/parameters combination, the selection operation 1008 selects a behavior method along with its parameters to be used with the situation/actions combination by the user. The method and parameter values selected in operation 1008 are then saved as one strategy iteration (method and parameter values) as strategy information 907 (FIG. 9) by save operation 1010.
  • After the method/parameter selection is saved, actions ended test 1012 detects whether there are more actions in the processing of the situation that need to be evaluated. If there are more actions, then the operation flow returns to retrieve operation 1002, which retrieves the next situation/actions combination from the observations information. Compare operation 1006 then finds the best behavior method/parameter combination to be used with the situation/actions combination. Select operation 1008 then selects the best method and parameters for the situation/actions combination and save operation 1010 saves that as the next method/parameters iteration in the strategy information 907. This cyclic loop continues until all actions have been handled by the strategy extraction operational flow. When all actions have been processed, the operational flow returns to the load behaviors operation 906 in FIG. 9, which then works with the situation features 905 and strategy 907 extracted by the FIG. 10 operational flow.
  • In FIG. 11 the operational flow for the learning module 814 in FIG. 8 is shown. The operational flow in the learning module begins with construct operation 1102 constructing a test deck. The test deck is constructed from expert behaviors in behaviors 812 created by behavior construction operation flow in FIG. 9. Selection of experts from a set of users is mainly a management decision process, probably using a consulting service. The test deck 1104 contains two subsets of information. A first subset is a training subset. The training subset is used by create model profile operation 1106 to create a model profile 1108. Model profile contains features/methods separation data, features/parameters-calculation-rules separation data, separation decisions thresholds, decision applicability thresholds. The model profile 1108 is used by a verify model profile operation 1110 to verify the effectiveness of the strategies in the model profile. This verify model operation uses a testing subset also created by construct operation 1102 to test the performance of the model profile created from the training subset. This model performance is stored as model profile performance 1112. Load profile operation 1114 then receives the model profile 1108 and the model profile performance 1112. It loads both into the profile 310 for use by the behavior emulator module 308 in FIG. 3. This completes the description of the training cycle.
  • While the invention has been particularly shown and described with reference to preferred embodiments thereof, it will be understood by those skilled in the art that various other changes in the form and details may be made therein without departing form the spirit and scope of the invention.

Claims (13)

1-10. (canceled)
11. A computer method for emulating an expert decision-making process based on an history of behaviors by human experts in a variety of observed allocation situations to provide a user a recommended allocation solution to an allocation situation to be processed, the method comprising:
receiving situation data representative of an allocation situation to be processed;
extracting situation features from the situation data;
recognizing a behavior method from a pattern of situation features and identifying the recognized behavior method;
calculating parameter values based on the situation features for parameters in the recognized behavior method;
executing the recognized behavior method on the situation data using the parameter values to provide a recommended allocation solution for the allocation situation; and
displaying the recommended allocation solution to the user.
12. The method of claim 11 wherein the recommended allocation solution comprises solution data representing a plan of action to provide the allocation solution and remainder data representing unprocessed situation data.
13. The method of claim 12 further comprising:
detecting whether the remainder data is in a target range;
if the remainder data is not in the target range, recognizing another behavior method from a pattern of situation features from the remainder data and identifying the another recognized behavior method;
calculating parameter values, based on the situation features from the remainder data, for parameters in the another recognized behavior method; and
executing the another recognized behavior method on the remainder data using the parameter values in the another recognized behavior method to recommend an allocation solution for the allocation situation.
14. The method of claim 13 wherein the acts of recognizing, calculating and executing for another recognized method are repeated until the act of detecting detects the remainder data is in the target range.
15. The method of claim 11 wherein the displaying step further comprises:
displaying a strategy, the strategy being all the recognized behavior methods with parameter values and the solution data and remainder data for each recognized method.
16. The method of claim 11 wherein the act of extracting features bases the extraction on features that are significant in recognizing a behavior method.
17. The method of claim 11 wherein the act of recognizing a method is based on feature/method separation data in multidimensional space of features into areas with each area associated with a method used by experts.
18. The method of claim 11 wherein the act of calculating parameter values comprises:
recognizing a parameter calculation rule for each parameter in the recognized behavior method from a pattern of situation features; and
calculating the parameter values using parameter calculation rules using situation features.
19. The method of claim 18 wherein the act of recognizing a parameter calculation rule is based on feature/parameter-calculation-rules separation data in multidimensional space of features into areas with each area associated with a parameter calculation rule used by experts.
20. The method of claim 11 further comprising:
capturing observations of actions taken by experts in analyzing a plurality of allocation situations;
constructing behaviors from the observations, the behaviors indicating situation features and associated methods with parameter values.
21. The method of claim 20 further comprising:
learning a history of allocation situations and associated behavior methods from the behaviors; and
generating a profile of strategies from the history.
22. The method of claim 15 further comprising:
receiving adjustments to the strategy, the adjustments being at least one of changes in recognized methods and changes in parameter values.
US12/331,256 2004-10-26 2008-12-09 Multidimensional expert behavior emulation system Abandoned US20090089241A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US12/331,256 US20090089241A1 (en) 2004-10-26 2008-12-09 Multidimensional expert behavior emulation system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/974,383 US7464066B2 (en) 2004-10-26 2004-10-26 Multi-dimensional, expert behavior-emulation system
US12/331,256 US20090089241A1 (en) 2004-10-26 2008-12-09 Multidimensional expert behavior emulation system

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US10/974,383 Continuation US7464066B2 (en) 2004-10-26 2004-10-26 Multi-dimensional, expert behavior-emulation system

Publications (1)

Publication Number Publication Date
US20090089241A1 true US20090089241A1 (en) 2009-04-02

Family

ID=36096363

Family Applications (2)

Application Number Title Priority Date Filing Date
US10/974,383 Expired - Fee Related US7464066B2 (en) 2004-10-26 2004-10-26 Multi-dimensional, expert behavior-emulation system
US12/331,256 Abandoned US20090089241A1 (en) 2004-10-26 2008-12-09 Multidimensional expert behavior emulation system

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US10/974,383 Expired - Fee Related US7464066B2 (en) 2004-10-26 2004-10-26 Multi-dimensional, expert behavior-emulation system

Country Status (2)

Country Link
US (2) US7464066B2 (en)
WO (1) WO2006047463A2 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10425725B2 (en) 2015-02-11 2019-09-24 Google Llc Methods, systems, and media for ambient background noise modification based on mood and/or behavior information
US10785203B2 (en) 2015-02-11 2020-09-22 Google Llc Methods, systems, and media for presenting information related to an event based on metadata
US11048855B2 (en) 2015-02-11 2021-06-29 Google Llc Methods, systems, and media for modifying the presentation of contextually relevant documents in browser windows of a browsing application
US11392580B2 (en) 2015-02-11 2022-07-19 Google Llc Methods, systems, and media for recommending computerized services based on an animate object in the user's environment

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060112047A1 (en) * 2004-10-26 2006-05-25 Parascript Llc Training a multi-dimensional, expert behavior-emulation system
US7464066B2 (en) 2004-10-26 2008-12-09 Applied Intelligence Solutions, Llc Multi-dimensional, expert behavior-emulation system
US9769354B2 (en) 2005-03-24 2017-09-19 Kofax, Inc. Systems and methods of processing scanned data
US9137417B2 (en) 2005-03-24 2015-09-15 Kofax, Inc. Systems and methods for processing video data
US20070094194A1 (en) * 2005-08-03 2007-04-26 Parascript Llc Method for managing an expert behavior-emulation system assisting an operator-controlled-decision system
GB0624024D0 (en) * 2006-12-01 2007-01-10 Ibm Event correlation based trouble ticket resolution system incorporating adaptive rules optimization
US9576272B2 (en) 2009-02-10 2017-02-21 Kofax, Inc. Systems, methods and computer program products for determining document validity
US8958605B2 (en) 2009-02-10 2015-02-17 Kofax, Inc. Systems, methods and computer program products for determining document validity
US8879846B2 (en) 2009-02-10 2014-11-04 Kofax, Inc. Systems, methods and computer program products for processing financial documents
US9767354B2 (en) 2009-02-10 2017-09-19 Kofax, Inc. Global geographic information retrieval, validation, and normalization
US9349046B2 (en) 2009-02-10 2016-05-24 Kofax, Inc. Smart optical input/output (I/O) extension for context-dependent workflows
US8774516B2 (en) 2009-02-10 2014-07-08 Kofax, Inc. Systems, methods and computer program products for determining document validity
US9058515B1 (en) 2012-01-12 2015-06-16 Kofax, Inc. Systems and methods for identification document processing and business workflow integration
US9514357B2 (en) 2012-01-12 2016-12-06 Kofax, Inc. Systems and methods for mobile image capture and processing
US9483794B2 (en) 2012-01-12 2016-11-01 Kofax, Inc. Systems and methods for identification document processing and business workflow integration
US9058580B1 (en) 2012-01-12 2015-06-16 Kofax, Inc. Systems and methods for identification document processing and business workflow integration
US10146795B2 (en) 2012-01-12 2018-12-04 Kofax, Inc. Systems and methods for mobile image capture and processing
US9208536B2 (en) 2013-09-27 2015-12-08 Kofax, Inc. Systems and methods for three dimensional geometric reconstruction of captured image data
US9355312B2 (en) 2013-03-13 2016-05-31 Kofax, Inc. Systems and methods for classifying objects in digital images captured using mobile devices
CN105283884A (en) 2013-03-13 2016-01-27 柯法克斯公司 Classifying objects in digital images captured using mobile devices
US20140316841A1 (en) 2013-04-23 2014-10-23 Kofax, Inc. Location-based workflows and services
WO2014179752A1 (en) 2013-05-03 2014-11-06 Kofax, Inc. Systems and methods for detecting and classifying objects in video captured using mobile devices
WO2015073920A1 (en) 2013-11-15 2015-05-21 Kofax, Inc. Systems and methods for generating composite images of long documents using mobile video data
US9760788B2 (en) 2014-10-30 2017-09-12 Kofax, Inc. Mobile document detection and orientation based on reference object characteristics
CN104536969A (en) * 2014-12-01 2015-04-22 北京百度网讯科技有限公司 Method and device for determining result data set
US10242285B2 (en) 2015-07-20 2019-03-26 Kofax, Inc. Iterative recognition-guided thresholding and data extraction
US9779296B1 (en) 2016-04-01 2017-10-03 Kofax, Inc. Content-based detection and three dimensional geometric reconstruction of objects in image and video data
US10803350B2 (en) 2017-11-30 2020-10-13 Kofax, Inc. Object detection and image cropping using a multi-detector approach

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5447166A (en) * 1991-09-26 1995-09-05 Gevins; Alan S. Neurocognitive adaptive computer interface method and system based on on-line measurement of the user's mental effort
US5588091A (en) * 1989-05-17 1996-12-24 Environmental Research Institute Of Michigan Dynamically stable associative learning neural network system
US5598510A (en) * 1993-10-18 1997-01-28 Loma Linda University Medical Center Self organizing adaptive replicate (SOAR)
US5793888A (en) * 1994-11-14 1998-08-11 Massachusetts Institute Of Technology Machine learning apparatus and method for image searching
US6044356A (en) * 1998-05-15 2000-03-28 International Business Machines Corporation Assistant for resource and demand trading
US6112190A (en) * 1997-08-19 2000-08-29 Citibank, N.A. Method and system for commercial credit analysis
US6556977B1 (en) * 1997-08-14 2003-04-29 Adeza Biomedical Corporation Methods for selecting, developing and improving diagnostic tests for pregnancy-related conditions
US6947378B2 (en) * 2001-02-28 2005-09-20 Mitsubishi Electric Research Labs, Inc. Dynamic network resource allocation using multimedia content features and traffic features
US7027953B2 (en) * 2002-12-30 2006-04-11 Rsl Electronics Ltd. Method and system for diagnostics and prognostics of a mechanical system
US20060112047A1 (en) * 2004-10-26 2006-05-25 Parascript Llc Training a multi-dimensional, expert behavior-emulation system
US20070094194A1 (en) * 2005-08-03 2007-04-26 Parascript Llc Method for managing an expert behavior-emulation system assisting an operator-controlled-decision system
US7464066B2 (en) * 2004-10-26 2008-12-09 Applied Intelligence Solutions, Llc Multi-dimensional, expert behavior-emulation system

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5588091A (en) * 1989-05-17 1996-12-24 Environmental Research Institute Of Michigan Dynamically stable associative learning neural network system
US5447166A (en) * 1991-09-26 1995-09-05 Gevins; Alan S. Neurocognitive adaptive computer interface method and system based on on-line measurement of the user's mental effort
US5598510A (en) * 1993-10-18 1997-01-28 Loma Linda University Medical Center Self organizing adaptive replicate (SOAR)
US5793888A (en) * 1994-11-14 1998-08-11 Massachusetts Institute Of Technology Machine learning apparatus and method for image searching
US6556977B1 (en) * 1997-08-14 2003-04-29 Adeza Biomedical Corporation Methods for selecting, developing and improving diagnostic tests for pregnancy-related conditions
US6112190A (en) * 1997-08-19 2000-08-29 Citibank, N.A. Method and system for commercial credit analysis
US6044356A (en) * 1998-05-15 2000-03-28 International Business Machines Corporation Assistant for resource and demand trading
US6947378B2 (en) * 2001-02-28 2005-09-20 Mitsubishi Electric Research Labs, Inc. Dynamic network resource allocation using multimedia content features and traffic features
US7027953B2 (en) * 2002-12-30 2006-04-11 Rsl Electronics Ltd. Method and system for diagnostics and prognostics of a mechanical system
US20060112047A1 (en) * 2004-10-26 2006-05-25 Parascript Llc Training a multi-dimensional, expert behavior-emulation system
US7464066B2 (en) * 2004-10-26 2008-12-09 Applied Intelligence Solutions, Llc Multi-dimensional, expert behavior-emulation system
US20070094194A1 (en) * 2005-08-03 2007-04-26 Parascript Llc Method for managing an expert behavior-emulation system assisting an operator-controlled-decision system

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10425725B2 (en) 2015-02-11 2019-09-24 Google Llc Methods, systems, and media for ambient background noise modification based on mood and/or behavior information
US10785203B2 (en) 2015-02-11 2020-09-22 Google Llc Methods, systems, and media for presenting information related to an event based on metadata
US10880641B2 (en) 2015-02-11 2020-12-29 Google Llc Methods, systems, and media for ambient background noise modification based on mood and/or behavior information
US11048855B2 (en) 2015-02-11 2021-06-29 Google Llc Methods, systems, and media for modifying the presentation of contextually relevant documents in browser windows of a browsing application
US11392580B2 (en) 2015-02-11 2022-07-19 Google Llc Methods, systems, and media for recommending computerized services based on an animate object in the user's environment
US11494426B2 (en) 2015-02-11 2022-11-08 Google Llc Methods, systems, and media for modifying the presentation of contextually relevant documents in browser windows of a browsing application
US11516580B2 (en) 2015-02-11 2022-11-29 Google Llc Methods, systems, and media for ambient background noise modification based on mood and/or behavior information
US11671416B2 (en) 2015-02-11 2023-06-06 Google Llc Methods, systems, and media for presenting information related to an event based on metadata
US11841887B2 (en) 2015-02-11 2023-12-12 Google Llc Methods, systems, and media for modifying the presentation of contextually relevant documents in browser windows of a browsing application
US11910169B2 (en) 2015-02-11 2024-02-20 Google Llc Methods, systems, and media for ambient background noise modification based on mood and/or behavior information

Also Published As

Publication number Publication date
WO2006047463A8 (en) 2006-12-14
US20060089830A1 (en) 2006-04-27
WO2006047463A2 (en) 2006-05-04
US7464066B2 (en) 2008-12-09

Similar Documents

Publication Publication Date Title
US7464066B2 (en) Multi-dimensional, expert behavior-emulation system
Lamba et al. Modeling big data enablers for operations and supply chain management
Petropoulos et al. Judgmental selection of forecasting models
US8788452B2 (en) Computer assisted benchmarking system and method using induction based artificial intelligence
Goyal et al. Applications of data mining in higher education
US8990145B2 (en) Probabilistic data mining model comparison
Ghazal et al. Application of knowledge discovery in database (KDD) techniques in cost overrun of construction projects
WO2016053183A1 (en) Systems and methods for automated data analysis and customer relationship management
US20120078678A1 (en) Method and system for estimation and analysis of operational parameters in workflow processes
CN109711424B (en) Behavior rule acquisition method, device and equipment based on decision tree
WO2006047464A2 (en) Training a multi-dimensional, expert behavior-emulation system
Chen et al. Extracting performance rules of suppliers in the manufacturing industry: an empirical study
Yun et al. Predictive Analytics: A Survey, Trends, Applications, Opportunities’ and Challenges for Smart City Planning
Große Kamphake et al. Digitalization in controlling
Arifin et al. Comparative analysis on educational data mining algorithm to predict academic performance
Çakıt et al. Comparative analysis of machine learning algorithms for predicting standard time in a manufacturing environment
CN109767263A (en) Business revenue data predication method, device, computer equipment and storage medium
CN109829745A (en) Business revenue data predication method, device, computer equipment and storage medium
Ratusny et al. Customer order behavior classification via convolutional neural networks in the semiconductor industry
Shifat et al. Reforming data into decisions: investigating the integrated paradigm of business intelligence (BI)
CN111091410B (en) Node embedding and user behavior characteristic combined net point sales prediction method
Vetschera et al. A process-oriented framework for the evaluation of managerial support systems
AU2020201689A1 (en) Cognitive forecasting
CN116703455B (en) Medicine data sales prediction method and system based on time series hybrid model
Marinello et al. Application of the quality function deployment approach to the optimization of an enterprise resource planning software

Legal Events

Date Code Title Description
STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION