What are some of the ways to convert NLP to SQL?

蹲街弑〆低调 提交于 2019-12-23 05:42:09

问题


Recently, have started working on the idea of conversational chatbot and have been thinking of different ways to convert Natural Language query to SQL. These are some of the libraries I have shortlisted to evaluate before writing from scratch. Any other ideas or suggestions?

  • https://github.com/FerreroJeremy/ln2sql
  • https://github.com/dadashkarimi/seq2sql
  • https://github.com/xiaojunxu/SQLNet
  • http://www.ling.helsinki.fi/kit/2009s/clt231/NLTK/book/ch10-AnalyzingTheMeaningOfSentences.html#querying-a-database

回答1:


check this demo from AllenNLP: https://demo.allennlp.org/atis-parser

Which converts Natural Language text into SQL queries. They also have python library allennlp.

Here is their github repo: https://github.com/allenai/allennlp

For documentation regarding semantic_parsing:

https://allenai.github.io/allennlp-docs/api/allennlp.data.dataset_readers.semantic_parsing.html




回答2:


The main challenge here is to fit end-user needs. Most of the end-users are not technically skilled enough and they don't know database schema.

All open-sourced libraries mentioned here requires to use column names inside input requests, so end-user should design request as "give me count for column_name where column_name is lower than 120". This assumption is wrong because end-users usually don't care about database structure and column names. With open-source libraries, you can create another Structure Query Language layer on top of the usual SQL.

I would recommend having a look at NLP libraries before building your service:

BERT ==== https://github.com/hanxiao/bert-as-service

Sentence Transformers ==== https://github.com/UKPLab/sentence-transformers

VaderSentiment ==== https://github.com/cjhutto/vaderSentiment

Also, I would recommend having a look at NLP to SQL software architecture and existing commercial software for Natural Language to SQL



来源:https://stackoverflow.com/questions/54819075/what-are-some-of-the-ways-to-convert-nlp-to-sql

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!