Systems And Methods For Real Time Configurable Recommendation Using User Data
Abstract:
Business to Consumer (B2C) systems face a challenge of engaging users since offers are created using static rules generated using clustering on large transactional data generated over a period of time. Moreover, the offer creation and assignment engine is disjoint to the transactional system which led to significant gap between history used to create offers and current activity of users.
Systems and methods of the present disclosure provide a meta-model based configurable auto-tunable recommendation model generated by ensembling optimized machine learning and deep learning models to predict a user’s likelihood to take an offer and deployed in real time. Furthermore, the offer given to the user is based on a current context derived from the user’s recent behavior that makes the offer relevant and increases probability of conversion of the offer to a sale. The system achieves low recommendation latency and scalable high throughput by virtue of the architecture used.
Get Free WhatsApp Updates!
Notices, Deadlines & Correspondence
Tata Consultancy Services Limited, Olympus - A, Opp. Rodas Enclave, Hiranandani Estate, Ghodbunder Road, Patlipada, Thane West - 400607, Maharashtra, India
Specification
Claims: A processor implemented method (600) comprising the steps of:
receiving, by one or more hardware processors, via a batch interface, raw user data associated with a plurality of users from a plurality of sources (602);
merging, by the one or more hardware processors, the raw user data into a Common Data Format (CDF), wherein the CDF is a single file with records in the raw user data sorted on timestamp values associated thereof and viewed as a star schema of a fact table joined with dimension tables wherein the fact table pertains to user actions captured in the raw user data and the dimension tables are descriptive data of columns in the fact table (604); and
generating, by the one or more hardware processors, a configurable recommendation model (606) by:
processing the CDF to generate a set of features for building one or more machine learning models and one or more deep learning models, wherein the features comprise temporal features and non-temporal features (606a);
creating a feature dictionary for the one or more machine learning models, wherein the feature dictionary is an in-memory persistent store configured to store the set of features and values associated thereof (606b); and
ensembling the one or more machine learning models and the one or more deep learning models built using the generated set of features, to generate the configurable recommendation model (606c).
The processor implemented method of claim 1, wherein one of the one or more machine learning models is Extreme Gradient Boosting (XGBoost) and one of the one or more deep learning models is Long Short Term Memory (LSTM).
The processor implemented method of claim 1, wherein the step of processing the CDFs is based on (i) a metafile1 structure that defines one or more functions to be executed on each of the columns of the CDF and generates a set of first level features for building the one or more deep learning models; and (ii) a metafile2 structure that defines one or more functions to be executed on each column of the feature dictionary for creating a second level of features in the form of one hot vectors used for building the one or more machine learning models.
The processor implemented method of claim 1, wherein the set of features are categorized as user level features, product level features and user-product level features and the temporal features and the non-temporal features are identified for each of the categorized levels.
The processor implemented method of claim 2, wherein an inference based on the raw user data derived at time ‘t’ by the LSTM model is performed using a current hidden state h_t and a current memory state c_t of each cell constituting the LSTM model, wherein the current hidden state h_t and the current memory state c_t are trained with historical data until ‘t-1’ and stored in the feature dictionary for each user and fetched when generating an inference in response to a real time user action thereby reducing latency in inference time.
The processor implemented method of claim 1, further comprising generating the recommendation in response to the real time user action using the generated configurable recommendation model (608) by:
receiving by the one or more hardware processors, via a real time interface, the real time user action that needs to trigger the recommendation for a user (608a);
retrieving, by the one or more hardware processors, a current context associated with the real time user action (608b);
fetching, by the one or more hardware processors, real time features associated with the current context and corresponding to the one or more machine learning models and the one or more deep learning models (608c);
generating, by the one or more hardware processors, the one hot vectors as the in-memory store, for the one or more machine learning models and an input vector for the one or more deep learning models based on the fetched real time features(608d);
deriving an inference by each of the one or more machine learning models and the one or more deep learning models based on the generated one hot vectors and the input vector (608e);
ensembling, by the one or more hardware processors, the inference derived by each of the one or more machine learning models and the one or more deep learning models (608f); and
generating, by the one or more hardware processors, the recommendation using the ensembled inference based on the current context specific business goals and business optimization constraints (608g).
The processor implemented method of claim 6, further comprising dynamically updating the feature dictionary with the current context associated with each of the real time features (610).
The processor implemented method of claim 1, wherein memory for the feature dictionary is allocated dynamically based on need and is indexed on an identifier associated with each user for faster access.
The processor implemented method of claim 6 further comprising:
monitoring performance indicators including (i) accuracy of the configurable recommendation model based on the set of real time features and values thereof, for building the one or more machine learning models and the one or more deep learning models (ii) business objective performance based on the set of real time features and values thereof, the business goals, business optimization constraints and actual conversion of the generated recommendation corresponding to each real time user action and (iii) performance of a business to consumer (B2C) system using the configurable recommendation model based on throughput and recommendation latency (612); and
initiating self-tuning by performing one or more of (i) regenerating the configurable recommendation model based on either regenerating or updating the set of features, (ii) updating the business optimization constraints and (iii) scaling out one or more nodes to improve throughput of the B2C system if the monitored performance indicators deviate from a pre-defined threshold (614).
A system (100) comprising:
one or more data storage devices (102) operatively coupled to one or more hardware processors (104) and configured to store instructions configured for execution by the one or more hardware processors to:
receive, via a batch interface, raw user data associated with a plurality of users from a plurality of sources;
merge the raw user data into a Common Data Format (CDF), wherein the CDF is a single file with records in the raw user data sorted on timestamp values associated thereof and viewed as a star schema of a fact table joined with dimension tables wherein the fact table pertains to user actions captured in the raw user data and the dimension tables are descriptive data of columns in the fact table; and
generate a configurable recommendation model by:
processing the CDF to generate a set of features for building one or more machine learning models and one or more deep learning models, wherein the features comprise temporal features and non-temporal features;
creating a feature dictionary for the one or more machine learning models, wherein the feature dictionary is an in-memory persistent store configured to store the set of features and values associated thereof; and
ensembling the one or more machine learning models and the one or more deep learning models built using the generated set of features, to generate the configurable recommendation model.
The system of claim 10, wherein one of the one or more machine learning models is Extreme Gradient Boosting (XGBoost) and one of the one or more deep learning models is Long Short Term Memory (LSTM).
The system of claim 10, wherein the one or more hardware processors are further configured to process the CDFs based on (i) a metafile1 structure that defines one or more functions to be executed on each of the columns of the CDF and generates a set of first level features for building the one or more deep learning models; and (ii) a metafile2 structure that defines one or more functions to be executed on each column of the feature dictionary for creating a second level of features in the form of one hot vectors used for building the one or more machine learning models.
The system of claim 10, wherein the set of features are categorized as user level features, product level features and user-product level features and the temporal features and the non-temporal features are identified for each of the categorized levels.
The system of claim 11, wherein an inference based on the raw user data derived at time ‘t’ by the LSTM model is performed using a current hidden state h_t and a current memory state c_t of each cell constituting the LSTM model, wherein the current hidden state h_t and the current memory state c_t are trained with historical data until ‘t-1’ and stored in the feature dictionary for each user and fetched when generating an inference in response to a real time user action thereby reducing latency in inference time.
The system of claim 10, wherein the one or more hardware processors are further configured to generate the recommendation in response to the real time user action using the generated configurable recommendation model by:
receiving via a real time interface, the real time user action that needs to trigger the recommendation for a user;
retrieving a current context associated with the real time user action;
fetching real time features associated with the current context and corresponding to the one or more machine learning models and the one or more deep learning models;
generating the one hot vectors as the in-memory store, for the one or more machine learning models and an input vector for the one or more deep learning models based on the fetched real time features;
deriving an inference by each of the one or more machine learning models and the one or more deep learning models based on the generated one hot vectors and the input vector;
ensembling the inference derived by each of the one or more machine learning models and the one or more deep learning models; and
generating the recommendation using the ensembled inference based on the current context specific business goals and business optimization constraints.
The system of claim 15, wherein the one or more processors are further to dynamically update the feature dictionary with the current context associated with each of the real time features.
The system of claim 11, wherein memory for the feature dictionary is allocated dynamically based on need and is indexed on an identifier associated with each user for faster access.
The system of claim 15, wherein the one or more processors are further to:
monitor performance indicators including (i) accuracy of the configurable recommendation model based on the set of real time features and values thereof, for building the one or more machine learning models and the one or more deep learning models (ii) business objective performance based on the set of real time features and values thereof, the business goals, business optimization constraints and actual conversion of the generated recommendation corresponding to each real time user action and (iii) performance of a business to consumer (B2C) system using the configurable recommendation model based on throughput and recommendation latency; and
initiate self-tuning by performing one or more of (i) regenerating the configurable recommendation model based on either regenerating or updating the set of features, (ii) updating the business optimization constraints and (iii) scaling out one or more nodes to improve throughput of the B2C system if the monitored performance indicators deviate from a pre-defined threshold.
, Description:FORM 2
THE PATENTS ACT, 1970
(39 of 1970)
&
THE PATENT RULES, 2003
COMPLETE SPECIFICATION
(See Section 10 and Rule 13)
Title of invention:
SYSTEMS AND METHODS FOR REAL TIME CONFIGURABLE RECOMMENDATION USING USER DATA
Applicant
Tata Consultancy Services Limited
A company Incorporated in India under the Companies Act, 1956
Having address:
Nirmal Building, 9th floor,
Nariman point, Mumbai 400021,
Maharashtra, India
The following specification particularly describes the invention and the manner in which it is to be performed.
TECHNICAL FIELD
The disclosure herein generally relates to systems and methods for providing recommendations in an online setting, and, more particularly, to systems and methods that facilitate configurable recommendations for a variety of Business to Consumer (B2C) scenarios and have a scalable, low-latency architecture providing a right recommendation to a right user at a right time.
BACKGROUND
Digitization wave and wide availability of data analytic platforms have increased the challenge of engaging customers for most Business to Consumer (B2C) systems such as Retail, Banking, Insurance, Telecom and Utilities. The traditional approach of customer engagement is to create offers and send them via email or other offline channels hoping the customer will come back to take the offer. Most of the times, these offers are created using static rules created by business owners or generated using clustering on large transactional data generated over a period of time. Moreover, the offer creation and assignment engine is disjoint to the transactional system which leads to significant gap between history used to create offers and current activity of users. Digitization of services has increased the dynamism and requires intelligent mechanism of assigning offers to customers which are relevant at that point of time and are likely to convert into sale transaction while increasing business owners’ revenue.
SUMMARY
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.
In an aspect, there is provided a processor implemented method for performing a model driven domain specific search comprising: receiving via a batch interface, raw user data associated with a plurality of users from a plurality of sources; merging, by the one or more hardware processors, the raw user data into a Common Data Format (CDF), wherein the CDF is a single file with records in the raw user data sorted on timestamp values associated thereof and viewed as a star schema of a fact table joined with dimension tables wherein the fact table pertains to user actions captured in the raw user data and the dimension tables are descriptive data of columns in the fact table; and generating, by the one or more hardware processors, a configurable recommendation model by: processing the CDF to generate a set of features for building one or more machine learning models and one or more deep learning models, wherein the features comprise temporal features and non-temporal features; creating a feature dictionary for the one or more machine learning models, wherein the feature dictionary is an in-memory persistent store configured to store the set of features and values associated thereof; and ensembling the one or more machine learning models and the one or more deep learning models built using the generated set of features, to generate the configurable recommendation model.
In another aspect, there is provided a system comprising: one or more data storage devices operatively coupled to the one or more processors and configured to store instructions configured for execution by the one or more processors to: receive, via a batch interface, raw user data associated with a plurality of users from a plurality of sources; merge the raw user data into a Common Data Format (CDF), wherein the CDF is a single file with records in the raw user data sorted on timestamp values associated thereof and viewed as a star schema of a fact table joined with dimension tables wherein the fact table pertains to user actions captured in the raw user data and the dimension tables are descriptive data of columns in the fact table; and generate a configurable recommendation model by: processing the CDF to generate a set of features for building one or more machine learning models and one or more deep learning models, wherein the features comprise temporal features and non-temporal features; creating a feature dictionary for the one or more machine learning models, wherein the feature dictionary is an in-memory persistent store configured to store the set of features and values associated thereof; and ensembling the one or more machine learning models and the one or more deep learning models built using the generated set of features, to generate the configurable recommendation model.
In yet another aspect, there is provided a computer program product comprising a non-transitory computer readable medium having a computer readable program embodied therein, wherein the computer readable program, when executed on a computing device, causes the computing device to: receive, via a batch interface, raw user data associated with a plurality of users from a plurality of sources; merge the raw user data into a Common Data Format (CDF), wherein the CDF is a single file with records in the raw user data sorted on timestamp values associated thereof and viewed as a star schema of a fact table joined with dimension tables wherein the fact table pertains to user actions captured in the raw user data and the dimension tables are descriptive data of columns in the fact table; and generate a configurable recommendation model by: processing the CDF to generate a set of features for building one or more machine learning models and one or more deep learning models, wherein the features comprise temporal features and non-temporal features; creating a feature dictionary for the one or more machine learning models, wherein the feature dictionary is an in-memory persistent store configured to store the set of features and values associated thereof; and ensembling the one or more machine learning models and the one or more deep learning models built using the generated set of features, to generate the configurable recommendation model.
In an embodiment of the present disclosure, one of the one or more machine learning models is Extreme Gradient Boosting (XGBoost) and one of the one or more deep learning models is Long Short Term Memory (LSTM).
In an embodiment of the present disclosure, the one or more hardware processors are further configured to process the CDFs based on (i) a metafile1 structure that defines one or more functions to be executed on each of the columns of the CDF and generates a set of first level features for building the one or more deep learning models; and (ii) a metafile2 structure that defines one or more functions to be executed on each column of the feature dictionary for creating a second level of features in the form of one hot vectors used for building the one or more machine learning models.
In an embodiment of the present disclosure, the set of features are categorized as user level features, product level features and user-product level features and the temporal features and the non-temporal features are identified for each of the categorized levels
In an embodiment of the present disclosure, an inference based on the raw user data derived at time ‘t’ by the LSTM model is performed using a current hidden state h_t and a current memory state c_t of each cell constituting the LSTM model, wherein the current hidden state h_t and the current memory state c_t are trained with historical data until ‘t-1’ and stored in the feature dictionary for each user and fetched when generating an inference in response to a real time user action thereby reducing latency in inference time.
In an embodiment of the present disclosure, the one or more hardware processors are further configured to generate the recommendation in response to the real time user action using the generated configurable recommendation model by: receiving via a real time interface, the real time user action that needs to trigger the recommendation for a user; retrieving a current context associated with the real time user action; fetching real time features associated with the current context and corresponding to the one or more machine learning models and the one or more deep learning models; generating the one hot vectors as the in-memory store, for the one or more machine learning models and an input vector for the one or more deep learning models based on the fetched real time features; deriving an inference by each of the one or more machine learning models and the one or more deep learning models based on the generated one hot vectors and the input vector; ensembling the inference derived by each of the one or more machine learning models and the one or more deep learning models; and generating the recommendation using the ensembled inference based on the current context specific business goals and business optimization constraints.
In an embodiment of the present disclosure, the one or more hardware processors are further configured to dynamically update the feature dictionary with the current context associated with each of the real time features.
In an embodiment of the present disclosure, memory for the feature dictionary is allocated dynamically based on need and is indexed on an identifier associated with each user for faster access.
In an embodiment of the present disclosure, the one or more hardware processors are further configured to: monitor performance indicators including (i) accuracy of the configurable recommendation model based on the set of real time features and values thereof, for building the one or more machine learning models and the one or more deep learning models (ii) business objective performance based on the set of real time features and values thereof, the business goals, business optimization constraints and actual conversion of the generated recommendation corresponding to each real time user action and (iii) performance of a business to consumer (B2C) system using the configurable recommendation model based on throughput and recommendation latency; and initiate self-tuning by performing one or more of (i) regenerating the configurable recommendation model based on either regenerating or updating the set of features, (ii) updating the business optimization constraints and (iii) scaling out one or more nodes to improve throughput of the B2C system if the monitored performance indicators deviate from a pre-defined threshold.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the invention, as claimed.
BRIEF DESCRIPTION OF THE DRAWINGS
The accompanying drawings, which are incorporated in and constitute a part of this disclosure, illustrate exemplary embodiments and, together with the description, serve to explain the disclosed principles.
FIG.1 illustrates an exemplary block diagram of a system for real time configurable recommendation using user data, in accordance with an embodiment of the present disclosure.
FIG.2 illustrates a high level architecture of a part of the system of FIG.1 that generates a configurable recommendation model in accordance with an embodiment of the present disclosure.
FIG.3 illustrates a high level flow chart indicating the method for generating the configurable recommendation model of FIG.2 in accordance with an embodiment of the present disclosure.
FIG.4A through FIG.4E illustrate a high level flow chart indicating the application of the real configurable recommendation model of FIG.2 for feature engineering, modelling and ensemble learning in accordance with an embodiment of the present disclosure.
FIG.5 illustrates interfaces of the system of FIG.1 in accordance with an embodiment of the present disclosure.
FIG.6A through FIG.6D illustrate an exemplary flow diagram for a computer implemented method for real time configurable recommendation using user data, in accordance with an embodiment of the present disclosure.
FIG.7 illustrates an exemplary structure of a feature dictionary in accordance with an embodiment of the present disclosure.
FIG.8 illustrates a hierarchical representation of the feature dictionary of FIG.7 in accordance with an embodiment of the present disclosure.
FIG.9 illustrates processing at the interfaces and the various layers comprising the system of FIG.1 in accordance with an embodiment of the present disclosure.
FIG.10 and FIG.11 illustrate throughput comparison with increase in number of cores and data ingestion rate of PySpark+Mongo (PSM), Spark+Mongo+Python Web based Framework (SMP) and Ignite+ Python Web based Framework architecture technology stacks for Recommend and FeatureUpdate interfaces respectively.
FIG.12 illustrates self-tuning performed by the system of FIG.1 in accordance with an embodiment of the present disclosure.
FIG.13 illustrates performance in terms of throughput and average recommendation latency with increase in data ingestion rate for recommend interface of the system of FIG.1, in accordance with an embodiment of the present disclosure.
FIG.14 illustrates utilization of a stream processing layer of the system of FIG.1, in accordance with an embodiment of the present disclosure.
FIG.15 illustrates throughput of the system of FIG.1 for mix workload, in accordance with an embodiment of the present disclosure.
DETAILED DESCRIPTION OF EMBODIMENTS
Exemplary embodiments are described with reference to the accompanying drawings. In the figures, the left-most digit(s) of a reference number identifies the figure in which the reference number first appears. Wherever convenient, the same reference numbers are used throughout the drawings to refer to the same or like parts. While examples and features of disclosed principles are described herein, modifications, adaptations, and other implementations are possible without departing from the spirit and scope of the disclosed embodiments. It is intended that the following detailed description be considered as exemplary only, with the true scope and spirit being indicated by the following claims.
Data analytics has evolved from descriptive, diagnostic and predictive to prescriptive analytics for effective business operations. Prescriptive analytics refers to ‘what shall I do’ to engage customers in Business to Consumer (B2C) systems using recommendations and/or campaigns. Systems and methods of the present disclosure facilitate recommendations keeping business objectives in focus, thereby enabling a ‘right’ offer given to a customer at a ‘right’ time in an online setting while achieving the business objectives. An analytical (prediction) model is employed to predict a customer’s repeat probability using at least one of machine or deep learning techniques on transaction or action data, social feeds and data from other business channels that together represent ‘raw user data’ referred hereinafter in the description. Accordingly, raw user data may include both structured and unstructured data.
Systems of the present disclosure customize the analytic model for any B2C system such as Retail, Telecom, Hospitality, Banking and Insurance thereby providing a configurable system to support a variety of B2C scenarios. Meta-models are employed which define functions for creating business specific features on raw user data from business users. Further, to co-locate with B2C systems which process millions of transactions per second requiring low latency, the systems of the present disclosure support high throughput and very low latency for making recommendations with high accuracy.
Referring now to the drawings, and more particularly to FIG.1 through FIG.15 where similar reference characters denote corresponding features consistently throughout the figures, there are shown preferred embodiments and these embodiments are described in the context of the following exemplary system and/or method.
FIG.1 illustrates an exemplary block diagram of a system 100 for real time configurable recommendation using user data, in accordance with an embodiment of the present disclosure. In an embodiment, the system 100 includes one or more processors 104, communication interface device(s) or input/output (I/O) interface(s) 106, and one or more data storage devices or memory 102 operatively coupled to the one or more processors 104. The one or more processors 104 that are hardware processors 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) are configured to fetch and execute computer-readable instructions stored in the memory. In the context of the present disclosure, the expressions ‘processors’ and ‘hardware processors’ may be used interchangeably. In an embodiment, the system 100 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 I/O interface(s) 106 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 I/O interface(s) can include one or more ports for connecting a number of devices to one another or to another server.
The memory 102 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 modules (not shown) of the system 100 can be stored in the memory 102.
In accordance with the present disclosure, the system of FIG.1 solves an optimization problem for business objectives using an analytical model for predicting customer repeat probability and propensity to an offer before assigning the offer to the customer. In the context of the present disclosure, the expressions ‘offer’ and ‘recommendation’ may be used interchangeably hereinafter. Formally, the optimization problem may be defined as follows:
Given: Raw user data for C customers, business goal G targeting customers and business budget B for time period D
Minimize G-G_a while assigning N_f offers F_1,F_2,…..,F_(N_f ) to a set of C_f customers C_1,C_2,…..,C_(C_f ) at time T=D, where G_a is a business goal achieved at time T, (C_1,C_2,…..,C_(C_f ) )?C, Offer F_i assigned to customer C_k is of value V_i and cost C_(t_i )
Constraints ?_(i=0)^(i=N_f)¦C_(t_i )
Documents
Application Documents
#
Name
Date
1
201821035355-STATEMENT OF UNDERTAKING (FORM 3) [19-09-2018(online)].pdf
2018-09-19
2
201821035355-REQUEST FOR EXAMINATION (FORM-18) [19-09-2018(online)].pdf
2018-09-19
3
201821035355-FORM 18 [19-09-2018(online)].pdf
2018-09-19
4
201821035355-FORM 1 [19-09-2018(online)].pdf
2018-09-19
5
201821035355-FIGURE OF ABSTRACT [19-09-2018(online)].jpg