问答系统 订阅
问答系统(Question Answering System, QA)是信息检索系统的一种高级形式,它能用准确、简洁的自然语言回答用户用自然语言提出的问题。其研究兴起的主要原因是人们对快速、准确地获取信息的需求。问答系统是人工智能和自然语言处理领域中一个倍受关注并具有广泛发展前景的研究方向。 展开全文
问答系统(Question Answering System, QA)是信息检索系统的一种高级形式,它能用准确、简洁的自然语言回答用户用自然语言提出的问题。其研究兴起的主要原因是人们对快速、准确地获取信息的需求。问答系统是人工智能和自然语言处理领域中一个倍受关注并具有广泛发展前景的研究方向。
信息
优    点
强大、灵活、安全
外文名
Question answering system
中文名
问答系统
分    属
信息检索系统
问答系统发展历史
早在计算机诞生不久的1950年,Alan Turing就提出了著名的图灵测试。该测试的目的并不是为了获取信息,而是用于测试计算机是否具有智能,但是过程是相似的。图灵测试是把计算机和人都藏在用户看不见的地方,用户提出一系列的询问,计算机或者人给出问题的解答,如果用户分不清是人在回答还是计算机在回答问题,那么该计算机就具有了智能。为了鼓励进行图灵测试的研究,1991年Hugh Loebner设立了一个Loebner Prize,奖金10万美元,用于奖励第一个通过图灵测试的系统,遗憾的是,迄今为止,尚没有个人或者组织能够获此殊荣。除了大奖以外,比赛还每年拿出2000美元奖励当年表现最出色的系统。十多年来,出现了PC Therapist,Albert等优秀的聊天机器人系统,它们提出的一些技术,很值得开放域问答系统所借鉴。早期还有一些基于知识库的问答系统研究(Hendfix et a1. 1978,Woods 1973),包括基于本体的问答系统,受限语言的数据库查询系统,问答式专家系统等。这些系统虽然能在特定的领域中达到比较好的性能,但是它们大多是受限的。首先是语言受限,即只能使用少数几种问题语言模式,一旦采用比较随意的语言,质量就会明显下降。其次是知识受限,一般只能够回答某一个特定领域中的专业性问题。为了推动开放域问答系统的发展,信息检索评测组织(Text REtrieval Conferenee,TREC)自1999年开始,设立了开放域问答的评测任务,是TREC中历时最长的评测任务。其他的一些著名评测组织(如NTCIR和CLEF)也设置了问答系统评测的任务。关于问答系统的研究已在领域内受到强烈的关注。 [1] 
收起全文
精华内容
下载资源
问答
  • 问答系统

    千次阅读 2019-05-24 11:01:37
    问答系统 一,问答系统概述 1,研究背景 问答系统是下一代搜索引擎的基本形态。 问答系统的定义: 输入:自然语言的问句,而非关键词的组合。 输出:直接答案,而非文档集合。 2,发展历程 图灵测试 基于知识推理...

    问答系统

    一,问答系统概述

    1,研究背景

    问答系统是下一代搜索引擎的基本形态。

    问答系统的定义:

    • 输入:自然语言的问句,而非关键词的组合。
    • 输出:直接答案,而非文档集合。

    2,发展历程

    1. 图灵测试
    2. 基于知识推理的问答系统:答案或者从知识库中检索得到,或者在知识库上经过推理得到。
    3. 问答式检索系统:利用信息检索以及浅层自然语言处理技术从大规模文本库或者网页库中抽取出答案。
    4. 社区问答系统
    5. 基于知识库的问答系统
    6. 阅读理解系统
    7. 基于知识图谱的深度问答

    二,问答式检索系统

    1,问答式检索方法

    • 信息检索+信息抽取

    • 信息检索+模式匹配:答案模式

    • 信息检索+自然语言处理技术:对问句和答案句进行浅层句法分析,获得句子的浅层句法、语法表示,作为对前两种方法的补充和改进。

      涉及到的NLP技术有:

      • 命名实体识别
      • 句法分析技术
      • 逻辑表示
      • 复述关系
    • 基于统计翻译模型的问答技术:把提问句看作答案句在同一语言内的一种翻译。

    总结:

    • 每种方法都有自身的优缺点,需要综合各种方法,可能是未来发展的方向。
    • 随着自然语言处理技术的发展,自然语言处理技术将会在问答式检索系统中得到更加广泛的应用。

    2,Watson

    问答过程:

    1. 问题分析
    2. 问题分解
    3. 假设生成
    4. 内容获取
    5. 证据获取和检索
    6. 特殊问题处理
    7. 证据合并

    涉及到的NLP技术:

    • 句法分析
    • 信息抽取
    • 知识库的构建
    • 知识推理

    三,社区问答系统

    社区问答系统:指用户之间通过提出和回答问题的方式共享和积累知识,从而提供知识交流与信息服 务的社会化系统。

    主要任务

    • 预处理
      1. 问题分类
      2. 作弊检测
    • 与回答新提交问题相关的研究
      1. 相似问题检索
      2. 答案质量评估
      3. 专家用户推荐及最佳回答者推荐
      4. 问句的主客观判断
    • 与用户体验相关的研究
      1. 用户满意度预测
      2. 潜在好友推荐
      3. 用户社区结构挖掘
      4. 热点话题检测

    1,相似问题检索

    核心:计算两个问题的相似度。

    挑战:问题一般较短,包含的信息很少,词汇鸿沟问题很严重 。

    主要方法有:

    • 传统的信息检索模型:VSM、BM25等

    • 语言模型:根据每个问答对的语言模型生成查询的概率来对问答对进行 排序,概率值越大,该问答对就越满足要求。

    • 基于词的翻译模型:如果查询和候选问答对中的两个词不匹配,可以利用统计翻译模型找到一些在语义上相关的词。主要是为了解决词汇鸿沟问题。

      核心:利用大量的问答对作为平行语料来训练问题和答案中的词的翻译模型,获得翻译概率。

    • 基于短语的翻译模型:利用基于短 语的翻译模型来找到一些在语义上相关的短语,减少了基于词翻译因为没有考虑上下文信息带来的歧义错误。

      基本思想

      • 短语切分:将历史问答对D分割成一系列的短语E。
      • 短语翻译:将短语E逐个翻译得到一系列相关的短语F。
      • 短语调序:对所有的短语F做调序生成最终的查询q。

    在问题检索中,基于短语的翻译模型优于基于词的翻译模型。

    2,答案质量评估

    任务目标:通过对答案质量的自动分析,将全部候选答案按质量高低排序后展现给用户,可以节省用户的浏览时间,增强用户满意度 。

    主要方法:统计机器学习方法(看成分类或回归问题),如最大熵分类器、GBDT分类器等等。

    核心:如何选取特征?

    • 文本特征
    • 非文本特征:如点赞数、采纳数、推荐次数、页面点击次数、答案长度等等

    3,专家用户发现及最佳回答者推荐

    • 专家用户发现(回答的准确)
    • 最佳回答者推荐(回答的既准确又及时)

    专家用户不一定是最佳回答者,但最佳回答者一般是专家用户。

    主要方法:

    • 基于图结构的专家用户发现:HITS算法
    • 基于启发式的专家用户发现
    • 基于主题敏感的专家用户发现
    • 其他

    四,基于大规模知识库的问答系统

    五,阅读理解式问答系统

    六,对话系统

    评估方法:

    • 困惑度

    • BLEU

    • 比较生成回复与参考回复在n-gram上的共现程度,如n元组共现的准确率和召回率。

    • 在词向量的基础上,比较生成回复与参考回复词向量的相似程度

      • 词向量贪心
      • 词向量平均
      • 词向量极值
    • 基于语法评估

    展开全文
  • 问答系统算法

    2018-09-19 10:15:09
    问答系统
  • 高仿360问答系统ask2问答系统高仿360问答系统ask2问答系统高仿360问答系统ask2问答系统
  • 高仿 360 问答系统 ask2 问答系统
  • 问答系统综述

    2018-11-05 00:07:09
    本文内容包括: 当前搜索引擎存在的问题 问答系统的历史 问答系统分类 构建问答系统 问答系统实例
  • 问答系统PPT

    2018-02-25 12:43:39
    问答系统:当前搜索引擎存在的问题,问答系统的历史,问答系统分类,构建问答系统问答系统实例
  • CmsEasyQA问答系统

    2020-08-15 15:21:24
    CmsEasyQA问答系统是一个以PHP+MySQL进行开发的php问答系统源码。 CmsEasyQA问答系统拥有积分、打赏、分享等功能,激发用户主动创作内容,扩散有价值的信息,从而有利于品牌传播和产品营
  • ask2问答系统于2016年3月28发布开源,第一个版本V3.0,内置三套PC模板, default默认是百度问答模板 sowenda是高仿360问答的。 soso模板是仿腾讯soso问答界面。 一套wap模板,仿天涯问答的手机版。 pc和wap模板后台...
  • 问答系统
  • 中医药问答系统

    2021-03-01 23:32:14
    中医药问答系统
  • 基于火力发电厂知识问答库的检索式问答系统 1,将火力发电厂知识问答数据集(Q.txt和A.txt)通过预先,整合为格式规范的数据。2,基于词袋模型和TFIDF模型,采用余弦相似度作为标准,对测试3,将相似问题集合中的...
  • 人机问答系统

    2016-03-11 08:05:49
    人机问答系统
  • 下面将从两个方面对问答系统进行小结:一、常见的问答系统种类及介绍二、问答系统中的常用技术一、常见的问答系统种类及介绍:1.根据问题所属的知识领域来分类:(1) 开放域闲聊性。 举例:微软小冰(2)面向FAQ和任务...

    这是我的第一篇技术博客,也是对近期学习的问答系统进行一个小结,方便回顾所学。文章难免有错误之处,欢迎大家批评指正,不胜感激。

    下面将从两个方面对问答系统进行小结:

    一、常见的问答系统种类及介绍

    二、问答系统中的常用技术

    一、常见的问答系统种类及介绍:

    1.根据问题所属的知识领域来分类:

    (1) 开放域闲聊性。        举例:微软小冰

    (2)  面向FAQ和任务型。举例:京东JIMI、苹果Siri

    (3)限定域知识型。         举例:左手医生(问答模型、信息检索)

    2.根据答案生成阶段的技术分类:

    (1)检索式                    (2)生成式

    3.依据答案来源分类:

    (1)基于知识图谱问答系统

    (2)机器阅读理解的问答系统

    (3)基于问答对的问答系统

    下面将根据答案来源的分类进行详细展开:

    1.基于知识图谱问答系统(KB-QA)

    定义:给定自然语言处理问题,通过对问题进行语义理解和解析,进而利用知识库进行查询、推理得出答案。对事实性问答任务而言(如政策问题)这种做法依赖于知识图谱,准确率比较高。要求知识图谱是比较大规模的,因为KB-QA无法给出在知识图谱之外的答案。下面给出常见分类:

    (1)基于符号表示的KB-QA(传统的语义解析方法)

    (2)基于向量表示的KB-QA(知识表示学习的方法)

    评价标准:召回率(Recall)、精确率(Precision)、F1

    常用数据集:WebQuestion、SimpleQuestion、NLPCC KBQA数据集(中文)

    下面根据常见分类分别进行详细展开:

    (1)基于符号表示的KB-QA(传统的语义解析方法)

    定义:该方法是一种偏语言学的方法,主体思想是将自然语言转化为一系列形式化的逻辑形式,通过对逻辑形式进行自底向上的解析,得到一种可以表达整个问题语义的逻辑形式,通过相应的查询语句在知识库中进行查询,从而得出答案。

    语义解析传统方法:

    问题->短语检测->资源映射->语义组合->逻辑表达式

    语义解析树形式  Berant.EMNLP.Semantic parsing on freebase from question-answer pairs.2013

    语义解析目前一般做法:

    建图->主题词链接->确定核心推导链->增加约束和聚合函数

    查询图形式  Yih.ACL.Semantic Parsing via Staged Query Graph Generation:Question Answering with Knowledge Base.2015

    将语义解析简化为查询图生成,将其表述为具有分阶段状态和动作的搜索问题。

    (2)基于向量表示的KB-QA(基于表示学习的方法)

    定义:把知识库问答看做一个语义匹配过程。通过表示学习知识库以及用户问题的语义表示,得到低维空间的数值向量,再通过数值计算,直接匹配与用户问句语义最相似的答案。即问答任务就可以看成问句语义向量与知识库中实体、边的语义向量相似度计算的过程。

    随着深度学习的发展,基于表示学习的知识库问答取得了较好的效果。

    一般做法:

    问题和答案映射向量->向量匹配->计算问题-答案score->优化问题->候选答案选择

    详细过程:

    问题和答案映射向量:

    如何学习问题向量:把问题用LSTM进行建模

    如何学习答案向量:答案不能简单映射成词向量,一般是利用到答案实体,答案类型,答案路径,答案关系,答案上下文信息。分别和问句向量做相似度计算,最终的相似度为几种相似度之和。代表性的论文  [1]Dong, ACL. Question answering over freebase with multi-column convolutional neural networks.2015提出Multi-column CNN,在答案端加入了更多信息,答案类型、答案路径以及答案周围的实体和关系三种特征向量分别和问句向量做相似度计算,最终的相似度为三种相似度之和。

    Multi-column CNN

    向量匹配、计算问题-答案score:把这些特征分别映射成不同的向量,作为答案的其中一个向量(而不是直接拼接起来),最后用这些特征向量依次和问题做匹配,把score加起来作为总的score。

    优化问题、候选答案选择:一般用Margin Loss,极大化问题对正确答案的score,同时极小化问题对错误答案的score。当模型训练完成后,通过score进行筛选,取最高分的作为最终答案。

    早期方法使用记忆网络来做,论文:Bordes, arXiv. Large-scale simple question answering with memory networks.2015.首先通过Input模块来处理问题,加入知识库信息,将三元组通过输入模块变换为一条一条的记忆向量,再通过匹配主语获得候选记忆,进行cos匹配来获取最终记忆,将最终记忆中的宾语输出作为答案。在WebQuestions上得到了42.4的F1-score,在SimpleQuestions上得到了63.9的Accuracy。

    接着,又有很多位学者提出了其他基于知识表示学习的方法。其中论文[Xie.2018]提出一种基于深度学习的主题实体抽取模型,结合了问句单词级别和字符级别的嵌入表示来学习问题的序列表示,并利用双向LSTM对单词序列编码,最后使用CNN网络根据单词的上下文信息预测单词是否为主题词。在答案选择部分,文章提出一种基于自注意力机制的深度语义表示模型。使用双向LSTM和CNN网络来构建深度语义模型,并提出一种基于局部和全局上下文的自注意力机制用于计算单词的注意力权重。考虑语义表示学习和实体抽取任务之间的具有相互辅助作用,文章提出深度融合模型,将基于自注意力机制的深度语义表示模型与主题实体抽取模型结合,用多任务学习的方式进行联合训练。在NLPCC-ICCPOL 2016数据集上得到了83.45的F1-score。

    今年,Huang, WSDM. Knowledge graph embedding based question answering.2019 提出KEQA模型,不同于以往的直接计算问句和答案语义相似度的方法,本文尝试通过关系和实体学习模型从问句分别重构出实体和关系的知识表示,并进一步重构出三元组的知识表示,最终答案为知识库中与重构三元组最接近的三元组。同时文章也评估了不同的知识表示学习方法TransE,TransH, TransR对KEQA模型精度的影响。

    比较基于符号和向量的方法:

    1)基于符号的方法,缺点是需要大量的人工规则,构建难度相对较大。优点是通过规则可以回答更加复杂的问题,有较强的可解释性.

    2)基于向量的方法,缺点是目前只能回答简单问题,可解释性差。优点是不需要人工规则,构建难度相对较小。

    目前可以改进的地方:

    1)复杂问句,目前End2End的模型只能解决简单问答。

    2)多源异构知识库问答。对于开放域问答,单一的知识库不能完全回答所有问题。

    3)训练语料,知识库中有实体和关系,除此之外还可能有描述实体的文本信息,或许可以结合结构化知识和非结构化文本。

    4)对话中的自然语言形式回复。传统的自动问答都是采用一问一答的形式。然而在很多场景下,需要提问者和系统进行多轮对话交互,实现问答过程。这时,需要系统返回用户的答案不再只是单一实体、概念、关系的形式,而是需要是以自然语言的形式返回答案。这就需要自动生成自然语言的回复。现有方法多利用 sequence-to-sequence 模型进行自然语言生成,在这一过程中,如何与知识库相结合,将知识库问答的答案加入自然语言回复中,仍是亟待解决的问题。

    2.基于阅读理解的QA(基于文档、文本的问答)

    机器阅读理解在 NLP 领域近年来备受关注,自 2016 年 EMNLP 最佳数据集论文 SQuAD 发表后,各大企业院校都加入评测行列。利用机器阅读理解技术进行问答即是对非结构化文章进行阅读理解得到答案,可以分成匹配式QA,抽取式QA和生成式QA,目前绝大部分是抽取式QA。阅读理解花样很多,但是基本框架差异不大。

    SQuAD(斯坦福问答数据集):这是一个阅读理解数据集,由众包人员基于一系列维基百科文章的提问和对应的答案构成,其中每个问题的答案是相关文章中的文本片段或区间。SQuAD 一共有 107,785 个问题,以及配套的 536 篇文章。

    (1)匹配式QA

    给定文章、问题和一个候选答案集(一般是实体或者单词),从候选答案中选一个score最高的作为答案。这种形式比较像选择题型,已经基本上没人做了。

    (2)抽取式 QA

    让用户输入若干篇非结构化文本及若干个问题,机器自动在阅读理解的基础上,在文本中自动寻找答案来回答用户的问题。抽取式 QA 的某个问题的答案肯定出现在某篇文章中。抽取式 QA 的经典数据集是 SQuAD。

    (3)生成式QA

    目前只有MSRA的MS MARCO数据集,针对这个数据集,答案形式是这样的:

    1)答案完全在某篇原文

    2)答案分别出现在多篇文章中

    3)答案一部分出现在原文,一部分出现在问题中

    4)答案的一部分出现在原文,另一部分是生成的新词

    5)答案完全不在原文出现(Yes / No 类型)

    3.基于问答对的问答系统

    随着互联网技术的成熟和普及, 网络上出现了常问问题(frequent asked questions, FAQ)数据, 特别是在 2005 年末以来大量 的社区问答(community based question answering, CQA)数据(例如 Yahoo!Answer)出现在网络上, 即有了大量的问题答案对数据, 问答系统进入了开放领域、基于问题答案对时期。

    一般过程:问题分析 ->信息检索->答案抽取

    问题分析阶段:和基于自由文本的问答系统的问题分析部分基本一样, 不过还多了几个不同的研究点:

    (1)问题主客观的判断

    (2)问题的紧急性(通常在CQA数据中)

    信息检索阶段:该阶段目标是如何根据问题的分析结果去缩小答案 可能存在的范围,其中存在两个关键问题:

    (1)检索模型(找到和问题类似的问题)

    (2)两个问题相似性判断(返回答案或返回相似问题列表)

    答案抽取部分:在答案抽取部分, 由于问题答案对已经有了答案, 答案抽取最重要的工作就是判断答案的质量.研究怎么从问题的众多答案中选择一个最好的答案.

    下面网址给出了一些论文和近期研究成果:

    https://blog.csdn.net/class_guy/article/details/81535287

    二、问答系统中的常用技术

    总结一些目前能想到的常用技术

    参考文献:

    [1]Berant.EMNLP.Semantic parsing on freebase from question-answer pairs.2013

    [2]Yih.ACL.Semantic Parsing via Staged Query Graph Generation:Question Answering with Knowledge Base.2015

    [3]Dong, ACL. Question answering over freebase with multi-column convolutional neural networks.2015

    [4]Hao, ACL. An end-to-end model for question answering over knowledge base with cross-attention combining global knowledge.

    [5]Bordes, arXiv. Large-scale simple question answering with memory networks.2015

    [6]Huang, WSDM. Knowledge graph embedding based question answering.2019

    [8]Susht.知乎.一份关于问答系统的小结.2018

    若有侵权请联系作者,本文不作商业用途,仅供学习使用。**O(∩_∩)O~**

    展开全文
  • 纷答源码,微信付费问答系统 纷答-智慧问答付费问答系统
  • PHP问答系统

    2019-05-08 18:07:19
    PHP问答系统,基于Laravel5.6 LTS 版本开发,容易扩展,具有强大的负载能力和稳定性
  • CmsEasyQA问答系统源码

    2020-10-23 13:42:05
    CmsEasyQA问答系统是一个以PHP+MySQL进行开发的php问答系统源码。 CmsEasyQA问答系统拥有积分、打赏、分享等功能,激发用户主动创作内容,扩散有价值的信息,从而有利于品牌传播和产品营销。
  • CmsEasyQA悬赏问答系统

    2020-08-14 18:16:48
    CmsEasyQA问答系统 是一个以PHP+MySQL进行开发的php问答系统源码。 CmsEasyQA问答系统拥有积分、打赏、分享等功能,激发用户主动创作内容,扩散有价值的信息,从而有利于品牌传播和产品
  • 基于电影知识图谱的智能问答系统系列章节传送门: 基于电影知识图谱的智能问答系统(一) -- Mysql数据准备 基于电影知识图谱的智能问答系统(二) -- Neo4j导入CSV文件 基于电影知识图谱的智能问答系统(三) ...


    基于电影知识图谱的智能问答系统系列章节传送门:

     

    基于电影知识图谱的智能问答系统(一) -- Mysql数据准备

    基于电影知识图谱的智能问答系统(二) -- Neo4j导入CSV文件

    基于电影知识图谱的智能问答系统(三) -- Spark环境搭建

     

    基于电影知识图谱的智能问答系统(四) -- HanLP分词器

    基于电影知识图谱的智能问答系统(五) -- Spark朴素贝叶斯分类器

    基于电影知识图谱的智能问答系统(六) -- 问题训练样本集敲定

    基于电影知识图谱的智能问答系统(七) -- Neo4j语句那点事

     

    GitHub地址:https://github.com/kobeyk/Spring-Boot-Neo4j-Movies

    码云(gitee)地址:https://gitee.com/appleyk/Spring-Boot-Neo4j-Movies

     

    注意最新代码为分支:v0.1.2

     

     

     

    注:本篇不再过多的讲解如何demo实现了,集成也很是简单的,前面几章也已经给本篇做足了铺垫。项目中的代码注释也是非常的详细,最后会附上整个项目的git仓库地址。

     

     

    一、效果预览

     

     

    (1)电影简介

     

    前端展示:

     

     

    后台效果:

     

     

     

     

     

    (2)电影评分

     

    前端展示:

     

     

     

     

    后台效果:

     

     

     

     

     

     

    (3)电影演员列表

     

    前端展示:

     

     

     

     

    后台效果:

     

     

     

     

     

     

    (4)演员A和演员B合作过哪些电影

     

    前端展示:

     

     

     

     

     

     

    后端效果:

     

     

     

    由于章子怡本来是一个完整的人名,但是HanLP分词的时候,却意外的“失手”了,因此导致最后查询无果

     

    我们再换个问题试验一把

     

     

     

    后台效果:

     

     

     

     

     

    (5)某演员出演过那种类型的电影或演过某种类型的电影有哪些

     

     

     

     

    ......etc,其余不在做演示,下面直接来看如何利用Spring-Boot搭建我们的智能问答系统

     

     

     

    二、项目目录结构图

     

     

     

     

     

     

    三、Movie节点类

     

     

    这里只拿电影信息的节点类来进行演示,比如,movie对应的节点在Java中定义类如下:

     

     

    package com.appleyk.node;
    
    import java.util.List;
    
    import org.neo4j.ogm.annotation.NodeEntity;
    import org.neo4j.ogm.annotation.Relationship;
    
    import com.fasterxml.jackson.annotation.JsonProperty;
    
    @NodeEntity
    public class Movie extends BaseEntity{
    
    	private Long mid;
    	private Double rating;
    	private String releasedate;
    	private String title;
    	private String introduction;
    
    	@Relationship(type = "is")
    	@JsonProperty("电影类型")
    	private List<Genre> genres;
    	
    
    	public Movie() {
    
    	}
    
    	public Long getMid() {
    		return mid;
    	}
    
    	public void setMid(Long mid) {
    		this.mid = mid;
    	}
    
    	public Double getRating() {
    		return rating;
    	}
    
    	public void setRating(Double rating) {
    		this.rating = rating;
    	}
    
    	public String getReleasedate() {
    		return releasedate;
    	}
    
    	public void setReleasedate(String releasedate) {
    		this.releasedate = releasedate;
    	}
    
    	public String getTitle() {
    		return title;
    	}
    
    	public void setTitle(String title) {
    		this.title = title;
    	}
    
    	public String getIntroduction() {
    		return introduction;
    	}
    
    	public void setIntroduction(String introduction) {
    		this.introduction = introduction;
    	}
    
    	public List<Genre> getGenres() {
    		return genres;
    	}
    
    	public void setGenres(List<Genre> genres) {
    		this.genres = genres;
    	}
    
    }

     

    其中属性和neo4j中的movie节点的属性一一对应

     

     

     

     

     

    电影信息节点里面带有关系is,对应neo4j中该电影的类型

     

     

     

    通过Controller对外提供的查询接口如下:

     

     

     

    外部调用效果如下:

     

     

     

     

     

    四、加载自定义带词性的字典数据

     

     

     

    注:不要使用HanLP提供的自定义词典路径,因为这个除了不能随心所欲的定义分词的词性以外,还极容易出现分词紊乱,词性对不上的bug,为了满足我们对专有电影名、电影分数及电影类型词性的定义,我们使用额外加载的方式设置HanLP的自定义分词,application.properties中设置自定义词典的路径如下:

     

     

     

     

     

     

     

     

     

     

    这三个文件的下载地址:https://pan.baidu.com/s/13PYsF2X3v7BzkPFG37kKuw

     

    注:也可以根据自己的需求进行设置

     

     

    五、项目完整地址

     

     

    GitHub下载地址:Spring-Boot集成Neo4j并利用Spark的朴素贝叶斯分类器实现基于电影知识图谱的智能问答系统

     

     

     

    完结!!!

     

     

     

    番外篇:如何将项目导入到IDEA并运行测试效果?

     

    (1)IDEA项目结构图(导入pom文件,配置好Maven后如下)

     

     

     

     

    (2)项目配置文件

     

     

     

     

    (3)内嵌html测试前端访问页面

     

     

     

     

     

    (4)启动项目

     

     

     

     

     

     

     

    (5)浏览器访问主页Index.html

     

    展开全文
  • 基于知识图谱的问答系统 -- SpringBoot整合Neo4j开发问答系统 PS:资源的下载积分会随下载次数自动增加越来越多,如果您积分不够的话可以私信我重置下载分数
  • 问答系统论文

    2015-09-22 07:59:25
    限定领域内问答系统的设计与实现.pdf 限定领域基于网络的问答系统的研究与实现 限定领域的自动问答系统研究(20150922074715)
  • ask2问答系统是以php+MySQL进行开发的php问答系统源码。
  • MiniLemon知识问答系统

    2019-08-10 03:09:00
    Mini-Lemon 知识问答系统
  • 社交问答系统

    2014-09-22 08:57:12
    WeCenter 问答系统是一套开源的社交化问答软件系统。作为国内首个推出基于 PHP 的社交化问答系统,WeCenter 期望能够给更多的站长或者企业提供一套完整的社交问答

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 8,522
精华内容 3,408
关键字:

问答系统