当前位置:   article > 正文

比较两个生产级NLP库:准确性、性能和可扩展性

准确率最高的nlp网络

编者注:文中超链接如果不能访问可以点击“阅读原文”访问本文原页面;可以参考2018年5月21-24日伦敦Strata数据会议上的教学辅导课《使用spaCy和Spark NLP进行自然语言理解》。

这是本系列博客的第三篇,也是最后一篇。这个系列之前的博客比较了两个主要的开源自然语言处理软件库:John Snow Labs的Apache Spark-NLP和Explosion AI的spaCy。在前两篇中,我带着读者一起过了一下训练分词和POS模型的代码,然后在一个基准数据集上运行了这些代码,并评估了一下结果。在这一篇中,我会比较这两个库在其他基准测试上的准确性和性能,同时也会给出这两个库在哪些应用场景里比较适合的建议。

准确性

以下是本系列的第一篇中训练的模型的准确性比较。

640?wx_fmt=png

图1 模型的准确性比较。图片由Saif Addin Ellafi提供

spaCy的预先训练模型在预测英语文本中的词性标记(POS)方面做得很好。如果你的文本是标准的、基于新闻或文章的文本(例如,不是像法律文件、财务报告或医疗记录这样的专业领域的文本),并且是spaCy支持的七种语言之一写成的,用spaCy的预先训练的模式是一个很好的方法。需要注意的是,我的预先训练的模型里包括我自定义的分词器,否则精度(特别是分词的匹配率)将下降(参见图2)。

spaCy自带的预训练模型和Spark-NLP在使用相同训练数据时的表现相似,准确率都在84%左右。

对spaCy的准确性的主要影响似乎不是来自于训练数据,而是来自于其英语vocab的内容。Spark-NLP对语言没有任何的依赖(它是完全语言不可知的),而且只从管道里的标注器中学习。这意味着相同的代码和算法,在训练另外一种语言的数据时,不用改变。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/936798
推荐阅读
相关标签
  

闽ICP备14008679号