Algorithmic radio for arbitrary text queries

By receiving users' text queries, identifying playlists related to the queries, calculating the relevance score of the playlists and the total score of the content items, and generating personalized new playlists, this technology solves the problems of insufficient accuracy and personalization in playlist generation in existing technologies, and achieves more accurate playlist recommendations.

CN114676273BActive Publication Date: 2026-07-03GOOGLE LLC

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
GOOGLE LLC
Filing Date
2016-03-29
Publication Date
2026-07-03

AI Technical Summary

Technical Problem

Existing playlist generation methods struggle to efficiently generate personalized playlists based on user text queries and fail to effectively utilize the correlation between user behavior data and playlists, resulting in insufficient accuracy and personalization in playlist recommendations.

Method used

By receiving users' text queries, identifying playlists related to the queries, calculating the relevance scores of the playlists, and generating personalized new playlists based on the frequency and relevance of content items in different playlists, a personalized subset of content items is provided to generate new playlists.

Benefits of technology

It enables the efficient generation of personalized playlists based on user text queries, improving the accuracy and personalization of playlist recommendations and meeting diverse user needs.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114676273B_ABST
    Figure CN114676273B_ABST
Patent Text Reader

Abstract

This application relates to an algorithmic radio for arbitrary text queries. A text query can be received from a user. Playlists associated with the text query can be identified. A relevance score for each playlist can be calculated, at least in part, based on the relevance of each playlist in the playlists to the text query. Furthermore, content items can be identified, wherein each content item is included in at least one playlist within the playlists. For each identified content item, one or more playlists including the corresponding content item can be identified. The score for each content item can be calculated based on the relevance score for each playlist in the playlists including the corresponding content item. Additionally, a new playlist can be generated for the user based on the score for each content item.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] Case Analysis

[0002] This application is a divisional application of Chinese Invention Patent Application No. 201680019530.8, filed on March 29, 2016. Technical Field

[0003] This disclosure relates to the field of playlists, and more specifically, to algorithmic radio for arbitrary text queries. Background Technology

[0004] Playlists, such as song playlists, can be provided to users to view or access the contents of the playlist. For example, a playlist may include multiple songs, allowing users to listen to the songs in the playlist sequentially or randomly. Playlists can be provided to users using user characteristics. For example, songs can be included in a playlist based on the type of songs the user has previously listened to or based on the type of songs the user has not listened to. A song may be included in a playlist if it is similar to other songs the user has listened to, while another song may not be included if it is similar to other songs the user has indicated he or she has not listened to. Summary of the Invention

[0005] The following is a simplified summary of this disclosure to provide a basic understanding of some aspects of it. This summary is not an overview of the scope of this disclosure. It is not intended to identify key or essential elements of this disclosure, nor to describe any scope of any particular implementation of this disclosure or any scope of the claims. Its sole purpose is to present some concepts of this disclosure in a simplified form as a prelude to the more detailed description that follows.

[0006] Implementations of this disclosure may include a method for receiving a text query from a user and identifying playlists associated with the text query. A relevance score may be calculated for each playlist in a corresponding playlist, at least in part, based on the relevance of each playlist in the playlist to the text query. Content items may be identified, wherein each content item may be included in at least one playlist within the playlist. For each identified content item, one or more playlists including the corresponding content item may be identified. Furthermore, a score may be calculated for a corresponding content item based on the relevance score of each play column in the playlists including each content item. A new playlist for the user may be generated based on the score for each content item.

[0007] In some embodiments, the score for each content item in the content items may be further based on the sum of the relevance scores of each relevance score for each playlist in the playlist that includes the corresponding content item.

[0008] In some embodiments, the calculation of the relevance score for each playlist in a playlist may further be based on the usage frequency of the corresponding playlist or the recentity of a modification of the corresponding playlist. Furthermore, the usage frequency of the corresponding playlist is associated with the frequency of content items in the corresponding playlist being accessed by one or more users, and the recentity of a modification of the corresponding playlist (e.g., the last time a modification occurred) may be associated with the time when at least one content item was added to or removed from the corresponding playlist.

[0009] In some embodiments, the method may further respond to the text query associated with the search by providing the new playlist as a radio station in the search results.

[0010] In some embodiments, a new playlist may include a subset of content items included in at least one playlist.

[0011] In some embodiments, the new playlist includes the identification of a subset of content items based on the score, and each of the identifications of the subset of content items provides access to the corresponding content item.

[0012] In some embodiments, a non-transitory machine-readable storage medium executable with storage instructions causes a processing device to perform operations such as receiving a text query from a user and identifying playlists associated with the text query. The operations may also calculate a relevance score for a corresponding playlist based at least in part on the relevance of each playlist in the playlist to the text query. Furthermore, the operations may identify content items, wherein each content item may be included in at least one playlist within the playlist. For each identified content item, one or more playlists including the corresponding content item may be identified. Furthermore, these operations may calculate a score for a content item based on the relevance score for each playlist in the playlists including the corresponding content item. The operations may further generate a new playlist for the user based on the score for each content item.

[0013] In some embodiments, a system may include a memory and a processing device coupled to the memory. The processing device may receive a text query from a user and identify playlists associated with the text query. The processing device may also assign a relevance score to a corresponding playlist based at least in part on the relevance of each playlist in the playlist to the text query. Furthermore, the processing device may identify content items, wherein each content item may be included in at least one playlist within the playlist. For each identified content item, one or more playlists including the corresponding content item may be identified. Additionally, the processing device may calculate a score for each content item based on the relevance score of each playlist in the playlists including the corresponding content item. The processing device may also generate a new playlist for the user based on the score for each content item. Attached Figure Description

[0014] The figures in the accompanying drawings illustrate this disclosure by way of example and not limitation.

[0015] Figure 1 An example system architecture in which embodiments of the present disclosure are operable is illustrated.

[0016] Figure 2 An example playlist module according to some embodiments of the present disclosure is illustrated.

[0017] Figure 3 This is a flowchart of an example method for generating a playlist based on the total score of content items according to some embodiments.

[0018] Figure 4 This is a flowchart of an example method for determining a relevance score for a playlist, according to some embodiments of this disclosure.

[0019] Figure 5 This is a flowchart of an example method for determining a total score for a content item, according to some embodiments.

[0020] Figure 6 The illustration shows a playlist of content items according to some embodiments of the present disclosure.

[0021] Figure 7 An example graphical user interface illustrating a playlist generated based on the total score of content items, according to some embodiments of this disclosure, is shown.

[0022] Figure 8 The illustration shows block diagrams of embodiments of a computer system in which some embodiments of the present disclosure may be operated. Detailed Implementation

[0023] This disclosure relates to algorithmic radio for arbitrary text queries. Algorithmic radio can correspond to playlists. For example, a playlist can be generated in response to a search based on a text query that includes a text string or keywords. A playlist can identify multiple content items. For example, a playlist can be a playlist with content items corresponding to songs or videos, a list of books (audiobooks or ebooks), or any other cluster of content or content items.

[0024] For example, a user can perform a search for content items (such as music videos) by providing a text query. In response to a text-based search, various music videos can be provided to the user as part of the search results. The user-provided text query can be used to generate new playlists that can be included in the search results. For instance, a new playlist can be provided as an automatically generated playlist for the user, based on their text query.

[0025] New playlists can be generated based on other playlists associated with a text query. For example, previously created playlists provided by other users can be identified based on previously created playlists that match a text query. A relevance score can be calculated for each of the previously created playlists. For example, a relevance score for each playlist among the previously created playlists can be calculated using factors such as the relevance of a playlist among the playlists that match the text query, the frequency with which the user is accessing the playlist, the last date the playlist was modified (e.g., the date the last item was added or removed from the playlist), or other such factors.

[0026] Each unique content item can be identified as being included in any of the previously created playlists that match the text query. For example, multiple content items can be identified as being included in at least one playlist that matches the text query. A total score can be calculated for each content item. The total score for each content item can be calculated based on the sum of relevance scores calculated for previously created playlists that include the corresponding content item. For example, if a content item is included in both a first and a second playlist, the total score for the content item could be the sum of the relevance scores of the first and second playlists. In some embodiments, the total score for the content item can be based on additional factors described in more detail below.

[0027] As a result, the aggregate score of each content item included in any playlist that matches the text query can be identified. A subset of content items can then be selected to be included in a new playlist that will be generated and provided to the user in response to a search that includes the text query. For example, the content item with the highest score can be selected to be included in the new playlist. In some embodiments, additional factors may be used to select content items to be included in the new playlist, as will be described in further detail.

[0028] Therefore, text queries from users can be provided to create new playlists. A text query can be considered a type of seed or data item used to create other data (e.g., new playlists), as opposed to identifying content based on user behavior such as whether a user has accessed a specific content item or indicating that he or she dislikes a specific content item. Therefore, generating new playlists based on text queries allows users to more easily express a type of playlist based on various artists, genres, themes, or other contexts related to the new playlist.

[0029] For example, a user can use a graphical user interface (GUI) to provide a text query to search for videos available through the GUI. New playlists can be generated to identify multiple videos. Furthermore, a new playlist can be considered a radio station generated for the user based on the text query they provided to search for videos. A radio station can be a list of videos played in sequential order when the user accesses a radio station or playlist. For instance, radio stations or playlists can be provided in the search results returned to the user in response to a text query.

[0030] Figure 1 An example system architecture 100 according to one implementation of this disclosure is illustrated. System architecture 100 includes client devices 110A to 110Z, network 105, data storage 106, content sharing platform 120, and server 130. In one implementation, network 105 may include a public network (e.g., the Internet), a private network (e.g., a local area network (LAN) or a wide area network (WAN)), a wired network (e.g., Ethernet), a wireless network (e.g., an 802.11 network or a Wi-Fi network), a cellular network (e.g., a Long Term Evolution (LTE) network), a router, a hub, a switch, a server computer, and / or combinations thereof. In one implementation, data storage 106 may be a memory (e.g., random access memory), a cache, a drive (e.g., a hard disk drive), a flash drive, a database system, or another type of component or device capable of storing data. Data storage 106 may also include multiple storage components (e.g., multiple drives or multiple databases) that may span multiple computing devices (e.g., multiple server computers).

[0031] Client devices 110A to 110Z may each include computing devices such as personal computers (PCs), laptops, mobile phones, smartphones, tablets, networked televisions, netbooks, etc. In some implementations, client devices 110A to 110Z may also be referred to as "user devices." Each client device includes a media viewer 111. In one implementation, the media viewer 111 may be an application that allows users to view content such as images, videos, web pages, documents, etc. For example, the media viewer 111 may be an application that can access, retrieve, render, and / or navigate content served by a web server (e.g., web pages such as Hypertext Markup Language (HTML) pages, digital media items, or content items). The media viewer 111 may render, display, and / or present content (e.g., web pages, media viewers) to the user. The media viewer 111 may also display embedded media players (e.g., embedded media players) in web pages (e.g., web pages that provide information about products sold by online merchants). (Player or HTML5 player). In another example, media viewer 111 could be a standalone application that allows users to view digital media items (e.g., digital videos, digital images, ebooks, etc.).

[0032] Media viewer 111 may be provided to client devices 110A to 110Z by server 130 and / or content sharing platform 120. For example, media viewer 111 may be an embedded media player embedded in a webpage provided by content sharing platform 120. In another example, media viewer 111 may be an application communicating with server 130.

[0033] In general, as appropriate, the functions described in one implementation as being performed by the content sharing platform 120 may also be performed on client devices 110A to 110Z in other implementations. Furthermore, functions attributable to specific components may be performed by different or multiple components operating together. The content sharing platform 120 may also be accessed as a service provided to other systems or devices through appropriate application programming interfaces, and is therefore not limited to use on websites.

[0034] In one implementation, the content-sharing platform 120 may be one or more computing devices (such as rack servers, router computers, server computers, personal computers, mainframe computers, laptop computers, tablet computers, networked televisions, desktop computers, etc.), data storage (such as hard disks, memory, databases), networks, software components, and / or hardware components that can be used to provide users with access to media items (also referred to as content items) and / or to provide media items to users. For example, the content-sharing platform 120 may allow users to consume, upload, search, approve (“likes”), dislike, and / or comment on media items. The content-sharing platform 120 may also include websites (e.g., web pages) that can be used to provide users with access to media items.

[0035] In implementations of this disclosure, a "user" may be represented as a single individual. However, other implementations of this disclosure encompass an entity controlled by a set of users and / or an automated source. For example, a set of individual users united as a community in a social network can be considered a "user." In another example, an automated consumer may be an automated access pipeline such as a topic channel of a content sharing platform 120.

[0036] Content sharing platform 120 may include multiple channels (e.g., channels A through Z). Channels may be data content available from public sources or data content with a public title, theme, or substance. Data content may be user-selected digital content, user-available digital content, user-uploaded digital content, content provider-selected digital content, broadcaster-selected digital content, etc. For example, channel X may include videos Y and Z. Channels may be associated with an owner, who is a user who can perform actions on the channel. Different activities may be associated with channels based on owner actions such as the owner making digital content available on the channel, the owner selecting (e.g., liking) digital content associated with another channel, the owner commenting on digital content associated with another channel, etc. Activities associated with a channel may be collected into an activity feed for the channel. Users other than channel owners may subscribe to one or more channels they are interested in. The concept of "subscription" may also be referred to as "liking," "following," "friending," etc.

[0037] Once a user subscribes to a channel, information from the channel's active feed can be presented to the user. If a user subscribes to multiple channels, the active feeds from each channel can be combined into a joint active feed. Information from the joint active feed can then be presented to the user. Channels may have their own feeds. For example, when navigating to a channel's homepage on a content-sharing platform, the feed items generated by that channel can be displayed on the channel's homepage. Users can have joint feeds, which are feeds that include at least a subset of content items from all the channels the user subscribes to. Joint feeds can also include content items from channels the user does not subscribe to. For example, content-sharing platforms 120 or other social networks can insert recommended content items into a user's joint feed, or they can insert content items associated with the user's relevant links into the joint feed.

[0038] Each channel may include one or more media items 121. Examples of media items 121 may include, but are not limited to, digital video, digital film, digital photograph, digital music, website content, social media updates, e-books, e-magazines, digital newspapers, digital audiobooks, e-journals, web blogs, RSS feeds, e-comic books, software applications, etc. In some implementations, media items 121 are also referred to as content items.

[0039] Media item 121 can be consumed via the Internet and / or via mobile device applications. For the sake of brevity, online video (hereinafter also referred to as video) is used throughout this document as an example of media item 121. As used herein, “media,” “media item,” “online media item,” “digital media,” “digital media item,” “content,” and “content item” can include electronic files that can be executed or loaded using software, firmware, or hardware configured to present digital media items to an entity. In one implementation, content sharing platform 120 may use data storage 106 to store media item 121. Content sharing platform 120 may also store playlists created by users, third parties, or automatically. Playlists may include a list of content items (e.g., videos) that can be played sequentially or in a mixed-sequence manner (e.g., streaming) on ​​the content sharing platform.

[0040] In one implementation, server 130 can be one or more computing devices (e.g., rack-mount servers, server computers, etc.). Server 130 may be included in content sharing platform 120 or as part of a different system. Server 130 may host playlist module 200, which generates playlists based on text queries. Figure 2 Further details about the playlist module 200 have been released.

[0041] While implementations of this disclosure have been discussed in relation to social network sharing of content items on content-sharing platforms and the promotion of content-sharing platforms, these implementations are generally applicable to any type of social network that provides connections between users. Implementations of this disclosure are not limited to content-sharing platforms that offer channel subscriptions to users.

[0042] In situations where the system discussed here collects personal information about a user or can utilize personal information, the user may be given the opportunity to control whether the content sharing platform 120 collects user information (e.g., information about the user's social networks, social actions or activities, occupation, user preferences, or the user's current location) or to control whether and / or how content that may be more relevant to the user is received from the content server. Additionally, data may be processed in one or more ways before it is stored or used, such that personally identifiable information is removed. For example, user identity may be processed so that personally identifiable information about the user cannot be determined, or the user's geographic location may be generalized if location information (such as city, zip code, or state level) is obtained, so that the user's specific location cannot be determined. Therefore, the user can control how information about themselves is collected and how the content sharing platform 120 uses that information.

[0043] Figure 2 The illustration shows an example playlist module 200. Generally, the playlist module 200 can correspond to, for example... Figure 1 The playlist module 131 of the server 130 shown is illustrated. The playlist module 200 may include a text query receiver submodule 210, a playlist retriever submodule 220, a playlist score calculator submodule 230, a content item score calculator submodule 240, and a new playlist generator submodule 250. In alternative embodiments, the functions of one or more of the submodules may be combined or divided.

[0044] like Figure 2As shown, the playlist module 200 may include a text query receiver submodule 210, which receives search text queries associated with a search from a user or client device. The text query may correspond to a search for a content item (e.g., video). For example, a text query may be a text string or a combination of text strings or keywords (e.g., artist or author name, genre, era, theme, or other such context). The playlist retriever submodule 220 may retrieve one or more playlists. For example, the playlist retriever submodule 220 may retrieve playlists in response to a search text query. The retrieved playlists may match the search criteria of the text query. Playlists may include titles, descriptions, or other such information that can describe and / or identify the playlist. For example, if the search criteria of the text query match the title or description of a playlist, the playlist may be retrieved in response to the text query. Therefore, if a playlist matches a text query, multiple playlists may be retrieved.

[0045] Reference Figure 2 The playlist module 200 may also include a playlist score calculator submodule 230, which can calculate or determine a relevance score for a playlist. For example, a relevance score can be calculated for each retrieved playlist that matches a text query. The relevance score for each playlist can be calculated based on several factors, such as combining... Figure 4 Further detailed description. The playlist module 200 may also include a content item score calculator submodule 240, which calculates a total score for each content item included in each retrieved playlist. The total score may be based on a relevance score for each playlist including the corresponding content item. Combined Figure 5 Further details regarding the calculation of the total score for each content item are released.

[0046] Furthermore, the playlist module 200 may include a new playlist generator submodule 250, which can generate a new playlist based on the total score of the content items included in the retrieved playlists. The new playlist can be provided in response to a search text query, and can further be provided as a search result in a graphical user interface (GUI). Figure 3 , Figure 6 and Figure 7 To describe further details about generating new playlists.

[0047] Figure 3This is a flowchart of an example method 300 for generating a playlist based on the total score of content items. Generally, method 300 can be executed by processing logic that may include hardware (e.g., processing devices, circuitry, dedicated logic, programmable logic, microcode, etc.), software (e.g., instructions running on a processing device), or a combination thereof. In some embodiments, method 300 can be executed by… Figure 1 or Figure 2 The playlist module 131 or 200 is used to execute it.

[0048] like Figure 3 As shown, method 300 may begin by receiving a text query from processing logic (box 310). For example, a user of a client device may provide a text query to the server system to manage content items for searching content. The processing logic may further retrieve playlists based on the text query (box 320). For example, a subset of content items matching the text query may be identified. In some embodiments, each playlist may include or identify content items. For example, a playlist may be considered a grouping or selection of one or more content items available for viewing or access by a user of the client device. The processing logic may further calculate a relevance score for each item in the playlist (box 330). For example, this may be based on the relevance of the playlist to the text query, the frequency of use or access to the playlist, the time or date of the last edit or modification of the playlist, or as relative to... Figure 4 Other such factors are described in more detail to calculate the relevance score for each retrieved playlist.

[0049] Reference Figure 3 The processing logic can calculate a total score for each content item in the retrieved playlists based on the playlists' relevance scores (box 340). In some embodiments, the total score for a content item can be based on the sum of its relevance scores for each playlist that includes that content item. Figure 5 Further details regarding the calculation of the total score will be disclosed.

[0050] The processing logic can further generate a new playlist based on the total score of the content items (box 350). For example, the content item with the highest total score can be included in the new playlist. In some embodiments, duplicate content items can be removed (e.g., removing all but one of the identical content items) or a maximum number of content items can be provided associated with an artist (e.g., singer or performer, author, etc.). For example, if a maximum of five content items for a single author are specified and if ten content items for a single artist have the highest total score among the content items, five of the content items can be included in the new playlist and the remaining five can also be included in the new playlist. For example, content items from the same artist with the highest total score can be selected to be included in the new playlist, while content items with lower total scores can be excluded from the new playlist.

[0051] For example, a user can provide a text query related to searching for music videos (i.e., content items). The text query might include the text string "1980s music videos". Playlists of music videos (i.e., playlists) can be identified, where the playlist's theme, description, or other descriptive information matches the search criteria of the text query. A relevance score can be calculated for each playlist. Each music video in each playlist can be identified, and a total score for each music video can be calculated based on the relevance score for the playlist. A new playlist can be generated based on the total score for the music videos. Furthermore, the new playlist can be offered to the user in response to the text query. The user can then select the new playlist from the search results list, and can play or view the music videos selected for inclusion in the new playlist.

[0052] Figure 4 This is a flowchart of an example method 400 for determining a relevance score for a playlist. Generally, method 400 can be performed by processing logic that may include hardware (e.g., processing device, circuitry, dedicated logic, programmable logic, microcode, etc.), software (e.g., instructions running on the processing device), or a combination thereof. In some embodiments, method 400 may be performed by… Figure 1 or Figure 2 The playlist module 131 or 200 is used to execute it.

[0053] like Figure 4As shown, method 400 may begin by identifying playlists through processing logic (box 410). For example, a playlist may be one of multiple playlists retrieved from a larger number of playlists that match search criteria for a text query. A playlist may include a list or grouping of multiple content items, such that if a user accesses a playlist, the user can be provided with an identification of each content item in the playlist to access the corresponding content item. The processing logic may further determine the relevance of the playlist to the text query (box 420). The relevance of the playlist to the text query may be based on matching topics, descriptions, or any other data associated with playlists containing keywords of the search text query. For example, a playlist may be considered to have a higher relevance score if more keywords of the text query are included in the title or description of the playlist, and a lower relevance score if fewer keywords of the text query are included in the title or description of the playlist. Therefore, the relevance of the playlist to the text query may be based on matching topics or descriptions associated with playlists containing keywords of the text query. The processing logic may further determine the frequency of playlist usage (box 430). For example, the number of times a playlist has been accessed or used by one or more users can be identified. A playlist can be considered accessed when a user is presented with a playlist and selects an item from it. In an alternative embodiment, the frequency of playlist use can be based on multiple scenarios where one or more users have accessed the playlist during a specific time period. The processing logic can determine the time when the playlist was last modified (box 440). For example, the most recent time a title, description, or new content item was added to the playlist, or the most recent time an item was removed from the playlist, can be identified. Therefore, the recency of the playlist's last modification can be used to determine its relevance score.

[0054] Reference Figure 4 The processing logic can calculate a relevance score for the playlist based on its relevance to the text query, the frequency of playlist usage, and the last time the playlist was modified (box 450). The relevance score can be calculated using the sigmoid function for text query relevance, as shown below:

[0055] Relevance score = sigmoid(r) = 1.0 / (1.0 + exp((5.0 - r) / 2.0))

[0056] In some embodiments, r can be the relevance of the playlist to the text query (i.e., search query relevance). In the said or alternative embodiments, the relevance score can be set to zero based on the playlist's usage frequency and / or last modification date. For example, if the playlist's last modification date exceeds a threshold number of days and / or if the usage frequency is below a threshold usage amount (e.g., the playlist's views or accesses are below a view or access threshold), the relevance score for the playlist can be set to a value of zero. In the same or alternative embodiments, the relevance score for the playlist can be calculated based on the following formula:

[0057] Correlation score = sigmoid(r) - α*a + β*log(v)

[0058] (Relevance score=sigmoid(r)–alpha*a+beta*log(v))

[0059] In some embodiments, r may correspond to the relevance of the playlist to the text query, may correspond to the number of days since the playlist was last modified, and v may correspond to the number of times the playlist has been viewed or accessed (i.e., usage frequency). α (Alpha) and β (beta) may both be non-negative constants used to assign weights to the relative importance of the playlist's last modification and usage frequency.

[0060] In some embodiments, method 400 may be performed for each playlist retrieved in response to a text query. In an alternative embodiment, method 400 may be performed for a subset of playlists retrieved in response to a text query. For example, a relevance score may be calculated for a subset of multiple playlists (e.g., the first 500 out of 5000 retrieved playlists).

[0061] Figure 5 This is a flowchart of an example method 500 for determining the total score of content items. Generally, method 500 can be performed by processing logic that may include hardware (e.g., processing device, circuitry, dedicated logic, programmable logic, microcode, etc.), software (e.g., instructions running on the processing device), or a combination thereof. In some embodiments, method 500 may be performed by… Figure 1 or Figure 2 The playlist module 131 or 200 is used to execute it.

[0062] like Figure 5As shown, method 500 may begin by processing logic identifying content items included in at least one playlist (box 510). For example, a content item may be included in one or more playlists retrieved in response to a text query. The processing logic may further identify a relevance score for each playlist that includes the content item (box 520). For example, each relevance score for each retrieved playlist that includes the content item may be identified. The processing logic may further aggregate the relevance scores for each of the playlists that include the content item (box 530). For example, the relevance scores for each playlist that includes the content item may be summed. Furthermore, the processing logic may calculate a total score for the content item based on the total relevance score for each of the playlists that include the content item (box 540). For example, the total score for the content item may be the sum of the relevance scores of the playlists that include the content item. In some embodiments, the total score for the content item may be based on a numerical range between 0 and 1.0. For example, the maximum score for the content item may not exceed the upper limit of this proportion, such that if the content item is included in a large number of playlists, the maximum value of the content item may be the same as another content item that is not included in the same number of playlists or does not have the same total relevance score.

[0063] Combination Figure 6 Describe further details regarding the calculation of the total score for each content item.

[0064] Figure 6 The illustration shows playlists 610, 620, 630, and 640, which include content items. Overall, it can respond to text queries via... Figure 1 or Figure 2 The playlist module 131 or 200 retrieves playlists 610, 620, and 630, and can be used by... Figure 1 or Figure 2 Use playlist module 131 or 200 to generate playlist 640.

[0065] like Figure 6As shown, playlist 610 (i.e., playlist A) may include content items 1, 2, 3, and 4 and has a relevance score of 0.1. Playlist 620 (i.e., playlist B) may include content items 1, 3, 5, and 6 and has a relevance score of 0.2, while playlist 630 may include content items 1, 7, 8, and 9 and has a relevance score of 0.6. Playlist 640 can be generated based on the total score of the content items in playlists 610, 620, and 630. For example, the total score of content item 1 can be calculated as 0.9 based on the total relevance scores of playlists A, B, and C that include content item 1 (e.g., 0.1 + 0.2 + 0.6 = 0.9). Similarly, the total score of the corresponding content item can be calculated based on the total relevance scores of playlists that include content items 2 through 9. Therefore, content item 2 can have a total score of 0.1, content item 3 can have a total score of 0.4, content item 4 can have a total score of 0.1, content item 5 can have a total score of 0.8, content item 6 can have a total score of 0.2, and each of content items 7, 8 and 9 can have a total score of 0.6.

[0066] Playlist 640 can be a new playlist generated based on upper limits or highest total scores already calculated for content items. For example, content items with the highest total score can be included in playlist 640, while content items with lower total scores can be excluded. For example, a threshold number of content items can be selected to be included in playlist 640. For example, if the threshold number of content items to be included in playlist 640 is five, then playlist 640 can include five content items 1 through 9 with four of the highest total scores. For example, playlist 640 can include content items 1, 5, 7, 8, and 9, but exclude content items 2, 3, 4, and 6.

[0067] Figure 7 The illustration shows a sample graphical user interface (GUI) 700 that provides a playlist generated based on the total score of content items. Overall, it is responsive to text queries from the GUI. Figure 1 or Figure 2 The playlist module 131 or 200 provides a graphical user interface 700 for playlists.

[0068] like Figure 7As shown, the graphical user interface 700 may include a text box 710 in which text queries can be entered. A text query can be provided to perform a search for videos associated with the graphical user interface 700. The graphical user interface 700 provides a search results page or list in response to the submission of the text query. The search results page may include multiple content items, such as videos, and playlists, such as music videos, already generated in response to the search text query. For example, the search results page of the GUI 700 may include a first video 720, a second video 730, a third video 740, and a generated playlist 750 (i.e., the generated playlist). The generated playlist 750 may be provided in the search results that include the first video 720, the second video 730, and the third video 740. For example, the generated playlist 750 may be provided as a search result along with the first video 720, the second video 730, and the third video 740. In some embodiments, the generated playlist 750 may be provided as a search result between two videos identified in the search results.

[0069] The user can then select the generated playlist 750 from the search results of the graphical user interface 700 to access the content items included in the generated playlist (e.g., based on the total score of the content items).

[0070] In some embodiments, the generated playlist (e.g., playlist) may be provided based on the identification of the type of the submitted text query. For example, if a user has entered a text query corresponding to a specific content item (e.g., a specific title of the content item), the generated playlist may not be provided to the user. However, if the text query corresponds to a general category or context of the content item, the generated playlist may be provided to the user in the returned search results. For example, refer to... Figure 7 The search text query "Icelandic folk music" can be considered a general description of a content item or song's broad category or genre. However, if the text query is a specific title of a content item or song (e.g., "In the Land of Geysers and Glaciers" from video 340), a playlist may not be generated or provided in the returned search results.

[0071] Figure 8An example machine of computer system 800 is illustrated, in which a set of instructions is executable to cause the machine to perform any or more of the methods discussed herein. In alternative implementations, the machine may be connected (e.g., networked) to other machines in a LAN, intranet, extranet, and / or the Internet. The machine may operate as a server or client machine in a client-server network environment, as a peer-to-peer (or distributed) network environment, or as a server or client machine in a cloud computing infrastructure or environment.

[0072] The machine can be a personal computer (PC), tablet PC, set-top box (STB), personal digital assistant (PDA), cellular phone, web appliance, server, network router, switch, or bridge, or any machine capable of executing a set of instructions (sequential or otherwise) specifying the actions to be taken by the machine. Furthermore, when a single machine is illustrated, the term "machine" should also be considered as including any set of machines that, individually or jointly, execute a set (or sets of sets) of instructions for performing any one or more of the methods discussed herein.

[0073] Example computer system 800 includes processing device 802, main memory 804 (e.g., read-only memory (ROM), flash memory, dynamic random access memory (DRAM) such as synchronous DRAM (SDRAM) or DRAM), static memory 806 (e.g., flash memory, static random access memory (SRAM), etc.), and data storage device 818 communicating with each other via bus 830.

[0074] Processing device 802 refers to one or more general-purpose processing devices such as a microprocessor, a central processing unit, etc. More specifically, the processing device may be a Complex Instruction Set Computing (CISC) microprocessor, a Reduced Instruction Set Computing (RISC) microprocessor, a Very Long Instruction Word (VLIW) microprocessor, or a processor that implements other instruction sets or combinations of instruction sets. Processing device 802 may also be one or more special-purpose processing devices such as an Application-Specific Integrated Circuit (ASIC), a Field-Programmable Gate Array (FPGA), a Digital Signal Processor (DSP), a network processor, etc. Processing device 802 is configured to execute instructions 822 for performing the operations and steps discussed herein.

[0075] The computer system 800 may also include a network interface device 808. The computer system 800 may also include a video display unit 810 (e.g., a liquid crystal display (LCD) or a cathode ray tube (CRT)), an alphanumeric input device 812 (e.g., a keyboard), a cursor control device 814 (e.g., a mouse), and a signal generation device 816 (e.g., a speaker).

[0076] Data storage device 818 may include machine-readable storage medium 828 (also referred to as computer-readable medium) storing one or more sets of instructions 822 or software that implement one or more of the methods or functions described herein. The instructions 822 may also reside wholly or at least partially within main memory 804 and / or processing device 802 during execution by computer system 800, which also constitute machine-readable storage media.

[0077] In one implementation, instruction 822 includes instructions for a playlist module (e.g., Figure 1 or Figure 2 The machine-readable storage medium 828 is shown as a single medium in the example implementation, but the term "machine-readable storage medium" should be considered to include a single medium or multiple media (e.g., a centralized or distributed database and / or associated caches and servers) that store one or more sets of instructions. The term "machine-readable storage medium" should also be considered to include any medium capable of storing or encoding a set of instructions executable by a machine and causing the machine to perform any one or more of the methods of this disclosure. The term "machine-readable storage medium" should therefore be considered to include, but is not limited to, solid-state memory, optical media, and magnetic media.

[0078] Some of the previously described parts have been presented based on the algorithms and symbolic representations of operations on data bits within computer memory. These algorithmic descriptions and representations are the most effective way for those skilled in the art of data processing to convey the essence of their work to those skilled in the art. Here, an algorithm is generally conceived as a self-consistent sequence of operations that leads to a desired result. These operations are those that require physical manipulation of physical quantities. Typically, though not always, these quantities take the form of electrical or magnetic signals that can be stored, combined, compared, and otherwise manipulated. It has been found that these signals are sometimes conveniently represented, primarily for reasons of general use, as bits, values, elements, symbols, characters, terms, numbers, etc.

[0079] However, it should be remembered that all these and similar terms will be associated with appropriate physical quantities and are merely convenient labels applied to those quantities. Unless otherwise explicitly stated as clearly discussed above, it should be understood that throughout this specification, the use of terms such as “identifying,” “determining,” “executing,” “performing,” “collecting,” “creating,” or “sending” refers to the actions and processes of a computer system or similar electronic computing device that manipulate data represented as physical (electronic) quantities within the registers and memory of the computer system and transform that data into other data similarly represented as physical quantities within the computer system's memory or registers or other such information storage devices.

[0080] This disclosure also relates to means for performing the operations described herein. Such means may be specifically constructed for the intended purpose, or it may comprise a general-purpose computer selectively activated or reconfigured by a computer program stored in a computer. Such a computer program may be stored in a computer-readable storage medium, such as, but not limited to, any type of disk coupled to a computer system bus, including floppy disks, optical disks, CD-ROMs, and magneto-optical disks, read-only memory (ROM), random access memory (RAM), EPROM, EEPROM, magnetic or optical cards, or any type of medium suitable for storing electronic instructions.

[0081] The algorithms and displays presented herein are not inherently associated with any particular computer or other device. Various general-purpose systems can be used with the teachings and procedures described herein, or it can be demonstrated that more specialized devices can be conveniently constructed to implement the methods. The structures of various such systems will be illustrated in the description below. Furthermore, this disclosure is not directed to any particular programming language. It should be understood that the teachings of this disclosure described herein can be implemented using various programming languages.

[0082] This disclosure can be provided as a computer program product or software that may include a machine-readable medium having instructions stored thereon, which can be used to program a computer system (or other electronic device) to perform processes according to this disclosure. Machine-readable media includes any means for storing information in a machine-readable (e.g., computer-readable) form. For example, machine-readable (e.g., computer-readable) media include machine-readable storage media such as read-only memory (“ROM”), random access memory (“RAM”), disk storage media, optical storage media, flash memory devices, etc.

[0083] In the foregoing description, implementations of this disclosure have been described with reference to specific exemplifications. It will be apparent that various modifications can be made to the implementations of this disclosure without departing from the broader spirit and scope set forth in the appended claims. Therefore, the description and drawings are to be considered illustrative rather than restrictive.

Claims

1. A computer-implemented method, comprising: The graphical user interface is provided by the processor; The processor receives the user's text query via the graphical user interface; The processor automatically creates new playlists for the user using the text query as a seed, wherein the new playlists are created using multiple videos selected based on the relevance of each video to the text query and not based on previous user behavior regarding the respective videos, wherein each of the multiple videos is selected for the new playlist based on: multiple previously created playlists including the respective video and a relevance score for each of the previously created playlists, the relevance score being at least based on the number of views associated with the corresponding previously created playlist, and wherein the processor automatically creates new playlists for the user using the text query as a seed further includes: Identify multiple previously created playlists associated with the text query, wherein at least a subset of the multiple previously created playlists has been previously created by other users; A relevance score is calculated for each of the plurality of previously created playlists, based at least in part on the relevance of the corresponding playlist to the text query and the frequency with which one or more users access the content items included in the corresponding playlist using the corresponding playlist. Identify multiple content items, wherein each of the multiple content items is included in at least one of the multiple previously created playlists; For each of the identified multiple content items, one or more playlists containing the corresponding content item are identified among the multiple previously created playlists; The score of the corresponding content item is calculated based on the relevance score of each playlist in one or more playlists that include each of the plurality of content items; Determine whether the text query from the user identifies a category associated with the content item or a title of one of the multiple content items; and Based on the score of each of the plurality of content items, a new playlist is created for the user, wherein the new playlist includes a subset of the plurality of content items included in one or more of the plurality of previously created playlists; and In response to receiving the text query from the user, the new playlist is provided as a search result in the graphical user interface.

2. The method of claim 1, wherein, The score for each content item is further based on the sum of the relevance scores of each playlist in the one or more playlists that include the corresponding content item.

3. The method of claim 1, wherein, The relevance score for each of the plurality of previously created playlists is further calculated based on the recentity of the modifications made to the corresponding playlist.

4. The method of claim 3, wherein, The recentity of the modification to the corresponding playlist is related to the time when at least one content item is added to or removed from the corresponding playlist.

5. The method according to claim 1, wherein: The new playlist, along with other content items selected as search results based on the text query, is provided in the graphical user interface.

6. The method of claim 1, wherein, The new playlist includes the identification of a subset of the plurality of content items based on the score, and wherein each of the identifications of the subset of the plurality of content items provides access to the corresponding content item.

7. A non-transitory machine-readable storage medium storing instructions, said instructions, when executed, cause a processor of a processing device to perform operations, said operations including: Provides a graphical user interface; Receive user text queries via the graphical user interface; Using the text query as a seed to automatically create new playlists for the user, wherein the new playlists are created using multiple videos selected based on the relevance of each video to the text query and not based on previous user behavior regarding the respective videos, wherein each of the multiple videos is selected for the new playlist based on: multiple previously created playlists including the respective video and a relevance score for each of the previously created playlists, the relevance score being at least based on the number of views associated with the corresponding previously created playlist, and wherein using the text query as a seed to automatically create new playlists for the user further includes: Identify multiple previously created playlists associated with the text query, wherein at least a subset of the multiple previously created playlists has been previously created by other users; A relevance score is calculated for each of the plurality of previously created playlists, based at least in part on the relevance of the corresponding playlist to the text query and the frequency with which one or more users access the content items included in the corresponding playlist using the corresponding playlist. Identify multiple content items, wherein each of the multiple content items is included in at least one of the multiple previously created playlists; For each of the identified multiple content items, one or more playlists containing the corresponding content item are identified among the multiple previously created playlists; The score of the corresponding content item is calculated based on the relevance score of each playlist in one or more playlists that include each of the plurality of content items; Determine whether the text query from the user identifies a category associated with the content item or a title of one of the multiple content items; and Based on the score of each of the plurality of content items, a new playlist is created for the user, wherein the new playlist includes a subset of the plurality of content items included in one or more of the plurality of previously created playlists; and In response to receiving the text query from the user, the new playlist is provided as a search result in the graphical user interface.

8. The non-transitory machine-readable storage medium of claim 7, wherein, The score for each content item is further based on the sum of the relevance scores of each playlist in the one or more playlists that include the corresponding content item.

9. The non-transitory machine-readable storage medium of claim 7, wherein, The relevance score for each of the plurality of previously created playlists is further calculated based on the recentity of the modifications made to the corresponding playlist.

10. The non-transitory machine-readable storage medium according to claim 9, wherein, The recentity of the modification to the corresponding playlist is related to the time when at least one content item is added to or removed from the corresponding playlist.

11. A system comprising: Memory; as well as A processor of a processing device, the processor being operatively coupled to the memory to perform operations, the operations including: Provides a graphical user interface; Receive user text queries via the graphical user interface; Using the text query as a seed to automatically create new playlists for the user, wherein the new playlists are created using multiple videos selected based on the relevance of each video to the text query and not based on previous user behavior regarding the respective videos, wherein each of the multiple videos is selected for the new playlist based on: multiple previously created playlists including the respective video and a relevance score for each of the previously created playlists, the relevance score being at least based on the number of views associated with the corresponding previously created playlist, and wherein using the text query as a seed to automatically create new playlists for the user further includes: Identify multiple previously created playlists associated with the text query, wherein at least a subset of the multiple previously created playlists has been previously created by other users; A relevance score is calculated for each of the plurality of previously created playlists, based at least in part on the relevance of the corresponding playlist to the text query and the frequency with which one or more users access the content items included in the corresponding playlist using the corresponding playlist. Identify multiple content items, wherein each of the multiple content items is included in at least one of the multiple previously created playlists; For each of the identified multiple content items, one or more playlists containing the corresponding content item are identified among the multiple previously created playlists; The score of the corresponding content item is calculated based on the relevance score of each playlist in one or more playlists that include each of the plurality of content items; Determine whether the text query from the user is to identify a category associated with the content item or to identify the title of a content item among the plurality of content items; Based on the score of each of the plurality of content items, a new playlist is created for the user, wherein the new playlist includes a subset of the plurality of content items included in one or more of the plurality of previously created playlists; and In response to receiving the text query from the user, the new playlist is provided as a search result in the graphical user interface.

12. The system according to claim 11, wherein, The score for each content item is further based on the sum of the relevance scores of each playlist in the one or more playlists that include the corresponding content item.

13. The system of claim 11, wherein, The relevance score for each of the plurality of previously created playlists is further calculated based on the recentity of the modifications made to the corresponding playlist.

14. The system of claim 13, wherein, The recentity of the modification to the corresponding playlist is related to the time when at least one content item is added to or removed from the corresponding playlist.