nlp-pie 包的扩展
项目描述
馅饼扩展
警告:此软件目前仅兼容 Python 3.7。
扩展pie以包括标记器及其模型和前/后处理器。
Pie 是训练模型的绝佳工具。大多数时候,这就足够了。这里pie_extended的建议是为您提供必要的工具,以通过定制的预处理和后处理共享您的模型。
当前系统提供了更容易添加自定义的访问:
- 文本标准化,
- 句子标记化,
- 词标记化,
- 消歧义,
- 输出格式
引用为
@software{thibault_clerice_2020_3883590,
author = {Clérice, Thibault},
title = {Pie Extended, an extension for Pie with pre-processing and post-processing},
month = jun,
year = 2020,
publisher = {Zenodo},
doi = {10.5281/zenodo.3883589},
url = {https://doi.org/10.5281/zenodo.3883589}
}
当前支持的语言
- 古典拉丁语(型号
lasla:) - 古希腊(型号
grc:) - 古法语 (型号:
fro) - 早期现代法语(型号
freem:) - 古典法语 (型号:
fr) - 古荷兰语 (型号:
dum)
如果您训练了模型并希望通过 Pie Extended 获得帮助,请打开一个问题 :)
安装
要安装,只需执行pip install pie-extended. 然后,查看所有可用的模型。
在终端上运行
但最重要的是,它提供了一种使用其他模型的快速简便的方法!例如,在外壳中:
pie-extended download lasla
pie-extended install-addons lasla
pie-extended tag lasla your_file.txt
将使您获得所需的一切!
Python API
您可以在自己的脚本中运行词形还原器并将令牌注释检索为字典:
from typing import List
from pie_extended.cli.utils import get_tagger, get_model, download
# In case you need to download
do_download = False
if do_download:
for dl in download("lasla"):
x = 1
# model_path allows you to override the model loaded by another .tar
model_name = "lasla"
tagger = get_tagger(model_name, batch_size=256, device="cpu", model_path=None)
sentences: List[str] = ["Lorem ipsum dolor sit amet, consectetur adipiscing elit. "]
# Get the main object from the model (: data iterator + postprocesor
from pie_extended.models.lasla.imports import get_iterator_and_processor
for sentence_group in sentences:
iterator, processor = get_iterator_and_processor()
print(tagger.tag_str(sentence_group, iterator=iterator, processor=processor) )
将导致
[{'form': 'lorem', 'lemma': 'lor', 'POS': 'NOMcom', 'morph': 'Case=Acc|Numb=Sing', 'treated': 'lorem'},
{'form': 'ipsum', 'lemma': 'ipse', 'POS': 'PROdem', 'morph': 'Case=Acc|Numb=Sing', 'treated': 'ipsum'},
{'form': 'dolor', 'lemma': 'dolor', 'POS': 'NOMcom', 'morph': 'Case=Nom|Numb=Sing', 'treated': 'dolor'},
{'form': 'sit', 'lemma': 'sum1', 'POS': 'VER', 'morph': 'Numb=Sing|Mood=Sub|Tense=Pres|Voice=Act|Person=3',
'treated': 'sit'},
{'form': 'amet', 'lemma': 'amo', 'POS': 'VER', 'morph': 'Numb=Sing|Mood=Sub|Tense=Pres|Voice=Act|Person=3',
'treated': 'amet'}, {'form': ',', 'lemma': ',', 'pos': 'PUNC', 'morph': 'MORPH=empty', 'treated': ','},
{'form': 'consectetur', 'lemma': 'consector2', 'POS': 'VER',
'morph': 'Numb=Sing|Mood=Sub|Tense=Pres|Voice=Dep|Person=3', 'treated': 'consectetur'},
{'form': 'adipiscing', 'lemma': 'adipiscor', 'POS': 'VER', 'morph': 'Tense=Pres|Voice=Dep', 'treated': 'adipiscing'},
{'form': 'elit', 'lemma': 'elio', 'POS': 'VER', 'morph': 'Numb=Sing|Mood=Ind|Tense=Pres|Voice=Act|Person=3',
'treated': 'elit'}, {'form': '.', 'lemma': '.', 'pos': 'PUNC', 'morph': 'MORPH=empty', 'treated': '.'}]
添加模型
- 在
./pie_extended/models/. 例:foo。 ./pie_extended/models/__init__.py在变量中添加包的名称modules。- 在模块
pie_extended.models.foo中,我们应该找到以下变量:Models: 一个包含 Pie 的文件名和任务的字符串。DESC: 一个包含模型信息的元数据对象DOWNLOADS:要下载的文件列表。
from pie_extended.utils import Metadata, File, get_path
DESC = Metadata(
"Foo"
"language",
["Author 1", "Author 2"],
"A readable description",
"A link to more information"
)
DOWNLOADS = [
File("/a/link/to/a/file", "local_name_of_the_file.tar")
]
Models = "<{},task1,task2><{},lemma,pos>".format(
get_path("foo", "local_name_of_the_file.tar")
)
- 在模块
pie_extended.models.foo.imports中,我们应该找到以下内容:get_iterator_and_processorDataIterator: 一个返回 a和 a的函数Processor- (可选)
addons:安装附加组件的功能 - (可选)
Disambiguator:消歧器实例(或返回一个的对象创建者)
检查一个简单的例子pie_extended.models.fro.imports和一个更复杂的例子pie_extended.models.lasla.imports
安装开发版本(⚠ 仅用于开发)
克隆存储库,创建环境,然后
python setup.py develop
警告
这是一个非常早期的构建,可能会在这里和那里进行更改。但它是功能性的!
项目详情
下载文件
下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。
源分布
pie_extended-0.0.40.tar.gz
(40.4 kB
查看哈希)
内置分布
pie_extended-0.0.40-py2.py3-none-any.whl
(69.0 kB
查看哈希)
关
pie_extended -0.0.40.tar.gz 的哈希值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | b31941e301965bf80980d24c29dfa73fc328dbd5bf0e338acf84e4bc1a9bdb9d |