斯坦福开源Python版NLP库Stanza:涵盖66种语言
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 软件。 初始设置:
文档中会有全面的示例,展示如何通过 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 目录中的训练过程。训练模型运行以下指令: (编辑:惠州站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |