基于HTML的知识图谱的设计与实现毕业论文
2020-04-10 16:05:03
摘 要
知识图谱就是以科学知识为研究对象,以可视化的方式来展示科学知识的发展历程及其结构关系,并且以空间结构的形式将学科内部或多学科间的交互关系展示出来。因此,知识图谱不仅可以对知识进行查找、匹配、获取、推送和共享等功能,还具有智能工具化和可视化的特性。
本文以上市公司和高管关系的知识图谱的设计为研究对象,主要完成了三个方面的工作:
- 分析研究构建知识图谱的策略。第一种方法是以CN-DBpedia为基础,然后再构建知识图谱。第二种方法是从零开始,先建立相应的知识库,接着再构建知识图谱。第一种方法的优势是可以节省时间,不需要建立知识库,并且其包含的数据也比较丰富,但是也有不利的一面,如其中包含的金融方面的信息不够完善,会导致最后的知识图谱不够精确;而第二种方法的优点是可以将所有的知识收集起来,精确地完成图谱的构建,但是这样无疑是一个比较耗时耗力的工程。基于精准与实用的原则,这里采用了第二种方法。
- 基于已选择的构建策略,利用Myeclipse来完成知识图谱的构建工作。本部分内容主要分为四个,其中包括公司与高管信息的收集,信息收集后的清洗工作,选用特定的数据库进行数据存储,最后将图谱以可视化的形式展现。
- 将构建好的知识图谱运用到自动问答系统当中。先通过自然语言的处理,将自然语言转化为搜索条件,以知识图谱为基础,用基于关系的策略来进行搜索,提高问答系统对语义的理解能力,对提问做出精确性的回答。
关键词:知识图谱,自然语言处理,问答系统
目录
第1章 绪论 1
1.1研究背景及意义 1
1.2国内外研究现状 1
1.3研究内容 3
1.4论文内容和结构安排 4
第2章 相关理论和技术基础 6
2.1 知识图谱概述 6
2.2知识图谱构建 8
2.2.1数据支持层 8
2.2.2数据融合层 8
2.2.3 知识验证 10
2.3本章小结 10
第3章 上市公司及其高管知识图谱的构建 11
3.1确定构建目标 11
3.2系统设计框架 11
3.3数据获取 12
3.4 数据处理 16
3.5 数据存储 19
3.6 图谱展示 21
3.7本章小结 22
第4章 上市公司及高管知识图谱的应用 23
4.1基于知识图谱的搜索技术 23
4.2搜索技术在自动问答系统中的应用 23
4.2.1问答系统运行环境 23
4.2.2搜索实验案例 24
4.2.3搜索结果分析 26
4.3本章小结 27
第5章 工作总结与展望 28
5.1本文工作总结 28
5.2未来工作展望 28
致谢 30
参考文献 31
第1章 绪论
1.1研究背景及意义
随着时代的发展,中国的金融市场在慢慢地走向成熟,而中国的普通民众也对金融领域越来越感兴趣。比如说,股票市场,房地产等等。金融领域的发展状况关系着国家经济发展的稳定性,如果一个国家的金融市场十分的混乱,那这个国家的经济肯定十分的脆弱,非常明显的例子包括非洲的国家,一部分比较贫困的东南亚国家等,这些国家的人民很多都不知道金融的概念,所以说想要去建立一个稳定繁荣的金融市场是非常困难的一件事件。如此看来,由于缺乏基本的金融知识素养,导致本国金融市场的发展停滞不前,而这又会影响本国民众的生活水平,使得人们更难以去了解金融。相比较而言,那些发达的西方国家,他们的金融市场比较成熟,而他们的普通大众都有较高的知识水平,涉及金融投资的国民非常的多,这也给他们带来丰厚的回报,人们通过理性的投资,不仅促进了金融市场的稳健发展,同时也给他们自己带来了切实的利益,人民的生活水平也得到了提高。当然这里有一个十分重要的问题,那就是我们如何去理性地在金融领域做出决策呢?有什么方法可以帮助我们吗?
针对上述问题,通过查找文献我发现我们可以通过建立完善的知识图谱来帮助我们做出决策。知识图谱根据应用领域的不同可以分成很多种【2】,比如说医药领域的,旅游领域,当然也包括金融领域的知识图谱。通过知识图谱,我们可以将很多分散的信息关联起来,这样我们不仅能获取已有的信息,也能从这些信息中去推理出新的信息。
在这样的背景下,我将金融知识图谱应用在了关于金融的一个自动问答系统当中,该系统可以帮助我们准确地了解上市公司及高管的信息,为我们进入金融市场提供一个最基础的知识储备。
当然,金融市场的知识图谱不仅仅只包括这一方面,像股价信息,股权的结构,公司主要产品,竞争对手等等都是非常重要的信息。但是,一个公司的高管层是我们所需要知道的基础信息。
1.2国内外研究现状
知识图谱被提出来的时间并不是很长,但是它的重要性已经广泛的得到了人
们的重视。知识图谱的出现是人工智能对知识需求所导致的必然结果,但其发展
有得益于很多其他的领域,涉及专家系统、语言学、语义网、数据库,以及信息抽取等从多领域,是交叉融合的产物而非一脉相承[1]。
知识图谱相较与其他的人工智能领域,似乎是最后一个热起来的跑道,“甲子光年”对国内某数据平台上的企业标签进行了统计,国内AI初创企业所涉及的技术标签加起来大约有3000个,其中“计算机视觉”出现255次,“语音识别”出现81次,“自动驾驶”出现152次,“自然语言处理”出现188次,“芯片”51次.......而知识图谱仅出现10次,是所有标签中出现频率最低的。
也就是说,作为一项AI领域底层技术,知识图谱并不是大部分创业者的兴趣所在,作为一个创业方向,这条道路远远称不上拥挤。
知识图谱的应用领域非常之多。如其可以应用在地理领域,其实网页中包含的隐形地理信息非常多,为地理知识的获取及提供地理知识服务提供了巨大的潜能[2]。在人工智能领域,像广泛语义的搜索,自动问答系统等是离不开知识图谱的,知识图谱是将大规模的知识与关系以连续性的方式在空间中显示出来,所以有很多学者提出了用翻译模型来表示图谱[3]。
在国外,比如一些很大的互联网公司已经开始研究并且建立他们自己所特有的知识图谱,这些特定的知识图谱可以为他们的客户带来更好的服务,当然公司本身也是受益的对象[4],如Google,Facebook等。2012年5月,Google推出Google知识图谱,也利用其在搜索引擎增强搜索结果,这是“知识图谱”名称的由来,也标志着大规模知识图谱在在互联网语义搜索中的成功应用。事实上知识图谱技术渊源已久,只是在不断的变化名字,从上世纪70年代的“专家系统”,到万维网之父Berners-Lee提出“语义网”,再到他后来提出的“连接数据”,都是知识图谱的前身。知识图谱以结构化的方式描述客观世界中的概念、实体及其间的关系,将互联网所表达的信息更好地组织在一起,使得我们能够更好的阅读和理解,同时也有利于我们去组织和管理这些海量的数据[5]。
2013年,Facebook推出社交图谱搜索工具Graph Search,其两野心是,一是在网页搜索领域干掉Google,而是在垂直搜索领域干掉所有对手,包括求职领域的LinkedIn,约会领域的Match,以及餐馆点评领域的Yelp。虽然现在Facebook的野心并未实现,但巨头平台纷纷重仓,知识图谱的应用崛起不容小觑。研究发现,互联网商业模式正处于夸学科快速融合发展的阶段,形成价值创新、管理创新、技术创新“三位一体”的创新机制,完善基于平台整合的交易生态圈、构建数据和金融驱动的产业链分享经济是未来的主要发展方向[6]。国内领域的互
联网公司也在慢慢地跟进知识图谱的应用创新。像百度,搜狗等,这些公司其实
都具有很大的优势去建立他们的知识图谱,因为单从数据上来说,他们都拥有海
量的数据,这样可以帮助他们建立更加完善的知识图谱。结合外部知识,使用特定的方式可以将知识图谱中不完善的部分补全,也就是可以起到预测的作用,即知识图谱对确实信息的发现和还原[7],这个领域也是当下研究的热点。
其实,在这个世界中,虽然我们可以通过很多种方式去获取信息,比如通过听力,图像等。但是我们所获取的大部分信息都是通过视觉所得来的。以图谱的方式,将信息视觉化,这样可以帮助我们更快的获取信息。基于这样的理念,很多公司已经开始将企业信息,包括本公司的信息,客户的信息等等进行图谱化,这样可以有效地帮助他们的工作,并且使他们的客户得到更好的服务。
在社交领域,腾讯也利用它的数据优势建立了知识图谱,其汇总了QQ、微信、公众号、在线支付、新闻、视频等各种数据,基于这些数据,腾讯可以为客户提供从多产品,并在语音搜索、智能问答等新趋势中不断蓄能。
以电商为主的阿里也基于自身的数据库建立起了知识图谱,阿里生态内有来自于淘宝、天猫、等多个市场,以及品牌商、行业运营、治理运营、消费者、国家机构、物流商等多种角色,基于阿里知识图谱的个性化推荐系统为其营收立下了汗马功劳。
在大数据的时代下,知识图谱是一种新型的知识表示方式和数据管理模式,学习和推理是其研究的核心内容之一[8],主要任务包括了链接预测、实体解析等。国内知识图谱初创公司并不算多,为避免与BAT直接交锋,他们往往从垂直领域作为市场切入点。目前,国内智能客服、金融、法律、公安、航空、医疗等知识密集型领域的山头以被瓜分。少数公司自作单一垂直领域,如文因互联、智言科技专注于金融领域,更多公司会选择多个垂直领域同时推进,如明略数据主打公安、金融、工业;擅长文本分析的达观数据则主攻金融、制造业、法律。
1.3研究内容
本设计是先建立上市公司的知识图谱,然后以该图谱为基础实现一个自动问答系统。所以研究的主要工作包括了两个部分,一是研究知识图谱的构建,而这一部分可分为四个部分:
(1)编写网络爬虫,首先我通过网络与书籍查询资料,了解了网络爬虫的基本原理,接着学习了python的基础知识,找到自己需要的网址,使用编写的爬虫将网站上的数据爬取下来。
(2)清洗上一步中爬取的数据,因为数据量较大,我选择使用R语言来进行处理,将爬取的信息中的冗余部分进行清理,主要解决人员姓名重复等问题
(3)使用MySQL数据库存储处理好的数据,首先需要建立好ER图,然后
根据ER图使用SQL语言建立好各个表来存储相应的信息。
(4)在所有的数据处理工作完成之后,需要将数据已图谱的形式展现,我使用了Echarts软件包来实现图谱的显示,后台部分使用Java语言来处理,使得可以根据不同的搜索条件来显示不同的图谱。
第二个大的部分是研究知识图谱的应用领域,我们知道知识图谱的应用领
域非常多,包括专家系统、推荐系统、语义搜索、问答等。而我选择的研究领域是问答系统。其主要包括两个部分:
(1)首先需要将输入的自然语言转变为查询条件,这里采用了将自然语言进行分割,然后提取其中的关键信息的方法做为结构化数据库的查询条件;
(2)在获取了查询条件以后,我通过将问题分成不同的种类,然后使用查询条件在数据库中进行查找。
1.4论文内容和结构安排
本论文主要需要解决的问题有两个:第一,如何去构建一个知识图谱。第二,如何将该知识图谱应用到实际生活中去。针对这两个问题,本论文一共分为了五个章节。每一章节具体内容如下:
第一章为绪论部分,讨论了研究知识图谱的背景及其意义,知识图谱的研究现状,以及研究的方法等。
第二章为技术理论部分,简单介绍了知识图谱构建过程中的主要部分,包括了数据支持层以及数据融合层。
第三章则是实践部分的开始,描述了建立一个知识图谱构建的具体操作,包括数据的收集,处理,存储,展示等部分。每一个部分其实可以作为一个独立的系统,像数据的收集部分,主要的任务就是设计出一个网络爬虫,并且这个爬虫必须要能够爬取我们所需要的信息。而在数据的处理部分当中,其实其本质与数学中的统计思想有点类似,我们的主要的任务就是要将得到的数据进一步处理,使其形成一定的规律,这样做有两个目的,一是方便我们存储,二是方面我们查询。接下来的存储部分,这一部分的核心是数据库,不同的数据库意味着不同的存储方式,这肯定会影响到最后的检索工作。对于图谱的展示工作,其实关键已经不再数据上面,而是在视觉效果上,也就是我们应该如何把这些冷冰冰的数据以一种比较生动的方式呈献给大家。
第四章介绍了知识图谱的应用,包括了基于知识图谱的搜索方法和其应用场
景。现在的搜索引擎不得不说已经十分强大,但是依然存在着不足之处,我简要
的介绍了这方面的问题。而另一方面,基于实践的原则,我设计了一个简单的应用场景,来证实知识图谱所存在的优势,目的不是为了否定现有的搜索引擎,而是去证明这种方法的合理性,使得搜索引擎得到优化。
第五章为工作总结部分,主要是对全文的一个总结,并对自己工作的一些问题提出了未来的一展望。
第2章 相关理论和技术基础
2.1 知识图谱概述
知识图谱主要目标是用来描述真实世界中的各种实体和概念,以及他们之间的关系。其实知识图谱的概念并不新,它背后的思想可以追溯到上个世纪的五六十年代所提出的以知识表示形式-语义网络。语义网络是由节点和边组成的,其中节点代表着实体,而边则代表着实体之间的关系。谷歌知识图谱技术近年来引起了广泛的关注,由于公开披露的技术资料比较少,使得人们一时难以看清其技术内涵和价值。维基百科对知识图谱的词条解释依然沿用了谷歌的定义:知识图谱是是用于增强其搜索引擎功能的辅助知识库[1]。
计算机一直面临着这样的困境——无法获取网络文本的语义信息。尽管这些年人工智能得到了长足的发展,在某些任务上取得了超越人类的成绩,但离一台机器拥有两三岁小孩智力的目标还有很长的距离,这背后的原因很大一部分是因为机器缺知识。
下面,我们来举一个例子。当我们列出这样的字符串时:Ronaldo Luis Nazario de Lima,相信很多人都不知道这个字符串所代表的意思;接下来我们来看看这个字符串所对应的中文字符:罗纳尔多.路易斯.纳萨里奥.德.利马,当看到这个名字时肯定有更多的人知道这个人是谁了。接下来我们放一张图片:
图2-1 罗纳尔多.路易斯.纳萨里奥.德.利马
通过这张图片,我们又知道了这个人是个运动员,相信会有更多的人知道这个人是谁了,但是对足球不熟悉的人可能还是不知道这个人。所以接着我们在放一张图片:
图2-2 罗纳尔多.路易斯.纳萨里奥.德.利马
我们在加上一句台词“保护嗓子,请用金嗓子喉片。广西金嗓子!”当看到这里的时候,这下应该会有更多的人知道他了吧。
就像这个例子一样,机器看到文本的反应和我们一开始看到罗纳尔多的原名的反应别无二致。为了能够让机器能够理解文本背后的含义,我们需要对可描述性的事物建模,填充它的属性,拓展它和其他事物的联系,即构建机器的先验知识。当我们围绕这个实体进行相应的拓展,我们可以得到下面这张知识图:
图2-3 罗纳尔多.路易斯.纳萨里奥.德.利马
通过知识图谱,可以实现web从网页链接向概念链接转变,支持用户按主题而不是关键字搜索从而实现真正意义的语义检索。基于知识图谱的搜索,能够以图形的方式向用户反馈结构化的知识,用户不必浏览大量的网页,就可以准确定位和深度获取知识。
知识图谱的应用领域主要集中在搜索与推荐领域当中,其实像机器人这种问答系统,在本质上也是搜索与推荐的延伸。
2.2知识图谱构建
构建知识图谱的方法有很多种,比如说我们可以利用现成的知识库来帮助我们进行构建。这样会使得我们的工作量减少很多,因为我们不许要自己再去收集数据,处理数据了。当然这个也会有一定的缺点,那就是这些数据可能并不是我们所真正需要的,也就是对最后的结果可能产生一定的影响,形成比较大的偏差。当然,我们可以完全从头开始建立一个新的知识库,但是这是一项十分浩大的工程。总而言之,在构建知识图谱的过程中,有两个十分关键的点,一个是数据支持层,另一个是数据融合层,并且我将简要讲述知识验证方面的内容。
2.2.1数据支持层
如果我们要建立一个知识图谱,首先要解决的一个问题是,我们所需要的知识从哪里来。解决这个问题的第一步就是获取数据,并且是海量的数据,这样才能保证我们的系统的健壮性。通常情况下,我们可以通过爬虫这样的工具去帮助我们爬取特定的信息,比如说百度百科里面的内容,一些企业的官方网站等,可以根据我们所需要的信息去制定对应的爬虫工具。
当然,数据支持层不仅仅是需要数据而已,并且包括了我们应该如何去存储这些信息。因为我们建立图谱的主要目的就是为人所用,当我们需要用的时候,我们当然需要用到查询。而影响查询效果的一个十分重要的因素就是知识图谱的储存方式。不同的存储方式有着不同的特点。比方说。现在我们有很多类型数据库,像关系型数据库,内存数据库,图数据库等等。
2.2.2数据融合层
我们知道,现在互联网上的数据大多是分散、异构、自治的形式存在,另外还具有冗余、噪音、不确定、非完备的特点,清洗并不能解决这些问题,因此从
这些知识出发,通常需要融合和验证的步骤,将来源不同、结构不同的数据融合成统一的知识图谱,以保证知识的一致性[1]。所以数据支持层往上一层就是知识融合层,主要的工作是对获取的数据进行标注,抽取,得到大量的三元组,并对这些三元组进行融合,去冗余,去冲突,规范化。
信息的抽取是非常关键的一步,其又分为实体抽取,关系抽取,属性抽取。在本文中,实体其实有两类,一是公司,二是人,关系则是存在于公司与人之间,另外公司与人都拥有各自的属性。
第一部分,对SPO三元组的提取,对不同种类的数据用不同的技术提取,方法如下图所示,
图2-4 不同数据提取流程图
尤其是纯文本数据会涉及到的实体识别、实体链接、实体关系识别、概念抽取等,需要用到许多自然语言处理技术,包括但不限于分词、词性标注、分布式语义表达、篇章潜在主题分析、同义词构建、语义解析、依存句法、语义角色标注、语义相似度计算等等。
第二部分才到融合,目的是将从不同数据源获取的知识进行融合构建数据之间的关联。包括实体对齐、属性对齐、冲突消解等。这一部分主要是做数据的映射,实体的匹配,最后将合成的知识库存入到数据库中。知识融合有几个难点,其中包括这样几个部分,实现不同来源,不同形态之间的融合;海量数据的高效
以上是毕业论文大纲或资料介绍,该课题完整毕业论文、开题报告、任务书、程序设计、图纸设计等资料请添加微信获取,微信号:bysjorg。
相关图片展示: