基于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第三方库


热门话题
当使用RequestDispatcher时,servlets Java最终没有被调用   java生成对具有可变参数数的方法的调用   java如何使用select子句中的参数化列映射iBATIS的查询?   java无法创建类型为org的插件。阿帕奇。登录中。log4j。果心阿佩德。元素RollingFile的RollingFileAppender   java当子实体和父实体之间存在OneTONE JPA关系时,是否可以将其与父实体一起持久化?   Android上的java Facebook集成fbconnect断开链接   获取方法调用方的java机制   从列表创建Oracle阵列时出现java问题   添加和检索元素的ArrayList的java ArrayList   在java中从字符串中删除无效的XML字符   java如何构建完整生成的maven模块   java如何准确地改变播放所有分辨率midi文件的速度?   shell javac:无效标志:/src/中位_度。ubuntu中的java   java使用从其他类的方法检索到的信息