微软公布了ML.NET文本分类API的预览版,这个API的目标是使开源的ML.NET机器学习框架训练自定义文本分类模型变得更容易。
微软说,6月14日推出的ML.NET文本分类API使用了最先进的深度学习技术。ML.NET允许开发者将定制的机器学习模型集成到.NET应用程序中。文本分类是指对文本应用打标签或分类别的过程。常见的用例包括将电子邮件归类为垃圾邮件或非垃圾邮件,将客户评论的情绪分析为正面或负面,以及将标签应用于赞成票。
ML.NET文本分类API由TorchSharp .NET库提供支持,该库提供对libtorch库的访问。而libtorch库支持PyTorch机器学习框架。TorchSharp拥有在.NET中从头开始训练神经网络的低级能力。对于ML.NET来说,TorchSharp的一些复杂性已经被抽象化,这样会使训练更加容易。
在与微软研究院的合作中,微软采用了NAS-BERT(来自变形器的双向编码器表示法)的TorchSharp实现,这是用神经结构搜索获得的BERT的变种,它已被添加到ML.NET中。从这个模型的预训练版本开始,文本分类API使用用户的数据对现有模型进行微调,而不是从头开始建立一个新的模型。
文本分类API是ML.NET的2.0.0和0.20.0预览版本的一部分。除了Microsoft.ML包外,它还需要Microsoft.ML.TorchSharp和TorchSharp-cpu(如果使用CPU)或TorchSharp-cuda-windows或TorchSharp-cuda-linux(如果使用GPU)。
开发人员可以使用Visual Studio中的NuGet包管理器或.NET CLI来安装这些包。该API的代码样本可以在文本分类API笔记中找到。
微软指出,该API仍有一些限制,比如不能使用Evaluate方法来计算评价指标。微软计划对该API进行改进,同时引入其他基于场景的API。