上篇我们谈及了
Whisper,这是一个令人赞叹的自动语音识别模型。其背后的强大支撑,来自于从互联网上精心收集的680,000小时多语言数据训练。据OpenAI介绍,该模型在面对口音、背景噪音以及技术语言时,都展现出了出色的稳健性。它还支持99种不同语言的转录以及这些语言到英语的翻译功能。
深入探讨语音识别技术,我们不得不提及whisper语音识别系统。虽然Open AI开源的whisper系统在语音识别领域有着广泛的应用,且其能够识别不同语音及其所属语种,但该系统运行需要大型模型作为支撑。当我们仅需识别语言文字及其语种时,小型的模型如langid、fasttext等便可以满足需求。
Langid文本语种识别
在推出fasttext之前,langid曾是语种识别库中的佼佼者。它是一个小巧的语种识别库,模型大小仅有2.5MB,但其精度却达到了91.3%以上。尽管其体积小巧,但功能却不容小觑,它可以支持97种文本语种的检测。
使用langid非常简便。通过pip进行安装,然后在cmd命令行中输入相应指令,软件会提示输入文本。接着,我们输入不同语种的文本,langid便会自动检测出文本的语种并显示结果。
我们也可以通过Python代码实现langid的文本语种检测。在使用前,需要安装langid并导入相应的库。之后,利用classify函数进行文本语种检测,代码会打印出识别的语种ISO代码,我们可以根据语种ISO标准进行进一步的操作。
若想提高模型的预测速度,我们可以指定几个语种,让模型在这几个指定语种中进行预测。
更多使用技巧可参考GitHub的开源地址。
Fasttext文本语种识别
Fasttext是一个用于文本分类、识别及单词编码的库。除了前述的单词embedding操作外,我们还可以使用fasttext进行文本的语种分类。下图展示了fasttext与langid在语种分类上的差异。即使是fasttext的小模型,其在速度与精度上也远超langid模型。
Fasttext不仅能够进行语种分类,其支持的文本语种检测数量更是达到了176种。这无疑为研究者与开发者提供了更多的选择与可能。
关于fasttext的文本分类与单词embedding操作,此处不作详细介绍,可参考其官方文档进行操作。
接下来,我们重点介绍基于fasttext的176种文本语种识别的Python代码实现过程。
通过pip安装fasttext库,并从其开源地址上下载文本语种识别的预训练模型lid.176.bin文件。接着,使用load_mode函数加载预训练模型。然后,通过model模型的predict功能进行文本语种的预测操作。其中,参数k=1表示选择概率最大的一个语种。运行代码后,模型会输出预测的文本语种。
附录:文本语种ISO一览