精华内容
下载资源
问答
  • 知识图谱 问答系统

    2018-03-27 20:39:26
    肖仰华-大规模概念图谱构建与...腾讯-大规模知识图谱的构建与应用-苏州大学 KG Refinement by Knowledge Intensive Crowdsourcing 面向智能问答的知识获取 陈虹-知识图谱及其变种在行业实践中的应用与思考-ZTE中兴
  • 电影知识图谱问答系统项目总结-附件资源
  • 知识图谱问答系统发布时间:2018-06-19 05:32,浏览次数:6061. 前言知识图谱(knowledge graph),是下一代搜索引擎、问答系统等智能应用的基础设施,目前出现的产品有:百度“知心”、搜狗“知立方”等。本篇将介绍...

    知识图谱和问答系统

    发布时间:2018-06-19 05:32,

    浏览次数:606

    1. 前言

    知识图谱(knowledge graph),是下一代搜索引擎、问答系统等智能应用的基础设施

    ,目前出现的产品有:百度“知心”、搜狗“知立方”等。本篇将介绍知识图谱基础知识,及其在自然语言处理方面(主要是问答系统)的应用。

    2. 知识图谱概念

    知识图谱,是一种基于有向图(directed graph)的数据结构,由节点(points)及有向边(directed

    edges)组成,图中的每个节点称为实体(Entity),边代表实体间的逻辑关系(Relation)。

    举一个例子,这是一个简单地描述旅游景点的知识图谱:

    现在来解释为什么“知识图谱是下一代搜索引擎、问答系统等智能应用的基础设施”,如果把智能系统看成一个大脑,那么知识图谱就是大脑中的一个知识库

    ,它使得机器能够从“关系”的角度去分析、思考问题。以上图为例,从知识图谱中可以获取“泰山的海拔高度为1545米”、“衡山和恒山发音相同”等简单知识。

    3. 知识图谱的表示

    知识图谱可以使用三元组(entity-1,relation,entity-2)

    来表示,每一条记录描述一个事实,例如:(五岳,五岳之一,泰山)表示“泰山是五岳之一”这样一个事实。需要注意的是,如果relation 是确定的,那么

    entity-1 与entity-2 的位置不能够颠倒的,因为一个三元组描述一条有向边(事实);实体不一定得是现实生活中的一个具体事物,也可以是事物的一个属性值

    ,此时关系就是该属性。

    我们用三元组来存储知识图谱,这时还需要考虑一个问题,那就是实体识别(Entity Recognition)与实体消歧(Entity

    Disambiguation)。例如,实体“苹果”有可能是指水果苹果,也可能是指iphone。这时,我们对知识图谱需要做一些处理,修改一下搜索策略。

    在建立知识图谱过程中,若发现歧义,则再增添对应上级节点,在筛选“苹果”一词时使用上级节点来消歧。这里再次强调知识图谱仅是基础设施

    。后面会通过几个例子说明知识图谱的应用价值;再介绍知识推理(Knowledge Reasoning)技术,即怎样通过与用户互动教会智能系统完善知识图谱。

    4. 知识图谱的应用

    传统搜索引擎只是简单地根据用户输入的关键词去筛选目标网页,然后给出一堆网页链接。知识图谱的应用,除了给出相应的网页链接外,还会尝试

    提供一些更加智能化的答案。例如,用户在必应搜索输入“taj mahal”将得到如下结果:

    这里提供泰姬陵的近义词、旅游信息、地理位置、古代世界七大奇迹等,从而更好地发掘用户意图,

    而不像传统搜索引擎那样死板,需要用户自己一条一条去筛选信息, 这样知识图谱技术就具有很大的商业价值了。

    又例如,我直接在百度搜索输入“乒乓球”, 得到以下结果(其实我只是想搜索一下“张继科”,但是一时间忘了他的名字):

    同时,知识图谱的应用能够使得搜索引擎获得一定的推理能力

    。举一个例子,在百度搜索输入“梁启超的儿子的妻子”,传统搜索引擎只是简单地匹配网页,很难真正地理解用户意图,更别说回答这个问题了。然而知识图谱却可以令问题变得简单起来,我们先从知识库中获取梁启超的儿子是梁思成,然后再获取梁思成的妻子是林微因。

    这样就能增强搜索引擎与用户间的互动,逐步变成一个智能问答系统。

    5. 知识推理技术

    这里再次强调知识图谱仅是基础设施

    ,因为它真的很简单,也没有什么高大上的技术,我们仅仅只是想将知识用这样一个形式存起来,以便由简单的知识学习出更高深的知识。举一个例子,知识图谱中仅存有如下信息:

    那么智能问答系统是无法回答类如“康熙与乾隆之间是什么关系?”知识推理类的问题的,这时可以用过简单地加入人工规则:“父亲+父亲→祖父”来更新知识图谱,或者直接从用户互动中学习规则,当然用户互动时就需要上

    统计知识了,不能说有网友回答“国籍相同关系”那么所有的祖父与孙子都是“国籍相同关系”。

    接下来我们来看一个更复杂的例子,在百度搜索引擎中输入“孕妇可以吃荔枝吗?”得到如下结果:

    这时智能问答系统可以返回“59%的网友认为能吃,28%的网友认为不能吃,13%的网友认为不能吃”。若用户继续问“不能吃的理由是什么?”,那就返回“不能吃”的网友回答。下面通过这个例子来思考

    统计机器学习技术在知识推理中的应用。

    我们分析一下,这些“网友回答”有些来自“宝宝树”,有些来自“有问必答网”,有些来自“育儿网”,我们可以利用爬虫去爬这些网站的问题及其回答,然后对问题做聚类

    ,先构建如下知识图谱:

    具体问题与回答之间的逻辑关系边一开始留空,我们再对语义边上分类技术,把空余的边填补完整,当然也可能误分类

    ,例如百度例子中的第一个回答,“慎吃”被归为“能吃”。最后再对这些边做统计,就可以回答类似问题,利用语料库做知识推理,学习知识库里没有的知识,完善知识图谱。

    展开全文
  • 果然,功夫不负有心人,找到了中科院软件所刘焕勇老师在github上的开源项目,基于知识图谱的医药领域问答项目QABasedOnMedicaKnowledgeGraph。用了两个晚上搭建了两套,Mac版与Windows版,哈哈,运行成功!!!从无...

    这是 阿拉灯神丁Vicky 的第 23 篇文章

    1、项目背景

    为通过项目实战增加对知识图谱的认识,几乎找了所有网上的开源项目及视频实战教程。

    果然,功夫不负有心人,找到了中科院软件所刘焕勇老师在github上的开源项目,基于知识图谱的医药领域问答项目QABasedOnMedicaKnowledgeGraph。

    用了两个晚上搭建了两套,Mac版与Windows版,哈哈,运行成功!!!

    从无到有搭建一个以疾病为中心的一定规模医药领域知识图谱,以该知识图谱完成自动问答与分析服务。该项目立足医药领域,以垂直型医药网站为数据来源,以疾病为核心,构建起一个包含7类规模为4.4万的知识实体,11类规模约30万实体关系的知识图谱。 本项目将包括以下两部分的内容:1、基于垂直网站数据的医药知识图谱构建

    2、基于医药知识图谱的自动问答

    2、项目环境

    2.1 windows系统

    搭建中间有很多坑,且行且注意。

    配置要求:要求配置neo4j数据库及相应的python依赖包。neo4j数据库用户名密码记住,并修改相应文件。

    安装neo4j,neo4j 依赖java jdk 1.8版本以上:

    根据neo4j 安装时的端口、账户、密码配置设置设置项目配置文件:answer_search.py & build_medicalgraph.py (github下载项目时根据个人需要也可使用git)

    数据导入:python build_medicalgraph.py,导入的数据较多,估计需要几个小时。

    python build_medicalgraph.py导入数据之前,需要在该文件main函数中加入:build_medicalgraph.py

    启动问答:python chat_graph.py

    2.2 Mac系统

    mac本身自带python、java jdk环境,可直接安装neo4j图数据库,项目运行步骤与windows基本一样。

    问题解答:安装过程中如遇问题可联系Wechat: dandan-sbb。

    2.3 Neo4j数据库展示

    2.4 问答系统运行效果

    3、项目介绍

    该项目的数据来自垂直类医疗网站寻医问药,使用爬虫脚本data_spider.py,以结构化数据为主,构建了以疾病为中心的医疗知识图谱,实体规模4.4万,实体关系规模30万。schema的设计根据所采集的结构化数据生成,对网页的结构化数据进行xpath解析。

    项目的数据存储采用Neo4j图数据库,问答系统采用了规则匹配方式完成,数据操作采用neo4j声明的cypher。

    项目的不足之处在于疾病的引发原因、预防等以大段文字返回,这块可引入事件抽取,可将原因结构化表示出来。

    3.1 项目目录

    .

    ├── README.md

    ├── __pycache__ \\编译结果保存目录

    │ ├── answer_search.cpython-36.pyc

    │ ├── question_classifier.cpython-36.pyc

    │ └── question_parser.cpython-36.pyc

    ├── answer_search.py

    ├── answer_search.pyc

    ├── build_medicalgraph.py \\知识图谱数据入库脚本

    ├── chatbot_graph.py \\问答程序脚本

    ├── data

    │ └── medicaln.json \\本项目的全部数据,通过build_medicalgraph.py导neo4j

    ├── dict

    │ ├── check.txt \\诊断检查项目实体库

    │ ├── deny.txt \\否定词库

    │ ├── department.txt \\医疗科目实体库

    │ ├── disease.txt \\疾病实体库

    │ ├── drug.txt \\药品实体库

    │ ├── food.txt \\食物实体库

    │ ├── producer.txt \\在售药品库

    │ └── symptom.txt \\疾病症状实体库

    ├── document

    │ ├── chat1.png \\系统运行问答截图01

    │ ├── chat2.png \\系统运行问答截图01

    │ ├── kg_route.png \\知识图谱构建框架

    │ ├── qa_route.png \\问答系统框架图

    ├── img \\README.md中的所用图片

    │ ├── chat1.png

    │ ├── chat2.png

    │ ├── graph_summary.png

    │ ├── kg_route.png

    │ └── qa_route.png

    ├── prepare_data

    │ ├── build_data.py \\数据库操作脚本

    │ ├── data_spider.py \\网络资讯采集脚本

    │ └── max_cut.py \\基于词典的最大向前/向后脚本

    ├── question_classifier.py \\问句类型分类脚本

    ├── question_classifier.pyc

    ├── question_parser.py \\问句解析脚本

    ├── question_parser.pyc

    3.2 知识图谱的实体类型

    3.3 知识图谱的实体关系类型

    3.4 知识图谱的属性类型

    3.5 问答项目实现原理

    本项目的问答系统完全基于规则匹配实现,通过关键词匹配,对问句进行分类,医疗问题本身属于封闭域类场景,对领域问题进行穷举并分类,然后使用cypher的match去匹配查找neo4j,根据返回数据组装问句回答,最后返回结果。

    问句中的关键词匹配:

    根据匹配到的关键词分类问句

    问句解析

    查找相关数据

    根据返回的数据组装回答

    3.6 问答系统支持的问答类型

    4、项目总结

    基于规则的问答系统没有复杂的算法,一般采用模板匹配的方式寻找匹配度最高的答案,回答结果依赖于问句类型、模板语料库的覆盖全面性,面对已知的问题,可以给出合适的答案,对于模板匹配不到的问题或问句类型,经常遇到的有三种回答方式:1、给出一个无厘头的答案;

    2、婉转的回答不知道,提示用户换种方式去问;

    3、转移话题,回避问题;

    例如,本项目中采用了婉转的方式回答不知道:

    基于知识图谱的问答系统的主要特征是知识图谱,系统依赖一个或多个领域的实体,并基于图谱进行推理或演绎,深度回答用户的问题,基于知识图谱的问答系统更擅长回答知识性问题,与基于模板的聊天机器人有所不同的是它更直接、直观的给用户答案。对于不能回答、或不知道的问题,一般直接返回失败,而不是转移话题避免尴尬。

    整个问答系统的优劣依赖于知识图谱中知识的数量与质量。也算是利弊共存吧!知识图谱图谱具有良好的可扩展性,扩展了知识图谱也就是扩展了问答系统的知识库。如果问句在射程范围内,可轻松回答,但如果不幸脱靶,则体验大打折扣。

    从知识图谱的角度分析,大多数知识图谱规模不足,主要原因还是数据来源以及技术上知识的抽取与推理困难。

    题图

    展开全文
  • 知识图谱问答系统.zip

    2021-03-10 08:50:33
    中文简介:随着知识图谱的迅速发展,面向知识图谱的中文领域问答系统已成为目前最新最热的研究方向之一,对于提高专业领域服务智能化程度具有较高的意义和价值。本系统针对中文口语语义表达多样化、不符合语法规范...
  • 中文简介:通过知识图谱的Swift发展,面向知识图谱的中文领域问答系统已成为当前最新最热的研究方向之一,对于提高专业领域服务智能化程度具有较高的意义和价值。中文口语语义表达形式,不符合语法规范以及电商领域...
  • 注:KBQA即是我们通常所说的基于知识图谱问答系统。这里简单构建的EasyKBQA,数据来源于网络,源码地址看下面补充说明。目录:流程原理:该问答系统可以解析输入的自然语言问句,主要运用REFO库的"对象正则表达式...

    本文主要通过python实例讲解基于RDF和SPARQL的KBQA系统的构建。该项目可在python2和python3上运行通过。

    注:KBQA即是我们通常所说的基于知识图谱的问答系统。这里简单构建的EasyKBQA,数据来源于网络,源码地址看下面补充说明。

    目录:

    流程原理:

    该问答系统可以解析输入的自然语言问句,主要运用REFO库的"对象正则表达式"匹配得到结果, 进而生成对应 SPARQL 查询语句,再通过API请求后台基于TDB知识谱图数据库的 Apache Jena Fuseki 服务, 得到结果。

    实际过程:

    1. 预定义 3 ​类共 5 ​个示例问题,​包括:

    ● "谁是苑茵?",

    ● "丁洪奎是谁?",

    ● "苏进木来自哪里?",

    ● "苑茵哪个族的?",

    ● "苑茵是什么民族的人?".

    2. 利用结巴分词对中文句子进行分词, ​同时进行词性标注;

    3. 将词的文本和词性打包, ​视为"词对象",对应 :class:Word(token,​ ​pos)​;

    4. 利用 REfO ​模块对词进行对象级别 (object-level) ​的正则匹配,判断问题属于的​种类​并产生对应的 SPARQL,对应 :class:Rule(condition,​ ​action)​;

    5. 如果成功匹配并成功产生 SPARQL ​查询语句, ​立刻请求 Fuseki ​服务并返回结果,打印相关内容;

    程序运行:

    1、配置第三方库:pip install refo jieba sparqlwrapper

    2、安装JAVA JDK1.8,配置好环境变量。

    3、项目根目录主要包括backend​​文件夹和test.py文件(同一级),backend是Jena​的Fuseki 模块,​运行第4步

    4、cd backend/apache-jena-fuseki-3.5.0,windows下启动SPARQL endpoint服务:

    fuseki-server.bat --loc=../DB /demo > log.txt 2>&1

    对应Linux命令为:

    nohup ./fuseki-server --loc=../DB /demo > log.txt 2>&1 &

    5、运行根目录代码:python test.py,结果如下图:

    补充说明:

    1、启动fuseki服务器参数,--loc=../DB设置在线服务数据库位置,参数/demo

    2、自然语言问句进行正则匹配的逻辑REfO. ​主要参考根目录下的代码:words.py

    3、后续改进可参考: 使用邻接链表表示自然语言问句, 通过遍历有向图或子图匹配方法构造 SPAPQL ​查询语句

    代码下载地址:https://download.csdn.net/download/starbaby01/10621927

    展开全文
  • 原标题:如何搭建一个基于知识图谱问答系统(以医疗行业为例)问答系统(QA)已经成为人类访问十亿级知识图谱的流行方式。与网络搜索不同,在自然语言问题能够被精确地理解和映射到知识图谱上的结构化查询的前提下,...

    原标题:如何搭建一个基于知识图谱的问答系统(以医疗行业为例)

    问答系统(QA)已经成为人类访问十亿级知识图谱的流行方式。与网络搜索不同,在自然语言问题能够被精确地理解和映射到知识图谱上的结构化查询的前提下,基于知识图谱的问答系统可以给出准确且简洁的结果。

    近几年,随着Google Knowledge Graph、Freebase、YAGO2等大规模知识图谱的不断涌现,极大地增加了问答系统的重要性和商业价值。在各大主流招聘网站上,可以看到相关人才需求逐年增加,供不应求,且薪资普遍高于其他AI领域。越来越多技术人员开始转向知识图谱相关领域的研发,但是由于知识点广,可参考的资料不多,给能力进阶或转行带来极大困难。

    图片来源于招聘网站Boss直聘

    基于以上背景,深蓝学院联合国内知识图谱领域的知名学者,开设知识图谱线下集训课程(第四期),地点定于深圳。本期集训为时4天,致力于通过8个半天和4个晚自习的高强度课程学习&实践,即学即练,帮助学员系统掌握知识图谱各个生命周期的主流核心技术,学会如何独立实现一个基于知识图谱的问答系统。(本次集训以医疗行业为教学实战案例)

    本次集训提供所有代码、说明文档、软件安装包、操作视频(如下所示),为了确保学员的实战效果,还另外安排一个月的线上答疑和实战项目指导。

    讲师介绍

    曾博,高校讲师,中科院自动化所模式识别国家重点实验室博士,主要研究方向为信息抽取、知识图谱、自然语言处理,迄今在包括ACL、EMNLP、COLING、IJCAI等国际顶级会议上发表多篇学术论文,曾获得COLING、CCL最佳论文奖。主持多项国家自然科学基金青年基金、湖南省自然科学基金等项目,参与了国家自然科学基金、国家重点基础研究发展计划(973计划)及华为等多个科研项目,具有丰富的知识图谱落地实践经验。

    (可添加文末子书的微信,获取曾博在COLING的获奖论文)

    本次集训适合谁参加

    1. 研究方向与知识图谱相关的硕博研究生

    2. 想成为或者转型做知识图谱工程师的学员

    3. 计划拓展知识图谱相关业务、想提升团队专业素质的企业人员

    完成本次集训你将获得哪些技能

    集训课程大纲

    实践项目介绍

    前三期现场回顾

    第一期、第二期、第三期集训地点分别设在北京、上海、北京,目前均已经顺利收官!报名的学员里有来自华为、航旅纵横等企业人员以及来自中科院、国防科大、中国人民大学、北航、中南大学、浙江工业大学、山东大学、南京大学等科研院所的学生。

    图为第一期知识图谱线下集训现场,讲师正在授课、答疑

    图为第二期知识图谱线下集训现场,讲师正在授课、答疑

    图为第三期知识图谱线下集训现场,讲师正在授课、答疑

    图为第一期知识图谱线下集训师生合影

    图为第二期知识图谱线下集训师生合影

    图为第三期知识图谱线下集训师生合影

    第四期集训的时间、地点、费用等其他信息

    时间:2019年12月6日(周五)- 12月9日(周一)

    地点:深圳(具体地点将在答疑群里同步给大家)

    剩余名额:28

    费用:3999元(仅限前20名),学费将主要用于Cover场地+人力成本+学习材料等相关费用。

    需要具备的基础:线性代数和概率论基本概念、Python 3基础知识、最好可以了解深度学习基础知识(卷积神经网络、循环神经网络等)

    完成集训将获得:全套纸质版讲义、实践项目所有代码、80篇知识图谱精选论文、《知识图谱》《知识图谱:方法、实践与应用》(两本专业书籍可任选一本)

    如何报名本次集训

    现在可以添加本次集训负责人的子书微信,备注“paperweekly”,领取1000元优惠券报名。数量有限,先到先得!!!

    添加子书(微信号:shenlan-zishu),领取限量优惠券

    戳原文,了解更多集训信息。

    注:本文含商业推广内容返回搜狐,查看更多

    责任编辑:

    展开全文
  • QA调查:北航大数据高精尖中心研究张日崇团队对问答系统的研究。包括知识图谱问答系统(KBQA)和文本问答系统(TextQA),每类系统分别对学术界和工业界进行研究
  • COVID-19知识图谱问答系统(基于REFO)

    千次阅读 热门讨论 2020-04-28 09:50:08
    基于知识图谱问答系统,即KBQA。其中一个简单的实现方法是根据用户输入的自然语言问句,转化为图数据库中的关系查询,最终将数据库中的实体及关系呈现给用户。 下面给出了一个KBQA的Demo。 实现依赖 Python 3.6+ ...
  • 医疗知识图谱问答系统探究(一)

    万次阅读 多人点赞 2019-03-15 21:26:39
    这是阿拉灯神丁Vicky的...果然,功夫不负有心人,找到了中科院软件所刘焕勇老师在github上的开源项目,基于知识图谱的医药领域问答项目QABasedOnMedicaKnowledgeGraph。 项目地址:https://github.com/liuhuanyong/...
  • 运行完成后,打开浏览器,就可以看到数据集 然后运行问答系统 运行效果 该项目的数据来自垂直类医疗网站寻医问药,使用爬虫脚本data_spider.py,以结构化数据为主,构建了以疾病为中心的医疗知识图谱,实体规模4.4...
  • 电影知识图谱问答系统项目总结

    千次阅读 2019-03-06 22:35:17
    本次问答系统是复现实验,使用rdf作为知识存储的工具,原始的项目源码,原始参考:知乎专栏 作者源码是python2写的,我将其改写为python3,更改后项目源码链接,提取码:8fk4 在复现系统的过程中将自己遇到的一些...
  • Word2Vec Word vectors 我们将为每个单词构建一个稠密的向量,使得它能够与相似文本里的词向量相近,word meaning 作为一种神经词向量,在我们对向量空间进行可视化: 注:word vector 有时也叫做 word embedding ...
  • 该KBQA系统可以解析输入的自然语言问句,主要运用REFO库的"对象正则表达式"匹配得到结果, 进而生成对应 SPARQL 查询语句,再通过API请求后台基于TDB知识图谱数据库的 Apache Jena Fuseki 服务, 得到结果。...
  • 以“晴天”为例,本系统适当能够回答晴天的歌词是什么,晴天是哪首专辑的歌曲,该专辑是哪一年发行的,该专辑对应的歌手是谁,该歌手的的基本信息是什么。关于项目的更多细节在知乎中有更详细的介绍,知乎网址: : ...
  • 果然,功夫不负有心人,找到了中科院软件所刘焕勇老师在github上的开源项目,基于知识图谱的医药领域问答项目QABasedOnMedicaKnowledgeGraph。用了两个晚上搭建了两套,Mac版与Windows版,哈哈,运行成功!!!从无...
  • 注:KBQA即是我们通常所说的基于知识图谱问答系统。这里简单构建的EasyKBQA,数据来源于网络,源码地址看下面补充说明。   流程原理: 该问答系统可以解析输入的自然语言问句,主要运用REFO库的"对象正则...
  • def函数 语法 def function_name(): expressions Python 使用def 开始函数定义,紧接着是函数名,括号内部为函数的参数,内部为函数的具体功能实现代码,如果想要函数有返回值, 在 expressions 中的逻辑代码中用...
  • import语句 在模块定义好后,我们可以使用 import 语句来引入模块 ·import 模块:导入一个模块;注:相当于导入的是一个文件夹,是个相对路径。 import module1[, module2[,...... from import语句 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 692
精华内容 276
关键字:

知识图谱问答系统