自动答疑系统中文自动分词模块设计与实现
摘 要 随着科技的进步,自动答疑系统开始广泛的应用在了网络教育平台中,作为网络教育平台的重要组成发挥着非常重要的作用,它不但可以帮助加强师生之间的交流,还能够让学生认识到问题的本质,通过本质看问题迅速得到正确的答案信息。本文主要介绍了中文自动答疑系统中的FAQ库、领域文本知识库组织方式;并且阐述了问题的理解、检索、求解等模块的设计方案,通过这些方案力求满足网络教育平台的需求,本系统在实际的应用中也起到了非常重要的作用。
【关键词】中文自动答疑 FAQ库 信息检索
随着经济的发展,科技的进步,一些高科技的软件开始进入人们的生活。其中自动答疑系统就是典型的软件产品,它主要是一种利用语言的处理技术来自动分析用户所提出的问题的一种软件,这种软件可以自动给予问题的答案。其工作流程主要包括识别用户提交的每一句问题,然后对这些问题进行分词,在这个分词过程中运用到了中文分词模块,它在整个系统中起到非常重要的作用。自动答疑系統中的软件开发环境是Visual-Prolog。它是利用Prolog语言来进行编写的一种软件,其主要优点包括具有模式匹配、内置数据库、合一等等,这些优点可以看出它非常适合中文分词模块的编写。本文主要阐述了自动答疑系统中的中文分词模块的设计,希望在对自动答疑系统的下一阶段研究中,根据科学提出的需求进一步完善系统功能。
1 自动答疑系统的问句特点
1.1 面向具体课程
在词典中有很多词汇没有收录,我们把这种词汇叫做未登录词,这种词汇通常分为两类,其一是新出现的一些词汇或者是不常见的一些专业词汇;其二是一些不知名的人名、地名等。由于整个答疑系统是面向具体的课程,因此在答疑过程中遇到第二类词汇的几率很小,即使遇到第一类词汇也可以穷尽。
1.2 专业词汇和疑问词
自动答疑系统相对于传统的系统来讲功能比较完善,特别是在答疑系统中的问句部分,在我们正常语言中问句包括专业词汇和疑问词汇。无论是专业词汇还是疑问词汇都要在系统能识别出来,这样才能体现自动答疑系统的智能性。
1.3 专业词汇不易产生歧义,遵循长词优先原则
在自动答疑系统中的问句中的专业词汇基本上都是一种意思,不会出现一词多意的情况。除此之外专业词汇还会遵循长词优先的原则。
2 中文自动分词算法
在进行中文自动分词算法的选择中根据自动答疑系统的问句特点选用基于词典的字符串最大匹配法,在这其中遵循专业词汇和疑问优先的原则,不考虑未登记词汇,根据这些要求来选择自动分词算法。基于词典字符串最大匹配法是一种最基础的分词方法,在匹配的过程中又包括正向最大匹配和逆向最大匹配。自动答疑系统所采用的算法是双向最大匹配法,这种方法是经过改进和完善的算法,利用这种算法如果出现分歧义时就会采用最小切分原则把最小的词数切分出来。如果在切分的过程中出现切分词数相同的歧义切分就利用词频来消除歧义,如果词频也无法消除歧义就选用逆向最大匹配法来切分。
3 中文自动分词模块的实现
分词词典的实现:
(1)词的表示:
定义论域w和wl分别表示词和词序列。
domains
w=w(string V,iWeger F,s}ring-list(c).
wl=w*
(2)构建分词词典:
在自动答疑系统中分词词典的构件是在Visual-Prolog的环境下利用其内置的数据库完成的,这种数据库技术被称为链式的数据库技术,它主要包括两个部分,也就是对应的B+树和链形式。在分词词典的创建过程中,首先要把词作为一项数据放到数据库中,然后再将此数据和数据库中的参照数进行对比,插入B+树。在插入数据库中要把这种数据写成w(V,F,C)形式。
构建词典的代码如下:
DB =chainDB::db_ create ("DB" , chainDB::in_file())
DB:bt_create("Index",Index ,10,1,1)
DB:chain_insertz("WORDS",w(V,F,C) , Ref)
DB:key_insert(Index ,V ,Ref)
DB:beclose(Index)
DB:db_close()
(3)检索分词词典代码如下:
DB_ Temp=chainDB::db_open("DB",chainDB::in_file())
DB_ Temp:db_copy("hemp",chainDB::in_memory())
DB=chainDB::db_open("hemp" ,chainDB::in_memory())
DB_ Temp:db_close()
DB:bt_open("Index",Index)
DB:key_ search(Index,F,Ref)
DB:ref term(Ref,T)
T=w(V,F,C)
4 结束语
在自动答疑系统的中文自动分词系统中发挥重要作用的就是中文分词模块。本文介绍了自动答疑系统的问句特点,并且给出了相关的基础算法,并通过Visual-Prolog开发环境介绍了中文自动分词模块的实现方式。 在整个系统的设计中虽然我们对整个自动答疑系统的关键技术进行了研究和设计,但是对于我国当前的自动答疑系统来讲这只是一个开始。日后还要进行大量的研究,可以把复句、问句等等同时写入数据库中,这样就可以不断的完善自动答疑系统的功能,为建立一个更加智能的自动答疑系统做出更多的贡献。
参考文献
[1]张昭楠,马亚蕾.基于DRIS系统中的中文自动分词模块设计与实现[J].电子设计工程,2016,24(14):158-160.
[2]江耿豪.自动答疑系统中文自动分词模块设计与实现[J].现代计算机(专业版),2010(02):8-10+14.
[3]孙建国.领域汉语理解中的智能分词系统的研究与实现及其在产品设计中的应用[D].西安电子科技大学,2009.
[4]张彬.面向中文网络信息检索的自动分词系统设计与算法实现[D].华东师范大学,2007.
[5]陈海波.基于自动分词的企业文档搜索引擎设计与实现[D].西北工业大学,2007.
[6]向晖.DRIS系统中的中文自动分词模块设计与实现[D].华中科技大学,2007.
作者简介
阙玲丽(1979-),女,广西壮族自治区南宁市人。硕士研究生。现为广西工商职业技术学院讲师。主要研究方向为计算机科学与技术领域。
作者单位
广西工商职业技术学院 广西壮族自治区南宁市 530008