System and method for generating stories for live events using extensible pipelines
Patent Information
- Application Number
- CN202310904573.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2022-07-21
- Filing Date
- 2023-07-21
- Publication Date
- 2026-09-15
- Estimated Expiration
- 2043-07-21
AI Technical Summary
此外,内容策展的现有方法是昂贵的,通常仅考虑一小部分可用内容,并且鉴于每天生成的新信息量不断增加而很快变得过时
Smart Images

Figure CN117112888B_ABST
Abstract
Description
Technical Field
[0001] This disclosure generally relates to computer systems. More specifically, this disclosure relates to automatically generating immersive interfaces for distributed computing devices via computer networks and Internet services. Background Technology
[0002] More than 250 quadrillion bytes of data are generated globally every day. Technology providers store tens of quadrillion bytes of content that users can access via internet search engines and other tools. Furthermore, users perform more than 5 billion searches globally every day to query and access content in various formats. This information is mostly in the form of long text, with little or no accompanying visual or audio content.
[0003] Content curation typically refers to the collection, selection, organization, and presentation of information related to a specific topic in an interesting and meaningful way. Content curation is a time-consuming process requiring specific skills and specialized software. Furthermore, existing methods of content curation are expensive, often consider only a small fraction of available content, and quickly become outdated given the ever-increasing volume of new information generated daily. In addition, most content is not available in different formats, languages, and interfaces that could benefit a diverse range of users worldwide. Summary of the Invention
[0004] Aspects and advantages of embodiments of this disclosure will be set forth in part in the description which follows, or may be learned from the description or by practice of the embodiments.
[0005] One example aspect relates to a method implemented on a computer. The method includes accessing media data associated with a live event by one or more computing systems including one or more processors. The method also includes customizing the media data for one or more user groups by the one or more computing systems. The method further includes selecting one or more page templates from a plurality of page templates by the computing system, at least in part, based on the customized media data. The method also includes generating one or more content pages by the computing system based on the customized media data and the one or more page templates. The method further includes providing the one or more content pages to one or more user computing devices by the computing system.
[0006] Another example aspect of this disclosure relates to a computing system. The computing system includes: one or more processors; and a computer-readable storage device. The computer-readable storage device stores instructions that, when executed by the one or more processors, cause a device to perform operations including: accessing media data associated with a live event. The operations also include customizing the media data for one or more user groups. The operations further include selecting one or more page templates from a plurality of page templates, at least in part, based on the customized media data. The operations also include generating one or more content pages based on the customized media data and the one or more page templates. The operations further include providing one or more content pages to one or more user computing devices.
[0007] Another example aspect of this disclosure relates to a computer-readable medium storing instructions. When executed by one or more computing systems, the instructions cause the one or more computing systems to cause a device to perform operations including: accessing media data associated with a live event. The operations also include customizing the media data for one or more user groups. The operations further include selecting one or more page templates from a plurality of page templates, at least in part, based on the custom media data. The operations also include generating one or more content pages based on the custom media data and the one or more page templates. The operations further include providing one or more content pages to one or more user computing devices.
[0008] Other aspects of this disclosure relate to various systems, apparatuses, non-transitory computer-readable media, user interfaces, and electronic devices.
[0009] These and other features, aspects, and advantages of the various embodiments of this disclosure will be better understood by referring to the following description and the appended claims. The accompanying drawings, which are incorporated in and form a part of this specification, illustrate exemplary embodiments of the disclosure and, together with the description, serve to explain the relevant principles. Attached Figure Description
[0010] A detailed discussion of embodiments for those skilled in the art is set forth in the description with reference to the accompanying drawings, in which:
[0011] Figure 1 An example computing system 100 according to an example embodiment of the present disclosure is depicted;
[0012] Figure 2 An example client-server computing environment according to an example embodiment of the present disclosure is shown;
[0013] Figure 3 An example page generation system according to an example embodiment of the present disclosure is shown;
[0014] Figure 4An example content server according to an example embodiment of this disclosure is shown;
[0015] Figure 5 An example flowchart according to an example embodiment of the present disclosure is shown;
[0016] Figure 6 An example flowchart according to an example embodiment of the present disclosure is shown;
[0017] Figure 7 An example flowchart according to an example embodiment of the present disclosure is shown;
[0018] Figure 8 An example user interface according to an example embodiment of this disclosure is shown; and
[0019] Figure 9 An example flowchart according to an example embodiment of the present disclosure is shown. Detailed Implementation
[0020] Reference will now be made in detail to embodiments of the present disclosure, one or more examples of which are illustrated in the accompanying drawings. Each example is provided by way of explanation and not limitation of the present disclosure. In fact, it will be apparent to those skilled in the art that various modifications and variations may be made to the present disclosure without departing from the scope or spirit thereof. For example, features shown or described as part of one embodiment may be used with another embodiment to produce yet another embodiment. Therefore, the present disclosure is intended to cover such modifications and variations that fall within the scope of the appended claims and their equivalents.
[0021] In general, this disclosure relates to a scalable pipeline for automatically generating content associated with live events. Specifically, the techniques described in this disclosure enable the scalable automatic generation of multimedia stories of live events for a large number of users in real time. To do this, the content generation system can automatically request media data (e.g., one or more media assets) associated with a specific live event (e.g., a sporting event, a political election, etc.). The content generation system can receive the media data and select one or more page templates from a plurality of possible page templates, at least in part based on the received media data. The content generation system can automatically customize the media data for one or more user groups (e.g., users grouped by country of residence, user interest data, user language, etc.). The content generation system can use the selected one or more page templates and the customized media data to generate one or more content pages associated with the live event. The content generation system can provide access to one or more content pages to one or more user devices via a computer network.
[0022] For example, a content generation system can provide users with content related to live sports events. To do this at scale, the content generation system can periodically request data associated with the live event from the provided media data. The media data provider can provide media data associated with the live event (e.g., one or more media assets or one or more pieces of media content), including but not limited to images, text, video, and audio. In response to this request, the content generation system can receive media data from the media provider. Based on the type and volume of the received media data, the content generation system can select one or more page templates. For example, the media data may include one or more images of highlights from the live sports event and text describing those images. The content generation system can customize the media data by translating the text into multiple languages. The content generation system can use the customized media data and the selected page templates to generate multiple content pages. The generated pages can be stored on a web server for later delivery to the user's device upon request.
[0023] More specifically, a content generation system can be executed by a server computing system that provides information about live events as a service to user computing devices. Given a large number of users who may wish to access data about a particular live event at any given time, the content generation system can generate content (e.g., pages of content) that provides information about one or more aspects of the live event on a large scale and in real-time (or pseudo-real-time).
[0024] In response to determining that content is needed for a specific live event, the content generation system can access the media data associated with the live event. In some examples, the media data associated with a live event may include images, text, video, and any other media types.
[0025] In some examples, the content generation system can periodically generate queries to third-party services as a live event is taking place. For instance, if the Olympics are in progress, the content generation system could generate a query every five minutes to a media server that provides media data about the Olympics. Such queries can be generated automatically as a live event is in progress. The query can include the specific live event for which the content generation system is generating content, and can specify the amount and type of media assets the content generation system is requesting.
[0026] In some examples, a content generation system can generate queries in response to determining that a newsworthy live event is currently occurring. For instance, the content generation system can monitor public social media feeds, public news sources, and other data. Based on the monitored data, the content generation system can determine that a newsworthy live event is currently occurring. Based on this determination, the configuration system can initiate queries to the media server based on the live event.
[0027] The content generation system can receive media data from a remote third-party media content server. Based on the received media data, the content generation system can select one or more templates to generate content pages. For example, the content generation system can store multiple templates for generating content pages. Each template can describe the layout of one or more sub-sections, and each sub-section can describe the type, size, and specific location of the media assets to be displayed. Furthermore, the template can describe which assets are in the foreground and which are in the background. Some parts of the template can be partially transparent or completely transparent.
[0028] Each template can be associated with a specific type of content, a specific live event, or a specific category of users. Therefore, a template can be selected based on available media data, the type of live event, the expected user group, or several other factors. For example, if the received media data includes two images and captions for the images, a first-page template could be selected. If the media data includes video without text, a second-page template could be used. Similarly, a particular template could be associated with presenting scores related to a baseball game (e.g., listing scores by inning), while another template could be used to present scores related to an Olympic race (listing race times associated with multiple runners).
[0029] In some examples, media content can be customized for one or more user groups. A concrete example of this customization could be translating written content into multiple different languages. In this way, content can be generated for different language groups by automatically translating any text within the media data for a specific language group. Therefore, content pages can be automatically generated on a large scale for a large number of different user groups. In some examples, translating text between languages may result in different templates being used for different languages. For example, if the number of lines of text in the explanatory text changes between languages, the content generation system can select a more appropriate template for different languages.
[0030] Once one or more templates are selected and the media content is customized, the content generation system can automatically generate one or more content pages. Each content page can include one or more pieces of media content and one or more lines of text (e.g., descriptive text for images, videos, or audio). In some examples, multiple content pages can be combined into a multi-page content story. In this way, a particular live event can have multiple content pages associated with it, arranged in a specific order.
[0031] In some examples, the page template includes portions associated with images having certain characteristics (height, width, resolution, aspect ratio, etc.). In some examples, the images included in the received media data may have characteristics that do not strictly match those associated with a specific portion of the template. To successfully generate a content page based on the template, the content generation system may crop one or more images to match the size and / or aspect ratio indicated by the target page template.
[0032] To do this, the content generation system can select one or more candidate images from the media data. Each candidate image can be cropped based on characteristics associated with the target content data. For example, if an image is too long or too wide, the process removes a portion of the image. In other examples, multiple portions of the image can be removed to match a specific aspect ratio.
[0033] In some examples, the content generation system can access metadata associated with each image. In some examples, the metadata can identify specific content in one or more parts of an image. For example, if an image contains people, the metadata can define the people's location, their identity in the image, the activity they are participating in, and so on. Similarly, if an image includes text, the metadata can determine where the text is located and what it says. The content generation system can filter images to remove any images where cropping has resulted in the removal of important parts of the image. For example, if a portion of text has been removed from an image, making it less readable, that image can be removed from the candidate image list. Similarly, if important people or events in an image are partially blurred due to cropping, that image can be removed from the candidate image list.
[0034] The content generation system can use a machine learning model to generate an aesthetic score for each of the remaining candidate images. The candidate image with the highest aesthetic score can be selected for insertion into a portion of the target page template. In some examples, thumbnail images can be generated in this way. A specific page can display multiple thumbnails of different live events or content pages. Users can select a specific thumbnail to view the associated story, page, or live event.
[0035] In some examples, the content generation system can use media content to update existing content pages. In this example, the content generation system can receive media data associated with an existing content page (e.g., an ongoing sports event). In response to receiving additional content, the content generation system can either generate additional content pages for an existing multi-page story or remove content from an existing content page and replace it with updated content.
[0036] In some examples, the content generation system may receive feedback from users indicating that one or more content pages contain incorrect information or content that does not match other media on the page. For example, if an image associated with a particular page does not match the descriptive text displayed using that page, the user can report this information to the content generation system. In response, the content generation system may remove one or more content pages from the content server, making them unavailable to users in the future.
[0037] In some examples, the content generation system can generate a content score for each content page (or multi-page story). In some examples, the content score can be based on the relative importance of associated live events, the recentity of the live events, estimated user interest in a particular content page, etc. In some examples, a target user group can be used to determine the content score for a specific content page. In this way, multiple content pages associated with one or more live events can be ranked so that they are displayed to that user in order of estimated importance. In some examples, location associated with a specific user group can influence the ranking of a content page. For example, a sports result associated with a team closer to a specific user group may rank higher than a sports result associated with a team farther away from that specific user group. In this way, the content score for a specific content page can vary based on the intended user group. User groups can be determined based on location, nationality, language, user interests, etc.
[0038] In some examples, once the content generation system has generated multiple content pages and / or multiple multi-page stories, it can store the generated content in a cache. This cache can then be used to serve content to users requesting information about a specific live event. In this way, whenever a user requests content about a live event, the content generation system can retrieve the appropriate content page and / or multi-page story from the cache without having to start the page generation process again.
[0039] The systems, methods, and computer program products described herein offer numerous technical effects and benefits. As an example, embodiments described in this disclosure automatically request media data, customize media data, and include it in content pages to more efficiently and with less computational resources (e.g., less processing power, less memory usage, less power consumption, etc.) present live sports events to users in real time, resources that would otherwise be wasted using manual investigation, creation, editing, and discovery processes.
[0040] Exemplary embodiments of this disclosure will now be discussed in more detail with reference to the accompanying drawings.
[0041] Figure 1An example computing system 100 according to an exemplary embodiment of the present disclosure is depicted. In some example embodiments, the computing system 100 may be any suitable device, including but not limited to a smartphone, tablet, laptop, desktop computer, server computing system, or any other computing device configured to generate or present content pages to a user. The computing system 100 may include one or more processors 102, memory 104, one or more sensors 110, a page generation system 112, a page update system 120, a story generation system 122, a caching system 124, a ranking system 130, a template data storage 234, and a content cache 150.
[0042] One or more processors 102 may be any suitable processing device, such as a microprocessor, microcontroller, integrated circuit, or other suitable processing device. Memory 104 may include any suitable computing system or medium, including but not limited to non-transitory computer-readable media, RAM, ROM, hard disk drives, flash drives, or other memory devices. Memory 104 may store information accessible by one or more processors 102, including instructions 108 executable by one or more processors 102. Instructions may be any set of instructions that, when executed by one or more processors 102, cause one or more processors 102 to provide the desired functionality.
[0043] Specifically, in some devices, memory 104 may store instructions for implementing page generation system 112, page update system 120, story generation system 122, caching system 124, and ranking system 130. Computing system 100 may implement page generation system 112, page update system 120, story generation system 122, caching system 124, and ranking system 130 to perform aspects of this disclosure, including accessing media data of live events, selecting page and story templates for live events, customizing media data, generating content pages and / or stories for live events, and providing the generated content pages to users.
[0044] It will be understood that the terms "system" or "engine" can refer to specialized hardware, computer logic executing on a more general-purpose processor, or some combination thereof. Therefore, a system or engine can be implemented in hardware, dedicated circuitry, firmware, and / or software that controls a general-purpose processor. In one embodiment, a system can be implemented as a file of program code stored on a storage device, loaded into memory, and executed by a processor, or it can be provided by a computer program product, such as computer-executable instructions, stored in a tangible computer-readable storage medium (such as RAM, a hard disk, or optical or magnetic media).
[0045] The memory 104 may also include data 106, such as data associated with the page generation system 112 (e.g., data describing when media data is requested, what media data is requested, and how the content page is generated based on a template), which may be retrieved, manipulated, created, or stored by one or more processors 102. In some example embodiments, this data may be accessed and used to perform specific functions associated with the computing system 100.
[0046] In some example embodiments, the computing system 100 includes a page generation system 112, a page update system 120, a story generation system 122, a caching system 124, and a ranking system 130. The page generation system 112 may include a data request system 114, a template selection system 116, and a customization system 118. In some examples, the page generation system 112 may also access data provided by the template data storage 234 and provide the generated pages / stories to the caching system 124.
[0047] In some examples, the page generation system 112 may use the data request system 114 to periodically request data from a media data provider. In some examples, the media data provider may be a remote third-party server that provides media data, including images, videos, audio, and text associated with a live event. For example, when a live sports event is in progress, one or more media organizations may capture images, videos, audio, and text about the event and make these media assets available to requests on a media data server. In some examples, the media assets may be ranked in order of importance. In some examples, the ranking of importance may be received from a third-party media data provider. The data request system 114 may request data by automatically generating queries based on a periodic schedule. For example, if a sports event is currently taking place, the data request system 114 may send a query to the data provider every five minutes. In some examples, the periodic schedule used to automatically generate queries may be based on the type of event for which data is being requested.
[0048] In some examples, the data request system 114 may monitor one or more information sources to automatically determine when newsworthy events are currently underway. For instance, the data request system 114 may monitor social media feeds to identify currently occurring live events for which content pages should be generated. If, based on social media data, the data request system 114 determines that a particular live event exceeds a threshold importance level, the data request system 114 may generate a query to be sent to a media provider (e.g., a media provider associated with computing system 100 or a third-party media provider).
[0049] In some examples, a query may include information specifying a particular live event of interest, date, time, event type, and one or more types of media content requested. For example, if the Summer Olympics are currently underway, the request could include a specific event, date, time, and specify requests for images and associated descriptive text of a particular participant. In response, a remote media server may send media data to the data request system 114. The remote media server may send a certain number and type of media assets based on the specific quantities included in the query. The remote media server may have metadata associated with each media asset and may prioritize the sent media assets based on importance or newsworthiness. In some examples, audio data may include multiple different types of media content, including images, audio, video, and text.
[0050] In some examples, template selection system 116 may select one or more page templates (or story templates) from a plurality of page and / or story templates stored in template data storage 234. In some examples, templates may be selected based on a ranking heuristic. For example, a ranking heuristic may identify page and / or story templates associated with a specific live event. In some examples, a ranking heuristic may rank page templates based on the type and quantity of media assets available to page generation system 112. Template data storage 234 may include a plurality of page templates. Each page template may include data describing the location, size, and resolution of media to be displayed in the user interface. Thus, as defined by the page template, a single page may represent one or more media assets arranged in a specific layout, which are intended to be displayed together in the user interface of a device (e.g., a smartphone display, a monitor associated with a laptop, etc.). In some examples, story templates may represent a series of pages intended to be grouped or linked together. Using story templates, page generation system 112 may provide the user with far more information than could be obtained via a single page. In some examples, pages in a story may be ordered to present a narrative about a live event. For example, each page could represent the goals scored during the match in the order they were kicked, and each page could include one or more images of the goalscorers and / or the players who scored them. In this way, the story could involve narrative information about the live events through a series of ordered content pages.
[0051] In some examples, template selection system 116 can select one or more page templates for a specific event based on the priority of factors. For example, a particular sport or event may have predetermined templates that have been customized to more effectively display information associated with that sporting event. Additionally, a particular live event may have custom or specialized templates designed to display information associated with that particular live event (e.g., having a common context associated with the event, or being customized to show specific data generated by that particular live event). For example, a live election may have a specific template or a series of templates that have been customized to display election results from a specific location.
[0052] In some examples, template selection system 116 can select templates based on the quantity and type of available media. For example, if a large number of media assets (e.g., multiple media content items) are available in the received media data, template selection system 116 can have considerable flexibility in selecting a particular template. However, if the number of media assets is limited, the templates that template selection system 116 can select may be limited to those templates for which existing media assets are sufficient. In some examples, if only two images are available, template selection system 116 cannot select any template that requires more than two images. Additionally, if a particular template has a section designed to include video media, that template can only be selected if video media is received from the media server. In some examples, template selection system 116 can allow flexibility to use templates that do not perfectly match the received media assets. For example, if more images are needed for a particular page template, page generation system 112 can use generic images associated with a specific live event.
[0053] In some examples, the template selection system 116 can select templates, increasing the amount of variation within a particular story. Therefore, if a specific template has already been selected for a page in a story, the template selection system 116 can prioritize other templates when evaluating later pages. In this way, the generated story can be visually more interesting or more engaging for the user.
[0054] Customization system 118 can customize media data based on one or more requirements. For example, if the media data includes one or more parts of text, customization system 118 can translate the text into multiple different languages. In some examples, text (e.g., captions associated with an image) may require different amounts of space once selected. As a result, once the text has been translated, template selection system 116 can select different templates for one or more languages. For example, in some languages, captions may be represented by only two lines of text, while in another language, three lines may be needed to present the associated captions. Therefore, a first template can be selected for languages requiring only two lines, and a second template can be selected for languages requiring three lines to display the captions. Furthermore, different languages may require different formats (e.g., the direction in which the text is read may change).
[0055] In some examples, media assets can be customized by altering one or more images or videos to fit within the space allocated by a specific page template. For instance, if the space allocated for an image in a specific template is 100×100 pixels, and the first image is 120×100 pixels, the customization system 118 can crop the first image so that it fits within the allocated area. In some examples, multiple images may potentially be able to be cropped to fit within a specific area. In this example, the customization system 118 can evaluate the images to determine the optimal image to crop for the template portion allocated to the image.
[0056] Customization system 118 can identify multiple candidate images (or other media) from media data of a specific live event received, targeting a specific portion of a page template. Customization system 118 can then crop each potential image to match characteristics outlined by metadata associated with the specific portion of the page template. Customization system 118 can then access the metadata for each image. The metadata may include information describing the content of the image (or other media), including the location and type of objects within the media, the location and identity of people within the media, and the location of any text within the media.
[0057] Customization system 118 can then evaluate each cropped image to determine whether the cropping process has removed any significant parts of the image. For example, if a portion of text is removed during cropping, the image can be removed from the candidate image list. Similarly, if an important person is removed or partially blurred, the image can be removed from consideration. In some examples, the significant parts of an image can be referred to as the salient parts of the image. Only images that retain all salient parts are evaluated for potential inclusion in the generated page. Once the images have been filtered to remove any that do not have all their salient parts, customization system 118 can use a machine learning model to generate aesthetic scores for the remaining candidate images. The machine learning model can be trained to assign high aesthetic scores to images that the user is likely to be interested in. For example, images that are in focus and frame interesting actions, important people, important information, etc., can receive higher aesthetic scores. The cropped image with the highest aesthetic score can be selected and used in the page generated based on the selected page template.
[0058] In some examples, the customization system 118 may use the cropping process described above to generate one or more thumbnail images. Thumbnail images can be used to represent a specific story or event at very low resolution or detail. These images must be cropped and / or resized to fit within a page, which may have multiple different thumbnails for multiple different live events. In some examples, the customization system 118 may enlarge or reduce an image (rather than cropping it) to fit it into the space allocated to it. For example, a 200x200 pixel image may be reduced to fit within the area of a 100x100 pixel image, since the aspect ratio remains unchanged. In some examples, the metadata of a particular page template specifies the required resolution for a specific portion of that template. The customization system 118 may reduce or increase the resolution of a particular image to match the standards established by the page template.
[0059] In some examples, images can be cropped based on the theme of a specific content page. For instance, if a particular page is about a specific player in a game, one or more images can be cropped to highlight that player. Similarly, if a content page is associated with a specific event (e.g., an accident, incident, or event) during an event (e.g., scoring a goal or a penalty), the cropped image can be evaluated based on how well it represents that specific event.
[0060] In some examples, when cropping images to serve as thumbnails (e.g., images representing a multi-page story or a set of stories), the images can be cropped to focus on a popular topic. For instance, if a particular athlete becomes popular on social media, the image can be cropped to include that specific athlete. The specific athlete can vary depending on the location (e.g., country) or interest group. By including popular people, events, or items in the thumbnail, the page generation system can increase the likelihood that users will visit and / or view the associated multi-page story.
[0061] Once the appropriate media data has been received, one or more page templates have been selected, and one or more pieces of media content have been customized, the page generation system 112 can generate pages based on the selected templates. For example, the page generation system 112 can identify appropriate pieces of media content for each section of a page defined in a media template. A page with the selected pieces of media content in the appropriate section can then be generated. As mentioned above, the template data storage 234 can also include a story template consisting of multiple pages. In these examples, the page generation system 112 can generate multiple content pages, each associated with a specific content page in the story template. One or more content pages can be linked together in a specific order to create a story.
[0062] In some examples, the generated pages may be stored in content cache 150 for distribution to multiple users. In some examples, the stored pages may be updated by page update system 120. For example, if data request system 114 receives information associated with a live event that has an existing page or story, instead of generating a new story or page, page update system 120 may modify or update relevant information in the existing page. For example, if the score of a particular sports event changes, page update system 120 may use that information to update appropriate fields in already generated pages and / or stories.
[0063] The story generation system 122 can use the output of the page generation system 112 and combine several generated pages into a single story. In some examples, this combination is based on information stored in a template associated with a story accessed from the template data storage 234. In some examples, a particular live event may initially be represented by the content of a single page. However, as additional information comes in, additional pages can be added to create a multi-page story. Generally, a story may include several pages linked in a specific order or otherwise connected. In some examples, the user interface display includes interface elements that allow users to easily switch between pages. For example, if the story is being displayed on a smartphone, each page may occupy the entire screen. Swiping left or right on the currently displayed page changes to the previous or next page in the story. In some examples, the display application may automatically transition to the next page in the story after a predetermined amount of time.
[0064] In some examples, caching system 124 can store generated pages and stories, and content cache 150 can retrieve generated pages and stories from content cache 150 as needed. This is because if a user requests information about a specific live event, computer system 100 can use caching system 124 to access pages already generated in content cache 150. In this way, content pages only need to be generated once and retrieved by the caching system for delivery to multiple users interested in a specific live event.
[0065] In some examples, the computing system 100 uses a ranking system 130 to organize the generated pages according to the order in which the user is potentially interested. In this way, the application on the user's device can present a series of pages and / or stories to the user in the order in which the user will be most interested. For example, content pages and / or stories can be ranked based on location. Therefore, live events occurring near the user can rank higher than live events occurring far away from the user. In some examples, user interests can be represented in a user profile. The user profile can then be used to rank pages based on live events the user will be most interested in. In some examples, users are grouped based on nationality, language, a specific team, or an organization the user is interested in (e.g., a club or fandom). The ranking system 130 can generate rankings tailored to specific groups. In some examples, the ranking assigned to a specific live event and its associated page can decay over time, making the event less important the further back in time it occurs.
[0066] Figure 2An example client-server system environment 200 according to an exemplary embodiment of this disclosure is depicted. The client-server system environment 200 includes one or more user computing devices 202 and a server computing system 230. One or more communication networks 220 interconnect these components. The communication network 220 can be any of a variety of network types, including a local area network (LAN), a wide area network (WAN), a wireless network, a wired network, the Internet, a personal area network (PAN), or a combination of these networks.
[0067] User computing device 202 may include, but is not limited to, smartphones, smartwatches, fitness bands, navigation computing devices, laptops, and embedded computing devices (computing devices integrated into other objects such as clothing, vehicles, or other objects). In some examples, user computing device 202 may include one or more sensors designed to collect information having user permissions associated with user computing device 202.
[0068] In some examples, user computing device 202 may connect to another computing device, such as a personal computer (PC), laptop, smartphone, tablet, mobile phone, wearable computing device, or any other electronic device capable of communicating with communication network 220. User computing device 202 may include one or more applications 212, such as search applications, communication applications, navigation applications, productivity applications, gaming applications, word processing applications, or any other applications. Applications(multiple) 212 may include web browsers. User computing device 202 may use web browsers (or other applications) to send requests to and receive requests from server computing system 230. Applications(multiple) may include web browsers or other media applications that can present media content in the form of generated pages or stories.
[0069] In some examples, the user computing device 202 may include one or more sensors that can be used, with the explicit permission of the user, to determine information associated with the environment of the user computing device 202 or with the user of the user computing device 202 (such as the user's location or movement). In some examples, the sensors may include motion sensors for detecting movement of the device or the associated user, location sensors (e.g., GPS) for determining the current location of the user computing device 202, and audio sensors for receiving control commands from the user, etc.
[0070] like Figure 2As shown, the server computing system 230 can typically be based on a three-tier architecture, including a front-end layer, an application logic layer, and a data layer. This is as understood by those skilled in the art of computers and the internet. Figure 2 Each component shown can represent an executable software instruction set and the corresponding hardware (e.g., memory and processor) for executing those instructions. To avoid unnecessary detail, [details omitted]. Figure 2 Various components and engines not closely related to conveying an understanding of the various examples are omitted. However, technicians will readily recognize that various add-ons, systems, and applications can be integrated with, for example... Figure 2 The server computing system 230 shown is used in conjunction with it to facilitate additional functionalities not specifically described herein. Furthermore, Figure 2 The various components depicted can reside on a single server computer, or they can be distributed across several server computers in various arrangements. Furthermore, although the server computing system 230... Figure 2 The architecture is described as having a three-layer structure, but various example implementations are by no means limited to this architecture.
[0071] like Figure 2 As shown, the front end may consist of multiple interface systems 222, which receive communications from one or more user computing devices 202 and transmit appropriate responses to the user computing devices 202. For example, the multiple interface systems 222 may receive requests in the form of Hypertext Transfer Protocol (HTTP) requests or other web-based application programming interface (API) requests. The user computing device 202 may execute traditional web browser applications or applications developed for a specific platform, encompassing any of a wide variety of computing devices and operating systems.
[0072] like Figure 2 As shown, the data layer may include template data storage 234. Template data storage 234 may include multiple page templates. Each page template may include data describing the location, size, and resolution of media to be displayed in the user interface. Thus, a single page may represent a set of media data intended to be displayed together in the user interface of a device (e.g., a smartphone display, a display associated with a laptop, a tablet display, etc.). In some examples, story templates may represent a series of pages intended to be grouped or linked together. Using story templates, page generation system 112 can provide the user with far more information than could be obtained via a single page.
[0073] The application logic layer may include application data, which can provide a wide range of other applications and services that allow users to access or receive geographic data for navigation or other purposes. The application logic layer may include a page generation system 112 and a ranking system 130.
[0074] In some examples, page generation system 112 may periodically and automatically request media data for specific live events. Live events may include sports events, weather events, political events, etc. Server computing system 230 may provide information about the live events at user computing device 202 via application 212. The application may receive the information via a network in a format that can be displayed on a device associated with user computing device 202. For example, server computing system 230 may provide a description in a format that application 212 can interpret (e.g., HTML for a web browser) to generate a display for the user in the user interface.
[0075] In some examples, page generation system 112 may access media data from a media database associated with server computing system 230. Additionally or alternatively, media data may be accessed from a remote third-party server. Media data may include images, videos, audio, and text associated with live events. If an international sporting event (such as the Olympic Games) is taking place, a user may request information about a specific competition. For example, if a user is interested in badminton, they may use an application on their user computing device 202 to request the latest information about currently playing badminton matches. Page generation system 112 may obtain information about the matches in advance in response to a user's request or based on data about important live events and when these events occur. Stories may be presented to the user based on prior interest in badminton.
[0076] In some examples, page generation system 112 can submit queries for media data associated with a specific live event. In some examples, the query may include information specifying the specific live event of interest, date, time, event type, and one or more types of media content requested. For example, if the Summer Olympics are currently taking place, the request could specify a specific event. In some examples, the query may describe the specific event, date, and time, and specify the type and quantity of media assets requested. In response, a remote media server may send media data to page generation system 112. In some examples, the media data may include multiple different types of media content, including images, audio, video, and text.
[0077] In some examples, page generation system 112 may select one or more page templates (or story templates) from a plurality of page and / or story templates stored in template data storage 234. Template data storage 234 may include a plurality of page and / or story templates. Each page template may include data describing the location, size, and resolution of media to be displayed in the user interface. Thus, a single page may represent a set of media data intended to be displayed together in the user interface of a device (e.g., a smartphone display, a display associated with a laptop, etc.). In some examples, a story template may represent a series of pages intended to be grouped or linked together. Using story templates, page generation system 112 may provide the user with far more information than could be obtained via a single page.
[0078] In some examples, page generation system 112 can select one or more page templates for a specific event based on the priority of factors. For example, a particular sport or event may have predetermined templates that have been customized to more effectively display information associated with that sporting event. Additionally, a particular live event may have customized or specialized templates designed to display information associated with that specific live event. Live events may be associated with multi-page story templates that share a common context associated with the event or with pages customized to display specific data generated by the event. For example, a live election may have a specific template or a set of templates that have been customized to display election results from a specific location. In some examples, no specific page template is associated with a particular live event. Instead, page generation system 112 may use a heuristic approach to rank possible page templates, considering multiple factors such as the type, location, date and time of the live event, and the number of available media assets. In some examples, page generation system 112 may also rank page templates to increase the diversity of templates used in a particular multi-page story (e.g., page templates that are not yet used may be ranked higher). Page generation system 112 may select the page template with the highest ranking. In some examples, the page generation system 112 can use different rankings for different users or user groups. In this way, one or more user characteristics can be used to select templates. In some examples, user characteristics such as age, location, nationality, language, and interests can be used to rank templates for that user. In some examples, users can also be grouped based on the type of device they use to view the page. Templates can be selected for specific devices or device types.
[0079] In some examples, page generation system 112 can select page templates based on the quantity and type of available media. For example, if a large number of content assets are available in the received media data, page generation system 112 can have considerable flexibility in selecting a particular page or story template. If the number of content assets is limited, the templates that page generation system 112 can select can be similarly limited. For example, if only two images are available, template selection system 116 cannot select a page template that requires more than two images.
[0080] Page generation system 112 can customize media data based on one or more requirements. For example, if the media data includes one or more parts of text, page generation system 112 can translate the text into multiple different languages. In some examples, the translated text may require different amounts of space. As a result, once the text has been translated, page generation system 112 can select different templates for one or more languages. For example, in some languages, descriptive text may fit in two lines, while in other languages it may require three lines. A first template can be selected for languages that only require two lines, while a second template can be selected for languages that require three lines to display descriptive text.
[0081] In some examples, multiple pieces of media content can be customized by changing images or videos to fit within the space allocated by a specific page template. For example, if the space allocated for a particular image in the template is 100×100 pixels, and the selected image is 120×100 pixels, the page generation system 112 can crop the selected image to fit within that area. In some examples, multiple images may potentially be able to be cropped to fit within a specific area. In this example, the page generation system 112 can evaluate the images to determine the optimal image to crop for the template portion allocated to the image.
[0082] Once the appropriate media data has been received, a template has been selected, and one or more pieces of media content have been customized, the page generation system 112 can generate pages based on the selected template. For example, the page generation system 112 can identify appropriate pieces of media content for each section of a page defined in a media template. Content pages with the selected pieces of media content in the appropriate sections can then be generated. As mentioned above, the template data storage 234 can also include a story template consisting of multiple content pages. In these examples, the page generation system 112 can generate multiple content pages, each associated with a specific page in the story template. Multiple content pages can be linked together in a specific order to create a story.
[0083] In some examples, server computing system 230 may include ranking system 130 that organizes generated pages according to the order in which a user is potentially interested. In this way, application 212 at user computing device 202 can receive a series of pages and / or stories and present them to the user in the order in which the user will be most interested. For example, content pages and / or stories can be ranked based on location. Thus, live events occurring near a user can be ranked higher than live events occurring far from the user. In some examples, user interests can be represented in a user profile. The user profile can then be used to rank pages based on live events the user will be most interested in. In some examples, users are grouped based on nationality, language, a specific team, or organizations of interest to the user. Ranking system 130 can generate rankings tailored to specific groups. In some examples, the ranking assigned to a specific live event and its associated pages can decay over time, making the event less important the further back in time it occurs.
[0084] Figure 3 An example page generation system 112 according to an example embodiment of the present disclosure is shown. The page generation system 112 may include a query generation system 320, a media customization system 322, a template selection system 324, and a positioning system 326.
[0085] In some examples, query generation system 320 can generate queries requesting media data from a media data source. In some examples, media data can include any type of media content, such as images, audio, video content, text, or any other type of media content. Query generation system 320 can generate queries in response to a periodic schedule. The periodic schedule can be predetermined or generated in response to determining that an event is in progress. Therefore, query generation system 320 can access a database that includes information about when queries are generated. Queries can include data that allows the media server to know what type of media to return to query generation system 320. For example, a query can include information describing a particular live event, the type of media asset requested, the time, one or more specific entities (e.g., people, teams, countries, etc.), the size of the media file, and / or the resolution or other quality of the media.
[0086] The media customization system 322 can customize one or more pieces of media content received in response to a media data query. Customizing one or more pieces of media data can include, but is not limited to: translating text from one language to another, cropping images, editing videos, adjusting the resolution of images or videos up or down, changing the volume of audio clips, etc. In some examples, the media customization system 322 can customize multiple pieces of media content based on requirements associated with a specific page template.
[0087] In some examples, the template selection system 324 can select a page template from multiple possible templates stored in the template data storage 234. Multiple templates can be associated with different live events, different types of events, specific live events, specific locations, seasons, sports, and events. In some examples, the template selection system 324 can select multi-page story templates. Each page template can define a specific way in which media, text, and other components of the user interface will be displayed on the user's device screen. In some examples, the page template can have associated metadata that defines multiple sections of the page and describes the type of media content that should be included in those sections. In some examples, the metadata associated with the page can also describe the size, resolution, aspect ratio, etc., of the media to be included in a particular section.
[0088] The positioning system 326 can generate content pages (or multiple content pages) by arranging one or more selected media contents into a page that can be sent to a user, as specified by a selected template. In some examples, a markup language can be used to define the generated content pages. The page generation system can then send the generated one or more pages to a cache, where they can be retrieved by the server computing system 230 as requested by one or more user computing devices 202.
[0089] Figure 4 An example customization system 118 according to an exemplary embodiment of the present disclosure is shown. The customization system 118 may include a cropping system 402, an image filter 404, a scoring system 406, and a selection system 408.
[0090] In some examples, the trimming system 402 can access metadata associated with a specific page template. In some examples, metadata can be accessed from the media data store 424. The media data store 424 can store media assets and associated metadata. In some examples, media assets can be customized (e.g., translated, edited, trimmed, etc.), and the customized data can be stored in the media data store 424.
[0091] A page template can define the size and position of one or more media content items within a page. Therefore, the cropping system 402 can determine the size of a specific media content item in the template based on one or more of the following: the number of pixels associated with an image or video, the percentage of the total user interface, a specific aspect ratio, or a resolution.
[0092] Once the cropping system 402 has determined the specific size or aspect ratio of the media, the server computing system can identify multiple candidate media content. For example, the cropping system 402 can access one or more received images associated with a specific live event. In some examples, the cropping system can crop one or more candidate media content to a size or aspect ratio that matches a portion of the page template.
[0093] In some examples, image filters can analyze one or more cropped images. For example, analyzing more images may involve accessing metadata associated with the content of each image. Metadata can describe the location and size of one or more features within an image (or another type of media content). In some examples, metadata can describe the importance of each feature. For example, if an image is associated with a sporting event, one or more people in the image may be the focus of the image and therefore more important than other people in the image. Metadata can also describe the location and content of any text within the image. Image filter 404 can determine for each cropped image whether the cropping resulted in the removal or blurring of an important aspect of the image. For example, if a portion of a piece of text is partially removed during the cropping process, the filter can remove that cropped image from the list of candidate images.
[0094] Once image filter 404 has filtered out any images whose significant aspects have been altered or removed during the cropping process, the list of candidate images can be passed to scoring system 406. In some examples, scoring system 406 may include a machine learning model that generates an aesthetic score for each remaining cropped image. The aesthetic score may be based on one or more factors to represent how aesthetically pleasing the cropped image is. For example, these factors may include how relevant the image's content is to the event, the specific live event, whether the image includes important information about the event (e.g., a goal is scored), and whether the key elements of the image are framed in an aesthetically pleasing manner (e.g., important figures are presented in a way that is clear and easily visible).
[0095] The selection system 408 can select one or more images to be placed on the generated page based on one or more aesthetic scores. In some examples, the selection system 408 can select the image with the highest aesthetic score. In some examples, the selection system 408 can select one image from multiple different groups of images. For example, if there are several groups of images, each representing a key player in a particular live match, the selection system 408 can select the image with the highest aesthetic score from each group. In this way, even if the image associated with a single player has the highest overall aesthetic score, a page or story highlighting several different players in a match can be generated.
[0096] Figure 5 An example flowchart according to an example embodiment of the present disclosure is shown. In this example, a server computing system (e.g., Figure 2 The server computing system 230 can receive event information 502. Event information 502 can be any information describing a specific live event that is happening or will happen in the future. Event information 502 may include information describing the event type, event time, how long ago the event was requested, information about the types of users who may be interested in the event, and other information. Template retrieval system 506 can extract existing templates 504 from structured storage device 540. Structured storage device 540 enables template retrieval system 506 to quickly identify an appropriate set of templates for a live event.
[0097] The server computing system can query data provider 512. In some examples, the data provider may include source media provider 542 and source narrative provider 544. In some examples, the source media provider provides media assets including images, audio, video, and potential text. The source narrative provider 544 can provide narrative details about a live event. For example, if the live event is a football match, the narrative details may include information about important events that occurred during the match, including goals, substitutions, penalties, injuries, etc. The narrative details can be used to determine the specific content of each page in a multi-page story (e.g., a page for each goal and / or highlight). The server computing system can access media assets 508 and narrative metadata 510 by querying the data provider.
[0098] Media assets 514 and narrative metadata 516 can be provided and used in data fusion 518 to combine narrative information and media information. In some examples, data fusion 518 includes identifying appropriate media assets to display on the screen for each narrative event, given a series of narrative events described in the narrative data. For example, if each page is associated with a goal in a football match, the data fusion 518 system can identify an image of each player who scored the corresponding goal, or an image of a goal being scored. Furthermore, data fusion may include steps for customizing media assets to be included in a particular page. For example, these steps may include transforming image 520 and text 522. Transforming an image may include cropping, resizing, and scaling one or more images to ensure that one or more images fit into a selected template. In some examples, text 522 may be transformed. Transforming text 522 may include translating the text into multiple different languages.
[0099] In some examples, the server computing system can generate one or more templates 528. Generating a template may include updating a template from an existing one. In other examples, a new template may be generated based on a transformed image and transformed text. In some examples, the updated template 526 may be stored in a structured storage device 546.
[0100] Template engine 530 can take updated templates, image information, and text information as input. Template engine 530 can generate one or more HTML pages, including transformed images and transformed text, based on the selected template. In some examples, these HTML pages can be organized into an ordered multi-page story by HTML generation system 532. The story content can be uploaded 534 to an accessible and retrieveable unstructured storage device 548 for transmission to one or more users.
[0101] In some examples, a distribution notification 536 can be generated. Story metadata 538 can be sent to the story distributor 550. This information can be used to notify the user that the story is available. The user can then request the story content, which can be accessed from, for example, an unstructured storage device 548.
[0102] Figure 6 An example flowchart according to an example embodiment of the present disclosure is shown. In some examples, a server computing system (e.g., for accessing live event media data) is used. Figure 2 The server computing system 230 may include a scheduler 602, a message queue 606, a live event data access system 610, an event detection system 620, and an event information database 624. In some examples, the event detection system 620 may determine when a live event is currently occurring. To do this, the event detection system 620 may monitor 622 (or access) information stored in the event information database 624. The event information database 624 may include information collected from social media sources. The web service may provide information, input by the user, describing when and where a particular live event is occurring. The event information database 624 may be populated with information downloaded from publicly available social media posts. In other examples, the web server may allow users to submit data describing when one or more live events are occurring in a manner accessible to the server computing system via a computer network.
[0103] When a new event is identified, the event information database 624 can send information about the new event 618 to the scheduler 602. Similarly, when a new event is identified based on information in the event information database 624, the event detection system 620 can send a notification 616 to the scheduler 602.
[0104] Scheduler 602 can send information about events to message queue 606. This information may include the event's name and time. In some examples, scheduler 602 may also request message queue 606 to store an event 608 or message to be executed at a specific time. In this way, scheduler 602 can plan when it will receive information about events that have not yet occurred. Message queue 606 can preload one or more requests to be executed at a specific time or according to a specific schedule. In some examples, message queue 606 may be configured to periodically request events at a fixed, recurring schedule (e.g., every five minutes).
[0105] Message queue 606 can store multiple query events based on information received from a schedule. Query events can be ordered based on when a query is to be submitted. Therefore, when new information is received from the scheduler regarding when to query a specific live event, message queue 606 can insert the new query event into the appropriate position in the queue. Message queue 606 can process the stored queue events (e.g., scheduled queries) to execute the queue events based on the order in which they are stored in the queue and / or the scheduling time at which the queue request is scheduled for execution.
[0106] When message queue 606 determines that a query event is scheduled, it can send the query to live event data access system 610. In some examples, as part of a response to a specific query, live event data access system 610 can resend the query event back to the message queue query to be run. In this way, queries can be executed throughout the entire duration of the live event. For example, if the live event is a volleyball match, query events can be scheduled to occur periodically from the time the volleyball match is scheduled to begin until a predetermined amount of time after the volleyball match is predicted to end. In some examples, queries can continue to be executed until data received from one of the queries indicates that the volleyball match has ended. In some examples, live event data access system 610 can schedule the next queue event (e.g., a query) based on the amount of media data received from the previous queue event by resending the event 612 back to message queue 606. Thus, if a large amount of media data is being returned in response to a query, the next query can be scheduled to occur more frequently. If very little media data is received, the next query can be scheduled to be executed after a longer period of time.
[0107] Figure 7 An example flowchart according to an example embodiment of this disclosure is shown. One or more pages may be determined to need to be updated or removed. In some examples, the page may be updated when new information about a live event related to the page is received. In other examples, the user may notice that the content within the generated page is incorrect or outdated.
[0108] Server computing systems (e.g., Figure 2 The server computing system 230 can access the document ID 702 associated with a specific page. The server computing system can use the document ID 702 to query the page storage device 720 to identify one or more pages associated with a request to update or remove one or more content pages. In some examples, the server computing system can remove the associated page template from the template database and access the reported story 706. In this way, if the problem lies with the template itself, no new page will be created during the correction process.
[0109] The server computing system can regenerate 708 one or more pages / stories and use template engine 710 to generate new or updated pages and stories. This information can be stored in an unstructured database 722, from which it can be sent or accessed by multiple users. Furthermore, information about the generated stories can be uploaded 712 to web server 724. Web server 724 can send data about one or more stories to an application on a user's device (e.g., Google Explore), allowing the user to see and access the content.
[0110] Figure 8 An example user interface according to an exemplary embodiment of this disclosure is shown. In this example, three different pages of a multi-page story are shown. Each page has a background 806, one or more pieces of media content, and user interface elements that allow the user to browse the story.
[0111] For example, the first page 802 includes an image of a cricketer 804 and text describing what is happening in the scene being filmed. It also includes an indication 808 of the page's position within a multi-page story. For instance, this first page appears as the second page counting from the beginning. The page also includes two arrow icons 810 that allow the user to move to the next or previous page in the story.
[0112] The second page 820 includes similar features, a central image, associated explanatory text, and user interface elements for navigating the story. Additionally, page 2 includes a user interface element 822 that allows the user to request or view supplementary information about the cricketer shown in the image associated with that page.
[0113] In this example, the third page 830 does not include a large image. Instead, it includes information about the competition 832 for which the page or story was generated. Therefore, this page includes a descriptor of the competition (e.g., the participating teams or countries), the time the competition took place, the participants, and relevant details about the competition itself.
[0114] Figure 9 Example flowcharts depicting a method according to exemplary embodiments of this disclosure are provided. One or more portions of the method may be implemented by one or more computing devices (such as, for example, the computing devices described herein). Furthermore, one or more portions of the method may be implemented as algorithms on the hardware components of the devices(s) described herein. For purposes of illustration and discussion, Figure 9 The elements, executed in a specific order, are described. Using the disclosure provided herein, those skilled in the art will understand that elements of any method discussed herein can be adapted, rearranged, extended, omitted, combined, and / or modified in various ways without departing from the scope of this disclosure. The method can be implemented by one or more computing systems (such as…) Figures 1-4 (One or more computing systems described in the text) are implemented.
[0115] Server computing systems (e.g., Figure 2 The server computing system 230 may include one or more processors, memory, and other components that together enable the computing system to automatically generate content pages for live events. At 902, the server computing system may access media data associated with the live event. In some examples, the server computing system may automatically submit queries to a media provider. In some examples, the server computing system may receive media data associated with the query from a media provider. The media provider may include a remote third-party computing server.
[0116] In some examples, the query includes parameters describing one or more of the following: a specific live event, date, time, or location. Media data may include one or more images and one or more text portions. Media data may include one or more videos. In some examples, the query may be automatically generated based on a periodic schedule.
[0117] In some examples, at 904, the server computing system can customize media data for one or more user groups. In some examples, customizing media content may include translating one or more text portions of the media data into multiple different languages. In some examples, customization may include cropping one or more images by the computing system based on information describing a specific page template. Users can be grouped based on their language or region of the world. In some examples, language groups can be subdivided based on different dialects. For example, different spellings and / or vocabulary may be used for different dialect groups. Furthermore, different accesses can be used when generating audio-visual translations (e.g., TTS) of text based on a specific group's accent or dialect. In some examples, users can be grouped into one or more groups based on their interests.
[0118] In some examples, at 906, the server computing system can select one or more page templates from multiple page templates, at least in part, based on customized media data. In some examples, a live event can have an associated event type. For example, a live event could be a sports event, a political event, a music event, etc. In some examples, one or more page templates are selected at least in part based on the event type of the live event. Each page template can include one or more sub-sections, each sub-section being associated with a specific media type at a specific location within the page.
[0119] In some examples, templates can include data describing the look and feel of a content page. For instance, template descriptions can be used to generate specific colors, fonts, text sizes, animations, transitions, effects, etc., applied to images or text for the entire content. In some examples, the same look and feel characteristics can be used for multi-page stories. Templates can also describe whether the page is in portrait or landscape mode. In some examples, templates can determine the text's position based on the characteristics of the image used as a text background. In some examples, the system can identify salient areas of an image and arrange the text so that it doesn't obscure important areas of the image. Image characteristics can also be used to customize the text's color and size. Furthermore, images can be cropped to enlarge specific people within the image.
[0120] In some examples, the server computing system can determine the number and type of multiple media content items included in the media data. The server computing system can then select one or more page templates based on the number and type of media content in the media data. In some examples, the page templates include templates for multi-page stories.
[0121] In some examples, at 908, the server computing system can generate one or more content pages based on customized media data and one or more page templates. The server computing system can automatically assemble one or more pieces of media content from the media data into one or more content pages based on content associated with a corresponding piece of media content. In some examples, the server computing system aggregates two or more pages into a multi-page story. In some examples, at 910, the server computing system can serve one or more content pages to one or more user computing devices.
[0122] This paper discusses technologies involving sensors, servers, databases, software applications, and other computer-based systems, as well as actions taken and information sent to and from these systems. The inherent flexibility of computer-based systems allows for a wide variety of possible configurations, combinations, and partitions of tasks and functions between and within components. For example, the processes discussed in this paper can be implemented using a single device or component, or multiple devices or components working in combination. Databases and applications can be implemented on a single system or distributed across multiple systems. Distributed components can operate sequentially or in parallel.
[0123] While this subject matter has been described in detail with respect to various specific example embodiments, each example is provided by way of explanation rather than limitation of this disclosure. Those skilled in the art will readily recognize changes, variations, and equivalents to these embodiments upon understanding the foregoing. Accordingly, this disclosure does not exclude the inclusion of such modifications, variations, and / or additions to this subject matter, which will be apparent to those skilled in the art. For example, features shown or described as part of one embodiment may be used with another embodiment to produce yet another embodiment. Therefore, this disclosure is intended to cover such changes, variations, and equivalents.
Claims
1. A computer-implemented method for generating a content page of a live event, the method comprising: Media data associated with live events is automatically requested and received by a computing system comprising one or more processors; The computing system customizes media data for one or more user groups, wherein users are grouped into the one or more user groups based on their characteristics; The computing system selects one or more page templates from multiple page templates, at least in part, based on customized media data; The computing system generates one or more content pages based on the customized media data and the one or more page templates; The computing system generates a corresponding content score for each of the one or more content pages, wherein the content score varies based on different user groups and is based on the relative importance and relevance of the live event; and The computing system provides the one or more content pages to one or more user computing devices of users in the one or more user groups based on the content score.
2. The computer-implemented method according to claim 1, wherein, Access to media data associated with live events by a computing system including one or more processors also includes: The computing system automatically submits queries to the media provider, and The computing system receives media data associated with the query from the media provider.
3. The computer-implemented method according to claim 2, wherein, The media provider includes a remote third-party computing server.
4. The computer-implemented method according to claim 2, wherein, The query includes parameters that describe one or more of a specific live event, date, time, or location.
5. The computer-implemented method according to claim 2, wherein, The media data includes one or more images and one or more text portions.
6. The computer-implemented method according to claim 2, wherein, The media data includes one or more videos.
7. The computer-implemented method according to claim 2, wherein, The query is automatically generated based on a periodic schedule.
8. The computer-implemented method according to claim 1, wherein, The media data customized by the computing system for one or more user groups also includes: The computing system translates one or more text portions of the media data into multiple different languages.
9. The computer-implemented method according to claim 1, wherein, The media data customized by the computing system for one or more user groups also includes: The computing system crops one or more images based on the selected page template.
10. The computer-implemented method according to claim 1, wherein, The live events have associated event types.
11. The computer-implemented method according to claim 10, wherein, The one or more page templates are selected based at least in part on the event type of the live event.
12. The computer-implemented method according to claim 10, wherein, Each page template includes one or more sub-sections, each of which is associated with a specific media type at a specific location within the page.
13. The computer-implemented method according to claim 12, wherein, The selection of one or more page templates from multiple page templates by the computing system, at least in part based on customized media data, also includes: The computing system determines the number and type of multiple media content items included in the media data, and The computing system selects one or more page templates based on the quantity and type of multiple media content items included in the media data.
14. The computer-implemented method according to claim 12, wherein, The generation of one or more content pages by the computing system based on the customized media data and the one or more page templates also includes: The computing system automatically assembles one or more pieces of media content from the media data into the one or more content pages based on the one or more page templates.
15. The computer-implemented method according to claim 1, further comprising: The computing system aggregates two or more pages into a multi-page story.
16. The computer-implemented method according to claim 1, wherein, The page templates include templates for multi-page stories.
17. The computer-implemented method according to claim 1, wherein, Grouping users based on language.
18. The computer-implemented method according to claim 1, wherein, Group users based on their interests.
19. A computing system, the computing system comprising: One or more processors; as well as A computer-readable storage medium storing instructions that, when executed by the one or more processors, cause the computing system to perform operations, the operations including: Automatically request and receive media data associated with live events; Customize media data for one or more user groups, wherein users are grouped into the one or more user groups based on their characteristics; One or more page templates are selected from multiple page templates, at least in part, based on customized media data; One or more content pages are generated based on the customized media data and the one or more page templates; Generate a corresponding content score for each of the one or more content pages, wherein the content score varies based on different user groups and is based on the relative importance and relevance of the live event; and Based on the content score, the one or more content pages are provided to one or more user computing devices of users in the one or more user groups.
20. A non-transitory computer-readable medium storing instructions that, when executed by one or more computing systems, cause the one or more computing systems to perform operations, the operations including: Automatically request and receive media data associated with live events; Customize media data for one or more user groups, wherein users are grouped into the one or more user groups based on their characteristics; One or more page templates are selected from multiple page templates, at least in part, based on customized media data; One or more content pages are generated based on the customized media data and the one or more page templates; Generate a corresponding content score for each of the one or more content pages, wherein the content score varies based on different user groups and is based on the relative importance and relevance of the live event; and Based on the content score, the one or more content pages are provided to one or more user computing devices of users in the one or more user groups.
Citation Information
Patent Citations
System and methods for proposing media for a web page
US20150363503A1