QUICK_START.md 5.8 KB

标注平台快速开始指南

🚀 快速开始

1. 启动服务

启动后端服务器:

cd backend
python -m uvicorn main:app --reload --host 0.0.0.0 --port 8000

启动前端服务器:

cd web
yarn nx serve lq_label

2. 初始化示例数据

cd backend
python init_sample_data.py

这将创建 3 个示例项目和 6 个示例任务:

  1. 情感分析标注项目 - 3 个文本分类任务
  2. 命名实体识别项目 - 2 个 NER 任务
  3. 文本高亮标注项目 - 1 个文本高亮任务

3. 访问应用

打开浏览器访问:http://localhost:4200

📝 标注流程演示

步骤 1:查看项目列表

  1. 访问 http://localhost:4200/projects
  2. 你会看到 3 个示例项目

步骤 2:查看项目详情

  1. 点击"情感分析标注项目"
  2. 查看项目信息和关联的任务列表
  3. 你会看到 3 个待标注的任务

步骤 3:开始标注

  1. 在任务列表中找到"文本分类任务-1"
  2. 点击"开始标注"按钮
  3. LabelStudio 编辑器将加载

步骤 4:进行标注

文本分类示例:

  • 文本:这家餐厅的服务态度非常好,菜品也很美味,环境优雅,强烈推荐!
  • 操作:选择"正面"选项
  • 点击"保存"按钮

命名实体识别示例:

  • 文本:2024年1月15日,张三在北京大学参加了人工智能研讨会。
  • 操作:
    1. 选中"2024年1月15日",标记为"时间"
    2. 选中"张三",标记为"人名"
    3. 选中"北京大学",标记为"机构名"
  • 点击"保存"按钮

步骤 5:查看结果

  1. 返回任务列表
  2. 查看任务状态已更新为"进行中"
  3. 进度已增加

🎯 示例项目详情

1. 情感分析标注项目

目标: 对用户评论进行情感分类

标注类型: 单选分类

类别:

  • 正面
  • 负面
  • 中性

示例任务:

任务名称 文本内容 预期标注
文本分类任务-1 这家餐厅的服务态度非常好... 正面
文本分类任务-2 产品质量太差了... 负面
文本分类任务-3 这款手机性能一般... 中性

2. 命名实体识别项目

目标: 识别文本中的实体

标注类型: 文本高亮标注

实体类型:

  • 人名(红色)
  • 地名(蓝色)
  • 机构名(绿色)
  • 时间(橙色)

示例任务:

任务名称 文本内容 预期实体
命名实体识别任务-1 2024年1月15日,张三在北京大学... 时间、人名、机构名
命名实体识别任务-2 李明是清华大学的教授... 人名、机构名

3. 文本高亮标注项目

目标: 标记文本中的关键信息

标注类型: 文本高亮标注

标签类型:

  • 重要信息(黄色)
  • 关键词(浅蓝色)
  • 问题(粉色)

🔧 测试工具

检查示例数据

cd backend
python test_annotation.py check

测试完整工作流程

cd backend
python test_annotation.py

这将自动测试:

  1. 创建项目
  2. 创建任务
  3. 创建标注
  4. 查询标注
  5. 更新任务状态
  6. 清理测试数据

📊 数据库查询

查看项目数量

cd backend
python -c "import sqlite3; conn = sqlite3.connect('annotation_platform.db'); cursor = conn.cursor(); cursor.execute('SELECT COUNT(*) FROM projects'); print(f'Projects: {cursor.fetchone()[0]}'); conn.close()"

查看任务数量

cd backend
python -c "import sqlite3; conn = sqlite3.connect('annotation_platform.db'); cursor = conn.cursor(); cursor.execute('SELECT COUNT(*) FROM tasks'); print(f'Tasks: {cursor.fetchone()[0]}'); conn.close()"

查看标注数量

cd backend
python -c "import sqlite3; conn = sqlite3.connect('annotation_platform.db'); cursor = conn.cursor(); cursor.execute('SELECT COUNT(*) FROM annotations'); print(f'Annotations: {cursor.fetchone()[0]}'); conn.close()"

🎨 LabelStudio 编辑器使用技巧

文本分类

  1. 阅读文本内容
  2. 点击对应的分类选项
  3. 点击"保存"按钮

命名实体识别

  1. 用鼠标选中要标注的文本
  2. 在弹出的标签列表中选择实体类型
  3. 重复步骤 1-2 标注所有实体
  4. 点击"保存"按钮

文本高亮

  1. 用鼠标选中要标注的文本
  2. 在弹出的标签列表中选择标签类型
  3. 重复步骤 1-2 标注所有需要的文本
  4. 点击"保存"按钮

❓ 常见问题

Q: 编辑器无法加载?

A: 检查以下几点:

  1. 前端服务器是否正在运行(等待编译完成,看到 "webpack compiled" 消息)
  2. 浏览器控制台是否有 JavaScript 错误(不是 webpack 警告)
  3. 项目配置是否正确(XML 格式)
  4. 等待编辑器初始化完成(可能需要几秒钟)

Q: 前端编译有很多警告?

A: 这是正常的:

  1. Sass 弃用警告(@import 规则)是来自 UI 库的,不影响功能
  2. Source map 警告也不影响功能
  3. 只要看到 "webpack compiled with X warnings" 就表示编译成功
  4. 首次编译可能需要 30-60 秒,请耐心等待

Q: 保存标注时提示错误?

A: 检查以下几点:

  1. 是否完成了标注(标注结果不能为空)
  2. 后端 API 是否正常工作
  3. 查看浏览器控制台的错误信息

Q: 如何清理示例数据?

A: 删除数据库文件:

cd backend
rm annotation_platform.db

然后重启后端服务器。

📚 更多资源

🎉 下一步

现在你已经了解了基本的标注流程,可以:

  1. 创建自己的项目和任务
  2. 自定义标注配置
  3. 邀请团队成员进行标注
  4. 导出标注结果进行分析

祝标注愉快!🚀