WO2011033441A1 - Syndicated data stream content provisioning - Google Patents

Syndicated data stream content provisioning Download PDF

Info

Publication number
WO2011033441A1
WO2011033441A1 PCT/IB2010/054116 IB2010054116W WO2011033441A1 WO 2011033441 A1 WO2011033441 A1 WO 2011033441A1 IB 2010054116 W IB2010054116 W IB 2010054116W WO 2011033441 A1 WO2011033441 A1 WO 2011033441A1
Authority
WO
WIPO (PCT)
Prior art keywords
content
ranking function
user
objects
interaction
Prior art date
Application number
PCT/IB2010/054116
Other languages
French (fr)
Inventor
Omer Berkman
Avinoam Rubinstain
Ori Hasse
Barak Hachamov
Original Assignee
My6Sense Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by My6Sense Inc. filed Critical My6Sense Inc.
Priority to EP10816782.6A priority Critical patent/EP2478446A4/en
Publication of WO2011033441A1 publication Critical patent/WO2011033441A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/01Social networking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/335Filtering based on additional data, e.g. user or group profiles
    • G06F16/337Profile generation, learning or modification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9538Presentation of query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2457Query processing with adaptation to user needs
    • G06F16/24578Query processing with adaptation to user needs using ranking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
    • G06F16/43Querying
    • G06F16/435Filtering based on additional data, e.g. user or group profiles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
    • G06F16/48Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/487Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using geographical or spatial information, e.g. location
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
    • G06F16/48Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/489Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using time information

Definitions

  • the present invention relates to content provisioning, and more particularly, but not exclusively, to a system and method for syndicated data stream content provisioning.
  • the syndicated data streams include, but are not limited, to RSS (Really Simple Syndication) feeds, streams of user messages on social network platforms (say, TwitterTM), Atom syndication format feeds, e-mail messages from a mail server, web site content delivered using a dedicated API (such as FacebookTM connect), etc., as known in the art.
  • RSS Really Simple Syndication
  • Atom syndication format feeds e-mail messages from a mail server
  • web site content delivered using a dedicated API such as FacebookTM connect
  • a user subscribes to one or more syndicated data streams, such as an RSS news feed, a web feed, or a stream of user messages in a social network platform, as known in the art.
  • the data stream is syndicated by a content provider (say by a news network, such as CNNTM), by a Web Blogger, etc.
  • the syndicated data stream is used by the content provider, to provide users who subscribe to the syndicated data stream with a frequently updated, structured list of content objects.
  • a content object is a data object with a usually short textual description which may be presented to the user.
  • the textual description may include a content item itself (say a user message published on a social network platform), a button which presents a content item to the user upon clicking on the button, a hyperlink which links the user to a page of a web site, a link which initiates downloading of the content item, etc., as known in the art.
  • a content provider publishes a feed link on the provider's web site.
  • End-users can subscribe to the feed, using an aggregator program (also called a feed reader or a news reader).
  • the aggregator program runs on the end-users' machines.
  • the subscription process is usually as simple as dragging the link from the web browser to the aggregator.
  • the aggregator asks all the servers in its feed list if they have new content. If so, the aggregator either makes a note of the new content or downloads it.
  • Aggregators can be scheduled to check for new content periodically.
  • Subscription-based information consumption from syndicated data streams such as RSS feeds, or a user specific TwitterTM feeds of messages from TwitterTM followers of a user, provides the user with a potential of timely access to information valuable for him.
  • the subscription-based information further creates an overload of data provided to the user from one or more data streams.
  • the GoogleTM Reader system allows the user to browse through content objects not only in the chronological order of creation, but also in an order reflecting the rate at which various streams the user subscribed to are updated.
  • FeedHubTM' an mSpokeTM powered system, exploits content categorization, together with absolute, explicit feedback of a user on content objects (of the form "I like this item"), to establish a relevance ranking, which is a relative numerical estimate of the statistical likelihood that a certain content object is of interest to the user.
  • the efficiency of this method heavily relies on the user's willingness to continuously provide explicit feedback on content objects provided to him, as well as on credibility and semantic consistency of the explicit feedback.
  • US Patent No. 7,345,232, to Toivonen filed on November 6, 2003, describes a play list selection module, which creates a play list of media pieces stored in databases accessible by the selection module.
  • the play list includes media pieces that are adapted to a specific user together with randomly selected media pieces, in a ratio determined by a surprise factor provided by the specific user.
  • the play list may begin with a set of media pieces that are known to be enjoyed by the specific user, say media pieces previously consumed by the specific user, and ends with the randomly selected media pieces.
  • an apparatus for syndicated data stream content provisioning comprising: an interaction tracker, configured to track at least one interaction of a user with at least one content object of one of a group consisting of at least one syndicated data stream received on a computer device, the interaction being implicitly indicative of a preference of the user, a ranking function calculator, in communication with the interaction tracker, configured to calculate a ranking function based on the tracked interaction, and a content ranker, in communication with the ranking function calculator, configured to rank a plurality of content objects of the syndicated data streams of the group, in an order based on the calculated ranking function.
  • a computer implemented method for syndicated data stream content provisioning comprising steps the computer is programmed to perform, the steps comprising: tracking at least one interaction of a user with at least one content object of one of a group consisting of at least one syndicated data stream received on a computer device, the interaction being implicitly indicative of a preference of the user, calculating a ranking function based on the tracked interaction, and ranking a plurality of content objects of the syndicated data streams of the group, in an order based on the calculated ranking function.
  • Computer readable medium storing computer executable instructions for performing steps of syndicated data stream content provisioning, the steps comprising: tracking at least one interaction of a user with at least one content object of one of a group consisting of at least one syndicated data stream received on a computer device, the interaction being implicitly indicative of a preference of the user, calculating a ranking function based on the tracked interaction, and ranking a plurality of content objects of the syndicated data streams of the group, in an order based on the calculated ranking function.
  • an apparatus for syndicated data stream content provisioning comprising: an interaction tracker, configured to track at least one interaction of a user with at least one content object of a syndicated data stream received on a computer device, the interaction being implicitly indicative of a preference of the user, a ranking function calculator, in communication with the interaction tracker, configured to calculate a ranking function based on the tracked interaction, and a content ranker, in communication with the ranking function calculator, configured to rank a plurality of content objects of syndicated data streams, in an order based on the calculated ranking function.
  • Implementation of the method and system of the present invention involves performing or completing certain selected tasks or steps manually, automatically, or a combination thereof. Moreover, according to actual instrumentation and equipment of the exemplary embodiments of the method and system of the present invention, several selected steps could be implemented by hardware or by software on any operating system of any firmware or a combination thereof.
  • selected steps of the invention could be implemented as a chip or a circuit.
  • selected steps of the invention could be implemented as a plurality of software instructions being executed by a computer using any suitable operating system.
  • selected steps of the method and system of the invention could be described as being performed by a data processor, such as a computing platform for executing a plurality of instructions.
  • Figure 1 is a block diagram schematically illustrating an apparatus for syndicated data stream content provisioning, according to an exemplary embodiment of the present invention.
  • Figure 2 is a flowchart illustrating a first method for syndicated data stream content provisioning, according to an exemplary embodiment of the present invention.
  • Figure 3 is a flowchart illustrating a second method for syndicated data stream content provisioning, according to an exemplary embodiment of the present invention.
  • Figure 4 is a flowchart illustrating a third method for syndicated data stream content provisioning, according to an exemplary embodiment of the present invention.
  • Figure 5 is a flowchart illustrating a fourth method for syndicated data stream content provisioning, according to an exemplary embodiment of the present invention.
  • Figure 6 is a block diagram schematically illustrating a computer readable medium storing computer executable instructions, for performing steps of syndicated data stream content provisioning, according to an exemplary embodiment of the present invention.
  • Figures 7 is a block diagram schematically illustrating a first graphical user interface for syndicated data stream content provisioning, according to an exemplary embodiment of the present invention.
  • Figures 8 is a block diagram schematically illustrating a second graphical user interface for syndicated data stream content provisioning, according to an exemplary embodiment of the present invention.
  • the present embodiments comprise an apparatus and method for syndicated data stream content provisioning.
  • a user of a computer device subscribes to one or more syndicated data streams.
  • the syndicated data streams may include, but are not limited to: RSS (Really Simple Syndication) feeds, a user specific TwitterTM feed of messages from TwitterTM Followers of the user, an RSS feed available in a news website, etc., as known in the art.
  • each content item (say a video clip, an article in a news website, a document the user may download from the web site, etc.) of the syndicated data streams is introduced to the user using a content object.
  • the content object is a data object with a usually short textual description which is presented to the user.
  • the textual description may include the content item itself, a button which presents the content to the user upon clicking on the button, a hyperlink which links the user to a page of a web site, a link which initiates downloading of the content item, etc., as known in the art.
  • content objects of the syndicated data streams are ranked using a ranking function.
  • the ranking function represents preferences of the user over different features of content objects of the syndicated data streams.
  • the content objects of the syndicated data streams may be presented to the user in an order determined using the calculated ranking function, say as a ranked list presented to the user, using a dedicated graphical user interface, as described in further detail hereinbelow.
  • the ranking function is calculated using implicit feedback provided by the user, as the user interacts with content objects of syndicated data streams the user subscribes to, as described in further detail hereinbelow. For example, a user who skips a first content object, opens a second content object, or sends en email sharing the second object with a friend, implicitly provides a feedback on the user's relative preference for the second content object over the first content object.
  • the ranking function is further based on circumstances of the user's interaction with the content objects, say on the time of day, geographical location, bandwidth available, model of a computer device used by the user, etc., as described in further detail hereinbelow.
  • the method further helps adaptively targeting business objects, i.e. business value information to the user, based on the calculated ranking function.
  • a user who downloads an article about a new movie may be presented (using a content object) a video clip of a movie star, together with a business object which advertises a cinema ticket sales web site and has a hyperlink connecting the user to the cinema ticket sales web site.
  • FIG. 1 is a block diagram schematically illustrating an apparatus for syndicated data stream content provisioning, according to an exemplary embodiment of the present invention.
  • Apparatus 1000 for syndicated data stream content provisioning, comprises an interaction tracker 110.
  • the interaction tracker 110 tracks one or more interactions of a user with one or more content objects.
  • Each of the content objects interacted with belongs to one of a group of one or more syndicated data streams received on a computer device, as described in further detail hereinbelow.
  • the computer device may include, but is not limited a desktop computer, a mobile computer (such as a laptop computer or a notebook computer), a cellular phone, etc., as know in the art.
  • the tracked interaction is implicitly indicative of a preference of the user, as described in further detail hereinbelow.
  • the interaction tracker 110 tracks the user's sharing of information pertaining to a content object on a social network platform, say when the user recommends a new clip by Madonna (presented to the user using a content object) on a social network platform such as TwitterTM or FacebookTM.
  • the tracked sharing of the information is implicitly indicative of the user's preference for Madonna content in particular, and Pop Music content in general.
  • the interaction tracker 110 tracks the user's sharing of information pertaining to a content object with another person, say when the user sends an email message with the content object's title to a friend.
  • the interaction tracker 110 tracks the user's spending more time on a National GeographicTM article than on a financial news report.
  • the interaction tracker 110 records the tracked interactions in a database of historic interactions, as described in further detail hereinbelow.
  • Apparatus 1000 further includes a ranking function calculator 120, in communication with the interaction tracker 110.
  • the ranking function calculator 120 calculates a ranking function based on the tracked interaction(s).
  • the ranking function calculator 120 calculates the ranking function, using a Ranking Support Vector Machine (SVM) algorithm.
  • SVM Ranking Support Vector Machine
  • a traditional Ranking Support Vector Machine (SVM) algorithm as taught by Ralph Herbrich et al., in 2000, may be applied on features of content objects the user interacts with, as described in further detail hereinbelow.
  • the ranking function calculator 120 further uses data which pertains to circumstances of the tracked interaction, for calculating the ranking function.
  • the data pertaining to the circumstances may include, but is not limited to: time of day, day of week, type of a computer device used by the user, bandwidth, geographic location (say geographical location obtained using GPS functionality on the computer device of the user), etc., as known in the art.
  • the ranking function calculator 120 generates comparative data indicative of a relative preference of the user over at least two content objects subjected to the traced interactions.
  • the ranking function calculator 120 may generate data indicating that the user prefers a title of a first content object over titles of a second content object and a third content object, as described in further detail hereinbelow.
  • the ranking function calculator 120 may use the generated comparative data, to calculate the ranking function.
  • the ranking function calculator 120 further uses historical data of interactions of the user with content objects, for calculating the ranking function, say using a database of historical interactions of the user with content objects, as described in further detail hereinbelow.
  • Apparatus 1000 further includes a content ranker 130, in communication with the ranking function calculator 120.
  • the content ranker 130 ranks content objects of the syndicated data stream, in an order based on the calculated ranking function, as described in further detail hereinbelow.
  • a ranking function may be calculated for a specific user whose interactions with content objects include spending more time on a content object such as a car race news sport, than on content objects having to do with pop music.
  • the interactions indicate that the user is likely to prefer sport and car content objects over pop reports and clips by Madonna. Consequently, the content ranker 130 ranks a report on a car race in Monte-Carlo higher than a report on an NBA basketball semifinal, and the report on the NBA basketball semi-final higher than a Michael Jackson clip.
  • the content ranker 130 further presents the ranked content objects to the user in the order based on the calculated ranking function, say using a dedicated graphical user interface, as described in further detail hereinbelow.
  • the content ranker 130 ranks all content objects available in the syndicated data streams in a given time, and renders all the ranked content objects for presentation to the user.
  • the content ranker 130 ranks all content objects available in the syndicated data streams in the given time, but renders only a number of content objects ranked highest among the ranked business objects, for presentation to the user.
  • the content ranker 130 presents the ranked content objects to the user in a ranked list arranged in the order determined using the calculated ranking function, say using a dedicated graphical user interface, as described in further detail hereinbelow.
  • the content ranker 130 further uses the calculated ranking function, to select one or more business objects among business objects, say business objects stored in a repository, as described in further detail hereinbelow.
  • the content ranker 130 uses the calculated ranking function to select one (or more) business object(s) matching one of the ranked content objects, among business objects stored in a repository.
  • the content ranker 130 may present the selected business objects in association with the matched content object, as described in further detail hereinbelow.
  • the selected business objects categorically match one of the ranked content objects, and the content ranker 130 presents the selected business objects in association with the matched content object, as described in further detail hereinbelow.
  • the content ranker 130 selects one or more keywords among a plurality of keywords characterizing one of the ranked content objects, by applying the calculated ranking function on the keywords. Then, the content ranker 130 selects one or more business objects among business objects stored in a repository, using the selected keywords.
  • the content ranker 130 selects the business objects among the business objects stored in the repository, using a query based on the selected keywords, as described in further detail hereinbelow.
  • the repository belongs to a third party, say a third party in communication with the content ranker 130 over the internet.
  • apparatus 1000 further includes an explicit preference interface, in communication with the ranking function calculator 120, operable by the user for inputting explicit preference data.
  • the ranking function calculator 120 uses the input explicit preference data, for calculating the ranking function.
  • the explicit preference interface is implemented as a graphical user interface, which allows the user to express his feeling towards a certain content object, say using a graphical radio button with two or more alternative options (say one positive, one negative, and one neutral), a check box, a text box, etc., as known in the art.
  • the apparatus 1000 further includes a dedicated graphical user interface, in communication with the interaction tracker 110, as described in further detail hereinbelow.
  • the dedicated graphical user interface captures data which pertains to the interaction(s), using known in the art techniques.
  • the graphical user interface may capture data of an email message.
  • the email message is used by the user to share a content object with a friend (say a GoogleTM friend, as known in the art).
  • the data captured by the dedicated graphical user interface further includes data pertaining to the transaction itself, as well as data pertaining to circumstances of the interaction.
  • the data captured by the graphical user interface may include data of the interaction's hour of the day, the bandwidth available on the user's computer device, the model of the user's computer device, etc., as described in further detail hereinbelow.
  • the graphical user interface provides the captured data to the interaction tracker, and the interaction tracker 110 uses the captured data, for tracking the interaction(s).
  • FIG. 2 is a flowchart, illustrating a first method for syndicated data stream content provisioning, according to an exemplary embodiment of the present invention.
  • the interaction tracker 110 there are tracked 210 one or more interactions of a user with one or more content objects of one or more syndicated data streams received on a computer device.
  • the interaction is tracked 210 by the interaction tracker 110, as described in further detail hereinabove.
  • the computer device may include, but is not limited a desktop computer, a mobile computer, a cellular phone, etc., as know in the art.
  • the tracked interaction is implicitly indicative of a preference of the user.
  • the tracked spending of more time on the National GeographicTM article may be indicative of a preference of the user for the National GeographicTM article in particular, and content objects having to do with nature in general.
  • the tracked interactions are recorded in a database of historic interactions, as described in further detail hereinbelow.
  • a ranking function based on the tracked 210 interaction(s), say using the ranking function calculator 120, implementing a Ranking Support Vector Machine (SVM) algorithm, as described in further detail hereinabove.
  • SVM Ranking Support Vector Machine
  • a traditional Ranking Support Vector Machine (SVM) algorithm may be applied on features of content objects the user interacts with, as described in further detail hereinbelow.
  • SVM Ranking Support Vector Machine
  • data pertaining to circumstances of the tracked interaction may include, but is not limited to: time of day, day of week, type of a computer device used by the user, bandwidth, geographic location (say geographical location obtained using GPS functionality on the computer device of the user), etc.
  • the comparative data may indicate that the user prefers a title of a first content object over a title of a second content object.
  • the generated comparative data may be used to calculate the ranking function, as described in further detail hereinbelow.
  • content objects of the syndicated data stream are ranked 230, in an order based on the calculated ranking function, say using the content ranker 130, as described in further detail hereinabove.
  • a ranking function may be calculated for a specific user whose interactions with content objects include spending more time on a National GeographicTM article than on content objects having to do with pop music.
  • the interactions indicate that the user is likely to prefer Nature and Science content objects over pop reports and clips by Madonna. Consequently, nature reports are ranked 230 higher than reports on NBA basketball semi-finals, and the reports on the NBA basketball semi-finals are ranked 230 higher than a Michael Jackson clip.
  • the ranked 230 content objects are presented to the user in the order based on the calculated ranking function, say using a dedicated graphical user interface.
  • the content objects may be presented to the user in a ranked list arranged in the order determined using the calculated ranking function, as described in further detail hereinbelow.
  • all content objects available in the syndicated data stream in a given time are ranked 230 and rendered for presentation to the user, say using the dedicated graphical interface.
  • all content objects available in the syndicated data stream in a given time are ranked 230, but only a number of content objects ranked highest among the ranked 230 content objects, are rendered for presentation to the user.
  • the selected business objects may presented to the user in association with the matched content object, as described in further detail hereinbelow.
  • the selected business objects categorically match the ranked content object, and are presented to the user in association with the matched content object, as described in further detail hereinbelow.
  • the business objects are selected among the business objects stored in the repository, using a query based on the selected keywords, as described in further detail hereinbelow.
  • the repository belongs to a third party, and the query is sent to the third party, say using the internet, as known in the art.
  • a graphical user interface may be used to receive explicit preference data from the user who expresses his feeling towards a certain content object, say using a graphical radio button with two or more alternative options (say one positive, one negative, and one neutral), a check box, a text box, etc., as known in the art.
  • FIG. 3 is a flowchart, illustrating a second method for syndicated data stream content provisioning, according to an exemplary embodiment of the present invention.
  • a user 310 of a computer device subscribes to one or more syndicated data streams.
  • the user 310 is connected to the syndicated data streams 320 through apparatus 1000, as described in further detail hereinabove. That is to say that the apparatus 1000 may control the presentation of content objects of the syndicated data streams 320 to the user.
  • a content object is a data object which refers the user to a content item such as multimedia information, a web page, an article which may be downloaded from a web site in a Portable Document Format (PDF), etc., as described in further detail hereinabove.
  • PDF Portable Document Format
  • the content is either given directly in the description of the content object or is accessible from some open-world or enterprise information repository using an identification (say, a hyperlink), given in the description of the object, as known in the art.
  • the content objects may be created by the apparatus 1000 or delivered by the apparatus 1000 from a third-party source, on behalf of the user.
  • the ranking function calculator 120 associates each content object of the syndicated data streams 320 with a list of properties semantically characterizing the content represented by the content object.
  • the properties correspond to keywords present in the content (say words in a news report) or combinations of keywords present in the content, semantic categories (such as Music, Pop, etc.), authorship of the content, etc.
  • the ranking function calculator may associate a content object representing a video clip by Madonna, available through a syndicated data stream broadcasted on an MTVTM web site, with properties such as Music, Madonna, Pop, Video, Singers, etc.
  • the ranking function calculator 120 represents each content object as a vector in a, possibly high- dimensional, space of content-characterizing features selected by the ranking function calculator 120, to characterize content.
  • the content- characterizing features are denoted by F, and the space of content-characterizing features is thus of dimensionality IEI, as known in the art.
  • the content ranker 130 Upon a request by the user 310, the content ranker 130 presents the user 310 with a ranked list 330 of content objects, say using a dedicated graphical user interface, as described in further detail, and illustrated using Fig. 7, hereinbelow.
  • the ranked list 330 is a list of titles of the content objects 350, and the graphical user interface may be used by the user, to select from the list of titles, one or more content objects 350 to be browsed in further detail.
  • the graphical user interface may further allow other ways for the user to navigate between the content objects of the ranked list.
  • the content ranker 130 ranks 340 the content objects 350 according to a ranking function 350 gradually calculated for the user by the ranking function calculator 120, as described in further detail hereinabove.
  • the profile-based ranking may initially correspond to a default ranking.
  • thee default ranking is based on objective information pertaining to the user (such as demographic information), as known in the art.
  • the ranking function calculator 120 calculates the ranking function 350 based on the user's interactions 360 with the content objects 35, as tracked by the interaction tracker 110.
  • the ranking function calculator 120 may base the ranking function on the user's content consumption behavior, using a proper combination of which involves reasoning 370 about the user's interactions (possibly together with other actions carried out by the user and tracked by the interaction tracker 110).
  • the combination further involves supervised machine learning 380, say using an SVM algorithm, as described in further detail hereinbelow.
  • the ranking function calculator 120 may calculate the ranking function 350 either online, upon the emergence of the user interactions 360, or offline, using a cache of unprocessed user interaction data, or a database of historic interactions, as described in further detail hereinabove.
  • the user 310 consumes only a subset of content objects 350 provided to him through the ranked list 330, and ignores all other content objects, say according to the content object's short description, which appears as a title or a snippet. By consuming only the subset, the user implicitly provides the system with a feedback on what his preferences over content objects are.
  • ranked list 330 i.e. of titles of content objects
  • opens i.e. requests the full content of
  • the interaction of the user with the content object ranked third from the top of the ranked list 330 is interpreted as an implicit indication.
  • the implicit indication is that under specific circumstances of the interaction 360 (such a specific moment or the user's location), the title of the third object is of a higher interest to the user than the title of first two objects. More generally, a user interaction 360 may indicate a deviation of the user preferences over the content objects 350 presented to the user from the order in which the content objects are presented to the user in the ranked list 330.
  • Other interactions 360 which implicitly indicate the user's preference over content objects may include, but are not limited to: a) relative time spent while consuming a content object, b) content-related activities performed in the scope of consuming an object (such as sharing the content with other users or consuming a business object annotating a content object), or any other implicit and explicit expressions of emotional attitude towards individual content objects, as described in further detail hereinabove.
  • the interaction tracker 110 tracks the interactions 360 by monitoring, analyzing, and recording data of the interactions 360 (say in a dedicated database, as known in the art).
  • the interaction tracker 110 further tracks information characterizing the circumstances of each of the tracked interactions 360.
  • the information characterizing the circumstances may include, but is not limited to: a) a type of hardware platform (i.e. computer device) the user uses for the interactions, b) the geographic location of the user (say using a GPS on the user's computer device, as known in the art), c) the time of the day when the interaction takes place, d) the amount of communication bandwidth, and d) overall connectivity and information-consumption activity of a user's client application.
  • a type of hardware platform i.e. computer device
  • the geographic location of the user say using a GPS on the user's computer device, as known in the art
  • c) the time of the day when the interaction takes place d
  • the amount of communication bandwidth the amount of communication bandwidth
  • overall connectivity and information-consumption activity of a user's client application i.e. computer device
  • the information characterizing the circumstances may be represented by the ranking function calculator 120, as a vector in a, possibly high-dimensional, space of circumstance- characterizing features selected by the ranking function calculator 120, to characterize the circumstances of the interaction.
  • the space of circumstance- characterizing features is denoted by C, and the induced content-characterizing feature space is thus of dimensionality I CI , as known in the art.
  • the ranking function calculator 120 combines the two spaces (F and C). By combining F and C, the ranking function calculator 120 represents the tracked interactions 360 implicitly indicative of the user's preferences over a couple of content objects denoted X, Y, in the circumstances of the interactions 360.
  • the ranking function calculator 120 combines the two spaces (F and C), by calculating the vectors x»c, y»c in the feature space which is the cross-product of the feature spaces F and C, where x, y e F represent the content objects X and Y, respectively, and c e C represents the circumstances, in which the user's interactions 360 with the content objects X and Y take place.
  • the ranking function calculator 120 uses a supervised-learning machinery to calculate 380 a user-specific ranking function 350 over content objects the user interacts with, using known in the art methods.
  • the ranking function 350 is a real-valued function from the cross-product of the feature spaces F and C.
  • the ranking function calculator 120 compiles the data pertaining to the tracked interactions 360 into a set of, possibly soft, mathematical constraints applied on the ranking function 350.
  • the ranking function calculator 120 processes the constraints using a supervised machine learning 380.
  • supervised machine learning 380 uses a Ranking Support Vector Machine (SVM) algorithm 380 (say Herbrich's SVM, as taught in 2000), as known in the art.
  • SVM Ranking Support Vector Machine
  • the constraints are inputted into an SVM binary classifier (as taught by Vapnik in 1972), as a pair of positive and negative examples, which comprise the ordered pairs x*c,y*c and y*c,x*c.
  • the output of the SVM classifier is a ranking function 350 over the cross-product of the feature spaces F and C.
  • the ranking function 350 is used by the content ranker 130, to rank 340 the content objects 350 available to the user with respect to both their content, and circumstances in which the ranking of the content objects is performed.
  • FIG. 4 is a flowchart, illustrating a third method for syndicated data stream content provisioning, according to an exemplary embodiment of the present invention.
  • the content ranker 130 further uses the calculated ranking function 350, to select one or more business objects 420.
  • the business objects are business- value objects, such as advertisements, e-commerce links, etc.
  • the content ranker 130 selects the business objects among business objects stored in a repository 440.
  • the ranking function 350 is resultant upon behavior reasoning 370 and supervised machine learning 380, applied on data pertaining to the user's 310 interactions 360 with content objects, as described in further detail hereinabove.
  • the selected business objects 420 match one of the ranked content objects 450.
  • the content ranker 130 may present the selected business objects 420 in association with the matched content object 450, as described in further detail hereinbelow.
  • the selected business objects 420 categorically match the ranked content object 450.
  • the selected business objects 420 match the topical area (say features, as described in further detail hereinabove) of the content object 450, and (ii) are ranked highest among business objects matching the topical area, by the calculated ranking function 350, as described in further detail hereinbelow.
  • the content ranker 130 has access to a collection of business objects (such as advertisements, e-commerce links, etc.).
  • the collection is stored in a local repository 440 locally available to the content ranker 130.
  • the business objects 420 are retrievable (fully or partly), on demand, from a third-party provider repository given a query posed by the content ranker 130, as described in further detail and illustrated using Fig. 5 hereinbelow.
  • the system Given a content object denoted x 450, the system first identifies a subset of business objects denoted B(x) 421, which match at least one of the, possibly user- specific, categorical aspects of the content object x 450.
  • the aspects are the features of the feature space F, as described in further detail hereinabove.
  • the content ranker 130 maintains a, possibly user-specific, set of categories 425.
  • the content ranker 130 maps each object (be it a content object x or a business object b) to a subset of the categories o 425. If the object is a priori mapped to the subset of categories o 425, say by the creator of the content, then, the mapping becomes trivial. Otherwise, the content ranker 130 may carry out the mapping, using an automatic content classification system based on a standard supervised learning machinery (such as Naive Bayes, kNN, or decision tree classifiers), as known in the art.
  • a standard supervised learning machinery such as Naive Bayes, kNN, or decision tree classifiers
  • a business-value object b matches the content object x, if the intersection of their categories denoted Categories(b) and Categories(x), respectively, is not empty. That is to say, b e B(x) if and only if Categories(b)nCategories(x) ⁇ 0. Additional conservative requirements on the relation between Categories (b) and Categories (x) are also possible, as known in the art.
  • the content ranker 130 ranks 470 the business objects of the subset B(x) 421, using the ranking function 350, and the content object x 450 is presented to the user, annotated with a subset B*(x) c: B(x) 420 the content ranker 130 selects.
  • the content ranker 130 present the content object x 450 annotated with a subset B*(x) 420, to the user, say using a dedicated graphical user interface, as described in further detail hereinbelow.
  • the content ranker 130 selects to a number (k) of objects in B(x) 421, where the k business objects 420 are ranked highest by the ranking function 350, thus selecting the objects of B*(x) 420.
  • the content ranker 130 rather selects a random sample of business objects 420 from B(x) 421, to yield B*(x) 420.
  • the selected random sample of business objects 420 may be biased towards the higher values of ranking function 350, or to any other selection procedure, using the ranking function 350, upon application on B(x) 421, as known in the art.
  • the content ranker 130 presents the content object x 450 to the user 410, together with indication of the annotated set of business objects B*(x) 420, say using a dedicated graphical user interface, as described in further detail and illustrated using Fig. 8, hereinbelow.
  • FIG. 5 is a flowchart, illustrating a fourth method for syndicated data stream content provisioning, according to an exemplary embodiment of the present invention.
  • the further methods is also based on the ranking function 350 resultant upon behavior reasoning 370 and supervised machine learning 380, applied on data pertaining to the user's 310 interactions 360 with content objects, as described in further detail hereinabove.
  • the collection of business objects is stored in a repository 540 of a third party, rather than an in-house repository.
  • the business objects are available on demand, as a response to a query 542 the content ranker 130 may pose 541, say using the internet.
  • the content ranker 130 For finding 560 business objects which match a content item x 550, the content ranker 130 associates the content object x 550 with a subset of keyword combinations K*(x) that purportedly represent the interests of the user 310 within the content of x 550.
  • the keywords are derived from the categories 425 resultant upon topic categorization 405 of the content object 550, as describe in further detail hereinabove.
  • K(x) is the set of candidate keyword combinations determined by the content ranker 130, say using a standard lexical analysis of content object x 550, then K*(x) c K(x) is a subset of keyword combinations ranked highest by the user's 310 ranking function 350, when considered as a stand alone content object.
  • K*(x) and K(x)-K*(x) we have f(k) > f(k'), where f(k) and f(k') denote values of the ranking function for k and k', respectively.
  • the boundary between K*(x) and K(x)-K*(x) is determined either by a limit on the size of K*(x), or on the basis of the difference of values of the ranking function 350 between the elements of K*(x) and K(x)-K*(x), etc.
  • the content ranker 130 poses 541 the set of keywords K*(x) extracted for the content object x 550, on the basis of the ranking function 350, in a search query 542, to one or more third-party repositories 540 of business objects.
  • the content ranker 130 may further formulate the query 542 in a format required by each of the third-party providers.
  • the content ranker 130 uses business objects 521 provided by the third-party providers in response to the K*(x)-based query, to construct the set of business objects 520, for presentation to the user 310.
  • the content ranker 130 selects 570 the subset of business objects among the business objects 521 received, as a response to the query 542, using the ranking function 350, as described in further detail hereinabove.
  • the content ranker 130 presents the selected business objects 520 to the user 310, in association with the content object 550, as described in further detail hereinabove.
  • FIG. 6 is a block diagram schematically illustrating a computer readable medium storing computer executable instructions, for performing steps of syndicated data stream content provisioning, according to an exemplary embodiment of the present invention.
  • a computer readable medium 6000 such as a CD-ROM, a USB-Memory, a Portable Hard Disk, etc., may store computer executable instructions, performing steps of syndicated data stream content provisioning, according to an exemplary embodiment of the present invention.
  • the instructions may track 610 one or more interactions of a user with one or more content objects of one or more syndicated data streams received on a computer device, as described in further detail hereinabove.
  • the tracked interaction is implicitly indicative of a preference of the user.
  • the instructions calculate 620 a ranking function based on the tracked 610 interaction(s), say using a Ranking Support Vector Machine (SVM) algorithm, as described in further detail hereinabove.
  • SVM Ranking Support Vector Machine
  • the instruction use data pertaining to circumstances of the tracked interaction, for calculating the ranking function.
  • the data pertaining to the circumstances may include, but is not limited to: time of day, day of week, type of a computer device used by the user, bandwidth, geographic location (say geographical location obtained using GPS functionality on the computer device of the user), etc.
  • the instructions further generate comparative data indicative of relative preference of the user over at least two content objects subjected to the traced interactions.
  • the comparative data may indicate that the user prefers a title of a first content object over a title of a second content object.
  • the generated comparative data may be used to calculate the ranking function, as described in further detail hereinbelow.
  • the instructions rank 630 content objects of the syndicated data streams, in an order based on the calculated ranking function, as described in further detail hereinabove.
  • the instructions present the ranked 630 content objects to the user in a ranked list arranged in the order determined using the calculated ranking function, as described in further detail hereinabove.
  • the instructions further select one or more business objects among business objects stored in a repository, using the ranking function, as described in further detail hereinabove.
  • FIG. 7 is a block diagram schematically illustrating a first graphical user interface for syndicated data stream content provisioning, according to an exemplary embodiment of the present invention.
  • Fig. 7 illustrates one exemplary graphical user interface, used to present a ranked list of to the user.
  • the content ranker 130 may present the ranked content objects 710 to the user, in a ranked list ordered using the calculated ranking function, as describe in further detail hereinabove.
  • the content ranker 130 further uses the calculated ranking function, to select one or more business objects matching one of the ranked content objects, among business objects stored in a repository, as described in further detail hereinabove.
  • the content ranker 130 may present the selected business objects in association with the matched content object.
  • the content ranker 130 may present a business object 720 entitled "Buy Cold Play tickets” just below the business object entitled “"Last FM, Cold Play at United Center, Chicago, IL, on 23 Jul 2008".
  • FIG. 8 is a block diagram schematically illustrating a second graphical user interface for syndicated data stream content provisioning, according to an exemplary embodiment of the present invention.
  • Fig. 8 illustrates one exemplary graphical user interface, used to present a ranked list of to the user.
  • the content ranker 130 may rather present the selected business objects in association with the matched content object, when the user clicks on a content object, the user is interested in.
  • One of the matching business objects is a business object 820 used to offer ringtones to the user.
  • the ringtones business object 820 is presented to the user as an annotation to the textual content 810 of the content object clicked on.

Abstract

Apparatus for syndicated data stream content provisioning, the apparatus comprising: an interaction tracker, configured to track at least one interaction of a user with at least one content object of a respective one of a group consisting of at least one syndicated data stream received on a computer device, the interaction being implicitly indicative of a preference of the user, a ranking function calculator, in communication with the interaction tracker, configured to calculate a ranking function based on the tracked interaction, and a content ranker, in communication with the ranking function calculator, configured to rank a plurality of content objects of the syndicated data streams of the group, in an order based on the calculated ranking function.

Description

SYNDICATED DATA STREAM CONTENT PROVISIONING
FIELD AND BACKGROUND OF THE INVENTION
The present invention relates to content provisioning, and more particularly, but not exclusively, to a system and method for syndicated data stream content provisioning.
As the volume of data accessible via computer systems continues to increase, the need for automated tools for assisting the user to home in valuable for him information within the data also increases. Queries to search engines are routinely employed to find relevant information on the many web pages or enterprise data.
A substantial portion of consumption of digitized content gradually shifts from query-driven search in the web or enterprise digital libraries to passively following the information continuously made available though various syndicated data streams of content. The syndicated data streams include, but are not limited, to RSS (Really Simple Syndication) feeds, streams of user messages on social network platforms (say, Twitter™), Atom syndication format feeds, e-mail messages from a mail server, web site content delivered using a dedicated API (such as Facebook™ connect), etc., as known in the art.
Typically, a user subscribes to one or more syndicated data streams, such as an RSS news feed, a web feed, or a stream of user messages in a social network platform, as known in the art. Optionally, the data stream is syndicated by a content provider (say by a news network, such as CNN™), by a Web Blogger, etc. The syndicated data stream is used by the content provider, to provide users who subscribe to the syndicated data stream with a frequently updated, structured list of content objects.
A content object is a data object with a usually short textual description which may be presented to the user. The textual description may include a content item itself (say a user message published on a social network platform), a button which presents a content item to the user upon clicking on the button, a hyperlink which links the user to a page of a web site, a link which initiates downloading of the content item, etc., as known in the art.
In a typical current scenario of syndicated data stream provisioning, a content provider publishes a feed link on the provider's web site. End-users can subscribe to the feed, using an aggregator program (also called a feed reader or a news reader). The aggregator program runs on the end-users' machines. The subscription process is usually as simple as dragging the link from the web browser to the aggregator. When instructed, the aggregator asks all the servers in its feed list if they have new content. If so, the aggregator either makes a note of the new content or downloads it. Aggregators can be scheduled to check for new content periodically.
The motivation for the shift from query-driven search in the web or enterprise digital libraries to passively following the information continuously made available though various syndicated data streams is manifold. In particular, users don't want to miss information the users consider valuable and yet the interests of the users are typically wide and dynamic, and thus it is not easy to express the user's interests via standard queries.
Subscription-based information consumption from syndicated data streams, such as RSS feeds, or a user specific Twitter™ feeds of messages from Twitter™ followers of a user, provides the user with a potential of timely access to information valuable for him. However, the subscription-based information further creates an overload of data provided to the user from one or more data streams.
It is unavoidable that most pieces of information (i.e. content objects, say video clips, news reports, articles, Twitter™ short messages ("Twits"), etc.) distributed via even a single syndicated data stream (say a single RSS feed) are optimized for a specific single user.
Even if all the streams the user subscribed to are fully personal, the multitude of such streams may still create the effect of an information overload. Consequently, the user has to separate signal from noise, and browse through multitude of content objects, in an attempt to locate the content objects that are more valuable for the user. As this process is time consuming, for many users getting to the valuable content becomes virtually impossible.
Several current systems target information overload on the user and aim at reducing the burden put on the user.
For example, the Google™ Reader system allows the user to browse through content objects not only in the chronological order of creation, but also in an order reflecting the rate at which various streams the user subscribed to are updated. FeedHub™', an mSpoke™ powered system, exploits content categorization, together with absolute, explicit feedback of a user on content objects (of the form "I like this item"), to establish a relevance ranking, which is a relative numerical estimate of the statistical likelihood that a certain content object is of interest to the user. The efficiency of this method heavily relies on the user's willingness to continuously provide explicit feedback on content objects provided to him, as well as on credibility and semantic consistency of the explicit feedback.
US Patent No. 7,089,237, to Turnbull et al., filed on December January 26, 2001, discloses a search and recommendation system, which employs the preferences and profiles of individual users and groups within a community of users.
US Patent No. 7,345,232, to Toivonen, filed on November 6, 2003, describes a play list selection module, which creates a play list of media pieces stored in databases accessible by the selection module. The play list includes media pieces that are adapted to a specific user together with randomly selected media pieces, in a ratio determined by a surprise factor provided by the specific user. The play list may begin with a set of media pieces that are known to be enjoyed by the specific user, say media pieces previously consumed by the specific user, and ends with the randomly selected media pieces.
US patent application No. 10/727,444, to Karnawat, filed on December 3, 2003, describes a personalized internet search system based on a context-based user feedback gathered regarding searches performed on a search mechanism.
US Patent Application No. 10/861,154, to Michelitsch et al., filed on June 4, 2004, describes a content recommendation device with user feedback The device described by Michelitsch includes a selection engine that selects content objects from a content object pool according to a user profile.
US Patent No. 7,089,194, to Berstis et al., filed on June 17, 1999, describes a method and apparatus for adaptively targeting advertisements to a specific client computer from a server within a distributed data processing system. As a user of the client browses the internet, the material that is downloaded to the client is scanned to generate a list of keywords. The keywords are used to select an advertisement from a database, the selected advertisement is inserted into the material, and the material and selected advertisement are presented together to the user.
SUMMARY OF THE INVENTION According to one aspect of the present invention, there is provided an apparatus for syndicated data stream content provisioning, the apparatus comprising: an interaction tracker, configured to track at least one interaction of a user with at least one content object of one of a group consisting of at least one syndicated data stream received on a computer device, the interaction being implicitly indicative of a preference of the user, a ranking function calculator, in communication with the interaction tracker, configured to calculate a ranking function based on the tracked interaction, and a content ranker, in communication with the ranking function calculator, configured to rank a plurality of content objects of the syndicated data streams of the group, in an order based on the calculated ranking function.
According to a second aspect of the present invention, there is provided a computer implemented method for syndicated data stream content provisioning, the method comprising steps the computer is programmed to perform, the steps comprising: tracking at least one interaction of a user with at least one content object of one of a group consisting of at least one syndicated data stream received on a computer device, the interaction being implicitly indicative of a preference of the user, calculating a ranking function based on the tracked interaction, and ranking a plurality of content objects of the syndicated data streams of the group, in an order based on the calculated ranking function.
According to a third aspect of the present invention there is provided Computer readable medium storing computer executable instructions for performing steps of syndicated data stream content provisioning, the steps comprising: tracking at least one interaction of a user with at least one content object of one of a group consisting of at least one syndicated data stream received on a computer device, the interaction being implicitly indicative of a preference of the user, calculating a ranking function based on the tracked interaction, and ranking a plurality of content objects of the syndicated data streams of the group, in an order based on the calculated ranking function.
According to a fourth apparatus of the present invention, there is provided an apparatus for syndicated data stream content provisioning, the apparatus comprising: an interaction tracker, configured to track at least one interaction of a user with at least one content object of a syndicated data stream received on a computer device, the interaction being implicitly indicative of a preference of the user, a ranking function calculator, in communication with the interaction tracker, configured to calculate a ranking function based on the tracked interaction, and a content ranker, in communication with the ranking function calculator, configured to rank a plurality of content objects of syndicated data streams, in an order based on the calculated ranking function.
Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs. The materials, methods, and examples provided herein are illustrative only and not intended to be limiting.
Implementation of the method and system of the present invention involves performing or completing certain selected tasks or steps manually, automatically, or a combination thereof. Moreover, according to actual instrumentation and equipment of the exemplary embodiments of the method and system of the present invention, several selected steps could be implemented by hardware or by software on any operating system of any firmware or a combination thereof.
For example, as hardware, selected steps of the invention could be implemented as a chip or a circuit. As software, selected steps of the invention could be implemented as a plurality of software instructions being executed by a computer using any suitable operating system. In any case, selected steps of the method and system of the invention could be described as being performed by a data processor, such as a computing platform for executing a plurality of instructions.
BRIEF DESCRIPTION OF THE DRAWINGS
The invention is herein described, by way of example only, with reference to the accompanying drawings. With specific reference now to the drawings in detail, it is stressed that the particulars shown are by way of example and for purposes of illustrative discussion of exemplary embodiments of the present invention only, and are presented in order to provide what is believed to be the most useful and readily understood description of the principles and conceptual aspects of the invention. The description taken with the drawings making apparent to those skilled in the art how the several forms of the invention may be embodied in practice.
In the drawings: Figure 1 is a block diagram schematically illustrating an apparatus for syndicated data stream content provisioning, according to an exemplary embodiment of the present invention.
Figure 2 is a flowchart illustrating a first method for syndicated data stream content provisioning, according to an exemplary embodiment of the present invention.
Figure 3 is a flowchart illustrating a second method for syndicated data stream content provisioning, according to an exemplary embodiment of the present invention.
Figure 4 is a flowchart illustrating a third method for syndicated data stream content provisioning, according to an exemplary embodiment of the present invention.
Figure 5 is a flowchart illustrating a fourth method for syndicated data stream content provisioning, according to an exemplary embodiment of the present invention.
Figure 6 is a block diagram schematically illustrating a computer readable medium storing computer executable instructions, for performing steps of syndicated data stream content provisioning, according to an exemplary embodiment of the present invention.
Figures 7 is a block diagram schematically illustrating a first graphical user interface for syndicated data stream content provisioning, according to an exemplary embodiment of the present invention.
Figures 8 is a block diagram schematically illustrating a second graphical user interface for syndicated data stream content provisioning, according to an exemplary embodiment of the present invention.
DESCRIPTION OF THE PREFERRED EMBODIMENTS
The present embodiments comprise an apparatus and method for syndicated data stream content provisioning.
Typically, a user of a computer device (say a desktop computer, a laptop computer, or a mobile phone) subscribes to one or more syndicated data streams. The syndicated data streams may include, but are not limited to: RSS (Really Simple Syndication) feeds, a user specific Twitter™ feed of messages from Twitter™ Followers of the user, an RSS feed available in a news website, etc., as known in the art.
On the computer device, each content item (say a video clip, an article in a news website, a document the user may download from the web site, etc.) of the syndicated data streams is introduced to the user using a content object. The content object is a data object with a usually short textual description which is presented to the user. The textual description may include the content item itself, a button which presents the content to the user upon clicking on the button, a hyperlink which links the user to a page of a web site, a link which initiates downloading of the content item, etc., as known in the art.
In a method according to an exemplary embodiment of the present invention, content objects of the syndicated data streams are ranked using a ranking function. The ranking function represents preferences of the user over different features of content objects of the syndicated data streams.
The content objects of the syndicated data streams may be presented to the user in an order determined using the calculated ranking function, say as a ranked list presented to the user, using a dedicated graphical user interface, as described in further detail hereinbelow.
The ranking function is calculated using implicit feedback provided by the user, as the user interacts with content objects of syndicated data streams the user subscribes to, as described in further detail hereinbelow. For example, a user who skips a first content object, opens a second content object, or sends en email sharing the second object with a friend, implicitly provides a feedback on the user's relative preference for the second content object over the first content object.
Optionally, the ranking function is further based on circumstances of the user's interaction with the content objects, say on the time of day, geographical location, bandwidth available, model of a computer device used by the user, etc., as described in further detail hereinbelow.
Optionally, the method further helps adaptively targeting business objects, i.e. business value information to the user, based on the calculated ranking function.
For example, a user who downloads an article about a new movie (using a content object of the syndicated data stream), may be presented (using a content object) a video clip of a movie star, together with a business object which advertises a cinema ticket sales web site and has a hyperlink connecting the user to the cinema ticket sales web site.
The principles and operation of an apparatus and a method according to the present invention may be better understood with reference to the drawings and accompanying description. Before explaining at least one embodiment of the invention in detail, it is to be understood that the invention is not limited in its application to the details of construction and the arrangement of the components set forth in the following description or illustrated in the drawings. The invention is capable of other embodiments or of being practiced or carried out in various ways. Also, it is to be understood that the phraseology and terminology employed herein is for the purpose of description and should not be regarded as limiting.
Reference is now made to Fig. 1, which is a block diagram schematically illustrating an apparatus for syndicated data stream content provisioning, according to an exemplary embodiment of the present invention.
Apparatus 1000, for syndicated data stream content provisioning, comprises an interaction tracker 110.
The interaction tracker 110 tracks one or more interactions of a user with one or more content objects. Each of the content objects interacted with, belongs to one of a group of one or more syndicated data streams received on a computer device, as described in further detail hereinbelow.
The computer device may include, but is not limited a desktop computer, a mobile computer (such as a laptop computer or a notebook computer), a cellular phone, etc., as know in the art.
The tracked interaction is implicitly indicative of a preference of the user, as described in further detail hereinbelow.
In one example, the interaction tracker 110 tracks the user's sharing of information pertaining to a content object on a social network platform, say when the user recommends a new clip by Madonna (presented to the user using a content object) on a social network platform such as Twitter™ or Facebook™. The tracked sharing of the information is implicitly indicative of the user's preference for Madonna content in particular, and Pop Music content in general.
In a second example, the interaction tracker 110 tracks the user's sharing of information pertaining to a content object with another person, say when the user sends an email message with the content object's title to a friend.
In a third example, the interaction tracker 110 tracks the user's spending more time on a National Geographic™ article than on a financial news report. Optionally, the interaction tracker 110 records the tracked interactions in a database of historic interactions, as described in further detail hereinbelow.
Apparatus 1000 further includes a ranking function calculator 120, in communication with the interaction tracker 110.
The ranking function calculator 120 calculates a ranking function based on the tracked interaction(s).
Optionally, the ranking function calculator 120 calculates the ranking function, using a Ranking Support Vector Machine (SVM) algorithm. For example, a traditional Ranking Support Vector Machine (SVM) algorithm, as taught by Ralph Herbrich et al., in 2000, may be applied on features of content objects the user interacts with, as described in further detail hereinbelow.
Optionally, the ranking function calculator 120 further uses data which pertains to circumstances of the tracked interaction, for calculating the ranking function. The data pertaining to the circumstances may include, but is not limited to: time of day, day of week, type of a computer device used by the user, bandwidth, geographic location (say geographical location obtained using GPS functionality on the computer device of the user), etc., as known in the art.
Optionally, the ranking function calculator 120 generates comparative data indicative of a relative preference of the user over at least two content objects subjected to the traced interactions.
For example, the ranking function calculator 120 may generate data indicating that the user prefers a title of a first content object over titles of a second content object and a third content object, as described in further detail hereinbelow.
The ranking function calculator 120 may use the generated comparative data, to calculate the ranking function.
Optionally, the ranking function calculator 120 further uses historical data of interactions of the user with content objects, for calculating the ranking function, say using a database of historical interactions of the user with content objects, as described in further detail hereinbelow.
Apparatus 1000 further includes a content ranker 130, in communication with the ranking function calculator 120. The content ranker 130 ranks content objects of the syndicated data stream, in an order based on the calculated ranking function, as described in further detail hereinbelow.
For example, a ranking function may be calculated for a specific user whose interactions with content objects include spending more time on a content object such as a car race news sport, than on content objects having to do with pop music. The interactions indicate that the user is likely to prefer sport and car content objects over pop reports and clips by Madonna. Consequently, the content ranker 130 ranks a report on a car race in Monte-Carlo higher than a report on an NBA basketball semifinal, and the report on the NBA basketball semi-final higher than a Michael Jackson clip.
Optionally, the content ranker 130 further presents the ranked content objects to the user in the order based on the calculated ranking function, say using a dedicated graphical user interface, as described in further detail hereinbelow.
Optionally, the content ranker 130 ranks all content objects available in the syndicated data streams in a given time, and renders all the ranked content objects for presentation to the user. Alternatively, the content ranker 130 ranks all content objects available in the syndicated data streams in the given time, but renders only a number of content objects ranked highest among the ranked business objects, for presentation to the user.
Optionally, the content ranker 130 presents the ranked content objects to the user in a ranked list arranged in the order determined using the calculated ranking function, say using a dedicated graphical user interface, as described in further detail hereinbelow.
Optionally, the content ranker 130 further uses the calculated ranking function, to select one or more business objects among business objects, say business objects stored in a repository, as described in further detail hereinbelow.
Optionally, the content ranker 130 uses the calculated ranking function to select one (or more) business object(s) matching one of the ranked content objects, among business objects stored in a repository. The content ranker 130 may present the selected business objects in association with the matched content object, as described in further detail hereinbelow. Optionally, the selected business objects categorically match one of the ranked content objects, and the content ranker 130 presents the selected business objects in association with the matched content object, as described in further detail hereinbelow.
Optionally, the content ranker 130 selects one or more keywords among a plurality of keywords characterizing one of the ranked content objects, by applying the calculated ranking function on the keywords. Then, the content ranker 130 selects one or more business objects among business objects stored in a repository, using the selected keywords.
Optionally, the content ranker 130 selects the business objects among the business objects stored in the repository, using a query based on the selected keywords, as described in further detail hereinbelow.
Optionally, the repository belongs to a third party, say a third party in communication with the content ranker 130 over the internet.
Optionally, apparatus 1000 further includes an explicit preference interface, in communication with the ranking function calculator 120, operable by the user for inputting explicit preference data. The ranking function calculator 120 uses the input explicit preference data, for calculating the ranking function.
In one example, the explicit preference interface is implemented as a graphical user interface, which allows the user to express his feeling towards a certain content object, say using a graphical radio button with two or more alternative options (say one positive, one negative, and one neutral), a check box, a text box, etc., as known in the art.
Optionally, the apparatus 1000 further includes a dedicated graphical user interface, in communication with the interaction tracker 110, as described in further detail hereinbelow.
Optionally, the dedicated graphical user interface captures data which pertains to the interaction(s), using known in the art techniques. For example, the graphical user interface may capture data of an email message. Optionally, the email message is used by the user to share a content object with a friend (say a Google™ friend, as known in the art).
Optionally, the data captured by the dedicated graphical user interface further includes data pertaining to the transaction itself, as well as data pertaining to circumstances of the interaction. For example, the data captured by the graphical user interface may include data of the interaction's hour of the day, the bandwidth available on the user's computer device, the model of the user's computer device, etc., as described in further detail hereinbelow.
The graphical user interface provides the captured data to the interaction tracker, and the interaction tracker 110 uses the captured data, for tracking the interaction(s).
Reference is now made to Fig. 2, which is a flowchart, illustrating a first method for syndicated data stream content provisioning, according to an exemplary embodiment of the present invention.
In a method according to an exemplary embodiment of the present invention, there are tracked 210 one or more interactions of a user with one or more content objects of one or more syndicated data streams received on a computer device. Optionally, the interaction is tracked 210 by the interaction tracker 110, as described in further detail hereinabove.
The computer device may include, but is not limited a desktop computer, a mobile computer, a cellular phone, etc., as know in the art.
The tracked interaction is implicitly indicative of a preference of the user.
In one example, there is tracked 210 the user's spending more time on a National Geographic™ article of an RSS feed of the National Geographic's web site feed, than on a financial news report of a Financial Times™ RSS feed. The tracked spending of more time on the National Geographic™ article may be indicative of a preference of the user for the National Geographic™ article in particular, and content objects having to do with nature in general.
In a second example, there is tracked 210 the user's sharing of information pertaining to a content object on a social network platform, say when the user recommends a new music album, on a social network platform, as described in further detail hereinabove.
In a third example, there is tracked 210 the user's sharing of information pertaining to a content object with another person, say when the user sends an email message with the content object's title to a friend.
Optionally, the tracked interactions are recorded in a database of historic interactions, as described in further detail hereinbelow. Next, there is calculated 220 a ranking function based on the tracked 210 interaction(s), say using the ranking function calculator 120, implementing a Ranking Support Vector Machine (SVM) algorithm, as described in further detail hereinabove.
For example, a traditional Ranking Support Vector Machine (SVM) algorithm, as taught by Ralph Herbrich et al., may be applied on features of content objects the user interacts with, as described in further detail hereinbelow.
Optionally, there is further used data pertaining to circumstances of the tracked interaction, for calculating the ranking function. The data pertaining to the circumstances may include, but is not limited to: time of day, day of week, type of a computer device used by the user, bandwidth, geographic location (say geographical location obtained using GPS functionality on the computer device of the user), etc.
Optionally, there is further generated comparative data indicative of relative preference of the user over at least two content objects subjected to the traced interactions. For example, the comparative data may indicate that the user prefers a title of a first content object over a title of a second content object. The generated comparative data may be used to calculate the ranking function, as described in further detail hereinbelow.
Optionally, there is further used historical data of interactions of the user with content objects, for calculating the ranking function, say using a database of historical interactions of the user with content objects, as described in further detail hereinbelow.
Finally, content objects of the syndicated data stream are ranked 230, in an order based on the calculated ranking function, say using the content ranker 130, as described in further detail hereinabove.
For example, a ranking function may be calculated for a specific user whose interactions with content objects include spending more time on a National Geographic™ article than on content objects having to do with pop music. The interactions indicate that the user is likely to prefer Nature and Science content objects over pop reports and clips by Madonna. Consequently, nature reports are ranked 230 higher than reports on NBA basketball semi-finals, and the reports on the NBA basketball semi-finals are ranked 230 higher than a Michael Jackson clip.
Optionally, the ranked 230 content objects are presented to the user in the order based on the calculated ranking function, say using a dedicated graphical user interface. For example, the content objects may be presented to the user in a ranked list arranged in the order determined using the calculated ranking function, as described in further detail hereinbelow.
Optionally, all content objects available in the syndicated data stream in a given time are ranked 230 and rendered for presentation to the user, say using the dedicated graphical interface. Alternatively, all content objects available in the syndicated data stream in a given time are ranked 230, but only a number of content objects ranked highest among the ranked 230 content objects, are rendered for presentation to the user.
Optionally, there is further selected one or more business objects among business objects (say business objects stored in a repository), using the ranking function, as described in further detail hereinbelow.
Optionally, there is selected one or more business objects among business objects matching one of the ranked content objects, among business objects stored in a repository. The selected business objects may presented to the user in association with the matched content object, as described in further detail hereinbelow.
Optionally, the selected business objects categorically match the ranked content object, and are presented to the user in association with the matched content object, as described in further detail hereinbelow.
Optionally, there is selected one or more keywords among a plurality of keywords characterizing one of the ranked content objects, by applying the calculated ranking function on the keywords. Then, there is selected one or more business objects among business objects stored in a repository, using the selected keywords.
Optionally, the business objects are selected among the business objects stored in the repository, using a query based on the selected keywords, as described in further detail hereinbelow.
Optionally, the repository belongs to a third party, and the query is sent to the third party, say using the internet, as known in the art.
Optionally, there is further explicit preference data received from the user, for calculating the ranking function.
For example, a graphical user interface may be used to receive explicit preference data from the user who expresses his feeling towards a certain content object, say using a graphical radio button with two or more alternative options (say one positive, one negative, and one neutral), a check box, a text box, etc., as known in the art.
Reference is now made to Fig. 3, which is a flowchart, illustrating a second method for syndicated data stream content provisioning, according to an exemplary embodiment of the present invention.
In a second method according to an exemplary embodiment of the present invention, a user 310 of a computer device subscribes to one or more syndicated data streams.
The user 310 is connected to the syndicated data streams 320 through apparatus 1000, as described in further detail hereinabove. That is to say that the apparatus 1000 may control the presentation of content objects of the syndicated data streams 320 to the user.
A content object is a data object which refers the user to a content item such as multimedia information, a web page, an article which may be downloaded from a web site in a Portable Document Format (PDF), etc., as described in further detail hereinabove.
The content is either given directly in the description of the content object or is accessible from some open-world or enterprise information repository using an identification (say, a hyperlink), given in the description of the object, as known in the art.
The content objects may be created by the apparatus 1000 or delivered by the apparatus 1000 from a third-party source, on behalf of the user.
According to an exemplary embodiment, the ranking function calculator 120 associates each content object of the syndicated data streams 320 with a list of properties semantically characterizing the content represented by the content object. Optionally, the properties correspond to keywords present in the content (say words in a news report) or combinations of keywords present in the content, semantic categories (such as Music, Pop, etc.), authorship of the content, etc.
For example, the ranking function calculator may associate a content object representing a video clip by Madonna, available through a syndicated data stream broadcasted on an MTV™ web site, with properties such as Music, Madonna, Pop, Video, Singers, etc. Optionally, for calculating the ranking function, the ranking function calculator 120 represents each content object as a vector in a, possibly high- dimensional, space of content-characterizing features selected by the ranking function calculator 120, to characterize content. In the following description, the content- characterizing features are denoted by F, and the space of content-characterizing features is thus of dimensionality IEI, as known in the art.
Upon a request by the user 310, the content ranker 130 presents the user 310 with a ranked list 330 of content objects, say using a dedicated graphical user interface, as described in further detail, and illustrated using Fig. 7, hereinbelow.
Typically, the ranked list 330 is a list of titles of the content objects 350, and the graphical user interface may be used by the user, to select from the list of titles, one or more content objects 350 to be browsed in further detail.
The graphical user interface may further allow other ways for the user to navigate between the content objects of the ranked list.
The content ranker 130 ranks 340 the content objects 350 according to a ranking function 350 gradually calculated for the user by the ranking function calculator 120, as described in further detail hereinabove.
For each user, the profile-based ranking may initially correspond to a default ranking. Optionally, thee default ranking is based on objective information pertaining to the user (such as demographic information), as known in the art.
The ranking function calculator 120 calculates the ranking function 350 based on the user's interactions 360 with the content objects 35, as tracked by the interaction tracker 110.
For example, the ranking function calculator 120 may base the ranking function on the user's content consumption behavior, using a proper combination of which involves reasoning 370 about the user's interactions (possibly together with other actions carried out by the user and tracked by the interaction tracker 110). The combination further involves supervised machine learning 380, say using an SVM algorithm, as described in further detail hereinbelow.
The ranking function calculator 120 may calculate the ranking function 350 either online, upon the emergence of the user interactions 360, or offline, using a cache of unprocessed user interaction data, or a database of historic interactions, as described in further detail hereinabove. In one example, the user 310 consumes only a subset of content objects 350 provided to him through the ranked list 330, and ignores all other content objects, say according to the content object's short description, which appears as a title or a snippet. By consuming only the subset, the user implicitly provides the system with a feedback on what his preferences over content objects are.
For example, suppose that the user briefly goes over the ranked list 330 (i.e. of titles of content objects) and opens (i.e. requests the full content of) a content object ranked third from the top.
The interaction of the user with the content object ranked third from the top of the ranked list 330 is interpreted as an implicit indication. The implicit indication is that under specific circumstances of the interaction 360 (such a specific moment or the user's location), the title of the third object is of a higher interest to the user than the title of first two objects. More generally, a user interaction 360 may indicate a deviation of the user preferences over the content objects 350 presented to the user from the order in which the content objects are presented to the user in the ranked list 330.
Other interactions 360, which implicitly indicate the user's preference over content objects may include, but are not limited to: a) relative time spent while consuming a content object, b) content-related activities performed in the scope of consuming an object (such as sharing the content with other users or consuming a business object annotating a content object), or any other implicit and explicit expressions of emotional attitude towards individual content objects, as described in further detail hereinabove.
The interaction tracker 110 tracks the interactions 360 by monitoring, analyzing, and recording data of the interactions 360 (say in a dedicated database, as known in the art).
Optionally, the interaction tracker 110 further tracks information characterizing the circumstances of each of the tracked interactions 360.
The information characterizing the circumstances may include, but is not limited to: a) a type of hardware platform (i.e. computer device) the user uses for the interactions, b) the geographic location of the user (say using a GPS on the user's computer device, as known in the art), c) the time of the day when the interaction takes place, d) the amount of communication bandwidth, and d) overall connectivity and information-consumption activity of a user's client application.
Similarly to the space of content-characterizing features, the information characterizing the circumstances may be represented by the ranking function calculator 120, as a vector in a, possibly high-dimensional, space of circumstance- characterizing features selected by the ranking function calculator 120, to characterize the circumstances of the interaction.
In the description provided hereinbelow, the space of circumstance- characterizing features is denoted by C, and the induced content-characterizing feature space is thus of dimensionality I CI , as known in the art.
The ranking function calculator 120 combines the two spaces (F and C). By combining F and C, the ranking function calculator 120 represents the tracked interactions 360 implicitly indicative of the user's preferences over a couple of content objects denoted X, Y, in the circumstances of the interactions 360.
The ranking function calculator 120 combines the two spaces (F and C), by calculating the vectors x»c, y»c in the feature space which is the cross-product of the feature spaces F and C, where x, y e F represent the content objects X and Y, respectively, and c e C represents the circumstances, in which the user's interactions 360 with the content objects X and Y take place.
The ranking function calculator 120 uses a supervised-learning machinery to calculate 380 a user-specific ranking function 350 over content objects the user interacts with, using known in the art methods.
The ranking function 350 is a real-valued function from the cross-product of the feature spaces F and C. The ranking function calculator 120 compiles the data pertaining to the tracked interactions 360 into a set of, possibly soft, mathematical constraints applied on the ranking function 350.
For example, in reasoning 370 of the user behavior (i.e. interactions), a constraint derived from the logical conclusion that in a certain session, the user prefers a content object X over a content object Y, is compiled into a constraint that the value of the ranking function on x*c should be at least as high as the value of the ranking function value on y*c.
The ranking function calculator 120 processes the constraints using a supervised machine learning 380. Optionally, supervised machine learning 380 uses a Ranking Support Vector Machine (SVM) algorithm 380 (say Herbrich's SVM, as taught in 2000), as known in the art. The constraints are inputted into an SVM binary classifier (as taught by Vapnik in 1972), as a pair of positive and negative examples, which comprise the ordered pairs x*c,y*c and y*c,x*c. The output of the SVM classifier is a ranking function 350 over the cross-product of the feature spaces F and C.
The ranking function 350 is used by the content ranker 130, to rank 340 the content objects 350 available to the user with respect to both their content, and circumstances in which the ranking of the content objects is performed.
Reference is now made to Fig. 4, which is a flowchart, illustrating a third method for syndicated data stream content provisioning, according to an exemplary embodiment of the present invention.
Optionally, the content ranker 130 further uses the calculated ranking function 350, to select one or more business objects 420. The business objects are business- value objects, such as advertisements, e-commerce links, etc. The content ranker 130 selects the business objects among business objects stored in a repository 440.
The ranking function 350 is resultant upon behavior reasoning 370 and supervised machine learning 380, applied on data pertaining to the user's 310 interactions 360 with content objects, as described in further detail hereinabove.
The selected business objects 420 match one of the ranked content objects 450. The content ranker 130 may present the selected business objects 420 in association with the matched content object 450, as described in further detail hereinbelow.
Optionally, the selected business objects 420 categorically match the ranked content object 450.
Optionally, the selected business objects 420 (i) match the topical area (say features, as described in further detail hereinabove) of the content object 450, and (ii) are ranked highest among business objects matching the topical area, by the calculated ranking function 350, as described in further detail hereinbelow.
Optionally, the content ranker 130 has access to a collection of business objects (such as advertisements, e-commerce links, etc.).
Optionally, the collection is stored in a local repository 440 locally available to the content ranker 130. Alternatively, the business objects 420 are retrievable (fully or partly), on demand, from a third-party provider repository given a query posed by the content ranker 130, as described in further detail and illustrated using Fig. 5 hereinbelow.
Given a content object denoted x 450, the system first identifies a subset of business objects denoted B(x) 421, which match at least one of the, possibly user- specific, categorical aspects of the content object x 450.
Optionally, the aspects are the features of the feature space F, as described in further detail hereinabove.
In order to identify the subset of business objects B(x) 421, which match the categorical aspects of the content object x 450, the content ranker 130 maintains a, possibly user-specific, set of categories 425.
In a categorizing step 405, the content ranker 130 maps each object (be it a content object x or a business object b) to a subset of the categories o 425. If the object is a priori mapped to the subset of categories o 425, say by the creator of the content, then, the mapping becomes trivial. Otherwise, the content ranker 130 may carry out the mapping, using an automatic content classification system based on a standard supervised learning machinery (such as Naive Bayes, kNN, or decision tree classifiers), as known in the art.
A business-value object b matches the content object x, if the intersection of their categories denoted Categories(b) and Categories(x), respectively, is not empty. That is to say, b e B(x) if and only if Categories(b)nCategories(x)≠0. Additional conservative requirements on the relation between Categories (b) and Categories (x) are also possible, as known in the art.
Once the subset B(x) 421 is found 460, the content ranker 130 ranks 470 the business objects of the subset B(x) 421, using the ranking function 350, and the content object x 450 is presented to the user, annotated with a subset B*(x) c: B(x) 420 the content ranker 130 selects. Optionally, the content ranker 130 present the content object x 450 annotated with a subset B*(x) 420, to the user, say using a dedicated graphical user interface, as described in further detail hereinbelow.
Optionally, the content ranker 130 selects to a number (k) of objects in B(x) 421, where the k business objects 420 are ranked highest by the ranking function 350, thus selecting the objects of B*(x) 420. Alternatively, the content ranker 130 rather selects a random sample of business objects 420 from B(x) 421, to yield B*(x) 420. The selected random sample of business objects 420 may be biased towards the higher values of ranking function 350, or to any other selection procedure, using the ranking function 350, upon application on B(x) 421, as known in the art.
Consequently, if the user decides to access content object x 450, then the content ranker 130 presents the content object x 450 to the user 410, together with indication of the annotated set of business objects B*(x) 420, say using a dedicated graphical user interface, as described in further detail and illustrated using Fig. 8, hereinbelow.
Reference is now made to Fig. 5, which is a flowchart, illustrating a fourth method for syndicated data stream content provisioning, according to an exemplary embodiment of the present invention.
The further methods is also based on the ranking function 350 resultant upon behavior reasoning 370 and supervised machine learning 380, applied on data pertaining to the user's 310 interactions 360 with content objects, as described in further detail hereinabove.
With the fourth method, the collection of business objects is stored in a repository 540 of a third party, rather than an in-house repository. The business objects are available on demand, as a response to a query 542 the content ranker 130 may pose 541, say using the internet.
For finding 560 business objects which match a content item x 550, the content ranker 130 associates the content object x 550 with a subset of keyword combinations K*(x) that purportedly represent the interests of the user 310 within the content of x 550.
Optionally, the keywords are derived from the categories 425 resultant upon topic categorization 405 of the content object 550, as describe in further detail hereinabove.
If K(x) is the set of candidate keyword combinations determined by the content ranker 130, say using a standard lexical analysis of content object x 550, then K*(x) c K(x) is a subset of keyword combinations ranked highest by the user's 310 ranking function 350, when considered as a stand alone content object.
That is to say that for each ke K*(x) and each k' e K(x)-K*(x), we have f(k) > f(k'), where f(k) and f(k') denote values of the ranking function for k and k', respectively. The boundary between K*(x) and K(x)-K*(x) is determined either by a limit on the size of K*(x), or on the basis of the difference of values of the ranking function 350 between the elements of K*(x) and K(x)-K*(x), etc.
The content ranker 130 poses 541 the set of keywords K*(x) extracted for the content object x 550, on the basis of the ranking function 350, in a search query 542, to one or more third-party repositories 540 of business objects.
The content ranker 130 may further formulate the query 542 in a format required by each of the third-party providers.
The content ranker 130 uses business objects 521 provided by the third-party providers in response to the K*(x)-based query, to construct the set of business objects 520, for presentation to the user 310. Optionally, the content ranker 130 selects 570 the subset of business objects among the business objects 521 received, as a response to the query 542, using the ranking function 350, as described in further detail hereinabove.
Finally, the content ranker 130 presents the selected business objects 520 to the user 310, in association with the content object 550, as described in further detail hereinabove.
Reference is now made to Fig. 6, which is a block diagram schematically illustrating a computer readable medium storing computer executable instructions, for performing steps of syndicated data stream content provisioning, according to an exemplary embodiment of the present invention.
A computer readable medium 6000 such as a CD-ROM, a USB-Memory, a Portable Hard Disk, etc., may store computer executable instructions, performing steps of syndicated data stream content provisioning, according to an exemplary embodiment of the present invention.
Upon execution by a computer, the instructions may track 610 one or more interactions of a user with one or more content objects of one or more syndicated data streams received on a computer device, as described in further detail hereinabove. The tracked interaction is implicitly indicative of a preference of the user.
Then, the instructions calculate 620 a ranking function based on the tracked 610 interaction(s), say using a Ranking Support Vector Machine (SVM) algorithm, as described in further detail hereinabove.
Optionally, the instruction use data pertaining to circumstances of the tracked interaction, for calculating the ranking function. The data pertaining to the circumstances may include, but is not limited to: time of day, day of week, type of a computer device used by the user, bandwidth, geographic location (say geographical location obtained using GPS functionality on the computer device of the user), etc.
Optionally, the instructions further generate comparative data indicative of relative preference of the user over at least two content objects subjected to the traced interactions. For example, the comparative data may indicate that the user prefers a title of a first content object over a title of a second content object. The generated comparative data may be used to calculate the ranking function, as described in further detail hereinbelow.
Finally, the instructions rank 630 content objects of the syndicated data streams, in an order based on the calculated ranking function, as described in further detail hereinabove.
Optionally, the instructions present the ranked 630 content objects to the user in a ranked list arranged in the order determined using the calculated ranking function, as described in further detail hereinabove.
Optionally, the instructions further select one or more business objects among business objects stored in a repository, using the ranking function, as described in further detail hereinabove.
Reference is now made to Fig. 7, which is a block diagram schematically illustrating a first graphical user interface for syndicated data stream content provisioning, according to an exemplary embodiment of the present invention.
Fig. 7 illustrates one exemplary graphical user interface, used to present a ranked list of to the user.
According to an exemplary embodiment of the present invention, after the content ranker 130 ranks the content objects of the syndicated data streams, the content ranker may present the ranked content objects 710 to the user, in a ranked list ordered using the calculated ranking function, as describe in further detail hereinabove.
Optionally, the content ranker 130 further uses the calculated ranking function, to select one or more business objects matching one of the ranked content objects, among business objects stored in a repository, as described in further detail hereinabove. The content ranker 130 may present the selected business objects in association with the matched content object. In one example, the content ranker 130 may present a business object 720 entitled "Buy Cold Play tickets" just below the business object entitled ""Last FM, Cold Play at United Center, Chicago, IL, on 23 Jul 2008".
Reference is now made to Fig. 8, which is a block diagram schematically illustrating a second graphical user interface for syndicated data stream content provisioning, according to an exemplary embodiment of the present invention.
Fig. 8 illustrates one exemplary graphical user interface, used to present a ranked list of to the user.
Optionally, the content ranker 130 may rather present the selected business objects in association with the matched content object, when the user clicks on a content object, the user is interested in.
For example, when the user clicks on the content object entitled ""Last FM, Cold Play at United Center, Chicago, IL, on 23 Jul 2008", in the first place of the ranked list of the screenshot shown in Fig. 7, the user is presented business objects matching the content object clicked on.
One of the matching business objects is a business object 820 used to offer ringtones to the user. The ringtones business object 820 is presented to the user as an annotation to the textual content 810 of the content object clicked on.
It is expected that during the life of this patent many relevant devices and systems will be developed and the scope of the terms herein, particularly of the terms "Computer", "Mobile Computer", "Mobile Phone", "Syndicated Data Stream", "Syndicated Data Feed", "RSS", "Content Object" and "Business Object", is intended to include all such new technologies a priori.
It is appreciated that certain features of the invention, which are, for clarity, described in the context of separate embodiments, may also be provided in combination in a single embodiment. Conversely, various features of the invention, which are, for brevity, described in the context of a single embodiment, may also be provided separately or in any suitable subcombination.
Although the invention has been described in conjunction with specific embodiments thereof, it is evident that many alternatives, modifications and variations will be apparent to those skilled in the art. Accordingly, it is intended to embrace all such alternatives, modifications and variations that fall within the spirit and broad scope of the appended claims. All publications, patents and patent applications mentioned in this specification are herein incorporated in their entirety by reference into the specification, to the same extent as if each individual publication, patent or patent application was specifically and individually indicated to be incorporated herein by reference. In addition, citation or identification of any reference in this application shall not be construed as an admission that such reference is available as prior art to the present invention.

Claims

WHAT IS CLAIMED IS:
1. Apparatus for syndicated data stream content provisioning, the apparatus comprising:
an interaction tracker, configured to track at least one interaction of a user with at least one content object of a respective one of a group consisting of at least one syndicated data stream received on a computer device, said interaction being implicitly indicative of a preference of the user;
a ranking function calculator, in communication with said interaction tracker, configured to calculate a ranking function based on the tracked interaction; and
a content ranker, in communication with said ranking function calculator, configured to rank a plurality of content objects of the syndicated data streams of the group, in an order based on the calculated ranking function.
2. The apparatus of claim 1, wherein said content ranker is further configured to present the ranked content objects to the user in the order based on the calculated ranking function.
3. The apparatus of claim 1, wherein said content ranker is further configured to present the ranked content objects to the user, in a ranked list arranged in the order determined using the calculated ranking function.
4. The apparatus of claim 1, wherein said content ranker is further configured to use the calculated ranking function to select at least one business object among a plurality of business objects.
5. The apparatus of claim 1, wherein said content ranker is further configured to use the calculated ranking function to select at least one business object matching one of the ranked content objects, among a plurality of business objects.
6. The apparatus of claim 1, wherein said content ranker is further configured to use the calculated ranking function to select at least one business object categorically matching one of the ranked content objects, among a plurality of business objects.
7. The apparatus of claim 1, wherein said content ranker is further configured to select at least one keyword among a plurality of keywords characterizing one of the ranked content objects, by applying the calculated ranking function on the keywords, and to select at least one business object among a plurality of business, using the selected keywords.
8. The apparatus of claim 1, wherein said content ranker is further configured to select at least one keyword among a plurality of keywords characterizing one of the ranked content objects, by applying the calculated ranking function on the keywords, and to select at least one business object among a plurality of business objects, using a query based on the selected keywords.
9. The apparatus of claim 1, wherein said content ranker is further configured to select at least one keyword among a plurality of keywords characterizing one of the ranked content objects, by applying the calculated ranking function on the keywords, and to select at least one business object among a plurality of business objects of a third party, using the selected keywords.
10. The apparatus of claim 1, further comprising an explicit preference interface, in communication with said ranking function calculator, operable by the user for inputting explicit preference data, wherein said ranking function calculator is further configured to use the input explicit preference data, for calculating the ranking function.
11. The apparatus of claim 1, wherein said ranking function calculator is further configured to use data pertaining to circumstances of the tracked interaction, for calculating the ranking function.
12. The apparatus of claim 1, further comprising a graphical user interface, in communication with said interaction tracker, configured to capture data pertaining the interaction and to provide the captured data to said interaction tracker.
13. The apparatus of claim 1, wherein said ranking function calculator is further configured to generate comparative data indicative of relative preference of the user over at least two content objects subjected to the traced interactions.
14. The apparatus of claim 1, wherein said ranking function calculator is further configured to generate comparative data indicative of relative preference of the user over at least two of the content objects subjected to the traced interactions, and using the generated comparative data, to calculate the ranking function.
15. The apparatus of claim 1, wherein said ranking function calculator is further configured to use historical data of interactions of the user with content objects, for calculating the ranking function.
16. The apparatus of claim 1, wherein said ranking function calculator is further configured to use a support vector machine (SVM), for calculating the ranking function.
17. The apparatus of claim 1, wherein the traced interactions comprise sharing information pertaining to a content object on a social network platform.
18. The apparatus of claim 1, wherein the traced interactions comprise sharing information pertaining to a content object with a person other than the user.
19. The apparatus of claim 1, wherein the computer device is a mobile computer device.
20. The apparatus of claim 1, wherein the computer device is a mobile phone.
21. Computer implemented method for syndicated data stream content provisioning, the method comprising steps the computer is programmed to perform, the steps comprising:
tracking at least one interaction of a user with at least one content object of a respective one of a group consisting of at least one syndicated data stream received on a computer device, said interaction being implicitly indicative of a preference of the user;
calculating a ranking function based on the tracked interaction; and
ranking a plurality of content objects of the syndicated data streams of the group, in an order based on the calculated ranking function.
22. The method of claim 21, further comprising presenting the ranked content objects to the user in the order based on the calculated ranking function.
23. The method of claim 21, further comprising presenting the ranked content objects to the user, in a ranked list arranged in the order determined using the calculated ranking function.
24. The method of claim 21, further comprising using the calculated ranking function to select at least one business object among a plurality of business objects.
25. The method of claim 21, further comprising using the calculated ranking function to select at least one business object matching one of the ranked content objects among a plurality of business objects.
26. The method of claim 21, further comprising using the calculated ranking function to select at least one business object categorically matching one of the ranked content objects among a plurality of business objects.
27. The method of claim 21, further comprising selecting at least one keyword among a plurality of keywords characterizing one of the ranked content objects, by applying the calculated ranking function on the keywords, and selecting at least one business object among a plurality of business objects, using the selected keywords.
28. The method of claim 21, further comprising selecting at least one keyword among a plurality of keywords characterizing one of the ranked content objects, by applying the calculated ranking function on the keywords, and selecting at least one business object among a plurality of business objects, using a query based on the selected keywords.
29. The method of claim 21, further comprising selecting at least one keyword among a plurality of keywords characterizing one of the ranked content objects, by applying the calculated ranking function on the keywords, selecting at least one business object among a plurality of business objects of a third party, using the selected keywords.
30. The method of claim 21, further comprising receiving explicit preference data from the user, and calculating the ranking function using the received explicit preference data.
31. The method of claim 21, further comprising using data pertaining to circumstances of the tracked interaction, for calculating the ranking function.
32. The method of claim 21, further comprising generating comparative data indicative of relative preference of the user over at least two content objects subjected to the traced interactions.
33. The method of claim 21, further comprising generating comparative data indicative of relative preference of the user over at least two content objects subjected to the traced interactions, and using the generated comparative data, to calculate the ranking function.
34. The method of claim 21, further comprising using historical data of interactions of the user with content objects, for calculating the ranking function.
35. The method of claim 21, further comprising using a support vector machine (SVM), for calculating the ranking function.
36. The method of claim 21, wherein the traced interactions comprise sharing information pertaining to a content object on a social network platform.
37. The method of claim 21, wherein the traced interactions comprise sharing information pertaining to a content object with a person other than the user.
38. Computer readable medium storing computer executable instructions for performing steps of syndicated data stream content provisioning, the steps comprising:
tracking at least one interaction of a user with at least one content object of a respective one of a group consisting of at least one syndicated data stream received on a computer device, said interaction being implicitly indicative of a preference of the user;
calculating a ranking function based on the tracked interaction; and
ranking a plurality of content objects of the syndicated data streams of the group, in an order based on the calculated ranking function.
39. Apparatus for syndicated data stream content provisioning, the apparatus comprising:
an interaction tracker, configured to track at least one interaction of a user with at least one content object of a syndicated data stream received on a computer device, said interaction being implicitly indicative of a preference of the user;
a ranking function calculator, in communication with said interaction tracker, configured to calculate a ranking function based on the tracked interaction; and
a content ranker, in communication with said ranking function calculator, configured to rank a plurality of content objects of syndicated data streams, in an order based on the calculated ranking function.
PCT/IB2010/054116 2009-09-17 2010-09-13 Syndicated data stream content provisioning WO2011033441A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
EP10816782.6A EP2478446A4 (en) 2009-09-17 2010-09-13 Syndicated data stream content provisioning

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/561,433 US8782035B2 (en) 2009-09-17 2009-09-17 Syndicated data stream content provisioning
US12/561,433 2009-09-17

Publications (1)

Publication Number Publication Date
WO2011033441A1 true WO2011033441A1 (en) 2011-03-24

Family

ID=43731510

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/IB2010/054116 WO2011033441A1 (en) 2009-09-17 2010-09-13 Syndicated data stream content provisioning

Country Status (3)

Country Link
US (1) US8782035B2 (en)
EP (1) EP2478446A4 (en)
WO (1) WO2011033441A1 (en)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8819172B2 (en) 2010-11-04 2014-08-26 Digimarc Corporation Smartphone-based methods and systems
US9507856B1 (en) * 2009-12-07 2016-11-29 D&B Business Information Solutions System and method for discovering subscriber content affinity and making corresponding recommendations
US8732147B2 (en) * 2011-03-18 2014-05-20 Microsoft Corporation Data collections on a mobile device
US20120271719A1 (en) * 2011-04-25 2012-10-25 Ben Straley Targeting advertising based on tracking content sharing
US8838564B2 (en) * 2011-05-19 2014-09-16 Yahoo! Inc. Method to increase content relevance using insights obtained from user activity updates
US9031888B2 (en) * 2011-08-10 2015-05-12 International Business Machines Corporation Predicting influence in social networks
US9116997B2 (en) * 2011-09-22 2015-08-25 Alibaba.Com Limited Presenting user preference activities
US20130117259A1 (en) * 2011-11-04 2013-05-09 Nathan J. Ackerman Search Query Context
KR20130060917A (en) * 2011-11-30 2013-06-10 삼성전자주식회사 Method for providing information, device and computer readable recording medium
US9582592B2 (en) 2011-12-20 2017-02-28 Bitly, Inc. Systems and methods for generating a recommended list of URLs by aggregating a plurality of enumerated lists of URLs, the recommended list of URLs identifying URLs accessed by users that also accessed a submitted URL
US9128896B2 (en) 2011-12-20 2015-09-08 Bitly, Inc. Systems and methods for identifying phrases in digital content that are trending
US9135344B2 (en) 2011-12-20 2015-09-15 Bitly, Inc. System and method providing search results based on user interaction with content
WO2013095755A2 (en) * 2011-12-20 2013-06-27 Bitly, Inc Systems and methods for relevance scoring of a digital resource
US9111211B2 (en) 2011-12-20 2015-08-18 Bitly, Inc. Systems and methods for relevance scoring of a digital resource
US9135211B2 (en) 2011-12-20 2015-09-15 Bitly, Inc. Systems and methods for trending and relevance of phrases for a user
US9619811B2 (en) 2011-12-20 2017-04-11 Bitly, Inc. Systems and methods for influence of a user on content shared via 7 encoded uniform resource locator (URL) link
US9055115B2 (en) * 2012-01-24 2015-06-09 International Business Machines Corporation Content volume throttling in feed aggregators
US10884589B2 (en) * 2012-09-04 2021-01-05 Facebook, Inc. Determining user preference of an object from a group of objects maintained by a social networking system
US10037538B2 (en) * 2012-12-11 2018-07-31 Facebook, Inc. Selection and presentation of news stories identifying external content to social networking system users
US10909550B2 (en) 2013-03-12 2021-02-02 Oracle International Corporation Method and system for performing trend analysis of themes in social data
US9607340B2 (en) 2013-03-12 2017-03-28 Oracle International Corporation Method and system for implementing author profiling
US9426239B2 (en) 2013-03-12 2016-08-23 Oracle International Corporation Method and system for performing analysis of social media messages
US20140280610A1 (en) * 2013-03-13 2014-09-18 International Business Machines Corporation Identification of users for initiating information spreading in a social network
US9430532B2 (en) * 2013-07-30 2016-08-30 NETFLIX Inc. Media content rankings for discovery of novel content
US9311639B2 (en) 2014-02-11 2016-04-12 Digimarc Corporation Methods, apparatus and arrangements for device to device communication
US10425492B2 (en) 2015-07-07 2019-09-24 Bitly, Inc. Systems and methods for web to mobile app correlation
US11341438B2 (en) * 2019-11-22 2022-05-24 The Procter & Gamble Company Provisioning and recommender systems and methods for generating product-based recommendations for geographically distributed physical stores based on mobile device movement
US11544334B2 (en) * 2019-12-12 2023-01-03 Amazon Technologies, Inc. Context-based natural language searches
US20220229843A1 (en) * 2021-01-21 2022-07-21 Salesforce.Com, Inc. Framework for modeling heterogeneous feature sets

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020052873A1 (en) * 2000-07-21 2002-05-02 Joaquin Delgado System and method for obtaining user preferences and providing user recommendations for unseen physical and information goods and services
US7089237B2 (en) 2001-01-26 2006-08-08 Google, Inc. Interface and system for providing persistent contextual relevance for commerce activities in a networked environment
US7089194B1 (en) 1999-06-17 2006-08-08 International Business Machines Corporation Method and apparatus for providing reduced cost online service and adaptive targeting of advertisements
US20070260635A1 (en) * 2005-09-14 2007-11-08 Jorey Ramer Interaction analysis and prioritization of mobile content
US20080010337A1 (en) 2006-07-07 2008-01-10 Attensa, Inc. Analysis and selective display of rss feeds
US20080065471A1 (en) * 2003-08-25 2008-03-13 Tom Reynolds Determining strategies for increasing loyalty of a population to an entity
US7345232B2 (en) 2003-11-06 2008-03-18 Nokia Corporation Automatic personal playlist generation with implicit user feedback

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1484692B1 (en) 2003-06-04 2013-07-24 Intel Corporation Content recommendation device with user feedback
US7363282B2 (en) 2003-12-03 2008-04-22 Microsoft Corporation Search system using user behavior data
US20060074864A1 (en) * 2004-09-24 2006-04-06 Microsoft Corporation System and method for controlling ranking of pages returned by a search engine
US20070100836A1 (en) 2005-10-28 2007-05-03 Yahoo! Inc. User interface for providing third party content as an RSS feed
US7783632B2 (en) * 2005-11-03 2010-08-24 Microsoft Corporation Using popularity data for ranking
US8001561B2 (en) * 2007-11-20 2011-08-16 Samsung Electronics Co., Ltd. System and method for automatically rating video content
US8078632B1 (en) * 2008-02-15 2011-12-13 Google Inc. Iterated related item discovery
US8069179B2 (en) * 2008-04-24 2011-11-29 Microsoft Corporation Preference judgements for relevance
US8745502B2 (en) * 2008-05-28 2014-06-03 Snibbe Interactive, Inc. System and method for interfacing interactive systems with social networks and media playback devices
CA2734781C (en) * 2008-08-21 2017-07-11 Linqware, Inc. Content, traffic and advertising engine, system and method
US8671093B2 (en) * 2008-11-18 2014-03-11 Yahoo! Inc. Click model for search rankings

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7089194B1 (en) 1999-06-17 2006-08-08 International Business Machines Corporation Method and apparatus for providing reduced cost online service and adaptive targeting of advertisements
US20020052873A1 (en) * 2000-07-21 2002-05-02 Joaquin Delgado System and method for obtaining user preferences and providing user recommendations for unseen physical and information goods and services
US7089237B2 (en) 2001-01-26 2006-08-08 Google, Inc. Interface and system for providing persistent contextual relevance for commerce activities in a networked environment
US20080065471A1 (en) * 2003-08-25 2008-03-13 Tom Reynolds Determining strategies for increasing loyalty of a population to an entity
US7345232B2 (en) 2003-11-06 2008-03-18 Nokia Corporation Automatic personal playlist generation with implicit user feedback
US20070260635A1 (en) * 2005-09-14 2007-11-08 Jorey Ramer Interaction analysis and prioritization of mobile content
US20080010337A1 (en) 2006-07-07 2008-01-10 Attensa, Inc. Analysis and selective display of rss feeds

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
"Last FM", 23 July 2008, COLD PLAY AT UNITED CENTER
LAST FM, COLD PLAY AT UNITED CENTER, 23 July 2008 (2008-07-23)
See also references of EP2478446A4

Also Published As

Publication number Publication date
US8782035B2 (en) 2014-07-15
US20110066613A1 (en) 2011-03-17
EP2478446A1 (en) 2012-07-25
EP2478446A4 (en) 2014-03-12

Similar Documents

Publication Publication Date Title
US8782035B2 (en) Syndicated data stream content provisioning
US10102307B2 (en) Method and system for multi-phase ranking for content personalization
US20190354876A1 (en) Deriving Semantic Relationships Based on Empirical Organization of Content by Users
US11055476B2 (en) Processing web page data across network elements
JP6827515B2 (en) Viewing time clustering for video search
US7822762B2 (en) Entity-specific search model
KR101173163B1 (en) Method for evaluating user reputation through social network, system and method for evaluating content reputation using the same
US20120001919A1 (en) Social Graph Based Recommender
US8442849B2 (en) Emotional mapping
US20110191331A1 (en) Method of and System for Enhanced Local-Device Content Discovery
US20080005069A1 (en) Entity-specific search model
WO2011112319A2 (en) Emotional targeting
US20140280554A1 (en) Method and system for dynamic discovery and adaptive crawling of content from the internet
US20180144059A1 (en) Animated snippets for search results
US20110223571A1 (en) Emotional web
US9110901B2 (en) Identifying web pages of the world wide web having relevance to a first file by comparing responses from its multiple authors
US20150356098A1 (en) Identifying video files of a video file storage system having relevance to a first file
US20120166415A1 (en) Supplementing search results with keywords derived therefrom
US8843576B2 (en) Identifying audio files of an audio file storage system having relevance to a first file
US20110225049A1 (en) Emoticlips
US9519683B1 (en) Inferring social affinity based on interactions with search results
US8626753B1 (en) Personalization search engine
Ji et al. A study on recommendation features for an RSS reader
US10185982B1 (en) Service for notifying users of item review status changes
Chen et al. PHAROS–Personalizing Users’ Experience in Audio-Visual Online Spaces

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 10816782

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

REEP Request for entry into the european phase

Ref document number: 2010816782

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2010816782

Country of ref document: EP