摘要:

,'通信','领域','做出','的','贡献','。']ATT(2018,年)ATT(年,日)ATT(7,月)ATT(月,日)ATT(26,日)ADV(日,举行)WP(,,日)ATT(华为,创始人)ATT(创始人,任正非)SBV(任正非,举行)ADV(向,举行)ATT(5G极化码,之父)WP((,Po

依存句法分析的效果虽然没有像分词、NER的效果来的好,但也有其使用价值,在日常的工作中,我们免不了要和其打交道。笔者这几天一直在想如何分析依存句法分析的结果,一个重要的方面便是其可视化和它的图分析。

我们使用的NLP工具为jieba和LTP,其中jieba用于分词,LTP用于词性标注和句法分析,需要事件下载pos.model和parser.model文件。

本文使用的示例句子为:

raphviz仅仅只是一个可视化工具。那么,我们该用什么样的工具来进行图分析呢?  答案就是NetworkX。以下是笔者对于NetworkX应用于依存句法分析的可视化和图分析的展示,其中图分析展示了两

2018年7月26日,华为创始人任正非向5G极化码(Polar码)之父埃尔达尔教授举行颁奖仪式,表彰其对于通信领域做出的贡献。

r和Compile之间的通信桥梁,达到数据变化->视图更新;视图交互变化(input)->数据model变更的双向绑定效果。描述下vue从初始化页面--修改数据--刷新页面UI的过程?

首先,让我们来看一下没有可视化效果之前的句法分析结果。Python代码如下:

控DOM。      为什么React不精确监听数据变化呢?这是因为Vue和React设计理念上的区别,Vue使用的是可变数据,而React更强调数据的不可变。2.数据流的不同Vue中默认支持双向绑定

# -*- coding: utf-8 -*-

import os

import jieba

from pyltp import Postagger, Parser

sent = "2018年7月26日,华为创始人任正非向5G极化码(Polar码)之父埃尔达尔教授举行颁奖仪式,表彰其对于通信领域做出的贡献。"

jieba.add_word("Polar码")

jieba.add_word("5G极化码")

jieba.add_word("埃尔达尔")

jieba.add_word("之父")

words = list(jieba.cut(sent))

print(words)

# 词性标注

pos_model_path = os.path.join(os.path.dirname(__file__), "data/pos.model")

postagger = Postagger()

postagger.load(pos_model_path)

postags = postagger.postag(words)

# 依存句法分析

par_model_path = os.path.join(os.path.dirname(__file__), "data/parser.model")

parser = Parser()

parser.load(par_model_path)

arcs = parser.parse(words, postags)

rely_id = [arc.head for arc in arcs] # 提取依存父节点id

relation = [arc.relation for arc in arcs] # 提取依存关系

heads = ["Root" if id == 0 else words[id-1] for id in rely_id] # 匹配依存父节点词语

for i in range(len(words)):

print(relation[i] + "(" + words[i] + ", " + heads[i] + ")")

输出结果如下:

rsent="2018年7月26日,华为创始人任正非向5G极化码(Polar码)之父埃尔达尔教授举行颁奖仪式,表彰其对于通信领域做出的贡献。"jieba.add_word("P

["2018", "年", "7", "月", "26", "日", ",", "华为", "创始人", "任正非", "向", "5G极化码", "(", "Polar码", ")", "之父", "埃尔达尔", "教授", "举行", "颁奖仪式", ",", "表彰", "其", "对于", "通信", "领域", "做出", "的", "贡献", "。"]

ATT(2018, 年)

ATT(年, 日)

ATT(7, 月)

ATT(月, 日)

ATT(26, 日)

ADV(日, 举行)

WP(,, 日)

ATT(华为, 创始人)

ATT(创始人, 任正非)

SBV(任正非, 举行)

ADV(向, 举行)

ATT(5G极化码, 之父)

WP((, Polar码)

COO(Polar码, 5G极化码)

WP(), Polar码)

ATT(之父, 埃尔达尔)

ATT(埃尔达尔, 教授)

POB(教授, 向)

HED(举行, Root)

VOB(颁奖仪式, 举行)

WP(,, 举行)

COO(表彰, 举行)

ATT(其, 贡献)

ADV(对于, 做出)

ATT(通信, 领域)

POB(领域, 对于)

ATT(做出, 贡献)

RAD(的, 做出)

VOB(贡献, 表彰)

WP(。, 举行)

我们得到了该句子的依存句法分析的结果,但是其可视化效果却不好。

我们使用Graphviz工具来得到上述依存句法分析的可视化结果,代码(接上述代码)如下:

ds[i]=="Root":g.edge(words[i],"Root",label=relation[i])else:g.edge(heads[i],"Roo

from graphviz import Digraph

g = Digraph("测试图片")

g.node(name="Root")

for word in words:

g.node(name=word)

for i in range(len(words)):

if relation[i] not in ["HED"]:

g.edge(words[i], heads[i], label=relation[i])

else:

if heads[i] == "Root":

g.edge(words[i], "Root", label=relation[i])

else:

g.edge(heads[i], "Root", label=relation[i])

g.view()

得到的依存句法分析的可视化图片如下:

通信的桥梁,主要做的事情是:在自身实例化时往属性订阅器(dep)里面添加自己自身必须有一个update()方法待属性变动dep.notice()通知时,能调用自身的update()方法,并触发Comp

在这张图片中,我们有了对依存句法分析结果的直观感觉,效果也非常好,但是遗憾的是,我们并不能对上述可视化结果形成的图(Graph)进行图分析,因为Graphviz仅仅只是一个可视化工具。那么,我们该用什么样的工具来进行图分析呢?

答案就是NetworkX。以下是笔者对于NetworkX应用于依存句法分析的可视化和图分析的展示,其中图分析展示了两个节点之间的最短路径。示例的Python代码如下:

词性标注和句法分析,需要事件下载pos.model和parser.model文件。  本文使用的示例句子为:2018年7月26日,华为创始人任正非向5G极化码(Polar码)之父埃尔达尔教授举行颁奖仪

# 利用networkx绘制句法分析结果

import networkx as nx

import matplotlib.pyplot as plt

from pylab import mpl

mpl.rcParams["font.sans-serif"] = ["Arial Unicode MS"] # 指定默认字体

G = nx.Graph() # 建立无向图G

# 添加节点

for word in words:

G.add_node(word)

G.add_node("Root")

# 添加边

for i in range(len(words)):

G.add_edge(words[i], heads[i])

source = "5G极化码"

target1 = "任正非"

distance1 = nx.shortest_path_length(G, source=source, target=target1)

print(""%s"与"%s"在依存句法分析图中的最短距离为: %s" % (source, target1, distance1))

target2 = "埃尔达尔"

distance2 = nx.shortest_path_length(G, source=source, target=target2)

print(""%s"与"%s"在依存句法分析图中的最短距离为: %s" % (source, target2, distance2))

nx.draw(G, with_labels=True)

plt.savefig("undirected_graph.png")

得到的可视化图片如下:

)如下:fromgraphvizimportDigraphg=Digraph("测试图片")g.node(name="Root")forwordinwords:g.no

输出的结果如下:

h,matched,name等路由信息参数。router是“路由实例对象”,包括了路由的跳转方法(push、replace),钩子函数等。说一下Vue和React的认识,做一个简单的对比1.监听数据变

"5G极化码"与"任正非"在依存句法分析图中的最短距离为: 6

"5G极化码"与"埃尔达尔"在依存句法分析图中的最短距离为: 2

本次到此结束,希望这篇简短的文章能够给读者带来一些启发~

;.js文件ES6语法-->ES5语法Sass,Less,Stylus-->CSS对jpg,png,font等静态资源的处理热更新定义环境变量,区分dev和production模式...如

注意:不妨了解下笔者的微信公众号: Python爬虫与算法(微信号为:easy_web_scrape), 欢迎大家关注~

ATT(之父,埃尔达尔)ATT(埃尔达尔,教授)POB(教授,向)HED(举行,Root)VOB(颁奖仪式,举行)WP(,,举行)COO(表彰,举行)ATT(其,贡献)ADV(对于,做出)ATT(通信

pyltp依存句法分析_NLP(十二)依存句法分析的可视化及图分析相关推荐

  1. 自然语言处理(NLP)之依存句法分析的可视化及图分析

    依存句法分析的效果虽然没有像分词.NER的效果来的好,但也有其使用价值,在日常的工作中,我们免不了要和其打交道.如何分析依存句法分析的结果,一个重要的方面便是其可视化和它的图分析. 我们使用的NLP工 ...

  2. 十二个“一”的大五人格分析

    十二个"一"的大五人格分析 一. 研究背景 上学期我们就十二个"一"进行了大量研究,其中有一项非常重要的数据,即对于十二个"一"的大五人格※ ...

  3. Excel数据分析从入门到精通(十二)28个图表之分布分析

    Excel数据分析从入门到精通(十二)28个图表之分布分析 1.分布分析-直方图 2.分布分析-气泡矩阵图 3.分布分析-箱线图 4.分布分析-散点图 5.分布分析-旋风图 1.分布分析-直方图 有表 ...

  4. 【互动媒体】”十二个一“的文艺创作的文本分析与可视化

    互动媒体的大作业之一.似乎一整个学期都在和这十二个一打交道,尝试了看待一个简单书法作品的多种维度,也发掘了诸如拟人化.拟物化等在内的多种其他视角.然而,不到期末我们就永远不知道这些数据最后将会去向哪里 ...

  5. 艺工交叉——雪梨针对十二个”一“感知评价实验的分析PART1:文献综述

    在这一项作业当中,我们要在对十二个"一"感知评价的实验数据分析的基础上,完成对数项问题的解答. 实验模式:个人实验 姓名:冯媛 学号:1191170202 实验背景: 在之前一次趣 ...

  6. Hadoop(十二):从源码角度分析Hadoo是如何将作业提交给集群的

    为什么80%的码农都做不了架构师?>>>    一:MapReduce提交作业过程的流程图 通过图可知主要有三个部分,即: 1) JobClient:作业客户端. 2) JobTra ...

  7. 【问链-区块链基础知识系列】 第十二课 区块链产业落地现状分析

    摘要:结合鲸准研究院发布的2018区块链商业落地情况分析报告,然后加入了我参与和了解的区块链落地情况进行整理书写. 我们知道"2018年将是区块链真正与实体经济结合并爆发的一年." ...

  8. 笔记-编译原理-第十、十一、十二章、十三章-语法分析-自下而上分析

    第10章 - 自下而上分析1 10.1 自下而上分析 10.1.1 自下而上分析的一个示例 可以看出自下而上分析的主要步骤是不断的用文法来"规约",最后找到一种句型的表示 10.1 ...

  9. 机器学习基础(三十二) —— 使用 Apriori 算法进行关联分析

    Apriori 在拉丁语中指"来自以前".当定义问题时,通常会使用先验知识或者假设,这被称作"一个先验"(a priori).在贝叶斯统计中,使用先验知识作为条 ...

最新文章

  1. tomcat日志格式中的含义
  2. Linux学习之云服务器搭建嵌入式Linux开发环境
  3. cmd 日志刷新卡屏
  4. 计算机管理员账户不能创建新的用户名,win10为什么无法更改账户名称解决方法 win10系统管理员用户名更改...
  5. 用Layer.search快速查询图元
  6. 《程序设计技术》第五章例程
  7. 每日算法系列【LeetCode 289】生命游戏
  8. Windows XP 系统优化-百度转载
  9. 刘汝佳Dijkstra模板
  10. 深度学习笔记~集成方法bagging, boosting和stacking
  11. 从钢铁侠看Decorator 装饰者模式
  12. ProSpec 胶质源性神经营养因子人重组说明书
  13. 将Python代码打包成Windows 10的可执行文件
  14. Linux上安装VIM
  15. 2021年高级维修电工证考试题库,职业技能鉴定职业资格
  16. Python爬虫进阶必备 | 极X助手加密算法分析
  17. unknown类型的使用
  18. 职场上思路不清楚的人有多可怕
  19. LAB002 -Oracle数据库手工冷备份(归档模式)
  20. 软件项目管理学习(二)

热门文章

  1. word无法选定图片随文字移动
  2. the win16 subsystem was unable to enter protected mode,DOSX.EXE must be in your AUTOEXEC.NT and pres
  3. SAS初学者笔记---003---利用数据步读取数据--逻辑库
  4. proftpd mysql_Proftpd mysql认证配置文档
  5. 在Win32中使用OpenGL
  6. JavaScript的对象、属性与方法
  7. CentOS7密码忘记如何强制修改root密码
  8. 例题(8.3) 求一元二次方程的根 (1051)
  9. python学习相关软件
  10. 小班关于计算机运用的教案,关于信息技术在幼儿园的运用教案设计