Natural Language Understanding System for Voice-Based Data Discovery in Data WareHouse
Python
0
132 commits
updated Jan 26, 2026
This repository contains the official implementation and data for the paper "Voice-to-SQL Vietnamese Pipeline: A Case Study on Decision Support Systems With TPC-DS Data Warehouse".
We present an end-to-end Voice-to-SQL pipeline designed to democratize access to complex data warehouses for non-technical users. Our system integrates state-of-the-art Vietnamese Automatic Speech Recognition (ASR) with a finetuned Large Language Model (Qwen3-Coder-30B) for SQL generation. We benchmark our system on the TPC-DS dataset, a rigorous decision support benchmark. Our experiments show that using Gemini Flash 3 Pro for ASR achieves a Word Error Rate (WER) of 0.05, while our finetuned Text-to-SQL model achieves an Exact Match Accuracy (EMA) of 68% on schema-linked queries, outperforming generic baselines (GPT-o3) in end-to-end performance.
├── research_pipeline/ # Training and Benchmarking Scripts
│ ├── finetune_qwen_coder.py # Main QLoRA finetuning script
│ ├── sql_enhancement.py # Post-processing & Dynamic Few-shot logic
│ ├── benchmark_api_models.py # Evaluation scripts
│ └── business_rule.txt # Defined business rules for generating SQL
├── paper/ # LaTeX Source of the Paper
│ ├── samples.tex # Main paper file
│ └── 2407.19517v1.pdf # Reference material
├── speech_to_text_pipeline/ # ASR Components
├── notebooks/ # Jupyter Notebooks for EDA
└── requirements.txt # Python dependencies
# Clone the repository
git clone https://github.com/VuThanhLam124/Capstone-NLUS-VDD.git
cd Capstone-NLUS-VDD
# Install dependencies
pip install -r requirements.txt
Requirements:
vllm for efficient inferenceduckdb for SQL executionpeft, transformers, trl for finetuningTo reproduce our 5-epoch QLoRA fine-tuning on Qwen3-Coder-30B:
python research_pipeline/finetune_qwen_coder.py \
--model Qwen/Qwen3-Coder-30B-Instruct \
--train-data ./your_dataset \
--output ./checkpoints \
--epochs 5 \
--lr 2e-4
Evaluate the model with Dynamic Schema Linking and Enhancement enabled:
python research_pipeline/finetune_qwen_coder.py \
--skip-train \
--enhance \
--adapter ./checkpoints/final_adapter \
--use_vllm
--short 5
--schema-linking
If you find this work useful, please cite our paper:
@article
This research uses the TPC-DS benchmark by the Transaction Processing Performance Council. We thank the open-source community for libraries like transformers, vllm, and duckdb.
To ensure transparency and reproducibility of our results, we provide full execution logs:
speech_to_text_pipeline/eval_metadata.csv (if available) or detailed in the paper.Natural Language Understanding System for Voice-Based Data Discovery in Data WareHouse
Python
0
132 commits
updated Jan 26, 2026
This repository contains the official implementation and data for the paper "Voice-to-SQL Vietnamese Pipeline: A Case Study on Decision Support Systems With TPC-DS Data Warehouse".
We present an end-to-end Voice-to-SQL pipeline designed to democratize access to complex data warehouses for non-technical users. Our system integrates state-of-the-art Vietnamese Automatic Speech Recognition (ASR) with a finetuned Large Language Model (Qwen3-Coder-30B) for SQL generation. We benchmark our system on the TPC-DS dataset, a rigorous decision support benchmark. Our experiments show that using Gemini Flash 3 Pro for ASR achieves a Word Error Rate (WER) of 0.05, while our finetuned Text-to-SQL model achieves an Exact Match Accuracy (EMA) of 68% on schema-linked queries, outperforming generic baselines (GPT-o3) in end-to-end performance.
├── research_pipeline/ # Training and Benchmarking Scripts
│ ├── finetune_qwen_coder.py # Main QLoRA finetuning script
│ ├── sql_enhancement.py # Post-processing & Dynamic Few-shot logic
│ ├── benchmark_api_models.py # Evaluation scripts
│ └── business_rule.txt # Defined business rules for generating SQL
├── paper/ # LaTeX Source of the Paper
│ ├── samples.tex # Main paper file
│ └── 2407.19517v1.pdf # Reference material
├── speech_to_text_pipeline/ # ASR Components
├── notebooks/ # Jupyter Notebooks for EDA
└── requirements.txt # Python dependencies
# Clone the repository
git clone https://github.com/VuThanhLam124/Capstone-NLUS-VDD.git
cd Capstone-NLUS-VDD
# Install dependencies
pip install -r requirements.txt
Requirements:
vllm for efficient inferenceduckdb for SQL executionpeft, transformers, trl for finetuningTo reproduce our 5-epoch QLoRA fine-tuning on Qwen3-Coder-30B:
python research_pipeline/finetune_qwen_coder.py \
--model Qwen/Qwen3-Coder-30B-Instruct \
--train-data ./your_dataset \
--output ./checkpoints \
--epochs 5 \
--lr 2e-4
Evaluate the model with Dynamic Schema Linking and Enhancement enabled:
python research_pipeline/finetune_qwen_coder.py \
--skip-train \
--enhance \
--adapter ./checkpoints/final_adapter \
--use_vllm
--short 5
--schema-linking
If you find this work useful, please cite our paper:
@article
This research uses the TPC-DS benchmark by the Transaction Processing Performance Council. We thank the open-source community for libraries like transformers, vllm, and duckdb.
To ensure transparency and reproducibility of our results, we provide full execution logs:
speech_to_text_pipeline/eval_metadata.csv (if available) or detailed in the paper.