Alat AI untuk meminta bahasa alami pada data tabel. Dibangun menggunakan model QA dari Transformers.
Pekerjaan ini dijelaskan dalam makalah berikut:
TableQuery: Meminta data tabular dengan bahasa alami, oleh Abhijith Neil Abraham, Fariz Rahman dan Damanpreet Kaur.
Jika Anda menggunakan Tableqa, silakan mengutip kertas.
Berikut adalah blog terperinci untuk memahami cara kerjanya.
Data tabel dapat berupa:
.
.
pip install tableqa
git clone https://github.com/abhijithneilabraham/tableQA
cd tableqa
python setup.py install
from tableqa.agent import Agent
agent=Agent(df) #input your dataframe
response=agent.query_db("Your question here")
print(response)
sql=agent.get_query("Your question here")
print(sql) #returns an sql query
{
"name": DATABASE NAME,
"keywords":[DATABASE KEYWORDS],
"columns":
[
{
"name": COLUMN 1 NAME,
"mapping":{
CATEGORY 1: [CATEGORY 1 KEYWORDS],
CATEGORY 2: [CATEGORY 2 KEYWORDS]
}
},
{
"name": COLUMN 2 NAME,
"keywords": [COLUMN 2 KEYWORDS]
},
{
"name": "COLUMN 3 NAME",
"keywords": [COLUMN 3 KEYWORDS],
"summable":"True"
}
]
}
summable disertakan untuk kolom tipe numerik yang nilainya sudah menghitung representasi. Misalnya. Death Count,Cases dll. Terdiri dari nilai yang sudah mewakili penghitungan.Contoh (dengan skema manual):
from tableqa.agent import Agent
agent=Agent(df,schema) #pass the dataframe and schema objects
response=agent.query_db("how many people died of stomach cancer in 2011")
print(response)
#Response =[(22,)]
from tableqa.agent import Agent
agent = Agent(df, schema_file, 'postgres', username='username', password='password', database='DBname', host='localhost', port=5432, aws_db=False)
response=agent.query_db("how many people died of stomach cancer in 2011")
print(response)
#Response =[(22,)]
from tableqa.agent import Agent
agent = Agent(df, schema_file, 'mysql', username='username', password='password', database='DBname', host='localhost', port=5432, aws_db=False)
response=agent.query_db("how many people died of stomach cancer in 2011")
print(response)
#Response =[(22,)]
Lihat langkah 1 di dokumen untuk membuat instance MySQL DB di Amazon RDS. Langkah -langkah yang sama dapat diikuti untuk membuat instance DB PostgreSQL dengan memilih PostgreSQL di tab Engine. Dapatkan nama pengguna, kata sandi, database, titik akhir, dan port dari detail koneksi database Anda di Amazon RDS.
from tableqa.agent import Agent
agent = Agent(df, schema_file, 'postgres', username='Master username', password='Master password', database='DB name', host='Endpoint', port='Port', aws_db=True)
response=agent.query_db("how many people died of stomach cancer in 2011")
print(response)
#Response =[(22,)]
sql=agent.get_query("How many people died of stomach cancer in 2011")
print(sql)
#sql query: SELECT SUM(Death_Count) FROM cancer_death WHERE Cancer_site = "Stomach" AND Year = "2011"
csv_path="/content/tableQA/tableqa/cleaned_data"
schema_path="/content/tableQA/tableqa/schema"
agent=Agent(csv_path,schema_path)
csv_path="s3://{bucket}/cleaned_data"
schema_path="s3://{bucket}/schema"
agent = Agent(csv_path, schema_path, aws_s3=True, access_key_id=access_key_id, secret_access_key=secret_access_key)
Bergabunglah dengan ruang kerja kami: Slack