领域知识图谱构建需要多久?

栏目:资讯发布:2023-11-08浏览:3收藏

领域知识图谱构建需要多久?,第1张

领域知识图谱的构建时间取决于多个因素,包括数据量、数据质量、领域复杂度、技术难度、团队规模和经验等。

在一些相对简单的领域,比如金融、医疗等,可能只需要数月的时间就可以构建一个基本的知识图谱。而在一些复杂的领域,比如自然语言处理、机器学习等,需要更多的时间来收集、清洗和整合数据,并进行复杂的算法设计和实现。

此外,构建知识图谱也需要不断地迭代和优化,随着数据的不断增加和领域的不断变化,需要不断地更新和完善知识图谱,这也需要一定的时间和精力投入。

因此,无法给出一个准确的时间框架来回答这个问题,具体的时间取决于实际情况。

自己建吗可以下载图谱软件构建

http://wwwcnblogscom/R0b1n/p/5224065html可以参考一下这个

SPSS: 大型统计分析软件,商用软件。具有完整的数据输入、编辑、统计分析、报表、图形绘制等功能。常用于多元统计分析、数据挖掘和数据可视化。

Bibexcel: 瑞典科学计量学家Persoon开发的科学计量学软件,用于科学研究免费软件。具有文献计量分析、引文分析、共引分析、耦合分析、聚类分析和数据可视化等功能。可用于分析ISI的SCI、SSCI和A&HCI文献数据库。

HistCite: Eugene Garfield等人于2001年开发的科学文献引文链接分析和可视化系统,免费软件。可对ISI的SCI、SSCI和SA&HCI等文献数据库的引文数据进行计量分析,生成文献、作者和期刊的引文矩阵和实时动态引文编年图。直观的反映文献之间的引用关系、主题的宗谱关系、作者历史传承关系、科学知识发展演进等。

CiteSpace: 陈超美博士开发的专门用于科学知识图谱绘制的免费软件。国内使用最多知识图谱绘制软件。可用于追踪研究领域热点和发展趋势,了解研究领域的研究前沿及演进关键路径,重要的文献、作者及机构。可用于对ISI、CSSCI和CNKI等多种文献数据库进行分析。

TDA: Thomson Data Analyzer(TDA)是Thomson集团基于VantagePoint开发文献分析工具。商用软件。具有去重、分段等数据预处理功能;可形成共现矩阵、因子矩阵等多种分析矩阵;可使用Pearson、Cosine等多种算法进行数据标准化;可进行知识图谱可视化展示。

Sci2 Tools: 印第安纳大学开发的用于研究科学结构的模块化工具可从时间、空间、主题、网络分析和可视化等多角度,分析个体、局部和整体水平的知识单元。

ColPalRed: Gradnada大学开发的共词单元文献分析软件。商用软件。结构分析,在主题网络中展现知识(词语及其关系);战略分析,通过中心度和密度,在主题网络中为主题定位;动态分析,分析主题网络演变,鉴定主题路径和分支。

Leydesdorff: 系类软件。阿姆斯特丹大学Leydesdorff开发的这对文献计量的小程序集合。处理共词分析、耦合分析、共引分析等知识单元体系。使用“层叠图”实现可视化知识的静态布局和动态变化。

Word Smith: 词频分析软件。可将文本中单词出现频率排序和找出单词的搭配词组。

NWB Tools: 印第安纳大学开发的对大规模知识网络进行建模、分析和可视化工具 数据预处理;构建共引、共词、耦合等多种网络;可用多种方法进行网络分析;可进行可视化展示

Ucinet NetDraw: Ucinet是社会网络分析工具。包括网络可视化工具Net Draw。用于处理多种关系数据,可通过节点属性对节点的颜色、形状和大小等进行设置。用于社交网络分析和网络可视化。

Pajek: 来自斯洛文尼亚的分析大型网络的社会网络分析免费软件。Pajek基于图论、网络分析和可视化技术,主要用于大型网络分解,网络关系展示,科研作者合作网络图谱的绘制。

VOSviewer: 荷兰莱顿大学开发的文献可视化分析工具。使用基于VOS聚类技术技术实现知识单元可视化工具。突出特点可视化能力强,适合于大规模样本数据。四种视图浏览:标签视图、密度视图、聚类视图和分散视图。

[4]陈悦, 刘则渊, 陈劲等 科学知识图谱的发展历程[J] 科学学研究, 2008, (03): 449-460

[5]Shiffrin, RM, and Katy Börner Mapping Knowledge Domains[C] Proc Proceedings of the National Academy of Sciences of the United States of America pp 5183-5185

[6]Börner, K, Chen, C和Boyack, KW Visualizing knowledge domains[J] Annual review of information science and technology, 2003, 37, (1): 179-255

[7]CM, C CiteSpace II: Detecting and visualizing emerging trends and transient patterns in scientific literature[J] Journal of the American Society for Information Science and Technology, 2006, 57, (3): 359-377

[8]陈悦和刘则渊 悄然兴起的科学知识图谱[J] 科学学研究, 2005, (02): 149-154

[9]邱均平 信息计量学[M] (武汉大学出版社, 2007 2007)

[10]沙勇忠和牛春华 信息分析[M] (科学出版社, 2009 2009)

[11]塞沃尔, 建军和煦 链接分析: 信息科学的研究方法[M] (东南大学出版社, 2009 2009)

[12]Egghe, L和Rousseau, R Introduction to informetrics: Quantitative methods in library, documentation and information science[J] 1990

[13]韩家炜, 坎伯, 裴健等 数据挖掘: 概念与技术[M] (机械工业出版社, 2007 2007)

[14]Wasserman, S Social network analysis: Methods and applications[M] (Cambridge university press, 1994 1994)

[15]Persson, O, R Danell, J Wiborg Schneider How to use Bibexcel for various types of bibliometric analysis[C] Proc International Society for Scientometrics and Informetrics, Leuven, Belgium2009 pp 9–24

[16]Yang, Y, Akers, L, Klose, T等 Text mining and visualization tools–impressions of emerging capabilities[J] World Patent Information, 2008, 30, (4): 280-293

[17]Börner, K, Huang, W, Linnemeier, M等 Rete-netzwerk-red: analyzing and visualizing scholarly networks using the Network Workbench Tool[J] Scientometrics, 2010, 83, (3): 863-876

[18]廖胜姣 科学知识图谱绘制工具:SPSS和TDA的比较研究[J] 图书馆学研究, 2011, (05): 46-49

[19]Scott, M WordSmith tools[M] (Oxford: Oxford University Press, 1996 1996)

[20]Batagelj, V和Mrvar, A Pajek - Program for Large Network Analysis[M] (1998 1998)

[21]Borgatti, SP, Everett, MG和Freeman, LC Ucinet for Windows: Software for social network analysis[J] 2002

[22]Van Eck, NJ和Waltman, L VOSviewer: A computer program for bibliometric mapping[J] 2009

知识图谱的构建形式:

自顶向下:先为知识图谱定义好本体与数据模式,再将实体加入到知识库。

自底向上(常用) :从一些开放链接数据中提取出实体,选择其中置信度较高的加入到知识库,再构建顶层的本体模式。

(1)语义信息抽取; (2)多元数据集成与验证(知识融合); (3)知识图谱补全

知识库分类:

开放链接知识库:Freebase、Wikidata、DBpedia、YAGO。包含大量半结构化、非结构化数据。

垂直行业知识库(特定领域):IMDB(影视)、MusicBrainz(音乐)、ConceptNet(概念)等。

基于规则与词典的方法(为目标实体编写模板,然后进行匹配):编写大量规则或模板,覆盖领域有限,难以适应新需求

基于统计机器学习的方法(机器学习,训练模型,识别实体):监督学习算法受训练集限制,准确率和召回率不够理想

召回率:真阳性 / 真阳性 + 假阳性;准确率:真阳性 + 真阴性 / 真阳性 + 假阳性 + 真阴性 + 假阴性

面向开放域的抽取方法(面向海量的Web语料):通过少量实体实例建立特征模型,再通过它应用于新的数据集,给新实体做分类与聚类。(迭代扩展)

早期:人工构造语义规则以及模板的方式;

实体间的关系模型代替了早期的人工构造;

面向开放域的信息抽取框架(OIE):对隐含关系抽取性能低下。

隐含关系抽取:基于马尔科夫逻辑网、基于本体推理的深层隐含关系抽取方法

可以将实体属性的抽取问题转换为关系抽取问题

分布式表示 目的在于用 一个综合的向量来表示实体对象的语义信息 ,这种形式在知识图谱的计算、 补全 、推理等方面起到重要的作用:

1、语义相似度计算:实体间的语义关联程度,为自然语言处理(NLP)等提供了极大的便利

2、

消除异构数据中实体冲突、指向不明等不一致性问题。

(1)待对齐数据分区索引;

(2)利用相似度函数或相似性算法查找匹配实例;

(3)对齐算法(成对实体对齐、全局(局部)集合实体对齐)进行实例融合。

经过实体对齐后得到一系列的基本事实表达,然后事实并不等于知识,它只是知识的基本单位。

本体相当于知识库的模具,使其具有较强的层次结构和较小的冗余程度。

可分为人工构建和数据驱动自动构建。

数据驱动的本体自动构建:

①纵向概念间的并列关系计算:计算两个实体间并列关系的相似度,辨析他们在语义层面是否属于同一个概念。

②实体上下位关系抽取。

③本体生成:对各层次得到的概念进行聚类,并为每一类的实体指定1个或多个公共上位词。

通常是与实体对齐任务一起进行:对知识可信度进行量化,保留置信度较高的,舍弃置信度较低的。

主要包括模式层的更新与数据层的更新。

一阶谓词逻辑、描述逻辑以及规则等

(1)一阶谓词逻辑:以命题为基本,命题包含个体(实体)和谓词(属性或关系)。

(2)基于描述逻辑的规则推理:在(1)的基础上发展而来,目的是在知识表示能力与推理复杂度之间追求一种平衡。

(3)通过本体的概念层次推理。

一些算法主要是 利用了关系路径 中的蕴涵信息:

通过图中两个实体间的多步路径来预测它们之间的语义关系,即从源节点开始,在图上根据路径建模算法进行游走,如果能够到达目标节点,则推测源节点和目标节点间存在联系。

关系路径的建模研究仍处于初期阶段,需要进一步探索完成

参考文献:

[1]徐增林,盛泳潘,贺丽荣,王雅芳知识图谱技术综述[J]电子科技大学学报,2016,45(04):589-606

在前面一篇文章《知识图谱基础(二)-知识表达系统》中介绍了知识图谱的基础知识表达系统,什么是entity,什么是relation,什么是domain,什么是type等等。本篇文章主要从应用角度来聊一聊如何构建schema以及shcema构建中需要考虑的问题。以下所讲的schema构建主要是基于common sense进行构建的,弱关系图谱构建会在应用中讲到。

简单来说,一个知识图谱的schema就是相当于一个领域内的数据模型,包含了这个领域里面有意义的概念类型以及这些类型的属性。任何一个域的schema主要由类型(type)和属性(property)来表达。图1是plantdata内的创投schema,主要是为了发掘一级市场的投资和融资构建的schema。该schema主要是去定义需求,哪些数据对创投有用,才往上构建,例如:人物都有身高 体重,但是这些数据对创投来说意义不大,在schema中就不用构建了。关注创投的人会关注这些基金与人物投资了哪些公司,投资的公司所属行业,投资的公司属于哪一类企业,在该schema中就需要详细构建。

1如何构建域(domain)

域(domain)的概念是凌驾于所有类型之上,对于域的定义应该尽量的抽象,不应该具体,同时域与域之间应尽量做到相互独立,不交叉。例如,省份就不应该是一个域的概念,在思考是否应该把一个概念当做域时,需要考虑到该概念是否能够继续向上抽象,例如:省份;城市;国家;县等等,他们同属于地理位置域。在明确域的概念时,应该定义好域的边界,这样比较容易区分不同域之间的区域划分。

2如何确定一个域的类型(type)

这里需要产品经理去思考,构建这个schema的核心需求是什么,到底需要解决用户什么问题。为了满足这些核心需求,我们需要创造出哪些概念?

举个例子,在汽车领域,用户主要关心什么问题,例如:汽车的品牌、车系、发动机。

在NBA领域,用户主要关心球队、所属联盟、教练、球员等等。

针对不同的需求,需要在域下面构建不同的类型来满足用户的需求。

3如何确定属性(property)

思考的角度如下:

1以用户需求为出发点

2以数据统计为证据

比如在构建完足球领域中的球队类型后,该类型集合了所有的球队实体,站在用户角度触发,用户会关注球队的哪些关系?

图2是我简单的针对足球领域构建的一个图谱,上面包含了梅西(球队的球员), 埃内斯托·巴尔韦德 (球队的教练),西甲(球队的所属联赛),其中梅西、西甲、埃内斯托巴尔韦德又分属于不同的类型:足球球员,足球联赛,足球教练,这些所有的类型构成了足球域。

从上图的common sense配合图查询和自然语言处理技术已经可以支持基础的问答了,例如,梅西是哪个球队的?埃内斯托巴尔韦德是哪些球员的教练?西甲有哪些球队在踢球?等等

schema的应用是产品经理需要重点考虑的内容,因为产品需求决定了schema应该怎么构建,构建的是否完备。而产品的具体应用则主导了schema的整体构建方式,如果不仔细考虑产品应用的话,最惨的情况可能构建了很久的schema会因为一个逻辑坑而彻底报废掉,由于知识图谱又是一个牵一发而动全身的工程,根据实际经验来说,如果图谱构建和应用有部分脱节,可能修改图谱schema比重新构建图谱schema的成本还要高。所以,首先确认好具体的应用场景对于一个schema构建的成功与否是至关重要的。

笔者写一套曾经用过的确认schema的流程

先将应用根据需求的强弱划分,分为基础核心需求,schema特色需求,锦上添花需求,未来扩展性需求。

基础核心需求:是经过需求分析后,构建这个schema需要完成最核心的需求,该需求优先级最高

schema特色需求:构建图谱时可能会经常遇到图谱可以实现而其他方法实现比较困难的特色需求,这类需求可能需求强度不是很高,但是由于能够实现一定的差异性,经常会有意想不到的效果。

锦上添花需求:非基础核心需求,做了更好,不做也可以接受

未来扩展性的需求:确认schema的时候要充分考虑到未来的扩展性,因为这类需求有可能会大改图谱的schema结构

在构建schema的时候,根据上述分类,需要去考虑该schema一期需要满足哪些具体的功能,将功能一一列下来,哪些功能是需要放在第二期、第三期完成的,未来的扩展性需求需要在构建的哪一块区域留下可扩展的内容。

常用的方法可以使用excel去列出一、二、三期所需要的功能点。

列出上述的功能点后,针对每一个功能点在后面备注好该功能的构建要点(注:这个非常重要),通常需求只需要将产品需求转化成一定的查询结构即可,笔者原来用的是cypher查询语法。以图2为例,我要支持某个教练教了哪些球员?转化成查询语言就是(a:足球教练)<-{b:教练}-(c:球队)-{d:球员}-(e:足球球员) return e。将a变成参数,输入a即可返回所有的e,即输入埃内斯托巴尔韦德,返回就是梅西。

流程如下:query:埃内斯托巴尔韦德带了哪些球员?→语义解析→转化成上述查询,将埃内斯托巴尔韦德作为参数a代入查询→返回结果→前端包装展示

注:上面在每个功能点后面备注了构建要点,当大部分功能点的构建要点都写完的时候,需要集中查看构建要点,因为如果需求本身比较大的话,不同的需求很容易造成schema的构建冲突,正如前面所讲,schema尽量要保证少出错。这个时候由于备注了构建要点,可以全局的来审视这个schema中间有没有逻辑黑洞。常出现的问题主要是在属性的设计,以及知识融合上。

拿着上述文件去找开发,确认一下哪些是比较好实现的,一般来说做到这种程度大多数需求开发都是会接的。如果开发同学足够专业的话,他会从他的视角去给你提出他的宝贵意见。通常产品经理在思考schema这一块更倾向于思考这个schema的作用,而开发同学会思考工程实现、实现效率、运行效率、计算量等问题。

大规模构建schema的时候需要认真考虑数据源的情况,由于不同公司掌握的数据不同,所应用的对策也不同。

通常笔者会将数据源分为如下几种:

1已经清洗好的结构化数据:这部分数据一般是公司的核心数据,或者其他公司的核心数据,构建的时候应该优先考虑这类数据。这部分数据通常只需要改变数据格式即可入图谱。

2清洗好的结构化数据,但数据残缺:这部分数据通常需要数据挖掘,知识融合。清洗难度是由残缺比例决定的。

3无数据:没有这部分数据,但是又需要这部分数据,通常只能去选择让BD去购买数据,或者让爬虫组去专业网站爬取,例如:企业数据可以去企查查,**的数据可以去猫眼,产业的数据可以去产业信息网等等。

假设需要构建的图谱entity数量在千万级别,开发力量不够强大的时候,慎用纯数据挖掘方案,有条件的话笔者建议直接去买结构化数据,因为可能挖掘和知识融合在经济上的成本比直接买数据要高,而且时间周期也会很长。

个人认为,大规模构建schema最难的地方就在于挖掘数据的知识融合上,举个例子:全国有10000个叫王刚的人,爬虫从A网站挖下来5000个“王刚”,从B网站挖下来7000个“王刚”,那么这5000个王刚和那7000个王刚到底是不是一个人?在没有身份证号码的情况下如何确定哪些王刚是一个人呢?常规的做法是去挖掘出“王刚”的其他信息,例如出生年月,任职信息,籍贯等等,然后通过一定的算法进行知识融合。通常,网站的数据不一定全面,即使经过知识融合后,挖掘的数据中一定会有大量的噪音,不同的需求对噪音的承受能力是不同的,构建schema的时候需要充分考虑数据出现噪音的可能性,去评价这部分需求对噪音的承受能力。

如果知识融合完成了话,大规模构建其实就是一个导数据的过程,由于图谱数据结构的关系,一般存2张表(点、边)或者使用RDFs存储,在entity数量上千万以后,图谱的查询压力会比较大,单机查询可能会直接跪掉,开发一般会采用graphX的分布式的存储,不过由于点和边的切割方式的问题,会有一定的副作用。

领域知识图谱构建需要多久?

领域知识图谱的构建时间取决于多个因素,包括数据量、数据质量、领域复杂度、技术难度、团队规模和经验等。在一些相对简单的领域,比如金融...
点击下载
热门文章
    确认删除?
    回到顶部