结合不同NLP管道的标注器
项目描述
使用选定的工具链自动标注自然语言
该项目刚刚发布第一个版本,仍在开发中。
描述
《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()
选项
所有输入选项都提供在输入字典中。可以使用两种预置的工具链:使用 spaCy 的 fast
用于所有标注;使用 SoMaJo 的 accurate
进行句子分割和分词,以及使用 stanza 进行词性标注和词形还原;以及 手动
,在这种情况下可以使用 spaCy、stanza、SoMaJo、Flair 和 Treetagger 的任何组合,前提是工具支持所选标注和语言。
关键词 | 默认设置 | 可能选项 | 描述 |
---|---|---|---|
输入 |
example_en.txt |
包含标注原始文本的文本文件名称 | |
corpus_name |
test |
生成的语料库名称 | |
语言 |
en |
见下文 | 要标注的文本语言 |
处理选项 |
手动 |
fast、accurate、手动 |
选择工具管道 - fast 和 accurate 为您提供了良好的默认选项(英语) |
处理类型 |
句子分割、分词、词性标注、词形还原 |
见下文 | |
工具 |
spacy、spacy、spacy、spacy |
见下文 | 用于四种标注类型的工具 |
输出格式 |
xml |
xml、vrt |
生成的标注文本文件的格式 |
编码 |
yes |
是、否 |
直接将标注文本文件编码到 cwb |
工具
可用的标注工具列于下文,可以使用以下关键词进行设置
- spaCy:
spacy
- stanza:
stanza
- SoMaJo:
somajo
- Flair:
flair
- Treetagger:
treetagger
处理器
可用的处理器取决于所选工具。以下是可能选项的摘要
工具 | 可用的处理器 |
---|---|
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的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 23b87fe3c507fb61f43193ca61e89c48423e38f248e49ae30880ec907b37204d |
|
MD5 | 381c052fdd1bd90a7a6cc4b12786f946 |
|
BLAKE2b-256 | 2bc50c82f3db0ad649dc68e24a164d9ad0d837be13c60401aeb9322c63288bc4 |
nlpannotator-1.0.6-py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | c8665bf4fae76f86320a9e9d28a23d53e2c5b18e863a3f60d930963b55198bba |
|
MD5 | bf9ca0b9f9ae595e8e3d08fa48e39811 |
|
BLAKE2b-256 | 099f0ef2fc7f4ba9d305558fd503a35cd342b21826c1362ec7173ad74e28c8ff |