论文部分内容阅读
随着信息技术的发展,人们越来越强烈地希望用自然语言同计算机交流信息。如果计算机能够“理解”自然语言,用户就能够通过自然语言使用数据库、专家系统、管理信息系统等各种软件。数据库自然语言接口(Natural Language Interface of Database NLIDB)就是旨在使用户以某种自然语言(如汉语)的形式访问存储在数据库中的信息,从而为不熟悉英语和不了解数据库技术的用户提供方便。它是多学科交叉的产物,涉及自然语言处理,数据库,人工智能等多方面的研究。目前,国外围绕着英、日等语种的这方面的研究已渐趋成熟,但是由于汉语存在词与词之间界限不明显、语法复杂、语义繁多等诸多特点,对汉语处理技术的不成熟极大的限制了NLIDB的应用拓展。 本文首先介绍了数据库自然语言查询接口,提出了本课题的研究背景和现状。在对已有技术的分析和总结的基础之上,围绕着国内NLIDB存在的种种问题,本文提出了一些新方法和新思路,并设计实现了一个汉语NLIDB原型系统。该原型系统的实现主要涉及三个方面的任务:分词及标注、中间代码的生成、中间代码向目标代码的转换。在分词过程中,我们借鉴了“数据库语义”的思想,提出了基于词汇数据库语义的分词模型。我们首先用基于TRIE树字典的最大匹配算法及回朔机制对查询语句进行分词处理并消除词汇的切分歧义,然后用模式规则合并具有完整数据库语义的词汇。我们对几种中间语言进行比较之后,选择了语义依存树作为查询语句向SQL转换的过度结构,提出了基于NIVRE算法的依存文法分析模型,然后用基于数据库对象相关语义图的消歧算法来消除数据库语义歧义。在依存树向SQL语句转换过程中,我们提出了新的集合块划分算法,以集合块为单位完成依存树向SQL语言的转化。 本文的主要研究工作及其成果包括以下几个方面: 1)将数据库语义依存树作为查询语句向SQL转换的中间形式。在此基础上,构建了基于Nivre算法的数据库依存文法分析模型DRAM,将经过数据库分词及标注后的查询语句转化为语义依存树; 2)将歧义问题分为切分歧义和数据库语义歧义,在数据库分词和依存文法分析两个阶段分别解决切分歧义和数据库语义歧义问题,提出了基于数据库对象相关语义图的消歧算法,有效解决了数据库语义歧义问题; 3)提出了基于中心节点的集合块的划分策略及其向SQL语句的转化方法,能够有效的将各种形式的语义依存树向SQL语句转化。 最后,本文构建了一个原型系统,并给出了试验结果及分析,试验结果说明本文的研究工作基本达到了预期效果。