README.md

April 20, 2023 · View on GitHub


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 使用方式

1. 从 github 上下载tableqa数据

2. 下载 JointBERT 工程

3. 在tableqa数据上使用 JointBERT 训练实体和条件抽取模型

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

4. 在 tableqa-single-valid 中使用 tableQA_single_table.py 在单个数据表数据中执行数据表问答

Huggingface 空间例子

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

databaseQA 使用方式

5. 运行 finance_dictionary_construct 对 databaseQA 建立金融字典

6. 对 databaseQA 建立金融画像

7. 使用 Snorkel 从tableqa中筛选金融数据表格

8. 在构建的金融数据库(由一些金融数据表格构建)上执行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 使用

1. 从 github 上下载中文 tableqa 数据

2. 下载 JointBERT 工程

3. 在 tableqa-single-valid 中使用 tableQA_single_table.py 在单个数据表数据中执行数据表问答

avatar

databaseQA 使用方法

4. 在构建的金融数据库(由一些金融数据表格构建)上执行databaseQA

avatar

avatar

avatar


设计结构 (英文版)

API 文档 (英文版)

License

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

Contact

svjack - svjackbt@gmail.com

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

Acknowledgements