【论文阅读】Fact Finder - Enhancing Domain Expertise of Large Language Models by Incorporating Knowledge G

关键词:rag,知识图谱

论文地址:https://arxiv.org/abs/2408.03010

 源码:GitHub - chrschy/fact-finder

简介

知识图谱(Knowledge Graphs, KGs)是提高LLM中事实正确性的一种很有效的方法,尤其是在生命科学这些图谱发展比较成熟的领域。通过将药物、疾病和基因等实体以及它们之间的关系组织成一个结构化的网络,知识库为LLM提供了有用的额外背景,以便进行精确和相关的信息检索。本文构建了一个混合问答系统-FactFinder,通过结合KG和LLM来对专业领域的问题进行精准回答。

本文的3个贡献:

1、结合KG和LLM构建FactFinder问答系统

2、发布了一个手工标注的text-to-cypher query dataset,可以作为验证text-to-cypher任务的基线

3、提出了一种text-to-cypher方法,证明了大模型在生命科学领域能够生成高质量cypher

4、分享文中的数据集,源码和prompt模版

数据介绍

Knowledge graph. 

PrimeKG integrates 20 high-quality resources to describe 17,080 diseases with 4,050,249 relationships, including over 100,000 nodes and 29 types of edges that densely connect disease nodes with drugs, genes, exposures, and phenotypes.

Text-to-Cypher dataset. 

根据PrimeKG人工标注的69个text-to-cypher问题,用来验证大模型text-to-cypher效果,问题设计比较复杂,涉及多跳、聚合等类型的问题

Examples from the dataset include simpler questions like Which drugs have pterygium as a side effect? and more complex ones such as Which medications have more off-label uses than approved indications? and Which diseases have only treatments that have no side effects at all?

系统介绍

整个pipeline如下图所示

Cypher Query Generation

用question和graph schema(包括节点和关系类型及其属性)提示llm生成Cypher查询。对于一些无法转化为cypher的查询,要求LLM返回“SCHEMA_ERROR”,这样就能通过正则捕捉到这类问题。

应用了一个实体提取模型,用于将question中的实体名称与KG中的实体名称对齐,并开发了一套实体类型词汇表。这一步将question中的术语替换为KG中的术语,保证替换的一致性(例如,酒精到乙醇),并生成将每个实体与其类别联系起来的句子(见图1左),从而减少了LLM对特定领域知识的依赖。

Query Pre-Processors 

  • Formatting:格式化查询以提高可读性和一致性。这包括添加缩进、换行和确保一致的命名约定,从而简化了正则表达式在后续步骤中的应用。
  • Lowercasing Property Values.将Cypher查询中的属性值转换为小写,以匹配预先降低的图形属性。
  • Synonym Selection.将Cypher查询中的实体映射到图中使用的术语。如果没有可用的映射,我们使用外部工具(例如,针对Wikidata的skos:altLabel查询)来查找同义词并将其与图术语匹配。
  • Deprecated Code Handling.纠正了LLM生成的不推荐的代码,例如用当前的COUNT()关键字替换过时的SIZE()关键字。
  • Child to Parent Node Mapping.一些节点类型通过父子关系连接。我们用Cypher查询中的父节点替换子节点,以确保完整性。

Graph Question Answering and Verbalization

在图上执行预处理的Cypher查询,返回一组唯一的节点,其中可能包括名称、属性、id和其他元素。接下来,将问题和图形结果合并到prompt模板中并发送给LLM。prompt指示LLM仅依靠图的信息来生成答案,然后输出自然语言作为最终答案。使用Neo4j图形数据库执行cypher语句,并用Langchain组件来构建pipline。

Explainability through Evidence

这里的Evidence其实就是指中间结果的白盒化展示,使得整个链路是透明可见的,保证可解释性。包括生成的Cypher Query、检索到的图结果、子图可视化结果(如下所示)、返回除了节点以外的边的信息

For example, if our original Cypher query is:

MATCH (g:gene_or_protein name:"pink1")[:associated_with]->(d:disease) RETURN d.id AS ID, d.name AS Name

our subgraph Cypher query is:

MATCH (g:gene_or_protein name:"pink1")[a:associated_with]->(d:disease) RETURN g, d, a

User Interface and Example of Usage 

系统既可以选择仅用模型回答或KG问答

 

评估

Graph Retrieval Evaluation

结果表明,KG+gpt4效果较好,最佳模型达到75%以上。GPT-4o效果大于GPT-4-Turbo。 实体增强(Entity Enhancement)提高了GPT-4-Turbo的性能,但略微降低了gpt - 4o的有效性。对此,分析结论是 gpt - 4o的内部知识使其能够在没有EE的情况下更准确地推断关系,而GPT-4-Turbo则受益于EE提供的信息。说明LLM自身的知识有助于Cypher生成

Evaluating Correctness and Completeness

1、比较KG-LLM-based system和LLM-only system

将hybrid KG-based system与LLM-only system进行了比较。经评估,混合系统hybrid KG-based system在94.12%(96.08%)的情况下产生了更正确(完整)的答案,证明了其在提供准确和完整的回答方面的优越性能。

2、LLM言语话表达

从图结果中评估自然语言答案的语言化程度。在本次评估中,89.13%的答案被认为是正确的,80.43%的答案被认为是完整的,表明在言语化方面的准确性很高。

Handling Incorrect Graph Responses

对应该拒答的场景也做了验证,即当cypher检索错误时,结合question,LLM应该拒答,实验结果如下:

在超过90%的情况下,LLM能正确地回答“我不知道”,这表明当传递给他们的知识不相关时,LLM可以推理和理解。这突出了FactFinder通过利用KG和模型自身知识来提高可靠性的能力。 

结论

这项工作证明了将结构化的KG集成到用户友好的聊天系统中的价值,为研究人员提供了一个可靠的工具,可以在最大限度地减少幻觉的同时回答科学问题。我们展示了llm可以生成有效的Cypher查询来从KG检索相关数据,并告知准确的答案。建立这样一个强大的系统对于提高研究能力至关重要。未来的工作将侧重于扩展评估数据集,量化系统不确定性,并可能通过基于agent的检索实现对多个kg的访问。

  • 23
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值