[发明专利]一种基于本体和受限自然语言处理的数据库查询方法有效
| 申请号: | 201310556508.5 | 申请日: | 2013-11-11 |
| 公开(公告)号: | CN103646032B | 公开(公告)日: | 2017-01-04 |
| 发明(设计)人: | 漆桂林;崔荣国;张慧;邓波;陆彬;杨成彪 | 申请(专利权)人: | 漆桂林;崔荣国;张慧;邓波 |
| 主分类号: | G06F17/30 | 分类号: | G06F17/30 |
| 代理公司: | 江苏爱信律师事务所32241 | 代理人: | 刘琦 |
| 地址: | 211100 江苏省南京市江*** | 国省代码: | 江苏;32 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 本体 受限 自然语言 处理 数据库 查询 方法 | ||
技术领域
本发明属于语义查询领域,涉及一种基于本体和受限自然语言处理的数据库查询方法。
背景技术
随着互联网的不断发展,互联网中包含的信息量也在呈几何倍数的增长着。而据统计,互联网中的数据有70%以上是存放在数据库中的,所以对数据库进行有效的查询在当代Web数据分析中有着非常重要的地位。然而传统的对数据库的查询需要专业人员深入的理解数据库内部的模式信息,并构建出适当的SQL查询语句;对非专业人员来说,由于不具备数据库的专业知识,对于庞大的数据库只能望洋兴叹。
数据库自然语言查询是自然语言理解与数据库技术结合的产物,近年来,作为人工智能中自然语言理解的智能接口技术而受到重视,尤其与汉语的手写体及语音识别的结合研究,具有很高的理论价值与广泛的应用前景。数据库自然语言接口允许用户通过自然语言对数据库进行各种操作,由系统自动的将其转换为数据库的操作语言,为用户的使用带来极大的方便。这里一个很有挑战性的问题是,如何准确的将自然语言搜索语句转化为数据库的操作语言。由于缺乏语料库,传统的基于词性标注和语法分析对数据库的自然语言查询处理的效果很难达到实用的要求。
纵观近年来国内所研制的多个系统,所采用的技术主要是基于数据库的E-R汉语理解模型、类关系代数逻辑式的中间语言转换、以条件为中心的句型匹配以及多语言组合模板等。东南大学的CQI系统是上世纪90年代国内首次研制成功的基于E-R模型的数据库中文查询接口,但是接口受制于只能使用祈使句型,并且词汇量有限。中国人民大学和香港中文大学所研制成功的Chiql在查询语句结构,词汇量以及自然语言查询转换方面都有了很大的改进,但是用户使用时受限程度依然较大,因此仍然达不到实用的要求。
发明内容
技术问题:本发明提供一种用户友好型,通过用户输入的自然语言就可以自动的生成SQL查询语句,并将查询结果返回给用户的基于本体和自然语言处理的数据库查询方法。
技术方案:本发明的基于本体和自然语言处理的数据库查询方法,首先从数据库的关系模式中抽取出本体,即将关系表抽象成一个具体的类,类与类之间具有继承、等价等关系;关系表中的每一列被抽象为本体中的一个数据类型属性;其次,关系数据库中的外键也被转换为本体中的对象属性。然后,将本体转换成图数据结构,再结合自然语言处理技术对用户输入的自然语言进行分词,构建关键词索引,搜索连接多个关键词的连通图,SQL转换等实现自然语言到SQL(一种数据库查询和程序设计语言)语言的转换。
本发明的基于本体和自然语言处理的数据库查询方法,包括如下步骤:
1)将根据数据库关系模式构建出的本体转换成图数据结构:本体中的类被转换为类结点,数据类型属性被转换为属性结点,属性结点分别有一条连接到它指定的类结点的边,对象属性被转换为连接两个类的边;
2)构建分词专用词典和关键词索引:依次读取数据库中的每一条记录,将读取到的记录值添加到词典中作为用户查询时分词的专用词典,读取出每一条记录时同时将该记录值作为键,将该记录值在数据库中对应的关系表名和列名作为值,组成键值对,存入到非关系型数据库中,作为关键词索引,用于快速定位给定的关键词,提高查询效率;
3)系统接收到用户自然语言查询后,利用步骤2)中构建出的专用词典将自然语言分解为多个有意义的关键词;
4)将步骤3)中分解出的关键词逐个地作为键,在关键词索引中查找所对应的值,即找出该关键词所对应的关系表名和列名,然后在步骤1)中生成的图数据结构中找到所有关系表名和列名对应的结点,最后将所有结点对应的连通分量从图数据结构中提取出来,作为查询空间;
5)遍历步骤4)中构建出的查询空间中的连通分量,找到查询空间中能将所有关键词连接起来的所有连通子图,若不能找到任何一个满足条件的连通子图,则找出包含尽可能多的关键词的连通子图,然后将找出的连通子图根据其包含的关键词数从大到小进行排序,对于包含关键词数相同的连通子图,则再根据所包含的边数从小到大进行排序,最后选择排序最靠前的k个连通子图,k的值根据数据库的大小以及搜索得到的所有连通子图个数来确定;
6)将步骤5)中选择的k个连通图按照排序,依次根据如下规则转换成SQL语句:将SQL语句中的Select子句以*填充,用以表示将所有的列全部返回,将连通图中的类结点写入到SQL语句中的From子句中,将连接两个类结点的边转换为外键关系写入到SQL语句中的Where子句中,将用户输入的关键词根据其对应的关系表名和列名写入到SQL语句中的Where字句中;
SQL语句生成后,对数据库进行查询,然后将查询结果返回给用户。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于漆桂林;崔荣国;张慧;邓波,未经漆桂林;崔荣国;张慧;邓波许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310556508.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:光子型定位紫外探测器
- 下一篇:一种避雷器工频电压试验装置及试验方法





