毕业设计-数据库智能查询接口的实现论文.doc
《毕业设计-数据库智能查询接口的实现论文.doc》由会员分享,可在线阅读,更多相关《毕业设计-数据库智能查询接口的实现论文.doc(57页珍藏版)》请在三一文库上搜索。
1、数据库智能查询接口的实现录取分数查询摘 要本文深入研究了自然语言处理的基本知识和原理,把自然语言理解与数据库技术结合起来,利用visualc+6.0开发工具设计并实现一个数据库智能检索接口系统录取分数查询。据据库采用Access,利用Ado实现了数据的存取。关键词: 智能检索接口系统,自然语言处理,Ado,VC+6.0目录摘 要2目录3第一章 前言51.1数据库自然语言界面51.2数据库自然语言界面的发展过程81.2.1早期系统(6070年代)81.2.2专用系统(7080年代)81.2.3通用系统(8090年代)91.3数据库自然语言界面的关键技术研究121.3.1领域知识提取处理121.3
2、.2自然语言查询处理121.3.3自然语言查询中的知识处理131.3.4自然语言更新处理131.3.5受限自然语言的处理141.3.6对现存问题的解决141.4数据库自然语言界面研究展望151.5中文分词技术161.5.1中文切词 - 基本介绍161.5.2 中文切词 - 技术特点171.5.3中文切词 - 技术难点20第二章 数据库理论基础222.1数据库系统设计222.2 SQL语言介绍242.2.1 SQL基础242.2.2 SQL语句25第三章 需求分析263.1 任务概述263.1.1建立一个数据库263.1.2语义理解263.1.3 语义抽取263.1.4语义输出263.2 系统需
3、求263.2.1 Microsoft SQL Server2000数据库273.2.2 MFC简述27第四章总体设计374.1系统模块分析374.2系统结构图384.3 成员变量39第五章 查询程序系统的实现405.1数据库操作类AccountAdo405.1.1读数据库字段数据405.1.2保存数据库字段数据405.1.3打开数据库415.1.4打开表425.2同义词典输入435.3查询实现445.4切词475.4.1搜索字典475.4.2搜索原义词典485.5生成查询语言49第六章 结论526.1 关键技术526.2 软件测试526.3 总结52致谢53文献53附 件54第一章 前言随着数
4、据库应用的广泛与深入的发展,人们对数据库应用系统的要求也越来越高,灵活、随意、自然的数据库智能查询需求日趋强烈。1.1数据库自然语言界面对计算机人机界面的研究是计算机领域永恒且无止境的前沿课 题。许多年来,人们一直在努力改善人机界面,使计算机易用易学。用自然语言作为人机接口是一种十分理想的界面,不但容易被用户使用,而且使用自然语言的输出结果也容易被用户理解。-数据库系统是最适合使用自然语言界面的软件系统。随着数据库应用及信息检索系统的广泛普及,越来越多的非专业用户需要一种易于掌握的界面去访问所需的信息。数据库自然语言界面(NLIDB)显然最符合这类用户的要求。数据库自然语言界面是指允许用户用自
5、然的语言对数据库的内容提出各种操作要求,然后由系统自动地将其转换为数据库的操作语言,从而在数据库中查询到正确的信息,并提供给用户。它沟通了现实世界与机器世界对信息的不同理解方式,是多学科交叉的产物,其中涉及数据库系统、自然语言处理、人工智能、人机界面等多方面的研究。许多年来,它作为智能界面的重要组成部分引起了人们的广泛兴趣,成为具有重要理论价值和巨大实用价值的研究领域。从广义上讲,数据库自然语言界面应当包括数据定义、数据更新和数据查询等功能,旨在为与数据库有关的各种操作提供一个易于使用的环境。从狭义上讲,数据库自然语言界面仅仅指自然语言查询界面,这主要是因为,一方面对普通用户而言,查询操作是使
6、用最为频繁和最为重要的;另一方面,数据库自然语言界面的主要技术问题都集中在自然语言查询处理的过程中。-目前,数据库的用户界面主要有以下几种: 基于语法的形式查询语言,如SQL; 基于表格的界面,如QBE、FORM; 基于图形的用户界面GUI; 基于自然语言的界面NLIDB。-形式查询语言对一般用户来说学习负担太重,不仅要熟悉大量的语法结构,而且要具备数据库的基本知识,如关系模式和关系运算等,这对非专业用户是很不适应的。表格界面虽不用掌握语法,但还是要了解数据库的结构。GUI有其直观性的一面,但用户同样需要了解所要查询的对象。自然语言界面提供了用户直接以人类语言(而不是人工语言或机器语言)的方式
7、向数据库系统发问,以获得所需的信息的方式。换句话说,用户可以直接以应用领域的概念而不是数据库的概念模式来访问,这意味着用户无需了解数据库内的表名、列名,而可以直接以用户熟悉的对象名称提问,从而大大减轻了用户的学习负担。它的优势具体表现在: 用户无需了解数据库的内部结构; 用户不再需要熟悉数据库本身的查询语言; 大大减轻了用户的培训负担。-国外早在70或80年代就开始了这方面的研究工作,并研制了若干数据库自然语言界面系统,典型的有Intellect、Planes、Ladder、Team、Datatalker、Teli等。-对数据库界面的研究在我国一直未引起足够的重视。因此,目前缺乏适合我国用户的
8、数据库界面产品。开展中文数据库自然语言界面的研究,可填补这方面的空白,特别在今天,计算机汉语手写体及语音识别已初步达到实用阶段,汉语语言界面若与手写体、语音识别成龙配套,其前景将十分诱人。到那时,人机可以直接对话,相互交换信息将十分自然和方便。1.2数据库自然语言界面的发展过程-数据库自然语言界面是伴随着自然语言处理(NLP)的发展而发展的,其研究历史可追溯到60年代初。70年代和80年代在这方面进行了大量的研究工作,并研制了若干数据库自然语言界面原型系统和商用系统。其发展大致可分为三个时期。1.2.1早期系统(6070年代)-在60年代,自然语言处理技术有了初步发展,机器翻译成为这一时期NL
9、P的主要应用结果。同时,为了探索新的NLP方法,一些研究人工智能的学者开发了一批应用软件,其中最典型的代表是1963年由B.Green建立的Baseball系统,它用于检索美国一年内各球队比赛的时间、地点及比赛成绩等,可以说是最早的NLIDB系统。该系统功能十分有限,用户只能输入一个简单句,不支持与、或、非和比较操作。1.2.2专用系统(7080年代)-70年代,自然语言处理取得长足的进步,在句法、语义分析中提出了许多知识表示和处理模型,如扩充转移网络、格语法、语义网络语法、概念从属理论等。由于技术上的进步,在这个时期研制出了一些很有名的系统。尽管这些系统还局限在某个领域内,属于专用系统,但其
10、自然语言的处理能力已大为提高。-Lunar系统是这一时期的典型代表,它对以后的自然语言界面的研制产生了许多影响。-Ladder是产生于70年代后期的一个重要系统。其主要目标是使决策者可以直接使用大型数据库,而且可以使界面方便地配置到不同的DBMS之上。-Planes是70年代后期的另一个重要系统。它在技术上没有什么特别之处,其语法分析采用ATN,语义处理采用上下文寄存器(ContextRegisters)与概念格框架(ConceptCaseFrame)。Planes的主要特点是其注重系统的自然性,提出了一系列很重要的系统目标。-比如,在输入方面,系统应可以接受语法成分很复杂的输入,以及处理代词
11、指代和语句省略问题,并能接受一些不合英语语法的请求;在输出方面,应给用户更自然、更直观的显示;系统应具有容错能力,并给出更改建议;同时还提到了系统的可扩展性,即向新的数据库和应用领域扩展的能力。Planes虽未实现它所提出的所有目标,但它们确实是很重要的建议,是后续系统的主要实践内容。1.2.3通用系统(8090年代)-80年代是NLIDB研究最为活跃的时期,其研究重点放在了系统的可移植性上,即通用系统的研究。因为用大量精力所开发的一个系统只能适用某一类应用,这显然不令人满意。Team是这方面的典型代表。-Team系统研制的突出目标是自然语言界面的可移植性,即界面可以在不同领域之间或不同数据库
12、模式之间方便移植。Team解决可移植性的方法是将与领域有关的知识作为可分离的部分从外部获取,通过方便的菜单系统从数据库专业人员那里获取领域内的知识,在自然语言处理过程中使用这些知识,从而理解一般用户提出的有关该领域的查询。-Ask系统通过支持自学习能力来满足系统的可移植性要求。该系统允许用户向系统提供新的词汇和新的概念。-可移植性系统的产生使系统具有了一定的通用性。商业系统在这一时期大量涌现。较有名的系统有Intellect、Teli、Datatalker。-在轰轰烈烈的研究中,一些学者过分乐观地认为数据库自然语言界面的应用会持续增加,广泛应用的时代即将到来。但不幸的是,80年代末及90年代初
13、,图形用户界面技术的巨大进步极大地冲击了自然语言界面的研究。从这些年来有关NLIDB方面的论文数量急剧减少中就可以明显看到这一点。-进入90年代,尽管对NLIDB的研究失去了往日的火热,但依然有一些研究工作在扎实地进行着。一方面,人们力图将前期的一些系统引入更为实用的阶段,如由BBN公司推出的基于RUS和IRUS的Parlance、SRI公司的Clare、微软公司在SQLServer6.5/7.0中提供的EnglishQuery、IBM的LanguageAccess、加拿大SimonFraser大学开发的SystemX;另一方面,人们不断探索新的理论和方法,如引入多模式界面、人工神经网络等技术
14、。-我国在这方面的研究基本是在汉语自然语言查询界面的范畴下展开的,以体现我国用户使用汉语的特色。在70年代和80年代,我国人工智能方面的学者开始研究汉语人机对话系统,这些系统与数据库的结合尚不紧密。进入90年代后,国内在从事数据库汉语查询界面方面的研究有了一些进展,但在系统建设方面只停留在原型系统的水平上,难以见到一些成熟的系统。最近几年,越来越多的学者重新认识到汉语查询界面研究的理论意义和应用价值。中国人民大学、香港中文大学和北京大学在国家自然科学基金重点项目的支持下,开展了“中文数据库系统及其界面研究”课题,在中文数据库环境下,从可移植性体系结构、领域知识的自动提取、自然语言查询分析处理、
15、受限中文查询语言的设计实现与评估、智能界面管理等方面进行了多方位全面、系统的深入探索,已经取得了可喜的研究成果。-NLIDB的发展趋势可以用下图表示。可以预见,进入21世纪后,随着技术水平的不断提高,NLIDB必将获得长足的发展,这完全符合未来计算机的发展方向和未来计算机的应用需求。1.3数据库自然语言界面的关键技术研究1.3.1领域知识提取处理-让系统自动或半自动地实现领域知识的提取,从而建立起专用词典,这是实现系统可移植性的重要步骤。在很多NLIDB系统中都采用了提取技术。-领域知识提取处理的好坏不仅影响到系统的可移植性,由于它的生成结果是词典,因此也将影响到系统的可用性。好的提取方法必须
16、能充分减少用户负担,增强自动生成能力。1.3.2自然语言查询处理-大部分数据库的自然语言界面,其处理过程大致可分为五个阶段:自然语言分析阶段、查询生成阶段、查询执行阶段、结果加工阶段和语言转述阶段。-自然语言分析阶段是自然语言界面系统的核心,其主要任务是进行语法语义分析。对此,自然语言处理有不同的策略,有面向特定应用领域的分析方法、面向通用领域的分析方法、面向数据库应用领域的分析方法。前两种方法一般比较常见,第三种方法我们认为是一种更适合数据库自然语言查询处理的方法。首先它以数据库查询为具体的语言对象提出相应的处理方法,采用语法语义合一的思想,简化通用方法的累赘。-上述处理框架也被称为是一种基
17、于中间语言的处理逻辑。它的最大好处在于具有比较好的可移植性。由于有了中间语言,当系统架构于不同的DBMS之上时,只需对其中的查询生成和查询处理模块做必要的调整即可。其实查询生成和查询处理模块若是基于数据库标准SQL和ODBC,则基本可以做到无代价移植。1.3.3自然语言查询中的知识处理-自然语言查询的最大特点在于它是基于现实世界的概念模型即领域知识而提问的。因此,自然语言查询的问题不单单是从数据库中找出现成的数据,而且要查出非现成的数据,即知识。前者若称为直接性查询,后者则可称为间接性查询。要想正确理解间接性查询,必须借助领域知识才能完成。对直接性查询,当出现歧义时,也必须用到知识加以处理。知
18、识在自然语言查询处理中的作用远不限于此,概括起来有以下三方面内容:领域知识在解释查询中的重要性、领域知识在回答查询中的重要性、用户模型的重要性。1.3.4自然语言更新处理-自然语言更新处理在某种意义上讲要比自然语言的查询更难处理。其困难在于,更新操作要改变数据库的内容,而如何改变是与数据库的具体结构有关的。就关系模式来讲,是与表的结构和表的参照关系有关的,而自然语言用户的最大特点是不用了解数据库的结构。这一矛盾会导致更新操作出现一种歧义性现象,这种歧义不是来自用户的表述,而是来自数据库底层对一个请求有几种不同的更新方式。因此,对一个自然语言更新所潜在的问题是实现上可能存在多个数据库更新操作,称
19、为候选更新(CandidateUpdate)。1.3.5受限自然语言的处理-目前,NLIDB都只能处理自然语言的一个很小的子集,因此,用户在使用自然语言查询时要受到很多限制(即受限自然语言),而这些限制对用户来讲是不明确的。解决受限自然语言的途径有两个方面,一是改进处理方法,增大可处理的语言面,我们称之为主动性方法;另一方面是在不降低表达能力的情况下,能以一种清晰的方法告诉用户语言的受限范围,从而减少用户出错的情况,我们称之为被动性方法。显然后一种方法简单易行,而且系统实现也可因此大大简化,但它不是解决问题的积极方法。1.3.6对现存问题的解决-为解决数据库自然语言界面中存在的问题,目前技术研
20、究主要朝以下三方面努力: 增强系统的可移植性; 扩展系统的语言范畴; 扩展系统的概念范畴。-其实这三方面内容的解决是紧密缠绕在一起的。如领域知识提取技术既增加了系统的可移植性,也是解决另两类问题所必需的。就目前技术来看,对可移植性问题的解决比较充分,如体系结构、词典组织、领域知识提取都在一定程度上解决了领域的独立性;基于中间语言的分析框架解决了DBMS的独立性。-受限语言的处理方法(受限语法和界面生成)可以在一定程度上解决范围失配问题,但这不是从根本上解决问题的方法。我们认为在系统中增加知识的运用是解决后两类问题的关键。1.4数据库自然语言界面研究展望-我们认为,目前首先要解决的是研究方法问题
21、。传统的研究方法在走两个极端,从事自然语言处理的人认定NLIDB的核心技术是“自然语言理解”,而搞数据库的人则总是不能跳出原有数据库查询的圈子,只能给出其实不需语言处理的菜单构造界面。我们认为,在研究方法上应定位于以数据库语义为中心的思想。NLIDB处理的是数据库这一特定领域的语言问题,它的直接处理目标是将自然语言表述的查询转换为数据库查询。如何将自然语言查询与现存的数据库语义信息结合,是解决这一处理目标的关键。基于此,我们提出了基于数据库语义的一整套语言处理逻辑来解决NLIDB的一些关键问题,如基于数据库语义的自动分词、句法分析及数据库查询转换,设计实现了一个自然语言查询系统NChiql,对
22、可移植性体系结构、领域知识的自动提取、中文自然语言查询分析处理、受限中文查询语言的设计实现与评估、智能界面管理等方面进行了多方位全面、系统的深入探索。NChiql原型系统具有良好的可移植性、可用性、可适应性、鲁棒性和智能性,它采用三层结构,可以直接嫁接在不同厂家的DBMS引擎上。-计算机处理自然语言的能力远未达到人们的想像和期望,自然语言界面的可用性也远不及图形界面等其他类型的界面。人们不得不问,为什么还要研究自然语言界面?目前,图形界面虽然在直观友好方面比原先的字符界面大大改进了,但使用者仍需要将脑中所想的(What)转化成如何操作(How)来完成任务的执行步骤。而新一代界面应该是MTM(M
23、indToMachine)型,即将脑中所想的直接提交给机器来完成,人们只需关心What,而无需关心How。具体的有语音、手势、虚拟空间等操作计算机的方式,而语音、手写等交互方式都是以自然语言理解为基础的。人们不断追寻着这一梦想,但这需要计算机科学、语言学、思维科学等各学科的共同努力,相互促进,不断地将各学科的成果融合起来。1.5中文分词技术1.5.1中文切词 - 基本介绍众所周知,英文是以词为单位的,词和词之间是靠空格隔开,而中文是以字为单位,句子中所有的字连起来才能描述一个意思。例如,英文句子I am a student,用中文则为:“我是一个学生”。计算机可以很简单通过空格知道studen
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 毕业设计 数据库 智能 查询 接口 实现 论文
链接地址:https://www.31doc.com/p-3944478.html