论文部分内容阅读
在数字信息时代,人们对信息的需求表现得前所未有的强烈,尤其是在互联网浪潮席卷全球之后,这种需求达到了极至。庞大互联网的出现,给我们提供了无穷的学习资源。伴随搜索引擎技术的发展与普及,只要我们输入关键词,就能轻而易举地查到我们想要的东西。但是网上信息不断地增长既给我们带来了方便,也带来发麻烦。搜索引擎返回给我们的只是大量相关的网页而不是准确的答案。如何在这些浩瀚的网页中准确地找到我们想要的东西是对搜索引擎的一个巨大挑战。为了克服搜索引擎的缺点,国内外许多学者致力于探索新的搜索技术,就这样自动问答系统应运而生了。本文设计了一个面向软件测试领域的中文自动问答系统,并利用论坛上“问题-答案”的形式扩充数据库。主要包括中文分词模块、问题理解模块、信息检索模块三个部分。中文分词是中文自动问答系统的关键技术,分词效果的好坏直接影响到对用户所提问题理解的程度,在该模块本文采用“双向最大匹配+回退多字”的方法提出了一种改进的歧义字段发现算法,使它能够处理多字长的交集型歧义字段。问题理解模块是要明白用户的提问目的,本系统通过两种方式对用户提出的问题进行处理。第一步,对用户提问的问题先与数据库中的问题进行模式匹配,以期尽快找到答案,本文在分析BM模式匹配算法的基础上,提出了一种改进的BM模式匹配算法,利用连续的一串不是模式字符串中的字符无需比较的特点,改变字符比对顺序,减少比对次数,从而提高匹配算法的效率。第二步,对于第一步匹配失败的问题,采用自己开发的搜索引擎在软件测试论坛上搜索相关的问题,找到相应的答案。信息检索模块的任务就是用前面提取出来的关键字到软件测试论坛上查找相关的问题,返回最相关的答案。