网易首页 > 网易号 > 正文 申请入驻

Manning大神牵头,斯坦福开源Python版NLP库Stanza:涵盖66种语言

0
分享至

  机器之心报道

  机器之心编辑部

对于斯坦福 NLP 库,我们一定不会陌生,但是这一库主要基于 Java。近日,Christopher Manning 所在的斯坦福 NLP 组开源了 Python 版的工具包——Stanza,让 Python 生态系统又增添了一员 NLP 大将。

  我们都知道斯坦福 NLP 组的开源工具——这是一个包含了各种 NLP 工具的代码库。近日,他们公开了 Python 版本的工具,名为 Stanza。该库有 60 多种语言的模型,可进行命名实体识别等 NLP 任务。一经开源,便引起了社区的热议。李飞飞就在推特上点赞了这个项目。

  目前,该项目可直接从 pip 进行安装。

  项目地址:https://github.com/stanfordnlp/stanza

  现有模型和支持的 NLP 任务

  Stanza 包含了 60 多种语言模型,在 Universal Dependencies v2.5 数据集上进行了预训练。这些模型包括简体、繁体、古文中文,英语、法语、西班牙语、德语、日语、韩语、阿拉伯语等,甚至还有北萨米语等不太常见的语言。

  除了语言模型外,Stanza 还支持了数十种语言的敏敏实体识别模型。完整列表如下:

  据 Stanza 的论文介绍,Stanza 涵盖了多个自然语言处理任务,如分词、词性标注、依存句法分析、命名实体识别等。此外,它还提供了 Pyhton 界面,用来和我们熟悉的 Stanford CoreNLP 库进行交互,从而扩展了已有的功能。

  另外值得注意的是,Stanza 是完全基于神经网络 pipeline 的。研究者在 112 个数据集上进行了预训练,但使用的是同一个模型架构。他们发现,同样一个神经网络架构可以泛化得很好。网络在所有语言上的性能都很好。整个神经网络 pipeline 都是通过 PyTorch 实现的。

  运行 Stanza

  神经网络 pipeline 入门

  要运行首个 Stanza pipeline,只需要在 python 解释器 z 中进行操作:

  >>> import stanza>>> stanza.download('en') # This downloads the English models for the neural pipeline# IMPORTANT: The above line prompts you before downloading, which doesn't work well in a Jupyter notebook.# To avoid a prompt when using notebooks, instead use: >>> stanza.download('en', force=True)>>> nlp = stanza.Pipeline() # This sets up a default neural pipeline in English>>> doc = nlp("Barack Obama was born in Hawaii. He was elected president in 2008.")>>> doc.sentences[0].print_dependencies()

  而最后一条指令将输出当时输入字符串中第一个句子中的词(或是 Stanza 中表示的 Document),以及在该句的 Universal Dependencies parse(其「head」部分)中控制该词的索引,以及词之前的依赖关系。输出如下:

  ('Barack', '4', 'nsubj:pass')('Obama', '1', 'flat')('was', '4', 'aux:pass')('born', '0', 'root')('in', '6', 'case')('Hawaii', '4', 'obl')('.', '4', 'punct')

  入门指南里会有更多详细信息。

  访问 Java Stanford Core NLP 软件

  除了神经 Pipeline,该软件包还包括一个官方包,用于使用 Python 代码访问 Java Stanford CoreNLP 软件。

  初始设置:

  下载 Stanford CoreNLP 以及想要使用的语言模型;

  将模型放入分配的文件夹中;

  通过设置 CORENLP_HOME 环境变量(如在*nix 中):export CORENLP_HOME=/path/to/stanford-corenlp-full-2018-10-05 告诉 Python 代码 Stanford CoreNLP 所在的位置。

  文档中会有全面的示例,展示如何通过 Stanza 使用 CoreNLP,并从中获取注释。

  训练 Neural Pipeline 模型

  当前为所用的 Universal Dependencies 库 V2.5 提供模型,并为几种广泛使用的语言提供 NER 模型。

  批量处理最大化 Pipeline 速度

  为了最大程度地提供速度方面的性能,必须针对成批的文档运行 Pipeline。每一次单在一个句子上运行一个 for 循环将 fei'c 非常慢,目前解决方法是将文档连在一起,每个文档见用空行(及两个换行符\n\n)进行分割。分词器将在句子中断时去识别空白行。

  训练自己的 neural pipelines

  该库中所有神经模块都可以使用自己的数据进行训练。如 Tokenizer、multi-word token(MWT)扩展器、POS/特征标记器等。目前,不支持通过 pipeline 进行模型训练,因此需要克隆 git 存储库并从源代码中运行训练。

  以下为训练神经 pipeline 的示例,可以看到项目中提供了各种 bash 脚本来简化 scripts 目录中的训练过程。训练模型运行以下指令:

  bash scripts/run_${module}.sh ${corpus} ${other_args}

  其中 ${module} 是 tokenize, mwt, pos, lemma,depparse 之一,是主体的全名; ${corpus} 是训练脚本所允许的其他参数。

  例如,可以使用以下指令在 UD_English-EWT 语料库上训练时批量处理大小为 32,而终止率为 0.33:

  bash scripts/run_tokenize.sh UD_English-EWT --batch_size 32 --dropout 0.33

  注意对于 dependency parser, 还需要在训练/开发数据中为使用的 POS 标签类型指定 gold|predicted:

  bash scripts/run_depparse.sh UD_English-EWT gold

  如果使用了 predicted,训练后的标记器模型会首先在训练/开发数据上运行以便生成预测的标记。

  默认情况下,模型文件将在训练期间保存到 save_models 目录(也可以使用 save_dir 参数进行更改)。

  架构和与现有库的对比

  Stanza 的论文提供了整个代码库的架构。可以看到,它以原始文本为输入,能够直接输出结构化的结果。

  Stanza 的神经网络部分架构。除了神经网络 pipeline 以外,Stanza 也有一个 Python 客户端界面,和 Java 版的 Stanford CoreNLP 进行交互。

  与此同时,论文还将 Stanza 和现有的 NLP 工具,如 spaCy 等进行了对比。可以看到,Stanza 是目前涵盖语言数量最多,达到 SOTA 且完全基于神经网络框架的库。

  和现有 NLP 库的对比。

  最后,研究者还将 Stanza 上 NLP 任务的性能和现有的基线进行对比,发现 Stanza 大部分情况下都超过了 SOTA。

  和已有基线性能的对比。可以看到,Stanza 在多个语言多个任务中都实现了 SOTA。

  参考链接:https://arxiv.org/abs/2003.07082

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
第一个帮助中国的日本企业,不留余力提供技术!如今怎么样了?

第一个帮助中国的日本企业,不留余力提供技术!如今怎么样了?

博览历史
2025-10-07 17:13:05
万万没想到,一个母亲节,就将郭麒麟的尴尬处境暴露无遗

万万没想到,一个母亲节,就将郭麒麟的尴尬处境暴露无遗

凛若秋霜
2026-05-11 14:03:53
一旦战争,美军敢用战斧导弹打中国吗?张召忠:能令它掉头打美国

一旦战争,美军敢用战斧导弹打中国吗?张召忠:能令它掉头打美国

阿嘵田侃故事
2026-05-12 05:28:47
英国的大变化:就连苏格兰也坐不住了

英国的大变化:就连苏格兰也坐不住了

寰宇大观察
2026-05-11 17:57:41
高芙救赛点逆转约维奇进八强,卡林首败奥胖拒绝握手引发争议

高芙救赛点逆转约维奇进八强,卡林首败奥胖拒绝握手引发争议

网球之家
2026-05-11 23:58:34
两天新增超2000套!南京学区房,彻底变天

两天新增超2000套!南京学区房,彻底变天

地产锐评
2026-05-11 18:34:09
根本卖不掉!连续6个一字跌停,封单超百万手,有人已亏91万

根本卖不掉!连续6个一字跌停,封单超百万手,有人已亏91万

财经智多星
2026-05-11 15:26:15
西汉姆联就挑战PGMOL做出重大法律决定 | 西汉姆联新闻

西汉姆联就挑战PGMOL做出重大法律决定 | 西汉姆联新闻

绿茵情报局
2026-05-11 22:20:05
日经亚洲突然爆出重磅消息!中国给国内所有芯片厂下一道"死命令"

日经亚洲突然爆出重磅消息!中国给国内所有芯片厂下一道"死命令"

阿七说史
2026-05-11 15:23:09
油价飙升,莫迪呼吁全民:居家办公、别买黄金、取消海外婚礼

油价飙升,莫迪呼吁全民:居家办公、别买黄金、取消海外婚礼

红星新闻
2026-05-11 12:09:16
利好曼联!世界级中场亲承加盟,5 年合同接近谈妥

利好曼联!世界级中场亲承加盟,5 年合同接近谈妥

澜归序
2026-05-12 02:35:37
穿极简风的夏天,是真高级!

穿极简风的夏天,是真高级!

Yuki女人故事
2026-05-11 23:07:08
彻底崩了!伊朗开火了!

彻底崩了!伊朗开火了!

大嘴说天下
2026-05-11 19:19:45
深圳航空再接收一架“最赚钱飞机”

深圳航空再接收一架“最赚钱飞机”

Thurman在昆明
2026-05-11 18:09:54
没有外援就拔刀相向?神权杖硬刚枪杆子,塔利班进入内斗阶段!

没有外援就拔刀相向?神权杖硬刚枪杆子,塔利班进入内斗阶段!

寰球经纬所
2026-05-10 10:55:10
两年服役8艘盾舰,吊打美俄、接近中国,印度啥时候这么神速了?

两年服役8艘盾舰,吊打美俄、接近中国,印度啥时候这么神速了?

咸鱼金脑袋
2026-05-12 05:53:34
中国大学“校史虚构大赛”:谁在争抢“第一”?

中国大学“校史虚构大赛”:谁在争抢“第一”?

深度报
2026-05-09 23:35:25
45岁独身男子病逝,73岁叔叔称每天陪伴侄子治疗却无法继承房产和15万存款,“被告知不属于法定继承人”;已起诉民政局要求分割遗产

45岁独身男子病逝,73岁叔叔称每天陪伴侄子治疗却无法继承房产和15万存款,“被告知不属于法定继承人”;已起诉民政局要求分割遗产

都市快报橙柿互动
2026-05-11 00:20:38
《陈翔六点半》人走茶凉,赚不到钱球球退出,根本原因早就注定了

《陈翔六点半》人走茶凉,赚不到钱球球退出,根本原因早就注定了

汪巗的创业之路
2026-05-06 12:26:17
苹果iOS/iPadOS 26.5正式版发布

苹果iOS/iPadOS 26.5正式版发布

IT之家
2026-05-12 01:45:58
2026-05-12 07:47:00
机器之心Pro incentive-icons
机器之心Pro
专业的人工智能媒体
12970文章数 142648关注度
往期回顾 全部

科技要闻

黄仁勋:你们赶上了一代人一次的大机会

头条要闻

女子连上20多天瑜伽课被教练踢出群聊:天天来 不累吗

头条要闻

女子连上20多天瑜伽课被教练踢出群聊:天天来 不累吗

体育要闻

梁靖崑:可能是最后一届了,想让大家记住这个我

娱乐要闻

“孕妇坠崖案”王暖暖称被霸凌协商解约

财经要闻

宗馥莉罢免销售负责人 部分业务将外包

汽车要闻

吉利银河“TT”申报图曝光 电动尾翼+激光雷达

态度原创

教育
游戏
旅游
房产
数码

教育要闻

有公费海外交换机会的院校(妈妈!免费旷野!

计划报废?玩家质疑为什么PS5越更新画质越差!

旅游要闻

韩媒:“中国游”大热,韩国新增多条赴华航线

房产要闻

产业赋能教育!翰林府与北师大的这场签约,绝不那么简单!

数码要闻

苹果iPadOS 17.7.11正式版发布

无障碍浏览 进入关怀版