Git Product home page Git Product logo

data-labeling-platform's Introduction

Data-Labeling-Platform


一. 需求分析

项目确定:数据众包服务平台(2C)

有哪些角色:
- 管理员
- 任务发布者
- 标注人员

1 系统总体需求分析(前期讨论成果)

  1. 可以不区分发布者和标注者(【我要发布】 / 【 我要标注】,一个用户可以有两种角色,【一个账号】在【发布者】&【标注者】两个表中通用 暂定:三张表【用户表】【任务表】【接单表】(确定一个任务究竟分给了哪些标注者)

  2. 是否需要管理员,需要审核账号,起到监督作用 / 或者增加一个客服的角色,避免恶意发布内容和消极工作? -需要管理员,对数据进行操作,有任务界面(对订单的处理)和用户界面(对某些不活跃用户/恶意用户等进行处理

  3. 标注者的评级机制(内容发布者给标注者一个评价,加权平均或者简单平均),然后任务发布者设定一个任务的最低评级,以保证标注者完成任务的质量) 如何确定最初评级?一开始需要做一个测评,做张卷子看他的水平怎么样(题数不用太多) 如果用户,如果只发布任务,不用做初始测评,没有初始星级 如果用户需要接单,需要做初始测评,获得初始星级 每次做完任务后,根据任务发布者对标注者的评级,对其评分进行移动平均,历史评级权重0.2,新评分的权重0.8(还需要后续的确定)

  4. 对于任务发布者 任务发布页面(任务开始时间【接单期还剩多久】,任务类型,任务持续时间,任务量,任务单价) 订单管理页面(任务接收状态,任务完成状态,简略数据) 订单详细信息页面(单个订单的详细属性,订单编号,订单任务数,订单标注者数,金额,各个时间段,目前的状态) 结果查询与反馈页面(确认售货/我要退单) 个人信息页面(账户余额,订单信息【我的接单,我的发布】) 登陆页面

  5. 对于任务标注者 订单管理页面,(多种状态标签【未开始,待完成,待支付,待评价,已完成】) 工作页面(保存,提交,交白卷的要提醒) 个人信息页面(账户余额,订单信息【我的接单,我的发布】) 登录页面

  6. 对于管理员 审核订单纠纷页面(收到订单数据,做出最终的决定) 用户处理(权限管理)

  7. 差异化服务 【普通服务】/【高质量服务】,保证用户任务的精度尽可能的高 两个指标【组数】&【每组人数】,【每组人数】保证标注任务的精度,【组数】保证标注任务的速度,组内人做重复的题 或者说提供一个“错误率”参数,最终形成一个系统推荐的,综合了所有工作的最优解,呈现最终的报告给任务发布者, 总的还是起到方便任务发布者去给发布者评级,给平台一个反馈 任务价格:任务星级越高,单价越高;单个标注者标注任务总酬劳=单价*标注数 发布者需要支付的总金额 = 单个标注者任务总酬劳 * 组数 * 每组人数

  8. 如果接单人数不够,设定一个ddl,逾期人数未满就通知任务发布者“人数不足”,建议调整时间

  9. 在发布者的结果与反馈页面,需要加入一个确认订单完成/我要退单的功能,最后由管理员确定是否允许退单

  10. 对于标注者而言,在任务推荐界面,只能看到符合自己星级的任务 搜索任务时:任务搜索引擎,方便标注者找到自己心仪的任务 任务分类:按照打标签分类【文本/语音/图片/视频】 点进去具体任务之后:显示任务的详细信息 我接过的单:(未完成的预计挣多少钱,已完成的挣了多少钱,已完成的给我的评价) 快照:后续打开标注任务,可以跳入到之前保存的标注任务位置

  11. 完成任务后,如何支付款项 发布任务时,需要缴纳这笔任务的保证金,这笔钱就被锁定,不能再被任务发布者移动了 【闲鱼模式】 对于任务标注者,可以缴纳保证金,来保证标注者的信用

  12. Timeline 先发布任务,有一个接任务的窗口期,截止到某个时间段之前标注者可以接任务 发布任务时,标注者需要支付保证金(任务总酬劳的x%),以免其跑单,如果不完成任务就扣除其保证金【如果在任务发布截止前退出,仍会返还保证金;如果发布者撤销了任务发布,保证金也会退还】 【发布者在发布任务时需要支付全款,存储在平台的担保账户中】 人满后,仍需要等到发布者设定的任务开始时间,标注者才可以还是标注 任务有一个截止时间, 如果发布者不给标注者评分(xx小时之后,与任务量无关,评价时间都设定为7天),那么就默认给满分

  13. 标注任务格式: 视频要求发布者只能上传MP4格式

2 系统各部分功能需求分析

根据总体的需求分析归纳总结出各部分的功能,可以概括为登录管理,任务管理,订单管理,任务搜索,用户信息管理五个部分。各部分具体需求分析如下

2.1 登录管理需求分析

  • 任务发布者&标注者
    • 注册,注册时不用区分是发布者还是标注者
    • 登录,未登录的用户只能浏览部分界面
  • 管理员
    • 权限管理
      • 授予或者取消用户发布任务,接受任务的权限

2.2 任务管理需求分析

  • 任务发布者

    • 任务发布
      • 选择任务模板:共分为文本、音频、视频、图片四大类。其中包括文本情感分析,图片分类,相关性判断等任务类型
      • 添加数据:添加符合格式要求的数据,系统会对数据的格式做出要求
      • 设置任务要求:可以设定完成任务需要A×B个标注者,A代表组数,不同组之间做同样的任务;B代表每组的人数,每组不同的人按照任务量均分完成任务。
      • 设置时间要求:
        • 停止发布日期:到期停止任务的发布。如果任务停止发布还没有规定数量的标注者接单则取消任务。
        • 任务完成日期:规定提交任务的日期。
      • 设置星级要求:规定能接取该任务的标注者的最低星级
      • 设置任务单价和任务数量:根据星级要求有不同的最低单价,当然金额越高会有越多的人积极接单。
      • 设置任务描述:包括标题,内容简介等内容
      • 预付款:按照任务的总金额从账户里扣除相应的余额,如果余额不足则不能发布任务
  • 标注者

    • 任务查看
      • 可以查看任务的具体信息,如时间要求,单价,任务描述等信息
    • 任务的接取
      • 如果是第一次接取需要做一套题来获得初始的星级
      • 接取时需要支付一笔保证金(根据任务总价值的的一定比例交付)来保证信用
    • 数据标注
      • 任务开始后处理任务数据,提供统一的操作界面
      • 任务处理系统提供快照机制,下一次打开界面从上次结束的地方开始

2.3 订单管理需求分析

  • 任务发布者
    • 订单查看(发布的任务)
      • 订单列表
        • 查看任务的状态:分为发布中,处理中,待评价,已完成
        • 任务名称
        • 其他:已接单人数,任务进度等
      • 订单详细信息:订单号,单价,任务量,任务描述,截止日期,人数要求,星级要求等
    • 订单取消
      • 任务在发布期可以取消(?)
      • 任务开始后取消要支付一笔违约金
    • 结果反馈:查看任务处理结果,给予反馈
      • 订单结束:提交评价完成订单
      • 订单投诉:不满意结果,发起投诉
  • 标注者
    • 订单查看(接受的任务)
      • 订单列表
        • 查看任务的状态:分为发布中,处理中,待评价,已完成
        • 任务名称
        • 其他:已接单人数,任务进度等
      • 订单详细信息:订单号,单价,任务量,任务描述,截止日期,人数要求,
    • 订单取消
      • 任务在发布期可以取消(?)
      • 任务开始后取消要支付一笔违约金
    • 结果反馈:查看任务处理结果,给予反馈
      • 订单结束:完成订单
      • 订单投诉:不满意评价,发起投诉
  • 管理员
    • 处理订单纠纷:查看待处理的订单纠纷以及该订单的所有信息,做出反馈。
    • 反馈选项:
      • 退还金额
      • 修改评价

2.4 任务搜索需求分析

  • 任务分类:按照大类分为文本,音频,视频,图片四类。
  • 任务搜索

2.5 用户信息管理需求分析

  • 个人信息查看:
    • 用户id,用户名,密码,账户余额,用户星级,手机号,性别*,各种任务数量,标注偏好
  • 个人信息修改
    • 修改用户名,密码,手机号,性别

3 数据库设计

实体&属性

1. 用户(用户id,用户名,密码,账户余额,用户星级,手机号,性别*,各种任务数量,标注偏好,)
2. 所有任务(任务编号,发布者id(FK),任务名称,数据类型(文本,视频,图片,音频),任务类型(翻译,分类),任务组数,任务每组人数,任务描述,任务数据条数,任务星级,任务单价,任务招募发布时间,任务招募截止时间&任务开始时间,任务截止时间,任务状态)
3. 用户——任务(任务编号,标注者id,组号,已完成标注数量,任务评分,结果反馈)
4. 任务详情(任务编号,标注的标签)
5. 任务结果(任务编号,标注者id(fk),题号,结果)

data-labeling-platform's People

Contributors

w-rudder avatar

Stargazers

 avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.