# 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).