网站大量收购独家精品文档,联系QQ:2885784924

基于VisualProlog自动答疑系统设计与实现.docVIP

基于VisualProlog自动答疑系统设计与实现.doc

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于VisualProlog自动答疑系统设计与实现

基于VisualProlog自动答疑系统设计与实现   【摘要】针对远程教育答疑环节存在的问题,设计实现一个自动答疑系统。阐述自动答疑系统的总体设计、主要算法和基于Visual-Prolog的实现技术。测试结果表明,系统答疑准确率较高,响应速度较快。系统允许用自然语言提问,并自动返回准确或相近答案,提高了远程答疑的效率。   【关键词】自动答疑系统;中文自动分词;相似度计算;Visual-Prolog   【中图分类号】G40-057 【文献标识码】B 【论文编号】1009―8097(2010)07―0122―04      目前远程教育中答疑主要采用BBS、E-Mail和在线值机答疑等方式。这些答疑方式需要教师直接参与,不仅无法保证答疑的实时性,而且经常必须重复地回答相似的问题,造成人力和资源的巨大浪费。自动答疑系统是利用自然语言处理技术分析用户提出的问题,自动给予问题解答的软件系统。在远程教育中应用自动答疑系统,能够及时解答学生提出的问题,减少教师的工作量,提高远程答疑的效率。   Visual-Prolog是基于Prolog语言的编译型程序开发环境,用于编写自动答疑系统,能充分利用其模式匹配、合一、回溯和内置数据库等功能。针对课程答疑的特点,以《C语言程序设计》课程为例,介绍自动答疑系统的总体   设计、主要算法和基于Visual-Prolog的实现技术。      一 自动答疑系统的总体设计      1 系统功能   系统由自动答疑、在线答疑(人工)、知识库管理、用户管理和使用帮助5个功能模块组成。采用B/S架构,用户通过Web浏览器使用系统。   2 基本流程   答疑过程包括四个主要环节:中文自动分词、关键词提取与同义词变换、建立候选问题集和问句相似度计算,如图2所示。问题库中存储大量的“标准问句―答案”对。系统允许用户使用自然语言提问,在获取问句后,通过检索问题库,向用户返回准确或相近的答案。系统提供三种检索答案的模式:①精确检索,如果用户提出的问句与标准问句完全相同,或它们在语义上很相似(相似度≥70%),则系统返回标准问句对应的答案;②模糊检索,系统返回与用户提出的问句在语义上有一定关联(相似度≥40%)的标准问句对应的答案;③全面检索,系统返回相似度大于零,且相似度较高的几个标准问句对应的答案,并将问题提交专业教师进行解答。      3 用户分类   系统共有管理员、教师、学生和匿名用户4种,每种用户拥有不同权限。管理员用户拥有最高权限,可以对用户、问题库及词典进行管理。教师用户可以进行在线答疑,对问题库、专业词典进行简单维护。学生用户可以使用自动答疑和在线答疑功能。匿名用户只能使用自动答疑功能。      二 自动答疑系统的主要算法      1 中文自动分词   系统采用基于词典的字符串最大匹配分词法。因为用户问句中的疑问词短语和专业词汇对问题检索非常重要,所以采用疑问词短语和专业词汇优先切分的原则,并将词典分成疑问词典、专业词典和通用词典。首先,用疑问词典和专业词典将问句切分成疑问词短语、专业词汇和待切分子串的序列S。然后,分别用正/逆向最大匹配法结合通用词典对S中每个待切分子串进行切分。当出现切分歧义时,使用最小切分原则[1]进行确定,选用切出词数少的切分方案。若存在切分词数相同的歧义切分,则根据词频消除歧义。对于一个歧义片段,设一种切分结果为M=M1M2…Mn,另一种切分结果为N=N1N2…Nn,分别计算它们的频率积fq(M)=f(M1)×…×f(Mn)和fq(N)=f(N1)×…×f(Nn),并选用频率积大的切分结果,其中f(W)是词汇W在某个大规模语料库中出现的频率。当词频消歧仍不能排除歧义时,优先选用逆向最大匹配法的切分方案。   2 关键词提取与同义词变换   问句包含的关键词描述了问句的主要语义。除了关键词,问句一般还包含若干检索意义不大的停用词[2],如“的、呢、吗”等。因为问句通常比较简短,其中包含的词汇较少,所以系统把问句中标点符号和停用词之外的词汇作为关键词。   如果问题库中存在和用户提出的问题相同(近)的问题,但其标准问句中的关键词与用户问句中的关键词不相同,并且它们是同(近)义词,则直接用于检索会降低检索的正确率。例如:用户问句X为“算法的定义是什么?”,问题库中对应的标准问句Y为“算法的概念是什么?”,由于X中使用“定义”,Y中却使用“概念”,所以需要对它们进行同义词变换。同义词变换需要使用同义词典,可以在《同义词词林》的基础上构建同义词典。“《同义词词林》收录了近7万词,将词语分为12个大类,94个中类,1428个小类,小类下面再根据近义原则划分为词群(或原子词群),每一个词群(或原子词群)以一个标题词命名”[3]

文档评论(0)

3471161553 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档