Diffbot 是一套基于机器学习的工具套件,可轻松实现网页数据的结构化。 Diffbot 的 自然语言处理 API 支持从非结构化文本数据中提取实体、关系和语义信息。![]()
应用场景
文本数据通常包含丰富的关系和洞察,可用于各种分析、推荐引擎或知识管理应用。 通过将`Diffbot 的 NLP API` 与图数据库 `Neo4j` 结合,您可以基于从文本中提取的信息创建强大且动态的图结构。这些图结构完全支持查询,并可集成到各类应用中。
这种组合可实现以下应用场景:
- 从文本文档、网站或社交媒体信息流构建知识图谱(例如 Diffbot 的知识图谱)。
- 基于数据中的语义关系生成推荐内容。
- 创建能够理解实体间关系的先进搜索功能。
- 构建分析仪表板,使用户能够探索数据中隐藏的关系。
概述
LangChain 提供了与图数据库交互的工具:`从文本构建知识图谱`使用图转换器和存储集成`查询图数据库`使用链进行查询创建和执行`与图数据库交互`使用代理进行稳健且灵活的查询
环境配置
首先,安装所需的软件包并设置环境变量:Diffbot NLP 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 获取实时答案。

