加入收藏 | 设为首页 | 会员中心 | 我要投稿 惠州站长网 (https://www.0752zz.com.cn/)- 办公协同、云通信、物联设备、操作系统、高性能计算!
当前位置: 首页 > 运营 > 正文

斯坦福开源Python版NLP库Stanza:涵盖66种语言

发布时间:2021-02-26 13:22:19 所属栏目:运营 来源:互联网
导读:Stanza 的论文介绍,Stanza 涵盖了多个自然语言处理任务,如分词、词性标注、依存句法分析、命名实体识别等。此外,它还提供了 Pyhton 界面,用来和我们熟悉的 Stanford CoreNLP 库进行交互,从而扩展了已有的功能。 另外值得注意的是,Stanza 是完全基于神

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

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

运行 Stanza

神经网络 pipeline 入门

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

 

ava 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 非常慢,目前解决方法是将文档连在一起,每个文档见用空行(及两个换行符nn)进行分割。分词器将在句子中断时去识别空白行。

训练自己的 neural pipelines

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

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


(编辑:惠州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

推荐文章
    热点阅读