一个简单的可视化工具用于展示单词计数是什么?

3

我有一个文本文件,其中记录了语料库中某个短语出现的次数。文件的格式如下,短语和其计数之间用“=”分隔:

phrase1=100
phrase2=156
... and so on

有什么好的简易可视化工具可以使用此文件(或稍作修改),以气泡的形式为我提供美观的可视化,其中气泡大小与短语计数成比例。我希望短语写在气泡内。

2个回答

7

您在原帖中提到的绘图类型(气泡图)也称为气球图。

您的问题标题涉及到直观地显示给定文本中的词频的更一般性问题。鉴于此,或许值得一提的是信息图表领域的专家批评气泡图,因为该图表基于将数据值映射到圆形区域上。

不幸的是,就我所知,这些专家并没有就可行的替代方案达成共识。

我能想到的用于显示术语频率的最佳替代方案通常被称为标签云

Yihui Xie在他的博客Statistics, R, Graphics, and Fun上写了一个创建标签云的绝妙教程。他的教程之所以绝妙,有两个原因——它写得非常好,具有逐步代码,而且结果很漂亮。

请参考R Bloggers上的教程,了解如何创建更好的标签云。

但是,如果您需要气泡图(也称为气球图),请看这里。

在R中创建它们非常简单。在优秀的Flow Data网站上,有一个详细的、一步一步的教程,可以帮助您创建和修饰气泡图。

此外,R包gplots(可在CRAN上获得)包括一个名为balloonplot的函数,可以直接绘制这些图形。

来自Flowing Data网站:

enter image description here


1

嗯,我不确定我完全理解您所说的气泡图形的想法。对于许多短语,我觉得这看起来不可行。您是否看过GraphViz

我曾经做过类似的项目,用于计算维基百科中的单词数量:

Wikipedia Frequency List

我知道的最好方法是使用双对数刻度。你可能可以在图表上添加一些短语。我用Xmgrace创建了所有的图形这里


感谢Ross的回复。通过Bubble图形,我实际上指的是这个:http://mbostock.github.com/d3/ex/bubble.html,它展示了气泡,而在我的情况下,气泡的半径应该与文本中写入的字数成比例。 - London guy
好的。如果您知道如何打包所有圆形,那么只需使用简单的程序生成SVG文件,然后在Inkscape中打开并生成PNG即可。 - Ross
赞同Ross的评论:对于真实的自然语言处理工作,提出的可视化不会有帮助。您将拥有许多长尾数据(Zipf分布),即对您对问题的整体理解影响较小的最小气泡,并且为除了玩具数据之外的任何内容生成图形将需要大量的处理时间。 但也许您的问题非常专业化,因此您只有几百个标签? 也许您可以澄清一下您的使用场景? 但从技术上讲,GraphViz / dotty对此应该是可以的。 - tripleee
是的,直方图文件中最终词条的数量很少,因为我只提取名词短语及其频率。 - London guy

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接