首页> 中国专利> 一种基于智慧社区大数据的知识图谱构建方法

一种基于智慧社区大数据的知识图谱构建方法

摘要

本发明揭示了一种基于智慧社区大数据的知识图谱构建方法,其包括S1)获取数据;S2)对半结构化数据与非结构化数据进行知识抽取,形成第二结构化数据;S3)对第一结构化数据进行数据整合,形成初步的智慧社区知识图谱;S4)知识表示:对第二结构化数据以及第一结构化数据进行知识表示;S5)知识融合:对所述第二结构化数据中的实体、关系以及实体的属性进行实体链接和知识合并;S6)解决智慧社区图谱构建过程中的冲突;S7)更新智慧社区知识图谱:数据模式层的更新和数据层的更新。本发明针对多类型数据、多人员、多类型行为特征以及多样本,构建了智慧社区大数据知识图谱,为智慧城市服务提供了重要的支持。

著录项

说明书

【技术领域】

本发明属于知识图谱技术领域,特别是涉及一种基于智慧社区大数据的知识图谱构建方法。

【背景技术】

为了更好发挥的大数据价值,需要将分散在各个社区的图片和结构化数据,以及相关的公共数据,汇聚到一个统一的数据汇聚中心,进行统一的治理和管理,由点到面,由局部到整体,由社区到城市,形成一个立体的数据库。经汇聚治理后的数据,再提供给智慧城市使用,在城市治理中发挥出价值。

但是,现有的智慧社区大数据处理方式,通常存在以下不足:

1)对社区的感知能力不足:视频监控作为目前最主要的感知手段并没有覆盖到社区,其他的感知手段,尚未形成完整的感知体系。

2)各类感知数据缺乏整合:社区内实有人口、实有房屋、实有单位、实有安防设备、实有安防力量、实有报警数据等信息缺乏统一汇聚,难以全面快速准确直观地掌握社区内人员出入、车辆通行等情况。

3)数据挖掘应用不深入:对社区内汇聚的大量数据缺乏不同维度的数据挖掘,例如对社区内人口信息的标签化管理,缺乏对社区实时情况的直观展现。

因此,有必要提供一种新的基于智慧社区大数据的知识图谱构建方法来解决上述问题。

【发明内容】

本发明的主要目的在于提供一种基于智慧社区大数据的知识图谱构建方法,针对多类型数据、多人员、多类型行为特征以及多样本,构建了智慧社区大数据知识图谱。

本发明通过如下技术方案实现上述目的:一种基于智慧社区大数据的知识图谱构建方法,其包括以下步骤:

S1)获取数据,并根据数据类型将其划分为第一结构化数据、半结构化数据与非结构化数据;

S2)对半结构化数据与非结构化数据进行知识抽取,形成第二结构化数据;所述知识抽取包括实体抽取、语义类抽取以及关系属性抽取;

S3)对第一结构化数据进行数据整合,形成初步的智慧社区知识图谱;

S4)知识表示:对第二结构化数据以及第一结构化数据进行知识表示;

S5)知识融合:对所述第二结构化数据中的实体、关系以及实体的属性进行实体链接和知识合并;

S6)解决智慧社区图谱构建过程中的冲突;

S7)更新智慧社区知识图谱:数据模式层的更新和数据层的更新。

与现有技术相比,本发明一种基于智慧社区大数据的知识图谱构建方法的有益效果在于:通过对智慧社区的大数据知识图谱建模,可以有效地将社区中的相关信息进行整合,提高信息的利用效率,实现社区管理上的平台一体化和信息化;具体的,

1)提出一种改进的基于Bootstrapping的领域词汇抽取算法,在模板格式方面进行了修改和改进;

2)在知识表示阶段中提供两种基于深度学习模型的表示方法,大大提高了计算效率;

3)对于在知识图谱构建过程中出现的一些不可避免的冲突问题,从冲突发生点分析,冲突检测以及冲突解决方法三个方面很好的解决了这一问题。

【附图说明】

图1为本发明实施例的构建方法步骤示意图;

图2为本发明实施例初步构建的智慧社区大数据知识图谱网络;

图3为本发明实施例中领域词汇抽取算法流程图;

图4为本发明实施例中关系抽取方法的流程图示意图。

【具体实施方式】

实施例:

请参照图1-图4,本实施例为基于智慧社区大数据的知识图谱构建方法,其包括以下步骤:

S1)获取数据,并根据数据类型将其划分为第一结构化数据、半结构化数据与非结构化数据;

S2)对半结构化数据与非结构化数据进行知识抽取,形成第二结构化数据;

S3)对第一结构化数据进行数据整合,形成初步的智慧社区知识图谱;

S4)知识表示:对步骤S2)抽取出来的知识形成的第二结构化数据以及第一结构化数据进行知识表示;

S5)知识融合:对步骤S2抽取出来的知识形成的第二结构化数据进行知识融合;

S6)解决智慧社区图谱构建过程中的冲突;

S7)更新智慧社区知识图谱:数据模式层的更新和数据层的更新。

所述步骤S1)中,所述第一结构化数据包括人员姓名、性别、年龄、家庭结构、机动车辆信息、门禁进出时间信息、车库进出时间信息、车牌、电动车辆信息、人脸信息、访客信息、缴费信息、以及未知人员,其中未知人员指的是进入社区但并未与社区内任何家庭有关系的人员;第一结构化数据来源于智慧社区直接提供的关系数据库。

所述半结构化数据包括XML文件、JSON文件,可来源于百科。

所述非结构化数据包括图片、音频、视频、文本等,例如小区微信群的公开言论。

所述步骤S3)中,采用人工方法构建智慧社区知识图谱,其智慧社区知识图谱如图1所示。其构建的具体步骤,包括:

S31)以小区保安、家庭、姓名实体作为节点,且节点都包含有设定的属性值;

S32)按照设定的关系将各节点进行连接;

S33)初步构成了智慧社区知识图谱。

所述步骤S2)中,对半结构化数据与非结构化数据进行知识抽取,就是从半结构化数据和非结构化数据中抽取知识并形成结构化数据的过程,其包括实体抽取、语义类抽取和关系属性抽取三部分;其具体包括以下步骤:

S21)实体抽取:实体抽取也就是命名实体识别,是自然语言处理(NaturalLanguageProcessing,NLP)的一项基本任务,这项任务的目的是识别出目标文本数据中的命名实体。

命名实体识别的主要技术方法分为:基于规则和词典的方法、基于统计的方法、二者混合的方法等。由于单独使用基于统计的方法会加大搜索的空间复杂度,这时候就需要借助规则知识提前进行处理,所以本技术方案中采用结合了规则和词典的混合方法,具体规则如下:

(1)统计学习方法之间或内部层叠融合。

(2)融合了规则、词典和机器学习的方法,如何融合是重点。规则知识与基于统计的学习方法相辅相成,把机器学习和人工知识有机结合起来。

(3)综合各种模型如隐马尔可夫模型(HMM)和最大熵模型(MEM),将上一步的结果作为下一步的训练数据,以此类推,再用这些训练数据对模型进行训练,得到下一步的模型。

S22)语义类抽取:指从文本中(如小区微信群的公开言论)抽取信息用来建立实体和语义类的联系。包括三个模块:并列相似度计算、上下位关系抽取,以及语义类生成。具体实施步骤如下:

S221)并列相似度计算:

计算词与词之间的相似性信息,例如(纵火,盗窃,S1)表示纵火与盗窃的相似度是S1。而如何判别两个词具有较高的相似度,根据就是看它们是否属于同一个语义类,所以纵火与盗窃具有较高的相似度,因为它们同属于违反犯罪这个语义类,以此类推,喜欢广场舞与喜欢健身也具有较高的相似度,但是盗窃和喜欢健身的相似度就很低,因为它们不属于同一个语义类。

S222)上下位关系抽取:

概括性较强的单词叫做特定性较强的单词的上位词(Hypernym),特定性较强的单词叫做概括性较强的单词的下位词(hyponym)。比如,业主A是一个老师,业主A就是老师的一个下位词,也可以叫做一个实例,而老师则是业主A的一个上位词,也可以称为一个类。

S223)语义类生成:

领域词汇是领域知识的基础,是一种典型的语义类生成方法。本发明提出一种改进的基于Bootstrapping的领域词汇抽取算法,算法流程如图3所示。该算法主要在模板格式方面进行了修改和改进,具体步骤描述如下:

S2231)初始化领域种子词,准备5个确定是属于该领域的词汇;

S2232)根据这些种子词在测试语料中抽取规则,并且进行打分,将较好的规则加入规则库中;

S2233)回归到测试语料,由规则库里的规则来匹配将要抽取的词汇,去除无用的词汇,将其余词汇加入词汇库;

S2234)迭代重复步骤2,3,最终获得领域词汇。

已有的抽取算法都是通过分析汉语中语法的特性和使用模式总结出一系列的句子模式,形式比较单调。本发明提出一种模式格式,完全由词汇组成,不包含句法和词性等信息,模式格式如下:

Wpre

Wpre

从本发明设定的种子词出发,形成模式流程如下:对种子词按序处理,在文档集中对每个句子序列进行搜索,查找该种子词。若包含该种子词,则进入规则抽取模块进行规则抽取;若不包含则继续对下一个句子序列进行搜索,分别对每个种子词进行上述处理。按照上述的模式格式,则规则是短语集合,对于规则的筛选则是在去除符号,停用词等无用信息之后短语的长度必须大于等于2,由getRule()函数来实现。

对于存放在规则库里的每项规则进行遍历,针对每项规则在文档集中进行查找匹配,匹配出来的信息需要识别是否是有效短语,将有效短语存入词汇库中。本发明利用Qtag开源包对短语进行切块分析,如果在文档中出现的次数大于3而小于600次则可以加入到词汇库中。

对词汇的打分是根据匹配出该词汇的模式的分数来进行打分的,对模式的打分也是根据匹配出该模式的词汇的分数来进行打分的。当我们利用候选词库中的词汇匹配到一系列的模式之后,对这些模式进行打分,我们用如下公式进行计算:

F

其中F

在计算出模式的分数之后,为了对模式进行筛选,需要将模式库的模式按照计算所得的分数进行降序排序。筛选出几个得分最高的模式加入到候选模式中,也就是我们的规则库中。然后我们通过筛选出的这些模式匹配出一系列新的词汇,然后根据对应的模式对词汇进行打分,公式如下:

其中|P(w)||P(w)|为匹配出这个词的模板的总数量,sw

归一化因子的公式如下:

S23)关系属性抽取:关系属性抽取是指文本信息中抽取实体的属性信息。

比如一个业主,可以从公开的信息中抽取到其上班时段、下班时段、日常娱乐、经常发布的言论等信息。经过实体抽取后得到的是一些零散的命名实体,想要形成最终的知识网络,还需要从文本中抽取出实体间的关系,这样才能将实体联系起来,形成交错的知识结构。本发明中采用的抽取方法如图4所示。

所述步骤S4)中的知识表示指的是对各个实体间关系的描述。

传统的知识表示主要是以RDF(Resource Description Framework)的三元组来描述实体间的关系,其过程通用简单,但是计算效率等方面存在很多问题。因此,本发明提供两种基于深度学习模型的表示方法。

(1)距离模型:结构表示(structured embedding,SE)

对每个实体都用d维向量表示,所有实体向量都被投影到同一个d维向量空间中。每个关系定义为2个矩阵M

f

(2)翻译模型TransE:

TransE模型将知识库中实体间的关系看成实体间的平移向量。用l

f

所述步骤S5)的知识融合是对从半结构化和非结构化的数据中抽取而来的实体、关系以及实体的属性进行实体链接和知识合并,进而提高知识的质量。

S51)实体链接:就是给定文本中的实体指称,从而确定在指定知识库中的目标实体。

S52)知识合并:在知识图谱的构建过程中,可以从外部知识库产品或者己有的结构化信息获取知识,例如合并外部知识库和关系数据库,同样可以采用RDF的形式合并到知识图谱中,从而实现知识合并。

所述步骤S6)中解决智慧社区图谱构建过程中的冲突指的是解决在智慧社区大数据知识图谱的构建过程中出现的不同数据源造成的冲突和不同构建方法造成的冲突。具体实施步骤为:

S61)冲突发生点分析

在智慧社区大数据知识图谱构成的元素中,理论上任何一个元素层面均有可能发生冲突;然而,在一些元素中,这种冲突更多的被认为是因为信息不充分,结合多种冲突是对知识图谱完整性的一个补充。如果使用形式逻辑中的开放世界假设和封闭世界假设来解释,那么知识图谱的构建过程中选择的是开放世界假设,即对于未能被证明是错误的事情认为是真的。具体的冲突可能性分析如下:

(1)在概念与实体的选取时,虽然有些实体或概念仅在部分数据源中存在,但这并不表明不包含它们的数据源否定选取它们作为实体或概念的行为,而是因为这些数据源本身的信息不充分而已;如果有其它数据源能够说明它们是实体,那么就可以把它们选取为实体,因此在概念与实体的选取时不会发生冲突。在实体的对齐过程中也有相似的结论。

(2)概念与实体的区分:有些数据集中认为某个事物为概念,而在其它的数据集中则认为是实体,此时即造成了真实意义上的冲突。

(3)上下位关系学习:造成冲突的示例如:对于两个实体或概念A和B在一些数据集中认为A是B的上位,而在另一些数据集中则认为B是A的上位,这也造成了冲突;更加复杂的还包括在层次结构图中形成了闭环。

(4)属性:主要体现在单值型属性下,如果学习到了不同的值,也表示存在冲突;对于多值型属性,通常仅需要把属性值合并。

S62)冲突检测:针对可能产生冲突的发生点,使用了探测算法进行探测,其具体包括

S621)概念与实体的区分:因为主要产生于不同的数据源中,因此只需要对各数据源的实体和概念分开建立索引;然后,对于一个数据源中的实体和概念,在其它数据源的索引中查找;如果当前数据源中为实体而在其它数据源中作为概念,或在当前数据源中为概念而在其它数据源中作为实体,则检测到冲突;

S622)上下位关系中的冲突:由于层次结构图应该为一个有向无环图,其中不能存在闭环,因此采用基于有向无环图中的闭环寻找算法来检测冲突。具体使用的方法基于拓扑排序的方法,基本过程如下:找到有向无环图中所有入度为零的顶点,删除该顶点及相关的出边,如此循环到无顶点输出;若能把整个图中的结点都删除,则说明图中不存在闭环,否则说明图中存在闭环;

S623)对于单值型的进行遍历,如果有多个值,说明存在冲突。

S63)冲突解决:本发明中使用三种方法来解决学习过程中的冲突,具体实施步骤如下:

S631)基于数据源可靠性的冲突解决方法,该方法需要对知识图谱构建数据来源的结构化或半结构化数据源的可靠性进行评分,通常是基于统计的方法与基于人工的方法相结合。数据源可靠性确定以后,当冲突发生于数据源之间时,则按数据源的可靠性进行取舍。

S632)基于支持因素数目的冲突解决方法,对于从文本中通过机器学习所得的知识,由于无法依据数据源的可靠性进行取舍,因此需要使用其它的方法。在机器学习的方法中,对于每条知识都有支持其为真的依据,例如在基于的开放同义关系学习中,对于一对学习到的同义实体,通常会有多个语言学模式来支持它,支持的数目即代表了一种可信度;因此,对于产生冲突的知识,可以依据支持的数目多少来进行裁决。

S633)基于人工的冲突解决方法,此方法很好理解,即当自动的冲突解决方法无法完成判别时,需要人工的介入;或者在某些对于知识图谱的可靠性要求相当高的场景下,需要人工对自动解决方法的裁决结果进行校验和修正。

所述步骤S7)中更新智慧社区知识图谱,其针对智慧社区大数据知识图谱的构建并非一蹴而就,需要不断的进行更新,包括两个层次的更新:数据模式层的更新和数据层的更新。具体实施步骤如下:

S71)数据模式层的更新

数据模式层的更新指概念层次的更新,包括概念的层次关系,同义关系和概念的属性定义等;这些更新主要来自两方面的驱动,一是在结构化和半结构化的数据源中的知识有更新,知识图谱也需要相应的更新;另一方面是因为使用的自动学习算法在语料添加、算法改进等方面变化时,所学习的知识发生变化,这些知识变化规约到数据模式层的变化。对于数据模式层的变化,本发明中通过对这些变更进行分类,对不同的分类使用不同的解决方法。具体实施步骤如下:

S711)对于概念的描述、图片及同义关系的更新

由于它们的变更所影响的仅为当前概念本身,因此,通常不需要进行额外处理,仅通步骤S3)和S5)中描述的构建方法进行更新即可。

S712)对于概念间的上下位关系的更新

由于会更新整个分类层次结构,因此需要谨慎处理;如果并未造成冲突,则不需要特殊处理,如果造成了闭环式的冲突,此时系统检测到以后,由人工进行处理。

S713)对于概念的属性更新

如果是新的属性添加,依据本所述的方法进行处理即可;如果是对现有属性的更新,包括属性类型、值类型、值域的更新,系统检测到后由人工进行处理;如果是对属性的删除,若属于当前概念的所有实体中该属性均已被移除,则可以把概念的属性直接移除,否则仍然需要人工确认。

S72)数据层的更新

数据层的更新处理相对比较简单,依据在学习过程中所选取办法自动解决更新问题即可。

以上所述的仅是本发明的一些实施方式。对于本领域的普通技术人员来说,在不脱离本发明创造构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号