|
|
|
|
|
# Infusion RESDSQL: Decoupling Schema Linking and Skeleton Parsing for Text-to-SQL with Syntactic or semantic infusion |
|
|
|
## Overview |
|
Apresentamos a infusão de informação sintática e semântica com a entrada do modelo RESDSQL no treinamento, para que tenha maior inteprertação sobre a intenção vista pela frase de entrada, e gere a saída associada. |
|
|
|
## Evaluation Results |
|
Mensuramos o RESDSQL com a apresentação de conhecimento no benchmark Spider, usando o modelo T5-base de linguagem para o transformer. As métricas foram: Exact-set-Match accuracy (EM) and EXecution accuracy (EX). |
|
|
|
**On Spider:** |
|
|
|
| Model | Dev EM | Dev EX | |
|
|-------|--------|--------| |
|
| RESDSQL sem informação alguma | 0.5502 | 0.5754 | |
|
| RESDSQLcom informação sintática | 0.5909 | 0.6247 | |
|
| RESDSQL com AMR (semântico) | **0.6392** | **0.6818** | |
|
|
|
|
|
## Pré - requisitos |
|
Crie um ambiente virtual anaconda: |
|
```sh |
|
conda create -n your_env_name python=3.8.5 |
|
``` |
|
Ative-o e instale as seguintes versões de PyTorch: |
|
```sh |
|
conda install pytorch==1.11.0 torchvision==0.12.0 torchaudio==0.11.0 cudatoolkit=11.3 -c pytorch |
|
``` |
|
Instale módulos e ferramentas: |
|
```sh |
|
pip install -r requirements.txt |
|
pip install https://github.com/explosion/spacy-models/releases/download/en_core_web_sm-2.2.0/en_core_web_sm-2.2.0.tar.gz |
|
python nltk_downloader.py |
|
``` |
|
Faça os seguintes diretórios: |
|
```sh |
|
mkdir eval_results |
|
mkdir models |
|
mkdir tensorboard_log |
|
mkdir third_party |
|
mkdir predictions |
|
``` |
|
Clone scripts de avaliação: |
|
```sh |
|
cd third_party |
|
git clone https://github.com/ElementAI/spider.git |
|
git clone https://github.com/ElementAI/test-suite-sql-eval.git |
|
mv ./test-suite-sql-eval ./test_suite |
|
cd .. |
|
``` |
|
|
|
## Prepare os dados |
|
Download [data](https://drive.google.com/file/d/19tsgBGAxpagULSl9r85IFKIZb4kyBGGu/view?usp=sharing) **(including Spider, Spider-DK, Spider-Syn, Spider-Realistic, Dr.Spider, and CSpider)**, o AMR and [database](https://drive.google.com/file/d/1s4ItreFlTa8rUdzwVRmUR2Q9AHnxbNjo/view?usp=share_link) and then unzip them: |
|
```sh |
|
unzip data.zip |
|
unzip database.zip |
|
``` |
|
|
|
## Inferência |
|
A inferência para uma pergunta e base de dados própria pode ser feita usando o modelo disponível. Para isso, carregue o modelo do Hub, como é feito para o T5, e seu tokenizador. A entrada é simplesmente feita pela pergunta concatenada com o schema da base de dados. |
|
|
|
|
|
|
|
## Agradecimentos |
|
Agradecemos ao trabalho do RESDSQL(https://github.com/RUCKBReasoning/RESDSQL) pela arquitetura, que usamos para treianmento do nosso modelo. O trabalho foi conduzido no Centro de Inteligência Artificial USP/IBM/FAPESP (C4AI), com suporte da FAPESP e da IBM Corporation (2023). |
|
|