聊天式数据查询的技术方案探讨
2019-10-21王悦林
科学导报·学术 2019年36期
王悦林
摘要:人工智能领域近年发展十分迅猛,其中自然语言处理(NLP)领域从2016年起进入高速发展期,以BERT为代表的各种新模型层出不穷,解决了文本数据分析和信息提取的问题。其中有一个子领域,即NL2SQL领域,是解决如何用自然语言问句进行数据库查询的问题。具体方案是通过语义解析,将自然语言问句翻译成SQL,再送到数据库中进行查询,大大降低了数据查询的难度,提升了交互友好度和查询效率。本文探讨具体的技术解决方案。
正文
NL2SQL领域目前的数据集英文以WikiSQL和Spider为主,中文有追一科技提供的竞赛数据集。WikiSQL数据集支持单表、单列、多Where子句查询,现有模型可以较好地支持。而耶鲁大学提供的Spider数据集要求支持Group By、Order By、Having,还需要Join不同表,这更贴近于真实场景,也带来了更大的难度。追一科技的竞赛数据集的难度介于两者之间,要求支持多列查询,支持多Where子句间不同操作符操作。本文以追一科技数据集的难度为准,探讨解决方案。
1.主流模型
目前業内的三大技术解决方案依次是SQLnet,SQLova和X-SQL,其中X-SQL在WikiSQL数据集上测试效果最好,但仍然满足不了追一科技数据集的要求。我们主要参考后两个模型,提出我们的解决方案。
2.方案思路
解决此问题有两大思路,增强学习和解耦任务。增强学习是端到端的解决方案,比较先进,但实际应用尚不成熟,达不到准确率的要求。因此解耦任务的思路成为首选。解耦的思路是将任务拆解为8个子任务,分别是
Select-Number:选择几列
Select-Column:选择哪一列
Select-Aggregation:使……
登录APP查看全文
