Diffbot 是一套基于机器学习的产品,可以轻松地组织网络数据。 Diffbot 的 自然语言处理 API 允许从非结构化文本数据中提取实体、关系和语义含义。
用例
文本数据通常包含丰富的关系和见解,可用于各种分析、推荐引擎或知识管理应用程序。 通过将Diffbot 的 NLP API 与图数据库 Neo4j 结合使用,您可以根据从文本中提取的信息创建功能强大、动态的图结构。这些图结构可以完全查询,并可以集成到各种应用程序中。 这种组合允许以下用例:- 从文本文档、网站或社交媒体源构建知识图谱(如 Diffbot 的知识图谱)。
- 根据数据中的语义关系生成推荐。
- 创建能够理解实体之间关系的高级搜索功能。
- 构建分析仪表盘,允许用户探索数据中隐藏的关系。
概览
LangChain 提供与图数据库交互的工具- 使用图转换器和存储集成
从文本构建知识图谱 - 使用用于查询创建和执行的链
查询图数据库 - 使用代理
与图数据库交互,实现强大而灵活的查询
设置
首先,获取所需包并设置环境变量Diffbot 自然语言处理 API
Diffbot 的 NLP API 是一种用于从非结构化文本数据中提取实体、关系和语义上下文的工具。这些提取的信息可用于构建知识图谱。要使用该 API,您需要从 Diffbot 获取免费的 API 令牌。
DiffbotGraphTransformer 提取实体和关系。DiffbotGraphTransformer 输出结构化数据 GraphDocument,可用于填充图数据库。请注意,由于 Diffbot 的 每个 API 请求的字符限制,因此避免了文本分块。
将数据加载到知识图谱中
您需要有一个正在运行的 Neo4j 实例。一个选项是在其 Aura 云服务中创建 免费的 Neo4j 数据库实例。您还可以使用 Neo4j Desktop 应用程序在本地运行数据库,或者运行 Docker 容器。您可以通过执行以下脚本来运行本地 Docker 容器add_graph_documents 方法将 GraphDocuments 加载到知识图谱中。
刷新图模式信息
如果数据库的模式发生变化,您可以刷新生成 Cypher 语句所需的模式信息查询图
我们现在可以使用图 Cypher QA 链来向图提出问题。建议使用 gpt-4 来构建 Cypher 查询以获得最佳体验。以编程方式连接这些文档到 Claude、VSCode 等,通过 MCP 获取实时答案。