通过逐步指南构建基于音频的机器学习分类模型,用于最常见的英语口音,并通过Hugging Face使其实时化
在我们日益互联的世界中,沟通无边界。随着不同社区跨越边界和文化进行互动,理解口音已成为有效沟通的重要组成部分。准确的英语口音分类系统有潜力弥合语言差距,提升语音识别系统,改进语言学习工具,甚至在个性化用户体验方面发挥作用。下面,我将详细描述如何开发这样的系统,为促进无缝和包容性沟通提供众多应用。
选择数据、训练模型并将其发送到HuggingFace代码库的全部端到端代码公开可用此处。下面,我将描述最重要的步骤。
数据选择、采样和转换
分析基于Kaggle的版本的Mozilla Common Voice数据集,该数据集包含约500小时的语音录音,具有不同的说话者人口统计信息(包括说话者口音)。该数据集按照CC0:公共领域许可证进行分发。
基于口音的数据样本分布:
美国 30997英格兰 14938印度 4490澳大利亚 4287加拿大 3901苏格兰 1556非洲 1173新西兰 1153爱尔兰 944菲律宾 326威尔士 262百慕大 196马来西亚 182新加坡 124香港 99南大西洋 83
基于这个分布,我选取了最常见的5种口音——美国、英格兰、印度、澳大利亚和加拿大——并对这些选项进行了欠采样以获得样本分布:
# 随机欠采样,除了少数类别以外的所有类别rus = RandomUnderSampler(random_state=83, sampling_strategy='not minority')y = dd[['label']]dd = dd.drop(['label']…