标签归档:knowledge graph

Neo4j如何表示带权重的关系

问题描述

我们知道图数据库可以用来表示节点之间的关系,大多数情况下,这个功能就足够使用了。但有时候我们希望知道这些关系的权重是怎样的,也就是说我们需要一个带权重的图(weighted graph)。比如,我们以上海周边城市图谱为例。先用如下cypher语句创建节点和关系:
CREATE (Shanghai:City {name:'上海'})
CREATE (Suzhou:City {name:'苏州'})
CREATE (Wuxi:City {name:'无锡'})
CREATE (Nanjing:City {name:'南京'})
CREATE (Ningbo:City {name:'宁波'})
CREATE (Shanghai)-[:Neighbor]->(Suzhou)
CREATE (Shanghai)-[:Neighbor]->(Wuxi)
CREATE (Shanghai)-[:Neighbor]->(Nanjing)
CREATE (Shanghai)-[:Neighbor]->(Ningbo)

可视化如下:
Imgur

解决方案

方法其实很简单:只要在关系[……]

继续阅读

关系抽取综述

什么是关系抽取?

信息抽取旨在从大规模非结构或半结构的自然语言文本中抽取结构化信息。关系抽取是其中的重要子任务之一,主要目的是从文本中识别实体并抽取实体之间的语义关系。比如:

International Business Machines Corporation (IBM or the company) was incorporated in the State of New York on June 16, 1911.

我们可以从上面这段文本中抽取出如下三元组(triples)关系:

  • Founding-year (IBM, 1911)
  • Founding-location (IBM, New York)

为什么要进行关系抽取?

  • 创建新的结构化知识库(knowledge base)并且增强现有知识库
  • 构建垂直领域知识图谱:医疗,化工,农业,教育等
  • 支持上层应用:问答,搜索,推理等。比如,对于这样一个提问:

    The granddaughter of which actor starred in the movie “E.T.”?

    可以用如下的关系推理表[……]

    继续阅读