nlppie包扩展

pie-extended的Python项目详细描述


饼图扩展

Build StatusCoverage StatusPyPI

Warning:该软件目前只与Python3.7兼容。在

^{}的扩展,以包括标记器及其模型和前/后处理器。在

派是训练模特的好工具。大多数时候,这就足够了。这是什么建议 为您提供必要的工具,以便通过定制的预处理和后处理共享模型。在

当前系统提供了一个更容易添加customized

  • 文本规范化
  • 句子标记化
  • 单词标记化
  • 消除歧义
  • 输出格式

引用为

@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}
}

当前支持的语言

  • 古典拉丁语(Modele:lasla
  • 古希腊语(Modele:grc
  • 古法语(Modele:fro
  • 早期现代法语(Modele:freem
  • 古典法语(Modele:fr

如果您培训了模型,并希望通过Pie Extended共享它们,请打开一个问题:)

安装

要安装,只需执行pip install pie-extended。然后,看看所有可用的型号。在

运行终端

但除此之外,它还提供了一种使用其他模型的快速简便的方法!例如,在shell中:

^{pr2}$

会让你得到你需要的一切!在

Python API

您可以在自己的脚本中运行lemmatizer,并将令牌注释作为字典检索:

fromtypingimportListfrompie_extended.cli.utilsimportget_tagger,get_model,download# In case you need to downloaddo_download=Falseifdo_download:fordlindownload("lasla"):x=1# model_path allows you to override the model loaded by another .tarmodel_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 + postprocesorfrompie_extended.models.lasla.importsimportget_iterator_and_processorforsentence_groupinsentences: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。在
  • {{cd11>在包中添加
  • 在模块pie_extended.models.foo中,我们应该找到以下变量:
    • Models:一个包含Pie文件名和任务的字符串。在
    • DESC:包含模型信息的元数据对象
    • DOWNLOADS:要下载的文件列表。在
frompie_extended.utilsimportMetadata,File,get_pathDESC=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模块中,我们应该找到以下内容:
    1. get_iterator_and_processor:返回DataIteratorProcessor的函数
    2. (可选)addons:安装附加组件的函数
    3. (可选)Disambiguator:消歧器实例(或返回一个的对象创建者)

检查pie_extended.models.fro.imports中的简单示例和更复杂的示例 在pie_extended.models.lasla.imports

警告

这是一个非常早期的构建,随时可能会发生变化。但它是有功能的!在

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
JFrame中的Java多线程   java Servlet异常映射   java无法从输出流读取   swing Java带来的小程序GUI问题   java什么原因导致错误“'void'类型此处不允许”以及如何修复它?   Java选择器select(长)与selectNow的区别   java自定义arraylist<mygames>获得不同   java Icepdf注释让页面消失   java反向整数数组   java I在生成同步“无法解析配置的所有依赖项”时遇到此错误:app:debugRuntimeClasspath   多个虚拟机上的java线程访问单个DB实例上的表,有时会导致性能低下和异常   swing更改Java中的默认按钮,使其看起来“更好”   java慢速MQ主题订阅。并行化不能提高性能   java运行Boggle Solver需要一个多小时。我的代码怎么了?   数据库中的java循环与应用程序中的java循环   正则表达式匹配${123…456}并在Java中提取2个数字?   java如何制作我们软件的试用版   Java内存参数计算   从另一个类调用方法时出现java问题