The present invention relates to a method for providing by means of a system a set of services of a first subset of a social network to a user terminal.
It also related to a corresponding system for carrying out said method.
Such a method may be used in any social network sites, applications or services using social networks.
The application U.S. Pat. No. 7,853,881 discloses a method enabling a member of a community (also called subset) of a social network to communicate and exchange information with a user of another community of said social network. The method chooses other online users on the basis of a degree of separation computed from the profile of the users and the content of the pages they are accessing (content is text, graphics, audio, video delivered to the online user through a website). The profile of a user may be dynamically generated and updated based on level and type of activity that the member gets involved in, and based on the interactions with others and the level. A measurement of the similarity or of “interest-based relationships” distance between users is performed based on said degree of separation. This measure can be used by a member to determine who to interact with. In particular, a shorter “interest-based relationships” distance between two users indicates a possibly richer and positive interaction between those two members of different social networks. Relationships are established based on common activity and content.
One problem of said prior art is that to benefit from the communication exchange service between a user Ui of a community i and other user Uj of other communities j, the method has to gather all information on the user profile of all the users in all the communities j and has to compute similarities between the user i and all these users j. Therefore this method is time and memory consuming and does not preserve user privacy. Furthermore, the exchange service proposed for a given time is never invalidated by the system, even if the user profile of the person changes over time.
It is an object of the invention to provide a method for providing by means of a system a set of services of a first subset of a social network to a user terminal which has access to a second subset of said social network.
To this end, there is provided a method for providing by means of a system a set of services of a first subset of a social network to a user terminal which has access to a second subset of said social network, said method comprising:
As we will see in further details, the method provides services of a subset to the whole members of another subset based on activities performed within a subset. There is no need any more to compute similarity between a user and each other user of other subsets.
In a first non-limitative embodiment,
In a second non-limitative embodiment, the construction of the graph is performed periodically according to the update of the social interactions.
In a third non-limitative embodiment, the construction of the graph further comprises for each subset:
In a fourth non-limitative embodiment, the provision of said set of services is further filtered by a user profile and/or a user parameters set by a user of said user terminal which has access to the first and the second subsets.
In a fifth non-limitative embodiment, the provision of a set of services comprises a sub-step of comparing the weight of the edge corresponding to said first subset and said second subset with a threshold level associated to each service of the first subset.
In addition, there is provided a system for providing a set of services of a first subset of a social network to a user terminal which has access to a second subset of said social network, said system comprising:
In a first non-limitative embodiment, the graph generator is further adapted to:
In addition, there is provided a computer program product, comprising a set of instructions, which when loaded into said computer, causes the computer to carry out the method for providing a set of services, according to any one of the previous characteristic.
Some embodiments of methods and/or apparatus in accordance with embodiments of the present invention are now described, by way of example only, and with reference to the accompanying drawings, in which:
In the following description, well-known functions or constructions by the man skilled in the art are not described in detail since they would obscure the invention in unnecessary detail.
As will be described hereinafter, the method for providing by means of a system a set of services of a first subset of a social network to a user terminal which has access to a second subset of said social network comprises two main steps: 1) construction of a dynamic graph of subsets, based on the analysis of similarities between these subsets based on at least one factor: social interactions (annotations, comments, conversations) between members of the subset, and optionally a description of the subset; and 2) the exploitation of this graph to access in a flexible way services of another subset based on the strength of the links between the two subsets.
It is to be noted that a subset Sub of social network is a medium which allows people to engage in interactions and exchange information on a specific topic, centered around a well-defined physical or multimedia object (e.g. a forum about soccer (virtual world) or a discussion in a train station about the delay of the TGV (physical world)) etc. Such a subset is composed generally from people from different social spheres (friends, family, coworkers and strangers). Each member of a subset may be represented in virtual worlds by their user profile, i.e. a set of attributes that represent their identity and interests or a business card or a badge etc. in the physical world. It is to be noted that user profile attributes comprise in non-limitative examples declared civil status, centers of interest, photography, audio, video or any other multimedia content attached to the user full profile information. user full profile information.
By social network Sntw, one means members online connected by friendly or professional links grouped or not by sector, which promotes social interaction, creation and information sharing. In a non-limitative example, a social network may be Facebook®
A subset Sub is defined by interactions of a group of members of said social network about a specific object. In a non-limitative example, a subset may be a Facebook® page about an actor.
It is to be noted that a subset Sub is also called community within a social network. Therefore, in the following, the term subset or community will be used interchangeably.
By social interactions I, one means any sort of activity conveying meaningful information between two or more people within a subset Sub, such as an answer to a question in a forum, conversation, or either annotations, comments of the social object from one person.
Each subset Sub, is represented by:
An example of social network Sntw is illustrated in
The method M is carried out by a system Sys, said system Sys being illustrated in
Said system Sys comprises:
The method M for providing by means of a system Sys a set of services S of a first subset Sub1 of a social network Sntw to a user terminal T which has access to a second subset Sub2 of said social network Sntw, is described in detail in a non-limitative embodiment as illustrated in
Said method comprises:
In the following description, two subsets Sub1, Sub2 within a social network are taken as non-limitative examples.
The first subset Sub1 is a community of the book “The Fellowship of the Ring”, the first book of the famous trilogy The Lord of the Rings. Said subset will also be called subset-Book.
The embedded services may be:
The method M is described in details below with reference to all the figures.
In a first step 1) illustrated CONST_G(sim, I, Sub, Sntw), the system Sys constructs a graph G based on the measure of the similarities Sim between the social interactions I of each pair of subsets Sub.
The graph G is dynamically constructed and updated as described hereafter. This graph connects together a set of subsets Sub. Thus, the dynamic graph of subsets G is an undirected graph G=<N, Et> where:
This step is performed by the graph generator Dggm.
This module is in charge of generating the dynamic graph of subsets G described above and of updating it regularly. In order to create the graph (or update it), this module accesses a repository Sub_Db (a kind of “white pages”) where the subsets are registered, which gives an access point to them.
Based on the list of retrieved subsets, the module generates a graph by:
Hence, this step comprises the following sub-steps.
In a first sub-step 1a), a node N is created for each subset of the social network Sntw (illustrated CREAT_G(N, Sub, Sntw) in
In a second sub-step 1b), specific data Sd associated to the social interactions I within each subset Sub are extracted (sub-step illustrated EXTR_Sd(Sub, Sd−K; Sd=Se) in
One or a plurality of specific data may be extracted.
A subset Sub is composed of interactions between users. An interaction is generally composed of entities (which are the proper nouns) and keywords (which represent the context of said entities) or other linguistic articulations, such as smileys.
Extraction of entities e and keywords K of an interaction are well-known by the man skilled in the art and won't be described here. To do so, the grammatical category of each term in an interaction I is identified using part-of-speech tagging (e.g. noun, verb) and stop words removed. Named entities are identified as terms starting with an upper-case letter or combinations of said terms. Most frequent terms that occur in the said subset Sub of the said social network are considered the specific data.
Hence, social interactions I of the two subsets Sub1 and Sub2 take as non-limitative examples are the following.
For the first subset Sub1, the book users are discussing a hot topic specifically on the genesis of the creatures appearing in the book.
For the second subset Sub2, the game users reach the level of the game where the ongoing quest leads them to cross the famous “Mines of Moria>>. But to successfully cross the Mines, they have to kill a powerful evil creature: a “Balrog”. Users have to find a mean for that, which generates a lot of discussions.
In a first non-limitative embodiment, the specific data Sd is a keyword K or an entity e.
For example, for the first subset Sub1 sub-Book, if an interaction I comprises the sentence “The black knights Nazgûl are terrifying”, a named entity will be “Nazgûl” and the associated keywords will be “knights”.
Therefore, a first specific data Sd will be for example: “Nazgûl” and/or “knights”.
For example, for the second subset Sub2 sub-Game, if an interaction I comprises the sentence: “How do we kill the evil creature “Balrog”, a named entity will be “Balrog” and the associated keywords will be “evil creature”. Therefore, a first specific data Sd will be for example: “Balrog” and/or “evil creature”.
In another second non-limitative embodiment, the specific data Sd is the most relevant matching semantic entity Se found in a linked data graph Ldg from on a keyword K or from an entity e associated to the social interactions I of a subset Sub.
In a non-limitative embodiment, a specific data Sd is set up in the form of an URI “Uniform Resource Identifier”. Said URI will be used to perform a query in a linked data graph Ldg. It is to be noted that there will be as many queries queries as named entities and/or keywords found. Hence, it is to be noted that for each specific data Sd found in the previous step, this matching step is performed.
It is to be noted that a linked data graph Ldg comprises links between different concepts (semantic entities), a semantic entity linked with another being more general than the other semantic entity. Therefore, a linked data graph Ldg comprises different concepts from the specialized concepts to generalized concepts.
Linked Data appeared as a need to have a structured dataset representing concepts and connections between said concepts from the world and different domains. Nowadays, more and more data is available on the Web. Such data can include information about organizations, governments, public people and from many other fields. More and more individuals and public/private organizations contribute to this deluge by choosing to share their data with others. On the other hand, third parties consume this data to build new business opportunities and enhance recommendation strategies, such as online marketing and user re-targeting. Clearly, the presence of structured data is required so that they can be most easily reused. The structured published data are called linked data or web semantic.
The following principles govern linked data:
In a non-limitative example, the linked data graph Ldg may contain the semantic entities “Dark Riders, monster, War of the Ring, Lord of the Ring” Therefore, for the first subset Sub1 based on the book, the semantic entity Se equal to “Dark Riders” which is the most relevant matching semantic entity of the first specific data Sd mentioned before “knights” when said keyword is retained as a specific data Sd.
In a non-limitative example, the linked data graph Ldg may also contain the semantic entities “Balrog, Maiar, Mines of Moria, monsters, Lord of the Ring”.
Therefore, for the second subset Sub2 based on the game, the semantic entity Se equal to “monsters” which is the most relevant matching semantic entity of the first specific data Sd mentioned before “evil creature” when said keyword is retained as a specific data Sd.
When a plurality of specific data Sd are extracted, corresponding plurality of most relevant matching semantic entity Se are found, knowing that some specific data Sd may lead to the same corresponding most relevant semantic entity Se. Therefore, for a subset Sub, a vector of semantic entity VSd={C1, . . . Ci, . . . Cn} will be found.
It is to be noted that a subset description D, is associated to each subset. It is mainly based on a static description of the social object on which the subset is centered on. The description of the community is preferably represented by a vector of semantic concepts Ci also called semantic entities. VD={C1, . . . Cj, . . . Cm}.
A semantic entity Se refers to a description through ontologies and/or taxonomies. It can for example be referenced by an URI, such as: http://dbpedia.org/page/Lord of the Rings as mentioned before.
Therefore, in a non-limitative embodiment, for each subset Sub, from the subset description D, some corresponding specific data Sd are also found, and more particularly a vector VSd of specific data Sd.
It is to be noted that a vector VD or VSd may have one or a plurality of specific data Sd.
This second sub-step 1b) is of course applied for all other subsets of the social network Sntw.
In a third sub-step 1c), one measures the similarities between said specific data Sd for each pair of subsets Sub within the social network Sntw (sub-step illustrated MEAS_Sd(Sub1, Sub2) in
The pair composed of the first subset Sub1 and of the second subset Sub2 will be taken as a non-limitative example. Of course, this applies for any other pair of subsets within the social network Sntw.
In a non-limitative embodiment, the cosine similarity method well-known by the man skilled in the art is used. It is to be reminded that this method perform a measure of similarity between two vectors by measuring the cosine of the angle between them. The smaller the cosine of the angle between the two vectors is, the more similar said two vectors are.
Hence, the cosine similarity θ is such that
with A a vector VSd1 of specific data Sd from the first subset Sub1 (and Ai the keywords and/or the semantic entities of said vector) and B a vector VSd2 of specific data Sd from the second subset Sub2 (and Bi the keywords and/or the semantic entities of said vector) of the pair of subsets within the social network.
In other non-limitative examples, the measure may be based on semantic similarity metrics, for example using the semantic structure such as hierarchies of concepts in WordNet™, or statistical approaches, such as the normalized Google® distance.
It is to be noted that Wordnet™ is a lexical online database, which allows to organize words through different relationships. Thus, tree is a “kind of” plant, plant is a “hypernym” of tree, trunk “is part of” tree, etc. Similarity between two terms in Wordnet are thus obtained by a linear combination of the scores of the two terms according to the different relations (hyponym, meronym, troponym, etc.). Each individual score being obtained based on the length of the path between the two terms in Wordnet™ according to the considered relation.
It is to be noted that the normalized Google® distance NGD between two search terms x and y is
where M is the total number of web pages searched by Google™; f(x) and f(y) are the number of hits for search terms x and y, respectively; and f(x, y) is the number of web pages on which both x and y occur.
If the two search terms x and y never occur together on the same web page, but do occur separately, the normalized Google distance between them is infinite. If both terms always occur together, their NGD is zero, or equivalent to the coefficient between x squared and y squared. When applied to the keywords and/or entities, x, and y by are the vectors VSd1i, VSd2j of the pair of subsets Sub1 and Sub2 respectively.
When the description D of the subsets is taken into account as mentioned above, one measures the similarities between the specific data Sd for each pair of subsets Sub when said specific data Sd are coming from the subset description D. One may use the same similarities computation methods as described above applied on two vectors VD1 and VD2 with D1, the description of subset1 and D2 the description of subset2.
It is to be noted that for the purpose of sub-step 1a) and 1b) applied on interactions I, the graph generator Dggm comprises an interactions similarity evaluator module Iem which compares the social interactions (annotations, conversations etc.) that occurred within the two separate subsets Sub1 and Sub2 as mentioned above (illustrated CREAT_G(N, I, Sun, Sntw) and EXTR_Sd(Sub, I, Sd, =K; Sd=Se) in
For the purpose of sub-step 1a) and 1b) applied on the description D, the graph generator Dggm comprises a community description comparator module Dcm which computes the description similarity of the two separate subsets Sub1 and Sub2 as mentioned above (illustrated CREAT_G(N, D, Sun, Sntw) and EXTR_Sd(Sub, D, Sd, =K; Sd=Se) in
In a fourth sub-step 1d), according to said measures, create an edge E within the graph G with an associated weight W for each pair of subsets Sub (sub-step illustrated CREAT_G(E, W, Sub1, Sub2) in
In a non-limitative embodiment, when the description D of the subsets is taken into account as described above, the weight of the edge E within the graph G associated to each pair of subsets is updated accordingly.
Hence, in a non-limitative embodiment, the degree of proximity between two subsets, expressed by the weight W on the edge E, may be computed as a linear combination of similarities based 1) on the analysis of similarities of interactions in each community, and in a non-limitative embodiment 2) on the two social objects descriptions D such that:
W(Sub1,Sub2)=a*simI({I}Sub1, {I}Sub2)+b*SimD (D(Sub1), D(Sub2))
Such a dynamic graph G is illustrated in
Hence, the following cases are taken in non-limitative examples to illustrate the attribution of the weight W between the first subset Sub1=subset-Book and the second subset sub2=subset-Game.
The subset-Game users reach the level of the game where the ongoing quest leads them to cross the famous Mines of Moria. But to successfully cross the Mines, they have to kill a powerful evil creature: a “Balrog”. Users have to find a mean for that, which generates a lot of discussions.
The subset-Book users are discussing a hot topic specifically on the genesis of the creatures appearing in the book.
Case 1 The topic in subset-Book is centered on the Nazgûl (or Dark Riders) that generates discussion activities, investigations etc. . . .
The computed similarity weight between the two subsets is W=0.5.
Case 2
The topic in subset-Book is centered on the Balrog that also generates a lot of discussion activities, investigations etc. . . .
The computed similarity weight between the two subsets is W=0.7.
Case 3
Consider that after all the exchanges between the members of the 2 subsets, the computed similarity coefficient W=0.9.
Case 4
Consider now that the current quest is finished. The “Balrog” has been killed and the game reaches a new level that leads the gamers to explore the vast plains of “Rohan” to find the magic horses and train them. This requires acquiring knowledge about the horses and the art of dressage. So new discussions on new topics and interests are beginning and lower the computed similarity between the two subsets to W=0.55, but a new subset appear in the set of communities proposed by the system as the subset-game's center of interest moves toward the “Horses” topic. Said new subset was registered in the social network Sntw, but was not proposed before due to the previous low similarity weight.
It is to be noted that the construction of the graph of subsets G is performed periodically according to the update of the social interactions I, because the evolution of the social interactions I within each community may induce significant changes in that community. So, weights associated to edges are recomputed based on the evolution of conversations within the community (W(Subi,Subj)≠W+Δt(Subi,Subj)) They change overtime t. Moreover, whenever a new community Sub appears in the social network Sntw, the graph G is also updated. It is to be noted that a new community is usually registered within the social network Sntw by the manager of said social network.
When the dynamic graph G has been created as previously described, it is used to access subset services as following.
In a second step 2) illustrated TX_S(T, Sub2, W, E(Sub1, Sub2)), a set of services S of the first subset Sub1 to the second subset Sub2 is provided by said system Sys to said user terminal T, said set of services S being chosen according to the weight W of the edge E corresponding to said first subset Sub1 and said second subset Sub2.
Said step is performed by a service access manager Sm of the system Sys.
Consider a user Ua of the social network Sntw who is already fully part of several subsets Sub2, Sub3, Sub4 (illustrated in the
Hence this step comprises the following sub-steps.
In a first sub-step 2a), one determines from the dynamic graph of subsets G what are the other subsets (the user is not part of) which are linked to the second subset Sub2 in the case illustrated; for example the first subset Sub1 (illustrated DEF_LNKSUB(Sub2) in
In a second sub-step 2b), one determines from the dynamic graph of subsets G the weight W associated to the edge E connecting the first subset Sub1 and the second subset Sub2 (illustrated DEF_W(G, E(Sub1, Sub2) in
In a third sub-step 2c), one determines from said weight W, which set of services S of the first subset Sub1 is to be granted to the user terminal T for the user to access. To do so, the weight W of the edge E corresponding to said first subset Sub1 and said second subset Sub2 is compared with a threshold level Th associated to each service S of the first subset Sub1, the one the user Ua is not a member of (illustrated COMP(W(Sub1; Sub2), Th) in
It is to be noted that said threshold level Th is set up in an initial step by the service access manager Sm for each service of each subset Sub of the social network Sntw, and more particularly for each service S of the first subset Sub1. A database TH_Db is therefore created for this purpose.
In a fourth sub-step 2d), the granted set of services S of the first subset Sub1 is provided to the user terminal T (illustrated TX_T(S(Sub1)) in
If one uses the examples previously given for the “Lord of the Ring”:
Hence, the benefit for a member of the subset-Game is to extend the frontiers of said community to allow his member to:
In a non-limitative embodiment, the provision of said set of services S is further filtered by a user profile Upf and/or a user parameters Uob set by the user of said user terminal T which has access to the second subset Sub2. Said user profile Upf and/or said user parameters Uob determine the user's objectives O (illustrated TX_T(S, Upf, Uob) in
In a non-limitative embodiment, the method further comprises the step of providing to the user terminal T the subsets Sub which are linked with the second subset Sub2, here the first subset Sub1, together with additional information such as the subset description D so that the user can filter out subsets he is not interested in (illustrated TX_T(Sub2, D) in
In order to perform this second step, the following architecture is used in a non-limitative embodiment as illustrated in
The user terminal T comprises a cross-subset user interface Ihm, which is adapted to:
Later on, because of the interactions that occurred within the first subset Sub1, the dynamic graph of communities has been updated, and the weight of the link between communities Sub1 and Sub2 has changed (increased for example). When the user connects again on the cross-subset user interface Ihm, he is notified that he has access to more services of Sub1 (for example he is able not only to follow a person, but may have access to a more valuable service such as a summary of interactions that occurred since the last time he connected to the system).
The similar process when the strength of the link W between communities Sub1 and Sub2 decreases. In that case, the access to Sub1's services will become looser and looser until it disappears if the link between the two communities becomes too loose.
Hence, the system Sys (via the dynamic communities graph generator Dggm) computes dynamically the graph of interlinked communities G which links represent the value of the similarity coefficient W also called weight.
The system (via the cross-community experience manager Em) is now capable to propose automatically to each connected users of a particular community, a set of appropriate services, matching the users' interests that were originally available only in a distant community.
Thus, access to these services will be performed gradually and dynamically according to the similarity found between the activities generated in the different communities.
As illustrated in
Said system Sys comprises:
In a non-limitative embodiment, said system Sys further comprises the cross-community experience manager Em previously described.
In a non-limitative example, said system Sys is configured as a distributed architecture where:
In another non-limitative embodiment, the system Sys is configured as a centralized architecture where a unique server Sc centralized all the modules for the subsets Sub that is to say Sm, Cim, Um, and the graph generator Dggm and the cross-community experience manager module Em.
The user terminal T comprises:
The user terminal T comprises a unit processor PR illustrated in
It is to be noted that a unit processor PR comprises one or a plurality of processors.
It should be appreciated by those skilled in the art that any block diagrams herein represent conceptual views of illustrative circuitry embodying the principles of the invention. Similarly, it will be appreciated that any flow charts, flow diagrams, state transition diagrams, pseudo code, and the like represent various processes which may be substantially represented in computer readable medium and so executed by a computer or processor, whether or not such computer or processor is explicitly shown.
It is to be understood that the present invention is not limited to the aforementioned embodiments and variations and modifications may be made without departing from the scope of the invention. In the respect, the following remarks are made.
The description and drawings merely illustrate the principles of the invention. It will thus be appreciated that those skilled in the art will be able to devise various arrangements that, although not explicitly described or shown herein, embody the principles of the invention and are included within its spirit and scope. Furthermore, all examples recited herein are principally intended expressly to be only for pedagogical purposes to aid the reader in understanding the principles of the invention and the concepts contributed by the inventor(s) to furthering the art, and are to be construed as being without limitation to such specifically recited examples and conditions. Moreover, all statements herein reciting principles, aspects, and embodiments of the invention, as well as specific examples thereof, are intended to encompass equivalents thereof.
The functions of the various elements shown in the
A person of skill in the art would readily recognize that steps of various above-described methods can be performed by programmed computers. Herein, some embodiments are also intended to cover program storage devices, e.g., digital data storage media, which are machine or computer readable and encode machine-executable. The program storage devices are therefore non transitory and may be, e.g., digital memories, magnetic storage magnetic storage media such as a magnetic disks and magnetic tapes, hard drives, or optically readable digital data storage media. The embodiments are also intended to cover computers programmed to perform said steps of the above-described method.
One or a plurality of computer program products PG as illustrated in
The computer program products PG comprise a set of instructions.
Thus, said set of instructions contained, for example, in a system memory, may cause the system Sys to carry out the different steps of the method M.
Therefore the invention presents the further following advantages.
Any reference sign in the following claims should not be construed as limiting the claim. It will be obvious that the verb “to comprise” and its conjugations do not exclude the presence of any other steps or elements beside those defined in any claim. The word “a” or “an” preceding an element or step does not exclude the presence of a plurality of such elements or steps.
Number | Date | Country | Kind |
---|---|---|---|
12151626.4 | Jan 2012 | EP | regional |
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/EP2013/050448 | 1/11/2013 | WO | 00 |