14天阅读挑战赛

中文句法分析

一、下载

StanfordParser下载地址

下载过后解压压缩包,找到下图中的两个个文件

我们需要的是:
1.stanford-parser.jar
2.stanford-parser-4.2.0-models.jar
3.chinesePCFG.ser.gz
第三个文件我们暂时在文件夹种没有找到。我们将stanford-parser-4.2.0-models.jar进行解压,发现多出来edu文件夹,一直点,找到了chinesePCFG.ser.gz,路径是
.\edu\stanford\nlp\models\lexparser\chinesePCFG.ser.gz,这样我们需要的三个文件都集齐了!

二、配置环境变量

Stanford NLP是由java开发的,Stanford Parser模型被包含在jar文件中。要访问该模型的最简单的方式是:将该jar文件放到java的CLASSPATH中。

三、安装nltk库

直接pip,干就完了!

四、句法分析举个栗子

#coding=utf-8
import jieba
from nltk.parse import stanford
import os
string = '东京2020年奥运会组委会和国际奥委会达成协议'
#string = 'He met Jenny with flowers'
seg_list = jieba.cut(string, cut_all=False, HMM=True)
seg_str = ' '.join(seg_list)
print(seg_str)

if not os.environ.get('JAVA_HOME'):JAVA_HOME = 'D:/software/java/jdk'os.environ['JAVA_HOME'] = JAVA_HOME
# PCFG模型路径
pcfg_path = 'E:/jupyterAnaconda/jar/chinesePCFG.ser.gz'root = 'E:/jupyterAnaconda/jar/'
parser_path = root + 'stanford-parser.jar'
model_path =  root + 'stanford-parser-4.2.0-models.jar'parser = stanford.StanfordParser(path_to_jar=parser_path,path_to_models_jar=model_path,model_path=pcfg_path)
sentence = parser.raw_parse(seg_str)
for line in sentence:print(line.leaves())line.draw()



词性说明

ROOT :   要处理文本的语句
IP   :  简单从句
NP   :  名词短语
VP   :  动词短语
PU   :  断句符,通常是句号、问号、感叹号等标点符号
LCP  :  方位词短语
PP   :  介词短语
CP   :  由‘的’构成的表示修饰性关系的短语
DNP  :  由‘的’构成的表示所属关系的短语
ADVP :  副词短语
ADJP :  形容词短语
DP   :  限定词短语
QP   :  量词短语
NN   :  常用名词
NT   :  时间名词
PN   :  代词
VV   :  动词
VC   :  是
CC   :  表示连词
VE   :  有
VA   :  表语形容词
VRD  :  动补复合词
CD   :   表示基数词
DT   :   determiner 表示限定词
EX   :   existential there 存在句
FW   :   foreign word 外来词
IN   :   preposition or conjunction, subordinating 介词或从属连词
JJ   :   adjective or numeral, ordinal 形容词或序数词
JJR  :   adjective, comparative 形容词比较级
JJS  :   adjective, superlative 形容词最高级
LS   :   list item marker 列表标识
MD   :   modal auxiliary 情态助动词
PDT  :   pre-determiner 前位限定词
POS  :   genitive marker 所有格标记
PRP  :   pronoun, personal 人称代词
RB   :   adverb 副词
RBR  :   adverb, comparative 副词比较级
RBS  :   adverb, superlative 副词最高级
RP   :   particle 小品词
SYM  :   symbol 符号
TO   :  ”to” as preposition or infinitive marker 作为介词或不定式标记
WDT  :   WH-determiner WH限定词
WP   :   WH-pronoun WH代词
WP$  :   WH-pronoun, possessive WH所有格代词
WRB  :  Wh-adverb WH副词

五、依存句法分析举个栗子

pyhanlp的安装方法见博客:https://blog.csdn.net/qq_45556665/article/details/127294692

from pyhanlp import *sentence = "下雨天地面积水"
terms = HanLP.segment(sentence )
for term in terms:# 词和词性from pyhanlp import *print(term.word,term.nature)document = "水利部水资源司司长陈明忠9月29日在国务院新闻办举行的新闻发布会上透露," \"根据刚刚完成了水资源管理制度的考核,有部分省接近了红线的指标," \"有部分省超过红线的指标。对一些超过红线的地方,陈明忠表示,对一些取用水项目进行区域的限批," \"严格地进行水资源论证和取水许可的批准。"# 提取document的两个关键词
print(HanLP.extractKeyword(document, 2))# 提取ducument中的3个关键句作为摘要
print(HanLP.extractSummary(document, 3))para_sen = "关注数据科学杂谈公众号,从零开始学习自然语言处理。"
sentence = HanLP.parseDependency(para_sen)
print(sentence)# 输出依存文法的结果 txt文件,在windows系统下的 Dependency Viewer.exe 打开文件
path = "text_return.txt"
with open(path, "w", encoding='utf-8') as f:f.write(str(sentence))
print("path:%s" % (path))



依存关系说明

abbrev    :   abbreviation modifier,缩写
acomp     :  adjectival complement,形容词的补充;
advcl     :  adverbial clause modifier,状语从句修饰词
advmod    :  adverbial modifier状语
agent     :  agent,代理,一般有by的时候会出现这个
amod      :  adjectival modifier形容词
appos     :  appositional modifier,同位词
attr      :  attributive,属性
aux       :  auxiliary,非主要动词和助词,如BE,HAVE SHOULD/COULD等到
auxpass   :  passive auxiliary 被动词
cc        :  coordination,并列关系,一般取第一个词
ccomp     :  clausal complement从句补充
complm    :  complementizer,引导从句的词好重聚中的主要动词
conj      :  conjunct,连接两个并列的词。
cop       :  copula。系动词(如be,seem,appear等),(命题主词与谓词间的)连系
csubj     :  clausal subject,从主关系
csubjpass :  clausal passive subject 主从被动关系
dep       :  dependent依赖关系
det       :  determiner决定词,如冠词等
dobj      :  direct object直接宾语
expl      :  expletive,主要是抓取there
infmod    :  infinitival modifier,动词不定式
iobj      :  indirect object,非直接宾语,也就是所以的间接宾语;
mark      :  marker,主要出现在有“that” or “whether”“because”, “when”,
mwe       :  multi-word expression,多个词的表示
neg       :  negation modifier否定词
nn        :  noun compound modifier名词组合形式
npadvmod  :  noun phrase as adverbial modifier名词作状语
nsubj     :  nominal subject,名词主语
nsubjpass :  passive nominal subject,被动的名词主语
num       :  numeric modifier,数值修饰
number    :  element of compound number,组合数字
partmod   :  participial modifier动词形式的修饰
pcomp     :  prepositional complement,介词补充
pobj      :  object of a preposition,介词的宾语
poss      :  possession modifier,所有形式,所有格,所属
possessive:  possessive modifier,这个表示所有者和那个’S的关系
preconj   :  preconjunct,常常是出现在 “either”, “both”, “neither”的情况下
predet    :  predeterminer,前缀决定,常常是表示所有
prep      :  prepositional modifier
prepc     :  prepositional clausal modifier
prt       :  phrasal verb particle,动词短语
punct     :  punctuation,这个很少见,但是保留下来了,结果当中不会出现这个
purpcl    :  purpose clause modifier,目的从句
quantmod  :  quantifier phrase modifier,数量短语
rcmod     :  relative clause modifier相关关系
ref       :  referent,指示物,指代
rel       :  relative
root      :  root,最重要的词,从它开始,根节点
tmod      :  temporal modifier
xcomp     :  open clausal complement
xsubj     :  controlling subject 掌控者

六、另一个栗子

数据:一共包含10段文本

生成句法分析树


依存句法分析

from pyhanlp import *
text = ''
with open('data.txt','r',encoding='utf-8') as inf:text = inf.read() # 读入文本数据
# 提取text的两个关键词
print(HanLP.extractKeyword(text, 2))

# 提取text中的3个关键句作为摘要
print(HanLP.extractSummary(text, 3))

# para_sen = "1955年6月美国旧金山历经艰难险阻已过而立之年的师昌绪登上了克利夫兰总统号轮船"
text = ''
path = "data_return.txt"
with open('data.txt','r',encoding='utf-8') as inf:text = inf.readlines() # 以行的方式读入文本数据
# print(text)
for item in range(len(text)): # 依次读取每行文本para_sen = text[item]sentence = HanLP.parseDependency(para_sen) # 对每一行句子进行依存句法分析print(sentence)print("========================================")# 输出依存文法的结果 txt文件with open(path, "a", encoding='utf-8') as f:f.write(str(sentence))
print("path:%s" % (path))

中文句法分析_句法分析StanfordParser+依存句法分析pyhanlp相关推荐

  1. 基于深度学习的依存句法分析进展

    http://www.cipsc.org.cn/qngw/?p=885 前言: 中国中文信息学会青年工作委员会(简称青工委)是中国中文信息学会的下属学术组织,专门面向全国自然语言处理领域的青年学者和学 ...

  2. 【CS224n】(lecture4)Dependency Parsing 依存句法分析

    学习总结 句法分析(Syntactic Parsing),两种典型的句法结构表示: (1)短语结构句法:依托上下文无关文法,S代表起始符号,如NP和VP分别表示名词短语和动词短语. (2)依存结构句法 ...

  3. NLP--词性标注(POS)、依存句法分析(DP)、语义依存分析(SDP)【实践】

    前言 本文主要对词性标注.依存句法分析.语义依存分析这三个任务,进行简单的调用code实现. 词性标注(POS) 词性标注(Part-of-speech tagging),词性标注是用适当的词性标记句 ...

  4. 依存句法之基于图的依存句法分析

    依存句法之基于图的依存句法分析 依存句法是由法国语言学家L.Tesniere最先提出.它将句子分析成一颗依存句法树,描述出各个词语之间的依存关系. 例如,句子:坚决惩治贪污贿赂等经济犯罪 的依存结构如 ...

  5. 句法依存分析_恭喜 | 黑龙江大学自然语言处理实验室获得NLPCC2019跨领域移植中文依存句法分析封闭测试第一名!...

    点击上方,选择星标或置顶,每天给你送干货! 阅读大概需要3分钟 跟随小博主,每天进步一丢丢 欢送师兄师姐毕业 任务介绍 我们做的实验为Task1的closed任务 任务设置 任务描述: 输入一个自然语 ...

  6. 中文依存句法分析接口

    文章目录 1.HanLP接口 2.百度AI接口 2.1.示例 2.2.mode参数(可选) 2.3.返回值 2.3.1.词性标注 2.3.2.依存关系 2.4.py映射(复制用) 3.pyltp+ne ...

  7. 自然语言处理(NLP)之pyltp的介绍与使用(中文分词、词性标注、命名实体识别、依存句法分析、语义角色标注)

    pyltp的简介   语言技术平台(LTP)经过哈工大社会计算与信息检索研究中心 11 年的持续研发和推广, 是国内外最具影响力的中文处理基础平台.它提供的功能包括中文分词.词性标注.命名实体识别.依 ...

  8. 中文依存句法分析概述及应用

    句法分析是自然语言处理领域的一个关键问题,如能将其有效解决,一方面,可对相应树库构建体系的正确性和完善性进行验证;另一方面,也可直接服务于各种上层应用,比如搜索引擎用户日志分析和关键词识别,比如信息抽 ...

  9. 基于依存句法分析的开放式中文实体关系抽取

    参考: HanLP自然语言处理 基于依存分析的开放式中文实体关系抽取方法 命名实体三元组抽取参考自fact_triple_extraction 这一段时间一直在做知识图谱,卡在实体关系抽取这里几个月了 ...

  10. 句法依存分析_[NLP学习笔记]句法分析

    句法分析任务简介 成分句法分析(Constituency Parsing):分析句子的成分,给出一棵树由终结符和非终结符构成的句法树. 依存句法分析(Dependency Parsing):分析句子中 ...

最新文章

  1. Java实现插值查找算法 Insert search
  2. 基于正样本的表面缺陷检测
  3. 记录我对Padding Oracle攻击的分析和思考之抄写
  4. 独立主题需要有index.php模板文件,wordpress 主题模板文件列表及其作用
  5. 密码学专题 证书和CA指令 申请证书|建立CA|CA操作|使用证书|验证证书
  6. linux 磁盘被挂载2个目录,Linux检测并挂载第二块硬盘的步骤
  7. HTML5的革新:结构之美
  8. SQL:解决PostgreSQL数据库传输出现ERROR: invalid byte sequence for encoding “UTF8“: 0xe5 0x9b 0x20
  9. java calendar格式化_java日期处理专题:java 日期格式化
  10. 菜鸟的B4A(B4X)开发成长日志
  11. python 推箱子实验开发报告_推箱子游戏详细设计报告
  12. 阴天快乐 -- 陈奕迅(eason)
  13. 在QTCreator中保存某个文件出现:保存文件时发生错误:无法写入文件D:\test\test.h.磁盘已满?
  14. python灰帽子学习感想
  15. window10或XP 定时换壁纸,添加计划到windows任务里,cmd换壁纸
  16. All in 区块链的百度昨日发布了白皮书,说了些什么?
  17. 在 Kubernetes 实施混沌工程—— Chaos Mesh® 原理分析与控制面开发
  18. CIR,CBS,EBS,PIR,PBS令牌桶概述
  19. 【转贴】内存重要参数详解 RAS CAS
  20. ImagineCup2018初赛指南

热门文章

  1. 深度学习#1.有监督学习和无监督学习
  2. 基本分段存储管理方式
  3. 1g等于多少mb计算机网络,1KB等于多少MB?1G等于多少MB?等于多少kb呢?
  4. mysql根据用户经纬度查询附近商家,mysql根据经纬度获取附近的商家
  5. 微信小店开发(1) 获取分类
  6. IPS和IDS的区别
  7. 完全卸载 Office 2019 for Mac
  8. [Telink][TLSR8251] [泰凌微][SDK3.4] 上手第二步 框架介绍
  9. JDK 安装教程——图文细讲
  10. 知网海外版(硕博论文pdf下载方式)