基于Lucene企业门户网站问答系统设计与实现.docVIP

基于Lucene企业门户网站问答系统设计与实现.doc

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

基于Lucene企业门户网站问答系统设计与实现   摘 要:信息服务类企业一般都有自己的门户网站,每天在网站上咨询的人非常多,人工回复难免需要消耗大量的人力物力。用户已经习惯于通过搜索引擎获取信息,Lucene是功能强大的搜索引擎框架,应用它可以很好地进行智能回复。利用基于Java的搜索引擎框架,定制智能问答引擎,通过智能问答和人工回复相结合,大大改善了人工回复咨询问题不及时的问题,节省了开支,提高了网站性能。   关键词:智能问答;搜索引擎;Lucene;余弦相似度;Java   DOIDOI:10.11907/rjdk.151291   中图分类号:TP319 文献标识码:A 文章编号:1672-7800(2015)007-0109-02   0 引言   随着企业的发展,用户对企业门户网站的咨询问题越来越多,如果单纯依靠传统的方式人工逐一回答,势必消耗大量的人力,而且用户往往还不能得到及时响应。再者,大部分人咨询的问题或多或少有相似之处,如何快速准确地解答共性问题,受到越来越多企业的重视。   如果能像搜索引擎一样,快速定位到问题,避免工作人员重复性的解答,具有非常重要的现实意义。Lucene是目前十分流行的全文检索工具框架,已得到广泛应用。鉴于此,利用Lucene和文本分类技术,实现了一个智能问答系统,并随时间的推移和工作人员的解答进行自我学习,大大提高了问答系统的效率,该系统能方便地嵌入到各信息网站中。   1 Lucene简介   Lucene是性能优异的Java全文检索工具包。它不是一个完整的全文检索引擎,而是一个全文检索引擎架构,可以方便地和其它应用整合,以实现完整的分析、查询、索引功能。Lucene的目的是为软件开发人员提供一个简单易用的工具包,方便在目标系统中实现全文检索功能,或者以此为基础建立起完整的全文检索引擎。   Lucene作为一个全文检索引擎,具有如下突出优点[1]:   (1)索引文件格式独立于应用平台。Lucene定义了一套以8位字节为基础的索引文件格式,使得兼容系统或者不同平台的应用能够共享建立的索引文件。   (2)在传统全文检索引擎倒排索引的基础上,实现了分块索引,能够针对新的文件建立小文件索引,提升索引速度,通过与原有索引的合并,达到优化的目的。实现一套强大的查询引擎,用户无需编写代码即可获得强大的查询能力,Lucene实现了布尔操作、模糊查询(Fuzzy Search)、分组查询等功能。   2 系统设计与实现   通过Lucene对文本库创建索引,就可以进行咨询,对用户的问题进行分词和文本相似度计算,返回与用户咨询问题最相近的答案,并让用户对答案打分。如果用户没有满意的答案,这个问题就留给工作人员解答,工作人员解答完毕后,答案将反馈给用户,同时被Lucene进行自动索引,下次有用户咨询相似问题时,系统将给出最相近的答案。下面介绍实现过程。   2.1 建立知识库   首先根据企业的业务,创建并整理成一个格式化的文本库,基于自然语言创建“问题―答案对”集合,进行动态扩展,作为原始系统的文本模型,索引方式采用倒排索引[4]。   2.2 添加索引   (1)创建存放索引的目录Directory。通过Directory创建指定索引存放位置[2]。   (2)创建分词器。分词器使用Mmseg4j中文分词器。MMSeg算法有两种分词方法:Simple和Complex,都是基于正向最大匹配。在Mmseg4j中自定义词典来扩充词库非常简单,同时方便实现中英文的分词,根据企业特定领域问答系统的需要,可以产生相对完善的针对领域的自定义词典库。   (3)创建索引器配置管理类IndexWriterConfig。管理所有有关索引器的配置。它只有一个构造方法IndexWriterConfig(Version matchVersion,Analyzer analyzer),构造方法中的参数matchVersion是Lucene版本,analyzer是分词器,即Mmseg4j分词器。   (4)创建索引器IndexWriter,负责创建和维护索引。使用IndexWriter iw=new IndexWriter(Directory dire,IndexWriterConfig?iwc)语句,该方法有两个参数,第一个参数为索引存放位置,参数类型为Directory;第二个参数为索引器,IndexWriter的索引器配置管理类IndexWriterConfig。可以将IndexWriter看作一个特定类型的数据库,用来存放各种表,可以将Document看作一张张的表。在Lucene3.6版本,只推荐使用这一个构造方法IndexWriter(Directory d,In

文档评论(0)

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

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

1亿VIP精品文档

相关文档