EP3323099A1 - Method for processing a recommendation request and recommendation engine - Google Patents

Method for processing a recommendation request and recommendation engine

Info

Publication number
EP3323099A1
EP3323099A1 EP15797387.6A EP15797387A EP3323099A1 EP 3323099 A1 EP3323099 A1 EP 3323099A1 EP 15797387 A EP15797387 A EP 15797387A EP 3323099 A1 EP3323099 A1 EP 3323099A1
Authority
EP
European Patent Office
Prior art keywords
user
ranking
items
rating server
internal
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.)
Ceased
Application number
EP15797387.6A
Other languages
German (de)
French (fr)
Inventor
Catherine NOHRA CHINA
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.)
B2cloud
Original Assignee
B2cloud
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 B2cloud filed Critical B2cloud
Publication of EP3323099A1 publication Critical patent/EP3323099A1/en
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0282Rating or review of business operators or products
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising

Definitions

  • the field of this invention is that of recommendation engines.
  • the invention relates to a method for processing a recommendation request.
  • Recommendation engines are real time information filtering systems that aim at automatically identifying items/contents which could interest users, for example as a function of their past choices.
  • (B2C) context for example to increase sales of electronic commerce platforms.
  • the most important feature of recommendation engines is reactivity, i.e. the promptness of the system for taking into account, user preferences, interactions with the system, etc.
  • Such user-centric recommendation system is referred to as “memory- based", because the ratings database is persistently maintained so as to be used directly for generate recommendations towards active users.
  • model-based i.e. item-centric
  • data are pre-treated offline.
  • le “learnt” model is used for predictions.
  • B2B Business-to-Business
  • the engine should maximize the quality, the trustworthiness and the transparency of recommendations over the reactivity. Moreover, the engine should assure a good resilience against noise, corrupted data and spam.
  • the present invention provides a method for processing recommendation request from a user of an equipment connected to a recommendation platform through a public network, the recommendation platform being also connected through a secured network to at least one item server referencing a plurality of items and to at least one internal rating server, the recommendation platform being also connected through the public network to at least one external rating server, the platform comprising a storage unit storing a preference profile of said user, and a processing unit,
  • the method being characterized in that it comprises performing by the processing unit steps of: (a) receiving from the equipment the recommendation request, comprising at least one attribute of a requested item, an identifier of the user and a time length;
  • step (c) comprising calculating a plurality of rankings and aggregating these rankings
  • each of the ranking is associated with a weight representing a trust level of the ranking or of the providing internal or external rating server;
  • each weight is provided by the internal or external rating server associated with the ranking of the weight
  • ⁇ step (d) comprises measuring by the processing unit the precision and/or the recall of a ranking, and dynamically updating the associated weight accordingly to said measurement.
  • calculating a ranking associated with an internal or external rating server comprises determining scores of items of the selected subset from rating data; • determining scores of items of the selected subset from data published by an external rating server (5) comprises verifying said data, so as to discard data identified as fake or corrupted;
  • step (d) consists of iteratively calculating a plurality of successive rankings, each successive ranking being calculated as a function of at least the previous ranking, the preference profile of the user and scores provided by said internal and external rating servers;
  • • calculating ranking also comprises aggregating a plurality of plurality of rankings into the current ranking.
  • the invention provides a recommendation platform connected through a public network to at least one equipment and at least one external rating server, and also connected through a secured network to at least one item server referencing a plurality of items and to at least one internal rating server, the platform comprising a storage unit storing at least the user of equipment of said user and a processing unit, characterized in that the processing unit is configured to perform:
  • reception module for receiving a recommendation request from the equipment, the request comprising at least one attribute of a requested item, an identifier of the user and a time length;
  • a selection module selecting a subset of the items referenced by the item servers matching said attribute and the preference profile of the user;
  • a determination module determining an initial ranking of the items of said subset as a function of the preference profile of the user and scores provided by said internal rating server and said external rating server;
  • an update module dynamically updating said initial ranking so as to take into account the evolution of the preference profile of the user and of the scores provided by said internal rating server and said external rating server);
  • the invention proposes a system comprising a recommendation platform according to the second aspect and at least one equipment.
  • FIG. 1 represents a system for performing the method according to the invention
  • FIG. 2 is a diagram representing steps of the method according to the invention.
  • the present method aims at providing a user with a "recommendation report" from a recommendation request, i.e. providing the user with a list of items which can fit a need of the user expressed through the search request.
  • the present "items" may be goods, products, multimedia contents, services, and generally anything that could be solution to a user's problem.
  • the present method is performed by a platform 2, implementing a recommendation engine.
  • the platform 2 comprises a processing unit 21 (for example a processor, on any other data processing means) and a storage unit 22 (a memory, typically a hard drive) storing among others a database of preference profiles of users.
  • a processing unit 21 for example a processor, on any other data processing means
  • a storage unit 22 a memory, typically a hard drive
  • the platform 2 is connected to numerous equipment and servers through a secured network 20 (in particular a Virtual Private Network, VPN), which is preferably under Internet Protocol, within a public IP network 10
  • a secured network 20 in particular a Virtual Private Network, VPN
  • VPN Virtual Private Network
  • each user uses an equipment 1 , typically a personal workstation, a smartphone or a tablet.
  • Each equipment 1 comprises its own processing unit, a Human-computer interface, HCI (typically a screen, a keyboard, a mouse, etc.), and is connected to the platform 2 through the network 10.
  • HCI Human-computer interface
  • the user is invited to create an account and to fill a search preference profile using said HCI.
  • This interface also enables the user to generate a recommendation request (see later) and to be delivered the results (said recommendation report).
  • the preference profile may for example included relevancy preferred scores, response time preferences, type of external rates, internal rates from expert knowledge bases, etc.
  • At least one item server 3 At least one internal rating server 4, also called knowledge server (both are local servers connected to the platform 2 through the secured local network 20), and at least one external rating server 5.
  • at least one item server 3 At least one internal rating server 4, also called knowledge server (both are local servers connected to the platform 2 through the secured local network 20), and at least one external rating server 5.
  • the item servers 3 are local servers each referencing a plurality of items which could possibly suits the user, i.e. candidate items. They include a data quality base of the items. Among them, there are "eligible items” i.e. potentially matching items, as it will be explained later.
  • the item servers 3 are typically presenting products or services.
  • Each candidate item is defined by a plurality of attributes enabling to compare the items together.
  • the recommendation report presents a (ranked) subset of these candidate items so as to respond to a search request generated by a user requesting items.
  • Each of the internal rating servers 4 and external rating servers 5 is a source of data from which a ranking of the eligible items can be determined. More precisely, these internal and external servers 4, 5 are respectively local and remote third-party servers providing various ratings/scorings/rankings of some of the referenced items.
  • the servers 5 might be those of consumers' forums, experts' websites, social networks, etc. It is to be noted that an item server 3 can act as an internal rating server 4.
  • the processing unit 21 consequently processes numerous and heterogeneous sources to calculate different rankings of eligible items.
  • these sources are generally classified into four groups:
  • S1 Eligible content database (i.e. data from item servers 3) and preference profiles;
  • S2 Various rating, scoring and performance key indicators (from external rating servers 5);
  • S3 Expert's knowledge and rating (from internal rating servers 4)
  • S4 User's feedback and user's interactions (from internal rating servers 4 and external rating server 5 such as a social network).
  • a ranking may be determined by group of sources (i.e. a ranking by set S1 , S2, etc.), and/or by source (i.e. each internal or external ranking server 4, 5).
  • scores may be directly provided by servers 4 and 5, or deduced by the platform 2 from data published by each of these servers.
  • the platform 2 may use tools which are able to extract from the servers 4 and 5 the rating data. For example, these tools may perform text analysis so as to read comments and identify drawback or advantages of items, and from this they may elaborate a score.
  • a first step (a) the user first generates a recommendation request, and transmits it to the platform 2.
  • the recommendation request defines a need expressed by the user, in particular in natural language.
  • the search request may be expressed as directly defining one or more features of a requested item (filtering).
  • the search request shall comprise at least one attribute of the item requested by the user.
  • the search request comprises a time length, i.e. the duration of a time period.
  • the present recommendation method defines a "dynamic session" with a predefined length, for example a week.
  • This time length is chosen by the user, along with the attributes of the item he wishes to find.
  • this time length defines the duration the platform 2 has at disposal for providing the recommendation report.
  • the processing unit 21s of the platform 2 processes data during this time length so as to refine the results and make them more accurate.
  • the quality of the results is preferred over the reactivity, and this time length is accepted by the user. Moreover, the user can arbitrate between reactivity and quality by changing the time length: the longer the duration, the higher the quality.
  • the processing unit 21 selects a subset of the items referenced by the item servers 3 matching said attribute and the preference profile of the user, i.e. identifying the eligible items among the candidate items.
  • This step consists in particular in a filtering, wherein items which are obviously not suitable for user are discarded.
  • the platform 2 applies predetermined eligibility rules to identity the eligible items.
  • a third step (c) the processing unit 21 determines an initial ranking of the items of said subset as a function of the preference profile of the user and scores provided by said internal rating server 4 and external rating server 5.
  • ranking it is meant a sorting of the eligible items: from the highest score (i.e. the item is the most recommended to the user) to the lowest score (i.e. the item is the least recommended to the user).
  • This initial ranking is a first ranking, immediately available if the user wants, but not the optimal one.
  • This ranking may be obtained by known ranking algorithms.
  • rating data from internal sources preference profile, knowledge base
  • external sources external rating servers, users feedback
  • a "supervised ensemble-ranking" method may be applied to merge the different obtained rankings.
  • the processing unit 21 of the platform 2 processes different rankings defined on the same set of items, and computes a ranking with least possible disagreement with each of input rankings.
  • R ⁇ R1 Rn ⁇ a set of n different rankings defined over the same set of items (i.e Ri are permutations defined over the set of items).
  • An ensemble ranking method computes a new permutation R* out of the set R such as:
  • R * argmin ⁇ M d ⁇ R*,Ri) .
  • d is a distance function defined over rankings.
  • Each used source S1 , S2, S3, S4 (or each internal or external rating server 4, 5) processed by the processing unit 21 of the platform 2 could thus be associated with a weight representing the trust value of the ranking provided by that source (and more generally the trust level of the source).
  • the weight of each source is advantageously updated, preferably in function of its induced precision and recall.
  • This monitoring process allows detecting spammed or ill-performing ranking sources (ex. fake external ratings).
  • the fact of using a weighted ensemble-ranking method allows the system to be less sensitive to errors induced by few rankings sources. This enables also to avoid the "cold start” phenomenon since initial rankings can always be calculated with enough workable data from the knowledge base source.
  • the present method gives the ability to always adjust the weight of various data sources and ranking, according to their completeness and to strengthen the engine scalability and reliability
  • an external rating is preferably further checked by the processing unit 21 so as identity fake users and pseudo-ratings. Suspicious external ratings are not taken into account for calculating a ranking.
  • the initial ranking is dynamically updated, in other words successive rankings are calculated.
  • the ranking evolves through iterations taking into account evolutions of the items specifications (as provided by items servers 3), evolutions of the user preference profile, evolutions of internal rating servers 4 and external rating servers 5 (sources can be added or removed), and evolutions of the data from these sources.
  • weights associated with sources can vary over time.
  • the step (d) advantageously comprises dynamically updating the weights and consequently dynamically updating the plurality of rankings to aggregate.
  • the "up-to-date” ranking is therefore calculated according to previously calculated rankings, the preference profile of the user and scores provided by said internal rating servers 4 and external rating servers 5. More precisely, this is not a simple recalculation of the ranking, but an iterative calculation of it, depending from previous values.
  • the ranking slowly "converges" towards an optimum.
  • the formulas and rules used to calculate the ranking are first predetermined according to a model, an then inferred by automatic learning, so as to not limit it and gradually improve its quality.
  • the recalculation of a ranking may be either periodically performed, or at each evolution of the data quality base.
  • the processing unit 21 interrupts the calculation of the ranking and prepared said recommendation report. More precisely, it transmits as "final ranking" the current ranking to the equipment 1 , for outputting.
  • the final ranking may be accompanied with synthesis and/or graphical representation of the recommendation data. Should the user not satisfied of the result, the session may be prolonged by a new time length. It is to be noted that at any moment before the end of the given time period, the user may requests interrupting the updating, and the current ranking become the final ranking, even if such ranking could have been further refined.
  • the final report is transmitted to the user as a message, such as an e-mail, a SMS (Short message service etc.).
  • "updated reports” may be transmitted to the user if he wished to.
  • Such reports are notifications sent to the equipment 1 containing a current ranking. For example, it may be decided that at each time the ranking changes (i.e. if at least one item has its rank modified after an update), then a report is transmitted to the user for notifying it. Therefore, the user is aware of the gradual improvement of the recommendation he has requested.
  • the invention proposes the platform 2 for performing the method according to the first aspect.
  • said recommendation platform 2 is connected through a secured network 20 to at least one item server 3 referencing a plurality of items, and to at least one internal rating server 4. Said recommendation platform 2 is also connected to at least one equipment 1 and to at least one external rating server 5 through a public network 10.
  • the platform 2 comprises a storage unit 22 storing a preference profile of at least the user of equipment 1 and a processing unit 21
  • the processing unit 21 is configured to perform:
  • reception module for receiving a recommendation request from the equipment 1 , the request comprising at least one attribute of a requested item, an identifier of the user and a time length;
  • a selection module selecting a subset of the items referenced by the item servers 3 matching said attribute and the preference profile of the user;
  • a determination module determining an initial ranking of the items of said subset as a function of the preference profile of the user and scores provided by said internal rating server 4 and/or external rating server 5;
  • a transmission module transmitting the current ranking as a final ranking to the equipment 1 when said time limit is over or when the user requests interrupting the updating.
  • the processing means may also perform as explained a supervision module monitoring the weight of sources/rankings.

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • Development Economics (AREA)
  • Strategic Management (AREA)
  • Finance (AREA)
  • Game Theory and Decision Science (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

The present invention relates to a method for processing a recommendation request from a user of an equipment (1) connected to a recommendation platform (2) also connected to at least one item server (3) referencing a plurality of items, to at least one internal rating server (4), and to at least one external rating server (5), the platform (2) comprising a storage unit (22) storing a preference profile of said user, and a processing unit (21), The method being characterized in that it comprises performing by the processing unit (21) steps of: (a) receiving from the equipment (1 ) the recommendation request, comprising at least one attribute of a requested item, an identifier of the user and a time length; (b) selecting a subset of the items referenced by the item servers (3) matching said attribute and the preference profile of the user; (c) determining an initial ranking of the items of said subset as a function of the preference profile of the user and scores provided by said internal rating server (4) and said external rating server (5); (d) dynamically updating said initial ranking; (e) when said time limit is over or when the user requests interrupting the updating, transmitting the current ranking as a final ranking to the equipment (1). The present invention also relates to a system for carrying out said method.

Description

Method for processing a recommendation request and recommendation engine
FIELD OF THE INVENTION
The field of this invention is that of recommendation engines.
More precisely, the invention relates to a method for processing a recommendation request. BACKGROUND OF THE INVENTION
Recommendation engines are real time information filtering systems that aim at automatically identifying items/contents which could interest users, for example as a function of their past choices.
Such systems are in particular used in "Business-to-Consumer"
(B2C) context, for example to increase sales of electronic commerce platforms.
Known recommendation engines therefore propose to:
- Predicting a score of the user for a given item;
- Ranking items so as to compare them.
In such B2C context, the most important feature of recommendation engines is reactivity, i.e. the promptness of the system for taking into account, user preferences, interactions with the system, etc.
Such user-centric recommendation system is referred to as "memory- based", because the ratings database is persistently maintained so as to be used directly for generate recommendations towards active users. By contrast, in a "model-based" system, i.e. item-centric, data are pre-treated offline. When the service is executed by a user, le "learnt" model is used for predictions. However in a "Business-to-Business" (B2B) context, in which the addressee of recommendations is not a consumer, the requirements are quite different.
In particular, the engine should maximize the quality, the trustworthiness and the transparency of recommendations over the reactivity. Moreover, the engine should assure a good resilience against noise, corrupted data and spam.
Known B2B engines are for example described in the European patent applications EP2466496 or EP1014282.
However, known engines still require improving the quality or the reliability of their results (over the reactivity), and suffer from a phenomenon called "cold start": these engines need a huge quantity of data for starting being performant. Moreover, when only a few items have been rated by users, the known recommendation engines are likely to use pseudo-rating or default votes on available items, which may generate mistrust.
Consequently, there is a strong need for an improved recommendation engine which overcomes these drawbacks.
SUMMARY OF THE INVENTION
For these purposes, the present invention provides a method for processing recommendation request from a user of an equipment connected to a recommendation platform through a public network, the recommendation platform being also connected through a secured network to at least one item server referencing a plurality of items and to at least one internal rating server, the recommendation platform being also connected through the public network to at least one external rating server, the platform comprising a storage unit storing a preference profile of said user, and a processing unit,
The method being characterized in that it comprises performing by the processing unit steps of: (a) receiving from the equipment the recommendation request, comprising at least one attribute of a requested item, an identifier of the user and a time length;
(b) selecting a subset of the items referenced by the item servers matching said attribute and the preference profile of the user;
(c) determining an initial ranking of the items of said subset as a function of the preference profile of the user and scores provided by said internal rating server and said external rating server;
(d) dynamically updating said initial ranking so as to take into account the evolution of the preference profile of the user and of the scores provided by said internal rating server (4) and said external rating server (5);
(e) when said time limit is over or when the user requests interrupting the updating, transmitting the current ranking as a final ranking to the equipment.
Preferred but non limiting features of the present invention are as follow:
• a plurality of internal and external rating servers is involved, step (c) comprising calculating a plurality of rankings and aggregating these rankings
• each of the ranking is associated with a weight representing a trust level of the ranking or of the providing internal or external rating server;
• each weight is provided by the internal or external rating server associated with the ranking of the weight;
· step (d) comprises measuring by the processing unit the precision and/or the recall of a ranking, and dynamically updating the associated weight accordingly to said measurement.
• calculating a ranking associated with an internal or external rating server comprises determining scores of items of the selected subset from rating data; • determining scores of items of the selected subset from data published by an external rating server (5) comprises verifying said data, so as to discard data identified as fake or corrupted;
• step (d) consists of iteratively calculating a plurality of successive rankings, each successive ranking being calculated as a function of at least the previous ranking, the preference profile of the user and scores provided by said internal and external rating servers;
• calculating ranking also comprises aggregating a plurality of plurality of rankings into the current ranking.
In a second aspect, the invention provides a recommendation platform connected through a public network to at least one equipment and at least one external rating server, and also connected through a secured network to at least one item server referencing a plurality of items and to at least one internal rating server, the platform comprising a storage unit storing at least the user of equipment of said user and a processing unit, characterized in that the processing unit is configured to perform:
- a reception module for receiving a recommendation request from the equipment, the request comprising at least one attribute of a requested item, an identifier of the user and a time length;
- a selection module selecting a subset of the items referenced by the item servers matching said attribute and the preference profile of the user;
- a determination module determining an initial ranking of the items of said subset as a function of the preference profile of the user and scores provided by said internal rating server and said external rating server;
- an update module dynamically updating said initial ranking so as to take into account the evolution of the preference profile of the user and of the scores provided by said internal rating server and said external rating server);
- a transmission module transmitting the current ranking as a final ranking to the equipment when said time limit is over or when the user requests interrupting the updating. According to a third aspect, the invention proposes a system comprising a recommendation platform according to the second aspect and at least one equipment.
BRIEF DESCRIPTION OF THE DRAWINGS
The above and other objects, features and advantages of this invention will be apparent in the following detailed description of an illustrative embodiment thereof, with is to be read in connection with the accompanying drawings wherein:
- Figure 1 represents a system for performing the method according to the invention;
- Figure 2 is a diagram representing steps of the method according to the invention.
DETAILED DESCRIPTION OF A PREFERRED EMBODIMENT
Referring to the drawings, a method according to a possible embodiment of the invention will now be described.
System overview
The present method aims at providing a user with a "recommendation report" from a recommendation request, i.e. providing the user with a list of items which can fit a need of the user expressed through the search request. The present "items" may be goods, products, multimedia contents, services, and generally anything that could be solution to a user's problem.
As depicted by figure 1 , the present method is performed by a platform 2, implementing a recommendation engine. The platform 2 comprises a processing unit 21 (for example a processor, on any other data processing means) and a storage unit 22 (a memory, typically a hard drive) storing among others a database of preference profiles of users.
The platform 2 is connected to numerous equipment and servers through a secured network 20 (in particular a Virtual Private Network, VPN), which is preferably under Internet Protocol, within a public IP network 10
In particular, each user uses an equipment 1 , typically a personal workstation, a smartphone or a tablet. Each equipment 1 comprises its own processing unit, a Human-computer interface, HCI (typically a screen, a keyboard, a mouse, etc.), and is connected to the platform 2 through the network 10.
At its first connection to the platform 2, the user is invited to create an account and to fill a search preference profile using said HCI. This interface also enables the user to generate a recommendation request (see later) and to be delivered the results (said recommendation report). The preference profile may for example included relevancy preferred scores, response time preferences, type of external rates, internal rates from expert knowledge bases, etc.
Are further connected to the platform 2 at least one item server 3, at least one internal rating server 4, also called knowledge server (both are local servers connected to the platform 2 through the secured local network 20), and at least one external rating server 5.
The item servers 3 are local servers each referencing a plurality of items which could possibly suits the user, i.e. candidate items. They include a data quality base of the items. Among them, there are "eligible items" i.e. potentially matching items, as it will be explained later. The item servers 3 are typically presenting products or services.
Each candidate item is defined by a plurality of attributes enabling to compare the items together. In particular, the recommendation report presents a (ranked) subset of these candidate items so as to respond to a search request generated by a user requesting items.
Each of the internal rating servers 4 and external rating servers 5 is a source of data from which a ranking of the eligible items can be determined. More precisely, these internal and external servers 4, 5 are respectively local and remote third-party servers providing various ratings/scorings/rankings of some of the referenced items. The servers 5 might be those of consumers' forums, experts' websites, social networks, etc. It is to be noted that an item server 3 can act as an internal rating server 4.
The processing unit 21 consequently processes numerous and heterogeneous sources to calculate different rankings of eligible items. Advantageously, these sources are generally classified into four groups:
S1 = Eligible content database (i.e. data from item servers 3) and preference profiles;
S2= Various rating, scoring and performance key indicators (from external rating servers 5);
S3= Expert's knowledge and rating (from internal rating servers 4) S4= User's feedback and user's interactions (from internal rating servers 4 and external rating server 5 such as a social network).
In particular, a ranking may be determined by group of sources (i.e. a ranking by set S1 , S2, etc.), and/or by source (i.e. each internal or external ranking server 4, 5).
It is to be noted that scores may be directly provided by servers 4 and 5, or deduced by the platform 2 from data published by each of these servers. To this end, the platform 2 may use tools which are able to extract from the servers 4 and 5 the rating data. For example, these tools may perform text analysis so as to read comments and identify drawback or advantages of items, and from this they may elaborate a score.
As it will be explained, it is preferable to have numerous and heterogeneous internal/external rating sources, so as to lower the impact of spam, noise or corrupted data, and improve the robustness of the system. Method
The steps of the present method are represented by figure 2. In a first step (a), the user first generates a recommendation request, and transmits it to the platform 2.
The recommendation request defines a need expressed by the user, in particular in natural language. Alternatively, the search request may be expressed as directly defining one or more features of a requested item (filtering). In any case, the search request shall comprise at least one attribute of the item requested by the user. Furthermore, the search request comprises a time length, i.e. the duration of a time period.
Indeed, as it will be explained, the present recommendation method defines a "dynamic session" with a predefined length, for example a week. This time length is chosen by the user, along with the attributes of the item he wishes to find. As it will be explained, this time length defines the duration the platform 2 has at disposal for providing the recommendation report. In other words, the processing unit 21s of the platform 2 processes data during this time length so as to refine the results and make them more accurate.
As we are in a B2B context, the quality of the results is preferred over the reactivity, and this time length is accepted by the user. Moreover, the user can arbitrate between reactivity and quality by changing the time length: the longer the duration, the higher the quality. Subset of items
In a further step (b), the processing unit 21 selects a subset of the items referenced by the item servers 3 matching said attribute and the preference profile of the user, i.e. identifying the eligible items among the candidate items. This step consists in particular in a filtering, wherein items which are obviously not suitable for user are discarded. Advantageously, the platform 2 applies predetermined eligibility rules to identity the eligible items.
Initial and successive rankings
In a third step (c), the processing unit 21 determines an initial ranking of the items of said subset as a function of the preference profile of the user and scores provided by said internal rating server 4 and external rating server 5. By ranking it is meant a sorting of the eligible items: from the highest score (i.e. the item is the most recommended to the user) to the lowest score (i.e. the item is the least recommended to the user).
This initial ranking is a first ranking, immediately available if the user wants, but not the optimal one. This ranking may be obtained by known ranking algorithms.
In particular, rating data from internal sources (preference profile, knowledge base) and external sources (external rating servers, users feedback) are preferably aggregated.
For example, a "supervised ensemble-ranking" method may be applied to merge the different obtained rankings. By using an aggregation ranking method, the processing unit 21 of the platform 2 processes different rankings defined on the same set of items, and computes a ranking with least possible disagreement with each of input rankings.
Let R = {R1 Rn} a set of n different rankings defined over the same set of items (i.e Ri are permutations defined over the set of items). An ensemble ranking method computes a new permutation R* out of the set R such as:
R* = argmin ^M d{R*,Ri) .
Where d is a distance function defined over rankings. A Kendal-tau distance measure may be used as follows: d(R1 ,R2) = I (x,y) s.t. R1 (x) < R1 (y) and R2(x)>R2(y)|
Each used source S1 , S2, S3, S4 (or each internal or external rating server 4, 5) processed by the processing unit 21 of the platform 2 could thus be associated with a weight representing the trust value of the ranking provided by that source (and more generally the trust level of the source).
Then is applied a weighted ensemble-ranking method. Initially, all sources are assigned with equal weights (or weights provided by the servers 4, 5). Periodically, the precision and the recall of rankings provided by each source are measured for a batch of recent requests. Precision (respectively recall) is given by the ratio of true positive over the sum of true positive and false positive (respectively False negative).The size of the batch and the period of update are automatically set up by the processing unit 21 .
The weight of each source is advantageously updated, preferably in function of its induced precision and recall. This monitoring process allows detecting spammed or ill-performing ranking sources (ex. fake external ratings). The fact of using a weighted ensemble-ranking method allows the system to be less sensitive to errors induced by few rankings sources. This enables also to avoid the "cold start" phenomenon since initial rankings can always be calculated with enough workable data from the knowledge base source.
Furthermore, the present method gives the ability to always adjust the weight of various data sources and ranking, according to their completeness and to strengthen the engine scalability and reliability
It is to be noted that an external rating is preferably further checked by the processing unit 21 so as identity fake users and pseudo-ratings. Suspicious external ratings are not taken into account for calculating a ranking.
As already explained, the ranking with be refined during the inputted time length. To this end, in a step (d) the initial ranking is dynamically updated, in other words successive rankings are calculated. ] 1
More precisely, the ranking evolves through iterations taking into account evolutions of the items specifications (as provided by items servers 3), evolutions of the user preference profile, evolutions of internal rating servers 4 and external rating servers 5 (sources can be added or removed), and evolutions of the data from these sources. In particular, as explained weights associated with sources can vary over time. More precisely, the step (d) advantageously comprises dynamically updating the weights and consequently dynamically updating the plurality of rankings to aggregate.
The "up-to-date" ranking is therefore calculated according to previously calculated rankings, the preference profile of the user and scores provided by said internal rating servers 4 and external rating servers 5. More precisely, this is not a simple recalculation of the ranking, but an iterative calculation of it, depending from previous values.
For example, sources which appear to be biased (lots of fake data, high variability of ratings) will have a limited impact on further ranking calculations. To this end, their weight in the fusion is lowered.
Therefore, the ranking slowly "converges" towards an optimum. Advantageously, the formulas and rules used to calculate the ranking are first predetermined according to a model, an then inferred by automatic learning, so as to not limit it and gradually improve its quality.
The recalculation of a ranking may be either periodically performed, or at each evolution of the data quality base.
Recommendation reports
When said time limit is over, the processing unit 21 interrupts the calculation of the ranking and prepared said recommendation report. More precisely, it transmits as "final ranking" the current ranking to the equipment 1 , for outputting. The final ranking may be accompanied with synthesis and/or graphical representation of the recommendation data. Should the user not satisfied of the result, the session may be prolonged by a new time length. It is to be noted that at any moment before the end of the given time period, the user may requests interrupting the updating, and the current ranking become the final ranking, even if such ranking could have been further refined.
In any case, the final report is transmitted to the user as a message, such as an e-mail, a SMS (Short message service etc.).
During the whole proceeding (i.e. before the expiration of the time period) "updated reports" may be transmitted to the user if he wished to. Such reports are notifications sent to the equipment 1 containing a current ranking. For example, it may be decided that at each time the ranking changes (i.e. if at least one item has its rank modified after an update), then a report is transmitted to the user for notifying it. Therefore, the user is aware of the gradual improvement of the recommendation he has requested.
Platform and system
According to a second aspect, the invention proposes the platform 2 for performing the method according to the first aspect.
As explained, said recommendation platform 2 is connected through a secured network 20 to at least one item server 3 referencing a plurality of items, and to at least one internal rating server 4. Said recommendation platform 2 is also connected to at least one equipment 1 and to at least one external rating server 5 through a public network 10.
The platform 2 comprises a storage unit 22 storing a preference profile of at least the user of equipment 1 and a processing unit 21
The processing unit 21 is configured to perform:
- a reception module for receiving a recommendation request from the equipment 1 , the request comprising at least one attribute of a requested item, an identifier of the user and a time length;
- a selection module selecting a subset of the items referenced by the item servers 3 matching said attribute and the preference profile of the user; - a determination module determining an initial ranking of the items of said subset as a function of the preference profile of the user and scores provided by said internal rating server 4 and/or external rating server 5;
- an update module dynamically updating said initial ranking;
- a transmission module transmitting the current ranking as a final ranking to the equipment 1 when said time limit is over or when the user requests interrupting the updating.
In case of a plurality of rankings aggregated, the processing means may also perform as explained a supervision module monitoring the weight of sources/rankings.

Claims

1. A method for processing a recommendation request from a user of an equipment (1 ) connected to a recommendation platform
(2) through a public network (10), the recommendation platform (2) being also connected through a secured network (20) to at least one item server
(3) referencing a plurality of items and to at least one internal rating server
(4) , the recommendation platform (2) being also connected through a public network (10) to at least one external rating server (5), the platform (2) comprising a storage unit (22) storing a preference profile of said user, and a processing unit (21 ),
The method being characterized in that it comprises performing by the processing unit (21 ) steps of:
(a) receiving from the equipment (1 ) the recommendation request, comprising at least one attribute of a requested item, an identifier of the user and a time length;
(b) selecting a subset of the items referenced by the item servers (3) matching said attribute and the preference profile of the user;
(c) determining an initial ranking of the items of said subset as a function of the preference profile of the user and scores provided by said internal rating server (4) or said external rating server (5);
(d) dynamically updating said initial ranking so as to take into account the evolution of the preference profile of the user and of the scores provided by said internal rating server (4) and said external rating server (5);
(e) when said time limit is over or when the user requests interrupting the updating, transmitting the current ranking as a final ranking to the equipment (1 ).
2. A method according to claim 1 , wherein a plurality of internal and external rating servers (4, 5) is involved, step (c) comprising calculating a plurality of rankings and aggregating these rankings.
3. A method according to claim 2, wherein each of the aggregated rankings is associated with a weight representing a trust level of the ranking.
4. A method according to claim 3, wherein each weight is provided by the internal of external rating server (4, 5) associated with the ranking of the weight.
5. A method according to any one of claims 3 and 4, wherein step (d) comprises measuring by the processing unit (21 ) the precision and/or the recall of a ranking, and dynamically updating the associated weight accordingly to said measurement.
6. A method according to any one of claims 2 to 5, wherein calculating a ranking associated with an internal or external rating server (4, 5) comprises determining scores of items of the selected subset from rating data.
7. A method according to claim 6, wherein determining scores of items of the selected subset from rating data published by an external rating server (5) comprises verifying said data, so as to discard data identified as fake or corrupted.
8. A method according to any one of claims 1 to 7, wherein step (d) consists of iteratively calculating a plurality of successive rankings, each successive ranking being calculated as a function of at least the previous ranking, the preference profile of the user and scores provided by said internal and external rating servers (4, 5).
9. A method according to claim 8 in combination with one of claims 2 to 7, wherein calculating a ranking also comprise aggregating a plurality of rankings into the current ranking.
10. A recommendation platform (2) connected through a public network (10) to at least one equipment (1 ) and at least one external rating server (5), and also connected through a secured network (20) to at least one item server (3) referencing a plurality of items and to at least one internal rating server (4), the platform (2) comprising a storage unit (22) storing at least the user of equipment (1 ) of said user and a processing unit (21 ),
characterized in that the processing unit (21 ) is configured to perform:
- a reception module for receiving a recommendation request from the equipment (1 ), the request comprising at least one attribute of a requested item, an identifier of the user and a time length;
- a selection module selecting a subset of the items referenced by the item servers (3) matching said attribute and the preference profile of the user;
- a determination module determining an initial ranking of the items of said subset as a function of the preference profile of the user and scores provided by said internal rating server (4) and said external rating server (5);
- an update module dynamically updating said initial ranking so as to take into account the evolution of the preference profile of the user and of the scores provided by said internal rating server (4) and said external rating server (5);
- a transmission module transmitting the current ranking as a final ranking to the equipment (1 ) when said time limit is over or when the user requests interrupting the updating.
11. A system comprising a recommendation platform (2) according to claim 10 and at least one equipment (1 ).
EP15797387.6A 2015-07-16 2015-07-16 Method for processing a recommendation request and recommendation engine Ceased EP3323099A1 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/IB2015/001818 WO2017009683A1 (en) 2015-07-16 2015-07-16 Method for processing a recommendation request and recommendation engine

Publications (1)

Publication Number Publication Date
EP3323099A1 true EP3323099A1 (en) 2018-05-23

Family

ID=54601824

Family Applications (1)

Application Number Title Priority Date Filing Date
EP15797387.6A Ceased EP3323099A1 (en) 2015-07-16 2015-07-16 Method for processing a recommendation request and recommendation engine

Country Status (3)

Country Link
EP (1) EP3323099A1 (en)
CN (1) CN107851263B (en)
WO (1) WO2017009683A1 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109104471A (en) * 2018-07-26 2018-12-28 新疆玖富万卡信息技术有限公司 A kind of method of recommendation service, management server and recommendation server
CN110889747B (en) * 2019-12-02 2023-05-09 腾讯科技(深圳)有限公司 Commodity recommendation method, device, system, computer equipment and storage medium
CN110968622B (en) * 2019-12-20 2024-04-02 同济大学 Accounting report customization method, platform and terminal

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6434546B1 (en) 1998-12-22 2002-08-13 Xerox Corporation System and method for transferring attribute values between search queries in an information retrieval system
US20030013433A1 (en) * 2001-07-10 2003-01-16 Koninklijke Philips Electronics N.V. Recommender system with user-selectable input limiting factors and output ripeness indicator
US6795793B2 (en) * 2002-07-19 2004-09-21 Med-Ed Innovations, Inc. Method and apparatus for evaluating data and implementing training based on the evaluation of the data
US20110289088A1 (en) * 2010-05-19 2011-11-24 Frank N. Magid Associates, Inc. System and method for ranking content interest
CN101957847B (en) * 2010-09-21 2011-11-23 百度在线网络技术(北京)有限公司 Searching system and implementation method thereof
FR2969338A1 (en) 2010-12-20 2012-06-22 France Telecom DATA ENRICHMENT METHOD AND TERMINAL
US20140025609A1 (en) * 2011-04-05 2014-01-23 Telefonaktiebolaget L M Ericsson (Publ) Methods and Arrangements For Creating Customized Recommendations
EP2751760A1 (en) * 2011-10-13 2014-07-09 Koninklijke Philips N.V. Automatic generation of rating requests from a recommender system
CN103294692B (en) * 2012-02-24 2017-10-17 北京搜狗信息服务有限公司 A kind of information recommendation method and system
EP2645324A1 (en) * 2012-03-30 2013-10-02 Sony Corporation Method for recommending items and recommendation system
CN103714084B (en) * 2012-10-08 2018-04-03 腾讯科技(深圳)有限公司 The method and apparatus of recommendation information
CN103810626A (en) * 2012-11-13 2014-05-21 姚德明 Method for online shopping and online shopping intermediary
US20150127660A1 (en) * 2013-11-04 2015-05-07 Here Global B.V. Method and apparatus for calculating ranks and trust levels for data sources
CN104463630B (en) * 2014-12-11 2015-08-26 新一站保险代理有限公司 A kind of Products Show method and system based on net purchase insurance products characteristic

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
None *
See also references of WO2017009683A1 *

Also Published As

Publication number Publication date
CN107851263A (en) 2018-03-27
CN107851263B (en) 2022-07-15
WO2017009683A1 (en) 2017-01-19

Similar Documents

Publication Publication Date Title
US9524336B1 (en) Search query auto-completions based on social graph
JP5432243B2 (en) Send and react to media object queries
US11934474B2 (en) Selective presentation of content types and sources in search
US11188545B2 (en) Automated measurement of content quality
US20090327054A1 (en) Personal reputation system based on social networking
US20140108282A1 (en) Adaptive rating system and method
US20130124437A1 (en) Social media user recommendation system and method
US20170371925A1 (en) Query data structure representation
US20120221561A1 (en) Computer system, database and uses thereof
US10785181B2 (en) Sharing content to multiple public and private targets in a social network
US20170004548A1 (en) Generating and ranking service provider recommendations in a social network
US20140236935A1 (en) Service Provider Matching
WO2010065111A1 (en) Ranking and selecting enitities based on calculated reputation or influence scores
US20200104427A1 (en) Personalized neural query auto-completion pipeline
US20190066054A1 (en) Accuracy of member profile retrieval using a universal concept graph
US20200311568A1 (en) Filtering content using generalized linear mixed models
US11323404B2 (en) System and method for displaying message or user lists
US20190065612A1 (en) Accuracy of job retrieval using a universal concept graph
WO2017003823A1 (en) Improving search relevance using past searchers&#39; reputation
WO2017009683A1 (en) Method for processing a recommendation request and recommendation engine
US8825698B1 (en) Showing prominent users for information retrieval requests
US20120290552A9 (en) System and method for search of sources and targets based on relative topicality specialization of the targets
EP1846810A2 (en) Method and system for providing customized recommendations to users
WO2016018467A1 (en) Behavior influenced search ranking
JP2017151741A (en) Information processing device, information processing method, and program

Legal Events

Date Code Title Description
STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE

PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE

17P Request for examination filed

Effective date: 20180216

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

AX Request for extension of the european patent

Extension state: BA ME

DAV Request for validation of the european patent (deleted)
DAX Request for extension of the european patent (deleted)
RAP1 Party data changed (applicant data changed or rights of an application transferred)

Owner name: B2CLOUD

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: EXAMINATION IS IN PROGRESS

17Q First examination report despatched

Effective date: 20200122

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: EXAMINATION IS IN PROGRESS

REG Reference to a national code

Ref country code: DE

Ref legal event code: R003

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION HAS BEEN REFUSED

18R Application refused

Effective date: 20210915