基于词频统计的文本可视化实现

2016-12-15 02:47
软件 2016年11期
关键词:词频文档可视化

朱 巧

(北京邮电大学 网络与交换国家重点实验室, 北京 100876)

基于词频统计的文本可视化实现

朱 巧

(北京邮电大学 网络与交换国家重点实验室, 北京 100876)

随着海量文本的涌现,信息超载和信息提取速度慢等问题促使了文本可视化技术的出现。文本可视化通过对文本资源的分析,提取信息,并以图形化方式呈现出来,为人们提供了一种快速获取文本关键信息的有效手段。在介绍了文本可视化的概念和重要性的基础上,着重阐述了基于词频统计的中文文本可视化的实现方法。基于某微博账户的微博数据,首先使用TF-IDF算法进行关键词提取,得到带有权重的词语,然后基于SVG技术和四叉树算法,实现了文本布局算法。最后得到的可视化效果良好,能全面、直观地反映出用户的兴趣和关注点。

文本可视化;关键词提取;四叉树算法;TF-IDF

本文著录格式:朱巧. 基于词频统计的文本可视化实现[J]. 软件,2016,37(11):114-117

0 引言

文本信息在生活中无处不在,日常中的书籍、邮件、咨询、新闻,都是以文本作为载体。随着信息技术的发展,信息量呈现出爆炸增长,人们通过阅读获取和理解信息的速度明显滞后。传统的文本分析技术,比如文本聚类、语义分析等,能在一定程度上挖掘出文本数据中的主要信息,但是人在理解这些挖掘结果的时候仍然存在困难,文本可视化在这样的背景下产生。

文本可视化是数据可视化的一个重要主题,它利用可视化技术让人直观地认识数据,为人们提供了一种理解复杂文本的内容、结构和内在规律等信息的有效手段。俗话说,一幅图胜千言万语,通常情况下,人们从图像中获取的信息比直接从大量文字中获取的信息更快速、准确,信息量也更多。

微博作为新兴媒体,在人们的生活中日益流行。对微博中用户行为的统计、分析,和微博内容中信息的挖掘等成为了研究的热点。本文希望能够通过文本可视化的手段,清晰地反映微博账户的关注点。

1 文本可视化的相关理论

就文档类别来说,可以把文档分为单文本、文档集合和时序文本数据三个类别;从一篇文档本身来说,又包含词语、语法和语义三个层级。文档的这些属性使文本信息的分析需求更为丰富。例如,在分析新闻报道时,分析的重点是能概括新闻的内容。而对于一系列跟踪报道所构成的新闻专题,人们不但关注每一时间点的具体内容,还包括新闻热点的随着时间的变化趋势。针对文本信息和属性的多样

性分析需求,人们提出了很多具有特性的可视化技术。通常,文本可视化可以分为基于关键词的文本可视化、基于文本关系的文本可视化这几类[1]。

1)基于关键词的文本可视化

当遇到海量文本时,人们需要对整个文本的关键内容进行快速概览,这种场景适合使用基于关键词的文本可视化。关键词指的是从原始文本中提取的能反映文本内容的侧重点的语义单元。提取文档中关键词的原则多种多样, 其中最常见的方法是使用词频来反映文本特征,通常认为单词的重要性与它在文档中出现的频率呈正比。

2)基于文本关系的文本可视化

这种可视化方式的关注点在于文本内部或者文本所在的文本集合的关联信息,包括文档之间的引用信息、从文档中提取的结构信息等。常用的手段有树状图和节点连接的网络图。

本文主要针对基于词频统计的文本可视化方法进行了深入研究。

2 基于词频统计的文本可视化

随着微博的日趋流行,对微博中用户行为的统计、分析,和微博内容中信息的挖掘等成为了研究的热点。本文统计了新浪微博中某个账户发布的微博内容,希望能通过可视化方法,反映出该账户用户的关注点信息。

2.1 可视化设计

标签云是常用的基于词频统计的可视化方法,也称为词云、文字云。标签一般是独立的词汇,常常按字母顺序排列,其重要程度又能通过改变字体大小或颜色表现,所以标签云可以灵活地依照字母顺序或热门程度检索一个标签。这样的特性使标签云适用于展现热点的话题或者特性,因此选取标签云作为用户微博内容的呈现方式。

文本可视化系统通常涵盖了三个步骤[2],本文工作也按照这个步骤进行:

1)挖掘文本中的特征信息;

这个阶段需要进行信息收集和数据预处理,然后针对可视化的目的和需求,通过各种数据处理的手段提取出文本中的特征信息。

2)可视化设计和呈现;

针对提取的特征信息,用适合的可视化表达方式,通过图形设计和计算机编码等手段进行可视化实现。

3)用户与信息图的交互。

2.2 文本信息提取

标签云展示的是文本中出现频率高的词语。在文本信息提取过程中,需要通过对原始文本进行关键词抽取、归一化处理等操作,提取出带有权重的单词。

常用衡量词频和权重计算方法有很多种,如布尔权重法、熵函数和TF-IDF权重法。其中最常用的是TF-IDF权重法,该方法算法相对简单、并有较高的准确度和召回率,所以一直受到相关研究人员和众多应用领域的青睐。

TF-IDF方法由Salton等人提出[3],它的基本思想是,具有较高权重的单词,应该在该篇文档中出现次数较多(TF),而在其他文档中出现次数和范围都较小(IDF)。计算单词权重的公式为:

weighti,j=tfi,j*idfi=tfi,j*log(N/nj) (1)

在上式中,tfi,j是指特征项tj在文档中出现的次数;idfi是指出现特征项tj的文档的数量的倒数。N表示总文档数量,nj指出现特征项tj的文档数。

本文采用TF-IDF权重法进行关键词提取,由于只在当前文档中选取,所以不需要逆向文件频率(IDF)文本语料库。对收集了某微博账号一个月发布的微博之后,对其发布的微博内容提取的部分结果如下:

表1 关键词提取结果Tab.1 The result of keyword extraction

为了方便进一步地展示,需要对权重值进行归一化处理,使最终的权重分布在0到1之间,选取的归一化公式为:

其中,wi代表某个词语的原本权重值,min代表所有词语的权重值中的最小值,max代表所有词语的全种植中的最大值,wi′代表进行归一化之后的结果。

完成文本信息提取之后,需要进行图元布局的设计和实现。

2.3 标签云布局算法的实现

目前,已经有一些算法和项目对标签云的布局算法进行了实现,其中最为出名的是Jonathan Feinberg的Wordle[4]。在这个项目用Java Applet实

现了很好的标签云布局效果。虽然Wordle在布局实现上已经非常成熟,但是该项目仍有一些缺陷:首先,它不支持中文作为输入,这让它的使用场景有了很大限制;其次,它把布局结果生成了一张图片,无法进行交互,很大程度影响了用户体验。

为了提高交互性,同时兼顾跨平台性,本文基于SVG(Scalable Vector Graphic)技术,实现了标签云的布局算法。SVG是基于扩展标记语言XML的一种二维矢量图格式。由W3C组织于2000年正式发布[5]。相对于其他的图形格式,如PNG、GIF、JPEG等,SVG有卓越的优势:

1. 可收缩性。SVG作为一种矢量图格式,与栅格化格式的图像相比,图形可以按照任意尺寸缩放而保存本来的清晰度。

2. 交互性强。由于SVG完全支持DOM(文档对象模型),因此SVG中的图形对象完全可以通过脚本语言,比如JavaScript来接受外部事件的监听和处理(如鼠标点击,鼠标悬停等动作),以实现自身或对其他图形对象的控制。

3. 跨平台性良好。SVG并非仅仅是一种图像格式,由于它是一种基于XML的描述语言,意味着它完全继承了XML语言的跨平台性和可扩展性。因此,SVG可以很好地跨平台工作,该标准一经推出立刻得到了包括Apple,Autodesk,IBM,Google,Microsoft,Netscape, Sun在内各大公司的实现和支持。

选用SVG作为图形绘制格式后,在标签云的实现上,需要重点考虑单词的尺寸、颜色、布局,以及用户的交互。通常来说,标签云把单词按照频度或者权重递减的顺序进行排列,频度或者权重与单词显示的尺寸呈正比。常用的标签云布局有水平排列布局,而为了效果更加美观,在一些设计中标签云形成不同的外形。为了效果美观,也能通过编程实现,本文将单词沿着螺旋形状的路径布局。其布局算法步骤为:

1. 获取输入的词语列表,该列表是按照词语的权重进行排序的,每个词语包括内容和权重两个属性。

2. 从权重最大的一个词语开始遍历列表,对于列表中的每一个词语,首先根据词语本身长度和权重值计算出词语的尺寸。

3. 在螺旋路径的某一个位置上,试图将词语放置上去。

4. 检测当前词语是否与已经放置的词语发生了碰撞。

5. 如果没有发生碰撞,那么这个单词放置的位置是合理的,完成当前单词的放置,继续放置下一个单词;如果发生碰撞,则返回第3步,重新放置当前的单词。

整个流程如图1所示。在这个算法中,影响算法复杂度和效率的关键部分在于碰撞检测,也可以说是重叠检测。如果每次检测都遍历所有单词,那么复杂度为O(n2),效率过低。为了提高二维空间中碰撞检测的算法速度,四叉树被广泛应用[6]。四叉树是一种常用的数据结构,可用于描述二维空间。在进行两个物体的碰撞检测时,其基本思想是先把空间用横竖两条坐标轴等分成4象限,一个物体通常只在其中的某个象限,如果两个物体所在的象限不同,那么确定不发生碰撞;如果检查到所处象限相同,则把这个象限再往下分割成4个子象限。使用四叉树算法可以让碰撞检测的时间复杂度从O(n2)提高到O(nlogn)。

图1 布局算法流程图Fig.1 The flow chart of layout algorithm

图2 文本可视化结果Fig.2 The result of Text Visaulization

3 文本可视化实现效果

图2展示了基于词频统计的文本可视化最终实现效果,可以看到单词在平面上的布局均匀、美观,并且很少有重叠的单词。在关键词提取过程中拥有

较大权重的关键词的尺寸更大,不同关键词的重要性在标签云中一目了然。鼠标悬停在单词上时,右侧展示出跟这个单词相关联的微博,具有很好的交互性。

4 结束语

文本可视化是可视化的热点研究内容,它利用文本处理技术和计算机图像的技术,把文本中的信息用图形的形式展现给用户,帮助用户理解这些信息。

本文首先介绍了文本可视化的相关理论知识。然后着重介绍了基于词频统计的文本可视化的实现,并以用户微博数据为基础,进行了信息提取、图元布局设计和布局实现。最终的实现效果良好。

[1] 刘芳. 信息可视化技术及应用研究[D]. 浙江大学, 2013. LIU F. Study of Information Visualization[D]. Zhejiang University, 2013.

[2] 唐家渝, 刘知远, 孙茂松等. 文本可视化研究综述[J]. 计算机辅助设计与图形学学报, 2013, 25(3): 273-285. TANG J Y, LIU Z Y, SUN M S, et al. A Survey of Text Visualization[J]. Journal of Computer—Aided Design 8L Computer Graphics, 2013, 25(3): 273-285.

[3] 施聪莺, 徐朝军, 杨晓江等. TFIDF算法研究综述[J]. 计算机应用, 2009, 29(z1): 167-170, 180. SHI C Y, XU C J, YANG X J, et al. Study of TFIDF algorithm[J]. Journal of Computer Applications, 2009, 29(z1): 167-170, 180.

[4] FERNANDA B V,MARTIN W, JONATHAN F, et al.Participatory Visualization with Wordle[J]. IEEE transactions on visualization and computer graphics, 2009, 15(6): 1137-1144.

[5] KIM E, HUANG X, TAN G, et al. Markup SVG—An Online Content-Aware Image Abstraction and Annotation Tool[J]. IEEE transactions on multimedia, 2011, 13(5): 993-1006.

[6] 关振群, 宋超, 顾元宪等. 有限元网格生成方法研究的新进展[J]. 计算机辅助设计与图形学学报, 2003, 15(1): 1-14. GUAN Z Q, SONG C, GU Y X, et al. Recent Advances of Research on Finite Element Mesh Generation Methods[J]. Journal of Computer-Aided Design & Computer Graphics, 2003, 15(1): 1-14.

The Realization of Text Visualization Based on Word Frequency Statistics

ZHU Qiao
(State Key Laboratory of networking and switching, Beijing University of Posts and Telecommunications, Beijing 100876, China)

Along with the emergence of massive text, the problem of information overload and the slow speed of information extraction prompted the emergence of text visualization. By analyzing the text, extracting the information and presenting it in a graphical way, text visualization provides an effective way to extract the key information of a text. After introduce the concept and importance of text visualization, emphatically expounds the realization of text visualization based on word frequency statistics. A micro-blog account’s data is chosen as the source data. First, use the TF-IDF algorithm for keyword extraction, and get keywords with weight. Then, realize the text layout algorithm based on SVG and quad-tree algorithm. The visual effect is good, and it can fully and directly reflect the account’s interests.【Key words】: Text visualization; Word frequency statistics; Quad-tree algorithm; TF-IDF

TP391

A

10.3969/j.issn.1003-6970.2016.11.025

朱巧(1992-),女,硕士研究生,主要研究方向为数据可视化。

猜你喜欢
词频文档可视化
基于CiteSpace的足三里穴研究可视化分析
浅谈Matlab与Word文档的应用接口
基于词频分析法的社区公园归属感营建要素研究
基于Power BI的油田注水运行动态分析与可视化展示
有人一声不吭向你扔了个文档
基于CGAL和OpenGL的海底地形三维可视化
“融评”:党媒评论的可视化创新
基于RI码计算的Word复制文档鉴别
Persistence of the reproductive toxicity of chlorpiryphos-ethyl in male Wistar rat
词频,一部隐秘的历史