项目介绍:voice-safety-classifier
voice-safety-classifier项目是一个大型分类模型,旨在推动不当言论检测与分类研究的发展。它是基于人工精心构建的真实世界数据集训练而成,并可作为相关研究的新基准。
模型描述
起初,voice-safety-classifier模型采用的是WavLM base plus的原始权重,然后进一步通过多标签分类的方式,在共计2374小时的语音聊天音频片段上进行了微调。这些音频片段是通过合成数据流水线自动标记的,具体细节可以参见我们的博客文章。
该模型输出一个n×6的输出张量,其中推断的标签包括粗言秽语(Profanity)
、约会与色情(DatingAndSexting)
、种族歧视(Racist)
、欺凌(Bullying)
、其他(Other)
、无违规(NoViolation)
。‘其他’类标签涵盖了一些发生率较低的政策违规类别,如毒品和酒精或自残,这些都被归为一个单独的类别。
评估数据集
为了评估该模型的表现,我们使用了一个由人工标注标签的数据集。该数据集中包含了9795个样本,其类别分布如下:
类别 | 示例数量 | 时长(小时) | 数据集占比 |
---|---|---|---|
粗言秽语 | 4893 | 15.38 | 49.95% |
约会与色情 | 688 | 2.52 | 7.02% |
种族歧视 | 889 | 3.10 | 9.08% |
欺凌 | 1256 | 4.25 | 12.82% |
无违规 | 4185 | 9.93 | 42.73% |
在所有类别上设定相同的阈值,把模型视作针对所有四种不当言论类别(粗言秽语
、约会与色情
、种族歧视
、欺凌
)的二元分类器时,模型的二值化平均精确度达到了94.48%。
使用说明
要运行推理文件,需要先安装相关依赖,可以使用以下命令:
pip install -r requirements.txt
推理文件中包含了一些有用的辅助函数,用于预处理音频文件以进行正确的推理。运行推理文件的命令如下:
python inference.py --audio_file <your audio file path> --model_path <path to Huggingface model>
模型权重可以从模型发布页面下载,或从HuggingFace的roblox/voice-safety-classifier
中获取。如果未指定model_path
,则模型将直接从HuggingFace加载。