Adaptive search using social graph information

The subject disclosure relates systems and methods for returning accurate and relevant search results in an online platform. In some aspects, a process of the disclosed technology can include steps for displaying a first set of search results, the first set of search results including a first plurality of media content items arranged in an order of descending relevance based on search frequency, receiving a first character input from a user of a user device, the first character input defining a first character in a search query, and updating the first set of search results to a second set of search results based on the first character input, the second set of search results comprising at least one media content item not included in the first set of search results that is available for consumption by the user. Systems and machine-readable media are also provided.

BACKGROUND

1. Technical Field

Aspects of the subject technology relate to ways to return search results based on a search query and in particular, for returning and organizing content items returned in a search based on contextual information.

Rapid growth of the Internet and the consequential proliferation of online gaming systems have resulted in significant changes in the number and type of collaborative activities with which online users engage. In addition to online games, vendors provide music, movies, social networking streams and other media for consumption via specialized applications (e.g., “apps”) executed on a personal computing platform, such as a console system, personal computer, smartphone, and/or tablet device, etc. Content items on offer to online users are typically searchable using an online store that provides content item search functionality.

DETAILED DESCRIPTION

An increasing number of online transactions are performed for downloadable content items, such as movies, music, software, and video games. Such transactions routinely involve the search, selection, purchase and download of a content item, for example, from an online store or e-commerce portal. For gaming networks, content items, such as games, movies and/or music can be searched, selected, and downloaded via user interaction with an online store using a processor-based device, such as a game console, smartphone, personal computer, tablet computer, or the like. These computing devices (e.g., user devices) often provide search input and selection options through the display of an on-screen keyboard (OSK), and an associated list of search results that enumerate available (downloadable) content items.

Because of the many challenges in processing user search queries, there is a need in the art to provide search systems and intuitive displays that improve accuracy, relevancy, and ease of use. Aspects of the disclosed technology address this need by providing systems, methods and computer-readable media that provide solutions for improving search accuracy and display relevance based on content item popularity and social graph information.

As discussed in further detail below, aspects of the technology provide adaptive search results that are displayed concurrent to the receipt of user inputs relating to a search query. In some aspects, search results retuned in response to a search query can be organized in an order of descending relevance based on popularity, such as a number of purchases or downloads across various user segments in an online store. In other aspects, social graph information of a searching user may be used to provide improved relevance and ranking, for example, by prioritizing items that have been heavily engaged by online friends or social acquaintances of the user.

FIG. 1illustrates an example environment100in which an online store can be used to receive a search query, perform a search, and to rank and return a number of content items as search results. Environment100includes network102, that permits communication between a media-delivery system104, a third-party provider106, and users108,110, and112, e.g., via respective computing devices108A,110A, and112A. Store105contains a search module105A, a cart module105B, and a social analysis module105C that provide the functionality, including displays and user selectable options, necessary to process a search query, and rand/display search results, according to some aspects of the technology.

It is understood that the architecture of environment100is intended to conceptually illustrate various functional components that can be used to implement an online shopping environment with search functionality. However, a greater or fewer number of hardware and/or software components may be deployed. For example, media-delivery system104could include multiple computing devices (e.g., servers), as part of a network (e.g., an online gaming network), or as part of a distributed computing system, such as a cloud data-center.

Users/players108,110, and112, are intended to help illustrate aspects of the technology that relate to a multi-user, multi-player environment, as well as various other social networking aspects. However, a greater number of users or players may be included, without departing from the scope of the technology. Additionally, online store105is intended to conceptually illustrate various systems and software components (modules) that could be used to implement various aspects of an online search. However, such implementations could be performed using additional systems or software, such as one or more databases, search modules or content item repositories.

Media-delivery system104can be configured to facilitate the search, selection, purchase and delivery of various media content items, such as video games, movies, music, TV shows, or applications (“apps”), etc. In some aspects, content items are provided to media-delivery system by a third-party106, such as a game-developer or studio, etc. Content items made available by media-delivery system104can be provided to any customer, user, or player, with access to media-delivery system104, such as via a game-console system, personal computer, and/or portable device, such as a tablet computer or smartphone device, etc.

Typically, a user search for a content item must be successfully processed before selection and purchase of the item can be completed. User inputted search queries for one or more content items can be processed by online store105using several modules, including search module105A, cart module105B, and social analysis module105C.

Search module105A can provide the logic and user interfaces necessary to receive a search query, and to identify and rank search results that are displayed to a user. Search module105A can also provide processing and logic necessary to make potential search query recommendations to a user, such as, by recommending search terms relating to product names, content item genres, and/or product names, and the like. In some aspects, search module105A functions in conjunction with social analysis module105C to provide item information that is based social affiliations of a user/customer. By way of example, search module105A may utilize social analysis module105C to provide metadata tags or other indications that are based on a purchase history of online connections or relations of the searching user. As discussed in further detail below, acting in conjunction with social analysis module105C, search module105A may provide content item recommendations that are based on a variety of factors, including information about how many relations of the user have purchased or engaged with a particular content item.

FIG. 2illustrates an example graphical display200of an online store that provides selectable user options to facilitate the purchase of content items. Purchasable content items can include any type of downloadable media content, such as movies, music, games, and/or software (such as apps), etc. Graphical display200is displayed by a user device associated with a user or customer of the online store. For example, graphical display200can be provided for display by a game console system, personal computer (PC), smartphone, tablet computer, or other mobile device associated with the user.

Graphical display200includes selectable icons that provide various user-selectable options relating to the search and selection of content items, e.g., for rent or for purchase. In the illustrated example, graphical display200includes a call to action (CTA) search icon202, cart icon204, and item-explorer displays206,208. Search icon202provides a selectable option to initiate a product search. For example, search icon202can be selected by a user, via a user-device (e.g., a console game system), to initiate a search for various content items, such as video games or movies, etc. Cart icon204can provide a selectable user option to facilitate access to an online shopping cart, for example, that displays items the user previously selected to purchase. In some aspects, the shopping cart accessible via cart icon204can be a persistent shopping cart configured to retain items selected in previous browsing sessions.

Item-explorer displays206,208provide graphical displays of various content items and purchase options available within the online store. In the illustrated example, item-explorer display206indicates multiple titles available for rent, subscription and/or purchase. For example, item-explorer display206contains Title 1, Title 2, Title 3, and Title 4 representing media content items available for streaming or download, such as video games, movies, television series, etc. Item-explorer display206can also indicate options to display promotions available through the online store, such as, an icon providing access to “2 for 1” sale items on promotion during an indicated time-period, such as a season (summer). Similarly, item-explorer display308provides icons that indicating various offers for different content items.

Item-explorer display208provides icons provides icons to facilitate access to content items that are part of an “extended play sale” or for content item rent options, e.g., for different time periods, such as, 12 months, 3 months, or 1 month. Icons representing content item titles can also provide price information, indications of recent price changes, and/or sale information for content item bundles (e.g., a “2-film collection”). It is understood that item-explorer displays206,208could provide virtually any type of information relating to the sale or promotion of content items or content bundles, without departing from the scope of the invention. In some aspects, a user can make a selection of one or more content items displayed in item-explorer displays206,208, for example, to add the selected title to an online shopping cart. In the illustrated example, Title 1, is selected, e.g., by a user associated with a client device.

Additionally, the user may search other content items in the store for addition to cart204, for example, by navigating to a search menu provided in response to user selection of search icon202. Graphical features relating to the beginning of an example search process are detailed with respect ofFIG. 3A.

FIG. 3Aillustrates an example graphical display300A that is provided at the beginning of a content item search. Display300A includes an on-screen interface302A that provides an on-screen keyboard and a search query input box. In the illustrated display example, on-screen interface302A includes a CTA “Search by Title” displayed in the query input box. It is understood that on-screen interface302A could provide different character input options and/or different CTAs, without departing from the scope of the technology.

Display300A also provides a default (first) set of search results304A indicated by a heading “Top Searches Today.” The first set of search results304A in this example represents a list of most frequently searched content items in the past 24 hrs, arranged in descending order by search frequency. That is, Title 1 is associated with a highest search frequency among online store users, whereas Title 3 is associated with a lowest relative search frequency among the displayed items. It is understood that the first set of search results304A can include a greater (or fewer) number of items. Additionally, frequency counts for displayed items may be differently computed, depending on the desired implementation.

By way of example, the first set of search results304A may indicate a list of the most frequently searched and/or purchased content items over other durations, such as the past year, month, or week. In some aspects, the most frequently searched items may be a global popularity calculated over all available time of the associated item. As discussed in further detail below, the search results may also be arranged in an order that is based on social graph information, such as, based on a purchase or play frequency by online acquaintances of the searching user.

Additionally, the arrangement of graphical display300A, as well as the transitions and animations when entering/leaving display300A may be different. For example, the OSK and/or the first set of search results304A may be provided in other regions of the display area provided by display300A. Additionally, when the first set of search results304A are being loaded, the loading process may be animated with a slight wireframe to indicate that the items are about to be displayed.

FIG. 3Billustrates an example of a graphical display300B provided after one or more character inputs have been received from a user device, according to some aspects of the technology. In the illustrated example, a second set of search results304B are displayed in response to user entry of the characters “hor” provided to on-screen interface302B. In this example, search results304B includes an indication of a number of results returned in response to the search query, i.e., 178.

The content items displayed among search results304B can be updated after entry of each subsequent character by a user inputting a search query. In some embodiments, the results can be based on a measure of relevance with respect to the characters/search query entered, and can be arranged based on social graph information. For example, if Title 5 and Title 6 are both determined to be highly relevant with respect to the partial (or fully) entered search query, the items may be ranked based on social graph information e.g., based on a frequency of engagement with the item by one or more online friends or acquaintances of the user. In the illustrated example, Title 5 may be ranked higher than Title 6 in search results304B if Title 5 had a greater amount of engagement by members of the user's social network.

In response to character entries received as part of a search query, on-screen interface302B can also provide a display of suggested search terms that are available for user selection. Further to the example ofFIG. 3B, the terms “horn,” “horse,” “horror,” “horizontal,” and “horses,” are provided as suggested search terms. User engagement with any suggested search term and replace the search query with that term. For example, user selection of “horse” in on-screen interface302B can supply the entire string as a submitted search query.

In some aspects, metadata tags can be displayed adjacent to one or more content items returned in the search results, for example, to provide additional information with respect to the associated item. In the example illustrated byFIG. 3B, search results304B returned in response to entry of the characters “hor” include Title 5, Title, 6 and Title 1 (ranked respectively). Title 5 is displayed adjacent to metadata tag306, which indicates social graph information with respect to the item, i.e., that four of the user's friends play the Title 5 content item. Title 6 is displayed adjacent to metadata tag307, which indicates a genre (e.g., “Horror”) with respect to the Title 6 content item. It is understood that a greater (or fewer) number of metadata tags could be used to augment one or more content items returned in search results304B. Additionally, the metadata information may be used to perform different relevance rankings, depending on the desired implementation. For example, highly relevant genres may be deemed to be more relevant in a listing of search results as compared to social relevance information. In such instances, Title 6 may be ranked higher than Title 5 in search results304B.

Selection of a content item provided in search results304B, can cause the display of product information for the selected content item. Animated transitions between the display of search results304B, and the selected content item may be implemented. For example, a background color of graphical display300B can be transitioned based on the color motif of the selected title.

FIG. 3Cillustrates an example display that is provided after selection of Title 1 in graphical display300B. That is,FIG. 3Cillustrates graphical display300C, that provides additional information regarding the selected content item, i.e., Title 1. Graphical display300C includes various information items, such as, information displays310,311,312,314,316, and318that provide additional information with respect to the selected content item (Title 1). Information display310provides an indication of the title (e.g., “Title 1”), as well as a version associated with the selected item e.g., “standard edition.” Information display311indicates the sales offer (e.g., “full game”), release date information (e.g., Mar. 7, 2017), and a user rating. Information display312indicates a price option (e.g., “$59.99”) should the user wish to continue with purchase and “Buy Now.” Information displays314,316, and318, can provide additional information including a maturity rating, a selectable option for further detail expansions, and an indication of space required for the content-item download of Title 1, respectively. It is understood that different information displays may be used to indicate other aspects or characteristics of a selected content item, without departing from the scope of the invention.

FIG. 4illustrates an example process400for implementing a content item search, according to some aspects of the technology. Process400begins with step402in which a first set of (default) search results are displayed. The first set of default search results can include a variety of content items available for search and/or purchase in an online platform, such as online store105discussed above with respect toFIG. 1. As discussed above, the first set of search results can include a listing of most frequently searched or downloaded items with respect to a given time period.

Providing an initial indication of the most frequently searched items can enable the user to conveniently find a desired item without the need to input a search query. Additionally, by providing an indication of the most frequent search results, the user can be informed as to current trends in content item consumption across the platform. In step404, one or more character inputs are received from a user device, for example, defining at least a portion of a search query to be entered.

In step406, the displayed search results are updated concurrently with each additional character input received from the user. That is, the first set of search results are updated to a second set of search results based on a partial (or full) search query entry. The second set of search results display one or more content items in a list of descending relevance, which may be determined based on any number of factors, including but not limited to: genre, social graph information, purchase frequency associated with an item, and/or a purchase history for the searching user.

In step408, a contextual tag is displayed adjacent to at least one of the media content items. The contextual tag can provide additional information to the user regarding the associated content item, such as, genre information and/or social relevance information. Further to the example provided above with respect toFIG. 3B, contextual (metadata) tags can be used to provide indications that a user's friends have purchased or “liked” a particular content item. In this manner, contextual tags may be useful not only in ranking search results based on relevance, but in providing useful information that the user may consider when making selection and purchase decisions.

FIG. 5illustrates an example of an electronic system with which some aspects of the subject technology can be implemented. In particular,FIG. 5is an exemplary user device500, such as a game console system, that the user can use to browse an online store to purchase and download various content items.

User device500can include various elements as illustrated inFIG. 4. It should be noted that the elements are exemplary and that other embodiments may incorporate more or less than the elements illustrated. With reference toFIG. 4, user device500includes a main memory502, central processing unit (CPU)504, at least one vector unit506, graphics processing unit508, input/output (I/O) processor510, I/O processor memory512, controller interface514, memory card516, Universal Serial Bus (USB) interface518, IEEE 1394 interface520, and an auxiliary (AUX) interface522for connecting a tracking device524, although other bus standards and interfaces may be utilized. User device500further includes an operating system read-only memory (OS ROM)526, a sound processing unit528, an optical disc control unit530, and a hard disc drive532, which are connected via a bus534to the I/O processor510. The user device500further includes at least one tracking device524.

Tracking device524can be a camera, which includes eye-tracking capabilities. The camera may be integrated into or attached as a peripheral device to user device500. In some eye-tracking device implementations, infrared non-collimated light is reflected from the eye and sensed by a camera or optical sensor. The information is then analyzed to extract eye rotation from changes in reflections. Camera-based trackers focus on one or both eyes and record their movement as the viewer looks at some type of stimulus. Camera-based eye trackers use the center of the pupil and light to create corneal reflections (CRs). The vector between the pupil center and the CR can be used to compute the point of regard on surface or the gaze direction. A simple calibration procedure of the viewer is usually needed before using the eye tracker.

Alternatively, more sensitive trackers use reflections from the front of the cornea and that back of the lens of the eye as features to track over time. Even more sensitive trackers image features from inside the eye, including retinal blood vessels, and follow these features as the eye rotates. Most eye tracking devices use a sampling rate of at least 30 Hz, although 50/60 Hz is most common. Some tracking devises run as high as 1250 Hz, which is needed to capture detail of very rapid eye movement.

A range camera may instead be used with the present invention to capture gestures made by the user and is capable of facial recognition. A range camera is typically used to capture and interpret specific gestures, which allows a hands-free control of an entertainment system. This technology may use an infrared projector, a camera, a depth sensor, and a microchip to track the movement of objects and individuals in three dimensions. This user device may also employ a variant of image-based three-dimensional reconstruction.

The tracking device524may include a microphone integrated into or attached as a peripheral device to user device500that captures voice data. The microphone may conduct acoustic source localization and/or ambient noise suppression.

Alternatively, tracking device524may be the controller of the user device500. The controller may use a combination of built-in accelerometers and infrared detection to sense its position in 3D space when pointed at the LEDs in a sensor nearby, attached to, or integrated into the console of the entertainment system. This design allows users to control functionalities of the user device500with physical gestures as well as button-presses. The controller connects to the user device500using wireless technology that allows data exchange over short distances (e.g., 30 feet). The controller may additionally include a “rumble” feature (i.e., a shaking of the controller during certain points in the game) and/or an internal speaker.

The controller may additionally or alternatively be designed to capture biometric readings using sensors in the remote to record data including, for example, skin moisture, heart rhythm, and muscle movement.

As noted above, the user device500may be an electronic gaming console. Alternatively, the user device500may be implemented as a general-purpose computer, a set-top box, or a hand-held gaming device. Further, similar user devices may contain more or less operating components.

CPU504, vector unit506, graphics processing unit508, and I/O processor510communicate via system bus536. Further, the CPU504communicates with the main memory502via a dedicated bus538, while the vector unit506and the graphics processing unit508may communicate through a dedicated bus540. The CPU504executes programs stored in the OS ROM526and the main memory502. The main memory502may contain pre-stored programs and programs transferred through the I/O Processor510from a CD-ROM, DVD-ROM, or other optical disc (not shown) using the optical disc control unit532. The I/O processor510primarily controls data exchanges between the various devices of the user device500including the CPU504, the vector unit506, the graphics processing unit508, and the controller interface514.

Graphics processing unit508executes graphics instructions received from the CPU504and the vector unit506to produce images for display on a display device (not shown). For example, the vector unit506may transform objects from three-dimensional coordinates to two-dimensional coordinates, and send the two-dimensional coordinates to the graphics processing unit508. Furthermore, the sound processing unit530executes instructions to produce sound signals that are outputted to an audio device such as speakers (not shown).

A user of user device500provides instructions via controller interface514to CPU504. For example, the user may instruct CPU504to store certain information on the memory card516or instruct user device500to perform some specified action.

Other devices may be connected to user device500via USB interface518, IEEE 1394 interface520, and AUX interface522. Specifically, tracking device524, including a camera or a sensor may be connected to user device500via AUX interface522, while a controller may be connected via USB interface518.

FIG. 6illustrates an example network device610according to some embodiments. Network device610can be used to implement one or more servers or remote computing devices, such as media delivery system104, discussed above with respect toFIG. 1. Network device610includes a master central processing unit (CPU)662, interfaces668, and a bus615(e.g., a PCI bus).

When acting under the control of appropriate software or firmware, CPU662is responsible for executing functions necessary for operation of an online content delivery platform. CPU662preferably accomplishes all these functions under the control of software including an operating system and any appropriate applications modules, such as cart105A, product recommendation module105B, and/or social analysis module105C, discussed above. CPU662may include one or more processors663such as a processor from the Motorola family of microprocessors or the MIPS family of microprocessors. In an alternative embodiment, processor663is specially designed hardware for controlling the operations of device610. In a specific embodiment, memory661(such as non-volatile RAM and/or ROM) also forms part of CPU662. However, there are many different ways in which memory could be coupled to the system.

CPU662can be configured to execute instructions provided by one or more software modules, for example, to perform operations including: displaying a first set of search results, the first set of search results comprising a first plurality of media content items arranged in an order of descending relevance based on search frequency, receiving a first character input from a user of a user device, the first character input defining a first character in a search query, updating the first set of search results to a second set of search results based on the first character input, the second set of search results comprising at least one media content item not included in the first set of search results that is available for consumption by the user, and wherein the second set of search results are displayed in an order of decreasing relevance. In some aspects, CPU662may further be configured to execute operations for displaying a contextual tag adjacent to at least one of the media content items, the contextual tag providing information regarding a consumption of the at least one of the media content items by one or more online friends of the user. In some aspects, displaying the plurality of media content items to the user in an order of decreasing relevance, further includes arranging each of the plurality of media content items in an order of relevance based on an associated search frequency. In some aspects, displaying the plurality of media content items to the user in an order of decreasing relevance, further includes arranging each of the plurality of media content items in an order of relevance based on a purchase history of the one or more online friends of the user.