Topic modeling with semantic graphs: a different approach
neuml.github.io
neuml.github.io
When enabled, txtai builds a semantic graph at index time as it's vectorizing data. These vector embeddings are then used to create relationships in the graph. Finally, community detection algorithms build topic clusters.
This approach has the advantage of only having to vectorize data once. It also has the advantage of better topic precision given there isn't a dimensionality reduction operation (UMAP).
Read more here: https://neuml.hashnode.dev/introducing-the-semantic-graph
Anyone have an idea how to accomplish this?
For instance, using it on a corpus about animals, it should generate a tree like
mammals mammals>mammals on land birds birds>birds of prey
In an ideal world, the system would be extracting both the category labels themselves and their hierarchy from the text. But even if you had to provide a list of categories, and the system merely used to text corpus to figure out their hierarchy, this would be helpful.
Reference: https://neuml.github.io/txtai/embeddings/configuration/#topi...
Expanding functionality to include something like this is possible though. The community detection algorithms kind of do this in a way. Each iteration builds smaller and smaller communities.