US20130297714A1 - Method and apparatus for targeting messages to users in a social network - Google Patents

Method and apparatus for targeting messages to users in a social network Download PDF

Info

Publication number
US20130297714A1
US20130297714A1 US13/936,562 US201313936562A US2013297714A1 US 20130297714 A1 US20130297714 A1 US 20130297714A1 US 201313936562 A US201313936562 A US 201313936562A US 2013297714 A1 US2013297714 A1 US 2013297714A1
Authority
US
United States
Prior art keywords
topic
users
interactions
user
observed interactions
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.)
Abandoned
Application number
US13/936,562
Inventor
Sugato Basu
Jiye Yu
Jeffrey Davitz
Mark Drummond
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.)
Calabrio Inc
Original Assignee
SRI International Inc
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 SRI International Inc filed Critical SRI International Inc
Priority to US13/936,562 priority Critical patent/US20130297714A1/en
Publication of US20130297714A1 publication Critical patent/US20130297714A1/en
Assigned to CALABRIO, INC. reassignment CALABRIO, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: SRI INTERNATIONAL
Abandoned legal-status Critical Current

Links

Images

Classifications

    • H04L51/32
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/52User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail for supporting social networking services
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1859Arrangements for providing special services to substations for broadcast or conference, e.g. multicast adapted to provide push services, e.g. data channels

Definitions

  • a computer program listing illustrating source code for an exemplary embodiment of the present invention is provided herewith as Appendix I through Appendix XIII, which is herein incorporated by reference in its entirety.
  • the present invention relates generally to the field of computer networking, and relates more specifically to the field of targeted messaging to users of network communications.
  • a method and apparatus for targeting messages to users in a social network for example by first identifying topics in the social network.
  • One embodiment of a method for discovering topics in a social network includes collecting information from the social network, the information including at least one of: interactions between users of the social network or profile information for the users, determining a global topic model including at least one topic, based on the collected information, and locally refining the global topic model in accordance with the collected information.
  • FIG. 1 illustrates a flow diagram that depicts one embodiment of a method for determining groups of users and topics, according to the present invention
  • FIG. 2 illustrates a flow diagram that depicts one embodiment of a method for targeting messages, according to the present invention.
  • FIG. 3 is a high-level block diagram of the present method for targeting messages that is implemented using a general-purpose computing device.
  • the present invention relates to a method and apparatus for targeting messages to users in a social network.
  • embodiments of the invention are described in the context of advertisement distribution, it is to be appreciated that the present invention may be applied to the distribution of any type of message, including non-commercial messages such as recommendations (e.g., restaurants, movies, music, news articles, web pages, or the like) that a user or group of users might like based on their interactions.
  • recommendations e.g., restaurants, movies, music, news articles, web pages, or the like
  • FIG. 1 illustrates a flow diagram that depicts one embodiment of a method 100 for determining groups of network users and topics, according to the present invention.
  • the method 100 may be implemented to extract groups and topics from interactions observed in a social network.
  • the network is represented as a graph in which the nodes represent network users and edges represent the relationships or connectivity among the nodes (e.g., explicit relationships such as “friend” or implicit relationships such as those formed through reference or comment).
  • the method 100 is initialized at step 105 and proceeds to step 110 , where the method 100 collects information from the network.
  • the collected information includes: interactions between a plurality of network users in the network and profile information about the network users.
  • interactions collected include at least one of: a piece of electronic mail, an instant message, a posting to a website or to a blog, a comment or a tag made on a website or blog, and an online forum discussion posting.
  • the collected profile information includes: data about a network user that was posted (e.g., to a web site) by the network user, data provided by the network user as part of a registration process (e.g., published or unpublished information provided to a website for purposes of setting up a posting account), and data collected about the network user from other sources (e.g., other network users, other web sites, public records).
  • Profile information includes both free-form text and categorized or typed information (e.g., demographic information such as age, location, gender).
  • a data sampling approach is employed in accordance with step 110 .
  • a subset of interactions and/or network users is monitored (as opposed to collecting all interactions between all network users, and collecting profile information of every network user).
  • the subset of interactions is randomly selected.
  • step 115 the method 100 extracts words and sequences of words (n-grams) contained in the collected interactions.
  • the words and n-grams are mapped into an ontology, e.g., to determine a normalized set of concepts, as described later herein with respect to FIG. 2 .
  • field-specific attributes are extracted from the profile information. For example, data relating to “music,” “movies,” “books,” “age,” or the like may be extracted.
  • a classifier examines the collected interactions with respect to the extracted field-specific features to obtain weights of the field-specific features relative to links between the interactions. The resultant weights provide a measure of how discriminative a particular profile attribute type is in predicting interaction links. In an alternative embodiment, these weights are predetermined rather than calculated by a classifier.
  • step 120 the method 100 generates a set of global soft constraints with associated penalties.
  • the global soft constraints are used to bias subsequent global topic model searches (described in further detail below with respect to step 130 ) toward a desired solution. In other words, a subsequent search attempts to optimize for the lowest penalty provided by the global soft constraints.
  • global soft constraints are generated from a set of initial rules or assumptions over all sets of users. For example, an initial rule could dictate that users who share similar musical tastes form a group, or that users of the same age living in the same locality form a group. In a further example, an initial rule could describe an assumption that a particular set of words describes a topic.
  • the method 100 determines a global set of topics, based on the profile information collected in step 110 .
  • the global set of topics is determined in accordance with a generalization of the spherical KMeans algorithm described in “ Concept Decompositions for Large Sparse Text Data using Clustering ,” by I. S. Dhillon and D. S. Modha in Machine Learning , vol. 42:1, pp. 143-175, January 2001, which is incorporated herein by reference.
  • an iterative algorithm that starts with an initial topic assumption is used to determine the global set of topics, where a topic comprises a group of words and phrases that are considered related to the same concept.
  • the method 100 first creates a group of people (e.g., network users), for example by performing clustering based on a similarity measure (such as cosine similarity) of normalized feature vectors constructed from the profile information to the current (initial) topics.
  • a similarity measure such as cosine similarity
  • the information types are taken into account by creating a composite feature vector that combines the feature vectors of each information type, performing normalization, and considering a weighted combination of the similarities across different information types in the clustering.
  • the method 100 next infers the topic of the group by calculating the centroid of the feature vectors of the group.
  • the inferred topics may, in turn, be used in place of the initial topic assumption to create new groups.
  • iterations of group creation and topic inference are continued until the difference between successive estimates of an objective function (calculated using the inferred topics) is less than a predetermined threshold.
  • other convergence criteria such as an iteration counter (where iteration is deemed complete after a predetermined maximum number of iterations have been performed), are used to determine how many iterations are necessary.
  • the method 100 performs post-processing on the output (inferred topics) to merge similar topics, for example using complete-link hierarchical clustering based on cosine similarity.
  • the post-processing outputs a reduced set of merged global topics, with each person (e.g., network user) being assigned to a single topic.
  • EM expectation maximization
  • a user may be probabilistically assigned to multiple topics, and a probabilistic merging is performed in the post-processing step.
  • the method 100 proceeds to step 140 and performs local refinement for each topic, using the collected interaction data. For each topic output by step 130 , the method 100 determines a connection network among the members of the group from which the topic was inferred, to determine a relative “strength” of relationships among the users in the network (e.g., by considering the number of interactions).
  • the collected interactions are filtered according to the given topic (e.g., the frequency of the topic words and/or phrases appearing in the interactions, where the weight of a link after the filtering is proportional to the projection of the words contained in the interaction on the topic under consideration).
  • Partitions of the graph representing the network are created based on the link weights and the graph topology, for example by using a graph clustering algorithm that performs model selection (i.e., automatically selects the right number of graph clusters), such as the Markov Cluster (MCL) algorithm described by Stijn van Dongen in “ Graph Clustering by Flow Simulation ,” Ph.D. thesis, University of Utrecht, May 2000, which is incorporated herein by reference.
  • MCL Markov Cluster
  • the method 100 then computes sub-topics within each global topic, by using the iterative clustering algorithm described above with respect to step 130 , but also including the links within each graph partition as additional constraints (e.g., by using a semi-supervised clustering model like the Hidden Markov Random Field (HMRF) described in “ A Probabilistic Framework for Semi - Supervised Clustering ,” by Sugato Basu, Mikhail Bilenko, and Raymond J. Mooney in the Proceedings of the 10 th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining (KDD-2004), Seattle, Wash., August 2004, which is incorporated herein by reference).
  • HMRF Hidden Markov Random Field
  • the method 100 may use either a fast (but less accurate) greedy intracluster medium (ICM) algorithm for inference, or a slower (but more accurate) message passing algorithm using loopy belief propagation—this allows a trade-off between the efficiency of the inference algorithm and the quality of the final result, as discussed, for example, in, “ A Comparison of Inference Techniques for Semi supervised Clustering with Hidden Markov Random Fields ,” by Mikhail Bilenko, and Sugato Basu in Proceedings of the ICML -2004 Workshop on Statistical Relational Learning and its Connections to Other Fields (SRL-2004), Banff, Canada, July 2004, which is incorporated herein by reference.
  • ICM intracluster medium
  • the method 100 then filters the refined clustering results by: (i) rank ordering the topics in terms of their quality (cluster coherence); and (ii) rank ordering the words and/or phrases in the topic using a score comprising the feature weights in the topic centroids and mutual information of the features with respect to the cluster partitioning.
  • the filtered clusters thereby provide an improved set of descriptive and discriminative words for a topic.
  • step 150 the method 100 dynamically updates the clusters of topics and users as more information becomes available from the social network (e.g., in terms of additional collected interactions between the users, additional profile information, and the addition of new users to the social network).
  • the global topics and user groups are incrementally updated, using a hybrid algorithm that interleaves online clustering on incremental data streams with periodic offline clustering on batch data, for example as described in “ Topic Models over Text Streams: A Study of Batch and Online Unsupervised Learning .” by Arindam Banerjee, Sugato Basu in Proceedings of the SIAM International Conference on Data Mining (SDM-2007), Minneapolis, Minn., April 2007, which is incorporated herein by reference.
  • the local refinement algorithm implemented in accordance with step 140 is then periodically performed again, when the number of links added/deleted for a user's collected interactions crosses a predetermined threshold, such threshold being provided as an input to the algorithm.
  • the method 100 terminates in step 155 .
  • FIG. 2 illustrates a flow diagram that depicts one embodiment of a method 200 for targeting messages, according to the present invention.
  • the method 200 may be implemented, for example, by an advertiser wishing to distribute an advertising message to a group of consumers (e.g., social network users) who are most likely to be interested in the advertised product or service.
  • a group of consumers e.g., social network users
  • the method 200 is initialized at step 205 and proceeds to step 210 , where the method 200 receives from a user (e.g., an advertiser) a set of one or more terms (keywords) representing a proposed item of advertising (e.g., words descriptive of a product).
  • a user e.g., an advertiser
  • terms can include phrases (i.e., groups of words) and independent words, and may be a single word.
  • the terms received in step 210 are projected into at least one ontology source, to determine a normalized set of concepts represented by the received terms.
  • An ontology source in this context represents a data source that describes the relationships of particular terms to concepts (e.g., the words used to describe a particular concept in an encyclopedia), and may further relate the described concepts to one another.
  • Exemplary ontology sources that can be used for this purpose include community-generated content such as general encyclopedias (e.g., Wikipedia®), directories (e.g., the Open Directory Project), and topic-specific encyclopedias (e.g., the Internet Movie Database). Domain-specific ontologies and/or dictionaries can also be used as ontology sources, whether general or topic-specific (e.g., medical dictionaries and legal dictionaries).
  • the ontology source(s) into which the terms received in step 210 are projected may include one or more community-generated ontology sources.
  • Community-generated ontology sources are typically the result of iteration, modification, and refinement by a group of community members, such that the resulting data represents a consensus of the community on the meanings and relationships of the particular represented terms, topics, and concepts.
  • community-generated ontology sources may comprise a valuable resource within the context of the method 200 , where a goal is to normalize the user's terms or keywords in light of what the terms mean to the target community.
  • a community-generated source that was made by the target community may include some of the richest data for use in determining how members of the target community are likely to interpret messages the user targets to them.
  • the method 200 performs a separate projection of the user's terms into each target ontology source.
  • the projections are presented to the user in order to give the user a feel for the type of probes that will be subsequently used to analyze on-line conversational content.
  • probe refers to the use of the projections into the ontology sources as patterns to explore the space of network user-generated content.
  • the method 200 receives a selection of probes from the user.
  • the probes selected comprise the user's set of desired probes, selected from the one or more of the projections presented in step 220 .
  • the probes are used as initial patterns for exploring the space of network user-generated content.
  • the method 200 maps the probes selected by the user in step 230 into a set of data representing interactions between network users (e.g., potential advertising targets). For instance, the selected probes may be mapped into the social network structures of network user-generated content web sites. This mapping yields clusters of messaging targets, namely, the people (e.g., network users) who are associated (with a relatively high probability) with the probed topics and hence are more valuable messaging targets (e.g., more likely to purchase the products depicted in an advertising message).
  • the clusters that are developed in this step will typically be refinements of the topics that are generated from the initial projection in step 220 , and will present the topic of the cluster (e.g., what the users within the cluster are discussing), information about the size of the cluster (e.g., the number of members and participation strength), and metrics about the interactions within the cluster (e.g., the frequency of interactions and temporal pattern).
  • the method 100 described earlier herein with respect to FIG. 1 is used to perform the mapping in accordance with step 240 , with the probes forming an initial rule that will bias the topic model.
  • the probes may also be used to post-process the topic words and/or phrases, in order to generate relevant categorical descriptors.
  • step 245 the method 200 determines whether to modify the messaging targets. For example, the user may wish to change or modify the selection of messaging targets based the refinement information generated in step 240 (e.g., because of the discovered content or because of other information about the users associated with sub-topics). If the method 200 concludes in step 245 that the user does wish to modify the messaging targets, the method 200 returns to either step 210 (to receive new terms) or to step 230 (to receive a new selection of probes), depending on the user's selection, and proceeds as described above.
  • the method 200 determines whether to modify the messaging targets. For example, the user may wish to change or modify the selection of messaging targets based the refinement information generated in step 240 (e.g., because of the discovered content or because of other information about the users associated with sub-topics). If the method 200 concludes in step 245 that the user does wish to modify the messaging targets, the method 200 returns to either step 210 (to receive new terms) or to step 230 (to receive a new selection of probes), depending
  • step 245 the method 200 proceeds to step 250 and receives a segment selection from the user.
  • the user selects desired target segments from the clusters presented in step 240 , the selected segments being those associated with topic refinements that are of interest to the user.
  • a segment for the purposes of the present invention may comprise an entire cluster or set of clusters, or filtered portions of one or more clusters (e.g., a credit card company may select a segment that comprises only those network users in the presented clusters who have a threshold credit rating). For example, consider a user that has indicated, through his or her initial selection, criteria concepts that match the concept/topic “football” in one of the ontology sources used in step 220 .
  • the social network-based clustering could then yield topic refinements (what users in the social network are discussing) such as “buying tickets for football games”, “fantasy football leagues”, and the like.
  • topic refinements what users in the social network are discussing
  • the user can select the messaging targets most likely to be in his or her message, for example football ticket buyers as opposed to fantasy football participants.
  • step 260 the method 200 collects a message (e.g., a set of advertising copy) from the user.
  • the message is then transmitted to the target segments identified in step 250 (e.g., the users participating in the social network conversations regarding the selected topic) through a network fulfillment process.
  • step 270 the method 200 monitors the performance of the message provided to the messaging targets. This step may be useful, for example, where the message comprises advertising content. In some embodiments, the method 200 presents performance statistics to the user based on refined topic segmentation.
  • the method 200 terminates in step 275 .
  • Embodiments of the present invention may be advantageously applied to the field of advertising, where an advertiser user may be enabled to build an advertising campaign incrementally, by first selecting target concepts and then monitoring how those concepts are active in user-generated data sources.
  • the typical types of user-generated data sources that are examined are conversations, for example those that take place in so-called “social media” web sites, where users create web pages that contain text comments to others in the community.
  • Embodiments of the present invention thus allow an advertiser user to see relevant statistics about the community activity level associated with any given concept, for instance, in terms of audience size, posting frequency, and other communication intensity measures.
  • FIG. 3 is a high-level block diagram of the message targeting method that is implemented using a general purpose computing device 300 .
  • a general purpose computing device 300 comprises a processor 302 , a memory 304 , a message targeting module 305 and various input/output (I/O) devices 306 such as a display, a keyboard, a mouse, a stylus, a wireless network access card, and the like.
  • I/O devices 306 such as a display, a keyboard, a mouse, a stylus, a wireless network access card, and the like.
  • at least one I/O device is a storage device (e.g., a disk drive, an optical disk drive, a floppy disk drive).
  • the message targeting module 305 can be implemented as a physical device or subsystem that is coupled to a processor through a communication channel.
  • the message targeting module 305 can be represented by one or more software applications (or even a combination of software and hardware, e.g., using Application Specific Integrated Circuits (ASIC)), where the software is loaded from a storage medium (e.g., I/O devices 306 ) and operated by the processor 302 in the memory 304 of the general purpose computing device 300 .
  • a storage medium e.g., I/O devices 306
  • a computer readable medium or carrier e.g., RAM, magnetic or optical drive or diskette, and the like.
  • one or more steps of the methods described herein may include a storing, displaying and/or outputting step as required for a particular application.
  • any data, records, fields, and/or intermediate results discussed in the methods can be stored, displayed, and/or outputted to another device as required for a particular application.
  • steps or blocks in the accompanying Figures that recite a determining operation or involve a decision do not necessarily require that both branches of the determining operation be practiced. In other words, one of the branches of the determining operation can be deemed as an optional step.

Abstract

A method and apparatus for targeting messages to users in a social network, for example by first identifying topics in the social network is provided. One embodiment of a method for discovering topics in a social network includes collecting information from the social network, the information including at least one of: interactions between users of the social network or profile information for the users, determining a global topic model including at least one topic, based on the collected information, and locally refining the global topic model in accordance with the collected information.

Description

    CROSS REFERENCE TO RELATED APPLICATIONS
  • This application is a continuation of co-pending U.S. patent application Ser. No. 12/002,412, filed Dec. 17, 2007, which in turn claims the benefit of U.S. Provisional Patent Applications Ser. No. 60/887,778, filed Feb. 1, 2007; and Ser. No. 60/892,824, filed Mar. 2, 2007. All of these applications are herein incorporated by reference in their entireties.
  • REFERENCE TO GOVERNMENT FUNDING
  • This invention was made in part with Government support under contract number NBCHD030010, awarded by the Department of the Interior National Business Center. The Government has certain rights in this invention.
  • COMPUTER PROGRAM LISTING APPENDIX
  • A computer program listing illustrating source code for an exemplary embodiment of the present invention is provided herewith as Appendix I through Appendix XIII, which is herein incorporated by reference in its entirety.
  • COPYRIGHT PROTECTION
  • A portion of the disclosure of this patent document contains material which is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure, as it appears in the Patent and Trademark Office patent file or records, but otherwise reserves all copyright rights whatsoever.
  • FIELD OF THE INVENTION
  • The present invention relates generally to the field of computer networking, and relates more specifically to the field of targeted messaging to users of network communications.
  • SUMMARY OF THE INVENTION
  • A method and apparatus for targeting messages to users in a social network, for example by first identifying topics in the social network is provided. One embodiment of a method for discovering topics in a social network includes collecting information from the social network, the information including at least one of: interactions between users of the social network or profile information for the users, determining a global topic model including at least one topic, based on the collected information, and locally refining the global topic model in accordance with the collected information.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • The teachings of the present invention can be readily understood by considering the following detailed description in conjunction with the accompanying drawings, in which:
  • FIG. 1 illustrates a flow diagram that depicts one embodiment of a method for determining groups of users and topics, according to the present invention;
  • FIG. 2 illustrates a flow diagram that depicts one embodiment of a method for targeting messages, according to the present invention; and
  • FIG. 3 is a high-level block diagram of the present method for targeting messages that is implemented using a general-purpose computing device.
  • To facilitate understanding, identical reference numerals have been used, where possible, to designate identical elements that are common to the figures.
  • DETAILED DESCRIPTION
  • The present invention relates to a method and apparatus for targeting messages to users in a social network. Although embodiments of the invention are described in the context of advertisement distribution, it is to be appreciated that the present invention may be applied to the distribution of any type of message, including non-commercial messages such as recommendations (e.g., restaurants, movies, music, news articles, web pages, or the like) that a user or group of users might like based on their interactions.
  • FIG. 1 illustrates a flow diagram that depicts one embodiment of a method 100 for determining groups of network users and topics, according to the present invention. For instance, the method 100 may be implemented to extract groups and topics from interactions observed in a social network. For the purposes of certain steps of the method 100, the network is represented as a graph in which the nodes represent network users and edges represent the relationships or connectivity among the nodes (e.g., explicit relationships such as “friend” or implicit relationships such as those formed through reference or comment).
  • The method 100 is initialized at step 105 and proceeds to step 110, where the method 100 collects information from the network. In one embodiment, the collected information includes: interactions between a plurality of network users in the network and profile information about the network users. In one embodiment, interactions collected include at least one of: a piece of electronic mail, an instant message, a posting to a website or to a blog, a comment or a tag made on a website or blog, and an online forum discussion posting. In one embodiment, the collected profile information includes: data about a network user that was posted (e.g., to a web site) by the network user, data provided by the network user as part of a registration process (e.g., published or unpublished information provided to a website for purposes of setting up a posting account), and data collected about the network user from other sources (e.g., other network users, other web sites, public records). Profile information includes both free-form text and categorized or typed information (e.g., demographic information such as age, location, gender).
  • In one embodiment, a data sampling approach is employed in accordance with step 110. In this case, a subset of interactions and/or network users is monitored (as opposed to collecting all interactions between all network users, and collecting profile information of every network user). In one embodiment, the subset of interactions is randomly selected.
  • In step 115, the method 100 extracts words and sequences of words (n-grams) contained in the collected interactions. In one embodiment, the words and n-grams are mapped into an ontology, e.g., to determine a normalized set of concepts, as described later herein with respect to FIG. 2.
  • In another embodiment, field-specific attributes are extracted from the profile information. For example, data relating to “music,” “movies,” “books,” “age,” or the like may be extracted. In a further embodiment, as part of the extraction step 115, a classifier examines the collected interactions with respect to the extracted field-specific features to obtain weights of the field-specific features relative to links between the interactions. The resultant weights provide a measure of how discriminative a particular profile attribute type is in predicting interaction links. In an alternative embodiment, these weights are predetermined rather than calculated by a classifier.
  • In optional step 120 (illustrated in phantom), the method 100 generates a set of global soft constraints with associated penalties. The global soft constraints are used to bias subsequent global topic model searches (described in further detail below with respect to step 130) toward a desired solution. In other words, a subsequent search attempts to optimize for the lowest penalty provided by the global soft constraints. In one embodiment, global soft constraints are generated from a set of initial rules or assumptions over all sets of users. For example, an initial rule could dictate that users who share similar musical tastes form a group, or that users of the same age living in the same locality form a group. In a further example, an initial rule could describe an assumption that a particular set of words describes a topic.
  • In step 130, the method 100 determines a global set of topics, based on the profile information collected in step 110. In one embodiment, the global set of topics is determined in accordance with a generalization of the spherical KMeans algorithm described in “Concept Decompositions for Large Sparse Text Data using Clustering,” by I. S. Dhillon and D. S. Modha in Machine Learning, vol. 42:1, pp. 143-175, January 2001, which is incorporated herein by reference.
  • In this embodiment, an iterative algorithm that starts with an initial topic assumption is used to determine the global set of topics, where a topic comprises a group of words and phrases that are considered related to the same concept. In order to determine the set of global topics in accordance with step 130, the method 100 first creates a group of people (e.g., network users), for example by performing clustering based on a similarity measure (such as cosine similarity) of normalized feature vectors constructed from the profile information to the current (initial) topics. For typed profile information, the information types are taken into account by creating a composite feature vector that combines the feature vectors of each information type, performing normalization, and considering a weighted combination of the similarities across different information types in the clustering.
  • For each group created, the method 100 next infers the topic of the group by calculating the centroid of the feature vectors of the group. The inferred topics may, in turn, be used in place of the initial topic assumption to create new groups. In one embodiment, iterations of group creation and topic inference are continued until the difference between successive estimates of an objective function (calculated using the inferred topics) is less than a predetermined threshold. In alternative embodiments, other convergence criteria, such as an iteration counter (where iteration is deemed complete after a predetermined maximum number of iterations have been performed), are used to determine how many iterations are necessary.
  • Once the clustering iterations are complete, the method 100 performs post-processing on the output (inferred topics) to merge similar topics, for example using complete-link hierarchical clustering based on cosine similarity. The post-processing outputs a reduced set of merged global topics, with each person (e.g., network user) being assigned to a single topic. In an alternative embodiment (where an expectation maximization (EM) algorithm is used instead of KMeans-type assignment in the determination of the global set of topics), a user may be probabilistically assigned to multiple topics, and a probabilistic merging is performed in the post-processing step. One exemplary EM-type algorithm that may be advantageously implemented in accordance with step 130 is described in “Maximum likelihood from incomplete data via the EM algorithm,” by Dempster, A. P., Laird, N. M., and Rubin, D. B. in the Journal of the Royal Statistical Society, B, 39, 1-38, 1977, which is incorporated herein by reference.
  • Once the global topic model is determined, the method 100 proceeds to step 140 and performs local refinement for each topic, using the collected interaction data. For each topic output by step 130, the method 100 determines a connection network among the members of the group from which the topic was inferred, to determine a relative “strength” of relationships among the users in the network (e.g., by considering the number of interactions).
  • For each topic, the collected interactions are filtered according to the given topic (e.g., the frequency of the topic words and/or phrases appearing in the interactions, where the weight of a link after the filtering is proportional to the projection of the words contained in the interaction on the topic under consideration). Partitions of the graph representing the network are created based on the link weights and the graph topology, for example by using a graph clustering algorithm that performs model selection (i.e., automatically selects the right number of graph clusters), such as the Markov Cluster (MCL) algorithm described by Stijn van Dongen in “Graph Clustering by Flow Simulation,” Ph.D. thesis, University of Utrecht, May 2000, which is incorporated herein by reference.
  • The method 100 then computes sub-topics within each global topic, by using the iterative clustering algorithm described above with respect to step 130, but also including the links within each graph partition as additional constraints (e.g., by using a semi-supervised clustering model like the Hidden Markov Random Field (HMRF) described in “A Probabilistic Framework for Semi-Supervised Clustering,” by Sugato Basu, Mikhail Bilenko, and Raymond J. Mooney in the Proceedings of the 10th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining (KDD-2004), Seattle, Wash., August 2004, which is incorporated herein by reference). In the cluster assignment step, the method 100 may use either a fast (but less accurate) greedy intracluster medium (ICM) algorithm for inference, or a slower (but more accurate) message passing algorithm using loopy belief propagation—this allows a trade-off between the efficiency of the inference algorithm and the quality of the final result, as discussed, for example, in, “A Comparison of Inference Techniques for Semi supervised Clustering with Hidden Markov Random Fields,” by Mikhail Bilenko, and Sugato Basu in Proceedings of the ICML-2004 Workshop on Statistical Relational Learning and its Connections to Other Fields (SRL-2004), Banff, Canada, July 2004, which is incorporated herein by reference.
  • The method 100 then filters the refined clustering results by: (i) rank ordering the topics in terms of their quality (cluster coherence); and (ii) rank ordering the words and/or phrases in the topic using a score comprising the feature weights in the topic centroids and mutual information of the features with respect to the cluster partitioning. The filtered clusters thereby provide an improved set of descriptive and discriminative words for a topic.
  • In optional step 150 (illustrated in phantom), the method 100 dynamically updates the clusters of topics and users as more information becomes available from the social network (e.g., in terms of additional collected interactions between the users, additional profile information, and the addition of new users to the social network). In one embodiment, the global topics and user groups are incrementally updated, using a hybrid algorithm that interleaves online clustering on incremental data streams with periodic offline clustering on batch data, for example as described in “Topic Models over Text Streams: A Study of Batch and Online Unsupervised Learning.” by Arindam Banerjee, Sugato Basu in Proceedings of the SIAM International Conference on Data Mining (SDM-2007), Minneapolis, Minn., April 2007, which is incorporated herein by reference. The local refinement algorithm implemented in accordance with step 140 is then periodically performed again, when the number of links added/deleted for a user's collected interactions crosses a predetermined threshold, such threshold being provided as an input to the algorithm.
  • The method 100 terminates in step 155.
  • FIG. 2 illustrates a flow diagram that depicts one embodiment of a method 200 for targeting messages, according to the present invention. The method 200 may be implemented, for example, by an advertiser wishing to distribute an advertising message to a group of consumers (e.g., social network users) who are most likely to be interested in the advertised product or service.
  • The method 200 is initialized at step 205 and proceeds to step 210, where the method 200 receives from a user (e.g., an advertiser) a set of one or more terms (keywords) representing a proposed item of advertising (e.g., words descriptive of a product). The terms can include phrases (i.e., groups of words) and independent words, and may be a single word.
  • At step 220, the terms received in step 210 are projected into at least one ontology source, to determine a normalized set of concepts represented by the received terms. An ontology source in this context represents a data source that describes the relationships of particular terms to concepts (e.g., the words used to describe a particular concept in an encyclopedia), and may further relate the described concepts to one another. Exemplary ontology sources that can be used for this purpose include community-generated content such as general encyclopedias (e.g., Wikipedia®), directories (e.g., the Open Directory Project), and topic-specific encyclopedias (e.g., the Internet Movie Database). Domain-specific ontologies and/or dictionaries can also be used as ontology sources, whether general or topic-specific (e.g., medical dictionaries and legal dictionaries).
  • As discussed above, the ontology source(s) into which the terms received in step 210 are projected may include one or more community-generated ontology sources. Community-generated ontology sources are typically the result of iteration, modification, and refinement by a group of community members, such that the resulting data represents a consensus of the community on the meanings and relationships of the particular represented terms, topics, and concepts. As such, community-generated ontology sources may comprise a valuable resource within the context of the method 200, where a goal is to normalize the user's terms or keywords in light of what the terms mean to the target community. A community-generated source that was made by the target community may include some of the richest data for use in determining how members of the target community are likely to interpret messages the user targets to them.
  • In one embodiment, the method 200 performs a separate projection of the user's terms into each target ontology source. The projections are presented to the user in order to give the user a feel for the type of probes that will be subsequently used to analyze on-line conversational content. In this context, “probe” refers to the use of the projections into the ontology sources as patterns to explore the space of network user-generated content.
  • At step 230, the method 200 receives a selection of probes from the user. The probes selected comprise the user's set of desired probes, selected from the one or more of the projections presented in step 220. As discussed with respect to step 220, the probes are used as initial patterns for exploring the space of network user-generated content.
  • At step 240, the method 200 maps the probes selected by the user in step 230 into a set of data representing interactions between network users (e.g., potential advertising targets). For instance, the selected probes may be mapped into the social network structures of network user-generated content web sites. This mapping yields clusters of messaging targets, namely, the people (e.g., network users) who are associated (with a relatively high probability) with the probed topics and hence are more valuable messaging targets (e.g., more likely to purchase the products depicted in an advertising message). The clusters that are developed in this step will typically be refinements of the topics that are generated from the initial projection in step 220, and will present the topic of the cluster (e.g., what the users within the cluster are discussing), information about the size of the cluster (e.g., the number of members and participation strength), and metrics about the interactions within the cluster (e.g., the frequency of interactions and temporal pattern). In one embodiment, the method 100 described earlier herein with respect to FIG. 1 is used to perform the mapping in accordance with step 240, with the probes forming an initial rule that will bias the topic model. The probes may also be used to post-process the topic words and/or phrases, in order to generate relevant categorical descriptors.
  • In step 245, the method 200 determines whether to modify the messaging targets. For example, the user may wish to change or modify the selection of messaging targets based the refinement information generated in step 240 (e.g., because of the discovered content or because of other information about the users associated with sub-topics). If the method 200 concludes in step 245 that the user does wish to modify the messaging targets, the method 200 returns to either step 210 (to receive new terms) or to step 230 (to receive a new selection of probes), depending on the user's selection, and proceeds as described above.
  • Alternatively, if the method 200 concludes in step 245 that the user does not wish to modify the messaging targets, the method 200 proceeds to step 250 and receives a segment selection from the user. The user selects desired target segments from the clusters presented in step 240, the selected segments being those associated with topic refinements that are of interest to the user. A segment for the purposes of the present invention may comprise an entire cluster or set of clusters, or filtered portions of one or more clusters (e.g., a credit card company may select a segment that comprises only those network users in the presented clusters who have a threshold credit rating). For example, consider a user that has indicated, through his or her initial selection, criteria concepts that match the concept/topic “football” in one of the ontology sources used in step 220. The social network-based clustering could then yield topic refinements (what users in the social network are discussing) such as “buying tickets for football games”, “fantasy football leagues”, and the like. Thus, in step 250, the user can select the messaging targets most likely to be in his or her message, for example football ticket buyers as opposed to fantasy football participants.
  • In step 260, the method 200 collects a message (e.g., a set of advertising copy) from the user. The message is then transmitted to the target segments identified in step 250 (e.g., the users participating in the social network conversations regarding the selected topic) through a network fulfillment process.
  • In optional step 270 (illustrated in phantom), the method 200 monitors the performance of the message provided to the messaging targets. This step may be useful, for example, where the message comprises advertising content. In some embodiments, the method 200 presents performance statistics to the user based on refined topic segmentation.
  • The method 200 terminates in step 275.
  • In some embodiments of method 200, steps 210 and 220 may be optional. For instance, the user may decide not to provide a set of representative keywords, rather to browse an ontology source (e.g., concept directory) directly to select target concepts that will guide a particular message placement. For example, without providing any keywords, but having selected Wikipedia® as the target ontology source, the user can chose the top-level Wikipedia® category of “Religion and belief systems” and the single associated sub-category of “Confucianism”. In this way, without providing any keywords, the user has indicated the particular concept that should be used to guide the placement of a message. In this alternative (i.e., keyword-free) embodiment, steps 240, 250, 260, and 270 are executed in substantially the same manner as described above.
  • Embodiments of the present invention may be advantageously applied to the field of advertising, where an advertiser user may be enabled to build an advertising campaign incrementally, by first selecting target concepts and then monitoring how those concepts are active in user-generated data sources. The typical types of user-generated data sources that are examined are conversations, for example those that take place in so-called “social media” web sites, where users create web pages that contain text comments to others in the community.
  • Embodiments of the present invention thus allow an advertiser user to see relevant statistics about the community activity level associated with any given concept, for instance, in terms of audience size, posting frequency, and other communication intensity measures.
  • FIG. 3 is a high-level block diagram of the message targeting method that is implemented using a general purpose computing device 300. In one embodiment, a general purpose computing device 300 comprises a processor 302, a memory 304, a message targeting module 305 and various input/output (I/O) devices 306 such as a display, a keyboard, a mouse, a stylus, a wireless network access card, and the like. In one embodiment, at least one I/O device is a storage device (e.g., a disk drive, an optical disk drive, a floppy disk drive). It should be understood that the message targeting module 305 can be implemented as a physical device or subsystem that is coupled to a processor through a communication channel.
  • Alternatively, the message targeting module 305 can be represented by one or more software applications (or even a combination of software and hardware, e.g., using Application Specific Integrated Circuits (ASIC)), where the software is loaded from a storage medium (e.g., I/O devices 306) and operated by the processor 302 in the memory 304 of the general purpose computing device 300. Thus, in one embodiment, the message targeting module 305 for monitoring and analyzing user communications, and targeting messages based thereon, as described herein with reference to the preceding Figures can be stored on a computer readable medium or carrier (e.g., RAM, magnetic or optical drive or diskette, and the like).
  • It should be noted that although not explicitly specified, one or more steps of the methods described herein may include a storing, displaying and/or outputting step as required for a particular application. In other words, any data, records, fields, and/or intermediate results discussed in the methods can be stored, displayed, and/or outputted to another device as required for a particular application. Furthermore, steps or blocks in the accompanying Figures that recite a determining operation or involve a decision, do not necessarily require that both branches of the determining operation be practiced. In other words, one of the branches of the determining operation can be deemed as an optional step.
  • Although various embodiments which incorporate the teachings of the present invention have been shown and described in detail herein, those skilled in the art can readily devise many other varied embodiments that still incorporate these teachings.

Claims (20)

What is claimed is:
1. A method for grouping users of a computer network, the method comprising:
algorithmically analyzing content of a first set of observed interactions among the users;
automatically inferring a topic, based at least in part on the algorithmically analyzing;
associating a subset of the users with the topic; and
determining a relative strength of a relationship between a first user and a second user in the subset of the users, wherein the relative strength is based at least in part on a quantitative measure of a second set of observed interactions involving the first user and the second user.
2. The method of claim 1, wherein the first set of observed interactions includes electronic mail.
3. The method of claim 1, wherein the first set of observed interactions includes an instant message.
4. The method of claim 1, wherein the first set of observed interactions includes a posting to a web site, blog, or online forum.
5. The method of claim 1, wherein the first set of observed interactions includes a comment or tag made on a web site or blog.
6. The method of claim 1, wherein the algorithmically analyzing comprises:
extracting a first word from the first set of observed interactions;
generating an initial topic by associating the first word with a second word;
associating at least some of the users with the initial topic, based at least in part on a similarity measure that relates the initial topic to profile information for the at least some of the users.
7. The method of claim 6, wherein the automatically inferring comprises:
calculating a centroid of the profile information, wherein the centroid is the topic.
8. The method of claim 6, wherein the automatically inferring comprises:
merging the initial topic with another topic.
9. The method of claim 1, further comprising:
refining the topic based, at least in part, on the first set of observed interactions.
10. The method of claim 9, wherein the refining comprises:
filtering the first set of observed interactions according to a criterion related to the topic;
adjusting a weight of a link relating a pair of interactions in the first set of observed interactions, in accordance with a result of the filtering; and
indicating the weight in a model of the topic.
11. The method of claim 10, wherein the criterion is a frequency of appearance in the first set of observed interactions of a word related to the topic.
12. The method of claim 11, wherein the adjusting comprises:
setting the weight to a value that is proportional to the frequency.
13. The method of claim 10, further comprising:
dividing the topic into a plurality of sub-topics, based at least in part on the link.
14. The method of claim 1, wherein the automatically inferring comprises:
mapping the word into an ontology to produce a normalized set of concepts that defines the topic.
15. The method of claim 14, wherein the ontology is community-generated.
16. The method of claim 1, further comprising:
obtaining a second third set of observed interactions among the users; and
dynamically updating the topic, based at least in part on the third set of observed interactions.
17. The method of claim 16, wherein the dynamically updating is performed incrementally.
18. The method of claim 17, wherein the dynamically updating comprises:
filtering the third set of observed interactions according to a criterion related to the topic;
adjusting a weight of a link relating a pair of interactions in a cumulative set of interactions that includes the first set of interactions, the second set of interactions, and the third set of interactions, in accordance with a result of the filtering; and
indicating the weight in a model of the topic.
19. The method of claim 16, wherein the dynamically updating comprises adjusting the relative strength.
20. A computer-readable storage device having stored thereon a plurality of instructions, the plurality of instructions including instructions which, when executed by a processor, cause the processor to perform a method for grouping users of a computer network, comprising:
algorithmically analyzing content of a first set of observed interactions among the users;
automatically inferring a topic, based at least in part on the algorithmically analyzing;
associating a subset of the users with the topic; and
determining a relative strength of a relationship between a first user and a second user in the subset of the users, wherein the relative strength is based at least in part on a quantitative measure of a second set of observed interactions involving the first user and the second user.
US13/936,562 2007-02-01 2013-07-08 Method and apparatus for targeting messages to users in a social network Abandoned US20130297714A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US13/936,562 US20130297714A1 (en) 2007-02-01 2013-07-08 Method and apparatus for targeting messages to users in a social network

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US88777807P 2007-02-01 2007-02-01
US89282407P 2007-03-02 2007-03-02
US12/002,412 US8484083B2 (en) 2007-02-01 2007-12-17 Method and apparatus for targeting messages to users in a social network
US13/936,562 US20130297714A1 (en) 2007-02-01 2013-07-08 Method and apparatus for targeting messages to users in a social network

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US12/002,412 Continuation US8484083B2 (en) 2007-02-01 2007-12-17 Method and apparatus for targeting messages to users in a social network

Publications (1)

Publication Number Publication Date
US20130297714A1 true US20130297714A1 (en) 2013-11-07

Family

ID=39940301

Family Applications (2)

Application Number Title Priority Date Filing Date
US12/002,412 Active 2030-08-16 US8484083B2 (en) 2007-02-01 2007-12-17 Method and apparatus for targeting messages to users in a social network
US13/936,562 Abandoned US20130297714A1 (en) 2007-02-01 2013-07-08 Method and apparatus for targeting messages to users in a social network

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US12/002,412 Active 2030-08-16 US8484083B2 (en) 2007-02-01 2007-12-17 Method and apparatus for targeting messages to users in a social network

Country Status (1)

Country Link
US (2) US8484083B2 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130297695A1 (en) * 2012-05-01 2013-11-07 Salesforce.com. inc. Methods and apparatus for an integrated incubation environment
US8990191B1 (en) * 2014-03-25 2015-03-24 Linkedin Corporation Method and system to determine a category score of a social network member
US20150178385A1 (en) * 2013-12-24 2015-06-25 International Business Machines Corporation Messaging digest
US10079911B2 (en) 2015-12-04 2018-09-18 International Business Machines Corporation Content analysis based selection of user communities or groups of users

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FI20085399A0 (en) * 2007-12-14 2008-04-30 Xtract Oy A method and arrangement for segmenting clients in a client management system
US20090281894A1 (en) * 2008-05-08 2009-11-12 Adwait Ratnaparkhi Method and Apparatus for Inferring Topics for Web Pages and Web Ads for Contextual Advertising
WO2010008685A2 (en) * 2008-05-28 2010-01-21 Aptima, Inc. Systems and methods for analyzing entity profiles
CN101605141A (en) * 2008-08-05 2009-12-16 天津大学 Web service relational network system based on semanteme
US8452781B2 (en) * 2009-01-27 2013-05-28 Palo Alto Research Center Incorporated System and method for using banded topic relevance and time for article prioritization
US8364615B2 (en) * 2009-02-06 2013-01-29 Microsoft Corporation Local graph partitioning using evolving sets
US20110055145A1 (en) * 2009-04-17 2011-03-03 Johnson Eric A Method and apparatus for insightful dimensional clustering
US20110016069A1 (en) * 2009-04-17 2011-01-20 Johnson Eric A System and method for voice of the customer integration into insightful dimensional clustering
WO2011079462A1 (en) * 2009-12-31 2011-07-07 Nokia Corporation Methods and apparatuses for user interest modeling
US8943145B1 (en) * 2010-02-08 2015-01-27 Intuit Inc. Customer support via social network
US8260789B2 (en) * 2010-04-01 2012-09-04 Microsoft Corporation System and method for authority value obtained by defining ranking functions related to weight and confidence value
US20110258016A1 (en) 2010-04-14 2011-10-20 Optify, Inc. Systems and methods for generating lead intelligence
US7921156B1 (en) 2010-08-05 2011-04-05 Solariat, Inc. Methods and apparatus for inserting content into conversations in on-line and digital environments
US20120197723A1 (en) * 2011-01-28 2012-08-02 Yahoo! Inc. User-customizable social grouping and advertisement targeting techniques
US9589056B2 (en) * 2011-04-05 2017-03-07 Microsoft Technology Licensing Llc User information needs based data selection
US9558165B1 (en) * 2011-08-19 2017-01-31 Emicen Corp. Method and system for data mining of short message streams
US8774513B2 (en) * 2012-01-09 2014-07-08 General Electric Company Image concealing via efficient feature selection
US10397162B2 (en) * 2012-12-14 2019-08-27 Facebook, Inc. Sending notifications to members of social group in a social networking system
US9348886B2 (en) * 2012-12-19 2016-05-24 Facebook, Inc. Formation and description of user subgroups
US20140298201A1 (en) * 2013-04-01 2014-10-02 Htc Corporation Method for performing merging control of feeds on at least one social network, and associated apparatus and associated computer program product
US20140297644A1 (en) * 2013-04-01 2014-10-02 Tencent Technology (Shenzhen) Company Limited Knowledge graph mining method and system
US8831969B1 (en) * 2013-10-02 2014-09-09 Linkedin Corporation System and method for determining users working for the same employers in a social network
US10013483B2 (en) * 2014-01-30 2018-07-03 Microsoft Technology Licensing, Llc System and method for identifying trending topics in a social network
US20160364733A1 (en) * 2015-06-09 2016-12-15 International Business Machines Corporation Attitude Inference
US10803245B2 (en) * 2016-09-06 2020-10-13 Microsoft Technology Licensing, Llc Compiling documents into a timeline per event
US11699039B2 (en) * 2017-06-28 2023-07-11 Microsoft Technology Licensing, Llc Virtual assistant providing enhanced communication session services
US10585991B2 (en) 2017-06-29 2020-03-10 Microsoft Technology Licensing, Llc Virtual assistant for generating personalized responses within a communication session
US10490193B2 (en) 2017-07-28 2019-11-26 Bank Of America Corporation Processing system using intelligent messaging flow markers based on language data
US10679627B2 (en) 2017-07-28 2020-06-09 Bank Of America Corporation Processing system for intelligently linking messages using markers based on language data
US10552431B2 (en) * 2017-09-29 2020-02-04 Microsoft Technology Licensing, Llc Personalizing search and/or recommendation results based on member activity models
US11605139B1 (en) 2022-06-23 2023-03-14 World Answer Zone Llc Method of collating, abstracting, and delivering worldwide viewpoints

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5974412A (en) * 1997-09-24 1999-10-26 Sapient Health Network Intelligent query system for automatically indexing information in a database and automatically categorizing users
US20020016786A1 (en) * 1999-05-05 2002-02-07 Pitkow James B. System and method for searching and recommending objects from a categorically organized information repository
US20020188681A1 (en) * 1998-08-28 2002-12-12 Gruen Daniel M. Method and system for informing users of subjects of discussion in on -line chats
US20030182310A1 (en) * 2002-02-04 2003-09-25 Elizabeth Charnock Method and apparatus for sociological data mining
US20030200198A1 (en) * 2000-06-28 2003-10-23 Raman Chandrasekar Method and system for performing phrase/word clustering and cluster merging
US20050071311A1 (en) * 2003-09-30 2005-03-31 Rakesh Agrawal Method and system of partitioning authors on a given topic in a newsgroup into two opposite classes of the authors
US20060080161A1 (en) * 2000-10-11 2006-04-13 Arnett Nicholas D System and method for collection and analysis of electronic discussion messages
US20060184800A1 (en) * 2005-02-16 2006-08-17 Outland Research, Llc Method and apparatus for using age and/or gender recognition techniques to customize a user interface
US20070043742A1 (en) * 2005-08-16 2007-02-22 Arguello Juan F Systems and methods for building and implementing ontology-based information resources
US20080059512A1 (en) * 2006-08-31 2008-03-06 Roitblat Herbert L Identifying Related Objects Using Quantum Clustering
US7386439B1 (en) * 2002-02-04 2008-06-10 Cataphora, Inc. Data mining by retrieving causally-related documents not individually satisfying search criteria used
US20080235018A1 (en) * 2004-01-20 2008-09-25 Koninklikke Philips Electronic,N.V. Method and System for Determing the Topic of a Conversation and Locating and Presenting Related Content
US7899871B1 (en) * 2006-01-23 2011-03-01 Clearwell Systems, Inc. Methods and systems for e-mail topic classification

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020026351A1 (en) * 1999-06-30 2002-02-28 Thomas E. Coleman Method and system for delivery of targeted commercial messages
US7904336B2 (en) * 2000-04-11 2011-03-08 Ncr Corporation System for generating revenue using electronic mail and method for its use
US6687696B2 (en) * 2000-07-26 2004-02-03 Recommind Inc. System and method for personalized search, information filtering, and for generating recommendations utilizing statistical latent class models
US20020062368A1 (en) * 2000-10-11 2002-05-23 David Holtzman System and method for establishing and evaluating cross community identities in electronic forums
US7143054B2 (en) * 2001-07-02 2006-11-28 The Procter & Gamble Company Assessment of communication strengths of individuals from electronic messages
US7519589B2 (en) * 2003-02-04 2009-04-14 Cataphora, Inc. Method and apparatus for sociological data analysis
US20030154126A1 (en) * 2002-02-11 2003-08-14 Gehlot Narayan L. System and method for identifying and offering advertising over the internet according to a generated recipient profile
US8140965B2 (en) * 2003-02-28 2012-03-20 Google, Inc. Identifying related information given content and/or presenting related information in association with content-related advertisements
US7606772B2 (en) * 2003-11-28 2009-10-20 Manyworlds, Inc. Adaptive social computing methods
US7281022B2 (en) * 2004-05-15 2007-10-09 International Business Machines Corporation System, method, and service for segmenting a topic into chatter and subtopics
US20060218225A1 (en) * 2005-03-28 2006-09-28 Hee Voon George H Device for sharing social network information among users over a network
US20060282303A1 (en) * 2005-06-08 2006-12-14 Microsoft Corporation Distributed organizational analyzer
US10510043B2 (en) * 2005-06-13 2019-12-17 Skyword Inc. Computer method and apparatus for targeting advertising
US7693817B2 (en) * 2005-06-29 2010-04-06 Microsoft Corporation Sensing, storing, indexing, and retrieving data leveraging measures of user activity, attention, and interest
AU2007219997A1 (en) * 2006-02-28 2007-09-07 Buzzlogic, Inc. Social analytics system and method for analyzing conversations in social media
US7720777B2 (en) * 2006-04-11 2010-05-18 Palo Alto Research Center Incorporated Method, device, and program product to monitor the social health of a persistent virtual environment
US20070288602A1 (en) * 2006-06-09 2007-12-13 Ebay Inc. Interest-based communities
US20080059897A1 (en) * 2006-09-02 2008-03-06 Whattoread, Llc Method and system of social networking through a cloud

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5974412A (en) * 1997-09-24 1999-10-26 Sapient Health Network Intelligent query system for automatically indexing information in a database and automatically categorizing users
US20020188681A1 (en) * 1998-08-28 2002-12-12 Gruen Daniel M. Method and system for informing users of subjects of discussion in on -line chats
US20020016786A1 (en) * 1999-05-05 2002-02-07 Pitkow James B. System and method for searching and recommending objects from a categorically organized information repository
US20030200198A1 (en) * 2000-06-28 2003-10-23 Raman Chandrasekar Method and system for performing phrase/word clustering and cluster merging
US20060080161A1 (en) * 2000-10-11 2006-04-13 Arnett Nicholas D System and method for collection and analysis of electronic discussion messages
US20030182310A1 (en) * 2002-02-04 2003-09-25 Elizabeth Charnock Method and apparatus for sociological data mining
US7386439B1 (en) * 2002-02-04 2008-06-10 Cataphora, Inc. Data mining by retrieving causally-related documents not individually satisfying search criteria used
US20050071311A1 (en) * 2003-09-30 2005-03-31 Rakesh Agrawal Method and system of partitioning authors on a given topic in a newsgroup into two opposite classes of the authors
US20080235018A1 (en) * 2004-01-20 2008-09-25 Koninklikke Philips Electronic,N.V. Method and System for Determing the Topic of a Conversation and Locating and Presenting Related Content
US20060184800A1 (en) * 2005-02-16 2006-08-17 Outland Research, Llc Method and apparatus for using age and/or gender recognition techniques to customize a user interface
US20070043742A1 (en) * 2005-08-16 2007-02-22 Arguello Juan F Systems and methods for building and implementing ontology-based information resources
US7899871B1 (en) * 2006-01-23 2011-03-01 Clearwell Systems, Inc. Methods and systems for e-mail topic classification
US20080059512A1 (en) * 2006-08-31 2008-03-06 Roitblat Herbert L Identifying Related Objects Using Quantum Clustering

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
"Analyzing Actors and Their Discussion Topics by Semantic Social Network Analysis," by Gloor & Zhao. IN: Proc. Information Visualization (July 5-7, 2006). Available at: IEEE. *
"Identifying Temporal Patterns and Key Players in Document Collections," by Shaparenko et al. IN: Dept. Comp. Sci. Cornell U. (2005). Available at: http://www.cs.cornell.edu/People/tj/publications/shaparenko_etal_05a.pdf *
"Mining Social Networks for Targeted Advertising," by Yang et al. IN: Proc. 39th Hawaii Int'l Conf. System Sciences (Jan. 2006). Available at: IEEE. *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130297695A1 (en) * 2012-05-01 2013-11-07 Salesforce.com. inc. Methods and apparatus for an integrated incubation environment
US9654522B2 (en) * 2012-05-01 2017-05-16 Salesforce.com. inc. Methods and apparatus for an integrated incubation environment
US20150178385A1 (en) * 2013-12-24 2015-06-25 International Business Machines Corporation Messaging digest
US9904728B2 (en) * 2013-12-24 2018-02-27 International Business Machines Corporation Messaging digest
US10331723B2 (en) * 2013-12-24 2019-06-25 International Business Machines Corporation Messaging digest
US11151180B2 (en) * 2013-12-24 2021-10-19 International Business Machines Corporation Messaging digest
US8990191B1 (en) * 2014-03-25 2015-03-24 Linkedin Corporation Method and system to determine a category score of a social network member
US9418119B2 (en) 2014-03-25 2016-08-16 Linkedin Corporation Method and system to determine a category score of a social network member
US10079911B2 (en) 2015-12-04 2018-09-18 International Business Machines Corporation Content analysis based selection of user communities or groups of users

Also Published As

Publication number Publication date
US8484083B2 (en) 2013-07-09
US20080275849A1 (en) 2008-11-06

Similar Documents

Publication Publication Date Title
US8484083B2 (en) Method and apparatus for targeting messages to users in a social network
Wang et al. Billion-scale commodity embedding for e-commerce recommendation in alibaba
Sahoo et al. A hidden Markov model for collaborative filtering
US10311085B2 (en) Concept-level user intent profile extraction and applications
US9177327B2 (en) Sequential engine that computes user and offer matching into micro-segments
EP3472715A1 (en) Predicting psychometric profiles from behavioral data using machine-learning while maintaining user anonymity
Khan et al. Enriching non-negative matrix factorization with contextual embeddings for recommender systems
CN111259263B (en) Article recommendation method and device, computer equipment and storage medium
CN104239385A (en) Method for estimating relationships between topics, and system
WO2018040069A1 (en) Information recommendation system and method
JP2000020555A (en) System and method for optimal adaptive machine of users to most relevant entity and information in real-time
US20140006166A1 (en) System and method for determining offers based on predictions of user interest
Hornick et al. Extending recommender systems for disjoint user/item sets: The conference recommendation problem
Elena et al. Survey of multiarmed bandit algorithms applied to recommendation systems
Sun et al. Leveraging friend and group information to improve social recommender system
Yao et al. User recommendation method based on joint probability matrix decomposition in CPS networks
Shankar et al. An intelligent recommendation system in e-commerce using ensemble learning
CN116823410B (en) Data processing method, object processing method, recommending method and computing device
Hamzehei et al. Collaborative topic regression for predicting topic-based social influence
Cai et al. An extension of social network group decision-making based on trustrank and personas
Luo et al. DeepAttr: Inferring demographic attributes via social network embedding
LR et al. A Clustering Based Social Matrix Factorization Technique for Personalized Recommender Systems
Li et al. User communities and contents co‐ranking for user‐generated content quality evaluation in social networks
Dong et al. Ubs: a novel news recommendation system based on user behavior sequence
飯塚洸二郎 et al. Algorithms and Evaluation for News Recommender Systems

Legal Events

Date Code Title Description
STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION

AS Assignment

Owner name: CALABRIO, INC., MINNESOTA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:SRI INTERNATIONAL;REEL/FRAME:060856/0823

Effective date: 20220720