论文部分内容阅读
随着人工智能技术的快速发展,智能问答系统在各行各业得到了广泛的应用,例如智能客服、智能AI助手等领域,但是现存于市面上的智能问答系统对于中文古诗词领域的应用与研究却很匮乏。近年来,随着坚持文化自信这一目标的提出,“文以化人”、“文以载道”的理念深入人心,同时由于《中国诗词大会》、《中华好诗词》等热门综艺的播放,人们对中文古诗词这一文化瑰宝的学习越来越热爱。传统方式下,人们学习中文古诗词时,遇到问题通常会选择使用搜索引擎对未知问题进行检索,但是搜索引擎搜索的结果大多是一些网页链接或者一段话,更有甚者检索出的网页答案是广告,需要用户花费大量的时间与精力去甄别正确信息。问答系统因其能够快速理解用户的意图,并且直接为用户提供高质量的答案而越来越受到欢迎。传统的问答系统多是基于模板匹配或者基于深度学习生成式产生问题答案。面对日益增多的知识数据,基于模板匹配的问答系统需要耗费大量的人力物力去构建模板库,基于深度学习生成式的问答系统可能会产生语句不通顺或者与问题意图不符的答案。而基于知识图谱的问答系统通过将知识以三元组的形式进行存储,为问答系统提供高质量的数据来源的同时,能够为用户提供准确且简洁的结果,方便用户查询使用,吸引用户去学习未知的知识。针对上述情况,本文利用知识图谱来研究与实现中文古诗词问答系统。通过此系统,中文古诗词问题能够被精确地理解和映射到知识图谱上进行解答。首先需要通过爬虫技术将网络上存在的中文古诗词知识进行爬取,然后根据概念层设计将其存储在图数据库中。其次使用rasa问答系统框架对用户提出的中文古诗词问题进行理解与解答,最后将匹配的最佳答案通过人机交互平台返回给用户。因此,本文的主要工作有:(1)构建一种基于知识图谱的中文古诗词问答系统模型。模型包括中文古诗词知识图谱模块、人机交互模块、问题理解模块和问题解答模块。中文古诗词知识图谱模块主要负责将非结构化中文古诗词数据按照概念层设计存储为三元组知识表达形式。人机交互模块负责用户与系统的交互,用户通过微信公众号平台提出与中文古诗词相关的问题,问答系统则将查询到的问题答案传递给用户。问题理解模块主要负责解析用户提出的中文古诗词自然语言问题,提取出问题的实体以及意图。问题解答模块主要负责将问题转化成逻辑表达式,通过Cypher语句连接Neo4j图数据库进行结果查询,同时将匹配到的最优答案反馈给用户。(2)给出中文古诗词知识图谱的构建方法。由于网络上存在着不同结构的中文古诗词知识,而且大量的知识存在于非结构化的数据中,因此需要采取不同的技术方法有针对性的进行知识获取和知识存储。根据待爬取的古诗词网站特性,通过网络爬虫技术获取中文古诗词知识。并根据中文古诗词知识图谱概念层设计将其以三元组的形式进行存储,同时还需要对不同数据源的知识进行知识融合,从而实现中文古诗词知识图谱的构建。(3)给出中文古诗词问题理解与解答方法。对于用户提出的中文古诗词问题,使用Rasa NLU模块对其进行问题理解,解析出问题中包含的中文古诗词实体以及意图。然后使用Rasa Core根据Rasa NLU理解出的问题意图和实体类别构建对应的图数据库查询语句连接知识图谱进行问题解答,同时将用户对话历史记录使用MongoDB进行存储,在后续分析用户问题时可以更好的联系上下文历史信息来提高对问题意图解析的准确率,最后将解答出的结果返回给用户。(4)实现与测试中文古诗词问答系统。根据系统的整体流程以及功能结构对各个模块进行编码实现,同时建立一个关于中文古诗词的问答集作为测试数据对问答系统的功能进行测试。其次将构建的中文古诗词问答系统与传统的搜索引擎在中文古诗词问答方面进行对比测试,然后与商用中文问答系统苹果Siri在中文古诗词问答领域做测试,最后将本文实现的中文古诗词问答系统部署到腾讯云服务器上,通过微信公众号的形式为用户提供中文古诗词问答服务。为了验证本文构建的基于知识图谱的中文古诗词问答系统的有效性,我们通过线上采集中文古诗词相关的问题对问答系统进行运行和测试。实验结果表明,对于458个中文古诗词相关问题,本文构建的中文古诗词问答系统能够正确回答92%以上的问题。同时与传统的搜索引擎以及商用的中文问答系统在中文古诗词问答方面进行对比测试,测试结果表明,本文实现的中文古诗词问答系统在多轮对话,上下文联系方面能够做出更有效以及更准确的回答,准确率可达98%以上。能够有效的解决市面上关于中文古诗词领域问答系统匮乏的这一局面,同时方便用户随时随地查询中文古诗词相关的问题,提高用户学习的兴趣,降低学习成本。