微信扫码
与创始人交个朋友
我要投稿
摘要:
这篇文章涉及到利用OpenAI GPT模型、Hume和图分析平台来构建高质量的知识图谱。它展示了使用GPT进行信息提取、命名实体识别、关系抽取和实体解析的技术,并且结合Hume的能力来研究科学家之间的相互影响。文章还介绍了研究尼尔斯·玻尔的例子,展示了如何通过结合GPT输出、KG技术和Hume特征,重构研究人员之间的互动。
主要观点:
- 使用OpenAI GPT模型和Hume可以构建高质量的知识图谱。
- GPT模型可以用于信息提取、命名实体识别、关系抽取和实体解析。
- Hume可以揭示科学家之间的相互影响和网络动态。
- 结合GPT输出、KG技术和Hume特征可以重构研究人员之间的互动。
- 结合GPT和图分析平台的技术可以用于不同领域的信息发现和洞察。
- 对RAC知识图谱进行全面分析是进一步研究的主题。
- 这些技术可以应用于新闻、执法等领域。
正文
二十世纪上半叶,有几位科学家在不同领域对科学和技术做出了巨大贡献。我们可以提到几位诺贝尔奖得主,包括阿尔伯特·爱因斯坦、欧内斯特·劳伦斯和尼尔斯·玻尔,他们为物理学研究做出了基础性贡献。但是,他们作为筹款人的角色又如何?他们在资助与其科学贡献无关的研究课题(如生命科学和生物学)方面又有何影响?
例如,罗克菲勒档案中心(RAC)等机构收集科学资助信息,包括其长尾部分。具体而言,RAC是研究罗克菲勒基金会(RF)慈善活动及其对全球影响的主要存储库和研究中心。在该项目中使用的文件包括追溯到1930年代的官员日记(ODs),其中记录了RF官员(负责为研究项目提供资金的基金会代表)与自然科学领域特定研究课题上工作的科学家之间的对话。选择这个数据集是因为这个激动人心的时代正是形成和定义现代研究课题(如分子生物学或核科学)的时期。
这样的日记起到了重要的作用,因为其中报告的对话和交互可能导致特定研究项目的资助。然而,要理解RF资助流程的动态驱动因素是复杂的,需要生成以知识图谱(KG)形式塑造的良好结构化数据。以尼尔斯·玻尔为例:他对理解原子结构做出了重要贡献,但根据维基百科报道,他还是科学研究的推动者。在ODs上创建的KG揭示了这种支持性活动是如何具体实现的。
此外,这篇博文将介绍我们如何在可生产和可扩展的环境中采用OpenAI GPT模型,以在ODs的文本内容之上生成高质量的KG。该环境配备了Hume、GraphAware的端到端图分析平台。本文介绍的教训可以轻松应用和扩展到不同的应用领域,从科学到执法,通过结合Hume和GenAI的强大功能。
从官员日记(ODs)到KG的转换中,我们在多种情况下利用了GPT和Hume的能力来构建一个有意义、有用和高质量的KG。
我们的旅程将从整个信息提取流程的概述开始,然后详细讨论各个环节。
为这个用例构建的信息提取流程包含了若干步骤,每一步都在准确和高效地提取相关信息时发挥着关键作用。
主要步骤如下:
文件分块:一种用于提取日记条目的临时分块策略;
命名实体识别(NER):将非结构化文本中提到的命名实体识别和分类到预定义类别;
关系抽取(RE):检测和分类实体对之间的语义关系;
实体解析(ER):创建连接不同数据记录的同一实体。
文件分块:从官员日记中提取条目
通常,无法一次对大型文件进行处理,而需要采用分块策略。GPT带有一个令牌限制,尽管随着新版本的发布而迅速增加,但我们无法一次处理整个数据集。此外,根据我们的经验,要分析的文本越长,提取的实体和关系质量就越差。
在我们的案例中,文件是官员日记(ODs),因此将它们划分为每个日记条目所写的日期是自然的方式。对于我们的用例来说,这一步骤非常重要,因为不适当的文件分段可能会丢失宝贵的上下文,而上下文对于高质量的NER和RE是必要的。
在文件分块中,我们执行一个日期提取步骤,从对应日记条目的页面中提取日期。
对于日期提取,我们向GPT提供了一个输入列表,其中包含与页面行相对应的枚举行。对于每个页面行,我们在提示中指定要检测与日志条目对应的日期。输出格式是一个JSON列表,其中每个元素包含日期出现的行以及归一化日期或日期范围。
为了提高鲁棒性,日期提取过程包含不同的步骤。
第一次提取尝试使用的是gpt-3.5-turbo模型。如果失败,将使用gpt-4模型进行第二次尝试。最后一步是检查结果中是否只包含日志条目日期,而不是文本中提到的通用日期。通过利用提取的日期,我们重构官员日记条目(ODEs)的文本。
在生产环境中使用GPT执行NER和RE需要考虑多个方面:
- 文件长度以及对结果准确性的影响。
- 使用多个提示来处理不同情况和场景的灵活性。
- 针对GPT服务故障及以非预期格式生成的结果的鲁棒性。
为了直接满足这些要求,我们可以直接利用集成到Hume平台的Orchestra系统的功能。
如前所述,使用GPT提取细粒度信息需要将完整的OD拆分成单独的日记条目(ODEs)。然而,在某些情况下,输入文本仍然过长,因为一些检测到的ODEs分布在多个页面上。
上图展示了用于处理ODE文本的Orchestra工作流程。更准确地说,为了处理前面提到的情况,我们定义了两个分支:一个简单的分支用于处理短日记条目,另一个更复杂的分支用于首先将长日记条目的文本分成块,然后再进行处理。这个分割步骤的采用是为了管理所使用的GPT模型(gpt-4)的令牌限制,更重要的是为了限制响应质量与长输入相关的退化。我们注意到,在这类任务中必须考虑这个方面,并且还要注意使用生成模型从文本中提取事实的一般情况。
用于创建提示的组件包括:单页的提示和参数以及多页的提示和参数。这两种提示的目标都是执行命名实体识别和关系提取任务。然而,它们之间的关键区别在于它们如何组合提示。事实上,对于被分成块的ODE来说,需要添加上下文(从前一个块到正在处理的块),以利用GPT的隐式共指能力,或者处理一个句子跨越两个块的情况。
在生产环境中使用GPT的关键方面之一与故障管理相关。我们可以确定两种不同类型的故障:
- GPT服务故障:这可能与多种原因有关,从输入格式错误到服务不可用。
- GPT响应解析器故障:结果不符合预期的格式。除了问题的具体性,这可能是因为模型的生成性质所导致的。
为了管理这些情况,以及可能发生的其他情况,Orchestra工作流程可以让您定义分支,有助于处理主要流程中涉及的单个或多个组件的故障。
每个分支都允许我们在组件故障的情况下执行特定的操作。在这种情况下,我们为生成错误的日记条目分配一个独特的标签,以便进行针对性调查,并在需要时对流程进行改进。
为了通过非结构化数据构建准确的知识图谱,我们需要一个高质量的知识提取系统,其中包括NER和RE等关键组件。为了理解这个过程的效果,考虑以下图表,它报告了来自单个官员日志条目(ODE)的不同文本片段:
在这种情况下,ODE的一个页面上明确提到了O. Stutzer教授,然后在同一页上以S.的名字提到,接着又在下一页上以Stutzer的名字提到。此外,这些提及与组织机构、职业和其他人的提及相关联。
我们的目标是在知识图谱中生成一个唯一实体对应的单个节点,表示O. Stutzer的所有这些不同提及,并相应地建立相关关系。为了实现这个目标,我们指导模型识别这些情况。此外,我们定义了一个提示,以利用前一页的上下文信息重构完整的姓名。
下面的图表示对前文进行高级命名实体识别和关系提取步骤后的结果:
正如您从此示例中所看到的,字符串“O. Stutzer”和“K. Jurasky”被识别为人物实体(紫色节点),而“paleo-botanist”和“geologist”等字符串则被识别为职业实体(红色节点)。此外,在人物实体的情况下,该模型能够协调不同的命名方式,并以一种有效的方式执行关系提取,将“O. Stutzer”与相关实体连接起来。
从命名实体识别和关系提取任务开始,我们能够提取与应用领域相关的更具体的信息,例如情感分析和对话提取。
情感分析
在阅读日记时,我们注意到人们经常分享他们对他人的个人感受。这可能是基于KG的拨款分配模式分析的一个非常重要的方面,例如,我们可以通过调整与“TALKED_ABOUT ”关系相关的GPT提示来识别真正的影响者,并轻松地识别和存储这些复杂的印象。请考虑以下摘录:
从文本中清楚地可以看出J. Franck 对一些同事的意见。首先,他谈到了Stark和Schumann,表达了Schumann胜过Stark的观点,然后他引用了Hertz和Debye作为德国一流的物理学家。所有这些信息都被正确地提取出来了,下面的图表包含了结果图。
对话内容提取
日记中充满了洛克菲勒基金会官员与科学家之间关于研究项目的详细对话描述。请考虑以下文本片段:
我们的目标是在文本中识别这些讨论,并将它们转化为包含多个细节的对话节点,包括参与者、讨论的主题以及上下文,比如面对面的会议或者午餐。我们在提示中增加了识别"had conversation with"关系类型的要求。
提示词:
[...] "had conversation with" (i.e., an Officer talked with one or multiple persons present at the time) [...]
Example:
{
"entities": {
"person": [
{"id": 1,"name": "William Meade","titles": []},
{"id": 2,"name": "WW","titles": []}
]
}
}
{
"relationships": {
"had conversation with":[{"source": 2,"targets": [1],"context": "on-site"}]
}
}
如下是以图谱方式展示的结果
模型正确地识别出了1935年12月13日,沃伦·韦弗(WW)与约翰·J·科斯教授(以及其他人)之间关于现代博物馆功能的午餐对话。
回顾总结
下图展示了我们通过结合所有先前的要素能够实现的图形结果。
这个例子展示了我们如何以强大的方式表达两位RF军官之间的对话,他们分别是沃伦·韦弗和W·蒂斯代尔,以及两位科学家W·E·蒂斯代尔和A·拉卡桑尼日和F·约里奥。后者还提到了W·博特和P·A·M·狄拉克的研究活动。通过阅读这段文本,你会注意到这两个人只用他们的姓氏提到。而且,之前的文本上下文中没有包含他们的全名。然而,构建高质量的知识图谱的一个关键方面就是识别出同一人或组织,超越他们在不同页面或文档中的多个表达方式,以解决多义实体,并用唯一的节点来表示它们。
实体识别(ER)是一种广泛适用的方法,用于将数据解析为独特和有价值的实体配置文件。这一关键过程使组织能够基于完整和/或不分散的数据做出关键决策。
对于非结构化内容,目标是将段落、页面甚至其他文档中的多义实体提及调和为最终解决的实体节点。
例如,考虑下面来自Frank B. Hanson( FBH)的不同ODE文本片段,其中提到了"库蒂斯"。
在这种情况下,1934年的FBH ODE的第121页提到了姓氏Curtis。1933年的另一个ODE提到了全名W. C. Curtis。而1938年的最后一个ODE提到了Howard J. Curtis。根据不同的来源,我们能否利用GPT生成的关系来清楚地说明Curtis对应于W. C. Curtis或Howard J. Curtis还是都不是?
通过组织和主题规范化进行人名实体识别
要对人员实体执行实体识别(ER),我们不能仅考虑名称的相似性,还需要包括其他信号以增加准确性。通过进行复杂的关系抽取(RE)任务,我们已经将大多数这些名称与他们所在的组织以及他们从事的科学领域或主题相关联。
虽然关于组织和研究主题的信息特别有用,但这些信息可以用不同的方式表达。例如,牛津大学可以互换地表示为牛津或牛津大学。更高级的场景能够使我们理解到牛津的基督教会与这个学术机构有某种联系。
关于主题,我们可以用不同的词语表达相同的研究领域。例如,“辐射问题与生物有关”和“辐射对生物的影响”表达了相同的概念,但使用了不同的术语。
为解决这些特定问题并合并(并可能调整)组织和主题的不同表达方式,我们采用了两种不同的方法,一种基于适当提示的定义,另一种利用GPT计算出的嵌入来实现。
在组织机构方面,我们明确要求GPT对名称进行规范化,并理解组织机构之间的层次关系。为达到这个目标,我们定义了一个管弦乐队工作流,在该工作流中,从GPT在NER/RE阶段提取的组织机构名称将再次作为输入传递给GPT进行规范化任务。所定义的提示包括以下关键信息:
提示词:
[...] normalize the organization name, identify the main institution of the organization (if exists) [...]
{
"name": "harvard school of medicine",
"name normalized": "Harvard Medical School",
"main institution": "University of Harvard"
}
如下是结果图谱:
黄色节点是在NER/RE阶段提取出来的实体,而蓝色节点定义了解析出的实体。这个操作有益于减少噪音,因为分析人员只需要分析两个节点及其关系,而不是四个不相关的节点。
关于这些话题,我们的目的是根据语义相似性将它们分组。为了实现这一目标,我们决定共同利用嵌入和聚类操作。前者使我们能够将话题投射到向量空间中,嵌入越接近,话题之间的语义相似性就越高。更准确地说,通过text-embedding-ada-002 GPT模型计算嵌入。后者利用这种接近性,根据所需的语义细粒度使用分层聚类将话题分组。下图显示了与高血糖相关的簇(组)。话题被分组为TopicGroup节点,这些节点本身以分层方式分组。这使得可以根据用例选择最合适的语义粒度,例如较粗的粒度可以将与高血糖相关的簇与与糖尿病相关的簇合并。嵌入和聚类操作都是使用Orchestra执行的。
让我们来看看这些规范化步骤对人物解析的影响。下面的图表显示了为什么必须将“柴伯斯”(Chambers)和“罗伯特·柴伯斯”(Robert Chambers)节点解析为同一人。第一个明确表示在纽约大学(New York University)工作。第二个在华盛顿广场学院(Washington Square College)工作。然而,GPT认识到这两个学府是相关的。根据维基百科上的纽约大学页面报道:
"1914年,华盛顿广场学院作为纽约大学市区的本科学院成立。"
基于这种非平凡的联系,我们可以断言,在现实世界中,Chambers 和 Robert Chambers 很有可能是同一个人,这不仅仅是基于相同的姓氏而得出的结论。
现在,让我们尝试回答我们在这部分专门介绍ER的开头提出的问题:
“我们是否可以利用GPT生成的关系来明确表达Curtis指的是W. C. Curtis还是Howard J. Curtis,或者两者都不是?”
下面提供的图表回答了这个问题。正如你所注意到的那样,Curtis从事与生物体有关的辐射问题研究,而W. C. Curtis从事辐射对生物体的影响研究。这两个字符串代表同一个研究领域,但对于字符串相似性的琐碎算法来说,很难检测到这种相似性。相反,我们处理语义相似性的方法使我们能够正确地将Curtis解析为W. C. Curtis而不是Howard J. Curtis。
使用GPT构建的知识图谱结合Hume的能力,使我们能够研究基于网络的动态,这可以揭示出例如诸如Niels Bohr对研究活动的推动作用。这种分析可以从影响网络开始,通过利用多种关系类型(包括TALKED_WITH, TALK_ABOUT, STUDENT_OF, 和WORKS_WITH)和图算法揭示出模式和见解,展示出最具影响力的科学家。
下图展示了这个网络的复杂性(仅表示整个影响网络的子图),其中关键节点的维度取决于PageRank算法计算的得分。在这个背景下,PageRank根据传入连接的数量和相应关系的重要性,衡量一个人在网络中的重要性。这种观点对我们的目的很有好处,因为如果许多重要人物积极与一个关键节点互动,这意味着这个关键节点可以影响决策。这个网络中最重要的社群之一显示,伊斯·波尔(Niels Bohr)是一个中心节点(在下图中突出显示)。
假设你查看了尼尔斯·玻尔的维基百科页面。该页面提到了来自这个社区的几位科学家(请参见下图),例如奥托·斯特恩、哈拉尔德·玻尔、乔治·冯·赫维希和詹姆斯·弗朗克,他们属于尼尔斯·玻尔的科学领域。一方面,这证实了从OD中产生的网络动态与这些科学家,特别是尼尔斯·玻尔,相关的众所周知的知识相一致。另一方面,我们对发现与尼尔斯·玻尔对促进不同科学领域的资金支持相关的长尾信息感兴趣。
为了实现这个目标,我们可以通过探索由洛克菲勒基金会授予的提到尼尔斯·玻尔和关注与他的研究活动无直接联系的研究主题的赠款继续我们的调查。请考虑以下示例,示例中的赠款以绿色显示。
通过探索与赠款的联系,我们发现其已被分配给 H. V. Brondsted,并且已被授予生物学主题,如实验动物学。此外,赠款细节中提到了 Niels Bohr。从这个赠款信息、从ODEs中提取的信息以及建立在这些信息之上的KG,我们可以尝试回答以下问题:
“我们能重构H. V. Brondsted、Niels Bohr和其他相关重要人物之间的互动吗,这些互动可能导致了拨款的授予吗?”
从上面的图表中,我们注意到海姆·瓦尔弗·布龙斯特德(H. V. Brondsted)和尼尔斯·玻尔(Niels Bohr)之间存在着一种TALKED_ABOUT 关系。
此外,我们还注意到奥古斯特·克罗(August Krogh)是玻尔的主要合作伙伴之一,基于他的个人关系网络,他与布龙斯特德之间也存在着一种TALKED_ABOUT 关系,这对研究者进行了积极的评价。
通过利用图表中的这一部分,并在“TALKED_ABOUT ”关系上执行解释操作(在Hume平台上定义的一种cypher查询),我们可以轻松地探索原始来源,描述这三个人之间的互动方式。
一位HMM官员在1937年报道了最初的互动情况:
"Brondsted称他已与N Bohr建立联系,并将在芬森研究所研究X射线对海绵原生质的影响。"
另一篇来自1939年的ODE进一步澄清了对于授予任务的尼尔斯·玻尔和奥古斯特·克罗格的角色。
正如您从这个例子中看到的,通过结合GPT输出、KG技术和Hume特征,我们可以以直观的方式轻松重构研究人员之间的相互作用。这个特定的例子展示了我们如何直接回答我们最初的需求,即关于尼尔斯·玻尔在支持非常规主题方面的影响的理解,这是基于他的主要研究活动的。
这篇博客文章显示出GPT和LLMs正在开启从文本数据中构建高质量和大规模知识图谱的令人难以置信的机会,解决了复杂任务,如命名实体识别、关系抽取和实体消解等真实场景中的问题。正如本文所述,我们在这一过程中采用了多种模型。我们注意到,结合各种模型可以更高效地处理较不复杂的任务,使用更高级和昂贵的模型来处理边缘情况或更复杂的情况。与尼尔斯·玻尔相关的示例表明了将LLMs与知识图谱相结合在自然语言内容中进行信息发现的巨大潜力。而且,由于这些技术的灵活性,用于研究这些案例的技术可以转移到其他领域,如新闻和执法。为了进一步展示结合LLMs和知识图谱进行更高级的洞察和发现的能力,对RAC知识图谱进行全面分析将是接下来博客中的一个主题。
53AI,企业落地应用大模型首选服务商
产品:大模型应用平台+智能体定制开发+落地咨询服务
承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业
2024-03-30
2024-04-26
2024-05-10
2024-04-12
2024-05-28
2024-04-25
2024-05-14
2024-07-18
2024-08-13
2024-04-26