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_HOST
和LABEL_STUDIO_API_KEY
环境变量才能下载用于训练模型的示例。这些变量应分别指向您的Label Studio实例及其API密钥。有关如何查找Label Studio API密钥的更多信息,请参阅我们的文档。
要进行训练,您必须至少标注2个具有不同标签的示例。
使用Docker运行(推荐)
- 使用预构建的镜像在
http://localhost:9090
上启动机器学习后端:
docker-compose up
- 验证后端是否正在运行:
$ curl http://localhost:9090/
{"status":"UP"}
- 在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后端。