|
2 | 2 |
|
3 | 3 | `structsense` is a multi-agent system for extracting structured information from unstructured text and documents. It orchestrates a configurable pipeline of AI agents — extractor → alignment → judge → human feedback — each driven by a single YAML config file. |
4 | 4 |
|
5 | | -**Documentation:** [docs.brainkb.org](http://docs.brainkb.org/structsense_overview.html) |
6 | 5 | **License:** [Apache 2.0](LICENSE.txt) |
7 | 6 |
|
| 7 | +If you find this work useful or build upon it, please consider citing: |
| 8 | + |
| 9 | +```bibtex |
| 10 | +@misc{chhetri2025structsensetaskagnosticagenticframework, |
| 11 | + title = {STRUCTSENSE: A Task-Agnostic Agentic Framework for Structured Information Extraction with Human-In-The-Loop Evaluation and Benchmarking}, |
| 12 | + author = {Tek Raj Chhetri and Yibei Chen and Puja Trivedi and Dorota Jarecka and Saif Haobsh and Patrick Ray and Lydia Ng and Satrajit S. Ghosh}, |
| 13 | + year = {2025}, |
| 14 | + eprint = {2507.03674}, |
| 15 | + archivePrefix= {arXiv}, |
| 16 | + primaryClass = {cs.CL}, |
| 17 | + url = {https://arxiv.org/abs/2507.03674} |
| 18 | +} |
| 19 | +``` |
| 20 | + |
8 | 21 | --- |
9 | 22 |
|
10 | 23 | ## Table of Contents |
11 | 24 |
|
12 | 25 | - [Features](#features) |
| 26 | +- [Architecture](#architecture) |
13 | 27 | - [Installation](#installation) |
14 | 28 | - [Quick Start](#quick-start) |
15 | 29 | - [Usage](#usage) |
|
46 | 60 |
|
47 | 61 | --- |
48 | 62 |
|
| 63 | +## Architecture |
| 64 | + |
| 65 | +The figure below illustrates the overall architecture of **StructSense**. |
| 66 | + |
| 67 | + |
| 68 | +<img width="2571" height="823" alt="with_arch_search-with_search_api drawio (1)" src="https://github.com/user-attachments/assets/8f652c10-4301-4193-b1c8-f750229f972c" /> |
| 69 | + |
| 70 | +StructSense integrates a local concept mapping service, which can also be used independently. The service is available here: |
| 71 | +- https://github.com/sensein/search_hybrid |
| 72 | + |
| 73 | +--- |
| 74 | + |
49 | 75 | ## Installation |
50 | 76 |
|
51 | 77 | ```bash |
@@ -464,7 +490,7 @@ By default (`skip_alignment_llm=None`), the alignment LLM is **automatically byp |
464 | 490 | - `CONCEPT_MAPPING_BACKEND=local` (which is the default) |
465 | 491 | - Task type is `ner`, `keyphrase_extraction`, `resource`, or `structured_extraction` |
466 | 492 |
|
467 | | -When bypassed, the concept mapping tool is called directly from Python in one batch (4000 concept/request--see [https://github.com/sensein/search_hybrid/tree/dev](https://github.com/sensein/search_hybrid/tree/dev)) — much |
| 493 | +When bypassed, the concept mapping tool is called directly from Python in one batch (4000 concept/request--see [https://github.com/sensein/search_hybrid](https://github.com/sensein/search_hybrid)) — much |
468 | 494 | faster than running the LLM. The output records `alignment_method: "direct_tool_call"`. |
469 | 495 |
|
470 | 496 | ```bash |
|
0 commit comments