mahdi-amhaz/ADOR

0

stars

1

commits

Python

primary language

Apr 25, 2026

updated

README

ADOR — Augmented Document Reader

PoC for financial document Named Entity Recognition (NER).

Project Structure

ADOR/
├── architecture/
│   └── ADOR_Architecture(GAD).docx      # Global Architecture Document
├── parser/
│   └── docx_parser.py                   # Rule-based parser for DOCX term sheets
├── ner/
│   ├── ner_extractor.py                 # Three NER model backends for chat messages
│   └── GMD_NER_Methodology.md           # Methodology: NER model selection
├── llm/
│   └── ADOR_NER_LLM_Pipeline (GMD).docx # Methodology: LLM + RAG pipeline for PDFs
├── streamlit_app.py                     # Streamlit UI
└── requirements.txt

Quick Start

pip install -r requirements.txt
python -m spacy download en_core_web_trf

Launch the UI

python -m streamlit run streamlit_app.py

Run the DOCX parser from the CLI

python parser/docx_parser.py "path/to/termsheet.docx"

Features

Tab 1 — DOCX Parser

Drag and drop any .docx term sheet. A rule-based parser scans tables and paragraphs to extract 9 financial entities.

EntityExample
CounterpartyBANK ABC
Initial Valuation Date31 January 2025
NotionalEUR 1 million
Valuation Date31 July 2026
Maturity07 August 2026
UnderlyingAllianz SE (ISIN DE0008404005)
Coupon0%
Barrier75.00% of Share
CalendarTARGET

Tab 2 — NER Chat

Type a financial chat message and choose one of three NER model backends.

ModelHuggingFace IDLabelsNotes
GLiNERurchade/gliner_medium-v2.1User-defined (zero-shot)Best for custom financial entities. Confidence threshold slider available.
DistilBERT NERelastic/distilbert-base-uncased-finetuned-conll03-englishPER, ORG, LOC, MISCFast, uncased. Good for persons, organisations, locations.
spaCy trfen_core_web_trf18 OntoNotes types (incl. DATE, MONEY)Broadest label set.

Entities — NER Chat

EntityGLiNERDistilBERTspaCy trf
Counterparty (ORG)✅ (ORG)✅ (ORG)
Notional✅ (MONEY)
ISIN
Underlying
Maturity✅ (DATE)
Bid / Offer
Payment Frequency✅ (DATE)
Person name✅ (PER)✅ (PERSON)
Location✅ (LOC)✅ (GPE)
Date✅ (DATE)

Contributors

mahdi-amhaz

1 commits

mahdi-amhaz/ADOR

0

stars

1

commits

Python

primary language

Apr 25, 2026

updated

README

ADOR — Augmented Document Reader

PoC for financial document Named Entity Recognition (NER).

Project Structure

ADOR/
├── architecture/
│   └── ADOR_Architecture(GAD).docx      # Global Architecture Document
├── parser/
│   └── docx_parser.py                   # Rule-based parser for DOCX term sheets
├── ner/
│   ├── ner_extractor.py                 # Three NER model backends for chat messages
│   └── GMD_NER_Methodology.md           # Methodology: NER model selection
├── llm/
│   └── ADOR_NER_LLM_Pipeline (GMD).docx # Methodology: LLM + RAG pipeline for PDFs
├── streamlit_app.py                     # Streamlit UI
└── requirements.txt

Quick Start

pip install -r requirements.txt
python -m spacy download en_core_web_trf

Launch the UI

python -m streamlit run streamlit_app.py

Run the DOCX parser from the CLI

python parser/docx_parser.py "path/to/termsheet.docx"

Features

Tab 1 — DOCX Parser

Drag and drop any .docx term sheet. A rule-based parser scans tables and paragraphs to extract 9 financial entities.

EntityExample
CounterpartyBANK ABC
Initial Valuation Date31 January 2025
NotionalEUR 1 million
Valuation Date31 July 2026
Maturity07 August 2026
UnderlyingAllianz SE (ISIN DE0008404005)
Coupon0%
Barrier75.00% of Share
CalendarTARGET

Tab 2 — NER Chat

Type a financial chat message and choose one of three NER model backends.

ModelHuggingFace IDLabelsNotes
GLiNERurchade/gliner_medium-v2.1User-defined (zero-shot)Best for custom financial entities. Confidence threshold slider available.
DistilBERT NERelastic/distilbert-base-uncased-finetuned-conll03-englishPER, ORG, LOC, MISCFast, uncased. Good for persons, organisations, locations.
spaCy trfen_core_web_trf18 OntoNotes types (incl. DATE, MONEY)Broadest label set.

Entities — NER Chat

EntityGLiNERDistilBERTspaCy trf
Counterparty (ORG)✅ (ORG)✅ (ORG)
Notional✅ (MONEY)
ISIN
Underlying
Maturity✅ (DATE)
Bid / Offer
Payment Frequency✅ (DATE)
Person name✅ (PER)✅ (PERSON)
Location✅ (LOC)✅ (GPE)
Date✅ (DATE)

Contributors

mahdi-amhaz

1 commits

Languages

Python

100.0%