Patent Description:
The disclosure herein generally relates to recommender model selection, and, more particularly, to a method and system for selecting a recommender model matching user requirements.

Recommender models are used for processing various types of data for generating recommendations. For example, targeted advertisements are generated with the intention of attracting customers towards purchasing goods. The targeted advertisements are generated by processing data such as purchase history of each customer, product/service specifications, offers, and so on. By processing such data, the recommender models extracts information pertaining to purchase interests of the user.

A plurality of such recommender models exist. Each of such recommender models may be having different data processing capabilities and in terms of type of data being processed by each of such recommender models. Each user may be having specific requirements while opting for recommender models, and selection of a recommender model that best matches the user requirements helps in obtaining optimum results.

Document <CIT> discloses a computer implemented method for recommending an item to a user, according to which a plurality of users each of which with a known profile, interface with a corresponding computerized device and binary event-specific, user-item source matrices are generated, for indicating whether a given user performed a given explanatory event included in a corresponding source matrix. All users included in the source matrices are grouped to a profile-specific cluster and items included in the source matrices are grouped to an item category cluster to generate a predictive event book matrix which indicates the probability that an event unknown to have been performed by the given user will be performed for each profile-specific and item category cluster combination included in the one or more source matrices. Each user gets recommendation about an item included in the source matrices, which has a highest probability.

Embodiments of the present disclosure present technological improvements as solutions to one or more of the above-mentioned technical problems recognized by the inventors in conventional systems. The invention is set out in appended set of claims.

It is intended that the following detailed description be considered as exemplary only, with the true scope being indicated by the following claims.

<FIG> illustrates an exemplary system for recommender model selection, according to some embodiments of the present disclosure. The system <NUM> includes one or more hardware processors <NUM>, communication interface(s) or input/output (I/O) interface(s) <NUM>, and one or more data storage devices or memory <NUM> operatively coupled to the one or more hardware processors <NUM>. The one or more hardware processors <NUM> can be implemented as one or more microprocessors, microcomputers, microcontrollers, digital signal processors, central processing units, state machines, graphics controllers, logic circuitries, and/or any devices that manipulate signals based on operational instructions. Among other capabilities, the processor(s) <NUM> are configured to fetch and execute computer-readable instructions stored in the memory <NUM>, the instructions when executed cause the one or more hardware processors to perform one or more actions associated with the recommender model selection being handled by the system <NUM>. In an embodiment, the system <NUM> can be implemented in a variety of computing systems, such as laptop computers, notebooks, hand-held devices, workstations, mainframe computers, servers, a network cloud and the like.

The communication interface(s) <NUM> can include a variety of software and hardware interfaces, for example, a web interface, a graphical user interface, and the like and can facilitate multiple communications within a wide variety of networks N/W and protocol types, including wired networks, for example, LAN, cable, etc., and wireless networks, such as WLAN, cellular, or satellite. In an embodiment, the communication interface(s) <NUM> can include one or more ports for connecting a number of devices to one another or to another server.

The memory <NUM> may include any computer-readable medium known in the art including, for example, volatile memory, such as static random access memory (SRAM) and dynamic random access memory (DRAM), and/or non-volatile memory, such as read only memory (ROM), erasable programmable ROM, flash memories, hard disks, optical disks, and magnetic tapes. In an embodiment, one or more components (not shown) of the system <NUM> can be stored in the memory <NUM>. The memory <NUM> is configured to store operational instructions which when executed cause one or more of the hardware processor(s) <NUM> to perform various actions associated with the recommender model selection being handled by the system <NUM>. The memory <NUM> further stores a recommendation learned model, which is used by the system <NUM> for generating the recommendations. The recommendation learned model is trained by using information pertaining to capability of a plurality of recommendation models and user requirements (user requirement) as training data. For example, the training data specifies user requirements, error measure(s) in each of the user requirements, corresponding EV and ET, specifications and capabilities of the plurality of recommender models, recommendations generated corresponding to each of the user requirements and so on. The recommendation learned model can be pre-trained using data of the aforementioned type. In another embodiment, the recommendation learned model can be updated using real-time data. The system <NUM> may use any suitable machine learning algorithm for generating the recommendation learned model using the training data. The recommendation learned model is configured to collect and process the input data from the user, and generate recommendation pertaining to one or more recommender models as matching a user requirements. The various steps involved in the process of recommender model selection are explained with description of <FIG> and <FIG>. All the steps in <FIG> and <FIG> are explained with reference to the system of <FIG>.

<FIG> is a flow diagram depicting steps involved in the process of generating a recommender model recommendation, using the system of <FIG>, according to some embodiments of the present disclosure. The system <NUM> collects (<NUM>) a user requirements for at least one recommender model as input. The user requirements specify/include at least one error measure, and corresponding values of Error Value (EV) and Error Tolerance (ET). The term 'error measure' refers to parameters of the recommender model, values of which can indicate capability/performance of the recommender model. For example, the error measures are precision, recall, Root Mean Square Error (RMSE) and so on, and corresponding values. However due to various factors such as but not limited to training data used, and type(s) of ML algorithm used for generating the recommender model, there may be deviations in values of the error measures. The Error Value (EV) of any error measure represents a distinct value of the error measure, and ET represents extent of deviation from the distinct value, for each of the recommender models. Similarly in the user input, the error measures specified indicate type of parameters of the recommender model the user is interested in. Value of EV for an error measure in the user input represents value of the error measure the user expects, and value of ET represents extent of deviation the user is fine with (i.e. a user accepted deviation) in terms of specific values of the ET. For example, the user may specify value of an error measure 'efficiency' as <NUM>% (i.e. EV), with an error tolerance value of ±<NUM>%. This means that the user is looking for a recommender model with at least <NUM>% efficiency, and the ET of ±<NUM>% allows selection of recommender models having efficiency between <NUM>% and <NUM>%. In various embodiments, the recommender models are stored in the memory <NUM>.

The collected user inputs are then fed as input to the recommendation learned model, which processes the user inputs to determine the user requirements in terms of the error measures, EV, and ET. The recommendation learned model further determines (<NUM>) values of EV and ET for at least the error measures specified in the user input, for each of the plurality of recommender models.

The recommendation learned model further determines (<NUM>) correlation between the determined values of EV and ET of at least the error measures specified in the user input with the corresponding values of EV and ET of the error measures of the recommender models. Here, the correlation is established by comparing the values of EV and ET of the error measures of the user input with that of the recommender models to find match. All the recommender models for which the EV and ET of at least the error measures specified in the user requirements matches the values of corresponding EV and ET are shortlisted. In this process, the recommendation learned model initially compares values of EV of an error measure of the recommender model with corresponding EV value specified in the user requirements. If the EV values are matching, then the recommender model is shortlisted. If the EV values are not matching, then the ET values are compared. If the extent of deviation is within the value of ET specified in the user requirements, then the recommender model is shortlisted. If the extent of deviation is not within the value of ET specified in the user requirements, then the recommender model is discarded. As the ET of each of the plurality of recommender models may be different, value of correlation value corresponding to each of the recommender models is determined. This step of determining the correlation value is explained in description of <FIG>.

Based on the determined correlation, the system <NUM> determines (<NUM>) at least one of the recommender model as the recommender model matching the user requirements. The step <NUM> is explained further with description of <FIG>. Further, the system <NUM> generates (<NUM>) a recommendation based on the at least one recommender model determined as matching the user requirements. In various embodiments, one or more steps in method <NUM> may be omitted. In another embodiment, steps in method <NUM> can be performed in the same order as depicted in <FIG> or in any alternate order technically feasible.

<FIG> is a flow diagram depicting steps involved in the process of selecting a recommender model from a plurality of recommender models, using the system of <FIG>, in accordance with some embodiments of the present disclosure. While establishing the correlation, the values of EV and ET of one or more error measures of each of the recommender models are compared (<NUM>) with EV and ET of the same error measures of the user input, and determines (<NUM>) a correlation value of each of the recommender models, using equation <NUM>. In an embodiment, the EV value may have preference over ET value. For example, if EV value of only one of the recommender models is matching the EV value in the user requirements, then the recommender model is determined as the recommender model matching the user requirements. If EV value of none of the recommender models is matching the EV value in the user requirements, only then the ET values and the corresponding correlation values are determined by the system <NUM>. The correlation value of a recommender model represents extent of match between the recommender model and the user requirements. <MAT> Where.

After determining the correlation values, the system <NUM> compares (<NUM>) correlation value of each of the plurality of recommender models with one another, and selects (<NUM>) a recommender model with highest value of correlation value among the plurality of recommender models. In an embodiment, more than one recommender model are selected if the user input specifies so, and the more than one recommender models may be arranged based on the extent of deviation (and in turn extent of match with the user requirements). In various embodiments, one or more steps in method <NUM> may be omitted. In another embodiment, steps in method <NUM> can be performed in the same order as depicted in <FIG> or in any alternate order technically feasible.

The embodiments of present disclosure herein addresses unresolved problem of selection of recommender model(s) matching user requirements. The embodiment, thus provides method and system for dynamically determining values of Error Value (EV) and Error Tolerance (ET) of one or more error measures of each of a plurality of recommender models. Moreover, the embodiments herein further provides a method and system for determining at least one of the plurality of recommender models as matching the user requirements and accordingly generating a recommendation.

The hardware device can be any kind of device which can be programmed including e.g. any kind of computer like a server or a personal computer, or the like, or any combination thereof. The device may also include means which could be e.g. hardware means like e.g. an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or a combination of hardware and software means, e.g. an ASIC and an FPGA, or at least one microprocessor and at least one memory with software processing components located therein. Alternatively, the embodiments may be implemented on different hardware devices, e.g. using a plurality of CPUs.

Claim 1:
A processor implemented method (<NUM>) for recommender model selection, comprising:
collecting (<NUM>) user requirements as input, via one or more hardware processors, wherein the user requirements comprise at least one error measure and corresponding at least one error value (EV) and error tolerance (ET);
processing (<NUM>) the collected user requirements using a recommendation learned model pre-trained on information pertaining to capability of a plurality of recommender models and user requirements, via the one or more hardware processors, wherein processing the collected user requirements comprising:
determining (<NUM>) dynamically, value of EV and ET of the at least one error measure for each of the plurality of recommender models;
determining (<NUM>) correlation between the determined value of EV and ET of the at least one error measure for each of the plurality of recommender models with the EV and ET in the user requirement, via the one or more hardware processors;
determining (<NUM>) at least one recommender model among the plurality of recommender models as a recommender model matching the user requirement, based on the determined correlation, via the one or more hardware processors;
training the recommendation learned model by using information pertaining to capability of the plurality of recommender models and the user requirements as training data, wherein the recommendation learned model is updated using real time data and wherein the training data specifies the user requirements, corresponding EV and ET, specifications and capabilities of the plurality of recommender models, via the one or more hardware processors; and
generating a recommendation based on the at least one recommender model determined as matching the user requirement, via the one or more hardware processors.