Legal claims defining the scope of protection, as filed with the USPTO.
1. A method comprising: receiving, at a memory of a server computer system executing a distributed storytelling framework, a set of publicly accessible social network posts from one or more social networking systems, each publicly accessible social network post including text comprising at least nouns and verbs and including a geographic location associated with the social networking post; converting, by one or more processors of the server computer system, the set of publicly accessible social network posts into a plurality of adjacency lists, each adjacency list comprising a set of nodes linked together by a set of edges, wherein converting the set of publicly accessible social network posts into the plurality of adjacency lists comprises: performing natural language processing by the one or more processors on social network posts to extract entities corresponding to nouns and verbs that link two or more nouns from text of each post in the set of publicly accessible social network posts, and assigning each extracted entity to serve as a key or a value based on a verb linking two or more nouns in at least one adjacency list, the key and the value being nouns extracted from text of a social network post and verbs connecting the two or more nouns and partial storylines generated from those nouns and verbs; receiving a user query, by the one or more processors of the server computer system, wherein the user query comprises at least a starting entity and a storyline length of k nodes specified by a user in a user interface of a client device, wherein k is an integer greater than two; converting, by the one or more processors of the server computer system in response to the starting entity of the user query, an adjacency list from the plurality of adjacency lists to a set of generated storylines having a length of two or ore nodes, each storyline being represented in the memory as a key-value pair, wherein the key-value pair represents a node and one or more partial storylines comprising the node linked to other nodes by edges; combining, by the one or more processors of the server computer system, storylines, of the set of generated storylines, to generate an extended storyline in response to a value from a first storyline matching an entity from an adjacency list, wherein the extended storyline has a length of greater than two nodes, includes a single key and multiple values, and is added to the set of generated storylines; repeating, by the one or more processors of the server computer system, combining storylines, of the set of generated storylines, with co-occurring entities in values of adjacency lists, to generate extended storylines, at least one of the generated extended storylines having the length of k nodes specified in the user query; generating, by the one or more processors of the server computer system, an output comprising at least one output storyline corresponding to at least one of the generated extended storylines having the length of k nodes that starts from the starting entity; and communicating, with a network interface of the server computer system, the output as a digital transmission to the client device for display of the at least one output storyline to the user in response to the user query at the client device.
2. The method of claim 1 , wherein a key-value pair of the first storyline is N1:N2, wherein a value in an adjacency list is N2:N3, and where the extended storyline from the first storyline and a co-occurring entity in values of the adjacency list is N1:N2:N3, wherein N1 is a first node, N2 is a second node, and N3 is a third node.
3. The method of claim 1 , further comprising: determining that the starting entity corresponds to a node in the adjacency list, wherein providing the output corresponding to the at least one of the generated storylines comprises providing an output of at least one storyline that includes the co-occurring node in the adjacency list.
4. The method of claim 1 , wherein extending the storylines to generate extended storylines in response to the value from the first storyline matching a value in an adjacency list comprises: determining that a timestamp of the co-occurring entity in value of adjacency list corresponds to a time later than a timestamp of the first storyline; and extending the first storyline with the co-occurring entity in the adjacency list in response to determining that the timestamp of the entity in extended storyline corresponds to the time later than the timestamp of the preceding entities in storyline.
5. The method of claim 1 , further comprising: combining each node from at least a portion of the set of nodes with a concept rank, the concept rank measuring an importance of a corresponding node based on links to the corresponding node, wherein providing the output corresponding to at least one of the generated storylines comprises providing the output corresponding to a generated storyline enhanced with concept ranks of nodes in the generated storyline for subsequent sorting.
6. The method of claim 1 , further comprising: combining each node from at least a portion of the set of nodes with a geographic location, wherein combining the generated storylines to generate additional storylines in response to the value from a first storyline to be combined matching the key from a second storyline to be combined further comprises: combining the generated storylines to generate additional storylines based on a geographic distance between a geographic location of a node in the first storyline and a geographic location of a node in the second storyline being less than a threshold geographic distance.
7. A non-transitory machine-readable medium comprising instructions which, when executed by one or more processors of a server computer system, cause the server computer system to execute a distributed storytelling framework by performing operations comprising: receiving, at a memory associated with the one or more processors of the server computer system, a set of publicly accessible social network posts, each publicly accessible social network post including text comprising at least nouns and verbs and including a geographic location associated with the social networking post; converting, by the one or more processors of the server computer system, the set of publicly accessible social network posts into a plurality of adjacency lists, each adjacency list comprising a set of nodes linked together by a set of edges, wherein converting the set of publicly accessible social network posts into the plurality of adjacency lists comprises: performing natural language processing by the one or more processors on social network posts to extract entities corresponding to nouns and verbs that link two or more nouns from text of each post in the set of publicly accessible social network posts, and assigning each extracted entity to serve as a key or a value based on a verb linking two or more nouns in at least one adjacency list, the key and the value being nouns extracted from text of a social network post and verbs connecting the two or more nouns and partial storylines generated from those nouns and verbs; receiving a user query, by the one or more processors of the server computer system, wherein the user query comprises at least a starting entity and a storyline length of k nodes specified by a user in a user interface of a client device, wherein k is an integer greater than two; converting, by the one or more processors of the server computer system in response to the starting entity of the user query, an adjacency list from the plurality of adjacency lists to a set of generated storylines having a length of two or more nodes, each storyline being represented in the memory as a key-value pair, wherein the key-value pair represents a node and one or more partial more storylines comprising the node linked to other nodes by edges; combining, by the one or more processors of the server computer system, storylines, of the set of generated storylines, to generate an extended storyline in response to a value from a first storyline matching an entity from an adjacency list, wherein the extended storyline has a length of greater than two nodes, includes a single key and multiple values, and is added to the set of generated storylines; repeating, by the one or more processors of the server computer system, combining storylines, of the set of generated storylines, with co-occurring entities in values of adjacency lists, to generate extended storylines, at least one of the generated extended storylines having the length of k nodes specified in the user query; generating, by the one or more processors of the server computer system, an output comprising at least one output storyline corresponding to at least one of the generated extended storylines having the length of k nodes that starts from the starting entity; and communicating, with a network interface of the server computer system, the output as a digital transmission to a client device for display of the at least one output storyline to the user in response to the user query at the client device.
8. The machine-readable medium of claim 7 , wherein a key-value pair of the first storyline is N1:N2, wherein a value in an adjacency list is N2:N3, and where the extended storyline from the first storyline and a co-occurring entity in values of the adjacency list is N1:N2:N3, wherein Ni is a first node, N2 is a second node, and N3 is a third node.
9. The machine-readable medium of claim 7 , the operations further comprising: determining that the starting entity corresponds to a node in the adjacency list, wherein providing the output corresponding to the at least one of the generated storylines comprises providing an output of at least one storyline that includes the co-occurring node in the adjacency list.
10. The machine-readable medium of claim 7 , wherein extending the storylines to generate extended storylines in response to the value from the first storyline matching a value in an adjacency list further comprises: determining that a timestamp of the co-occurring entity in value of adjacency list corresponds to a time later than a timestamp of the first storyline; and extending the first storyline with the co-occurring entity in the adjacency list in response to determining that the timestamp of the entity in extended storyline corresponds to the time later than the timestamp of the preceding entities in storyline.
11. The machine-readable medium of claim 7 , the operations further comprising: combining each node from at least a portion of the set of nodes with a concept rank, the concept rank measuring an importance of a corresponding node based on links to the corresponding node, wherein providing the output corresponding to at least one of the generated storylines comprises providing the output corresponding to a generated storyline enhanced with concept ranks of nodes in the generated storyline for subsequent sorting.
12. The machine-readable medium of claim 7 , the operations further comprising: combining each node from at least a portion of the set of nodes with a geographic location, wherein combining the generated storylines to generate additional storylines in response to the value from a first storyline to be combined matching the key from a second storyline to be combined further comprises: combining the generated storylines to generate additional storylines based on a geographic distance between a geographic location of a node in the first storyline and a geographic location of a node in the second storyline being less than a threshold geographic distance.
13. A server computer system comprising: one or more processors; and a memory comprising instructions which, when executed by the one or more processors, cause the one or more processors to execute a distributed storytelling framework by performing operations comprising: receiving a set of publicly accessible social network posts, each publicly accessible social network post including text comprising at least nouns and verbs and including a geographic location associated with the social networking post; converting, by the one or more processors of the server computer system, the set of publicly accessible social network posts into a plurality of adjacency lists, each adjacency list comprising a set of nodes linked together by a set of edges, wherein converting the set of publicly accessible social network posts into the plurality of adjacency lists comprises: performing natural language processing by the one or more processors on social network posts to extract entities corresponding to nouns and verbs that link two or more nouns from text of each post in the set of publicly accessible social network posts, and assigning each extracted entity to serve as a key or a value based on a verb linking two or more nouns in at least one adjacency list, the key and the value being nouns extracted from text of a social network post and verbs connecting the two or more nouns and partial storylines generated from those nouns and verbs; receiving a user query, by the one or more processors of the server computer system, wherein the user query comprises at least a starting entity and a storyline length of k nodes specified by a user in a user interface of a client device, wherein k is an integer greater than two; converting, by the one or more processors of the server computer system in response to the starting entity of the user query, an adjacency list from the plurality of adjacency lists to a set of generated storylines having a length of two or more nodes, each storyline being represented in the memory as a key-value pair, wherein the key-value pair represents a node and one or more partial storylines comprising the node linked to other nodes by edges; combining, by the one or more processors of the server computer system, storylines, of the set of generated storylines, to generate an extended storyline in response to a value from a first storyline matching an entity from an adjacency list, wherein the extended storyline has a length of greater than two nodes, includes a single key and multiple values, and is added to the set of generated storylines; repeating, by the one or more processors of the server computer system, combining storylines, of the set of generated storylines, with co-occurring entities in values of adjacency lists, to generate extended storylines, at least one of the generated extended storylines having the length of k nodes specified in the user query; generating, by the one or more processors of the server computer system, an output comprising at least one output storyline corresponding to at least one of the generated extended storylines having the length of k nodes that starts from the starting entity; and communicating, with a network interface of the server computer system, the output as a digital transmission to a client device for display of the at least one output storyline to the user in response to the user query at the client device.
14. The system of claim 13 , wherein a key-value pair of the first storyline is N1:N2, wherein a value in an adjacency list is N2:N3, and where the extended storyline from the first storyline and a co-occurring entity in values of the adjacency list is N1:N2:N3, wherein N1 is a first node, N2 is a second node, and N3 is a third node.
15. The system of claim 13 , the operations further comprising: determining that the starting entity corresponds to a node in the adjacency list, wherein providing the output corresponding to the at least one of the generated storylines comprises providing an output of at least one storyline that includes the co-occurring node in the adjacency list.
16. The system of claim 13 , wherein the operations for extending the storylines to generate extended storylines in response to the value from the first storyline matching a value in an adjacency list further comprise: determining that a timestamp of the co-occurring entity in value of adjacency list corresponds to a time later than a timestamp of the first storyline; and extending the first storyline with the co-occurring entity in the adjacency list in response to determining that the timestamp of the entity in extended storyline corresponds to the time later than the timestamp of the preceding entities in storyline.
17. The system of claim 13 , the operations further comprising: combining each node from at least a portion of the set of nodes with a concept rank, the concept rank measuring an importance of a corresponding node based on links to the corresponding node, wherein providing the output corresponding to at least one of the generated storylines comprises providing the output corresponding to a generated storyline enhanced with concept ranks of nodes in the generated storyline for subsequent sorting.
Unknown
June 25, 2019
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.