跳转到主要内容

结合不同NLP管道的标注器

项目描述

使用选定的工具链自动标注自然语言

Version License: MIT GitHub Workflow Status codecov Quality Gate Status Language Code style: black OpenSSF Best Practices

该项目刚刚发布第一个版本,仍在开发中。

描述

《nlpannotator》包作为一个模块化工具链,用于将不同的自然语言处理(nlp)工具结合起来标注文本(分句、分词、词性(POS)和词元)。

可以组合的工具包括

  • spaCy(分句、分词、POS、词元)
  • stanza(分句、分词、POS、词元)
  • SoMaJo(分句、分词)
  • Flair(POS)
  • Treetagger(分词、POS、词元)这些工具可以以任何所需的方式组合,以实现最大效率或准确性。

安装

PyPi安装项目和其依赖项

pip install nlpannotator

语言模型需要单独安装。您可以使用此处提供的便利脚本(安装spaCy和stanza实现的所有语言的全部语言模型)

该包还使用了Treetagger。您可以使用shell中的treetagger_install命令安装依赖项,或者在其Python中调用它

import nlpannotator.install_treetagger
nlpannotator.install_treetagger.install_tagger()

选项

所有输入选项都提供在输入字典中。可以使用两种预置的工具链:使用 spaCyfast 用于所有标注;使用 SoMaJoaccurate 进行句子分割和分词,以及使用 stanza 进行词性标注和词形还原;以及 手动,在这种情况下可以使用 spaCy、stanza、SoMaJo、FlairTreetagger 的任何组合,前提是工具支持所选标注和语言。

关键词 默认设置 可能选项 描述
输入 example_en.txt 包含标注原始文本的文本文件名称
corpus_name test 生成的语料库名称
语言 en 见下文 要标注的文本语言
处理选项 手动 fast、accurate、手动 选择工具管道 - fastaccurate 为您提供了良好的默认选项(英语)
处理类型 句子分割、分词、词性标注、词形还原 见下文
工具 spacy、spacy、spacy、spacy 见下文 用于四种标注类型的工具
输出格式 xml xml、vrt 生成的标注文本文件的格式
编码 yes 是、否 直接将标注文本文件编码到 cwb

工具

可用的标注工具列于下文,可以使用以下关键词进行设置

处理器

可用的处理器取决于所选工具。以下是可能选项的摘要

工具 可用的处理器
spacy 句子分割、分词、词性标注、词形还原
stanza 句子分割、分词、词性标注、词形还原
somajo 句子分割、分词
flair 词性标注
treetagger 分词、词性标注、词形还原
某些处理器相互依赖。例如,词性标注词形还原 仅在 句子分割分词 之后才可行。分词 依赖于 句子分割

语言

可用的语言取决于所选工具。迄今为止,以下语言已添加到管道中(可能还有其他语言模型可用于相应工具,但尚未添加到此包中 - 对于 stanza,管道仍将运行并在需要时加载模型)。

工具 可用的语言
spacy en、de、fr、it、ja、pt、ru、es
stanza 可用的 stanza 模型 需求加载
somajo en、de
flair en、de
treetagger en、de、fr、es(分词和词性标注/词形还原)
treetagger bg、nl、et、fi、gl、it、kr、la、mn、pl、ru、sk、sw(仅词性标注/词形还原)

输入/输出

nlpannotator 预期一个原始文本文件作为输入,以及一个指定所选选项的输入字典。在启动运行时,也会打印出输入字典,以便存储所选选项并在以后查找。这两者都可以通过 Jupyter 接口提供,如 演示笔记本 中的那样。

生成的输出是 vrt 格式(用于 cwb)或 xml。这两种输出格式都可以直接编码到 cwb。

演示笔记本

查看DemoNotebook,或在Binder上运行。

问题和错误报告

请使用我们的问题跟踪器提问/提交错误报告。

贡献

欢迎贡献。请Fork nlpannotator仓库,并为代码的任何更改提交Pull Request。这些更改将由我们的团队审核和合并。请确保您的贡献是干净的格式正确的,并且对于任何新的模块,请遵循通用设计原则

查看源代码文档

新增功能必须至少有80%的测试覆盖率。

发布

发布摘要和发布说明可在此处找到。

项目详情


下载文件

下载适用于您平台文件的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源代码分布

nlpannotator-1.0.6.tar.gz (24.0 kB 查看哈希值)

上传时间: 源代码

构建分布

nlpannotator-1.0.6-py3-none-any.whl (26.0 kB 查看哈希值)

上传时间: Python 3

由以下机构支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面