发明名称 一种基于本体和受限自然语言处理的数据库查询方法
摘要 本发明公开了一种基于本体和受限自然语言处理的数据库查询方法,主要用于处理数据库的自然语言查询问题。本发明将数据库的关系模式转换为对应的本体,根据数据库中的记录构建分词专用词典以及关键词索引,从用户自然语言查询中提取出关键词后,利用本体中的语义信息找到多个关键词的关联,最终将自然语言查询转换为SQL查询。
申请公布号 CN103646032A 申请公布日期 2014.03.19
申请号 CN201310556508.5 申请日期 2013.11.11
申请人 漆桂林;崔荣国;张慧;邓波 发明人 漆桂林;崔荣国;张慧;邓波;陆彬;杨成彪
分类号 G06F17/30(2006.01)I 主分类号 G06F17/30(2006.01)I
代理机构 江苏爱信律师事务所 32241 代理人 刘琦
主权项 一种基于本体和受限自然语言处理的数据库查询方法,其特征在于,该方法包括如下步骤:1)将根据数据库关系模式构建出的本体转换成图数据结构:本体中的类被转换为类结点,数据类型属性被转换为属性结点,所述属性结点分别有一条连接到它指定的类结点的边,对象属性被转换为连接两个类的边;2)构建分词专用词典和关键词索引:依次读取数据库中的每一条记录,将读取到的记录值添加到词典中作为用户查询时分词的专用词典,读取出每一条记录时同时将该记录值作为键,将该记录值在数据库中对应的关系表名和列名作为值,组成键值对,存入到非关系型数据库中,作为关键词索引,用于快速定位给定的关键词,提高查询效率;3)系统接收到用户自然语言查询后,利用所述步骤2)中构建出的专用词典将自然语言分解为多个有意义的关键词;4)将所述步骤3)中分解出的关键词逐个地作为键,在关键词索引中查找所对应的值,即找出该关键词所对应的关系表名和列名,然后在所述步骤1)中生成的图数据结构中找到所有关系表名和列名对应的结点,最后将所有结点对应的连通分量从图数据结构中提取出来,作为查询空间;5)遍历所述步骤4)中构建出的查询空间中的连通分量,找到查询空间中能将所有关键词连接起来的所有连通子图,若不能找到任何一个满足条件的连通子图,则找出包含尽可能多的关键词的连通子图,然后将找出的连通子图根据其包含的关键词数从大到小进行排序,对于包含关键词数相同的连通子图,则再根据所包含的边数从小到大进行排序,最后选择排序最靠前的k个连通子图,k的值根据数据库的大小以及搜索得到的所有连通子图个数来确定;6)将所述步骤5)中选择的k个连通图按照排序,依次根据如下规则转换成SQL语句:将SQL语句中的Select子句以*填充,用以表示将所有的列全部返回,将连通图中的类结点写入到SQL语句中的From子句中,将连接两个类结点的边转换为外键关系写入到SQL语句中的Where子句中,将用户输入的关键词根据其对应的关系表名和列名写入到SQL语句中的Where字句中;所述SQL语句生成后,对数据库进行查询,然后将查询结果返回给用户。
地址 211100 江苏省南京市江宁区秦淮路98号左岸名苑1栋2单元801