基于leff的定制法语pos和lemmatizer

spacy-lefff的Python项目详细描述


Build StatusCoverage StatusPyPI version

spacy lefff:基于lefff的自定义法语pos和lemmatizer,用于spacy

spacy v2.0扩展和管道组件,用于添加基于Lefff的法语pos和lemmatizer。

on版本v2.0.17,Spacy更新的法语元素化

说明

此包允许将lefff引理化和词性标记带到spacy自定义管道。 当pos标记和lemmatizaion组合在一个管道中时,与内置的spacy法语处理相比,它改进了法语文本的预处理。 它仍然是一个WIP(正在工作),因此匹配可能不完美,但如果包未找到任何内容,仍然可以使用spaCy的默认结果。

安装

spacy-lefff需要spacy<;=v2.0.12。

pip install spacy-lefff

用法

导入并初始化您的nlpspacy对象,并在分析文档后添加自定义组件,这样您就可以使用pos标记了。 注意使用UTF-8

如果pos和lemmatizer都捆绑在一起,则需要通过设置after_melt告诉lemmatizer使用熔融映射,否则它将使用语音映射的spacy部分。

default选项允许在没有找到引理的情况下默认返回单词。

使用Spacy到Lefff的当前映射为:

{"ADJ":"adj","ADP":"det","ADV":"adv","DET":"det","PRON":"cln","PROPN":"np","NOUN":"nc","VERB":"v","PUNCT":"poncts"}

熔融标记集

熔融标签表:

ADJ 	   adjective
ADJWH	   interrogative adjective
ADV	   adverb
ADVWH	   interrogative adverb
CC	   coordination conjunction
CLO	   object clitic pronoun
CLR	   reflexive clitic pronoun
CLS	   subject clitic pronoun
CS	   subordination conjunction
DET	   determiner
DETWH	   interrogative determiner
ET	   foreign word
I	   interjection
NC	   common noun
NPP	   proper noun
P	   preposition
P+D	   preposition+determiner amalgam
P+PRO	   prepositon+pronoun amalgam
PONCT	   punctuation mark
PREF	   prefix
PRO	   full pronoun
PROREL	   relative pronoun
PROWH	   interrogative pronoun
V	   indicative or conditional verb form
VIMP	   imperative verb form
VINF	   infinitive verb form
VPP	   past participle
VPR	   present participle
VS	   subjunctive verb form

代码片段

您需要在:python -m spacy download fr之前安装french spacy包。

  • 使用LefffLemmatizer而不使用POSTagger
  • 的示例
importspacyfromspacy_lefffimportLefffLemmatizer,POSTaggernlp=spacy.load('fr')french_lemmatizer=LefffLemmatizer()nlp.add_pipe(french_lemmatizer,name='lefff')doc=nlp(u"Apple cherche a acheter une startup anglaise pour 1 milliard de dollard")fordindoc:print(d.text,d.pos_,d._.lefff_lemma,d.tag_,d.lemma_)
TextspaCy POSLefff LemmaspaCy tagspaCy Lemma
AppleADJNoneADJ__Number=SingApple
chercheNOUNchercheNOUN__Number=Singchercher
aAUXNoneAUX__Mood=Ind Number=Sing Person=3 Tense=Pres VerbForm=Finavoir
acheterVERBacheterVERB__VerbForm=Infacheter
uneDETunDET__Definite=Ind Gender=Fem Number=Sing PronType=Artun
startupADJNoneADJ__Number=Singstartup
anglaiseNOUNanglaiseNOUN__Gender=Fem Number=Singanglais
pourADPNoneADP___pour
1NUMNoneNUM__NumType=Card1
milliardNOUNmilliardNOUN__Gender=Masc Number=Sing NumType=Cardmilliard
deADPunADP___de
dollardNOUNNoneNOUN__Gender=Masc Number=Singdollard
  • 使用POSTagger
  • 的示例
importspacyfromspacy_lefffimportLefffLemmatizer,POSTaggernlp=spacy.load('fr')pos=POSTagger()french_lemmatizer=LefffLemmatizer(after_melt=True,default=True)nlp.add_pipe(pos,name='pos',after='parser')nlp.add_pipe(french_lemmatizer,name='lefff',after='pos')doc=nlp(u"Apple cherche a acheter une startup anglaise pour 1 milliard de dollard")fordindoc:print(d.text,d.pos_,d._.melt_tagger,d._.lefff_lemma,d.tag_,d.lemma_)
TextspaCy POSMElt TagLefff LemmaspaCy tagspaCy Lemma
AppleADJNPPappleADJ__Number=SingApple
chercheNOUNVchercherNOUN__Number=Singchercher
aAUXVavoirAUX__Mood=Ind Number=Sing Person=3 Tense=Pres VerbForm=Finavoir
acheterVERBVINFacheterVERB__VerbForm=Infacheter
uneDETDETunDET__Definite=Ind Gender=Fem Number=Sing PronType=Artun
startupADJNCstartupADJ__Number=Singstartup
anglaiseNOUNADJanglaisNOUN__Gender=Fem Number=Singanglais
pourADPPpourADP___pour
1NUMDET1NUM__NumType=Card1
milliardNOUNNCmilliardNOUN__Gender=Masc Number=Sing NumType=Cardmilliard
deADPPdeADP___de
dollardNOUNNCdollardNOUN__Gender=Masc Number=Singdollard

我们可以看到cherchestartup在默认pos标记符中都没有正确标记。 spaCy将其分类为NOUNADJ,而MElT将其分类为VNC

学分

Sagot,B.(2010年)。The Lefff, a freely available and large-coverage morphological and syntactic lexicon for French。第七届语言资源与评价国际会议(lrec 2010)。

Beno_t Sagot关于Lefff的网页
http://alpage.inria.fr/~sagot/lefff-en.html

Claude Coulombe的第一个工作是用python支持lefff:https://github.com/ClaudeCoulombe

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

推荐PyPI第三方库


热门话题
java使用字符而不是字符串的意义   部分匹配长度字符串相似性的java正则表达式   java获取构造函数错误(错误:“(”或“[”)   java@Value注释无法正常工作SpringBoot   java hasKey在响应中没有看到字段   java JavaFX,没有JFXButtons和所有   在Log4j2中,是否可以根据键从记录器中筛选出某些键值对?   如何使用Java中Kafka的消息,从特定偏移量开始   java在单击后存储动态按钮的值   java Android编码:ViewRootImpl$CalledFromErrorThreadException。[Noob]   通过FileChooser保存pdf格式会提示在java中出现第二个对话框   用于空文件的java Spring集成文件标记   java我们应该如何编写get方法,以便私有字段不会超出其预期范围?   java Eclipse产品问题,Juno RequireHandle:org。日食e4。果心服务