[0001] The present invention is related to a user profile learning method and an associated
profiling engine.
[0002] Knowing one's customer is an essential ingredient for success in any business, but,
in the telecommunications market, it has become more important than ever. Users are
increasingly demanding personalized services that enhance their quality of life and
deliver personalized information, anywhere, anytime, and on any device. For instance,
users can now access hundreds of television (TV) channels with thousands of programs,
and they need efficient support to automatically locate a program corresponding to
their interests. Mastering knowledge of user profiles is therefore becoming one of
the technical cornerstones in new business areas such as content placement.
[0003] Many personalized applications have already been successfully commercialized in the
domain of Web technologies and e-commerce by pioneers such as Google™ and Amazon™.
Delivering this level of customization in converging telecommunications and content
services means going beyond a single personalized application. This can be done by
implementing network intelligence that leverages the user profile and supports multiple
applications such as social networking, personalized content push, and targeted advertising.
Indeed, with converged triple screen offers for TV, mobile devices, and personal computers
(PCs), telcos and service providers hold large amounts of data on end user service
consumption and they are well positioned to accurately infer user preferences, interest
domains, and behaviors. However, without an efficient profiling tool making benefit,
the provider cannot leverage this information and deliver value-added services.
Accordingly, it is a general object of the present invention to provide a profiling
engine that automatically learns the profile of each telecommunication (or telco)
customer. In the following approach, it is proposed a generic profiling engine that:
- 1) can benefit from all the usage traces coming from various service delivery platforms
(SDPs) such as Internet Protocol television (IPTV) or mobile video, and
- 2) support the personalization of diverse applications such as a content recommender,
targeted ad, or social network.
The user profile is learned automatically by aggregating traces coming from triple
screen services (TV, mobile device, and laptop) and using content/service metadata
as well as other information such as the user's context or his presence status when
consuming the services.
Moreover, preferences explicitly provided by the end user (for instance at the subscription
phase) are integrated in the profiling process and are refined through observation
and tracking of actual service consumption. Based on the profiles obtained, the profiling
engine also offers intelligent query interfaces allowing personalization of various
applications. For this purpose, these query interfaces include different distances
to compute the similarity between a content and a unique user (e.g., to recommend
specific content) or to compute the similarity between users (e.g., to define communities
of interest).
[0004] The object of the present invention, according to an embodiment, is a user profile
learning method comprising learning and updating the profile data defined in a user
model, using two mechanisms which are an explicit profiling process and an implicit
profiling process, in which, in the explicit profiling process, the user declares
his topics of interest, e.g. via a Web portal, given that, at the initialization stage,
the absence of active indication of interest in a topic implies a lack of user interest,
and the implicit profiling process comprising learning and updating the profile data
from all kinds of usage traces through observation and tracking of actual service
consumption by the user such as the user's context or his presence status when consuming
the services.
[0005] According to an embodiment of the invention, the implicit profiling process is based
on the analysis of heterogeneous usage traces in a mobile environment.
[0006] According to an embodiment of the invention, three measurable quantities are used
to describe contents, consumption events, and user profiles, the three measurable
quantities being :
Quantity of affiliation (QoA) which characterizes the degree of affiliation of a content
to a given semantic concept, Quantity of Affiliation variables being stored in a Content
Management System by a content provider, which leads to content indexing,
Quantity of consumption (QoC) which characterizes the degree of intensity of a consumption
event with respect to a given semantic concept, Quantity of Consumption being considered
as a modulation of the Quantity of Affiliation depending on specific parameters linked
to the consumption such as the duration of consumption, the price paid, the rating,
or any other parameter characterizing the consumption,
Quantity of interest (QoI) which characterizes the degree of interest the user has
for a given semantic concept, the user profile being then composed of a set of Quantity
of Interest values associated with respective semantic concepts.
[0007] According to an embodiment of the invention, the Quantity of Consumption values are
computed by modulating the Quantity of Affiliation values of the consumed content
by numerical parameters held in an homogeneous raw data generation module destined
to transform all platform-specific data into a common, pre-defined format, said Quantity
of Consumption function being modeled as:

where the index
i refers to the relevant semantic concept and
n represents consumption event ordering.
[0008] According to an embodiment of the invention, the consumption event-based Quantity
of interest (QoI) learning function refreshes the Quantity of Interest data on user
interest by combining their previously known values with a newly-observed interest
manifestation defined by the Quantity of Consumption, this Quantity of Interest (QoI)
learning function being modeled as:

[0009] According to an embodiment of the invention, it is considered a particular family
of functions where the new Quantity of Interest is obtained by a weighted addition
of the newly observed Quantity of Consumption with the old Quantity of Interest:

the weight

being a function of the current Quantity of Interest and defining how much the new
observation is influencing the profile evolution.
[0010] According to an embodiment of the invention, a time-based decay function is introduced
to account for the aging of profile data:

this time-based decay function being called with a given periodicity indexed by k.
[0011] According to an embodiment of the invention, said periodicity is significantly larger
than the average time interval between consumption events.
[0012] According to an embodiment of the invention, in order to decide how to decrease a
given Quantity of Interest, this time-based decay function take into account parameters

like frequency or recency of consumption events on each considered semantic concept.
[0013] The object of the present invention, according to an embodiment, also concerns a
profiling engine for Converged Service Delivery Platforms, comprising learning and
updating means for learning and updating the profile data defined in a user model,
using two mechanisms coming from explicit profiling means and implicit profiling means,
wherein the explicit profiling means has inputs for receiving users' declarations
about their topics of interest, e.g. via a Web portal, given that, at the initialization
stage, the absence of active indication of interest in a topic implies a lack of user
interest, and the implicit profiling means has inputs for receiving users profile
data from all kinds of usage traces through observation and tracking of actual service
consumption by the user, the learning/updating means receiving for learning/updating
the profile data as a function of users' profile data provided by the explicit profiling
means and the implicit profiling means.
[0014] According to an embodiment of the invention, the profiling engine offers intelligent
query interfaces providing applications with generic access to all profile data thus
allowing personalization of various applications.
[0015] According to an embodiment of the invention, these query interfaces include different
distances to compute the similarity between a content and a unique user, e.g. to recommend
specific content, or to compute the similarity between users, e.g. to define communities
of interest.
[0016] According to an embodiment of the invention, the profile engine comprises a homogeneous
raw data generation module to transform all platform-specific data into a common,
pre-defined format processable by the profile engine.
[0017] Other objects and further features of the present invention will be apparent from
the following detailed description when read in conjunction with the accompanying
drawings :
- Fig. 1 illustrates the multi-platform and multi-application paradigm according to
an embodiment of the invention,
- Fig. 2 illustrates the interactions between the profiling engine, different SDPs,
a Content Management System (CMS) and different personalized applications,
- Fig. 3 illustrates the principles to be used to characterize the contents and the
consumption events,
- Fig. 4 describes the three main functional blocks and their sub-units of the profiling
engine according to an embodiment of the invention,
- Fig. 5 describes the incremental user profiling process and its three types of algorithms,
- Fig. 6 describes a simple example of the incremental user profiling update,
- Fig. 7 illustrates a QoI (Quantity of Interest) evolution in a user profile showing
stable consumption of content with a given semantic concept, and an average of three
weekly consumption events over approximately 140 days.
[0018] A description will hereinafter be given of embodiments of the present invention,
by referring to the drawings. It is first provided a functional description of the
profiling engine, next the profiling technology in terms of the data model, the algorithmic
approach, and the implementation. Finally, it is described the approach to privacy
management which is as well an important element in profiling and personalization
systems.
I - Functional Description of the Profiling Engine
[0019] In this section, it is first presented the overall multi-platform and application-agnostic
approach proposed for the profiling engine, as illustrated in Figure 1. Then, the
different functional components of the engine are introduced.
A. Multi-Platform and Multi-Application Profiling Approach
[0020] The main objective of the profiling engine 1 is to ensure the automatic learning
of each user's profile to develop an accurate estimation of his interest domains,
service/content consumption habits, and purchasing behavior. For this purpose, large
operators have the opportunity to collect and consolidate service usage and content
consumption traces over their service delivery platforms 2. In addition to Web-based
usage traces, they can largely exploit television 3 and mobile video 4 consumption
data as well as the usage of IP communication services. The profiling engine 1 aggregates
the usage traces coming from all these different platforms 2 and builds an end user
profile based on a common model.
[0021] At the same time, this consolidated profile can support personalization for numerous
applications 5 : content recommendation, personalized content search 6, or social
networking applications 7. In addition, the engine can be put to immediate use for
targeted ads 8 -a new revenue stream the service providers intend to tap into-in compensation
for declining voice revenues.
[0022] Figure 1 illustrates this multi-platform and multi-application paradigm. Having such
a profiling engine is critical for service providers 1) to derive benefit from all
these sources of information, and 2) by valorizing the so- obtained profile to offer
the end user a unified and consistent experience across personalized services.
B. Profiling Engine Components
[0023] The user profile is obtained by aggregating the usage traces available on different
SDPs and by combining them with content descriptions (metadata) available in content
management systems (CMS). The principle of the profiling engine according to an embodiment
is depicted on Figure 2. When a user consumes a service, for example, views video-on-demand
(VoD) on a mobile phone 9, some consumption traces are generated on the SDP or on
the terminal. In the proposed approach, all these traces are injected into the profiling
engine which dynamically updates the user profile in order to closely follow its real-life
evolution.
[0024] First of all, the profiling engine relies on a user model 10 which is shaped according
to the structure and the semantics of the content metadata available in the CMS 11.
Nevertheless, the profiling engine 1 and its underlying update algorithms are not
designed specifically for a given user profile and content metadata structure; they
can be automatically applicable to a new structure and semantics.
[0025] Then the profiling engine 1 uses profiling algorithms running module 11 to learn
and update the profile data defined in the user model 10. It is distinguished two
mechanisms: explicit profiling and implicit profiling. In the explicit profiling process,
the user declares his topics of interest, e.g., via a Web portal. At the initialization
stage, the absence of active indication of interest in a topic implies a lack of user
interest. The implicit profiling comprising learning and updating the profile from
all the usage traces. It relies on content metadata describing the semantics of consumed
contents and services. The combination of explicit and implicit profiling procedures
allows the operator to build and maintain the most relevant and up-to-date profile.
An intelligent query interface 12 is another important component of the profiling
engine 1. It provides the personalized applications with generic access to all profile
data comprised in user profile database 17. Various request types are enabled starting
from a simple database (DB) request, e.g., "find all users with a high interest in
tennis, and a heavy video consumption profile" to more sophisticated query types like
"evaluate the interest of a given user for a given content," or "find users with a
profile 'similar' to a given one".
[0026] Finally, the profiling engine addresses privacy issues, via a privacy protection
module 13, in order to conform with legal requirements as well as to ensure the user's
consent for being profiled. Our approach relies on privacy policies which allow, on
the one hand, controls around access to personal profile data, and on the other hand,
mechanisms to configure the level of intrusiveness of the profiling method itself.
II - The Profiling Technology
[0027] This section details the technology realized in the profiling engine according to
one embodiment. It covers the data model 10 (to describe the semantic concepts 14
and the measurable quantities 15), the profiling method (to incrementally build the
profile), the profile data access (to personalize a wide range of applications), and
finally provides an insight on privacy which is an important element of such profiling
technology.
[0028] It is thus proposed a comprehensive approach comprising:
- implicit user profiling based on the analysis of heterogeneous usage traces in a mobile
environment,
- explicit user profiling based on information declared by the user,
- contextualization layer enabling context-aware personalized applications,
- generic personalization layer enabling personalized applications,
- privacy specification and protection mechanism.
A. Semantic Concepts and Measurable Quantities
[0029] At a starting point, it is defined semantics concepts 14. Semantic concepts constitute
a core element of the profiling engine's data model. They are used to represent the
semantic characteristics of user profiles and contents. For example, the "action"
film genre is a semantic concept, it can characterize a given content, and at the
same time, a given user's interest in this kind of content in general. Of course,
both content and user profile are generally characterized by several semantic concepts.
Semantic concepts usually have relationships between each other, expressing notions
such as composition, inheritance, or dependency. For example, the semantic concepts
"action," "adventure," and "comedy" which are usually used to describe a movie, are
related to the respective semantic concept "movie" by an inheritance relation, or
a so-called "is-a" relation. Semantic concepts can therefore be organized in a structure
reflecting their relationships, e.g., a taxonomy or an ontology. In some cases, they
can simply form a vocabulary of flat keywords without any structure.
[0030] In order to represent a user profile, it is associated one numerical value in the
interval of [0,1] to each semantic concept; higher values indicate higher user interest
in the respective semantic concepts.
Figure 3 illustrates how the same principle can be used to characterize the contents and the
consumption events. The diagram uses the following three measurable quantities which
allow to describe the contents, the consumption events, and the user profiles, respectively:
Quantity of affiliation (QoA) characterizes the degree of affiliation of a content to a given semantic concept
(e.g., action or adventure). QoA variables are stored in the CMS by the content provider,
and this process is called content indexing. For example, Shrek™ can be indexed by
the following set of QoA: {Animation = 0.9, Comedy = 0.8}.
- Quantity of consumption (QoC) characterizes the degree of intensity of a consumption event with respect to a given
semantic concept. For example, if two users watch Shrek respectively for 10 minutes
and 1 hour and 30 minutes (until the end), one could infer that the second user is
more interested in this content than the first, and thus, in its semantic concepts
(animation or comedy). QoC can be seen as a modulation of the QoA depending on the
duration of consumption, the price paid, the rating, or any other parameter characterizing
the consumption.
- Quantity of interest (QoI) characterizes the degree of interest the user has for a given semantic concept. So,
the user profile is composed of a set of QoI values associated with respective semantic
concepts.
[0031] Note that for a given user profile (or a content or consumption event), one needs
to store only non-zero values so that the problem of memory explosion is avoided when
the potential number of semantic concepts is large.
B. Incremental Profiling Process
[0032] The global user profiling process is described in
Figure 4. At first, it uses platform-specific usage traces 18 (SDP raw data) like those stored
in log files, call data records (CDRs), or cookies, and contains the description of
consumption data 19 like watched/ranked videos, time watched, price paid, accepted
offers, or search strings. In order to facilitate profiling in a multi-SDP environment,
this platform-specific data must first be transformed, thanks to a HRD generation
module 20, into a common format called homogeneous raw data (HRD). It is called homogenization
of raw data the process of transforming all the heterogeneous gathered data into a
pre-defined format, comprehensible by the profiling engine.
1. QoC computation.
[0033] The next stage consists of characterizing each consumption event in terms of values
associated with semantic concepts. Independently from the source of that observation,
each QoC (Quantity of Consumption) value provides a normalized measure, QoC∈[0,1],
of the observed user interest for a given semantic concept. This measure is based
on the following assumptions:
- The longer the user consumes the content, the more interested he is by the subject
of the content,
- The more the user pays to watch content, the more interested he should be in that
type of content,
- The more the user interacts, the more interested he is in the information displayed.
[0034] The QoC values are computed by modulating the QoA (Quantity of Affiliation) values
of the consumed content by the numerical parameters held in the HRD. This function
can be modeled as:

where the index
i refers to the relevant semantic concept and
n represents consumption event ordering. In order to achieve a normalization, the modulation
function may be domain-dependent. Indeed, each SDP offers a specific service and the
usage of different services cannot be put on the same scale. For example, listening
to two hours of music should reflect a higher interest in that type of music than
watching a 2 hour movie for the type of movie watched, because an average music album
is less than 60 minutes long, whereas an average movie is 1 hour and 40 minutes long.
In a more general case, within a given SDP, the normalization function can also vary
from one application to another. Some simple examples of QoC computation for VoD services
are given below.
- QoC computation based on relative consumption duration:

where τact is the actual consumption time and τmax is the domain-dependent maximum consumption time. The higher the relative consumption
duration, τ , the greater is the respective QoC. In another variant, τmax can reflect the total duration of the given watched content; consequently, τ =1,
whenever the entire movie is watched.
- QoC computation based on relative consumption duration and price:

where cact corresponds to the price paid for the item consumed, and cmax is the maximum price of an item in a given domain. In a more general case, it will
depend on the content type (music, video, or book) and/or consumption type (purchase,
VoD, or rental). Evidently, the higher the relative cost c is, the higher the respective
QoC will be.
- QoC computation based on content ranking or other discrete value raw data. A mapping
function must be defined between these discrete values (ranking levels, click-through
events, or content recommendation events from peers) and the interval of possible
QoC values.
2. QoI update.
[0035] This stage describes how the user profile is incrementally updated. In the present
approach, two complementary update functions co-exist: 1) consumption event-based
QoI learning, and 2) time-based QoI decay.
[0036] The consumption event-based QoI learning function refreshes the QoI data on user
interest by combining their previously known values with a newly-observed interest
manifestation (defined by the QoC).
[0037] This function can be modeled as:

[0038] It is considered a particular family of functions where the new QoI is obtained by
a weighted addition of the newly observed consumption, QoC, with the old QoI:

[0039] The weight

is a function of the current QoI; it defines how much the new observation is influencing
the profile evolution. Such a variable weight allows us to obtain a "learning curve"
behavior where secondary interests build relatively slowly (because of a lower weighted
ranking) and primary interests are saturated by the upper limit of one (again, because
of a diminishing variable weight). Here, the term "learning curve" makes reference
to a relationship between the duration of a student's learning period and the knowledge
or experience gained. In fact, the QoI evolution for a stable consumption pattern
represents a sigmoid form, as shown in
Figure 7.
[0040] In addition to the previous phases describing profiling as a consumption event-driven
iterative process, a time-based decay function is introduced to account for the aging
of profile data:

[0041] This function is called with a given periodicity indexed by
k. This periodicity should be significantly larger than the average time interval between
consumption events, for example it can be on a monthly or quarterly basis. In order
to decide how to decrease a given QoI, this function can take into account parameters

like frequency or recency of consumption events on that semantic concept. For example,
depending on the consumption frequency, the QoI can be diminished linearly, exponentially,
or without decay for a fixed period of non-consumption followed by some decay curve.
3. Context awareness.
[0042] When the raw data contains some information on the context in which the consumption
event occurred, it can be used to obtain a context-aware profile. As illustrated in
Figure 5, this means that some QoI values will be contextualized. For example, a user's interest
in "news" may be higher in the morning than in the evening, when a higher interest
in "movies" can be observed. Here, the term of context can be applied in its broadest
sense including geographical localization and presence (at home, at work, or on vacation),
social (with friends, with family, or alone), or temporal (morning or evening) interpretations.
C. Intelligent Profile Query
[0043] The intelligent profile query interface 12 enables personalized applications by providing
Web service access to user profiles, and by providing some profile exploitation tools.
In order to deal with many different applications such as targeted ads, content recommendation,
or community-based applications, this interface should provide generic reusable features.
In fact, three main types of requests are possible:
- 1. User-centric requests involve pulling a full or partial user profile, or obtaining a user's most significant
interests defined with some threshold. User-centric queries are the most simple-they
translate the Web service request into database logic, e.g., structured query language
(SQL), without any kind of intelligence and forward the response in an extensible
markup language (XML) format to the personalized applications.
- 2. One-to-one distance requests evaluate the distance between two entities sharing the same model, i.e., the distance
between a user and a specific content, the distance between two users, or the distance
between two contents. One-to-one queries rely on the intelligence required for distance
computation. The latter depends essentially on the model of structural relations between
the semantic concepts. So, in the case of flat keywords, vector distance measures
should be used [6], while for a taxonomy or an ontology, more elaborate graph matching
or semantic distance approaches must be applied.
- 3. One-to-many association requests find a set of entities "similar to" a given target entity, i.e., designate a group
of users within a proximity circle defined around the target user (or target content)
by using a one-to-one distance measure. The processing of this type of request can
be done in real time, however, in order to reduce the response time, some one-to-many
associations can be constructed a priori for a persistent set of target entities. This can be done by using clustering technologies
possibly relying on a data mining tool external to the profiling engine.
[0044] This query interface is critical as it will ensure the independence of the profiling
module with respect to different personalized applications. Indeed, it is decoupled
the similarity measuring from the personalization techniques deployed in the application
logic. So, it is enabled both well known types of personalization techniques: the
content-based (CB) approach and the collaborative filtering (CF) approach. The CB
algorithms look at the "similarity" between the user (profile) and the item (metadata)
to recommend, while the CF algorithms recommend the item if it has been appreciated
by "similar" users.
D. Privacy
[0045] The privacy of the end user is an important element to take into account when designing
a profiling system. First, the service provider must ensure the compliance with the
legal privacy rules in each country where the solution is deployed. In addition, user
acceptance is a major issue, as user profiling can easily be perceived by end users
as a threat and an intrusion into their private life. Furthermore, the user should
be provided with a comprehensive interface for setting his privacy options.
[0046] The present approach encompasses two aspects of user privacy protection: access control
of personal profile data and configuration of the intrusiveness level in the profiling
process. This is achieved by using high-level privacy policy rules. Some of these
rules are introduced by the service provider in order to define its global profiling
and personalization policy in conformance with the existing legislation. For example,
among the requirements put forward by the European Union, there are three core principles:
- Transparency. The user has the right to be informed about the purpose of the processing of his
personal data, the recipients of the data, and all other information required to ensure
the processing is fair.
- Legitimate purpose. Personal data can only be processed for specified, explicit, and legitimate purposes
and may not be processed further in a way incompatible with those purposes.
- Proportionality. Personal data may be processed as long as it is relevant, and not excessive in relation
to the purposes for which it is collected and/or further processed.
[0047] The second aspect of the privacy policy is introduced by each user in order to tune
his personal privacy preferences. For example, a user can specify the types of services
(IPTV, mobile video, or Web browsing) and traces (watching, interactivity, or zapping)
that can be used for his profiling. With respect to access to his profile data, a
user can define variable restrictions depending on the type of personalized application.
For example, if a user does not want to receive targeted ads based on his video interests
(action, sport, or adult), this part of the profile must be hidden to the targeted
ad selector. The restrictions can also impact the granularity of the information made
available in a given domain.
[0048] As a part of the user interface for privacy management, it is also included an explicit
profiling feature, the user's read/write access to his own profile data. It not only
allows a user to initialize the system, but also to update and rectify the learned
profile. Once updated, the profiling process continues with the new current profile
modified explicitly by the user in the same way as in the initialization phase.
E. Implementation
[0049] A prototype of this process has been implemented in the scope of a video-on-demand
service for converging fixed (IPTV) and mobile (mobile video) content delivery platforms
where the customers can use a diversity of terminals: TV/set-top box, mobile phone,
and laptop. In the prototype, the profiling has been done with two key personalized
applications, namely targeted advertisement and content recommender. The implementation
combines ontology Web language (OWL) for the description of the user/metadata model
and Web services technology, notably for intelligent query interface. The use of open
technologies allows rapid integration of new evolutions of the profile model as well
as support for a wide range of personalized applications.
[0050] The prototype was also used to carry out different simulations and performance tests.
For instance,
Figure 7 illustrates a QoI evolution in a user profile showing stable consumption of content
with a given semantic concept, and an average of three weekly consumption events over
approximately 140 days. In this case, the decay function is calculated on the basis
of the number of consumptions in a monthly time window (frequency). The higher the
frequency, the lower the decay applied to QoI.
Abbreviations, Acronyms, and Terms
[0051]
BSS-Business support systems
CB-Content-based
CDR-Call data record
CF-Collaborative filtering
CMS-Content management system
DB-Database
EPG-Electronic program guide
HRD-Homogeneous raw data
IMS-IP Multimedia Subsystem
IP-Internet Protocol
IPTV-Internet Protocol television
OSS-Operations support systems
OWL-Ontology Web language
PC-Personal computer
QoA-Quantity of affiliation
QoC-Quantity of consumption
QoI-Quantity of interest
SDP-Service delivery platform
SQL-Structured query language
TV-Television
VoD-Video on demand
XML-Extensible markup language
1. User profile learning method comprising learning and updating the profile data defined
in a user model, using two mechanisms which are an explicit profiling process and
an implicit profiling process, in which, in the explicit profiling process, the user
declares his topics of interest, e.g. via a Web portal, given that, at the initialization
stage, the absence of active indication of interest in a topic implies a lack of user
interest, and the implicit profiling process comprising learning and updating the
profile data from all kinds of usage traces through observation and tracking of actual
service consumption by the user such as the user's context or his presence status
when consuming the services.
2. The method according to claim 1, characterized in that the implicit profiling process is based on the analysis of heterogeneous usage traces
in a mobile environment.
3. The method according to claim 1 or 2,
characterized in that three measurable quantities are used to describe contents, consumption events, and
user profiles, the three measurable quantities being :
• Quantity of affiliation (QoA) which characterizes the degree of affiliation of a
content to a given semantic concept, Quantity of Affiliation variables being stored
in a Content Management System by a content provider, which leads to content indexing,
• Quantity of consumption (QoC) which characterizes the degree of intensity of a consumption
event with respect to a given semantic concept, Quantity of Consumption being seen
as a modulation of the Quantity of Affiliation depending on specific parameters linked
to the consumption such as the duration of consumption, the price paid, the rating,
or any other parameter characterizing the consumption,
• Quantity of interest (QoI) which characterizes the degree of interest the user has
for a given semantic concept, the user profile being then composed of a set of Quantity
of Interest values associated with respective semantic concepts.
4. The method according to claim 3,
characterized in that the Quantity of Consumption values are computed by modulating the Quantity of Affiliation
values of the consumed content by numerical parameters held in an homogeneous raw
data generation module destined to transform all platform-specific data into a common,
pre-defined format, said Quantity of Consumption function being modeled as:

where the index
i refers to the relevant semantic concept and
n represents consumption event ordering.
5. The method according to any of claims 3 or 4,
characterized in that the consumption event-based Quantity of Interest (QoI) learning function refreshes
the Quantity of Interest data on user interest by combining their previously known
values with a newly-observed interest manifestation defined by the Quantity of Consumption,
this Quantity of Interest (QoI) learning function being modeled as:
6. The method according to claim 5,
characterized in that it is considered a particular family of functions where the new Quantity of Interest
is obtained by a weighted addition of the newly observed Quantity of Consumption with
the old Quantity of Interest:

the weight

being a function of the current Quantity of Interest and defining how much the new
observation is influencing the profile evolution.
7. The method according to claim 5,
characterized in that a time-based decay function is introduced to account for the aging of profile data:

this time-based decay function being called with a given periodicity indexed by
k.
8. The method according to claim 5, characterized in that said periodicity is significantly larger than the average time interval between consumption
events.
9. The method according to any of claims 7 or 8,
characterized in that, in order to decide how to decrease a given Quantity of Interest, this time-based
decay function take into account parameters

like frequency or recency of consumption events on each considered semantic concept.
10. A Profiling Engine for Converged Service Delivery Platforms, comprising learning and
updating means for learning and updating the profile data defined in a user model,
using two mechanisms coming from explicit profiling means and implicit profiling means,
wherein the explicit profiling means has inputs for receiving users' declarations
about their topics of interest, e.g. via a Web portal, given that, at the initialization
stage, the absence of active indication of interest in a topic implies a lack of user
interest, and the implicit profiling means has inputs for receiving users profile
data from all kinds of usage traces through observation and tracking of actual service
consumption by the user, the learning/updating means receiving for learning/updating
the profile data as a function of users' profile data provided by the explicit profiling
means and the implicit profiling means.
11. The Profiling Engine according to the claim 10, characterized in that the profiling engine offers intelligent query interfaces providing applications with
generic access to all profile data thus allowing personalization of various applications.
12. The Profiling Engine according to the claim 11, characterized in that these query interfaces include different distances to compute the similarity between
a content and a unique user, e.g. to recommend specific content, or to compute the
similarity between users, e.g. to define communities of interest.
13. The profiling engine according to the claim 10 to 12, characterized in that it comprises a homogeneous raw data generation module to transform all platform-specific
data into a common, pre-defined format processable by the profile engine.