pytreebank︱情感分析可视化——情感结构树

效果如上,一句话用树状来表达,具体案例可查询stanford Sentiment Analysis网站

如何用py来画,主要参考自pytreebank-github

1 直接上案例,官网案例数据下载:

http://nlp.stanford.edu/sentiment/trainDevTestTrees_PTB.zip

import pytreebank
dataset = pytreebank.load_sst("/path/to/sentiment/")
pytreebank.LabeledTree.inject_visualization_javascript()
# select and example to visualize
example = dataset["train"][0]
# display it in the page
example.display()

load_sst时候需要写入官网下载数据的链接具体在哪。

2 那么案例里面的数据长什么样子:

for label, sentence in example.to_labeled_lines():
    print("%s has sentiment label %s" % (
        sentence,
        ["very negative", "negative", "neutral", "positive", "very positive"][label]))

具体如下:

The Rock is destined to be the 21st Century 's new `` Conan '' and that he 's going to make a splash even greater than Arnold Schwarzenegger , Jean-Claud Van Damme or Steven Segal . has sentiment label positive
The Rock has sentiment label neutral
The has sentiment label neutral
Rock has sentiment label neutral
is destined to be the 21st Century 's new `` Conan '' and that he 's going to make a splash even greater than Arnold Schwarzenegger , Jean-Claud Van Damme or Steven Segal . has sentiment label very positive
is destined to be the 21st Century 's new `` Conan '' and that he 's going to make a splash even greater than Arnold Schwarzenegger , Jean-Claud Van Damme or Steven Segal has sentiment label positive
is has sentiment label neutral
destined to be the 21st Century 's new `` Conan '' and that he 's going to make a splash even greater than Arnold Schwarzenegger , Jean-Claud Van Damme or Steven Segal has sentiment label very positive
destined has sentiment label neutral
to be the 21st Century 's new `` Conan '' and that he 's going to make a splash even greater than Arnold Schwarzenegger , Jean-Claud Van Damme or Steven Segal has sentiment label neutral
to be the 21st Century 's new `` Conan '' and has sentiment label neutral
to be the 21st Century 's new `` Conan '' has sentiment label neutral
to be the 21st Century 's new `` Conan has sentiment label neutral
to has sentiment label neutral

3 那么自己咋画呢:

pytreebank.LabeledTree.inject_visualization_javascript()

pytreebank.create_tree_from_string('(4 (0 你) (3 (2 是) (3 (3 (3 谁) (2 的)) (2 谁))))').display()

4代表总共有四个节点, (0 你)代表,‘你’这个字的情感点; 编号的意义为: 0–>”very negative”, 1–> “negative” 2–>, “neutral” 3–>, “positive” 4–>, “very positive”

4 其他

pytreebank.create_tree_from_string('(4 (0 你) (3 (2 是) (3 (3 (3 谁) (2 的)) (2 谁))))').to_dict()

把结果导出成dict形式

pytreebank.create_tree_from_string('(4 (0 你) (3 (2 是) (3 (3 (3 谁) (2 的)) (2 谁))))').to_json()

把结果导出成json形式

pytreebank.create_tree_from_string('(4 (0 你) (3 (2 是) (3 (3 (3 谁) (2 的)) (2 谁))))').to_lines()

把结果导出成一列文字形式

pytreebank.create_tree_from_string('(4 (0 你) (3 (2 是) (3 (3 (3 谁) (2 的)) (2 谁))))').to_lines()

把结果导出成to_labeled_lines形式

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏HansBug's Lab

算法模板——线性筛素数

实现功能:如题,筛出1——N内的所有素数 原理:如phile神犇所言,这次的才算是真正意义上的线性筛素数,其精髓在于if (i mod a[j])=0 then...

27212
来自专栏新智元

TensorFlow正式发布1.5.0,支持CUDA 9和cuDNN 7,双倍提速

来源:Github 编译:费欣欣 【新智元导读】TensorFlow今天正式发布了1.5.0版本,支持CUDA 9和cuDNN 7,进一步提速。并且,从1.6版...

2956
来自专栏生信宝典

图像处理R包magick学习笔记

作者:严涛 浙江大学作物遗传育种在读研究生(生物信息学方向)伪码农,R语言爱好者,爱开源

592
来自专栏深度学习入门与实践

【原】Spark之机器学习(Python版)(一)——聚类

kmeans聚类相信大家都已经很熟悉了。在Python里我们用kmeans通常调用Sklearn包(当然自己写也很简单)。那么在Spark里能不能也直接使用s...

82310

Python NLTK 自然语言处理入门与例程

那么 NLP 到底是什么?学习 NLP 能带来什么好处?

1K7
来自专栏Hadoop数据仓库

HAWQ + MADlib 玩转数据挖掘之(一)——安装

一、MADlib简介         MADlib是Pivotal公司与伯克利大学合作的一个开源机器学习库,提供了精确的数据并行实现、统计和机器学习方法对结构化...

2457
来自专栏新智元

【TensorFlow1.2.0版发布】14大新功能,增加Intel MKL集成

【新智元导读】TensorFlow 今天发布最新版 1.2.0,公布了14大最新功能。新智元带来最新介绍,包括 API 的重要变化、contrib API的变化...

3229
来自专栏机器之心

资源 | 斯坦福大学发布Stanford.NLP.NET:集合多个NLP工具

选自斯坦福 机器之心编译 参与:李泽南、Smith 近日,斯坦福大学发布了 Stanford.NLP for .Net,为自然语言处理领域的开发者们提供帮助。顾...

2686
来自专栏生信宝典

DESeq2差异基因分析和批次效应移除

87310
来自专栏CreateAMind

GTX 1080+Ubuntu16.04+CUDA8.0+cuDNN5.0+TensorFlow

GTX 1080+Ubuntu16.04+CUDA8.0+cuDNN5.0+TensorFlow 安装指导

1072

扫码关注云+社区