None.
The invention disclosed broadly relates to the field of on-line trending topics, and more particularly relates to the field of personalized trending topics.
Trending topics are a popular on-line feature on many content publisher's websites, with captions such as: “Trending Now,” “Now Trending,” “Hot Topics,” “What's Trending” and others. Trending topics provide a list (usually just ten items) of the currently popular topics in several categories such as news, entertainment, sports, finance, and just about any other topic of interest to web users. Trending topics generally appear in a prominent position on a content publisher's home page as hyperlinks, making it easy for a user to identify what is “trending” now. The user can then click on one of the listed topic to view informative content for that topic. The trending topics are based on web user's current interests, as derived from multiple data sources, such as search engines, social media sites, blogs, and other sources.
Referring now to the drawings and to
Previous innovations are centered around ideas which consider trending search terms as having higher than normal frequency of ‘search’/‘use’ for a topic (United States Patent Publication Number 2012/0271829 “System and Methods for Hot Topic Identification and Metadata,” filed Apr. 25, 2011). A plurality of categories have also been identified based on the intersection of categories viewed by the user and the categories available via the system (U.S. Pat. No. 8,370,348, “Magazine Edition Recommendations,” filed Dec. 6, 2011). However, none of the existing innovations provide trending topics customized for a user.
Therefore, there is a need for a method to enrich the user's on-line experience with customized trending topics.
Briefly, according to an embodiment of the present disclosure, a method for generating a personalized trends module includes steps or acts of: for a given user, producing a social timeline by logging content posted on the given user's accounts on social media sites; analyzing the social timeline for recently posted content to derive an interim summary of first trending topics for the given user; receiving from a content personalization platform an in-stream feed of second trending topics based on the user's recent on-line activity including page views, queries, and clicks; augmenting the social timeline with the second trending topics from the in-stream feed to produce an interim list of third trending topics; ranking the third trending topics by source category using a frequency index; selecting the highest ranking third trending topics from each source category; and presenting a personalized trends module with positions allocated to the highest ranking third trending topics.
According to another embodiment of the present disclosure, an information processing system includes a processor device operably coupled with a memory. The memory includes computer-executable instructions that, when executed, cause a computer to perform steps of: for a given user, producing a social timeline by logging content posted on the given user's accounts on social media sites; analyzing the social timeline for recently posted content to derive an interim summary of first trending topics for the given user; receiving from a content personalization platform an in-stream feed of second trending topics based on the user's recent on-line activity including page views, queries, and clicks; augmenting the social timeline with the second trending topics from the in-stream feed to produce an interim list of third trending topics; ranking the third trending topics by source category using a frequency index; selecting the highest ranking third trending topics from each source category; and presenting a personalized trends module with positions allocated to the highest ranking third trending topics.
According to another embodiment of the present disclosure, a computer program product with a non-transitory computer-readable storage medium includes computer-executable instructions for performing the method steps above.
To describe the foregoing and other exemplary purposes, aspects, and advantages, we use the following detailed description of an exemplary embodiment of the disclosure with reference to the drawings, in which:
While the disclosure as claimed can be modified into alternative forms, specific embodiments thereof are shown by way of example in the drawings and will herein be described in detail. It should be understood, however, that the drawings and detailed description thereto are not intended to limit the disclosure to the particular form disclosed, but on the contrary, the intention is to cover all modifications, equivalents and alternatives falling within the scope of the present disclosure.
Before describing in detail embodiments that are in accordance with the present disclosure, it should be observed that the embodiments reside primarily in combinations of method steps and system components related to systems and methods for placing computation inside a communication network. Accordingly, the system components and method steps have been represented where appropriate by conventional symbols in the drawings, showing only those specific details that are pertinent to understanding the embodiments of the present disclosure so as not to obscure the disclosure with details that will be readily apparent to those of ordinary skill in the art having the benefit of the description herein. Thus, it will be appreciated that for simplicity and clarity of illustration, common and well-understood elements that are useful or necessary in a commercially feasible embodiment may not be depicted in order to facilitate a less obstructed view of these various embodiments.
We describe an automated and personalized system and method for generating up-to-date trending topics that are customized for a given user. The personal trending topics are customized, meaning that we list the topics that have been curated specifically for the given user, rather than just listing global and/or locale-specific trending topics, as is currently done. We identify trending topics that are currently of interest to a given user, based on the user's own communications to/from his/her social contacts; and the user's web activity. In an embodiment of the present disclosure, the personal trending module highlights trending terms and topics based on the user's social media streams combined with search engine queries, blogs, posts, and the like.
For a given user, we require as an initial input into the process the user's identification, and the user's location (<user,location>). After linking to the user's social media accounts such as Facebook® (“FB”) and Twitter®, we access the social media accounts to retrieve content posted to/from the user on the social media sites. The social content is then combined with an in stream feed of locally trending topics that are streamed from an intelligent personalization platform such as Slingstone. The personalization platform uses known methods to derive topics that are of interest to a given location, by aggregating web activity which can take the form of page views, “shares,” “saves,” and others. From this combination an interim list is produced, providing a list of topics that are relevant to a given user at a given location. The interim list is then augmented by at least one top trending topic that is “hot” across the Web, received from the publisher's own Home Page, or from a trending site such as BuzzFeed®. See
The personal trends process collects, combines, and summarizes signals from multiple streams in three categories: social (from FB and Twitter), in-stream (from SlingStone), and local/global (from BuzzFeed). The social input is derived from social media sites such as Twitter®, FB, and LinkedIn. The in-stream input is derived from content personalization engines such as Slingstone. The local/global input is derived from trending topic sites such as BuzzFeed that are constantly updating trending topics. In current trending topic modules, the topics reported as “trending now” are based on the topic categories discussed by the people whom the user follows. The personal trends methodology according to the present disclosure, however, employs a unique algorithm that builds a summary of multiple streams at any point in time. The key difference between the personal trends methodology and the state of the art can be illustrated with a simple example, as follows.
Using the current trending technology, assume a user follows “Bill Gates” on Twitter®. The current trending methodology assigns a trend topic of “Technology” to the user, meaning that every news-worthy tech trend will show up as a trending topic on the user's “Trending Now” section, even though the user may have been following Bill Gates because of an interest in his philanthropic pursuits.
Now we discuss how the personal trends module differs from the current method by more accurately personalizing the user's trending topics. We assume the same initial scenario (a user follows “Bill Gates” on Twitter®). Bill Gates tweets about “Relief program for flood victims.” According to the personal trends methodology, “Relief program for flood victims” is captured in the user's Twitter® stream for the current timeline and parsed to extract the term “flood victims.” This term “flood victims” is now a candidate for a personalized trending topic because this Tweet is part of the user's current timeline (as streamed from the user's Twitter® account).
The difference apparent to the user is in what appears on the Trending Topics list (“Technology” vs. “Flood Victims”). The difference in the methodology is in the capturing of a timeline summary for a point in time, rather than just a keyword match to a topic, or a local feed of trending topics. With the current methodology for trending topics, “flood victims” would only make it into the top 10 trends if a large amount of the users within the user's location (or throughout the Web) discuss this same issue. To recap, the personal trends are trends based on the combined view of a timeline from the user's different on-line streams, which can change at every minute. To this end, we can incorporate trending topic detection applications as part of our algorithm.
The present disclosure will now be described with respect to
In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems that perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
Personal Trends Module.
Referring now to
1. A sponsored trend ad 252 such as the Iron Man 3 trailer in position 3 (source=advertiser);
2. Local trends 254—Stanford Holi, Tamil new year Sunnyvale, May day celebrations in positions 1, 6, and 8 (source=content personalization pipeline);
3. Web Activity-based trend stream 255—Pain and Gain reviews, Netflix pricing, EA layoffs in positions 2, 5, and 10 (source=content personalization pipeline);
4. Behavioral trends 256—Duck dynasty record, Jennifer Love Hewitt in positions 9 and 7 (source=social media)
5. Global trends 258—Scandal Revelations in position 4 (source=publisher home page).
The module 250 as shown in
Back-End Processing.
The underlying engine retrieves the content shared by the user on social media sites such as FB and Twitter® to generate social trending topics customized for the user. Ideally, we link the user's social media accounts to the publisher site where the trends are displayed.
We log, analyze, classify, and rank these entries for a period of time to produce a social timeline of social trending topics. The timeline is then combined with local trending streams from a content personalization pipeline such as Slingstone and also combined with global trending terms from the publisher to create an enriched, customized experience with personal trends displayed in the publisher's Home Page.
Personal Trends Schematic.
Referring now to
The Social Profiling Module 420 parses the streams to extract terms of interest and logs each occurrence of a term of interest, the timestamp, and from what source it originated. After parsing the input streams to extract trending terms and logging the trending terms with the number of occurrences, the Social Profiling Module 420 outputs a timeline with the user's current topics of interest from social media. Added to this timeline are the in-stream topics derived from a content personalization platform. These in-stream topics provide the currently trending topics as derived from the user's on-line activity (page views, clicks, queries). This provides a comprehensive view of topics that are relevant to the user at the current time.
Next, the Mapping/Ranking Module 450 receives the timeline (which is really a log of all of the terms of interest, where they originated, and their number of occurrences). The Mapping/Ranking Module 450 assigns ranks to the terms using a frequency index. After ranking the terms, the Mapping/Ranking Module 450 outputs a pre-defined number n of terms for each category (social and in-stream trends) by triples of <user,term,rank> in each category. The ranking is based on a “buzz” score which is an index of the frequency with which the terms appear.
At this point in the process we have ranked social and in-stream trends. Now we introduce the local/global trends which are prepared by a number of sites such as BuzzFeed. These feeds are updated frequently and generally localized. Within a large market like the United States, the trend feeds can be localized to a region or even a city. In smaller markets, the feeds are localized to the country as whole.
Now that the Mapping/Ranking Module 450 has two source categories of content, the module 450 also ranks the categories by their occurrences to output a triple for <user,category,rank>. The first set of triples <user,term,rank> provides a list of ranked terms from which we are able to select the highest ranked terms. The second set of triples <user,category,rank> provides a ranked list of categories, ranked by usage. Let's say we define n as 150; therefore we produce up to (n/2) ranked terms for each of the two initial categories (social, in-stream). The categories themselves are ranked by usage. For example, if most of the input for the current timeline is retrieved from social media, then the social category is ranked highest for this timeline. From this interim list of n triples, we select the np top-ranked personal terms.
In one embodiment of the present disclosure, we weight the categories by occurrence and thereby select a subset np of triples <user,term,rank> by weighted category. For example, if most of the timeline entries occur in the social category, then out of np possible terms, we select a higher proportion of them to be social terms. However, if the user's FB activity has been very light, we can rely more heavily on the in-stream feeds.
The Mapping/Ranking Module 450 outputs the np triples 455 to the Combining Module 460. The Combining Module 460 combines the highest-ranked topics from the two categories (social, in-stream) on a periodic basis. The Combining Module 460 also receives as input the top nG trending topics associated with the user's location <location,term,rank> from a publisher site or a trending site such as BuzzNews. The personal trending algorithm can interface with known trending topic detection applications to receive the top nG trending topics by location.
Assuming a final personal trends module containing nT=10 topics, we select from one to five of the highest ranked trending local/global topics G to combine with between five to nine of the highest ranked triples 455 P from the social and in-stream categories, for a total of 10 T Trending Topics (or whatever number has been selected for display). The output is a list 468 of the top nT personal trends T customized for the user, including local/global trending topics G that are trending within the web community. In an embodiment of the present invention, the list includes 10 trends, but this amount can vary. The Personal Trending Module 470 receives this list 468 and interfaces with the publisher to serve the user's personal trends 250 on the Home Page 480. As seen with the example of
Methodology.
Referring now to
We acknowledge that any recent web activity by the user (apart from the social media) can also provide insight into the user's interests, therefore we interface with a known content personalization platform to receive in-stream feeds of trending topics based on the user's Internet activity (queries, clicks, views). Once we have access to the social media content and the in-stream feeds, we parse the input to extract terms of interest in step 520. In step 530 we build the timeline 430 by logging the entries by user id (from the login sessions) and include the source category (social or in-stream Web activity trends).
We derive social trending signals from the user's perspective by analyzing the timeline 430 in the Mapping/Ranking Module 450 in step 540. This includes ranking the terms and the categories to output triples of <user,term,rank> and <user,category,rank>. We use content analysis tools such as yql.content.analyze from Yahoo!® From the timeline 430 we retrieve the highest-ranked current np topics/terms that are interesting to the user (trending now for the user) as gleaned from the shared content on the user's social media sites. For example, assume the user is from the Tamil ethnic group native to India and Sri Lanka. From the user's posts on social media sites, we log multiple references to “Puthandu,” which is the Tamil New Year, as shown in
Referring now to
Returning now to
In step 570 we present the list of nT personalized trends to the user; an example of which is shown in
In step 580 we periodically update the topics to keep them fresh and relevant. We can update every hour, every half-hour, quarter-hour or as often as deemed necessary. The updating step involves running steps 520 through 570 at periodic intervals. We can stagger the updates so that we perform updates on the timeline for the Web activity and social topics at a different rate than we update the global/local trending streams. The updates can be tied into the level of activity on the social media and other sites. For example, if there is a burst of activity, we perform the updates more often. Every update period, at batch intervals, we retrieve the timeline 430 for the user. We analyze the timeline 430 and select the terms/current trend categories that appear interesting to the user.
As updates occur we can adjust the number nG of global trends that appear on the Home Page 480 to increase or decrease depending on the user involvement with the personalized top 10 topics 250. Because we log the user's clicks from the Home Page 480, we are able to receive feedback on the user's perceived relevance of the topics selected by the personal trends algorithm. For example, if we list “Iron Man 3 trailer” on the personalized top 10 topics and the user subsequently clicks on that item to view more information or to buy movie tickets, then “Iron Man 3 trailer” will appear on the subsequent timeline from the Web activity stream, thus validating its selection.
Likewise, if “Iron Man 3 trailer” is listed on the personalized top 10 topics and no activity in either social media or Web activity for “Iron Man 3” appears in subsequent timelines, it is not likely to stay in the top 10.
Monetization.
In an embodiment of the present disclosure, we can include one or more positions for sponsored trends within the list of top personal trends 250. The one or more positions can be sold for placement of search or listings ads either using location-based or interest-based categories. The sponsored ad position(s) can become a new ad-unit, called sponsored trends. The personal trends module 250 as shown in
In another embodiment of the present disclosure, the updates to generate a current list of the top personal trends 250 can be done as a service for a third party such as an advertiser or publisher. In this embodiment the module 250 will most likely include a sponsored ad and/or an advertisement.
Mobile App Embodiment.
Referring now to
Benefits and Advantages of the Disclosure.
With trending topics that are personalized for a user, the time spent on a publisher's home page trending now stories will increase as users see more relevance in the trending topics. Personalized topics, because they appear more relevant to the user, will lead to higher CTRs (click-through rates) and therefore larger revenue and search traffic. Sponsored trends will become a new ad-format that will drive more revenue to advertisers and publishers.
We enrich the quality of trending news for the user by filtering out other ‘hot topics’ which might not be relevant to the user, thereby generating more clicks/revenue per click. We engage the user by providing him/her with the ability to view content of his/her choice over a period of time. As the users' choices change it is reflected in the personal trending module.
Hardware Embodiment.
As will be appreciated by one skilled in the art, aspects of the present disclosure may be embodied as a system, computer-implemented method or computer program product. Accordingly, aspects of the present disclosure may take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, micro-code, etc.) or an embodiment combining software and hardware aspects that may all generally be referred to herein as a “circuit,” “module” or “system.” Furthermore, aspects of the present disclosure may take the form of a computer program product embodied in one or more non-transitory computer readable medium(s) having computer readable program code embodied thereon.
A computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples (a non-exhaustive list) of the computer readable storage medium would include the following: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the context of this document, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device.
It will be understood that each block of the foregoing flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor device of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor device of the computer or other programmable data processing apparatus, cause a computer to implement the functions/acts specified in the flowchart and/or block diagram block or blocks. These computer program instructions may also be stored in a computer readable medium that can direct a computer, other programmable data processing apparatus, or other devices to function in a particular manner, such that the instructions stored in the computer readable medium produce an article of manufacture including instructions which implement the function/act specified in the flowchart and/or block diagram block or blocks. The computer program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other devices to cause a series of operational steps to be performed on the computer, other programmable apparatus or other devices to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide processes for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
Referring now to
In general, the routines which are executed when implementing these embodiments, whether implemented as part of an operating system or a specific application, component, program, object, module or sequence of instructions, will be referred to herein as computer programs, or simply programs. The computer programs typically include one or more instructions that are resident at various times in various memory and storage devices in an information processing or handling system such as a computer, and that, when read and executed by one or more processors, cause that system to perform the steps necessary to execute steps or elements embodying the various aspects of the invention.
Throughout the description herein, an embodiment of the invention is illustrated with aspects of the invention embodied solely on computer system 1200. As will be appreciated by those of ordinary skill in the art, aspects of the invention may be distributed amongst one or more networked computing devices which interact with computer system 100 via one or more data networks such as, for example, network 1214. However, for ease of understanding, aspects of the invention have been embodied in a single computing device—computer system 1200.
Computer system 1200 includes inter alia processing device 1202 which communicates with an input/output subsystem 1206, memory 1204, storage 1212 and network 1214. The processor device 1202 is operably coupled with a communication infrastructure 1229 (e.g., a communications bus, cross-over bar, or network). The processor device 1202 may be a general or special purpose microprocessor operating under control of computer program instructions executed from memory 1204 on program data. The processor device 1202 may include a number of special purpose sub-processors such as a comparator engine, each sub-processor for executing particular portions of the computer program instructions. Each sub-processor may be a separate circuit able to operate substantially in parallel with the other sub-processors.
The memory 1204 may be partitioned or otherwise mapped to reflect the boundaries of the various memory subcomponents. Memory 1204 may include both volatile and persistent memory for the storage of: operational instructions for execution by CPU 1202, data registers, application storage and the like. Memory 104 preferably includes a combination of random access memory (RAM), read only memory (ROM) and persistent memory such as that provided by a hard disk drive. The computer instructions/applications that are stored in memory 1204 are executed by processor 1202. The computer instructions/applications and program data can also be stored in a hard disk drive or mass storage 1212 for execution by processor device 1202.
Those skilled in the art will appreciate that the functionality implemented within the blocks illustrated in the diagram may be implemented as separate components or the functionality of several or all of the blocks may be implemented within a single component. For example, the functionality for the Combining Module 460 may be included in the same component as the Mapping/Ranking Module 450.
The I/O subsystem 1206 may comprise various end user interfaces such as a display, a keyboards, and a mouse. The I/O subsystem 1206 may further include an I/O interface 1210, a connection to a network 1214 such as a local-area network (LAN) or wide-area network (WAN) such as the Internet 1290.
The computer system 1200 may also include a removable storage drive 1216, representing a floppy disk drive, a magnetic tape drive, an optical disk drive, etc. The removable storage drive 1216 reads from and/or writes to a removable storage unit 1201 in a manner well known to those having ordinary skill in the art. Removable storage unit 1201, represents a floppy disk, a compact disc, magnetic tape, optical disk, CD-ROM, DVD-ROM, etc. which is read by and written to by removable storage drive 1216. As will be appreciated, the removable storage unit 1201 includes a non-transitory computer readable medium having stored therein computer software and/or data.
The computer system 1200 may also include a communications interface 1212. Communications interface 1212 allows software and data to be transferred between the computer system and external devices. Examples of communications interface 1212 may include a modem, a network interface (such as an Ethernet card), a communications port, a PCMCIA slot and card, etc. Software and data transferred via communications interface 1212 are in the form of signals which may be, for example, electronic, electromagnetic, optical, or other signals capable of being received by communications interface 1212.
In this document, the terms “computer program medium,” “computer usable medium,” and “computer readable medium” are used to generally refer to both transitory and non-transitory media such as main memory 1204, removable storage drive 1216, a hard disk installed in hard disk drive, and signals. These computer program products are means for providing software to the computer system 1200. The computer readable medium 1201 allows the computer system 1200 to read data, instructions, messages or message packets, and other computer readable information from the computer readable medium 1201.
The system 1200 interfaces with search engines 1245 and content personalization platforms 1244 through the Internet 1290. It should also be noted that storage 1212, though shown here as residing solely within the computer 1200, may be a combination of local and remote storage. The storage 1212 is used to store timelines, logs and may include look-up tables, graphs, charts, and the like.
Therefore, while there has been described what is presently considered to be the preferred embodiment, it will understood by those skilled in the art that other modifications can be made within the spirit of the invention. The above description(s) of embodiment(s) is not intended to be exhaustive or limiting in scope. The embodiment(s), as described, were chosen in order to explain the principles of the invention, show its practical application, and enable those with ordinary skill in the art to understand how to make and use the invention. It should be understood that the invention is not limited to the embodiment(s) described above, but rather should be interpreted within the full meaning and scope of the appended claims.
Number | Name | Date | Kind |
---|---|---|---|
8370348 | Reilly et al. | Feb 2013 | B1 |
20080243799 | Rozich et al. | Oct 2008 | A1 |
20100275128 | Ward et al. | Oct 2010 | A1 |
20120271829 | Jason | Oct 2012 | A1 |
20120290950 | Rapaport et al. | Nov 2012 | A1 |
20130311462 | Khan | Nov 2013 | A1 |
20140365460 | Portnoy et al. | Dec 2014 | A1 |
Number | Date | Country | |
---|---|---|---|
20150032740 A1 | Jan 2015 | US |