自然语言接口软件的设计与实现

自然语言接口软件的设计与实现

ID:19087550

大小:19.25 KB

页数:9页

时间:2018-09-28

自然语言接口软件的设计与实现_第1页
自然语言接口软件的设计与实现_第2页
自然语言接口软件的设计与实现_第3页
自然语言接口软件的设计与实现_第4页
自然语言接口软件的设计与实现_第5页
资源描述:

《自然语言接口软件的设计与实现》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、自然语言接口软件的设计与实现摘要为数据库设计自然语言接口成为数据库应用的一个研究方向。本文介绍了一种基于受限的汉语自然语言查询技术,通过建立机器辞典,对自然语言查询语句进行切词,再通过查找查询对象和查询条件,生成SQL语句。关键字受限;自然语言;机器辞典;切词;SQL语句1引言随着人工智能的发展和数据库技术的广泛应用,人们非常希望以一种更方便的方法去查询数据库。使用自然语言进行查询无疑是解决这一问题的有效方法。它避免了以往命令式人机界面、图形式人机界面繁杂的操作训练。事实证明,通用的自然语言理解往往是低效的,而作为数据库人机接

2、口的自然语言界面具有使用目的单一、用词范围有限等特点,在数据库查询意义上实现自然语言理解是完全可行的。另外,我们可以通过语音识别技术进行语音输入,从而简化复杂的输入工作。本系统针对数据库这一单一领域进行查询,从而简化了数据库查询的复杂操作。以提取查询对象和查询条件为手段,生成数据库查询语句为目的的软件。本软件的人机交互界面既可以单纯的通过输入语句,然后转换成SQL语句,也可以通过语音输入,再依靠复制-粘贴的手段进行输入,然后转换成SQL语句。2数据辞典的设计辞典结构的设计为了便于以后对机器辞典进行查找,本系统通过类来设计了机器

3、辞典,具体结构如下:classjqcd//定义一个反映机器辞典的jqcd类{char*ct;//词条字符串char*yzym;//标志char*yybz;//语义char*szb1;//所在表1char*szb2;//所在表char*szb3;//所在表}其中:ct:表示词条字符串,在切词时进行匹配,便于以后生成SQL语句。yzym:表示句法标志,用来表示词条在语句中的功能。用九个数字表示不同的含义,其中:“0”表示域名,“1”表示域值,“2”表示逻辑操作符,“3”表示关系操作符,“4”表示查询动词,“5”表示疑问词,“6”表

4、示连接动词,“7”表示使役动词,“8”表示中性词。yybz:表示语义标志,用来表示词条所对应的概念在语义框架中的功能。给词条加上合适的语义标志,有助于以后生成SQL语句。语义标志比语法标志复杂的多。szb1:表示词条所在表1,因为有些词条不只在一个表中,指出所在表有助于以后生成SQL语句。szb2:表示词条所在表2,因为有些词条不只在一个表中,指出所在表有助于以后生成SQL语句。szb3:表示词条所在表3,因为有些词条不只在一个表中,指出所在表有助于以后生成SQL语句。辞典的排序辞典排序采取先按机内码由小到大,再按词条长度由大

5、到小进行排序,通过排序以后,切词时可以先通过机内码找到该词第一个字,然后通过最大匹配法进行切词。【4】3切词及其存储切词切词采取机内码匹配,然后通过匹配词条字符串进行切词,具体流程如图1所示。具体分析如下:首先,读入句子。然后,按照句子的第一个字的机内码与辞典中的词条第一个字相匹配,匹配成功则从辞典中顺序查找词条,找到词条后入栈。如果找不到,则进行容错处理。对于数字,我们给他添加特别标志,使其在辞典中的位置为“-1”,以后进行分析时,只要遇到位置为“-1”的词时,就认为是数字。存储切词完毕,用栈进行存储中间结果,栈的结构如下:

6、structsave{char*savestr;intindexInDirectory;structsave*next;};其中:savestr存储切出的词。indexInDirectory存储切出的词在辞典中的位置,便于以后查询机器辞典中的词条。图1切词流程图4中间链表的生成生成中间链表【2】的目的是为了便于以后的语句分析,便于生成查找对象和查找条件中间链表的结构如下:structwTypeList{charword;//词条char*wordType;//词性charfield_value;//对应的域值charfield

7、_name;//对应的域名intlocationlibrary;//在辞典中的位置structwTypeList*next;//next指针};其中:该中间链表中的词性是关系到以后生成查询对象和查询条件的关键项。通过词性的判断可以提取查询对象和查询条件,以便生成SQL语句。5查询对象的生成自然语言的查询语句不外乎是命令性的祈使句、疑问句、条件判断句,根据相应句型,采用不同搜索方式来确定查询对象,本软件采用三种搜索方式:不需要搜索查询对象、需正向搜索查询对象【5】、需逆向搜索查询对象。经过反复比较和总结自然语言查询语句,共有六种

8、句型【3】:who—sentence如“谁的学号为100033102?”,这种句型的查询对象隐含在“谁”中,搜索方式为“不需搜索”。us—sentence如“哪些学生的籍贯是山东?”特殊语句:即verbqus不在句子首尾,而可以在其他的任何位置上。如“戴子强是哪个地方的人?”

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。