APP下载

基于自然语言的数据库查询接口探究

2018-03-29刘文婷

赤峰学院学报·自然科学版 2018年6期
关键词:文法语句语义

赵 飞,刘文婷

(绥化学院,黑龙江 绥化 152061)

1 自然语言数据库接口技术提出的意义

关系型数据库发展至今已经是一种成熟的数据存储与管理技术.数据在关系型数据库中具有规则的结构,因此被称为结构化数据.使用结构化查询语言(SQL语句)可以满足对关系型数据库中的结构化数据进行查找.目前针对SQL语句查询的算法已经相当成熟,使用SQL语句进行查询已经相当方便.但用户要有一定的数据库知识,并且了解SQL语句才能完成对关系数据库的查找,这对于一般的非专业用户还是存在一定的难度.就目前而言,大部分的非专业用户还无法灵活地对数据库进行查询.而随着当前社会竞争愈来愈激烈,越来越多的非专业用户希望可以灵活地对数据库进行操作,从而提升自己的科研水平和工作效率.如何使非专业用户可以快速地查询数据库已经成为目前程序开发人员面临的新课题.

基于自然语言的数据库查询接口,是通过人们日常说话使用的语言查询数据库,使数据库可以返回结果.与使用SQL语句查询数据库的方式相比,使用自然语言最大的优势在于非专业的用户不需要去了解数据库的机构和逻辑方式,从而不需要进行专业的培训或者只需要简单的培训即可查询数据库.这样大大地减少了非专业用户的负担,节省了时间,提高了效率.而国内的数据库自然语言接口技术相对于西方国家发展较晚,再加上汉语的语法、语义相对于英语也更加的复杂,使得我国在自然语言查询数据库方面发展较慢.

2 自然语言数据库接口国内外研究现状

随着数据库技术的发展,数据库查询方式更加趋向于方便化,因此通过语言直接对数据库进行查询的想法应运而生,便提出了数据库自然语言接口(Natural Language Interface of Database NLIDB)的概念.20世纪60年代,英语数据库查询系统BASWABLL在国外产生,当时的BASWABLL系统还没有语音识别能力,需要用户手动输入英语,BASWABLL会根据输入的关键字进行匹配,为用户提供相应的数据库内容.20世纪70年代,LUNAR系统在美国产生,被用于查询美国国家航空和航天管理局的一个数据库.而LUNAR系统相比BASWABLL系统有了本质的提升,LUNAR系统不再是简单地进行关键字的匹配,而是可以对英语的语法和语义进行分析,可以更精确地理解用户的意思.

国内的自然语言数据接口发展较晚,并且发展速度也很慢,而且功能还很局限,基本上都是停留在关键字匹配的阶段,本身也没有什么移植能力,都是针对专门的数据库设计的专门的接口,加上汉语语法本身就复杂,因此一直没有产生非常实用的汉语数据库查询接口技术.20世纪80年代初期,清华大学研制出了CNLIES系统,算是汉语数据库查询接口的鼻祖.之后分别在清华大学,华中理工大学,上海工业大学又分别出现了一些汉语数据库查询接口,但由于匹配方式差,无法分析语法,而且各个学校也都是独自为营,自己研究自己的导致研究成果也没有移植性,因此汉语数据库查询接口并没有得到实质性的发展.

3 数据库自然语言接口特点

语言是人类交换信息的载体,是一个非常庞大复杂、又在不断发展演变的开放式符号系统.不同的国家所使用的语言也是千差万别,即使是在同一国家,也会因地域的差异产生各种各样的方言.因此要处理目前所有在使用的语言,从目前的技术上来讲是不可能的.只有将语言限制在某种范围内,即将其中的一小部分应用于某一具体的数据库接口上.这样在目前的技术上来讲才是可行的.因此数据库自然语言接口应具有以下特点:

a)由于目前人工智能发展水平有限,对带有感情色彩的词还无法带有感情色彩的理解,所以为了使查询更为准确,不可以在查询过程中使用带有感情色彩的词语,成语,方言等.再有句型也不能太过复杂,太长的句子目前还无法被完全理解,只有使用简单的主谓宾句型才能更容易被理解.

b)另外查询过程也不宜太长,太长会产生很多上下文关联的内容,这些内容更容易产生歧义,使查询不准确导致查询失败.语言查询接口是将我们平时的语言转化成数据库查询语言,由于两种语言在语法上的差别巨大,因此我们使用尽量简单的语言表示清楚我们的意思,才更容易实现准确的转化过程.

4 自然语言接口相关技术分析

目前自然语言接口主要通过模板匹配、句法系统和语义语法等技术和方法实现.

4.1 模板匹配技术顾名思义,就是先通过事先预定义好的

模板与用户的输入进行匹配,看是否可以找到匹配结果,一旦找到便可以通过匹配到的结果返回用户需要查询的内容.这种方法是自然语言接口最为简单的技术,而且效果也相当的不错.模板匹配开放的系统更容易给使用者留下深刻印象,例如QQ聊天机器人,就是基于这种技术开发出来的.模板匹配技术最主要的优点就是使用简单,没有复杂句法分析和语义解释模块.也正是因为如此,模板匹配技术分析的深度不够,会把错乱的句子当作正常句子来接受,从而导致各种错误的查询.

4.2 句法系统与模板匹配不同,它会根据不同的文法对输

入的语言进行句法分析.这些文法包括短语文法、上下文相关文法、上下文无关文法和正规文法.经过严格的句法分析后,句法系统会排出不符合文法的输入语言,只保留正确的输入语言.经过这样的筛选后,句法系统则可以避免产生类似于模板匹配系统产生的错误,使得系统更为严谨.但这种系统的缺点也是显而易见的,引入文法会大大增加整个系统的复杂度.句法分析系统一般只能用于特定的数据库界面,其数据库查询语言是经过严格设计的,只有这样才能保证从分析的结果到查询语句的映射.

4.3 语义语法系统则使用特定的语义语法范畴标签,使用

的文法也构建在这些标签之上,这样便只针对特定领域进行语言查询大大降低了系统的复杂度.但这种方法使语义和语法结合在一起,所以使整个系统的移植性变差了许多.语义语法系统的执行过程与句法分析系统基本相似,同样也是对用户输入的查询语言进行句法分析,然后将分析得到的结果直接与数据库查询语句(如SQL)映射,最后返回用户要查询的结果.两者最大的不同便是语义语法系统不需要同句法概念相对应.

5 自然语言接口实现的途径

ER模型是一种特殊的概念模型,它详细地叙述了某个事物的各个方面,在数据库设计中被广泛用作数据建模工具.目前大部分的数据库都是关系型数据库,ER模型则可以很容易地转化为关系模型,建立相同的名称关系,且具有相同的属性.这样实体中键值的属性和联系固有的属性值则可以在关系模型中得以转化体现.可见,ER模型可以便捷地转换为关系型数据库,两者具有密不可分的关系,这样通过ER模型建立一座自然语言与数据库的桥梁则成了自然语言数据库接口的一个突破口.

由于自然语言都是生活中使用的语言,这与数据库所使用的SQL语言是完全不同的,如何将自然语言转化为SQL语言则是实现数据库自然语言接口的重点.如果可以存在一种中间语言,可以将自然语言转化为SQL语言,又能保证用户的输入不被误解,计算机又可以理解,就可以完成由自然语言转化为数据库语言的过程了.在选取中间语言时,应结合关系模型把文本分解,将分解后的单一词组进行排列,每个单一词组都对应一条数据库知识库的属性值,最后保留翻译结果.在转化过程中,可以更加细化中间语言,这样可以更好的翻译成SQL语言.

在设计中间语言时需要注意的是:首先,中间语言并不需要表示出用户的全部含义,若表示出全部含义,中间语言则会变得非常复杂且庞大,这为后期SQL语言的转化制造了巨大的麻烦.其次,中间语言设计的目的要明确,即连接自然语言与数据库查询语言之间的桥梁的作用.再次,设计出的中间语言要保证是无歧义的,意义清楚明白,这样才能转换成SQL语言来查询数据库.若存在歧义,则会导致转化的SQL语言不准确,最终导致查询不准确.最后,中间语言的设计也和软件的设计是一样的,不可能在短期内设计出完美的中间语言,需要通过开发人员不断地实践.所以这里就要求中间语言一定要具有可重塑性,便于二次开发.

6 SQL语言的转换

SQL语言是关系代数与关系演算之间的结构化查询语言,其主要功能就是实现数据库的查询.基本的查询语句形式为SELECT-FROM-WHERE,并且可以嵌套执行.表示的意义是查询FROM子句所确定的查找表的位置,WHERE子句则用来限定用户的查找条件,再通过与SELECT子句配合,就可以限定表名或者视图名,最终返回数据.通过使用SELECT语句则可以完成大部分的数据库查询.

7 结论与展望

本文讨论了基于自然语言的数据库查询接口,所做的主要工作有以下几项:

7.1 讨论了目前国内和国际基于自然语言的数据库查询接口的发展现状,通过分析一个普通用户查询数据库中信息的过程,总结了查询过程的特点并详细分析了其特性.

7.2 由于英语和汉语的差别巨大,如何进行精准的句法分析,获得准确的分词,设计适当的中间语言并消除歧义,对中间语言再研究再更新.这成了本文研究的重点与难点之一.

目前自然语言的数据库查询使用还并不广泛,仅限于一些指定地点的指定内容的查询.未来会有更多新兴领域移植自然语言数据库查询系统.使得自然语言的查询不再需要走到指定的地点进行指定内容的查询,而是可以通过移动电话走进千家万户.使用起来更加方便、快捷.

猜你喜欢

文法语句语义
重点:语句衔接
语言与语义
西夏文铜镜的真言文法与四臂观音像研究
Similarity measurement method of high-dimensional data based on normalized net lattice subspace①
A nearest neighbor search algorithm of high-dimensional data based on sequential NPsim matrix①
“上”与“下”语义的不对称性及其认知阐释
认知范畴模糊与语义模糊
如何搞定语句衔接题
上下文无关文法在孤立词识别中的应用
语义分析与汉俄副名组合