AI个人学习
和实操指南
豆包Marscode1

Foudinge Scrub:从餐厅评论中构建知识图谱

综合介绍

Foudinge Scrub 是一个开源的网页工具,托管在 GitHub 上,由开发者 Théophile Cantelobre 创建。它旨在帮助用户清理和编辑从复杂文本数据中提取的知识图谱实体,特别针对从餐厅评论网站 LeFooding.com 抓取的数据。工具使用 Flask 框架和纯 JavaScript 构建,支持全文本搜索等功能,适合需要处理重复数据或编码问题的用户。通过结合大型语言模型(LLM)的结构化生成技术,Foudinge Scrub 提供了一个直观界面,让用户在保持数据结构完整性的同时,高效优化提取结果。项目代码和相关资源均公开在 GitHub 上,方便开发者复用或改进。

Foudinge Scrub:从餐厅评论中构建知识图谱-1


 

功能列表

  • 数据清理与去重: 识别和修复从文本数据中提取的重复实体或错误项。
  • 全文本搜索: 支持在编辑界面中快速搜索特定实体或关键词。
  • 结构化编辑: 提供可视化界面,手动调整知识图谱中的实体,同时保持数据结构一致。
  • 编码问题修复: 解决因 SQLite 或其他原因导致的字符编码错误。
  • 开源支持: 项目代码公开,用户可下载、修改或贡献代码。

 

使用帮助

获取与安装

Foudinge Scrub 是一个基于 GitHub 的开源项目,用户需要先下载代码并在本地运行。以下是详细的安装流程:

1. 前置条件

  • 操作系统: Windows、MacOS 或 Linux。
  • 软件依赖: 需要安装 Python 3.7+、Git 和一个代码编辑器(如 VS Code)。
  • 网络环境: 确保能访问 GitHub 和安装依赖所需的 PyPI。

2. 下载项目

  • 打开终端或命令行工具。
  • 输入以下命令克隆仓库:
    git clone https://github.com/theophilec/foudinge-scrub.git
  • 进入项目目录:
    cd foudinge-scrub
    

3. 安装依赖

  • 项目基于 Flask 和 JavaScript 开发,需要安装 Python 依赖。运行以下命令:
    pip install -r requirements.txt
    
  • 如果 requirements.txt 文件未提供,可手动安装核心依赖:
    pip install flask
    
  • JavaScript 部分使用 Jinja 模板,无需额外安装,但确保本地有现代浏览器(如 Chrome、Firefox)。

4. 运行应用

  • 在项目根目录下运行 Flask 应用:
    python app.py
    
  • 成功启动后,终端会显示类似 Running on http://127.0.0.1:5000/ 的提示。
  • 打开浏览器,输入 http://127.0.0.1:5000/,即可访问 Foudinge Scrub 的界面。

5. 故障排查

  • 若遇到 ModuleNotFoundError,检查是否遗漏依赖安装。
  • 若端口被占用,可修改 app.py 中的端口号,例如将 5000 改为 5001

主要功能操作流程

数据清理与去重

  1. 准备数据: Foudinge Scrub 默认处理从 LeFooding.com 抓取的餐厅评论数据。若需自定义数据,需参考 theophilec/foudinge 仓库中的抓取代码(使用 SQLite、asyncio 和 aiohttp),生成兼容的知识图谱文件。
  2. 导入数据: 将数据文件放入项目指定目录(通常为根目录或配置文件指定的路径)。
  3. 启动清理: 打开网页界面,系统会自动加载数据并显示可视化图谱。重复或错误的实体会以高亮或标记形式呈现。
  4. 手动调整: 点击重复实体,选择“合并”或“删除”,确认后保存更改。
  5. 结果验证: 清理后,图谱会实时更新,确保无遗漏错误。

全文本搜索

  1. 进入搜索模式: 在界面顶部找到搜索框(通常为一个放大镜图标旁边的输入栏)。
  2. 输入关键词: 输入需要查找的实体名称(如餐厅名、人名)或关键词。
  3. 查看结果: 系统会列出匹配项,点击可跳转至对应实体位置。
  4. 高级用法: 支持模糊搜索,例如输入“Gren”可匹配“Grenat”。

结构化编辑

  1. 打开编辑界面: 在图谱视图中,点击需要编辑的节点(如某餐厅的“厨师”字段)。
  2. 修改内容: 在弹出的编辑框中输入新值,例如将“Neil Mahatsry”之前的餐厅从“La Brasserie Communale”改为其他名称。
  3. 保存更改: 点击“保存”按钮,系统会校验数据格式,确保结构一致。
  4. 撤销操作: 若误改,可点击“撤销”按钮恢复上一状态。

编码问题修复

  1. 识别问题: 若界面显示乱码(如“Antoine Joannier”变成“Antoine Joanniér”),表明存在编码错误。
  2. 自动修复: 在设置菜单中选择“修复编码”,系统会尝试将 UTF-8 或其他编码格式标准化。
  3. 手动输入: 若自动修复失败,可手动编辑乱码字段,输入正确字符。

特色功能详解

与 LLM 结合的知识图谱优化

Foudinge Scrub 的核心特色是利用大型语言模型(LLM)生成结构化数据,并通过手动编辑进一步优化。例如,从餐厅评论中提取“Antoine Joannier 在 Grenat 工作前曾在 La Brasserie Communale 任职”时,LLM 会生成 JSON 格式:

{
"Person": {
"name": "Antoine Joannier",
"role": "Host",
"previous_restaurants": ["La Brasserie Communale"]
}
}

用户可在界面中调整此结构,例如添加新字段“current_restaurant”并填入“Grenat”,操作步骤如下:

  1. 选中 JSON 显示的节点。
  2. 点击“添加字段”,输入键值对。
  3. 保存后,图谱会更新并反映新关系。

开源协作

  • 贡献代码: 用户可 fork 仓库,修改代码后提交 pull request。例如,添加新搜索算法或优化界面。
  • 查看文档: 项目根目录的 README 文件提供了基本说明,详细代码逻辑需参考 app.py 和 JavaScript 文件。

使用建议

  • 初次使用: 先运行示例数据,熟悉界面布局和操作逻辑。
  • 大规模数据: 若处理大量评论,建议分批导入,避免浏览器卡顿。
  • 社区支持: 在 GitHub Issues 页面提问,开发者或社区可能提供帮助。

通过以上步骤,用户可快速上手 Foudinge Scrub,高效完成数据清理和知识图谱优化任务。

CDN1
未经允许不得转载:首席AI分享圈 » Foudinge Scrub:从餐厅评论中构建知识图谱

首席AI分享圈

首席AI分享圈专注于人工智能学习,提供全面的AI学习内容、AI工具和实操指导。我们的目标是通过高质量的内容和实践经验分享,帮助用户掌握AI技术,一起挖掘AI的无限潜能。无论您是AI初学者还是资深专家,这里都是您获取知识、提升技能、实现创新的理想之地。

联系我们
zh_CN简体中文