The main goal was to simplify user navigation through the graph and ensure its correct representation. For this purpose, the graph was distributed into several levels:
- Article knowledge graph (AKG) - the graph that contains the links extracted from one particular article. It is used for a brief overview of this article and to get its main sense;
- Common knowledge graph (CKG) - the graph formed from all the article knowledge graphs on the platform. It is used for searching the information within the platform and finding the dependencies between different sources of data.
However, during the development process we came up with a slightly different solution, which also solves the same task, but relatively easier to implement.
The following is a presentation of two new functionalities that have been developed to enhance the capabilities of the PrivateAI platform and improve the user experience in article search. These features are:
- Global graph;
- Word graph.
The aim of these functionalities is to provide a more intuitive and convenient way for users to navigate and explore the vast amount of information available on the platform.
For these purposes we’ve made a Python script, which uses graph data from the database and computes new sets of triplets for new graphs.
All the code below is implementation of methods for the Datagraph class:
Global graph
Global graph is available on tab <tab with global graph>. It aggregates all the graphs for all articles on a PrivateAI platform and computes top-N most popular nodes, where N is a configurable parameter recommended between 100-250.
Users have ability to scale graph in order to select nodes. After double clicking, the word-graph appears.
To visualize a global graph, we send to the frontend a json file that stores a list of dicts (triplets) with fields “object”, “verb”, “subject”. Just like we do so for article graph.