Skip to content

Unsupervised tableQA and databaseQA on chinese finance question and tabular data

Notifications You must be signed in to change notification settings

svjack/tableQA-Chinese

Repository files navigation


tableQA-Chinese

无监督TableQA和数据库QA在中文表格数据和金融问题上的应用。

In English

关于这个工程

通常针对具有数字和类别混合的表格数据,对这些数据进行自然语言查询是实际应用中的常见任务。本项目尝试在中文表格数据上进行无监督的TableQA,并主要针对金融数据进行数据库QA。

框架组成部分

开始

安装

SnorkelBertopic 可能存在依赖冲突。建议使用 conda 安装不同虚拟环境分别区分 JointBERTSnorkelBertopic

  • conda
conda create -n jointbert_env python=3.8
conda activate jointbert_env
pip install -r jointbert_requirements.txt
conda create -n snorkel_env python=3.8
conda activate snorkel_env
bash snorkel_install.sh
conda create -n topic_env python=3.8
conda activate topic_env
bash topic_install.sh

在使用notebook和script之前,请键入 conda activate 命令以初始化特定环境。下面是不同文件及其环境映射:

(jointbert_env)
condition_trainer.py
tableQA_single_table.py
tableqa-single-valid.ipynb
fine-tune-on-finance.ipynb

(snorkel_env)
finance_dictionary_construction.py
agg-classifier.ipynb
tableqa_finance_unsupervised.py

(topic_env)
tableqa_search.py


完全功能使用

           包含模型训练方式及使用

tableQA 使用方式

            不要忘记在代码中配置 train_path 和 jointbert_path

Huggingface 空间例子

你可以通过点击下面的链接在 Huggingface 空间上尝试单表 TableQA 例子 :
https://huggingface.co/spaces/svjack/TableQA-Chinese

databaseQA 使用方式


简单使用方式

           使用已经构建好的预训练模型进行使用

这是使用此项目的推荐方法,因为金融词典是通过从 ownthink 调用 API 构建的。如果 API 不稳定或 Bertopic 发生某些随机状态更改,可能会对数据库 QA 中的金融概况产生不良影响。因此,我推荐至少使用 Google Drive 中的 data.tar.gz。通过使用 data.tar.gz,您只需要安装 (jointbert_env) 环境即可探索 TableQA 和 DatabaseQA。

Google Drive 下载预训练模型和数据。此共享路径包含三个文件:
1 bert.tar.gz (JointBERT 训练模型)
2 conds.tar.gz (JointBERT 友好数据集)
3 data.tar.gz (Bertopic 和 Snorkel 生成的数据,用于执行数据库 QA)

将它们解压缩到此项目的根路径,并将它们配置到上面的 Full Usage 文件中。您可以通过在 notebook 和 script 中搜索已解压缩的文件名来找到配置位置。

tableQA 使用

avatar

databaseQA 使用方法

avatar

avatar

avatar


License

Distributed under the MIT License. See LICENSE for more information.

Contact

svjack - [email protected]

Project Link:https://github.com/svjack/tableQA-Chinese

Acknowledgements