US20080275849A1 - 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 PDFInfo
- Publication number
- US20080275849A1 US20080275849A1 US12/002,412 US241207A US2008275849A1 US 20080275849 A1 US20080275849 A1 US 20080275849A1 US 241207 A US241207 A US 241207A US 2008275849 A1 US2008275849 A1 US 2008275849A1
- Authority
- US
- United States
- Prior art keywords
- topic
- global
- users
- topics
- computer readable
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title abstract 3
- 230000008685 targeting Effects 0.000 title abstract 2
- 230000003993 interaction Effects 0.000 abstract 1
- 238000007670 refining Methods 0.000 abstract 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/52—User-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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
- H04L12/1859—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast adapted to provide push services, e.g. data channels
Definitions
- Appendix A A computer program listing illustrating source code for an exemplary embodiment of the present invention is provided herewith on compact disc as Appendix A, which is herein incorporated by reference in its entirety. Appendix A is submitted on a total of two compact discs, including one duplicate (labeled as “Copy 1” and “Copy 2”), each disc including the following files: constrainedAssign.m (2.0 KB, created Nov. 7, 2007); flattenedMovmf.m (6.0 KB, created Nov. 7, 2007); graphClus.m (4.0 KB, created Nov. 7, 2007); HAC_postprocess.m (2.0 KB, created Nov. 7, 2007); initVariables.m (2.0 KB, created Nov.
- 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 pre-determined threshold.
- other convergence criteria such as an iteration counter (where iteration is deemed complete after a pre-determined 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 .
- steps 210 and 220 may be optional.
- 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.
- an ontology source e.g., concept directory
- 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.
- 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 .
- 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.
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Strategic Management (AREA)
- Accounting & Taxation (AREA)
- Development Economics (AREA)
- Finance (AREA)
- Economics (AREA)
- Game Theory and Decision Science (AREA)
- Entrepreneurship & Innovation (AREA)
- Marketing (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
- This application claims the benefit of U.S. Provisional Patent Application Ser. No. 60/887,778, filed Feb. 1, 2007; and Ser. No. 60/892,824, filed Mar. 2, 2007. Both of these applications are herein incorporated by reference in their entireties.
- 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.
- A computer program listing illustrating source code for an exemplary embodiment of the present invention is provided herewith on compact disc as Appendix A, which is herein incorporated by reference in its entirety. Appendix A is submitted on a total of two compact discs, including one duplicate (labeled as “Copy 1” and “Copy 2”), each disc including the following files: constrainedAssign.m (2.0 KB, created Nov. 7, 2007); flattenedMovmf.m (6.0 KB, created Nov. 7, 2007); graphClus.m (4.0 KB, created Nov. 7, 2007); HAC_postprocess.m (2.0 KB, created Nov. 7, 2007); initVariables.m (2.0 KB, created Nov. 7, 2007); movmf.m (2.0 KB, created Nov. 7, 2007); normalizeSparseFlatVec.m (2.0 KB, created Nov. 7, 2007); process_attribs.m (2.0 KB, created Nov. 7, 2007); runClus.m (6.0 KB, created Nov. 7, 2007); runFlattenedClus.m (6.0 KB, created Nov. 7, 2007); and runLocalRefinement.m (10.0 KB, created Nov. 7, 2007). Both compact discs were created on Nov. 16, 2007.
- 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.
- 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 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.
- 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.
- 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 amethod 100 for determining groups of network users and topics, according to the present invention. For instance, themethod 100 may be implemented to extract groups and topics from interactions observed in a social network. For the purposes of certain steps of themethod 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 atstep 105 and proceeds tostep 110, where themethod 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, themethod 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 toFIG. 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, themethod 100 determines a global set of topics, based on the profile information collected instep 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, themethod 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 pre-determined threshold. In alternative embodiments, other convergence criteria, such as an iteration counter (where iteration is deemed complete after a pre-determined 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 withstep 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 bystep 130, themethod 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, themethod 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 withstep 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 instep 155. -
FIG. 2 illustrates a flow diagram that depicts one embodiment of amethod 200 for targeting messages, according to the present invention. Themethod 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 atstep 205 and proceeds to step 210, where themethod 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 instep 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 themethod 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, themethod 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 instep 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, themethod 200 maps the probes selected by the user instep 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 instep 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, themethod 100 described earlier herein with respect toFIG. 1 is used to perform the mapping in accordance withstep 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, themethod 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 themethod 200 concludes instep 245 that the user does wish to modify the messaging targets, themethod 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 instep 245 that the user does not wish to modify the messaging targets, themethod 200 proceeds to step 250 and receives a segment selection from the user. The user selects desired target segments from the clusters presented instep 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 instep 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, instep 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, themethod 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, themethod 200 presents performance statistics to the user based on refined topic segmentation. - The
method 200 terminates instep 275. - In some embodiments of
method 200,steps - 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 generalpurpose computing device 300. In one embodiment, a generalpurpose computing device 300 comprises aprocessor 302, amemory 304, amessage 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 themessage 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 theprocessor 302 in thememory 304 of the generalpurpose computing device 300. Thus, in one embodiment, themessage 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 (41)
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
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 |
Applications Claiming Priority (3)
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 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/936,562 Continuation US20130297714A1 (en) | 2007-02-01 | 2013-07-08 | Method and apparatus for targeting messages to users in a social network |
Publications (2)
Publication Number | Publication Date |
---|---|
US20080275849A1 true US20080275849A1 (en) | 2008-11-06 |
US8484083B2 US8484083B2 (en) | 2013-07-09 |
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 After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/936,562 Abandoned US20130297714A1 (en) | 2007-02-01 | 2013-07-08 | Method and apparatus for targeting messages to users in a social network |
Country Status (1)
Country | Link |
---|---|
US (2) | US8484083B2 (en) |
Cited By (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009077655A1 (en) * | 2007-12-14 | 2009-06-25 | Xtract Oy | A method and an arrangement for segmentation of customers in a customer 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 |
US20100191741A1 (en) * | 2009-01-27 | 2010-07-29 | Palo Alto Research Center Incorporated | System And Method For Using Banded Topic Relevance And Time For Article Prioritization |
US20100205126A1 (en) * | 2009-02-06 | 2010-08-12 | Microsoft Corporation | Local graph partitioning using evolving sets |
US20110016069A1 (en) * | 2009-04-17 | 2011-01-20 | Johnson Eric A | System and method for voice of the customer integration into insightful dimensional clustering |
US20110055145A1 (en) * | 2009-04-17 | 2011-03-03 | Johnson Eric A | Method and apparatus for insightful dimensional clustering |
US20110072052A1 (en) * | 2008-05-28 | 2011-03-24 | Aptima Inc. | Systems and methods for analyzing entity profiles |
US20110208848A1 (en) * | 2008-08-05 | 2011-08-25 | Zhiyong Feng | Network system of web services based on semantics and relationships |
US20110246484A1 (en) * | 2010-04-01 | 2011-10-06 | Microsoft Corporation | Authority ranking |
US20120197723A1 (en) * | 2011-01-28 | 2012-08-02 | Yahoo! Inc. | User-customizable social grouping and advertisement targeting techniques |
CN102687166A (en) * | 2009-12-31 | 2012-09-19 | 诺基亚公司 | Methods and apparatuses for user interest modeling |
US20120259831A1 (en) * | 2011-04-05 | 2012-10-11 | Microsoft Corporation | User Information Needs Based Data Selection |
US20130177244A1 (en) * | 2012-01-09 | 2013-07-11 | General Electric Company | Image concealing via efficient feature selection |
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 |
US8990191B1 (en) * | 2014-03-25 | 2015-03-24 | Linkedin Corporation | Method and system to determine a category score of a social network member |
US20160364733A1 (en) * | 2015-06-09 | 2016-12-15 | International Business Machines Corporation | Attitude Inference |
US9552591B2 (en) | 2010-04-14 | 2017-01-24 | Marketo, Inc. | Systems and methods for generating lead intelligence |
US9558165B1 (en) * | 2011-08-19 | 2017-01-31 | Emicen Corp. | Method and system for data mining of short message streams |
US20190005024A1 (en) * | 2017-06-28 | 2019-01-03 | Microsoft Technology Licensing, Llc | Virtual assistant providing enhanced communication session services |
US20190035403A1 (en) * | 2017-07-28 | 2019-01-31 | Bank Of America Corporation | Processing System for Intelligently Linking Messages Using Markers Based on Language Data |
US20190035402A1 (en) * | 2017-07-28 | 2019-01-31 | Bank Of America Corporation | Processing System Using Intelligent Messaging Flow Markers Based On Language Data |
US20190102395A1 (en) * | 2017-09-29 | 2019-04-04 | Microsoft Technology Licensing, Llc | Personalizing search and/or recommendation results based on member activity models |
US10803245B2 (en) * | 2016-09-06 | 2020-10-13 | Microsoft Technology Licensing, Llc | Compiling documents into a timeline per event |
US11605139B1 (en) | 2022-06-23 | 2023-03-14 | World Answer Zone Llc | Method of collating, abstracting, and delivering worldwide viewpoints |
US11809829B2 (en) | 2017-06-29 | 2023-11-07 | Microsoft Technology Licensing, Llc | Virtual assistant for generating personalized responses within a communication session |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8943145B1 (en) * | 2010-02-08 | 2015-01-27 | Intuit Inc. | Customer support via social network |
US7921156B1 (en) | 2010-08-05 | 2011-04-05 | Solariat, Inc. | Methods and apparatus for inserting content into conversations in on-line and digital environments |
US9654522B2 (en) * | 2012-05-01 | 2017-05-16 | Salesforce.com. inc. | Methods and apparatus for an integrated incubation environment |
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 |
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 |
GB2521637A (en) * | 2013-12-24 | 2015-07-01 | Ibm | Messaging digest |
US10013483B2 (en) * | 2014-01-30 | 2018-07-03 | Microsoft Technology Licensing, Llc | System and method for identifying trending topics in a social network |
US10079911B2 (en) | 2015-12-04 | 2018-09-18 | International Business Machines Corporation | Content analysis based selection of user communities or groups of users |
Citations (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020026360A1 (en) * | 2000-04-11 | 2002-02-28 | Copient Technologies, Llc | System for generating revenue using electronic mail and method for its use |
US20020062368A1 (en) * | 2000-10-11 | 2002-05-23 | David Holtzman | System and method for establishing and evaluating cross community identities in electronic forums |
US20030033199A1 (en) * | 1999-06-30 | 2003-02-13 | Ipool Corporation | Method and system for delivery of targeted commercial messages |
US20030055711A1 (en) * | 2001-07-02 | 2003-03-20 | The Procter & Gamble Company | Assessment of communication strengths of individuals from electronic messages |
US20040034652A1 (en) * | 2000-07-26 | 2004-02-19 | Thomas Hofmann | System and method for personalized search, information filtering, and for generating recommendations utilizing statistical latent class models |
US20050256905A1 (en) * | 2004-05-15 | 2005-11-17 | International Business Machines Corporation | System, method, and service for segmenting a topic into chatter and subtopics |
US20060200435A1 (en) * | 2003-11-28 | 2006-09-07 | Manyworlds, Inc. | Adaptive Social Computing Methods |
US20060218225A1 (en) * | 2005-03-28 | 2006-09-28 | Hee Voon George H | Device for sharing social network information among users over a network |
US20060271526A1 (en) * | 2003-02-04 | 2006-11-30 | Cataphora, Inc. | Method and apparatus for sociological data analysis |
US20060282303A1 (en) * | 2005-06-08 | 2006-12-14 | Microsoft Corporation | Distributed organizational analyzer |
US20060282328A1 (en) * | 2005-06-13 | 2006-12-14 | Gather Inc. | Computer method and apparatus for targeting advertising |
US20070016553A1 (en) * | 2005-06-29 | 2007-01-18 | Microsoft Corporation | Sensing, storing, indexing, and retrieving data leveraging measures of user activity, attention, and interest |
US20070214097A1 (en) * | 2006-02-28 | 2007-09-13 | Todd Parsons | Social analytics system and method for analyzing conversations in social media |
US20070240119A1 (en) * | 2006-04-11 | 2007-10-11 | Palo Alto Research Center | 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 |
US20080133370A1 (en) * | 2002-02-11 | 2008-06-05 | Gehlot Narayan L | System and method for identifying and offering advertising over the internet according to a generated recipient profile |
US20110119139A1 (en) * | 2003-02-28 | 2011-05-19 | Dean Jeffrey A | Identifying related information given content and/or presenting related information in association with content-related advertisements |
Family Cites Families (13)
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 |
US6393460B1 (en) * | 1998-08-28 | 2002-05-21 | International Business Machines Corporation | Method and system for informing users of subjects of discussion in on-line chats |
US6493702B1 (en) * | 1999-05-05 | 2002-12-10 | Xerox Corporation | System and method for searching and recommending documents in a collection using share bookmarks |
US6578032B1 (en) * | 2000-06-28 | 2003-06-10 | Microsoft Corporation | Method and system for performing phrase/word clustering and cluster merging |
US7197470B1 (en) * | 2000-10-11 | 2007-03-27 | Buzzmetrics, Ltd. | System and method for collection analysis of electronic discussion methods |
US7386439B1 (en) * | 2002-02-04 | 2008-06-10 | Cataphora, Inc. | Data mining by retrieving causally-related documents not individually satisfying search criteria used |
EP1481346B1 (en) * | 2002-02-04 | 2012-10-10 | Cataphora, Inc. | A method and apparatus to visually present discussions for data mining purposes |
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 |
JP2007519047A (en) * | 2004-01-20 | 2007-07-12 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | Method and system for determining topic of conversation and acquiring 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 |
US7739218B2 (en) * | 2005-08-16 | 2010-06-15 | International Business Machines Corporation | 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 |
US8010534B2 (en) * | 2006-08-31 | 2011-08-30 | Orcatec Llc | Identifying related objects using quantum clustering |
-
2007
- 2007-12-17 US US12/002,412 patent/US8484083B2/en active Active
-
2013
- 2013-07-08 US US13/936,562 patent/US20130297714A1/en not_active Abandoned
Patent Citations (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030033199A1 (en) * | 1999-06-30 | 2003-02-13 | Ipool Corporation | Method and system for delivery of targeted commercial messages |
US20020026360A1 (en) * | 2000-04-11 | 2002-02-28 | Copient Technologies, Llc | System for generating revenue using electronic mail and method for its use |
US20040034652A1 (en) * | 2000-07-26 | 2004-02-19 | Thomas Hofmann | 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 |
US20030055711A1 (en) * | 2001-07-02 | 2003-03-20 | The Procter & Gamble Company | Assessment of communication strengths of individuals from electronic messages |
US20080133370A1 (en) * | 2002-02-11 | 2008-06-05 | Gehlot Narayan L | System and method for identifying and offering advertising over the internet according to a generated recipient profile |
US20060271526A1 (en) * | 2003-02-04 | 2006-11-30 | Cataphora, Inc. | Method and apparatus for sociological data analysis |
US20110119139A1 (en) * | 2003-02-28 | 2011-05-19 | Dean Jeffrey A | Identifying related information given content and/or presenting related information in association with content-related advertisements |
US20060200435A1 (en) * | 2003-11-28 | 2006-09-07 | Manyworlds, Inc. | Adaptive Social Computing Methods |
US20050256905A1 (en) * | 2004-05-15 | 2005-11-17 | 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 |
US20060282328A1 (en) * | 2005-06-13 | 2006-12-14 | Gather Inc. | Computer method and apparatus for targeting advertising |
US20070016553A1 (en) * | 2005-06-29 | 2007-01-18 | Microsoft Corporation | Sensing, storing, indexing, and retrieving data leveraging measures of user activity, attention, and interest |
US20070214097A1 (en) * | 2006-02-28 | 2007-09-13 | Todd Parsons | Social analytics system and method for analyzing conversations in social media |
US20070240119A1 (en) * | 2006-04-11 | 2007-10-11 | Palo Alto Research Center | 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 |
Non-Patent Citations (3)
Title |
---|
"Multi-Faceted Information Retrieval System for Large Scale Email Archives," by Perkio et al. IN: Proc. of the 2005 IEEE/WIC/ACM Int'l Conf. on Web Intelligence (2005). Available at: IEEE. * |
"Online Social and Business Networking Communities," by Murchu et al. IN: DERI Technical Report 2004-08-11 (August 2004). Available at: http://www.deri.ie/fileadmin/documents/DERI-TR-2004-08-11.pdf * |
"Ontologies are Us: A Unified Model of Social Networks and Semantics," by Mika, Peter. IN: Lecture Notes in Computer Science Vol. 3729 (2005) pp. 522-536. Available at: SpringerLink. * |
Cited By (49)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009077655A1 (en) * | 2007-12-14 | 2009-06-25 | Xtract Oy | A method and an arrangement for segmentation of customers in a customer 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 |
US20110072052A1 (en) * | 2008-05-28 | 2011-03-24 | Aptima Inc. | Systems and methods for analyzing entity profiles |
US9594825B2 (en) * | 2008-05-28 | 2017-03-14 | Aptima, Inc. | Systems and methods for analyzing entity profiles |
US12216687B2 (en) | 2008-05-28 | 2025-02-04 | Aptima, Inc. | Systems and methods for analyzing entity profiles |
US11461373B2 (en) * | 2008-05-28 | 2022-10-04 | Aptima, Inc. | Systems and methods for analyzing entity profiles |
US20160012121A1 (en) * | 2008-05-28 | 2016-01-14 | Aptima, Inc. | Systems and methods for analyzing entity profiles |
US20180225361A1 (en) * | 2008-05-28 | 2018-08-09 | Aptima, Inc. | Systems and methods for analyzing entity profiles |
US9123022B2 (en) * | 2008-05-28 | 2015-09-01 | Aptima, Inc. | Systems and methods for analyzing entity profiles |
US20110208848A1 (en) * | 2008-08-05 | 2011-08-25 | Zhiyong Feng | Network system of web services based on semantics and relationships |
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 |
US20100191741A1 (en) * | 2009-01-27 | 2010-07-29 | Palo Alto Research Center Incorporated | System And Method For Using Banded Topic Relevance And Time For Article Prioritization |
US20100205126A1 (en) * | 2009-02-06 | 2010-08-12 | Microsoft Corporation | Local graph partitioning using evolving sets |
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 |
US20120290599A1 (en) * | 2009-12-31 | 2012-11-15 | Nokia Corporation | Methods and Apparatuses for User Interest Modeling |
EP2519920A4 (en) * | 2009-12-31 | 2013-08-21 | Nokia Corp | METHODS AND APPARATUS FOR MODELING THE INTEREST OF USERS |
CN102687166A (en) * | 2009-12-31 | 2012-09-19 | 诺基亚公司 | Methods and apparatuses for user interest modeling |
US9031952B2 (en) * | 2009-12-31 | 2015-05-12 | Nokia Corporation | Methods and apparatuses for user interest modeling |
EP2519920A1 (en) * | 2009-12-31 | 2012-11-07 | Nokia Corp. | Methods and apparatuses for user interest modeling |
US20110246484A1 (en) * | 2010-04-01 | 2011-10-06 | Microsoft Corporation | Authority ranking |
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 |
US9760909B2 (en) | 2010-04-14 | 2017-09-12 | Marketo, Inc. | Systems and methods for generating lead intelligence |
US9552591B2 (en) | 2010-04-14 | 2017-01-24 | Marketo, Inc. | Systems and methods for generating lead intelligence |
US20120197723A1 (en) * | 2011-01-28 | 2012-08-02 | Yahoo! Inc. | User-customizable social grouping and advertisement targeting techniques |
US20120259831A1 (en) * | 2011-04-05 | 2012-10-11 | Microsoft Corporation | User Information Needs Based Data Selection |
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 |
US20130177244A1 (en) * | 2012-01-09 | 2013-07-11 | General Electric Company | Image concealing via efficient feature selection |
US8774513B2 (en) * | 2012-01-09 | 2014-07-08 | General Electric Company | Image concealing via efficient feature selection |
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 |
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 |
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 |
US20190005024A1 (en) * | 2017-06-28 | 2019-01-03 | Microsoft Technology Licensing, Llc | Virtual assistant providing enhanced communication session services |
US11699039B2 (en) * | 2017-06-28 | 2023-07-11 | Microsoft Technology Licensing, Llc | Virtual assistant providing enhanced communication session services |
US11809829B2 (en) | 2017-06-29 | 2023-11-07 | Microsoft Technology Licensing, Llc | Virtual assistant for generating personalized responses within a communication session |
US10847161B2 (en) | 2017-07-28 | 2020-11-24 | 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 |
US10490193B2 (en) * | 2017-07-28 | 2019-11-26 | Bank Of America Corporation | Processing system using intelligent messaging flow markers based on language data |
US11551697B2 (en) | 2017-07-28 | 2023-01-10 | Bank Of America Corporation | Processing system for intelligently linking messages using markers based on language data |
US20190035402A1 (en) * | 2017-07-28 | 2019-01-31 | Bank Of America Corporation | Processing System Using Intelligent Messaging Flow Markers Based On Language Data |
US20190035403A1 (en) * | 2017-07-28 | 2019-01-31 | 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 |
US20190102395A1 (en) * | 2017-09-29 | 2019-04-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 |
Also Published As
Publication number | Publication date |
---|---|
US20130297714A1 (en) | 2013-11-07 |
US8484083B2 (en) | 2013-07-09 |
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 | |
US10860619B2 (en) | Concept-level user intent profile extraction and applications | |
Ji et al. | Dual channel hypergraph collaborative filtering | |
Frolov et al. | Tensor methods and recommender systems | |
US10078853B2 (en) | Offer matching for a user segment | |
CN111259263B (en) | Article recommendation method and device, computer equipment and storage medium | |
Sahoo et al. | A hidden Markov model for collaborative filtering | |
Cufoglu | User profiling-a short review | |
JP2019527874A (en) | Predict psychometric profiles from behavioral data using machine learning while maintaining user anonymity | |
Shankar et al. | An intelligent recommendation system in e-commerce using ensemble learning | |
CN104239385A (en) | Method for estimating relationships between topics, and system | |
Dhingra et al. | Spam analysis of big reviews dataset using Fuzzy Ranking Evaluation Algorithm and Hadoop | |
JP2000020555A (en) | System and method for optimal adaptive machine of users to most relevant entity and information in real-time | |
He et al. | Detecting fake-review buyers using network structure: Direct evidence from Amazon | |
Margaris et al. | Handling uncertainty in social media textual information for improving venue recommendation formulation quality in social networks | |
Misztal-Radecka et al. | Meta-User2Vec model for addressing the user and item cold-start problem in recommender systems | |
Lang et al. | POI recommendation based on a multiple bipartite graph network model | |
CN116823410A (en) | Data processing method, object processing method, recommending method and computing device | |
Hamzehei et al. | Collaborative topic regression for predicting topic-based social influence | |
Bouzidi et al. | LSTM-based automated learning with smart data to improve marketing fraud detection and financial forecasting | |
Luo et al. | DeepAttr: Inferring demographic attributes via social network embedding | |
Ishikawa et al. | Dynamic collaborative filtering Thompson Sampling for cross-domain advertisements recommendation | |
de Almeida et al. | Personalizing the top-k spatial keyword preference query with textual classifiers | |
Li et al. | User communities and contents co‐ranking for user‐generated content quality evaluation in social networks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: SRI INTERNATIONAL, CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:BASU, SUGATO;YU, JIYE;DAVITZ, JEFFREY;AND OTHERS;REEL/FRAME:020348/0665;SIGNING DATES FROM 20071211 TO 20071213 Owner name: SRI INTERNATIONAL, CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:BASU, SUGATO;YU, JIYE;DAVITZ, JEFFREY;AND OTHERS;SIGNING DATES FROM 20071211 TO 20071213;REEL/FRAME:020348/0665 |
|
AS | Assignment |
Owner name: AFRL/RIJ, NEW YORK Free format text: CONFIRMATORY LICENSE;ASSIGNOR:SRI INTERNATIONAL;REEL/FRAME:020560/0479 Effective date: 20071217 |
|
FEPP | Fee payment procedure |
Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: SMALL ENTITY |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
FEPP | Fee payment procedure |
Free format text: PAT HOLDER CLAIMS SMALL ENTITY STATUS, ENTITY STATUS SET TO SMALL (ORIGINAL EVENT CODE: LTOS); ENTITY STATUS OF PATENT OWNER: SMALL ENTITY |
|
FPAY | Fee payment |
Year of fee payment: 4 |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YR, SMALL ENTITY (ORIGINAL EVENT CODE: M2552); ENTITY STATUS OF PATENT OWNER: SMALL ENTITY Year of fee payment: 8 |
|
AS | Assignment |
Owner name: CALABRIO, INC., MINNESOTA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:SRI INTERNATIONAL;REEL/FRAME:060856/0823 Effective date: 20220720 |
|
FEPP | Fee payment procedure |
Free format text: MAINTENANCE FEE REMINDER MAILED (ORIGINAL EVENT CODE: REM.); ENTITY STATUS OF PATENT OWNER: SMALL ENTITY |