【IT168 资讯】这个内容是一个分步指南,指导如何在20分钟内使用机器学习(最终达到97%的准确率)建立语言检测模型。
语言检测对机器学习来说是一个很好的用例,更具体地说,就是用于文本分类。给定来自电子邮件、新闻文章、语音到文本功能的输出或其他任何地方的文本,语言检测模型会告诉您它是什么语言。
这是快速对信息进行分类和排序并应用特定语言的附加工作流程层的好方法。例如,如果要对Word文档应用拼写检查,则首先必须为正在使用的字典选择正确的语言。否则,你会发现拼写检查器给出的答案是错误的。
其他用例可能包括将电子邮件路由到位于正确地理位置的客户服务部门,将正确的字幕或隐藏式字幕应用于视频,或对正在分析的文本应用其他语言特定的文本分类。
看到这你应该很清楚,语言检测真的很有用,让我们继续谈谈如何快速完成任务。
从这个数据集开始吧, https://cloud.google.com/prediction/docs/language_id.txt
它基本上是一个带有英文、法文和西班牙文样本的.csv。目标是看看是否可以训练机器学习模型来理解这些语言之间的差异,然后再给出一些新的文本的同时,预测它所使用的语言。
所以这儿做的第一件事就是把一个机器学习模型构建器,在Docker容器中运行,它有一个简单的API。这花了不到一分钟。
终端的输出
然后,克隆并下载了这个方便的工具,使您可以轻松地在计算机上用文本文件对它进行训练,这花了一分钟左右的时间。
下一步是将CSV转换为文本文件,以便可以轻松地训练Classificationbox。
一个老道的开发人员可以跳过这一步,只解析CSV文件,并直接从那里对分类框进行API调用。
以下是作者写的一些不太好的Go代码。
运行此脚本后,硬盘上的文件夹会以不同的语言命名,并且每个文件夹内都有包含语言样本的文本文件。花了大约10分钟来编写脚本并运行它。
有趣的部分要开始了。Classificationbox已启动并运行,然后我们在语言文件夹的父目录上运行imgclass。花费大约3秒钟时间:
1.处理所有样本
2.将20%的样本分成验证集
3.用训练集训练分类箱
4.使用验证集进行验证
以下是得到的结果:
97%!这对于只花20分钟训练语言检测机器学习模型来说是非常好的。
需要注意的一件重要的事情是类不平衡。每个类都有不同数量的样本,他们不遵循训练模型的非常好的实践。理想情况下,每个类中都有相同数量的例子。
关键是,机器学习最适合实验。强烈建议大家尝试使用Machine Box或其他工具。给定一个好的数据集,创建自己的机器学习/分类模型其实没那么难。
什么是Machine Box?
Machine Box将非常先进的机器学习功能置于Docker容器中,因此开发人员可以非常快速地将自然语言处理、面部检测、对象识别等轻松集成到您自己的应用程序中。
它们是按比例构建的,所以当你的应用程序真正起飞时,只需在水平方向上添加更多盒子,即可无限扩展。当然,它比任何云服务都便宜(而且它们可能会更好),并且您的数据也不会离开基础架构。