指南 3个标注团队操作手册:提升标注速度与质量

Label Studio的Sklearn文本分类器模型

Sklearn文本分类器模型是Label Studio的一个定制化机器学习后端。它利用Scikit-learn库中的逻辑回归模型对文本数据进行分类。该模型特别适用于Label Studio中的文本分类任务,能基于模型预测高效生成预标注。

该模型基于从Label Studio收集的已标注文本进行训练,并利用Label Studio API获取标注任务用于训练。这种与Label Studio的集成实现了无缝高效的标注工作流程,因为当新的标注数据可用时,模型可以重新训练和更新。

开始之前

在开始之前,您必须安装Label Studio ML后端

本教程使用sklearn_text_classifier示例

标注配置

Sklearn文本分类器模型设计用于与Label Studio中文本分类的默认标注配置配合使用。该配置包含一个输出和一个输入。模型会从标注配置中检索这些标签的首次出现,并将其用于预测:

<View>
  <Text name="text" value="$text" />
  <Choices name="label" toName="text" choice="single" showInLine="true">
    <Choice value="positive" />
    <Choice value="negative" />
  </Choices>
</View>

请注意,您必须设置LABEL_STUDIO_HOSTLABEL_STUDIO_API_KEY环境变量才能下载用于训练模型的示例。这些变量应分别指向您的Label Studio实例及其API密钥。有关如何查找Label Studio API密钥的更多信息,请参阅我们的文档

要进行训练,您必须至少标注2个具有不同标签的示例。

  1. 使用预构建的镜像在http://localhost:9090上启动机器学习后端:
docker-compose up
  1. 验证后端是否正在运行:
$ curl http://localhost:9090/
{"status":"UP"}
  1. 在Label Studio中创建一个项目。然后从项目设置的模型页面,连接模型。默认URL是http://localhost:9090

从源码构建(高级)

要从源代码构建ML后端,您需要克隆代码仓库并构建Docker镜像:

docker-compose build

不使用Docker运行(高级)

要在不使用Docker的情况下运行ML后端,您需要克隆代码库并使用pip安装所有依赖项:

python -m venv ml-backend
source ml-backend/bin/activate
pip install -r requirements.txt

然后你可以启动ML后端:

label-studio-ml start ./dir_with_your_model

配置

在运行容器之前,可以在docker-compose.yml中设置参数。

以下通用参数可用:

  • LOGISTIC_REGRESSION_C: 这是逻辑回归的反向正则化强度参数。它是一个浮点数值,可以通过环境变量"LOGISTIC_REGRESSION_C"进行设置。如果未设置,默认值为10
  • LABEL_STUDIO_HOST: 这是Label Studio的主机URL,用于训练。可以通过环境变量"LABEL_STUDIO_HOST"进行设置。如果未设置,默认值为http://localhost:8080
  • LABEL_STUDIO_API_KEY: 这是Label Studio的API密钥,用于训练。可以通过环境变量"LABEL_STUDIO_API_KEY"进行设置。该参数没有默认值,因此必须设置。
  • START_TRAINING_EACH_N_UPDATES: 这是训练开始前所需的更新次数。它是一个整数值,可以通过环境变量"START_TRAINING_EACH_N_UPDATES"进行设置。如果未设置,默认值为10
  • BASIC_AUTH_USER - 指定模型服务器的基础认证用户
  • BASIC_AUTH_PASS - 指定模型服务器的基础认证密码
  • LOG_LEVEL - 设置模型服务器的日志级别
  • WORKERS - 指定模型服务器的工作线程数量
  • THREADS - 指定模型服务器的线程数

自定义

可以通过在./dir_with_your_model目录中添加您自己的模型和逻辑来自定义ML后端。