Dynamic captions from social streams

Architecture that augments a search result entry caption with keywords related to topics currently being shared and discussed in other social network information sources. This can provide a much better idea of the content of the website or webpage. The architecture obtains a link from updates of social topics of social network information sources (e.g., social networks for people places professionals, etc.), extracts title content of a document title associated with the link, compares the title content to document text for similarity to create non-duplicative content, creates keywords related to popular social topics from the non-duplicative content, and then augments a search result entry of a search result page with the keywords of the popular social topics.

BACKGROUND

The current search engine results page shows a title, caption, and link to webpage or website. Typically, the caption is static and does not change. With the recent increase in user engagement in social networking, millions of users post and share updates with friends and followers on a daily basis. The rise in the use of social media such as microblogging sites and social networks for people, for example, has become a significant driver of Internet traffic towards websites. While using such media, users not only share content and links to webpages to their social network, but the users may also provide additional signals about the nature of the user links. For instance, a user sending a link to a movie page is also likely to add an annotation that provides some qualitative signal concerning the movie (whether the user likes it or not). However, these annotations and/or other content are not fully utilized.

SUMMARY

The disclosed architecture augments a search result entry caption with keywords related to topics currently being shared. This can provide a much better idea of the content of the website or webpage.

More specifically, the architecture obtains a link from updates or posts of social topics of social network information sources (e.g., social networks for people places professionals, etc.), extracts title content of a document title associated with the link, compares the title content to document text for similarity to create non-duplicative content, creates keywords related to popular social topics from the non-duplicative content, and then augments a search result entry of a search result page with the keywords of the popular social topics.

DETAILED DESCRIPTION

Mining annotations that are human-generated content can provide ranking signals, especially with regard to dynamic content being shared (e.g., viral videos, hot deals, breaking news, etc.). Additionally, annotations can be useful to improve understanding of content fragments (pieces of textual updates) and how the fragments change over time.

In the context of social media, social anchor text (link text, that is, text that is visible and clickable in a hyperlink) can be utilized as a short and concise summary provided by a user about a webpage. Analyzing social anchor text can provide new insights about how and when people share links in social media. Social updates are inherently very dynamic so mining this activity for certain domains can provide improved user satisfaction.

The disclosed architecture generates a dynamic document caption that contains fragments from one or more social network information sources (e.g., conversation). This dynamically augmented caption enables the user to see what other people are doing (e.g., discussing) about a particular website.

Given a set of social data, the architecture extracts all updates that contain a link (pointer, in an application of objects and object pointers). For each link, the related webpage is opened and the content of the title is extracted. The title is then matched against the text that surrounds (is associated with) the link. By using similarity measures that compare the text of the social update to the webpage title, the duplicate or near duplicate content can be discarded. The remaining non-duplicate content is then used for creating a new set of keywords that describes what people around the world are discussing about a particular domain (also referred to herein as a website). A new augmented caption is then created that includes the most popular keywords from the list.

In a different implementation, the disclosed architecture can be applied to objects, and object pointers. Given a set of data, the architecture extracts all updates that contain an object pointer. For each pointer, the related object is accessed and some object data is extracted. The object data is then compared to against the data associated with the pointer. By using similarity measures that compare the data of the update to the object data, duplicate or near duplicate content can be discarded. The remaining non-duplicate content is then used for creating a new set of keywords that describes a list of popular or most frequently active data in relation to the pointer object. A new augmented caption is then created that includes the most popular keywords from the list.

FIG. 1illustrates a system100in accordance with the disclosed architecture. The system100can include an augmentation102of social content fragments (SCF1-N)104created and presented in association with a search result entry106of a search engine result page (SERP). The augmentation102of the social content fragments104are obtained via links108to social network information sources110. The social network information sources110include at least one of a social network for places, a social network for professionals, a social network for people, a question and answer source, or a microblogging service. The social content fragments104are automatically updated based on updated social content of the social network information sources110.

The links108are to documents from which document titles are extracted and processed to create non-duplicative content. The document titles are compared to link text using a similarity measure to generate similarity scores. The non-duplicative content is processed to create the social content fragments104presented in association with the search result entry106. The social content fragments104are derived from at least one of tips, conversations, or questions of the social network information sources110. The social content fragments104are updated dynamically based on the updated social content. The social content fragments104are presented in association with a caption112of the search result entry106.

As shown, the search result entry106can be one of many search result entries (Search Result Entry1-T) of a SERP. Additionally, the augmentation102can be one of many augmentations (Augmentation1-S) created and presented in association with the caption112of the search result entry106. As shown, each search result entry (e.g., search result entry106) can further include a title114and a URL (uniform resource locator)116(e.g., www.company.com) for a domain (e.g., company.com).

FIG. 2illustrates a system200that identifies updates with links202for keyword creation in association with the search result caption. The system200extracts the updates (e.g., microblog conversations) with links202from a set of social network information source updates204. Here, three updates and links are identified: a first update (U1)206, a second update (U2)208, and a third update (U3)210. The first update206includes text that is the title212of a document214and a link (http://link) to the document214. The second update208includes text216that is also found on the document214and the link to the document214. The third update210also includes text218that is also found on the document214and the link to the document214.

A similarity algorithm is then applied to the update text and the title212associated with the link to compute a similarity score to enable the determination of duplicative or near duplicative content. Duplicative content is discarded and non-duplicative is retained as a candidate. The similarity score can be is calculated as a Jaccard score between the two sets of words (A and B) obtained from the update text and the title associated with of the URL. (The Jaccard coefficient is defined as: |A∩B|/|A∪B|.) Other similarity algorithms such as DICE's coefficient and edit distance, for example, can be employed to compute a measure of content similarity.

Accordingly, at220, the similarity of the first update206text and the title at the link is computed to determine that both are similar, and hence, discarded. The similarity of the second update208text and the title at the link is computed to determine that both are not similar, and hence, a candidate. Likewise, similarity of the third update210text and the title at the link is computed to determine that both are not similar, and hence, a candidate.

At222, the non-duplicative content (216and218) is then used to create a new set of keywords from the source updates204. At224, the social content fragments226(e.g., chat: dangerous product) are generated, and augmented to the search result entry228(the caption portion).

Following are specific examples that employ the disclosed architecture to compute caption augmentations of dynamic content from social streams (sources).

FIG. 3illustrates a diagram300where captions of search result entries as dynamically augmented with social content fragments. A first example illustrates a domain (www.companyusa.org) that is actively discussed in a social network, such as a microblog. Consider that a user has an interest in politics and discovered a new website called “Company USA” at www.companyusa.org. When the user searches using a search engine, the search result presentation of a search result302can include: the title304, URL306, and caption308that shows a portion of the content. It can be considered that the conventional caption308is static and unlikely to change much.

By analyzing a particular social networking dataset from a microblogging website at two periods of time (e.g., Time1and Time2) and extracting all messages that contain a link to www.companyusa.org, it can be discovered what people were talking about at those particular times.

A search result entry310for Time1includes the format and content of result302, but a caption312(which includes the content of caption308) now further includes an augmentation314of a single line denoted as “Conversation” with social content fragments (also called keywords) created from non-duplicative content.

Similarly, a search result entry316for Time2includes the format and content of search result302, but a caption318(which includes the content of caption308) now further includes an augmentation320denoted as “Conversation” with social content fragments (also called keywords) created from non-duplicative content, that are now updated and different in some ways from the keywords of the augmentation314of search result entry310.

FIG. 4illustrates a diagram400where a caption of a search result entry is dynamically augmented with social content fragments from multiple social network information sources. When the user searches using a search engine, the search result presentation of a search result402can include: the title404, URL406, and caption408that shows a portion of the content. It can be considered that the conventional caption408is static and unlikely to change.

An augmented search result410includes the format and content of search result402, but a caption412(which includes the content of caption408) now further includes an augmentation414of from two sources: a first denoted as “conversation” and a second denoted as “tips”, both with social content fragments (keywords) created from non-duplicative content. The augmentation sources indicate there is some conversation about a fundraiser, and the majority of the tips are about produce and the store itself.

FIG. 5illustrates another diagram500where a caption of a search result entry is dynamically augmented with social content fragments from multiple social network information sources. In this example, the domain contains tips in a social network information source for places and questions in a social network information source of questions and answers.

When the user searches using a search engine, the search result presentation of a search result502can include: the title504, URL506, and caption508that shows a portion of the content. It can be considered that the conventional caption508is static and unlikely to change.

An augmented search result510includes the format and content of search result502, but a caption512(which includes the content of caption508) now further includes an augmentation514of from two sources: a first augmentation denoted as “tips” and a second augmentation denoted as “asking”, both with social content fragments (keywords) created from non-duplicative content.

In addition to the description of the site and location information (e.g., maps), the caption512is augmented by adding latest tips regarding the menu (under “tips”) and questions—the Grill is also an active topic on a Question and Answering site; thus, the caption now includes a couple popular questions (under “asking”).

When dealing with microblogging social sources that contain a URL, spam content can be reduced or prevented by restricting the dataset to users who have posted at least a threshold (e.g., ten) of microblog entries and have a minimum degree threshold (number of friends and number of followers). For example, the schema for a dataset can include: a user profile ID (identifier), text of the microblog entry (without the URL or stop words), URL, domain of the URL, title of the URL, caption of the URL, and similarity score.

From this dataset, n-grams (e.g., uni-grams and bi-grams) are extracted from the text of the microblog not contained in the title/caption of the URL. These various n-grams are aggregated over the various domains and the most frequently occurring n-grams (“annotations”) are selected. The aggregated n-grams are used to capture the captions pertaining to the domain.

Further applications of the disclosed architecture include improved captions/summaries (the current domain captions are static and do not provide much information), different social annotations (improve the current social annotation for domains), annotation of a web page/domain with different social networking signals (e.g., from sources social sources of people, places, professionals, microblogs, question/answer services, etc.), a new way of presenting “active” content on the Internet, ranking (use the top keywords to re-rank actively discussed websites), and search engine optimization.

FIG. 6illustrates a method in accordance with the disclosed architecture. At600, a link is obtained from updates of social data of social network information sources. At602, title content of a document title associated with the link is extracted. At604, the title content is compared to text associated with the link to create keywords related to popular topics. At606, information of a search result page is augmented with the keywords of the popular topics.

The method can further comprise comparing the title content to text associated with the link to create non-duplicative content, and creating keywords related to popular topics from the non-duplicative content. The method can further comprise comparing the title content to the text using a similarity measure to create a similarity score, and augmenting a search result entry of the search result page with the keywords. The method can further comprise augmenting a caption fly-out of a search result entry of the search result page with the keywords, and augmenting a specific vertical or part of the search result webpage with the keywords. A vertical can be a new search, an image search, a product search, etc.

FIG. 7illustrates an alternative method in accordance with the disclosed architecture. At700, a link is obtained from updates of social topics of social network information sources. At702, title content of a document title associated with the link is extracted. At704, the title content is compared to document text for similarity to create non-duplicative content. At706, keywords related to popular social topics are created from the non-duplicative content. At708, a search result entry of a search result page is augmented with the keywords of the popular social topics.

The method can further comprise augmenting a caption of the search result entry with the keywords as part of caption generation, and analyzing datasets of the social network information sources of a given time span to compute the popular social topics. The method can further comprise aging out a keyword over time based on aging criteria, and obtaining the link to updates of social network information sources that include at least one of a social network for places, a social network for professionals, a social network for people, a question and answer source, or a microblogging service. Since keywords can change based on conversations of people and the events, times, etc., associated with the keyword, it can be the case that the system simply applies a process of removing some keywords.

The disclosed architecture can be implemented to work in flyouts (graphical objects designed to appear in response to hover of a mouse cursor over another object and then disappear after a timeout or removal of the hover action, e.g., menus that expand left or right in response to a user input device hover or interaction with a user interface object) associated with a search result. Thus, the augmentation can be made part of the flyout, rather than the search result caption.

As used in this application, the terms “component” and “system” are intended to refer to a computer-related entity, either hardware, a combination of software and tangible hardware, software, or software in execution. For example, a component can be, but is not limited to, tangible components such as a processor, chip memory, mass storage devices (e.g., optical drives, solid state drives, and/or magnetic storage media drives), and computers, and software components such as a process running on a processor, an object, an executable, a data structure (stored in volatile or non-volatile storage media), a module, a thread of execution, and/or a program.

By way of illustration, both an application running on a server and the server can be a component. One or more components can reside within a process and/or thread of execution, and a component can be localized on one computer and/or distributed between two or more computers. The word “exemplary” may be used herein to mean serving as an example, instance, or illustration. Any aspect or design described herein as “exemplary” is not necessarily to be construed as preferred or advantageous over other aspects or designs.

Referring now toFIG. 8, there is illustrated a block diagram of a computing system800that executes dynamic search result caption augmentation in accordance with the disclosed architecture. However, it is appreciated that the some or all aspects of the disclosed methods and/or systems can be implemented as a system-on-a-chip, where analog, digital, mixed signals, and other functions are fabricated on a single chip substrate.

In order to provide additional context for various aspects thereof,FIG. 8and the following description are intended to provide a brief, general description of the suitable computing system800in which the various aspects can be implemented. While the description above is in the general context of computer-executable instructions that can run on one or more computers, those skilled in the art will recognize that a novel embodiment also can be implemented in combination with other program modules and/or as a combination of hardware and software.

The computing system800for implementing various aspects includes the computer802having processing unit(s)804, a computer-readable storage such as a system memory806, and a system bus808. The processing unit(s)804can be any of various commercially available processors such as single-processor, multi-processor, single-core units and multi-core units. Moreover, those skilled in the art will appreciate that the novel methods can be practiced with other computer system configurations, including minicomputers, mainframe computers, as well as personal computers (e.g., desktop, laptop, etc.), hand-held computing devices, microprocessor-based or programmable consumer electronics, and the like, each of which can be operatively coupled to one or more associated devices.

The system memory806can include computer-readable storage (physical storage media) such as a volatile (VOL) memory810(e.g., random access memory (RAM)) and non-volatile memory (NON-VOL)812(e.g., ROM, EPROM, EEPROM, etc.). A basic input/output system (BIOS) can be stored in the non-volatile memory812, and includes the basic routines that facilitate the communication of data and signals between components within the computer802, such as during startup. The volatile memory810can also include a high-speed RAM such as static RAM for caching data.

The system bus808provides an interface for system components including, but not limited to, the system memory806to the processing unit(s)804. The system bus808can be any of several types of bus structure that can further interconnect to a memory bus (with or without a memory controller), and a peripheral bus (e.g., PCI, PCIe, AGP, LPC, etc.), using any of a variety of commercially available bus architectures.

The computer802further includes machine readable storage subsystem(s)814and storage interface(s)816for interfacing the storage subsystem(s)814to the system bus808and other desired computer components. The storage subsystem(s)814(physical storage media) can include one or more of a hard disk drive (HDD), a magnetic floppy disk drive (FDD), solid state drive (SSD), and/or optical disk storage drive (e.g., a CD-ROM drive DVD drive), for example. The storage interface(s)816can include interface technologies such as EIDE, ATA, SATA, and IEEE 1394, for example.

One or more programs and data can be stored in the memory subsystem806, a machine readable and removable memory subsystem818(e.g., flash drive form factor technology), and/or the storage subsystem(s)814(e.g., optical, magnetic, solid state), including an operating system820, one or more application programs822, other program modules824, and program data826.

The operating system820, one or more application programs822, other program modules824, and/or program data826can include entities and components of the system100ofFIG. 1, entities and components of the system200ofFIG. 2, entities and components of the diagram300ofFIG. 3, entities and components of the diagram400ofFIG. 4, entities and components of the diagram500ofFIG. 5, and the methods represented by the flowcharts ofFIGS. 6 and 7, for example.

Generally, programs include routines, methods, data structures, other software components, etc., that perform particular tasks or implement particular abstract data types. All or portions of the operating system820, applications822, modules824, and/or data826can also be cached in memory such as the volatile memory810, for example. It is to be appreciated that the disclosed architecture can be implemented with various commercially available operating systems or combinations of operating systems (e.g., as virtual machines).

The storage subsystem(s)814and memory subsystems (806and818) serve as computer readable media for volatile and non-volatile storage of data, data structures, computer-executable instructions, and so forth. Such instructions, when executed by a computer or other machine, can cause the computer or other machine to perform one or more acts of a method. The instructions to perform the acts can be stored on one medium, or could be stored across multiple media, so that the instructions appear collectively on the one or more computer-readable storage media, regardless of whether all of the instructions are on the same media.

Computer readable media can be any available media that does not employ propagated signals, can be accessed by the computer802, and includes volatile and non-volatile internal and/or external media that is removable or non-removable. For the computer802, the media accommodate the storage of data in any suitable digital format. It should be appreciated by those skilled in the art that other types of computer readable media can be employed such as zip drives, magnetic tape, flash memory cards, flash drives, cartridges, and the like, for storing computer executable instructions for performing the novel methods of the disclosed architecture.

A user can interact with the computer802, programs, and data using external user input devices828such as a keyboard and a mouse, as well as by voice commands facilitated by speech recognition. Other external user input devices828can include a microphone, an IR (infrared) remote control, a joystick, a game pad, camera recognition systems, a stylus pen, touch screen, gesture systems (e.g., eye movement, head movement, etc.), and/or the like. The user can interact with the computer802, programs, and data using onboard user input devices830such a touchpad, microphone, keyboard, etc., where the computer802is a portable computer, for example.

These and other input devices are connected to the processing unit(s)804through input/output (I/O) device interface(s)832via the system bus808, but can be connected by other interfaces such as a parallel port, IEEE 1394 serial port, a game port, a USB port, an IR interface, short-range wireless (e.g., Bluetooth) and other personal area network (PAN) technologies, etc. The I/O device interface(s)832also facilitate the use of output peripherals834such as printers, audio devices, camera devices, and so on, such as a sound card and/or onboard audio processing capability.

One or more graphics interface(s)836(also commonly referred to as a graphics processing unit (GPU)) provide graphics and video signals between the computer802and external display(s)838(e.g., LCD, plasma) and/or onboard displays840(e.g., for portable computer). The graphics interface(s)836can also be manufactured as part of the computer system board.

The computer802can operate in a networked environment (e.g., IP-based) using logical connections via a wired/wireless communications subsystem842to one or more networks and/or other computers. The other computers can include workstations, servers, routers, personal computers, microprocessor-based entertainment appliances, peer devices or other common network nodes, and typically include many or all of the elements described relative to the computer802. The logical connections can include wired/wireless connectivity to a local area network (LAN), a wide area network (WAN), hotspot, and so on. LAN and WAN networking environments are commonplace in offices and companies and facilitate enterprise-wide computer networks, such as intranets, all of which may connect to a global communications network such as the Internet.

When used in a networking environment the computer802connects to the network via a wired/wireless communication subsystem842(e.g., a network interface adapter, onboard transceiver subsystem, etc.) to communicate with wired/wireless networks, wired/wireless printers, wired/wireless input devices844, and so on. The computer802can include a modem or other means for establishing communications over the network. In a networked environment, programs and data relative to the computer802can be stored in the remote memory/storage device, as is associated with a distributed system. It will be appreciated that the network connections shown are exemplary and other means of establishing a communications link between the computers can be used.