Use live data streams and / or search queries to determine information about developing events
By building a directed graph model to analyze the live data flow and using machine learning models to identify developing events, the problem of search engine lag is solved, and timely response and supplementation to real-time information is achieved.
Patent Information
- Application Number
- CN201980096369.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2019-06-25
- Publication Date
- 2025-08-29
- Estimated Expiration
- 2039-06-25
AI Technical Summary
In the prior art, knowledge sources such as search engines have lag problems in the dissemination of live event information, and cannot respond in a timely manner or provide the latest information.
By analyzing multiple live data flows, using machine learning models such as graph convolutional networks (GCNs) and graph attention networks (GANs), we build directed graph models, identify developing events, and provide real-time information based on user queries.
It realizes timely identification and response to developing events, provides real-time information supplement to user queries, and improves the timeliness and accuracy of information.
Smart Images

Figure CN113826092B_ABST
Abstract
Description
Background Art
[0001] With the proliferation of internet-enabled devices such as smartphones and smartwatches, it is increasingly common for information about newly developing or "live" events to be disseminated by eyewitnesses using live data streams such as social media posts, search engine queries, digital image posts, and the like. This often occurs even before such information is published by traditional news media. Consequently, established knowledge sources such as search engines may lag behind this organically evolving information. Furthermore, knowledge sources such as search engines are likely to receive many queries about developing events before those search engines are able to provide responsive information. Summary of the Invention
[0002] Therefore, described herein are techniques and frameworks for collecting information about developing events from multiple live data streams and providing new information snippets to interested individuals. In particular, various embodiments relate to detecting newly developing events. For example, an action can be performed in response to the detection of a newly developing event, such as controlling a response to the detection of an event or providing an output signal indicating to a third party that an event has been detected. For example, in one example, an event such as a fire or crime can be detected and an emergency service alarm can be alerted. Additionally or alternatively, some embodiments relate to providing information to other inquiring users using recently submitted search queries about still developing events—e.g., events for which conventional search engines may lack the latest information. These recently submitted search queries can, at least to some extent, include queries from sources with first-hand or second-hand knowledge, such as eyewitnesses of the event, first responders, eyewitnesses of auxiliary events surrounding the event (e.g., people who saw a fire truck rushing towards a landmark but did not see the actual landmark burning), etc.
[0003] A developing event may be initially identified in a variety of ways. In some embodiments, one or more individuals may submit queries to a search engine seeking information about a developing event, such as "Is there a fire at the cathedral?" or "Why is a crowd gathering at Times Square?" If enough queries, e.g., a cluster of semantically related queries, evidence a new developing event, then that may trigger analysis of multiple live data streams, such as social media posts, to obtain information to populate an event-specific knowledge graph. As another example, multiple live streams, such as social media posts, may be analyzed on an ongoing basis. Similar to a series of semantically related queries, if a cluster of sufficient number of semantically related posts is identified, then that may evidence a new developing event. In other embodiments, a specific live data stream, e.g., from a trusted individual / organization, such as a first responder, may be monitored for new developing events.
[0004] In some embodiments, an underlying data structure, such as a network model, can be generated or maintained that models how various information sources are connected. For example, the underlying network model can model the structure of information dissemination across sources, such as social network users (particularly sources known to have increased reliability, such as journalists, law enforcement officers, or government officials). The underlying network model can include multiple nodes representing sources and multiple edges representing communication paths between the multiple sources.
[0005] On top of this underlying network model, the spread of information associated with the developing event can be modeled as a function of time using, for example, a data structure such as a directed graph. In some embodiments, these directed graphs can be applied as input to (apply across) a machine learning model such as a neural network. In some embodiments, the machine learning model can be trained to operate with a graph as input, and can be, for example, a graph convolutional network ("GCN") or a graph attention network ("GAN"). In some embodiments, the directed graph itself can be applied as input to the machine learning model. Additionally or alternatively, in some embodiments, the directed graph can first be embedded into a latent space, for example using techniques such as a graph neural network ("GNN"), and then the latent space embedding can be applied as input to the machine learning model.
[0006] The output generated by applying the directed graph to the model can indicate, for example, the likelihood of an event occurring and / or a prediction of whether an event will be relevant to a particular user. For example, in some embodiments, the machine learning model can model the following probabilities:
[0007] P(event occurring at node x | user-specific features, graph) = probability of event occurring, conditioned on the specific user and the graph structure / embedding (e.g., of the local neighborhood)
[0008] In other embodiments, the probability P of the developing event occurring may be a joint probability, for example, determined using the following equation:
[0009] P(events occurring at node x, users observing events at node x|
[0010] User features, graph features)
[0011] In various embodiments, these machine learning models can be trained using multiple training examples. Each training example can include a prior data structure, such as a directed graph, that models the diffusion of information about corresponding verified past events through multiple sources. For example, a directed graph can be generated for verified events that have occurred in the past. The directed graph can then be labeled as having a relatively high probability of being a developing event, for example. In some embodiments, the training examples can also include user attributes that indicate a high likelihood of interest in the event as labels and / or additional inputs. For example, a training example of a past political protest might be assigned a label, or include a user attribute of "politics" as input. This training example can then be applied as input to a machine learning model to generate an output. The degree to which the output differs from indicating that the event will likely be of interest to politically oriented users - that is, the loss function - can be considered an error. The machine learning model can be trained, for example, using techniques such as gradient descent and backpropagation to correct the error, or in other words, to minimize the loss function.
[0012] In some embodiments, machine learning model training can effectively capture the reliability of individual sources. For example, a specific live data stream, such as a police department's social media feed, can consistently publish reliable information that is closely aligned with the ultimate factual attributes of an event. Therefore, the node representing that specific source in the directed graph is more heavily weighted by the GCN / GAN than another node associated with an unknown source (or a known unreliable source). In other words, during training, the GCN / GAN can learn which nodes (or node types) are more reliable than other nodes. It may often be the case that the first source of information, such as the first person who submits a query to search for information about an event or a social media post about an event, is a first-hand eyewitness to the developing event. These people are likely to be more trustworthy or reliable than third-wave sources who receive information from upstream eyewitnesses and pass on new, unverified information (e.g., rumors).
[0013] Once a developing event is deemed likely to be relevant to a particular individual, other queries associated with the event can be utilized to provide the particular individual with additional information about the developing event. For example, suppose the particular individual issues a query about an event for which no responsive information has yet been obtained from conventional search engines ("How big is the fire at the Cathedral?"). Rather than being notified that no responsive information is available, the particular individual can be provided with alternative query suggestions for which more responsive information may be available. Additionally or alternatively, information responsive to those alternative query suggestions can be provided to the particular individual.
[0014] Sometimes queries from other individuals themselves can provide additional information, especially when those other individuals were firsthand witnesses to the event. For example, the first individual might submit a query such as "what artifacts are at risk from the cathedral fire?" Other individuals who have more knowledge of the cathedral's artifact collection might have previously submitted queries such as "did they save<relic A> from the cathedral fire?" These previously submitted queries can be mined to provide the first person with alternative query suggestions that, for example, both guide the individual to better queries and / or provide the individual with information responsive to his or her own query (such as the fact that <artifact A> is likely in danger).
[0015] In some embodiments, queries that appear to be unrelated on the surface (i.e., semantically and / or syntactically) may actually be related to the same event. By clustering queries and / or other data from the live data stream based on their relationship to the unfolding event, a pair of queries that are not superficially or explicitly related to each other may be associated in a cluster. Thus, an alternative query similar to the second query of the pair may be suggested to an individual who submitted a query similar to the first query of the pair.
[0016] As an example, a first person in Zurich may see police cars converging on a bank and submit a query such as "details about crime in city center". Another person may indirectly hear that the police have arrested a suspect and may submit the query "recent police statement about burglars in Zurich". On the surface, these queries are semantically dissimilar, except that there may be a slight semantic relationship between "crime" and "burglar". There is nothing more to tie the two queries together. However, using the techniques described in this article, these queries can be clustered around an ongoing event in the center of Zurich. For example, the first person's smartphone may include a location coordinate sensor that indicates that the first person is in Zurich. The second person's query explicitly mentions Zurich, so these queries can be clustered together with the same ongoing event. Therefore, when the first person submits his or her query "details about crime in city center", he or she may receive an alternative query suggestion "recent police statement about burglars in Zurich".
[0017] In some embodiments, a method is provided, comprising: monitoring multiple live data streams; based on the monitoring, generating a data structure that models the diffusion of information through a population; applying the data structure as input to a machine learning model to generate an output, wherein the output indicates a likelihood of occurrence of a developing event; and based on a determination that the likelihood of occurrence of the developing event satisfies a criterion, causing one or more computing devices to render information about the developing event as output.
[0018] These and other implementations of the technology disclosed herein can optionally include one or more of the following features.
[0019] In some embodiments, the data structure comprises a directed graph, and the directed graph is generated based on an underlying network model comprising a plurality of nodes representing sources and a plurality of edges representing communication paths between the plurality of sources. In some embodiments, the data structure comprises a graph, and the machine learning model is trained using a plurality of training examples, each training example comprising a prior graph that models the diffusion of information about a corresponding verified past event through the plurality of sources.
[0020] In some embodiments, the output further indicates a predicted measure of relevance of the developing event to the particular user.In some embodiments, the applying further comprises applying one or more attributes of the particular user as input to a machine learning model.
[0021] In some embodiments, the machine learning model comprises a machine learning model trained to operate on a graph input. In some embodiments, the information about the developing event is determined based at least in part on a corpus of queries submitted to one or more search engines, wherein the corpus of queries is related to the developing event. In some embodiments, the information about the developing event includes alternative query suggestions for obtaining additional information about the developing event.
[0022] Other embodiments may include a non-transitory computer-readable storage medium storing instructions executable by one or more processors (e.g., a central processing unit (CPU), a graphics processing unit (GPU), and / or a tensor processing unit (TPU)) to perform a method such as one or more methods described above and / or elsewhere herein. Other embodiments may include a system of one or more computers including one or more processors operable to execute stored instructions to perform a method such as one or more methods described above and / or elsewhere herein.
[0023] It will be understood that all combinations of the foregoing concepts and additional concepts described in greater detail herein are contemplated as being part of the subject matter disclosed herein. For example, all combinations of the claimed subject matter appearing at the end of this disclosure are considered to be part of the subject matter disclosed herein. BRIEF DESCRIPTION OF THE DRAWINGS
[0024] Figure 1 is a block diagram of an example environment in which implementations disclosed herein may be implemented.
[0025] Figure 2 Depicted are example scenarios in which the techniques described herein may be employed to detect developing events based on semantically related data detected at multiple live data streams.
[0026] Figure 3 Depicts the process after an event has been detected when live data streams and / or search engine queries are analyzed to determine additional information about the developing event. Figure 2 Example scene.
[0027] Figure 4 Depicts an example of how a search query can be utilized to provide information about a developing event.
[0028] Figure 5A 、 Figure 5B and Figure 5C Describes an example of how information diffusion can be simulated on a source network.
[0029] Figure 6 A flowchart illustrating an example method for practicing selected aspects of the present disclosure is depicted.
[0030] Figure 7 An example architecture of a computing device is illustrated. DETAILED DESCRIPTION
[0031] Now turn Figure 1 , illustrates an example environment in which the techniques disclosed herein may be implemented. The example environment includes one or more client computing devices 106. Each client device 106 can execute a respective instance of an automated assistant client 108, which may also be referred to herein as the "client portion" of the automated assistant. One or more cloud-based automated assistant components 119, which may also be referred to herein as the "server portion" of the automated assistant, may be implemented on one or more computing systems (collectively, "cloud" computing systems) communicatively coupled to the client devices 106 via one or more local area networks and / or wide area networks (e.g., the Internet), generally indicated at 114.
[0032] In various embodiments, an instance of automated assistant client 108, through its interaction with one or more cloud-based automated assistant components 119, can form what appears from the user's perspective to be a logical instance of automated assistant 120 that the user can engage with in a human-computer dialogue. Such an instance of automated assistant 120 is Figure 1 108 and one or more cloud-based automated assistant components 119 (which may be shared among multiple automated assistant clients 108).
[0033] One or more client devices 106 may include, for example, one or more of the following: a desktop computing device, a laptop computing device, a tablet computing device, a mobile phone computing device, a computing device of a user's vehicle (e.g., an in-vehicle communication system, an in-vehicle entertainment system, an in-vehicle navigation system), a stand-alone interactive speaker (which in some cases may include a visual sensor), a smart appliance such as a smart TV (or a standard TV equipped with a network-connected dongle with automated assistant capabilities), and / or a user's wearable device including a computing device (e.g., a user's watch with a computing device, a user's glasses with a computing device, a virtual or augmented reality computing device). Additional and / or alternative client computing devices may be provided. Some client devices 106, such as stand-alone interactive speakers (or "smart speakers"), may take the form of an assistant device designed primarily to facilitate a conversation between a user and automated assistant 120.
[0034] As described in greater detail herein, automated assistant 120 participates in a human-computer conversation session with one or more users via user interface input and output devices of one or more client devices 106. In some embodiments, automated assistant 120 can participate in a human-computer conversation session with a user in response to user interface input provided by the user via one or more user interface input devices of one of client devices 106. In some of those embodiments, the user interface input is explicitly directed to automated assistant 120. For example, a user can verbally provide (e.g., type, speak) a predetermined invocation phrase, such as "OK, Assistant" or "Hey, Assistant," to cause automated assistant 120 to begin actively listening for or monitoring typed text. Additionally or alternatively, in some embodiments, automated assistant 120 can be invoked based on one or more detected visual cues, alone or in combination with a verbal invocation phrase.
[0035] In many embodiments, the automated assistant 120 can employ speech recognition processing to convert utterances from the user into text, and accordingly respond to the text, for example, by providing search results, general information, and / or taking one or more responsive actions (e.g., playing media, launching a game, ordering food, etc.). In some embodiments, the automated assistant 120 can additionally or alternatively respond to the utterances without converting them into text. For example, the automated assistant 120 can convert the speech input into embeddings, into entity representations (which indicate one or more entities present in the speech input), and / or other "non-text" representations and operate on such non-text representations. Thus, embodiments described herein as operating based on text converted from speech input can additionally and / or alternatively operate directly on the speech input and / or other non-text representations of the speech input.
[0036] Each of the client computing device 106 and the computing device operating the cloud-based automated assistant component 119 can include one or more memories for storing data and software applications, one or more processors for accessing data and executing applications, and other components to facilitate communication over a network. The operations performed by the client computing device 106 and / or by the automated assistant 120 can be distributed across multiple computer systems. The automated assistant 120 can be implemented as a computer program running on one or more computers in one or more locations coupled to each other over a network.
[0037] The text-to-speech ("TTS") module 116 can be configured to convert text data (e.g., a natural language response formulated by the automated assistant 120) into computer-generated speech output. The speech-to-text ("STT") module 117 can be configured to convert audio data captured by the speech capture module 110 into text. In some embodiments, this text (or alternatively, an embedding thereof) can then be provided to the natural language processor 122. In some embodiments, the STT module 117 can convert the audio recording of the speech into one or more phonemes, and then convert the one or more phonemes into text. Additionally or alternatively, in some embodiments, the STT module 117 can employ a state decoding diagram.
[0038] Automated assistant 120 (and in particular, cloud-based automated assistant component 119) can include the aforementioned TTS module 116, the aforementioned STT module 117, and other components described in more detail below. In some embodiments, one or more of the modules of automated assistant 120 can be omitted, combined, and / or implemented in a component separate from automated assistant 120. In some embodiments, one or more of the components of automated assistant 120, such as natural language processor 122, TTS module 116, STT module 117, etc., can be implemented at least partially on client device 106 (e.g., excluding the cloud).
[0039] In some implementations, automated assistant 120 generates responsive content in response to various inputs generated by a user of one of client devices 106 during a human-machine conversation session with automated assistant 120. Automated assistant 120 can provide responsive content (e.g., over one or more networks while separate from the user's client device) for presentation to the user as part of the conversation session. For example, automated assistant 120 can generate responsive content in response to free-form natural language input provided via client device 106. As used herein, free-form input is input formulated by the user and is not limited to a set of options presented for selection by the user.
[0040] As used herein, a "conversation session" may include a logical, self-contained exchange of one or more messages between a user and automated assistant 120 (and, in some cases, other human participants). Automated assistant 120 may distinguish between multiple conversation sessions with a user based on various signals, such as the passage of time between sessions, changes in user context (e.g., location, before / during / after a scheduled meeting, etc.) between sessions, detection of one or more intermediate interactions between the user and the client device other than the conversation between the user and the automated assistant (e.g., the user switches apps for a moment, the user walks away and then returns to a standalone voice-activated product), locking / hibernation of the client device between sessions, changes in the client device used to interface with one or more instances of automated assistant 120, and the like.
[0041] Natural language processor 122 can be configured to process natural language input generated by a user via client device 106 and can generate annotated output (e.g., in text form) for use by one or more other components of automated assistant 120. For example, natural language processor 122 can process natural language free-form input generated by a user via one or more user interface input devices of client device 106. The generated annotated output includes one or more annotations of the natural language input and one or more (e.g., all) of the terms of the natural language input.
[0042] In some implementations, the natural language processor 122 may additionally and / or alternatively include an entity tagger (not depicted) configured to annotate entity references in one or more segments, such as references to people (including, for example, literary characters, celebrities, public figures, etc.), organizations, locations (real and fictional), etc. In some implementations, the natural language processor 122 may additionally and / or alternatively include a coreference resolver (not depicted) configured to group or "cluster" references to the same entity based on one or more contextual clues.
[0043] In some embodiments, data about entities may be stored in one or more databases, such as in a knowledge graph 136 (which is Figure 1In some embodiments, the knowledge graph 136 may include nodes representing known entities (and in some cases, attributes of entities), and edges connecting the nodes and representing relationships between the entities. For example, a "banana" node may be connected (e.g., as a child node) to a "fruit" node, which in turn may be connected (e.g., as a child node) to a "produce" and / or "food" node. As another example, a restaurant called "Hypothetical Café" may be represented by a node that also includes attributes such as its address, the types of food served, its hours of operation, contact information, and the like. The "Hypothetical Café" node may, in some embodiments, be connected to one or more other nodes, such as a "restaurant" node, a "business" node, a node representing the city and / or state in which the restaurant is located, and the like, via an edge (e.g., representing a child-to-parent relationship).
[0044] The fulfillment module 124 can be configured to receive the predicted / estimated intent output by the natural language processor 122 and fulfill (or "parse") the intent. In various embodiments, the fulfillment (or "parse") of the user's intent can cause various fulfillment information (also referred to as "response" information or "parsed information") to be generated / obtained, for example, by the fulfillment module 124. In some embodiments, the fulfillment information can be provided to a natural language generator ("NLG" in some figures) 126, which can generate a natural language output based on the fulfillment information.
[0045] The fulfillment (or "resolved") information can take various forms, as the intent can be fulfilled (or "resolved") in various ways. Assume that a user requests pure information, such as "Where were the outdoor shots of 'The Shining' filmed?" The user's intent can be determined as a search query, for example, by intent matcher 135. The intent and content of the search query can be provided to fulfillment module 124, which can be used to perform a search. Figure 1As depicted, the fulfillment module 124 can communicate with one or more search modules 128 that are configured to search a corpus of documents, such as the knowledge system 130, and / or other data sources (e.g., the knowledge graph 136, etc.) for response information. The fulfillment module 124 can provide data indicative of the search query (e.g., the text of the query, a dimensionality-reduced embedding, etc.) to the search module 128. The search module 128 can provide response information, such as global positioning system (“GPS”) coordinates or other more explicit information, such as “Timberline Lodge, Mt. Hood, Oregon”. The response information can form part of the fulfillment information generated by the fulfillment module 124.
[0046] The knowledge system 130 may include one or more computing devices, such as one or more server computers (e.g., blade servers) that act in concert to compile knowledge from various sources (e.g., a database of web crawled documents) and provide various services and information to requesting entities. The knowledge system 130 may, among other things, function as a search engine that provides information in response to search queries (e.g., search results, direct response information, deep links, etc.). The knowledge system 130 may also perform various other services and is therefore not limited to Figure 1 Those components depicted in .
[0047] The knowledge system 130 can include the previously mentioned knowledge graph 136 as well as a query monitor 132, and / or a live stream monitor 134. In some embodiments, the knowledge system 130 can, among other things, receive search queries and provide response information. In various embodiments, the query monitor 132 can be configured to monitor queries submitted to, for example, a search engine such as the knowledge system 130, and cluster queries that are semantically related to each other and / or to the developing event. The clustering of semantically related queries can then be utilized to provide interested users with information about the evolution of the developing event, for example, from other queries and / or from the live data stream.
[0048] In various embodiments, the live stream monitor 134 can be configured to monitor multiple live data streams to detect developing events. As previously mentioned, information about new developing events such as disasters, crimes, impromptu gatherings (e.g., protests), accidents, etc. may not be immediately available from traditional information sources such as the knowledge graph 136 or from other data sources often utilized by search engines. Instead, these traditional data sources often lag behind other more agile sources such as live data streams.
[0049] As used herein, a "live stream" may include an information stream generated by one or more individuals (e.g., by an entity such as a business or government organization) that includes multiple updates generated over time. These updates may include text, images, video, audio recordings, or any other form of user-created, user-curated, and / or user-compiled information that can be disseminated to other individuals who have access to the live streams. A common form of live stream update is a social media post, in which the posting user can include text, audio data, video data, image data, hyperlinks, applets, and the like.
[0050] exist Figure 1 For example, the first social network 140 may provide a first plurality of live data streams 142, for example, from a plurality of users of the first social network 140. 1-N Each live data stream 142 may be generated by one or more people associated with a social media profile of the first social network 140. Similarly, the second social media network 144 may provide a second plurality of live data streams 142, for example, from a plurality of users of the second social network 144. N+1 -142 M . N and M are positive integers. Although Figure 1 Two social networks are depicted in FIG, but this is not intended to be limiting. Any number of social networks of various types may provide live data streams.
[0051] Some social networks may be designed to primarily allow users to create posts that are limited to a certain number of characters, words, images, etc., and to allow other users to "follow" the posting user, even if the other users do not know the posting user personally. For example, with some social networks, many users may follow (or subscribe to) a smaller number of "influencers," who are often celebrities or other well-known people (e.g., politicians, journalists). These influencers are unlikely to follow (or subscribe to) the live streams of their followers unless those followers are personal acquaintances of the influencer or are other influencers. By consistently disseminating information that followers find attractive or otherwise valuable, influencers can, in some cases, gain credibility and / or generate income based on their social media posts.
[0052] Other social networks may be designed primarily to allow users to connect to (or "become friends") with other users they know or have met in real life. Once connected, users are able to share content such as text, images, videos, audio, hyperlinks, etc. with their "friends" or "contacts" on social media. These other social networks may be used by users to connect with friends on an informal basis and / or with business acquaintances on a more formal basis (e.g., similar to a virtual rolodex). These sites typically allow users to post messages on other users' walls, such as "Happy Birthday," "Congratulations on the new family member!" and other types of greetings, regards, offers of assistance, etc.
[0053] Despite Figure 1
[0014] Although not depicted in
[0014] , other systems similar to social networks can also be sources of live data streams. For example, a user may have an account on a video sharing website and post a video to the video sharing website. In some cases, these video sharing websites can allow users to subscribe to other users' video updates, similar to some of the social networks described previously. Thus, for example, a particular user who regularly or periodically posts a video can actually create a live stream. Other similar websites are specifically designed to enable users to post images, particularly media that spread ideas, activities, concepts, jokes, catchphrases, or other information, commonly known as Internet "memes."
[0054] Figure 2 The techniques described herein may be employed, for example, by a live stream monitor 134 to monitor a live stream based on a plurality of live data streams (e.g., 142 1-M ) to detect an example scenario of developing events based on semantically related data detected at . Figure 2 A schematic depicts a section of the city from above, with black lines representing roads and a river winding from the upper left to the lower right center. A fire has broken out at a church in the eastern part of the city, as indicated by the flames.
[0055] In the earliest stages of the fire, for example, when it is first detected by one or more witnesses, traditional data sources such as the knowledge graph 136 or search engines are unlikely to have available information about the fire. During this period, the fire can be considered a "developing event" whose information is being collected by multiple sources. These sources can disseminate this information via live data streams. The live stream monitor 134 can employ the techniques described herein to determine the likelihood that a new event is developing. Additionally or alternatively, in some embodiments, the live stream monitor 134 can determine the likelihood that the developing event will be relevant to a particular user.
[0056] exist Figure 2In , a first user who is very close to the fire has posted to social media “OMG! There's a fire at the cathedral! (Oh my God! The church is on fire!)”. Another nearby user posts “There must be ten fire trucks fighting the church fire! (There must be ten fire trucks fighting the church fire!)”. Yet another nearby user posts “I hope the parishioners were able to escape the fire… (I hope the parishioners were able to escape the fire…)”. In various embodiments, the live stream monitor 134 can analyze multiple live streams, including these three live streams, to determine that the developing event is likely to be occurring. The live stream monitor 134 can syntactically and / or semantically process or cause another system to syntactically and / or semantically process these live data stream updates to determine that they are related. For example, the live stream monitor 134 can generate embeddings for these live stream updates and determine that they are related based on the fact that the embeddings are clustered together in the latent space.
[0057] In some embodiments, the live stream monitor 134 may consider other information signals besides live stream updates when determining whether a developing event is occurring. Figure 2 In one embodiment, live stream monitor 134 can determine that three users are close to each other based on the position coordinates (e.g., GPS) generated by the mobile devices operated by three different users. Live stream monitor 134 can additionally or alternatively determine that the three live stream updates are close in time, such as within minutes or even seconds of each other. In combination with the syntactic and / or semantic similarities of their live stream updates, live stream monitor 134 can not only determine that the developing event is unfolding, but also determine that the developing event is unfolding somewhere close to these three users. In addition to or in place of those just mentioned, other information signals can also be considered, including but not limited to demographic information about the posting user (e.g., age, gender), known preferences or interests of the posting user (e.g., determined according to their online profile), known affiliations of the posting user (e.g., alma mater, organization, employer), etc.
[0058] The first three posting users mentioned above Figure 2) are relatively close to the fire. In some embodiments, their posts may be sufficient to determine with a reasonable amount of confidence that the developing event (church fire) is occurring. However, other users who are spatially and / or temporally distant from the fire may also update their live streams with potentially relevant information. These more distant users may have less direct knowledge of the fire, but may instead have situational knowledge of the fire. For example, another user a few blocks west of the fire station posts “There are so many fire trucks headed downtown!”. This user may not know that a particular church is on fire, but may be able to infer that there is a fire somewhere downtown based on the tracks of the fire trucks he or she observes. As another example, a user south of the river posts “Anyone know why there is smoke across the river?”. Again, the south user may not know which buildings are on fire, but may be able to infer that a fire is occurring.
[0059] Whether or how useful live stream updates from more distant users are may depend on whether they include additional information that is not available in live stream updates from users that are closer (either spatially or temporally) to the developing event. Assume that a post from a user to the west, "There are so many fire trucks headed downtown!", appears and / or is detected by the live stream monitor 134 before a post from a user that is spatially closer, "There must be ten fire trucks fighting the church fire!" The post from the user to the west may signal that the fire is likely to be relatively large, whereas the other two posts from two other spatially close users ("I hope the parishioners . . . " and "OMG! There's a fire . . . ") only establish the existence of a fire, not its potential size.
[0060] In some embodiments, certain live data streams may be considered more reliable than others. In some cases, updates posted to a particularly reliable live data stream may trigger the live stream monitor 134 to search for additional information in other lesser-known live data streams. For example, in Figure 2In FIG, the fire department (“FD”) posts its own live stream update, “CODE12345@STATE AND MAIN.” Assuming that “CODE 12345” corresponds to a fire, such a post might be considered highly reliable due to its source being an official government agency rather than a little-known individual. Notably, the post does not indicate that it is a church on fire, but instead simply states the location as “STATE AND MAIN.” Given that there are other buildings in the area, it might not be possible to infer that the church is on fire based on the fire department’s post alone. However, when combined with other corroborating posts indicating that the church is on fire, the live monitor 134 can become highly confident that the developing event of a church fire is occurring. Although the fire department may receive false alarms, even its post may not necessarily be considered conclusive or definitive by the live stream monitor 134.
[0061] In some implementations, the techniques described herein for identifying developing events can be used to automatically trigger response actions by various entities. For example, the first three users' posts described previously may be sufficient for the live stream monitor 134 to determine, for example, with a certain threshold amount of confidence that a fire has indeed occurred at a church. When that threshold is met, the live stream monitor 134 or another component of the knowledge system 130 can automatically notify the fire department of the fire at the church, for example, via an automated phone call, an automated alert on an emergency response system, and the like. In such a scenario, Figure 2 The fire department's post may actually be part of the fire department's response to three initial live stream updates indicating the occurrence of a developing church fire incident.
[0062] Figure 3 Depicts after the developing event has been established (e.g., a confidence measure that the developing event is real meets a certain threshold) Figure 2 In this example scenario, live data streams and / or search engine queries can be analyzed to determine additional information about the developing event. This data can then be used to provide information to other inquiring users. Figure 3 Focus on the time of events Figure 2 events, but they may still be relatively "fresh" such that conventional information sources such as the knowledge graph 136 and / or search engines are still not fully informed.
[0063] exist Figure 3, a user to the north submits the search engine query "Did the stain glass windows survive?". This query may be determined by the query monitor 132 to be semantically relevant to the developing church fire event, for example, because "stained glass windows" may generally have a relatively strong semantic relationship to churches, and the word "survive" implies the occurrence of some destructive event such as a fire. Another user who is relatively close to the fire asks "How long did repairs to the cathedral take after the 1948 fire?". Yet another user located at the southernmost end of the city asks "Where are there any injuries caused by Tuesday's fire?". A user to the southwest asks "What caused the cathedral fire?". A user to the west asks "Is the hypothetical crown still in the cathedral?". Any of these queries, whether or not they are still answerable by conventional data sources such as search engines or the knowledge graph 136, can be exploited to quickly disseminate new information about developing events to interested users.
[0064] Figure 4 An example client device 406 is depicted in the form of a smartphone or tablet computer. The client device 406 includes various components typically found in such client devices, which are not described in detail herein. Figure 4 In FIG, a user has interacted with search query interface 460 to post the question "What relics were endangered by the cathedral fire?" The user may post this question by typing it on a virtual or physical keyboard (not depicted) or by speaking the request to automated assistant 120. In either case, query monitor 132 may receive the query and may provide information such as a query from a query associated with the developing event. Figure 3 Alternative query suggestions 462 are generated for other users' queries of the query depicted in FIG.
[0065] In this example, assume that because the developing event is too fresh, the query posted by the user cannot yet be answered from conventional data sources such as a search engine or knowledge graph 136. The alternative query suggestions 462 presented to the user may, however, provide information responsive to the user's request. For example, the alternative query suggestions 462 include "Is Hypothetical Crown still in the cathedral?", "Did the stain glass windows survive?", and "Can the Tulip Window be restored?". Even though they are posted as questions, these alternative query questions 462 provide information responsive to the user's request—potentially endangered artifacts include "hypothetical crown," "stained glass window," and "tulip window."
[0066] In some implementations, the live stream monitor 134 may analyze how information is diffused across a population to determine the likelihood of a developing event and / or whether a developing event will be associated with a particular entity. Figure 5A -C schematically illustrates an example of how this analysis can be performed. Figure 5A , a network model 570 representing communication paths between individuals of a crowd is depicted. In particular, the nodes of the network model 570 represent individual entities or "sources" of live stream updates, such as people, organizations, etc. The edges between the nodes represent communication paths established between the sources.
[0067] For example, suppose one entity follows another entity on a particular social network. An edge between the nodes corresponding to those entities can represent this relationship between them. If the first of the two entities follows the second entity but the reverse is not true, in some embodiments, an edge can be directed from the second entity to the first entity to represent the fact that information flows from the second entity to the first entity, but not the other way around. However, this is not required in all embodiments. As another example, if two people are "friends" on a social network, they can communicate with each other, and therefore, an undirected edge can be established between their corresponding nodes.
[0068] In various embodiments, live data streams associated with at least some of the entities corresponding to nodes of the network model 570 can be monitored for developing events, for example, by the live stream monitor 134. Based on the monitoring, in some embodiments, the live stream monitor 134 can generate a separate data structure that models the diffusion of information about potential developing events through a population. The separate data structure can reside above the underlying network model 570. In some embodiments, the separate data structure can take the form of a directed graph that indicates how information about developing events flows between the nodes of the underlying network model 570 over time.
[0069] In some embodiments, the live stream monitor 134 can apply the data structure as input to a machine learning model such as a graph neural network ("GNN"), a graph convolutional network ("GCN"), a graph attention network ("GAN"), etc. to generate an output. In some embodiments, the output can indicate the likelihood of occurrence of the developing event and / or a predicted measure of the relevance of the developing event to a particular user. In some embodiments, the output can include an embedding generated from the data structure, which can then be compared with other embeddings generated from other data structures corresponding to other events.
[0070] In various embodiments, a machine learning model may be trained using multiple training examples. Each training example may include, for example, a prior graph that models the diffusion of information about a corresponding verified past event through multiple sources. An example of this is shown in Figure 5B and Figure 5C middle.
[0071] exist Figure 5B , a directed graph is indicated at the nodes labeled AH. This directed graph represents the fact that the entity or source corresponding to node A of the underlying network model 570 is the first entity or source to post a live stream update about a potential developing event. For example, this source (A) may have been an eyewitness to the developing event. This source (A) posts its updates, which are received by followers of the entities represented by nodes BD. Those entities, in turn, directly or indirectly, pass information to other entities corresponding to nodes EH. For the purposes of this disclosure, the letters A, B, C, ... will not be exclusively assigned to specific sources, but will instead be used to indicate the order of the directed graph.
[0072] Figure 5BThe directed graph AH can be used as a training example for training one or more of the aforementioned machine learning models (e.g., GNN, GCN, GAN). In some embodiments where the developing event is later confirmed or verified, the details of the event can be used to label the directed graph. For example, in some embodiments, the training examples can be labeled with the probability that the event actually occurred and / or another probability that the event will be associated with a particular entity. In some examples, the training examples may include features of the entity to which the developing event associated with the training example will be associated as additional input. The training examples can then be applied as input to the machine learning model. To the extent that the output of the machine learning model generated from the directed graph differs from any label assigned to the graph, the difference or "error" can be used to train the machine learning model, for example, using techniques such as backpropagation and gradient descent.
[0073] exist Figure 5C In FIG, different directed graphs AL are depicted above the underlying network model 570. This directed graph AL may correspond to the network model 570 through Figure 5B The directed graph AH represents different verified past events. In this example, nodes A and D are obviously the first to learn about the past events, and then spread the information to other nodes BC and EL in the underlying network model 570. Figure 5B Like the directed graph AH, Figure 5C The directed graph AL can be used as a training example for training one or more of the aforementioned machine learning models (e.g., GNN, GCN, GAN).
[0074] In some embodiments, the machine learning model can be trained to generally predict the likelihood that a developing event is occurring. However, in other embodiments, the machine learning model can be trained to additionally or alternatively predict the probability P that a developing event is associated with a particular user:
[0075] P(events occurring at node x | features of a specific user, graph)
[0076] Intuitively, this probability P can represent the probability of an event occurring at a particular node x (e.g., of the underlying network model 570), conditioned on one or more characteristics of a particular user and a data structure / embedding (e.g., of a local neighborhood). Thus, the input for a machine learning model can include a data structure, such as a directed graph or an embedding generated therefrom, that models the diffusion of information about a developing event across a population and one or more characteristics or attributes of a user, such as preferences, interests, age, gender, various other demographics, location, etc.
[0077] In some embodiments, multiple machine learning models may be employed to predict the above-mentioned probability P. As a non-limiting example, in some embodiments, a directed graph may be generated that models the diffusion of information about a developing event across a population. The directed graph may then be applied as input to a first machine learning model to generate an embedding (i.e., a feature vector). The first machine learning model may be, for example, one of the graph-centric models described previously, such as a GNN, GCN, GAN, etc. Thus, the embedding may be a semantically rich representation of how information diffuses across the various sources that form the population.
[0078] The embedding generated by the first machine learning model can then be applied as input to a second machine learning model, such as a support vector machine, a neural network (including various types of neural networks such as convolutional, recurrent, etc.), along with other inputs indicating characteristics of the user under consideration. The second machine learning model can be trained to generate an output indicating, for example, a probability that a developing event will be associated with a user having the user characteristics applied as input to the second machine learning model.
[0079] As previously noted, in some embodiments, the probability P may be compared to a certain threshold to determine whether to automatically trigger a certain response action. For example, in some embodiments, if the probability P meets a certain threshold associated with a developing event that warrants a response from a first responder, one or more messages may be sent, for example, by the live stream monitor 134, to a system associated with the first responder. For example, a 911 call may be initiated, and a response may be automatically triggered, for example, by the first responder. Figure 1 The natural language generator 126 or another similar component in generates natural language output that conveys details about the developing incident, which can then be provided to a 911 operator.
[0080] Figure 6 6 is a flowchart illustrating an example method 600 according to embodiments disclosed herein. For convenience, the operations of the flowchart are described with reference to a system performing the operations. The system may include various components of various computer systems, such as one or more components of a computing system that implements automated assistant 120. Furthermore, while the operations of method 600 are shown in a particular order, this is not intended to be limiting. One or more operations may be reordered, omitted, or added.
[0081] At block 602, the system can monitor multiple live data streams. For example, the live stream monitor 134 can monitor a specific live data stream that is known to be reliable and / or otherwise associated with a source that often has early information about developing events. As noted above, some first responder entities, such as police and / or fire departments, can, for example, maintain social network profiles as a public service. These entities may often be the first to know about some events, for example, because other sources that witnessed the event may first notify the first responders before taking any other action such as updating their own live data streams. First responders can post information about developing events as a public service so that citizens can be notified of reliable information as quickly as possible.
[0082] Other live data streams that may be deemed particularly reliable—and therefore may be actively monitored by the live stream monitor 134—may include, for example, live streams associated with news reporters, including social network profiles of news organizations such as newspapers, television stations, internet news sources, etc. Still other live data streams that may be deemed particularly reliable—and therefore may be actively monitored by the live stream monitor 134—may include, for example, live streams associated with politicians, government officials, scientists, or any other source that may be in a position to learn about developing events more quickly than the general population and / or is deemed more trustworthy for whatever reason.
[0083] In some embodiments, the live stream monitor 134 can simply monitor a random selection of live data streams. Additionally or alternatively, in some embodiments, the live stream monitor 134 can monitor particularly active live data streams, for example, under the assumption that these active sources are more likely to post live updates about developing events that they witness. Additionally or alternatively, in some embodiments, the live stream monitor 134 can select sources from geographic areas where developing events are more likely to occur. For example, the live monitor 134 may prefer a first source that resides in a densely populated area over a second source that resides in a rural area. Intuitively, a first source is more likely to witness developing events than a second source, particularly developing events that are caused by or otherwise related to people. Additionally or alternatively, in some embodiments, the live stream monitor 134 can monitor multiple live data streams associated with sources distributed across a large geographic area. This may increase the likelihood that a developing event at a particular location is witnessed by at least one source.
[0084] Based on the monitoring, the system can generate a data structure that models the diffusion of information through the population at block 604. As noted above, in some embodiments, the data structure can take the form of an underlying network model (e.g., Figure 5A-570 in C) above the generated directed graph form.
[0085] At block 606, the system may apply the data structure as input to a machine learning model to generate an output. As previously noted, the machine learning model may take various forms and / or may include one or more machine learning models. The output may indicate the likelihood of the developing event occurring. For example, a graph-based machine learning model such as a GNN, GCN, or GAN may be used to process the directed graph to generate an output indicating the likelihood.
[0086] Additionally or alternatively, and as previously mentioned, in some embodiments, a graph-specific machine learning model can be applied to a directed graph to generate an embedding. The embedding can then be applied as input to another machine learning model, for example, to generate an output indicating the likelihood that a developing event is occurring, and / or an output indicating whether a developing event will be associated with a particular user (or more generally, with a user having particular characteristics or attributes).
[0087] Based on the determination that the likelihood satisfies the criteria, the system may cause one or more computing devices to render information about the developing event as output at block 608. In some embodiments, the system may cause one or more computing devices associated with first responders, such as fire departments, police departments, and the like, to generate alerts, warnings, and the like intended to trigger response actions by the first responders. For example, in some embodiments, a natural language output may be generated and broadcast by one or more devices, such as radios, carried by first responders, indicating the nature of the developing event (e.g., one code for fire, another for robbery, another for riot, etc.) and / or its location.
[0088] Additionally or alternatively, in some embodiments, one or more users who are aware of a developing event may compose and submit a search query seeking information about the event, for example, to a search engine that has access to the knowledge graph 136. It is possible that, especially immediately after a developing event begins to unfold, these traditional data sources may not yet have sufficient information about the event to respond. Therefore, in various embodiments, the system may utilize queries received from other users about the developing event to provide additional information to the requesting user whenever possible. An example of this is depicted in Figure 4 middle.
[0089] Figure 77 is a block diagram of an example computing device 710 that can optionally be used to perform one or more aspects of the techniques described herein. Computing device 710 generally includes at least one processor 714 that communicates with a number of peripheral devices via a bus subsystem 712. These peripheral devices may include a storage subsystem 724, including, for example, a memory subsystem 725 and a file storage subsystem 726; an interface output device 720; a user interface input device 722; and a network interface subsystem 716. The input and output devices allow a user to interact with computing device 710. The network interface subsystem 716 provides an interface to an external network and is coupled to corresponding interface devices in other computing devices.
[0090] User interface input devices 722 may include a keyboard; a pointing device such as a mouse, trackball, touchpad, or graphics tablet; a scanner; a touch screen incorporated into a display; an audio input device such as a voice recognition system; a microphone; and / or other types of input devices. In general, the use of the term "input device" is intended to include all possible types of devices and ways of inputting information into computing device 710 or a communication network.
[0091] User interface output device 720 may include a display subsystem, a printer, a fax machine, or a non-visual display such as an audio output device. The display subsystem may include a cathode ray tube (CRT), a flat panel device such as a liquid crystal display (LCD), a projection device, or other mechanism for creating visual images. The display subsystem may also provide a non-visual display, such as via an audio output device. In general, the use of the term "output device" is intended to include all possible types of devices and ways of outputting information from computing device 710 to a user or another machine or computing device.
[0092] The storage subsystem 724 stores programming and data structures that provide the functionality of some or all of the modules described herein. For example, the storage subsystem 724 may include an executable Figure 6 Selected aspects of pipeline 700 and implementation Figure 1 The logic of the various components described in .
[0093] These software modules are typically executed by the processor 714 alone or in combination with other processors. The memory 725 used in the storage subsystem 724 can include multiple memories, including a main random access memory (RAM) 730 for storing instructions and data during program execution and a read-only memory (ROM) 732 for storing fixed instructions. The file storage subsystem 726 can provide persistent storage for program and data files and can include a hard drive, a floppy disk drive and associated removable media, a CD-ROM drive, an optical drive, or a removable media cartridge. Modules that implement the functionality of certain embodiments can be stored by the file storage subsystem 726 in the storage subsystem 724, or stored in other machines accessible to the processor 714.
[0094] The bus subsystem 712 provides a mechanism for the various components and subsystems of the computing device 710 to communicate with each other as intended. Although the bus subsystem 712 is shown schematically as a single bus, alternative implementations of the bus subsystem may use multiple busses.
[0095] The computing device 710 can be of various types, including a workstation, server, computing cluster, blade server, server farm, or any other data processing system or computing device. Due to the ever-changing nature of computers and networks, Figure 7 The description of the computing device 710 depicted in FIG is intended only as a specific example for purposes of illustrating some embodiments. Many other configurations of the computing device 710 are possible with more Figure 7 The computing devices depicted in the drawings may have more or fewer components.
[0096] In cases where the systems described herein collect or otherwise monitor personal information about users, or where personal and / or monitored information may be used, users may be provided with the opportunity to control whether programs or features collect information about users (e.g., information about the user's social network, social behavior or activities, occupation, the user's preferences, or the user's current geographic location), or to control whether and / or how content more relevant to the user is received from content servers. In addition, certain data may be processed in one or more ways before being stored or used so that personally identifiable information is removed. For example, a user's identity may be processed so that no personally identifiable information can be determined for the user, or a user's geographic location may be generalized to obtain geographic location information (such as at the city, zip code, or state level) so that the user's specific geographic location cannot be determined. Thus, users may have control over how information about users is collected and / or used.
[0097] Although several embodiments have been described and illustrated herein, various other means and / or structures for performing the functions and / or obtaining the results and / or advantages described herein may be utilized, and each of such variations and / or modifications is considered to be within the scope of the embodiments described herein. More generally, all parameters, dimensions, materials, and configurations described herein are intended to be exemplary, and the actual parameters, dimensions, materials, and / or configurations will depend on the specific application or applications to which the teachings are applied. Those skilled in the art will recognize or be able to ascertain many equivalents to the specific embodiments described herein using no more than routine experimentation. It should therefore be understood that the above embodiments are presented merely as examples, and within the scope of the appended claims and their equivalents, embodiments may be practiced in a manner different from that specifically described and claimed. Embodiments of the present disclosure are directed to each individual feature, system, article, material, kit, and / or method described herein. In addition, any combination of two or more such features, systems, articles, materials, kits, and / or methods is included within the scope of the present disclosure if such features, systems, articles, materials, kits, and / or methods are not mutually inconsistent.
Claims
1. A method implemented using one or more processors, comprising: Monitor multiple live data streams; generating, based on the monitoring, a data structure that models the diffusion of information through a population; applying the data structure as input to a machine learning model to generate an output, wherein the output indicates a likelihood of occurrence of the developing event; and Based on the determination that the likelihood of occurrence of the developing event satisfies a criterion, causing one or more computing devices to render as output information about the developing event, wherein the data structure comprises a graph and the machine learning model is trained using a plurality of training examples, each training example comprising a prior graph that models the diffusion of information about a corresponding verified past event through a plurality of sources.
2. The method according to claim 1, wherein The data structure includes a directed graph, and the directed graph is generated based on an underlying network model including a plurality of nodes representing sources and a plurality of edges representing communication paths between the plurality of sources.
3. A method implemented using one or more processors, comprising: Monitor multiple live data streams; generating a graph that models the diffusion of information through a population based on the monitoring; applying the graph as input to a first machine learning model to generate an embedding; applying the embedding and one or more preferences or interests of a particular user as input to a second machine learning model to generate a predictive measure of relevance of a developing event to the particular user; as well as Based on a determination that the measure of relevance of the developing event to the particular user satisfies a criterion, causing one or more computing devices controlled by the particular user to render information about the developing event as output to the particular user.
4. A method implemented using one or more processors, comprising: Monitor multiple live data streams; generating, based on the monitoring, a data structure that models the diffusion of information through a population; applying the data structure as input to a machine learning model to generate an output, wherein the output indicates a likelihood of occurrence of the developing event; and Based on a determination that the likelihood of occurrence of the developing event satisfies a criterion, causing one or more computing devices to render as output information regarding the developing event; Wherein, the machine learning model includes a machine learning model trained to operate on graph input.
5. A method implemented using one or more processors, comprising: Monitor multiple live data streams; generating, based on the monitoring, a data structure that models the diffusion of information through a population; applying the data structure as input to a machine learning model to generate an output, wherein the output indicates a likelihood of occurrence of the developing event; and Based on a determination that the likelihood of occurrence of the developing event satisfies a criterion, causing one or more computing devices to render as output information regarding the developing event; Wherein the information about the developing event is determined based at least in part on a corpus of queries submitted to one or more search engines, wherein the corpus of queries is related to the developing event.
6. The method according to claim 5, wherein: The information about the developing event includes alternative query suggestions for obtaining additional information about the developing event.
7. A system comprising one or more processors and a memory storing instructions, wherein the instructions, when executed by the one or more processors, cause the one or more processors to perform operations comprising: Monitor multiple live data streams; generating a graph that models the diffusion of information through a population based on the monitoring; applying the graph as input to a first machine learning model to generate an embedding; applying the embedding and one or more preferences or interests of a particular user as input to a second machine learning model to generate a predictive measure of relevance of a developing event to the particular user; as well as Based on a determination that the measure of relevance of the developing event to the particular user satisfies a criterion, causing one or more computing devices controlled by the particular user to render information about the developing event as output to the particular user.
8. The system according to claim 7, wherein: The graph includes a directed graph, and the directed graph is generated based on an underlying network model including a plurality of nodes representing sources and a plurality of edges representing communication paths between the plurality of sources.
9. The system according to claim 7, wherein: The machine learning model is trained using a plurality of training examples, each training example comprising a prior graph that models the diffusion of information about a corresponding verified past event through a plurality of sources.
10. The system according to claim 7, wherein: The machine learning model is trained to operate on graph input.
11. The system according to claim 7, wherein: The information about the developing event is determined based at least in part on a corpus of queries submitted to one or more search engines.
12. The system according to claim 11, wherein The information about the developing event includes alternative query suggestions to obtain additional information about the developing event.
13. At least one non-transitory computer-readable medium comprising instructions that, when executed by one or more processors, cause the one or more processors to perform the following operations: Monitor multiple live data streams; generating, based on the monitoring, a data structure that models the diffusion of information through a population; applying the data structure as input to a machine learning model to generate an output, wherein the output indicates a likelihood of occurrence of the developing event; and Based on a determination that the likelihood of occurrence of the developing event satisfies a criterion, causing one or more computing devices to render as output information regarding the developing event; Wherein the information about the developing event is determined based at least in part on a corpus of queries submitted to one or more search engines, wherein the corpus of queries is related to the developing event.
14. The at least one non-transitory computer-readable medium of claim 13, wherein: The data structure includes a directed graph, and the generating includes generating the directed graph based on an underlying network model including a plurality of nodes representing sources and a plurality of edges representing communication paths between the plurality of sources.
15. The at least one non-transitory computer-readable medium of claim 13, wherein: The data structure comprises a graph and the machine learning model is trained using a plurality of training examples, each training example comprising a prior graph that models the diffusion of information about a corresponding verified past event through a plurality of sources.
16. The at least one non-transitory computer-readable medium of claim 13, wherein: The output further indicates a predicted measure of relevance of the developing event to a particular user, and wherein the applying further comprises applying one or more attributes of the particular user as input to the machine learning model.
Citation Information
Patent Citations
System and method for event-related content discovery, curation, and presentation
US20160034712A1