基于Python的StanfordCoreNLP⾃然语⾔分析快速⼊门教程
最近⼩组汇报正好⽤到了corenlp,所以想把相关内容整理成博客(汇报ppt和演⽰代码附在最后了,有需要的话可以⾃取)。主要参考了和⽹上⼀些别的⼊门教程,由于代码⽐较简短,所以侧重理论描述⼀点。通过这篇博客 ,你可以:
1. 对corenlp框架有初步的了解
易语言能做什么脚本2. 对corenlp中的词性标注、命名实体、成分句法、依存句法等概念有初步的了解,
3. 在python中使⽤corenlp进⾏简单的⾃然语⾔分析
4. ⼤致读懂相关的输出结果
springer校稿需要多久⼀、Stanford CoreNLP简介
CoreNLP是斯坦福提供的⼀套⾃然语⾔分析⼯具。它可以给出单词的基本形式、词类、是否是公司、⼈的名字等,规范⽇期、时间和数字量,根据短语和句法依存关系标记句⼦结构,指出哪些名词短语引⽤相同的实体,表⽰情感,提取实体引⽤之间的特定或开放类关系,获取⼈们所说的引号等。
它最初是为英语开发的,但现在也为(现代标准)阿拉伯语,(⼤陆)中⽂,法语,德语和西班⽛语提供不同级别的⽀持。
如果你有这些需要的话,请选择Stanford CoreNLP:
集成的NLP⼯具包,具有⼴泛的语法分析⼯具
快速,强⼤的任意⽂本注释器,⼴泛⽤于⽣产中
定期更新的现代软件包,具有总体上最⾼质量的⽂本分析
⽀持多种主要(⼈类)语⾔
适⽤于⼤多数主要现代编程语⾔的API
能够作为简单的Web服务运⾏
斯坦福⼤学CoreNLP的⽬标是使将多种语⾔分析⼯具轻松应⽤于⼀段⽂本变得⾮常容易。只需两⾏代码,就可以在⼀段纯⽂本上运⾏⼯具管道。 CoreNLP的设计具有⾼度的灵活性和可扩展性。使⽤⼀个选项,就可以更改应启⽤和禁⽤的⼯具。
维多利亚飞机Stanford CoreNLP集成了Stanford的许多NLP⼯具,包括词性(POS)标记器,命名实体识别器(NER),解析器,共指解析系统,情感分析,⾃举模式学习和开放信息提取⼯具等。此外,注释程序管道可以包括其他⾃定义或第三⽅注释程序。 CoreNLP的分析为⾼级和特定领域的⽂本理解应⽤程序提供了基础构建块。
⼆、理论基础
2.1 Part of Speech 词性标注
词性标注的主要任务是消除词性兼类歧义。在任何⼀种⾃然语⾔中,词性兼类问题都普遍存在,尤其在汉语中常⽤词兼类现象更加严重,所以需要词性标注来消除词性兼类歧义。
coreNLP使⽤的词性标注集是UPenn Treebank词性标注集,⼀共包含33类词,如NN 名词、NR 专业名词、NT 时间名词、VA可做谓语的形容词、VC“是”、VE“有”作为主要动词、VV 其他动词、AD副词、M量词等。
POS举例:
2.1.1 名词
专有名词:NR
⼀个专有名词可以是⼀个特定的⼈名,政治或地理上定义的地⽅(城市、国家、河流、⼭脉等),或者是⼀种组织(企业、政府或其他组织实体)
时间名词可以是介词的宾语,譬如在、从、到、等到。它们可以被问及,如“这个时候”,也可以被⽤以提问“什么时候”。还可以直接修饰动词短语或者主语。像其他名词⼀样,时间名词可以是某些动词的论元。
例⼦:⼀⽉、汉朝、当今、何时、今后
其他名词:NN
其他名词包括所有其他名词。其他名词NN,除了地⽅名词,⼀般不能修饰动词短语
2.1.2 动词、形容词
谓词性形容词:VA
sql索引如何使用相当于英语中的形容词和中⽂语法中的静态动词。包括两类:
第⼀类:没有宾语且能被“很”修饰的谓语。
第⼆类:源⾃第⼀类的、通过重叠(如红彤彤)或者通过名词加形容词模式如“像N⼀样A”(如雪⽩) 的谓语。
系动词:VC
“是”和“为”被标记为VC,如果“⾮”的意思是“不是”并且句⼦⾥没有其他动词时,“⾮”也被标注为VC。
“是”有⼏种⽤法:
·连接两个名词短语或者主语:他 是/VC 学⽣。
·在分裂句中:他 是/VC 昨天 来 的/SP。
·为了强调:他 是/VC 喜欢 看 书。现在,在所有这些情况中,“是”被标注为VC。
“有”作为主要动词:VE
只有当“有,没{有}”和“⽆”作为主要动词时(包括占有的“有”和表存在的“有”等等),被标注为VE。
其他动词:VV
VV包括其他动词,诸如情态动词,提升谓词(如“可能”),控制动词(如“要”、“想”),⾏为动词(如“⾛”),⼼理动词
(如“喜欢”、“了解”、“怨恨”),等等。
形容词:JJ、JJR、JJS
-JJ形容词或序数词
-JJR形容词⽐较级
-JJS形容词最⾼级
2.1.3 度量词、副词、介词
度量词:M
度量词跟在数字后形成Det+M结构修饰名词或动词,包括类词(如“个”),表⽰⼀的度量词,如“”,以及公⾥、升等度量词。
副词:AD
副词包括情态副词、频率副词、程度副词、连接副词等,⼤部分副词的功能是修饰动词短语或主语。
如:仍然、很、最、⼤⼤、⼜、约
介词:P
介词可以把名词短语或从句作为论元。
注:把和被不标注为P
如:从、对
2.1.4 助词
“的”作为补语标记/名词化标记:DEC
如:吃的DEC
模式是:S/VP DEC{NP}
补语短语 得:DER
在V-得-R和V-得结构中,“得”标记为DER。
注:有些以“得”结尾的搭配不是V-得结构,如记得,获得是动词
“的”作为关联标记或所有格标记:DEG
模式:NP/PP/JJ/DT DEG{NP}
当“地”出现在“XP地VP”,XP修饰VP。在⼀些古典⽂学中,“的”也⽤于这种情景,此时“的”也标注为DEV
动态助词:AS
动态助词仅包括“着,了,过,的”
句末助词:SP
SP经常出现在句末,如:他好吧[SP]?
有时,句末助词⽤于表停顿,如:他吧[SP],⼈很好。
如:了,呢,吧,啊,呀,吗
ETC
ETC⽤于标注等,等等
其他助词:MSP
“所,以,来,⽽”,当它们出现在VP前时,标注为MSP。
所:他所[MSP]需要的/DEC
以或来:⽤……以/MSP(或来)维持
⽽:为……⽽[MSP]奋⽃
2.1.5 限定词、数词
限定词:DT
大学python入门教程限定词包括指⽰词(如这、那、该)和诸如“每、各、前、后”等词。限定词不包括基数词和序列词。
基数词:CD
CD包括基数词并随意与⼀些概数词连⽤,如“来、多、好⼏”和诸如“好些、若⼲、半、许多、很多(如很多 学⽣)”等词。
例⼦:1245,⼀百。
序列词:OD
序列词被标注为OD。我们把第+CD看做⼀个词,并标注它为OD。
例⼦:第⼀百。
2.1.6 代词、⽅位词、连词
⽅位词:LC
⽅位词的⼀个功能是连接前述的名词短语或者主语,从⽽使整个短语可以作为这些介词的论元或者来修饰动词短语或主语。
⼀些⽅位词可以独⽴使⽤作为介词或动词的论元。⼀些⽅位词可以被“最”修饰。⽅位词不能被Det+M所
修饰。
如:前,后,⾥,外,内,北,东
如:为⽌、以来、以内
并列连接词:CC
CC的主要模式是:XP{,},CC XP。
如:与、和、或、或者、还是(or)
代词:PN
代词的功能是作为名词短语的替代物或者表⽰事先详细说明的或者从上下⽂可知晓的被叫的⼈或事。它们⼀般不受Det+M或者形容词性短语修饰。
如:你、我、这、那、⾃⼰
从属连词:CS
从属连词连接两个句⼦,⼀个句⼦从属于另⼀个,这样的连词标记为CS。CS模式是:CS S1,S2和S2 CS,S1。
如:如果/CS,……就/AD……
2.1.7 感叹词、拟声词、被、把、其他名称修饰语
感叹词:IJ
出现在句⾸位置的感叹词,如:啊
拟声词:ON
修饰“ON地V”中的VP:⾬哗哗[ON]地[DEV]下了[AS]⼀夜
修饰“ON中的N”中的NP:砰[ON]的/DEG⼀声!
⾃⾏成句:砰砰[ON]!
⼀般不能被副词修饰,如:哗啦啦,咯吱。
长“被”结构:LB
仅包括“被,叫,给,为(⼝语中)”,当它们出现在被字结构NP0+LB+NP1+VP中
如:他被/LB 我训了/AS ⼀顿/M .
注:当叫作为兼语动词时,“叫”标注为VV,如:他叫/VV你去。
短“被”结构:SB
NP0+SB+VP,他被/SB 训了/AS⼀顿/M。
注:“给”有其他标记:LB,VV和P。
如:你给/P他写封/M信。
把字结构:BA
仅包括“把,将”,当它们出现在把字结构中(NP0+BA+NP1+VP)。
如:他把/BA你骗了/AS。
注:“将”有其他标记:AD和VV,如:他将/VV了[AS]我的[DEG]军。
其他名词修饰语:JJ
区别词 只修饰模式JJ+的+{N}或JJ+N中的名词,且⼀定要有“的”,它们不能被程度副词修饰。如:共同/JJ的/DEG⽬标/NN,她是[VC]⼥/JJ的/DEG。
带有连字符的复合词通常为双⾳节词 JJ+N 如留美/JJ学者/NN
形容词:新/JJ消息/NN模式:JJ+N注:当“的/DEC”在形容词和名词中间时,形容词标记为VA
外来词:FW
FW仅被⽤于:当词性标注标记在上下⽂中不是很清楚时。外来词不包括外来词的翻译,不包括混合中⽂的词(如卡拉OK/NN,A
型/NN),不包括词义和词性在⽂中都是清楚的词
标点:PU
当标点是词的⼀部分时,不⽤标注为PU,如123,456/CD
2.2 Named Entities 命名实体
命名实体识别是识别⼀个句⼦中有特定意义的实体并将其区分为⼈名,机构名,⽇期,地名,时间等类别的⼯作。
培训大数据培训命名实体识别本质上是⼀个模式识别任务, 即给定⼀个句⼦, 识别句⼦中实体的边界和实体的类型,是⾃然语⾔处理任务中⼀项重要且基础性的⼯作。
2.3 Constituency Parsing 成分句法
成分句法分析是识别出句⼦中的短语结构以及短语之间的层次句法关系,如ROOT要处理⽂本的语句、IP简单从句、NP名词短语、VP动词短语、LCP⽅位词短语、PP介词短语、CP由‘的’构成的表⽰修饰性关系的短语、DNP由‘的’构成的表⽰所属关系的短语、ADVP副词短语、ADJP形容词短语、DP限定词短语、QP量词短语、CC并列关系等。
2.4 Dependency Parsing 依存句法
依存句法分析是识别句⼦中词汇与词汇之间的相互依存关系,如nsubj名词性主语、obj 宾语、dobj直接宾语、iobj间接宾语、nmod 复合名词修饰、amod形容词修饰、advmod状语、appos同位词、cc并列关系、conj 连接两个并列的词、csubj 从主关系、csubjpass主从被动关系等
三、CoreNLP实践
3.1 库包准备
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论