python nlp_斯坦福开源顶级Python NLP库:支持66种语言,NER提升显著

开源自然语言处理(NLP)工具包的出现推动了研究人类语言的计算方法的快速发展。

然而现有的NLP工具包,例如CoreNLP 、Flair、spaCy 和UDPipe等本身都存在一些缺陷:

首先,现有工具包通常仅支持几种主要语言。这极大地限制了处理多语言文本的能力;

其次,广泛使用的工具有时会针对准确性进行优化,可能会误导下游应用程序;

第三,他们有时会假设输入文本已使用其他工具进行了标记或注释,但缺乏使用统一框架处理原始文本的能力。这限制了它们对来自不同来源的文本的广泛适用性;

针对以上缺点,斯坦福的研究人员开源了最新的NLP库:Stanza。

Stanza是Python自然语言分析软件包,它包含可以在 pipeline中使用的工具,

可以将包含人类语言文本的字符串转换为句子和单词列表,生成这些单词的基本形式,它们的词性和词法特征,给予句法结构依赖性解析,并识别命名实体。该工具包被设计为使用“通用依赖”关系在70多种语言之间并行。

Stanza由高度精确的神经网络组件构建而成,这些组件也可以使用您自己的注释数据进行有效的训练和评估。这些模块建立在PyTorch库之上。如果在支持GPU的计算机上运行此系统,将会获得更快的性能。

另外,Stanza包括一个CoreNLP Java包的Python接口,该接口进一步扩展了其功能,以涵盖其他任务,例如共指解析和关系提取。

概括起来,Stanza具有以下特点:

原生Python实现,只需花费很少的精力即可完成设置;

完整的神经网络pipeline,可进行强大的文本分析,包括标记化,多词标记(MWT)扩展,词形化,词性(POS)和词法特征标记,依赖项解析以及命名实体识别;

支持66种(人类)语言的预训练神经模型;

一个稳定的,官方维护的CoreNLP Python接口。

性能方面,研究人员在总共112个数据集上训练了Stanza,其中包括Universal Dependencies树库和其他多语种语料库,并显示出相同的神经体系结构可以很好地泛化并在所有测试的语言上实现较好性能。

ba1295eae94b4d9eba38752490706f48

Stanza与其他流行的自然语言处理工具包的功能比较。

此外,为了提高NER组件的性能,研究人员将Stanza与Flair和spaCy进行了比较。

对于spaCy,只要找到在同一数据集上训练过的模型,研究人员就会报告其公开可用的预训练模型的结果,否则,他们们将使用默认的超参数在其数据集上对其模型进行训练。

对于Flair来说,由于其可下载模型在与规范模型不同的数据集版本上进行了预训练,因此研究人员使用自己报告的最佳超参数对我们自己的数据集拆分中的所有模型进行了再训练。所有测试结果如下表:

8332a26094404df9a7f6e3e2269f906c

跨不同语言和语料库的NER性能比较,报告的所有分数均为微平均测验F1。

Github上目前提供了用于66种语言的源代码,文档和经过预训练的模型:

https://stanfordnlp.github.io/stanza/

论文:

https://www.arxiv-vanity.com/papers/2003.07082/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值