AuvaLab/itext2kg
We build KGs the way nature builds matter
What it solves
This project provides a suite of tools for constructing and analyzing knowledge graphs (KGs) from unstructured text, specifically addressing the challenges of temporal dynamics, factual exhaustivity, and the detection of "weak signals" (rare but emerging patterns) that traditional static KGs often miss.
How it works
The repository integrates three primary frameworks:
- ATOM: A scalable pipeline for building Temporal Knowledge Graphs (TKGs). It decomposes text into minimal "atomic facts" to prevent LLMs from omitting information, extracts 5-tuples (subject, predicate, object, start time, end time) in parallel, and merges these into a global graph using cosine similarity for entity and relation resolution rather than slow LLM calls.
- iText2KG: A framework for incremental KG construction that supports both static and dynamic graphs, featuring an asynchronous architecture to handle LLM API calls efficiently.
- C-Unseen: A detection system for "weak signals" in dynamic graphs. It uses a Rare Subgraphs Extractor (via LLM Chain-of-Thought) to find subgraphs that contradict the dominant narrative and a Weak Signal Alerter to track if these patterns persist or grow over time.
Who it’s for
It is designed for researchers and developers building knowledge bases from time-sensitive data (such as news archives or medical records) who need high factual coverage, scalability, and the ability to detect emerging trends.
Highlights
- Parallel Architecture: ATOM reduces latency by over 90% compared to similar frameworks by using parallel extraction and LLM-independent merging.
- Dual-Time Modeling: Tracks both when a fact was observed and when it was actually valid, preventing temporal misattribution.
- Atomic Decomposition: Splits long texts into small snippets to improve factual exhaustivity by ~31%.
- Self-Interpretable: C-Unseen writes rare and weak-signal labels directly back onto the graph for easy inspection.
Related
- Project
- Project
- Project
- Project