无监督TableQA和数据库QA在中文表格数据和金融问题上的应用。
通常针对具有数字和类别混合的表格数据,对这些数据进行自然语言查询是实际应用中的常见任务。本项目尝试在中文表格数据上进行无监督的TableQA,并主要针对金融数据进行数据库QA。
Snorkel 和 Bertopic 可能存在依赖冲突。建议使用 conda 安装不同虚拟环境分别区分 JointBERT、Snorkel 和 Bertopic
- 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
你可以通过点击下面的链接在 Huggingface 空间上尝试单表 TableQA 例子 :
https://huggingface.co/spaces/svjack/TableQA-Chinese
使用已经构建好的预训练模型进行使用
这是使用此项目的推荐方法,因为金融词典是通过从 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 中搜索已解压缩的文件名来找到配置位置。
Distributed under the MIT License. See LICENSE
for more information.
svjack - [email protected]
Project Link:https://github.com/svjack/tableQA-Chinese