惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

酷 壳 – CoolShell
酷 壳 – CoolShell
H
Hacker News: Front Page
P
Palo Alto Networks Blog
T
ThreatConnect
Apple Machine Learning Research
Apple Machine Learning Research
博客园_首页
T
True Tiger Recordings
P
Privacy & Cybersecurity Law Blog
B
Blog
IT之家
IT之家
Last Week in AI
Last Week in AI
F
Full Disclosure
Hacker News: Ask HN
Hacker News: Ask HN
C
Comments on: Blog
Microsoft Azure Blog
Microsoft Azure Blog
C
Cybersecurity and Infrastructure Security Agency CISA
Microsoft Security Blog
Microsoft Security Blog
博客园 - 【当耐特】
N
News and Events Feed by Topic
NISL@THU
NISL@THU
腾讯CDC
雷峰网
雷峰网
Security Latest
Security Latest
李成银的技术随笔
M
Microsoft Research Blog - Microsoft Research
L
LangChain Blog
L
Lohrmann on Cybersecurity
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
C
Check Point Blog
Y
Y Combinator Blog
Recent Announcements
Recent Announcements
博客园 - Franky
N
News | PayPal Newsroom
V
V2EX
A
About on SuperTechFans
The Register - Security
The Register - Security
月光博客
月光博客
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Google Online Security Blog
Google Online Security Blog
MyScale Blog
MyScale Blog
Cisco Talos Blog
Cisco Talos Blog
Vercel News
Vercel News
WordPress大学
WordPress大学
C
Cyber Attacks, Cyber Crime and Cyber Security
The Hacker News
The Hacker News
IntelliJ IDEA : IntelliJ IDEA – the Leading IDE for Professional Development in Java and Kotlin | The JetBrains Blog
IntelliJ IDEA : IntelliJ IDEA – the Leading IDE for Professional Development in Java and Kotlin | The JetBrains Blog
爱范儿
爱范儿
A
Arctic Wolf
L
LINUX DO - 最新话题
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More

GeekPlux

一代人的博客,一代人的青春注脚 那些年我打过的日结工 来美国的两年后 2023 一蓑烟雨 在美国拥有一辆 Tesla 的成本 我的 Workspaces 十年进化史 How to Sync Logseq Plugins, Themes and Settings Across Multiple Devices Setting Up Umami as Your Google Analytics Alternative: A Step-by-Step Guide 迁移豆瓣读书记录到 goodreads Enhance Your Internet Privacy in 2023 Refactor your blog comments system with Webmention.io 来美国之后,如何快速安顿下来 Three Levels of Information Perception 疫情三年 与人聊天的美好 我获取信息的方法 2022 版 我是如何学会编程的 Legacy code best practice: how to take over an existing project smoothly 2020 恍如隔世 接外包的一些坑和小技巧 论交友 往返香港隔离指南 即将失明,还能继续做程序员吗 小谈我对新技术的态度 How to use tailwindcss with AMP in a Next.js project 远程工作如何提高效率 复式记账、财报、量化与图论 我为什么从阿里巴巴离职 2019 柳暗花明 YouTube 观看历史数据分析 投资被动型指数基金正在造成下一次金融泡沫? 三种主流的网赚套利,躺着赚钱? 色盲的世界 我是如何管理 21 张信用卡的 薅羊毛的最大意义:保持对规则的敏感度 来香港的两个月 数据可视化技术实现的关键点 不需要扫描仪,数字化归档自己的文件 如何找到时薪 80 美元的远程工作(二) 如何找到时薪 80 美元的远程工作(一) 如何打造真正的简历 浅思图数据可视化 舍本逐末的学习方式 给想转行作程序员的人泼一盆冷水 算法优化人生之 —— 调度算法 杭州最适合闲来溜达的几条路线 2018 平淡无奇 突闻金庸先生逝世有感 十年博客折腾历史 数据可视化之 Sankey 桑基图的实现 研究生生涯总结 如何在不规则多边形内均匀撒点的算法 Web 前端中的增强现实(AR)开发技术 参加 Google Summer of Code 的体验 netjsongraph.js – Google Summer of Code (GSoC) 2017 summary 如何在 GitHub 上获得数百 stars Markvis - 在 markdown 中生成可视化图表 D3 force layout and WebGL integration 文本数据可视化(下)——一图胜千言 我获取信息的渠道 数据可视化基础——视觉编码 数据可视化基础——数据模型 数据可视化基础——可视化流程 为什么要用 Emacs Vega-Lite: A Grammar of Interactive Graphics 如何搭建一个私人网盘 如何阅读一篇学术论文 超过十个人的微信群根本没有价值 毕业后的两年 建立索引式的学习方法 为什么我喜欢写代码 写文章的小技巧 为什么文章写得好的人都很厉害 人总要有点盲目的自信 如何管理好自己的密码 Backbone View 之间通信的三种方式 Vim - 适合自己的,才是最好的 轻松玩转 Ukulele 告别社交网络有多难 双拼学习记 CoffeeScript 编码风格指南(译) CoffeeScript 笔记 CSS 最核心的几个概念 响应式设计简易指南(译) 初识 TDD Collapsing margins——合并的外边距 菜鸟级 Mac 配置(二) 菜鸟级 Mac 配置(一) CSS 编写原则 Goodbye,我的大学 如何新建一个 Cocos2d-x 项目 Windows8.1 下 Cocos2d-x 环境搭建 Android 开发如何入门 如何绑定独立域名 写博客就用 FarBox 尝试改变微信公众账号消息的推送方式 情似流水 操作系统总结——存储器管理 操作系统总结——处理机管理 操作系统总结——引论
文本数据可视化(上)——从 Wordle 谈起
GeekPlux · 2017-04-12 · via GeekPlux

本文首发于:GraphiCon 知乎专栏-文本数据可视化(上)——从 Wordle 谈起。原文地址:https://geekplux.com/2017/04/12/text-data-visualization-wordle

看到题目,你可能一脸懵逼,什么是 wordle?下面这幅图就是:

是不是很熟悉?大到宣传海报,小到个人名片,Wordle 如今随处可见。它可以轻松的展示出一段文字的关键词,让我们对这段话的内容一目了然。其实这属于数据可视化中的文本内容可视化,常用于社交网络中的内容分析,还记得前几年微博有有个插件(现在似乎找不到了),用户可以一键生成自己的微博关键词,当时引起了大量转发,因为很多用户的关键词出乎意料,让自己都大吃一惊。本文就从最简单的 Wordle 说起,说说文本内容可视化,以窥数据可视化一隅。

为什么要有 Wordle?

其实要回答这个问题就要回答为什么要做数据可视化。我们先看下面这段话:

GraphiCon 取 GraphicsCon 图形控之意(类比 lolicon)。 我们会把我们觉得有趣的,好玩的,有用的图形学相关的技术,知识,想法,资讯放到 GraphiCon 这个小空间里。 GraphiCon 的 po 主们虽然遍布天涯海角,在从事着不同的事,但都是痴迷计算机图形学的小伙伴们。 只要你也对计算机图形学感兴趣,或者喜欢好玩有趣狂拽酷炫的图形项目,那么你也是 GraphiCon!

一眼扫过去,你可能能轻松地注意到 GraphiCon 出现了 4 次。而还有个关键词「图形」,虽然出现了 5 次,但显然没有 GraphiCon 醒目。平时阅读比较快的同学可能有一目十行的本领,其本质就是关键词提取。瞬间了解一段话的大意,进而判断要不要花时间去读。但这完全取决于你个人提取关键字的能力。如果换一种图形的形式,可能就会非常直观:

看这张图明显比看枯燥的文字要直观的多,而且还意外发现了「计算机图形学」这个词的频率竟然也挺高。它在原文中出现了两次,这是我们单纯看文字很难发现的。不过,这幅图还不是最好的效果,你可能也发现:除了词频高的词,其他关键词很小,根本看不清;而且整个布局很零散,空白太多,没有一种聚合的感觉。

这幅比上面的又稍美观了一点,同时对词的重要性也进行了重新统计,不再是单纯的根据词频。可能你觉得还不够美,那这样:

哈哈,还有很多好玩的,不过例子中这段话的篇幅太短,关键词太少,所以显得不是很紧凑,很多更酷炫的样式也不适用了。

至此,我们可以总结一下 Wordle 的作用:

  • 把枯燥的数据直观地呈现出来,使人更好的洞察数据
  • 更有利于数据分析(比如发现「图形」才是出现最多的词)

其实数据可视化就是把复杂的数据转化为直观的图形,方便人们洞悉。而且刚才这个例子还只是最简单的文本数据,如果是非常复杂的数据,普通人根本看不懂的那种,就更需要数据可视化为我们抽丝剥茧,完美呈现。关于可视化的必要性我会慢慢渗透到之后的每一篇文章中,接下来开始介绍 Wordle 的制作过程。

文本信息的提取

任何的数据可视化都离不开三大步骤[1]:分析、处理、生成,Wordle 亦然[2]。如何从一段文字变成一张优美的图片,我们大概要经历以下步骤:

  • 提取关键词(去掉冗余的文字)
  • 计算关键词权重(决定哪些词着重显示)
  • 布局(算出每个词摆放的位置)

第一步中,英文的分词相对中文来说简单的多(在创作本文的过程中,我几乎是找遍了中文标签云制作工具,没发现一款分词做的好的),把单词都分开后,去掉一些助词如 the、a、that 等,再把单词的时态语态还原就好了。第二步最常用的就是计算词频了,一个词出现的次数越多它的权重越大(Wordle 就是用了词频)。除此之外,还有用单词在句子中的成分来判断其重要性的、有用各种概率模型的,这涉及到自然语言处理和文本信息挖掘,总之方法多种多样。另外,文本数据挖掘一直也是热门的研究话题,尤其是中文处理这道难以逾越的鸿沟。大家有兴趣可以自行研究。

设计

把单词任意排列的表现形式,最早的灵感来自于排版印刷:

上图是《数据可视化之美》的配图,分别来自美国国家设计研究中心和古埃及草纸。95 年在动漫作品 EVA 中,词云的表现形式也有所体现[4]。

这种看似杂乱无章的排布,恰恰与人类的跳跃思维相契合,人脑的思绪随着视觉的跳动也跟着不断联想。

而在计算机上,最早的文字可视化其实是「标签云」。当年博客爆发的时代,几乎每个博客里都有一个这样的插件:

它用文字的大小和颜色的深浅来表达了文字在文本中的重要性,比你单纯看一段文字要直观的多。但它的缺点也很多:从美的角度来说,它同一行如果有一个词字体特别大则直接导致行距变大,不仅造成了空间的浪费,还让整体看起来非常不整齐、不协调;从信息展现的角度来说,字体的深浅大小不能更好的体现差异,比如上图中 good 的权重是 50,而 life 的权重是 20,但它俩看起来的差别并不大。

后来出现的 Wordle 针对这些缺点一一作了改进。首先它用字体的粗度来加深权重的展示,因为人的视觉对面积的感知比对饱和度的感知要强,所以加粗字体效果拔群;其次 Wordle 用紧凑的布局给人以美的享受,你甚至可以给定形状来生成不同的 Wordle。

Wordle 具体采用的算法是贪婪算法,最开始在给定区域内把最重要的单词先摆到某个位置(这个位置你可以指定,一般是中心线),然后用下个单词在它的旁边不停做交叠测试,直到没有重叠。依次迭代,直到每个单词都摆放好。

Wordle 有什么不足之处

虽然 Wordle 的设计已经很美观,但作为一个有批判性思维的少年,我们还是要对它批判一番:

  • Wordle 美观程度很大程度依赖于它所选的字体。相信你也见过宋体中文的 Wordle。。
  • 相同权重的单词,可能越长的显得权重越大,因为它占得面积更大。
  • 颜色意义不大。不过现在这个好像变成了优势,使它可以与不同图片结合。

除此之外

Wordle 算是文本内容可视化中最经典的形式,除此之外还有一些更有趣的,比如下图的 DocuBurst [4]。它用环形布局巧妙地展示了文本的层级关系,外圈的单词是内圈单词的下一层。

正所谓“一图胜千言”,文本可视化把枯燥的文字变成有趣的图片帮助人们加深理解,可以说是功不可没。如果有兴趣继续了解可视化相关的内容,敬请期待下一期。