IP Library Granted Patent US 11,698,918
Granted Patent B2
US 11,698,918 · App. 17/083,697 · Granted Jul 11, 2023

System and method for content-based data visualization using a universal knowledge graph

Inventors: Inna Tokarev Sela (Tel Aviv, IL); Yael Lev (Tel Aviv, IL); Guy Boyangu (Tel Aviv, IL); Yuval Shkolar (Tel Aviv, IL); Amnon Lotenberg (Tel Aviv, IL)
Assignee: SISENSE LTD.
G06F16/285G06F3/04842G06F18/22G06F18/29G06N5/02
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,698,918
App. No.
17/083,697
Granted
Jul 11, 2023
Kind
B2
Abstract

A system and method for generating data visualizations. The method includes generating an enriched data layer based on a plurality of knowledge graphs, the plurality of knowledge graphs including a plurality of first nodes, the enriched data layer including a plurality of second nodes, wherein each of the plurality of second nodes is connected via an edge to at least one of the plurality of first nodes; and generating a data visualization based on the enriched data layer and a request for data, wherein the request for data indicates a type of data corresponding to at least one of the plurality of second nodes, wherein the data visualization is generated using data represented by at least one of the plurality of first nodes connected to the at least one of the plurality of second nodes.

Claims (61)

1. A method for generating data visualizations, by a computer system, comprising:

receiving events by the computer system;

parsing, by the computer system, each of a plurality of the received events into a plurality of objects, wherein the plurality of events includes a plurality of queries, wherein each event of the plurality of events is related to an interaction with at least one data source;

determining, by the computer system, for each of the plurality of events, a relationship between two objects of the plurality of objects;

generating, by the computer system, a semantic knowledge graph based on the determined relationships, the semantic knowledge graph including a plurality of query nodes and a plurality of edges, wherein each query node corresponds to a respective object of the plurality of objects, wherein each query node is connected to another query node of the plurality of query nodes by one of the plurality of edges, wherein each edge represents a relationship between the objects connected by the edge;

repeating, by the computer system, the receiving, parsing, determining, and generating so as to cause the first semantic knowledge graph to be updated continually over time as events occur;

assigning, by the computer system, a score to each edge, wherein the score assigned to each edge indicates a weight of the edge, wherein the score assigned to each edge is determined based on a number of appearances of the relationship represented by the edge in the parsed plurality of events;

generating, by the computer system, an enriched data layer based on a plurality of knowledge graphs including the first semantic knowledge graph, the plurality of knowledge graphs including a plurality of first nodes, the enriched data layer including a plurality of second nodes, wherein each of the plurality of second nodes is connected via an edge to at least one of the plurality of first nodes; and

generating, by the computer system, a data visualization based on the enriched data layer and a request for data, wherein the request for data indicates a type of data corresponding to at least one of the plurality of second nodes, wherein the data visualization is generated using data represented by at least one of the plurality of first nodes connected to the at least one of the plurality of second nodes.

2. The method of claim 1 , wherein generating the enriched data layer further comprises:

generating a universal knowledge graph including the plurality of first nodes and the plurality of second nodes.

3. The method of claim 2 , further comprising:

determining a match between a first data source and a second data source of a plurality of data sources, wherein the first data source is associated with a first knowledge graph of the plurality of knowledge graphs, wherein the second data source is associated with a second knowledge graph of the plurality of knowledge graphs, wherein one of the first nodes from the first knowledge graph and one of the first nodes from the second knowledge graph are connected via an edge to one of the plurality of second nodes in the universal knowledge graph.

4. The method of claim 1 , wherein the generated data visualization is provided via a graphical user interface.

5. The method of claim 4 , wherein each edge has a weight, further comprising:

when a user interaction with the graphical user interface fails to meet at least one threshold requirement, reducing the weight of the edge.

6. The method of claim 1 , wherein the plurality of second nodes includes a plurality of topic nodes, wherein each topic node represents a topic, wherein each of the plurality of first nodes connected via an edge to one of the topic nodes represents data that is related to the topic.

7. The method of claim 6 , further comprising:

determining a vector distance between a topic node of the plurality of topic nodes and a first node of the plurality of first nodes;

determining whether the vector distance is below a distance threshold, wherein the data visualization is generated when the vector distance is below the distance threshold.

8. The method of claim 6 , wherein the plurality of first nodes includes a plurality of widget nodes, wherein each widget node represents a respective widget of a plurality of widgets, wherein each widget is an interface corresponding to at least one query executed on at least one data source, further comprising:

selecting at least one widget from among the plurality of widgets based on the request for data and the plurality of widget nodes, wherein the data visualization includes at least a portion of the selected at least one widget.

9. The method of claim 1 , wherein the data visualization is a first data visualization, and wherein a second knowledge graph of the plurality of knowledge graphs includes at least one third node, further comprising:

determining a plurality of vector distances including a vector distance between the first node and the second node and a vector distance between the first node and each of the at least one third node; and

generating at least one second data visualization, wherein each of the at least one second data visualization is generated for a respective one of the at least one third node, wherein the first data visualization and the at least one second data visualization are generated in order based on the plurality of vector distances.

10. The method of claim 1 , wherein each of the plurality of knowledge graphs has a respective distinct structure.

11. A non-transitory computer readable medium having stored thereon instructions for causing a processing circuitry of a computer system to execute a process, the process comprising:

receiving events by the computer system;

parsing, by the computer system, each of a plurality of the received events into a plurality of objects, wherein the plurality of events includes a plurality of queries, wherein each event of the plurality of events is related to an interaction with at least one data source;

determining, by the computer system, for each of the plurality of events, a relationship between two objects of the plurality of objects;

generating, by the computer system, a semantic knowledge graph based on the determined relationships, the semantic knowledge graph including a plurality of query nodes and a plurality of edges, wherein each query node corresponds to a respective object of the plurality of objects, wherein each query node is connected to another query node of the plurality of query nodes by one of the plurality of edges, wherein each edge represents a relationship between the objects connected by the edge;

repeating, by the computer system, the receiving, parsing, determining, and generating so as to cause the first semantic knowledge graph to be updated continually over time as events occur;

assigning, by the computer system, a score to each edge, wherein the score assigned to each edge indicates a weight of the edge, wherein the score assigned to each edge is determined based on a number of appearances of the relationship represented by the edge in the parsed plurality of events;

generating, by the computer system, an enriched data layer based on a plurality of knowledge graphs including the first semantic knowledge graph, the plurality of knowledge graphs including a plurality of first nodes, the enriched data layer including a plurality of second nodes, wherein each of the plurality of second nodes is connected via an edge to at least one of the plurality of first nodes; and

generating, by the computer system a data visualization based on the enriched data layer and a request for data, wherein the request for data indicates a type of data corresponding to at least one of the plurality of second nodes, wherein the data visualization is generated using data represented by at least one of the plurality of first nodes connected to the at least one of the plurality of second nodes.

12. A system for generating data visualizations, comprising:

a processing circuitry; and

a memory, the memory containing instructions that, when executed by the processing circuitry, configure the system to:

parse each of a plurality of received events into a plurality of objects, wherein the plurality of events includes a plurality of queries, wherein each event of the plurality of events is related to an interaction with at least one data source;

determine for each of the plurality of events, a relationship between two objects of the plurality of objects;

generate a semantic knowledge graph based on the determined relationships, the semantic knowledge graph including a plurality of query nodes and a plurality of edges, wherein each query node corresponds to a respective object of the plurality of objects, wherein each query node is connected to another query node of the plurality of query nodes by one of the plurality of edges, wherein each edge represents a relationship between the objects connected by the edge;

repeat the receiving, parsing, determining, and generating so as to cause the first semantic knowledge graph to be updated continually over time as events occur;

assign a score to each edge, wherein the score assigned to each edge indicates a weight of the edge, wherein the score assigned to each edge is determined based on a number of appearances of the relationship represented by the edge in the parsed plurality of events;

generate an enriched data layer based on a plurality of knowledge graphs including the first semantic knowledge graph, the plurality of knowledge graphs including a plurality of first nodes, the enriched data layer including a plurality of second nodes, wherein each of the plurality of second nodes is connected via an edge to at least one of the plurality of first nodes; and

generate a data visualization based on the enriched data layer and a request for data, wherein the request for data indicates a type of data corresponding to at least one of the plurality of second nodes, wherein the data visualization is generated using data represented by at least one of the plurality of first nodes connected to the at least one of the plurality of second nodes.

13. The system of claim 12 , wherein the system is further configured to:

generate a universal knowledge graph including the plurality of first nodes and the plurality of second nodes.

14. The system of claim 13 , wherein the system is further configured to:

determine a match between a first data source and a second data source of a plurality of data sources, wherein the first data source is associated with a first knowledge graph of the plurality of knowledge graphs, wherein the second data source is associated with a second knowledge graph of the plurality of knowledge graphs, wherein one of the first nodes from the first knowledge graph and one of the first nodes from the second knowledge graph are connected via an edge to one of the plurality of second nodes in the universal knowledge graph.

15. The system of claim 12 , wherein the generated data visualization is provided via a graphical user interface.

16. The system of claim 15 , wherein each edge has a weight, wherein the system is further configured to:

when a user interaction with the graphical user interface fails to meet at least one threshold requirement, reduce the weight of the edge.

17. The system of claim 12 , wherein the plurality of second nodes includes a plurality of topic nodes, wherein each topic node represents a topic, wherein each of the plurality of first nodes connected via an edge to one of the topic nodes represents data that is related to the topic.

18. The system of claim 17 , wherein the system is further configured to:

determine a vector distance between a topic node of the plurality of topic nodes and a first node of the plurality of first nodes;

determine whether the vector distance is below a distance threshold, wherein the data visualization is generated when the vector distance is below the distance threshold.

19. The system of claim 17 , wherein the plurality of first nodes includes a plurality of widget nodes, wherein each widget node represents a respective widget of a plurality of widgets, wherein each widget is an interface corresponding to at least one query executed on at least one data source, wherein the system is further configured to:

select at least one widget from among the plurality of widgets based on the request for data and the plurality of widget nodes, wherein the data visualization includes at least a portion of the selected at least one widget.

20. The system of claim 12 , wherein the data visualization is a first data visualization, and wherein a second knowledge graph of the plurality of knowledge graphs includes at least one third node, wherein the system is further configured to:

determine a plurality of vector distances including a vector distance between the first node and the second node and a vector distance between the first node and each of the at least one third node; and

generate at least one second data visualization, wherein each of the at least one second data visualization is generated for a respective one of the at least one third node, wherein the first data visualization and the at least one second data visualization are generated in order based on the plurality of vector distances.

Assignments (5)
RELEASE OF SECURITY INTEREST Recorded Jun 16, 2023
From: TRIPLEPOINT VENTURE GROWTH BDC CORP
To: SISENSE SF, INC.; SISENSE LTD.
Reel/Frame 063980/0047 →
SECURITY INTEREST Recorded Jun 14, 2023
From: SISENSE LTD; SISENSE SF INC.
To: HERCULES CAPITAL, INC.
Reel/Frame 063948/0662 →
RELEASE OF SECURITY INTEREST Recorded Jun 9, 2023
From: COMERICA BANK
To: SISENSE LTD.
Reel/Frame 063915/0257 →
SECURITY INTEREST Recorded Sep 24, 2021
From: SISENSE LTD.
To: COMERICA BANK
Reel/Frame 057588/0698 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 29, 2020
From: TOKAREV SELA, INNA; LEV, YAEL; BOYANGU, GUY; SHKOLAR, YUVAL; LOTENBERG, AMNON
To: SISENSE LTD.
Reel/Frame 054210/0284 →
Continuity (4)
Continuation In Part 16876943 · May 18, 2020
Provisional Application 63076713 · Sep 10, 2020
Provisional Application 62850760 · May 21, 2019
Related Publication 20210042589A1 · Feb 11, 2021