哟喂 哟喂
  • 首页
  • 科技资讯
  • 企业通用
    • 电子商务
    • 智慧农业
    • 健康医疗
    • 多媒体
    • 系统运维
  • 人工智能
    • AIGC
    • 多智体
    • 数据标注
    • 智能应用
    • 机器学习
    • 自然语言处理
  • 工业物联
    • PCB
    • 工业视觉
    • 工控仿真
    • 数控机床
    • 无人机
    • 物联网
    • 电路设计
    • 自动驾驶
  • 开发运维
    • 云计算
    • 前端开发
    • 后端开发
    • 客户端
    • 嵌入式
    • 开发工具
    • 数据库
    • 系统运维
  • 金融科技
  • 工具软件
  • 首页
  • 科技资讯
  • 企业通用
    • 电子商务
    • 智慧农业
    • 健康医疗
    • 多媒体
    • 系统运维
  • 人工智能
    • AIGC
    • 多智体
    • 数据标注
    • 智能应用
    • 机器学习
    • 自然语言处理
  • 工业物联
    • PCB
    • 工业视觉
    • 工控仿真
    • 数控机床
    • 无人机
    • 物联网
    • 电路设计
    • 自动驾驶
  • 开发运维
    • 云计算
    • 前端开发
    • 后端开发
    • 客户端
    • 嵌入式
    • 开发工具
    • 数据库
    • 系统运维
  • 金融科技
  • 工具软件
  1. 首页
  2. 人工智能
  3. 基于知识图谱的智能问答系统:fact-finder

基于知识图谱的智能问答系统:fact-finder

  • 哟喂
  • 人工智能
  • 2024-10-22

项目简介

 

利用LLM和 Neo4j 数据库实现自动化查询与回答,实现了从用户问题到自然语言答案的自动化转换过程

 

特点

1、基于知识图谱:使用Neo4j 数据库存储和管理知识图谱,并利用它来回答问题

2、利用语言模型:使用语言模型将问题转化为Cypher查询语句,并根据查询结果生成自然语言答案

3、自动化查询与回答:将问题到自然语言答案的整个过程自动化,无需手动编写查询语句

 

入门

设置 PrimeKG Neo4j 实例,请参见此处

安装依赖项:

  •  
pip install -e .

FactFinder 的某些功能基于外部 API。虽然运行 FactFinder 需要 openai api 密钥,但语义学者以及拜耳的 linnaeusannotate 实体检测是可选的。设置环境变量:

  •  
  •  
  •  
  •  
  •  
export LLM="gpt-4o"                 # "gpt-4-turbo" as an alternativeexport SEMANTIC_SCHOLAR_KEY=""      # fill API key for semantic scholarexport OPENAI_API_KEY=""            # fill opanAI api keyexport SYNONYM_API_KEY=""           # Bayer internal linnaeusannotate synonym API keyexport SYNONYM_API_URL=""           # Bayer internal linnaeusannotate synonym API url

运行用户界面:

  •  
streamlit run src/fact_finder/app.py --browser.serverAddress localhost

使用附加参数运行(例如激活标准化图形同义词):

  •  
  •  
streamlit run src/fact_finder/app.py --browser.serverAddress localhost -- [args]streamlit run src/fact_finder/app.py --browser.serverAddress localhost -- --normalized_graph --use_entity_detection_preprocessing

以下标志可用:

  •  
  •  
  •  
--normalized_graph  =  Apply synonym replacement based on the normalized graph to the cypher queries before applying them to the graph.--use_entity_detection_preprocessing  =  Apply entity detection to the user question before generating the cypher query. The found entities will be replaced by their preferred terms and a string describing their category (e.g. "Psoriasis is a disease.") will be added to the query. This requires the corresponding api key ($SYNONYM_API_KEY) to be set. Also, the normalized graph should be used.--use_subgraph_expansion  =  The evidence graph gets expanded through the surrounding neighborhoods.

 

流程说明

采取以下步骤从用户问题得到自然语言答案和提供的证据:

  1. 第一步,使用语言模型调用生成对知识图谱的cypher 查询。为了实现这一点,提示模板包含图形的模式,即有关所有节点及其属性的信息。此外,提示模板可以通过对图中(某些)关系的自然语言描述来丰富,从而可以更好地理解它们对语言模型的含义。如果模型确定用户问题无法通过具有给定架构的图形来回答,则指示模型返回以标记字符串“SCHEMA_ERROR”开头的错误消息。然后检测到这一点并将错误消息直接转发给用户。

  2. 在第二步中,使用正则表达式对生成的cypher 查询进行预处理。

  • 首先,应用格式化以使后续正则表达式更易于设计。例如,这包括删除不必要的空格以及对所有字符串使用双引号。

  • 接下来,所有属性值都转换为小写。这假设已对图中的属性值进行了类似的预处理,并使查询能够防止大小写不匹配。

  • 最后,对于某些节点类型,查询中使用的任何名称都将替换为图中实际使用的同义词。例如,这是通过查找名称的同义词并检查图中实际存在的同义词来完成的。

  • 第三步,使用密码预处理的最终结果查询图。图形答案和密码查询是界面中呈现的证据的一部分,为用户提供了透明度。

  • 通过另一个语言模型调用,最终的自然语言答案是根据查询图的结果生成的。

  • 此外,还会根据图查询和结果生成子图。这作为用户的视觉证据。子图可以通过基于规则的方法生成,也可以在语言模型的帮助下生成。

 

用户界面

下图显示了“哪些药物用于治疗高眼压?”问题的应用程序的用户界面。。独立LLM和我们基于图形的混合系统的答案作为输出进行比较。此外,相关子图与生成的 Cypher 查询、图中的答案和使用的提示一起显示为证据。

 

阅读原文

GitHub logo
chrschy/fact-finder
Star: 96 | Fork: 12

Recently Commits:
  • ca57d1b Merge remote-tracking branch 'origin/main' into main by Roman Teucher2024-08-05
  • 2efec4d fix(prompt_template): add a better message to the document retrieval if no answer is found by Roman Teucher2024-08-05
  • 7c41300 Merge pull request #61 from chrschy/documentation Documentation by Daniel Steinigen2024-05-29
License:MIT Download
#知识图谱
哟喂

为您推荐最优质的软件系统和最专业的技术服务

上一篇
OpenMDAO:高效的多学科优化与建模框架 🤖
下一篇
将文本或 url 信息结合 LLM 的常识自动转成可视化的知识图谱!

延伸阅读:

暂无内容!

开源大马,开源技术分享交流,为您推荐最优质的软件系统和最专业的技术支持

热门分类

人工智能
企业通用
健康医疗
多媒体
嵌入式
工具软件
教育系统
物联网
科技资讯
自然语言处理

图片广告

最新文章

  • CourseLit:构建您自己的在线课程和数字下载平台🤖
  • Celestial Altium Library:高品质的开源电子设计数据库(PCB),超 200,000 个高质量组件及完整 3D 模型 🤖
  • Node-RED 是一种低代码编程工具,适用于物联网
  • Trudesk:高效的开源工单管理系统🤖
  • 图像魔方,一个强大的图像编辑和AI图片生成工具

图册展示

标签云

AI
下载工具
低代码
在线教育
嵌入式
录屏
智慧家居
物联网
知识付费
知识图谱
0060美熙科技说安泊尔调料关于我们
免责声明:本网站部分内容由用户自行上传,如权利人发现存在误传其作品情形,请及时与本站联系。
哟喂 © 2024. All Rights Reserved.