WO2015101945A1 - Generating a news timeline and recommended news editions - Google Patents
Generating a news timeline and recommended news editions Download PDFInfo
- Publication number
- WO2015101945A1 WO2015101945A1 PCT/IB2014/067452 IB2014067452W WO2015101945A1 WO 2015101945 A1 WO2015101945 A1 WO 2015101945A1 IB 2014067452 W IB2014067452 W IB 2014067452W WO 2015101945 A1 WO2015101945 A1 WO 2015101945A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- user
- content items
- news
- location
- news content
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06Q—INFORMATION 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/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06Q—INFORMATION 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
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06Q—INFORMATION 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
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/101—Collaborative creation, e.g. joint development of products or services
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06Q—INFORMATION 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
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0207—Discounts or incentives, e.g. coupons or rebates
- G06Q30/0224—Discounts or incentives, e.g. coupons or rebates based on user history
Definitions
- Described embodiments concern the display of news articles to users of computing devices, and in particular the selection and display of news articles related to particular topics over time or of geographic interest to the user.
- news aggregators While many news consumers access this content directly, e.g., by accessing a URL for a web site associated with the news source itself, other consumers take advantage of news aggregators, which present news content from disparate sources to a user in a single user interface. The news consumer can then select particular content of interest and be directed to that content via the news aggregator.
- Described embodiments enable the presentation to a user of news articles or other content about a particular topic or location that were created or published within a timeframe of interest to the user or are geographically relevant to a user's location or region of interest.
- a news delivery system includes an ingest module that assigns topics and locations to available content, a profile engine that determines profile topics, news sources, and geographic locations that a particular user finds relevant, and a news delivery module that selects content for the user based on the operation of the ingest module and the profile engine.
- the profile engine performs decay processing to remove stale topics and locations from a user's profile.
- the profile engine maintains multiple profiles for the user.
- FIG. 1 is an illustration of a system for providing news content to users in accordance with one embodiment.
- FIG. 2 is a flowchart illustrating high-level steps for providing topically and geographically relevant news content to a user.
- FIG. 3 illustrates a method for determining reading interests of a user in accordance with one embodiment.
- Fig. 4 illustrates a profile engine in accordance with one embodiment.
- FIG. 5 is a flowchart illustrating a method for displaying geographically and topically relevant news content to a user in accordance with one embodiment.
- Fig. 6 illustrates a user interface for displaying a geographic region of interest in accordance with one embodiment.
- FIG. 7. illustrates a user interface for displaying news content in association with map in accordance with one embodiment.
- Fig. 8 illustrates a user interface for displaying news content in association with map in accordance with one embodiment.
- Fig. 9 illustrates a user interface for displaying news content in association with map in accordance with one embodiment.
- Fig. 10 illustrates an example of a user interface for specifying a topic and timeframe of interest in accordance with one embodiment.
- FIG. 11 is a flowchart illustrating a method for displaying geographically, temporally and topically relevant news content to a user in accordance with one
- FIG. 12 illustrates an example computer architecture in accordance with one embodiment.
- Fig. 1 illustrates a system 100 for providing geographically and temporally relevant news to a user in accordance with one embodiment.
- System 100 includes an ingest module 102, profile engine 112, and news delivery module 114.
- Ingest module 102 further includes a topic analyzer 104, geolocator 106, indexer 118 and articles database 108.
- Profile engine 112 includes a user recommendation generator 116 and user profile database 110.
- News delivery module 114 includes a map engine 122 and timeline engine 124.
- Also illustrated in Fig. 1 are a plurality of news sources 120a, 120b, 120c (generally 120), and a user device 130. Each of these is described in further detail below. Note that while few or one instance of each of these elements is illustrated in Fig. 1, when implemented system 100 may include several logical or physical corresponding modules performing the features described here. And while only one user device 130 and three news sources 120 are illustrated for ease of illustration, hundreds, thousands, or more such devices may be used with system 100.
- System 100 communicates with news sources 120 and user device 130 over a network (not shown).
- the network is typically the Internet, but can be any network, including but not limited to any combination of a LAN, a MAN, a WAN, a mobile, a wired or wireless network, a private network, or a virtual private network.
- System 100 is connected to the network through a network interface.
- News source 120 includes text, audio, or video content, or a combination thereof accessible directly or indirectly to system 100 and to user device 130 over a network such as the Internet.
- Each news source 120 provides one or more news content items in an ad hoc or periodic manner.
- a news source may be a web site associate with a magazine, newspaper, radio station or television station.
- News source 120 makes its content available to viewers such as system 100 and user device 130 either for free or at some cost.
- this description we refer interchangeably to this type of content as news content, news articles, and articles.
- Those of skill in the art will understand from this disclosure however that the described embodiments have application not only to news content per se, but generally to any corpus of documents that have associated topics and locations.
- Ingest module 102 discovers, analyzes and indexes news content provided by news sources 120.
- Indexer 118 in one embodiment crawls and discovers news sources 120 and any articles available via those sources.
- Topic analyzer 104 and geolocator 106 attribute weighted topics and locations to indexed news content and store indicia of the attributes and content in articles database 108 as detailed below.
- Profile engine 112 processes information particular to the user, as detailed below with respect to Fig. 3, to obtain and store user characteristics relevant to what content may be appropriate for that user.
- Recommendation generator 116 provides processing to determine what material made available by news source 120 is most appropriate to be presented to user device 130, as detailed below.
- User recommendation generator 116 generates specific content for user device 130 based on the results of queries to indexer 118 and profile information available for the user.
- News delivery module 114 provides user device 130 with a curated list of news articles about a topic or set of related topics.
- news delivery module 114 presents a user interface, e.g., a web site or mobile application that includes a list of news content items, which may be sorted according to their associated topics or location.
- a user of user device 130 can select items of interest and then be directed to the selected items. For example, a user may select a thumbnail image or a snippet of an article and be directed to a web site hosting the content, i.e. news source 120.
- news delivery module 114 recommends content items associated with particular locations of interest, topics of interest, timeframes of interest, or combinations thereof as described below.
- User device 130 can be a laptop or desktop computer, smartphone, tablet, or any other device capable of accessing system 100 and news source 120 over a cellular or wide area network.
- the user operating user device 130 can be an individual, group of individuals, corporate entity, or automated computer system.
- Fig. 2 is a flowchart illustrating high-level steps for providing topically, temporally and geographically relevant news content to a user.
- System 100 obtains news content from news sources 120 and annotates it 202 according to the topics and locations relevant to the content.
- Profile engine 112 determines 204 the topics and locations that are part of a user's reading interests and maintains that information in a user profile.
- Recommendation generator 116 selects 206 content from within a desired timeframe that matches a user's interests and recommends 208 that content to the user. We describe below each of these steps in greater detail.
- topic analyzer 104 identifies one or more topics to associate with the content item.
- topics are identified using the Google Knowledge Graph database of topics (not shown). This database includes a very large collection of known topics, as well as connections between topics based on their relevance to one another. In other embodiments, other collections of topics can be used as most appropriate for the operating environment.
- ingest module 102 is configured to accept any new item of content (e.g., a news article) provided by news source 120, and annotate the item with topics. For example, if the word “United” appears multiple times in connection with terms relating air travel in the new item, the topic of "United Airlines” or “UAL” is annotated to the item. If, instead, the word “United” appears multiple times in connection with terms relating to trucking or moving companies, the topic of "United Van Lines" is annotated to the item. In some embodiments, weighting is associated with each such annotation.
- ingest module 102 processes millions of new items every day, and is also implemented using portions of the aforementioned Google Knowledge Graph facility.
- topic analyzer 104 uses two steps to find the most relevant topics for an item.
- the first step involves finding every topic that is actually mentioned in the item. For example, the word "United” is exactly the same as at least two known topics, based on the discussion above, so those topics are considered candidates and, based on other terms in the item (e.g., "passengers" and O'Hare) the Knowledge Graph facility selects one and gives it a weight, for instance based on how often that topic appears in the item.
- the second step looks for relevant topics that are not expressly mentioned in the item and also rescores topics based on relation to other topics.
- Topic analyzer 104 then annotates the news item with the weighted topics, and indicia of the news content, its publication or distribution date, and its associated weighted topics are stored in articles data 108.
- Geolocator 106 also processes the news item to identify any geographic references contained within the content item itself, or within any associated metadata.
- a content item may be a news article such as, from the example above, United Airlines, and the article may be discussing United's large presence in Chicago.
- an article might be describing a recent weather event in Boston, Massachusetts; or may be a news feature about the best cities in which to live in the United States, mentioning several by name; or an item that includes a dateline identifying where a news story was filed.
- Geolocator 106 identifies geographic locations such as those described above in a manner analogous to the way in which topic analyzer 104 discovers topics associated with the news content items. Geolocator 106 annotates the content item with a geographic location, and stores the geotagging information together with the content and topic indicia in articles data 108. Based on the annotated content, indexer 118 is therefore able to return topics associated with a particular news content item; geographic points associated with a particular news content item; news articles associated with particular topics; and news articles associated with particular geographic locations.
- indexer 118 is able to restrict or expand the items returned such that each falls within a timeframe specified in a request (or within a default timeframe, e.g., within the past day, week, month, year, etc., if no timeframe is otherwise specified in the request).
- processing begins at step 310 by obtaining a profile corresponding to a user from user profile database 110.
- This profile includes information relating to the user, such as self-identified interests and, if the user has so authorized, automatically stored information relevant to the user's interests, such as historical information on articles the user has read, news sources preferred by the user, and geographic regions of interest to the user.
- method 300 when a user opens a mobile application or web service (such as Google Play Newsstand), method 300 obtains 310 relevant profile information (e.g., user ID, ID of the article being opened, and current time for initial processing and scored list of user interests for later processing). For offline access, information about which article is being opened and the time of access is stored and sent to user profile engine 112 the next time the user comes online.
- relevant profile information e.g., user ID, ID of the article being opened, and current time for initial processing and scored list of user interests for later processing.
- user profile engine 112 fetches the article information from articles database 108 and obtains the scored topics and locations that were generated for that article as detailed above. Then, at step 330, the user's interest information is fetched. This may be done from the profile information previously obtained at step 310, or a new request for just this aspect of profile information may be made, depending on the environment of use and which technique is most efficient.
- the interest information from the profile may be empty (e.g., for a new user) or may include both user statistics (last update time/counter information) and a collection of scored topics and locations.
- Each scored topic includes a topic ID, a score for the topic for this particular user, and time/ counter information for this topic for this user.
- each scored location in various embodiments includes location indicia, a score for the particular location for this user, and time/ counter information for this location for this user.
- the topics and locations from the article are added to the user's profile (with the score for each topic and each location) at step 340 as follows. If the user's profile already contains a topic, the score for that topic is increased using a pre-defined
- a user's score for a particular topic is incremented by an appropriate amount whenever a user reads an article corresponding to the topic.
- a score for a location in the user's profile is incremented analogously.
- the user's O'Hare score may currently be 10 and Chicago score may be 3; if the user reads an article having an O'Hare topic score of 0.5 and a Chicago location score of 1, the user's new score for O'Hare is incremented to be 10.5, and the user's new score for Chicago is incremented to be 4.
- a new scored topic or scored location is added to the profile in a similar manner.
- a last update time for each topic and location is set to the current time, and counters for the topic and location are incremented; a last update time for the profile is also updated, and a counter for the profile is also incremented.
- one or more of the counters is not incremented if the last update was very recent, so that all updates happening within a certain time period (e.g., a day) are treated as one.
- scores of topics and locations in the profile are decayed 350 using a pre-defined decay function; in one embodiment exponential decay is used to appropriately allow the user's old interests to phase out and newer interests to be ranked higher.
- exponential decay is used to appropriately allow the user's old interests to phase out and newer interests to be ranked higher.
- By comparing the last update counter of a topic or location with the last update counter of the profile it is known how many times the user has read content that was not related to the current topic or location. Thus, "stale" topics and locadtions are demoted over time.
- step 350 is shown in this embodiment as being performed in connection with a profile update, in other embodiments decay processing is performed independent of any particular update, for instance at a time when processing resources are more available (e.g., periodically during a time of day with low processing usage).
- step 360 low-scoring topics and locations are truncated, i.e., removed from the user's profile. This is helpful in reducing processing overhead. Note however that the rate of decay for a topic and the rate of decay for a location may differ significantly to reflect implementations in which either topics or locations are considered of greater importance, or to reflect observations about user behavior borne out during implementation. In some embodiments, no decay processing is performed. Processing for this method is then complete 370.
- multiple profiles are generated for a user to improve performance of system 100. For instance, monthly profiles are created in one embodiment to give of view of topics and locations that are most interesting to the user at a particular time of year. While water skiing and colder destinations may drop off the user's profile in autumn, they may become important again next May, and use of such multiple profiles for a particular user allows recurring interests to be captured. Likewise, separate profiles for various categories may be maintained for each user, to better keep track of topics of interest to the user. For example, a separate profile for a user regarding presidential elections that would otherwise be subject to decay processing 350 will be maintained over a several year period. The scored topics thus generated for each profile are then used to generate recommendations or score search results as described elsewhere herein.
- User profile data storage 110 includes information about an individual user to facilitate the operation of system 100.
- Stored information includes identifying information about the user. In some embodiments this is information provided by the user manually, while in other embodiments the user may request that such information is obtained automatically, e.g., from other facilities the user has joined or other subscriptions the user has.
- Profile data 110 maintains a scored or otherwise weighted list of topics that are of most interest to the user, generated as detailed below.
- Fig. 4 illustrates a functional view of recommendation generator 118 used as part of profile engine 112.
- Recommendation generator 118 is used by profile engine 112 to take information about a particular user and, from that information, determine what content to present to the user via news delivery module 114.
- Recommendation generator 118 includes various subsystems to facilitate its operation.
- recommendation generator 118 includes a profile fetcher 402, a selector module 404, a mixer 406, and a de-duplicator 408. Many of these subsystems interact with one another, as described below.
- Profile fetcher 402 provides a mechanism for identifying topics, locations, and news sources that appear to be of interest to the individual user. In one embodiment, these topics and locations have been stored in user profile database 110. In some instances, such topics can be manually identified by the user while in other instances they are generated automatically based on an observation of user behavior. In some embodiments, a user's current location is used as input to recommendation generator 118. The user's location may be reported explicitly by the user or the user's device, or derived from the user's IP address or other geolocating methods known in the art. Operation of profile fetcher 402 results in provision of a list of topics and locations with scores that show which are those most interesting to the user.
- recommendation generator 118 obtains corresponding content (e.g., indicia of articles or other items) stored in articles database 108. In one embodiment, for example, this is achieved via a request to indexer 118 of ingest module 102. In various embodiments, to reduce the number of returned articles that are not of interest to the user, ingest module 102 returns only that content that is indexed by geolocator 106 as located within a maximum distance of any location specified in the request. For example, the request to indexer 118 may include "travel,” “airlines,” and “United Airlines” as topics, and “Boston,” “San Francisco,” and “Auckland” as locations. Indexer 118 would then return content items matching those topics and located within a maximum distance of any of the listed locations. In various embodiments, a maximum distance can be specified in the request or may be configured either by the user or by the implementer.
- selector module 404 scores the content according to a function appropriate for the nature of the use.
- a pre-defined scoring function is used that includes factors such as: location, topic relevance, content quality, edition quality, popularity, and recency. For location, items that have been geographically tagged by geolocator 106 with locations that are geographically closer to a location of user device 130 (which as noted above may be provided automatically to system 100 by the device 130, determined based on IP address or other geolocating technology by system 100, or which may be explicitly provided by the user), receive a higher score.
- other algorithms are also used to pull content in from other sources. For example, a separate algorithm is used in some embodiments to get additional items from sources the user frequently reads/watches/listens to, or to get articles about topics or locations that the user has most recently shown interest in.
- server class computers are used to make multiple requests for content in parallel, and other known techniques are used so that the processing described herein is completed quickly and efficiently.
- Mixer 406 then combines results from operation of the selector module 404 to create a personalized edition of various items to be presented to the user via news delivery module 114.
- mixer 406 is expressly constrained to include a fixed number of sets of items, each of which is drawn from the items obtained by selector module 404.
- one personalized edition may be configured to include two articles from the user's location, two articles from sources that the user reads frequently, and two articles from topics that the user reads most frequently.
- mixer 406 only articles within the user's location(s) of interest are included.
- operation of the mixer as described above may generate articles for one set that are highly similar to articles of another set. Therefore, a de- duplicator module 408 analyzes the selected items to determine whether they are highly similar. In one embodiment, de-duplicator module 408 compares topics in each article identified as a candidate for a set with all other articles already selected by generating a similarity score. Those skilled in the art will recognize that machine learning algorithms such as cosine similarity can readily be applied to generate such a similarity score.
- a threshold of similarity score is applied to reject a proposed new article based on such similarity.
- de-duplicator module 408 is not applied until all sets have been populated. In this instance, if too much similarity is detected, than one of the items contributing to the over-threshold similarity score is rejected, mixer 406 chooses an alternate item, and de-duplication module 408 is iteratively operated until such time as no similarity threshold is exceeded.
- commendation generator 116 is configured to recommend news articles well suited for that purpose.
- profile engine 112 uses recommendation generator 118 to determine what content to present to the user via news delivery module 114.
- the request to indexer 118 of ingest module 102 includes the topics of interest to the user as well as the timeframe of interest, and may also include any locations of interest.
- a user may be interested in learning about the history of United Airlines over the past 50 years, and the request to indexer 118 may include "travel,” “airlines,” and “United Airlines” as topics, and a date range specifying the previous 50 years.
- the request may also specify "Boston,” "San
- selector module 404 uses a scoring function as described above and which also takes into account the popularity of each news item relative to its publication or distribution date. For example, selector module 404 may receive from indexer 118 several articles from 1988 describing an event that took place that year (e.g., the then-fastest flight around the world). Selector module 404 determines according to the popularity of each article which one (or which few, depending on the preference of the implementer) to select as representative of that event. Selector module 404 may for example determine that the most popular article— that is, the article having the highest read count— is scored highest and thus selected to represent the event in a timeline. Selector module 404 also applies in various embodiments the criteria described above in determining a score for each article.
- selector module 404 also increases the score for articles published by a news source 120 identified by profile engine 112 as being of regular interest to the user. This increases the likelihood that the timeline of stories presented to the user will include articles across the timeline from a set of sources enjoyed by the user. Providing the user with articles published by the same sources over a period of time may also enhance the user experience, allowing the user to view the evolution of a story from a particular perspective (such as the perspective of a particular newspaper or periodical).
- Mixer 406 combines results from operation of selector module 404 as described above to create a set of items to be presented to the user, and de-duplicator module 408 provides the described de-duplication functionality.
- news delivery module 114 includes a map engine 122, which enables a user to use a map interface to identify and consume news content based on location attributes of the content.
- map engine 122 which enables a user to use a map interface to identify and consume news content based on location attributes of the content.
- a user accessing news map engine 122 is able to indicate a desire to view news items via a map-based selection. This may be selectable, e.g., through a user interface element such as a button or a link on a news reading page, presented as an option within the news reading application, or the like.
- a map 600 is presented to the user device 130.
- a user interface (not shown) can be used by the user to specify 502 (Fig. 5) an area of interest for display.
- the map is centered at the user device's current location, if known.
- map 600 includes the city of Boston.
- Map engine 122 then identifies relevant stories to be displayed to the user.
- map engine 122 passes the location of interest to recommendation engine 116, which fetches 506 articles located in the displayed region, sending a search request to indexer 118 for articles that were previously identified by geolocator 106 as relevant for the location displayed by map engine 122 as described above.
- map engine 122 supplies latitude and longitude coordinates to recommendation engine 116, though any other suitable method for specifying location may be used.
- Recommendation engine 116 receives and scores 508 articles relevant for the topics and location of interest as described above, and provides indicia of matching articles and their locations to map engine 122.
- the scored articles represent the best articles to recommend for that particular user within that geographic region.
- Map engine 122 then displays 510 information about at least some of the highest- scoring articles to the user.
- Fig. 7 illustrates an example of a user interface in which indicia of articles are displayed in association with map 700.
- indicia of articles in the illustrated case, a photograph, headline, and news source
- a series of markers 704, 706, 708, 710, 712 are placed on map 700 to indicate a specific location associated with each of the displayed articles 702.
- map engine 122 uses the geolocation information associated with each article and renders a marker at the exact or approximate location on map 700.
- the exact placement of a marker on map 700 may indicate an exact or only an approximate location for each article.
- map resolutions for example when a map is scaled out so as to show an entire state, province or country, a different marker may be rendered to indicate that a cluster of news articles share the marked location.
- map engine 122 updates the display to indicate the particular article 804 associated with the marked location. For example, depending on the hardware characteristics of user device 130, a user may mouseover a marker 802, tap the marker 802, or otherwise provide input that identifies the marker. In response, in one embodiment map engine 122 removes the news items 702 that are not associated with the indicated location, leaving only the relevant article(s) 804. Map engine 122 may scroll the display to remove the non-indicated articles, or simply delete them from the displayed user interface. In the example of Fig. 8, the non-indicated articles have been scrolled vertically off the top and bottom of the screen, leaving portions 806, 808 of some of the non-selected articles showing as a visual cue to the user that other articles exist.
- a user can select one of the displayed articles 702, and map engine 122 updates the displayed map 800 to emphasize the marker 802 associated with the location of the selected story.
- Markers can be emphasized in a number of ways such as highlighting the markers, enlarging their size relative to other markers (as illustrated in Fig. 8), or by flashing the marker, changing its color, or providing another visual cue, or any combination of the above.
- map engine 122 updates the displayed map 900 to display the selected story 904 and highlight the marker 902 having an associated location.
- device 130 displays the actual article. For example, in one embodiment, by double tapping or double clicking on the text in the article indicia 904, user device 130 is instructed to launch a web browser window and to display the article at a location specified by news delivery module 114. The location may be specified, for example, by a link provided with the article indicia to user device 130, or user device 130 may pass a request to system 100 for the location in response to the user selecting the article indicia. In any event, the user is then directed to the article and is able to read, listen to, or watch the requested information.
- map engine 122 takes 512 the new coordinates, re-centers 514 the displayed map at the new coordinates, and displays 504 the updated map. Map engine 122 then obtains articles relevant to the new location, scores them according to the user's interests, and displays indicia of the top scoring articles on the new map in a process as described above.
- news delivery module 114 includes timeline engine 124, which enables a user to specify via a user interface a timeframe across which the user would like to view news content.
- timeline engine 124 functions either as a separate feature in one embodiment, or in conjunction with in another embodiment, map engine 122.
- a user interface 1000 illustrates a way in which a user can specify a topic of interest and a timeframe of reference in accordance with one embodiment.
- Interface 1000 includes a text box 1002 in which the user can specify a topic to be searched.
- Control elements 1004 enable the user to specify a timeframe of interest.
- the user can select from the current year, previous 5 years, previous 10 years, or provide custom dates.
- interface 1000 provides a visual timeline 1006 that previews results based on input provided in text box 1002, and which allows the user to define the requested timeline by editing the displayed timeline using interface control elements.
- many other user interface controls can be offered to enable selection of a timeframe by a user.
- the user in addition to providing a timeframe of relevance for the topic, can also specify a geographic area of relevance, as described above.
- Fig. 11 illustrates a method for providing articles of interest to user based on location and within a specified timeframe.
- Map engine 122 in one embodiment displays 1104 a map relevant to the specified location.
- Map engine 122 and timeline engine 124 identify relevant stories to be displayed to the user.
- Recommendation engine 116 uses the location provided by map engine 122 and timeframe provided by timeline engine 124 to fetch 1106 articles located in the relevant geographic area and published within the specified timeframe, sending a search request to indexer 118 for articles of relevance.
- Recommendation engine 116 receives and scores 1108 articles relevant for the topics, location and timeframe of interest as described above, and provides indicia of matching articles, locations and times to map engine 122 and timeline engine 124.
- the scored articles represent the best articles to recommend for that particular user about the specified topic, selected from the specified timeframe and relevant to the specified geographic region.
- Map engine 122 and timeline engine 124 then display 1110 information about at least some of the highest-scoring articles to the user.
- geographic matches are indicated on maps using markers as described above with respect to Figs. 6-9.
- timeline engine 124 displays a visual timeline, placing markers at points along the timeline that correspond to each of the recommended stories.
- indicia of the associated story is emphasized, for example by making a thumbnail associated with the story larger, removing information about other stories from the display, or the like.
- temporal associations with stories may be displayed either separate from or in a same user interface as a geographic association (such as described above with respect to Figs. 7-9), in embodiments in which a geographic limitation was included with the temporal limitation by the user.
- the user may adjust the timeline included in the user interface, having, for example an appearance such as timeline 1006 (Fig. 10), or may otherwise indicate 1112 a revised timeframe of interest.
- Timeline engine 124 in response adjusts 1114 the displayed timeline and updates the request via recommendation generator 116 as described above, illustrating the revised stories and the new timeline with
- the users may be provided with an opportunity to control whether programs or features collect user information (e.g., information about a user's social network, social actions or activities, profession, a user's preferences, or a user's current location), or to control whether and/or how to receive content from the content server that may be more relevant to the user.
- user information e.g., information about a user's social network, social actions or activities, profession, a user's preferences, or a user's current location
- certain data may be treated in one or more ways before it is stored or used, so that personally identifiable information is removed.
- a user's identity may be treated so that no personally identifiable information can be determined for the user, or a user's geographic location may be generalized where location information is obtained (such as to a city, ZIP code, or state level), so that a particular location of a user cannot be determined.
- location information such as to a city, ZIP code, or state level
- the user may have control over how information is collected about the user and used by a content server.
- System 100 is implemented by a network of server class computers that can in some embodiments include one or more high-performance CPUs and one gigabyte or more of main memory, as well as storage ranging from hundreds of gigabytes to petabytes.
- An operating system such as LINUX is typically used.
- the operations of system 100 and its constituent components as described herein can be controlled through either hardware (e.g., dedicated computing devices or daughter-boards in general purpose computers), or through computer programs installed in computer storage on the servers of the system 100 and executed by the processors of such servers to perform the functions described herein. More detail regarding implementation of such machines is provided in connection with Fig. 12.
- One of skill in the art of system engineering and, for example, media content hosting or content delivery will readily determine from the functional and algorithmic descriptions herein the construction and operation of such computer programs and hardware systems.
- Articles database 108 and profile database 110 can be implemented as any device or combination of devices capable of storing data in computer readable storage media, such as a hard disk drive, RAM, a writable compact disk (CD) or DVD, a solid-state memory device, or other optical/magnetic storage mediums.
- computer readable storage media such as a hard disk drive, RAM, a writable compact disk (CD) or DVD, a solid-state memory device, or other optical/magnetic storage mediums.
- Other types of computer-readable storage mediums can be used, and it is expected that as new storage mediums are developed in the future, they can be configured in accordance with the descriptions set forth above.
- module refers to computational logic for providing the specified functionality.
- a module can be implemented in hardware, firmware, and/or software. Where the modules described herein are implemented as software, the module can be implemented as a standalone program, but can also be implemented through other means, for example as part of a larger program, as a plurality of separate programs, or as one or more statically or dynamically linked libraries. It will be understood that the named modules described herein represent one embodiment of the present invention, and other embodiments may include other modules. In addition, other embodiments may lack modules described herein and/or distribute the described functionality among the modules in a different manner. Additionally, the functionalities attributed to more than one module can be incorporated into a single module.
- modules as implemented by software, they are stored on a computer readable persistent storage device (e.g., hard disk), loaded into the memory, and executed by one or more processors included as part of the system 100.
- a computer readable persistent storage device e.g., hard disk
- hardware or software modules may be stored elsewhere within system 100.
- System 100 includes hardware elements necessary for the operations described here, including one or more processors, high speed memory, hard disk storage and backup, network interfaces and protocols, input devices for data entry, and output devices for display, printing, or other presentations of data.
- Fig. 12 provides further details regarding such components.
- Fig. 12 is a block diagram illustrating components of an example machine able to read instructions from a machine-readable medium and execute those instructions in a processor.
- Fig. 12 shows a diagrammatic representation of a machine in the example form of a computer system 1200 within which instructions 1224 (e.g., software) for causing the machine to perform any one or more of the methodologies discussed herein may be executed.
- the machine operates as a standalone device or may be connected (e.g., networked) to other machines.
- the machine may operate in the capacity of a server machine or a client machine in a server- client network environment, or as a peer machine in a peer-to-peer (or distributed) network environment.
- the machine may be a server computer, a client computer, a personal computer (PC), a tablet PC, a set-top box (STB), a personal digital assistant (PDA), a cellular telephone, a smartphone, a web appliance, a network router, switch or bridge, or any machine capable of executing instructions 1224 (sequential or otherwise) that specify actions to be taken by that machine.
- PC personal computer
- PDA personal digital assistant
- STB set-top box
- a cellular telephone a smartphone
- smartphone a web appliance
- network router switch or bridge
- the example computer system 1200 includes a processor 1202 (e.g., a central processing unit (CPU), a graphics processing unit (GPU), a digital signal processor (DSP), one or more application specific integrated circuits (ASICs), one or more radio-frequency integrated circuits (RFICs), or any combination of these), a main memory 1204, and a static memory 1206, which are configured to communicate with each other via a bus 1208.
- the computer system 1200 may further include graphics display unit 1210 (e.g., a plasma display panel (PDP), a liquid crystal display (LCD), a projector, or a cathode ray tube (CRT)).
- graphics display unit 1210 e.g., a plasma display panel (PDP), a liquid crystal display (LCD), a projector, or a cathode ray tube (CRT)
- the computer system 1200 may also include alphanumeric input device 1212 (e.g., a keyboard), a cursor control device 1214 (e.g., a mouse, a trackball, a joystick, a motion sensor, or other pointing instrument), a data store 1216, a signal generation device 1218 (e.g., a speaker), an audio input device 1226 (e.g., a microphone) and a network interface device 1220, which also are configured to communicate via the bus 1208.
- alphanumeric input device 1212 e.g., a keyboard
- a cursor control device 1214 e.g., a mouse, a trackball, a joystick, a motion sensor, or other pointing instrument
- a data store 1216 e.g., a data store 1216
- a signal generation device 1218 e.g., a speaker
- an audio input device 1226 e.g., a microphone
- network interface device 1220 which also are configured to communicate via the
- the data store 1216 includes a machine-readable medium 1222 on which is stored instructions 1224 (e.g., software) embodying any one or more of the methodologies or functions described herein.
- the instructions 1224 (e.g., software) may also reside, completely or at least partially, within the main memory 1204 or within the processor 1202 (e.g., within a processor's cache memory) during execution thereof by the computer system 1200, the main memory 1204 and the processor 1202 also constituting machine-readable media.
- the instructions 1224 (e.g., software) may be transmitted or received over a network (not shown) via network interface 1220.
- machine-readable medium 1222 is shown in an example embodiment to be a single medium, the term “machine-readable medium” should be taken to include a single medium or multiple media (e.g., a centralized or distributed database, or associated caches and servers) able to store instructions (e.g., instructions 1224).
- the term “machine-readable medium” shall also be taken to include any medium that is capable of storing instructions (e.g., instructions 1224) for execution by the machine and that cause the machine to perform any one or more of the methodologies disclosed herein.
- the term “machine-readable medium” includes, but not be limited to, data repositories in the form of solid-state memories, optical media, and magnetic media.
- any reference to “one embodiment” or “an embodiment” means that a particular element, feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment.
- the appearances of the phrase “in one embodiment” in various places in the specification are not necessarily all referring to the same embodiment.
- the terms “comprises,” “comprising,” “includes,” “including,” “has,” “having” or any other variation thereof are intended to cover a non-exclusive inclusion.
- a process, method, article, or apparatus that comprises a list of elements is not necessarily limited to only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus.
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Strategic Management (AREA)
- Human Resources & Organizations (AREA)
- Tourism & Hospitality (AREA)
- Entrepreneurship & Innovation (AREA)
- Marketing (AREA)
- Economics (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Development Economics (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- General Health & Medical Sciences (AREA)
- Primary Health Care (AREA)
- Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Game Theory and Decision Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
- User Interface Of Digital Computer (AREA)
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201480070430.9A CN105849765A (zh) | 2013-12-31 | 2014-12-31 | 生成新闻时间线和推荐的新闻版本 |
EP14876672.8A EP3090403A4 (en) | 2013-12-31 | 2014-12-31 | Generating a news timeline and recommended news editions |
JP2016543079A JP6594317B2 (ja) | 2013-12-31 | 2014-12-31 | ニュースタイムラインおよび薦められるニュースエディションの生成 |
KR1020167021015A KR102117143B1 (ko) | 2013-12-31 | 2014-12-31 | 뉴스 타임라인 및 추천된 뉴스 에디션들의 발생 |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/144,551 | 2013-12-31 | ||
US14/144,551 US9569547B2 (en) | 2013-12-31 | 2013-12-31 | Generating a news timeline |
US14/144,549 | 2013-12-31 | ||
US14/144,549 US9489112B2 (en) | 2013-12-31 | 2013-12-31 | Recommended news edition on a map using geo entities |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2015101945A1 true WO2015101945A1 (en) | 2015-07-09 |
Family
ID=53493352
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/IB2014/067452 WO2015101945A1 (en) | 2013-12-31 | 2014-12-31 | Generating a news timeline and recommended news editions |
Country Status (5)
Country | Link |
---|---|
EP (1) | EP3090403A4 (enrdf_load_stackoverflow) |
JP (1) | JP6594317B2 (enrdf_load_stackoverflow) |
KR (1) | KR102117143B1 (enrdf_load_stackoverflow) |
CN (1) | CN105849765A (enrdf_load_stackoverflow) |
WO (1) | WO2015101945A1 (enrdf_load_stackoverflow) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018523867A (ja) * | 2015-10-08 | 2018-08-23 | グーグル エルエルシー | コンテンツストリームへのコンテンツのミキシング |
CN112100408A (zh) * | 2020-08-24 | 2020-12-18 | 北京完美知识科技有限公司 | 历史实体数据的展示方法、装置及设备 |
WO2023095088A1 (en) * | 2021-11-29 | 2023-06-01 | Jio Platforms Limited | System and methods for retrieving and generating recommendations of multi-modal documents |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106354837A (zh) * | 2016-08-31 | 2017-01-25 | 上海交通大学 | 一种新闻可视化的方法 |
KR101907865B1 (ko) | 2016-11-03 | 2018-10-16 | 세종대학교산학협력단 | 뉴스 추천 서버 및 이를 이용한 뉴스 추천 방법 |
CN110019837B (zh) * | 2017-12-22 | 2021-07-16 | 百度在线网络技术(北京)有限公司 | 用户画像的生成方法及装置、计算机设备及可读介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020070967A1 (en) * | 2000-12-08 | 2002-06-13 | Tanner Timothy T. | Method and apparatus for map display of news stories |
US20050165743A1 (en) * | 2003-12-31 | 2005-07-28 | Krishna Bharat | Systems and methods for personalizing aggregated news content |
WO2007004844A1 (en) | 2005-07-06 | 2007-01-11 | Yoon-Hyoung Eo | A news supplying system with a global timepiece |
US20100185663A1 (en) * | 2008-08-13 | 2010-07-22 | Alibaba Group Holding Limited | Providing Regional Content by Matching Geographical Properties |
US8370348B1 (en) | 2011-12-06 | 2013-02-05 | Google Inc. | Magazine edition recommendations |
US20130144869A1 (en) | 2011-12-06 | 2013-06-06 | Google Inc. | Trending |
US20130167034A1 (en) * | 2009-07-22 | 2013-06-27 | Microsoft Corporation | Aggregated, interactive communication timeline |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005176033A (ja) * | 2003-12-12 | 2005-06-30 | Canon Inc | 映像受信再生装置を動作させるプログラムおよび当該プログラムを記録したコンピュータ可読である記憶媒体および、映像受信再生装置および方法 |
US20080082578A1 (en) * | 2006-09-29 | 2008-04-03 | Andrew Hogue | Displaying search results on a one or two dimensional graph |
US9244968B2 (en) * | 2007-08-14 | 2016-01-26 | John Nicholas and Kristin Gross Trust | Temporal document verifier and method |
JP4538038B2 (ja) * | 2007-10-11 | 2010-09-08 | 日本電信電話株式会社 | 情報配信装置、情報配信方法、および情報配信プログラム |
JP5361272B2 (ja) * | 2008-07-28 | 2013-12-04 | 株式会社Jq | 情報管理サーバ、情報管理方法、情報管理システムおよびプログラム |
EP2557511B1 (en) * | 2010-05-28 | 2019-05-01 | Rakuten, Inc. | Information processing device, information processing method, information processing programme, and recording medium |
KR20120104648A (ko) * | 2010-10-26 | 2012-09-24 | 주식회사 케이티 | 개인 맞춤형 컨텐츠 추천 장치 및 그 방법과 그를 이용한 시스템 및 그 방법 |
-
2014
- 2014-12-31 KR KR1020167021015A patent/KR102117143B1/ko active Active
- 2014-12-31 JP JP2016543079A patent/JP6594317B2/ja active Active
- 2014-12-31 WO PCT/IB2014/067452 patent/WO2015101945A1/en active Application Filing
- 2014-12-31 EP EP14876672.8A patent/EP3090403A4/en not_active Ceased
- 2014-12-31 CN CN201480070430.9A patent/CN105849765A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020070967A1 (en) * | 2000-12-08 | 2002-06-13 | Tanner Timothy T. | Method and apparatus for map display of news stories |
US20050165743A1 (en) * | 2003-12-31 | 2005-07-28 | Krishna Bharat | Systems and methods for personalizing aggregated news content |
WO2007004844A1 (en) | 2005-07-06 | 2007-01-11 | Yoon-Hyoung Eo | A news supplying system with a global timepiece |
US20090265309A1 (en) * | 2005-07-06 | 2009-10-22 | Eo Yoon-Hyoung | News Supplying System With a Global Timepiece and the Method Thereof |
US20100185663A1 (en) * | 2008-08-13 | 2010-07-22 | Alibaba Group Holding Limited | Providing Regional Content by Matching Geographical Properties |
US20130167034A1 (en) * | 2009-07-22 | 2013-06-27 | Microsoft Corporation | Aggregated, interactive communication timeline |
US8370348B1 (en) | 2011-12-06 | 2013-02-05 | Google Inc. | Magazine edition recommendations |
US20130144869A1 (en) | 2011-12-06 | 2013-06-06 | Google Inc. | Trending |
Non-Patent Citations (1)
Title |
---|
See also references of EP3090403A4 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018523867A (ja) * | 2015-10-08 | 2018-08-23 | グーグル エルエルシー | コンテンツストリームへのコンテンツのミキシング |
US10129309B2 (en) | 2015-10-08 | 2018-11-13 | Google Llc | Mixing content into a content stream |
CN112100408A (zh) * | 2020-08-24 | 2020-12-18 | 北京完美知识科技有限公司 | 历史实体数据的展示方法、装置及设备 |
CN112100408B (zh) * | 2020-08-24 | 2022-05-31 | 北京完美知识科技有限公司 | 历史实体数据的展示方法、装置及设备 |
WO2023095088A1 (en) * | 2021-11-29 | 2023-06-01 | Jio Platforms Limited | System and methods for retrieving and generating recommendations of multi-modal documents |
EP4441627A4 (en) * | 2021-11-29 | 2025-07-30 | Jio Platforms Ltd | System and methods for retrieving and generating recommendations of multi-modal documents |
Also Published As
Publication number | Publication date |
---|---|
EP3090403A1 (en) | 2016-11-09 |
KR20160104067A (ko) | 2016-09-02 |
JP2017501501A (ja) | 2017-01-12 |
KR102117143B1 (ko) | 2020-05-29 |
CN105849765A (zh) | 2016-08-10 |
EP3090403A4 (en) | 2017-07-05 |
JP6594317B2 (ja) | 2019-10-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9569547B2 (en) | Generating a news timeline | |
US9489112B2 (en) | Recommended news edition on a map using geo entities | |
US20210326015A1 (en) | Interactive answer boxes for user search queries | |
US10261669B2 (en) | Publishing electronic documents utilizing navigation information | |
EP3529714B1 (en) | Animated snippets for search results | |
US11706318B2 (en) | Structured entity information page | |
CN105229721B (zh) | 用于呈现内容的方法及装置 | |
US10318142B2 (en) | Navigating event information | |
US10592565B2 (en) | Method and apparatus for providing recommended information | |
US20130232148A1 (en) | Content mapping | |
KR102117143B1 (ko) | 뉴스 타임라인 및 추천된 뉴스 에디션들의 발생 | |
US9946768B2 (en) | Data rendering optimization | |
US20150186491A1 (en) | Personalized electronic magazine | |
TW201541266A (zh) | 呈現搜索結果的方法和裝置 | |
US10091326B2 (en) | Modifying content regions of a digital magazine based on user interaction | |
US10825069B2 (en) | System and method for intuitive content browsing | |
US11003830B2 (en) | Providing location-based font recommendations | |
US20170109451A1 (en) | In-view and out-of-view request-related result regions for respective result categories | |
US9135313B2 (en) | Providing a search display environment on an online resource | |
CN111095183A (zh) | 用户界面中的语义维度 | |
WO2017123746A1 (en) | System and method for intuitive content browsing |
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: 14876672 Country of ref document: EP Kind code of ref document: A1 |
|
REEP | Request for entry into the european phase |
Ref document number: 2014876672 Country of ref document: EP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2014876672 Country of ref document: EP |
|
ENP | Entry into the national phase |
Ref document number: 2016543079 Country of ref document: JP Kind code of ref document: A |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
ENP | Entry into the national phase |
Ref document number: 20167021015 Country of ref document: KR Kind code of ref document: A |