标题 | 基于高频词汇的英文文本可视化 |
范文 | 刘春江 杨世瀚 杨宁 收稿日期:2011-06-25 〔摘要〕为探索高频词汇间上下文关系的远近,本文研究了一种基于英文文本中高频词汇的可视化算法流程,并进行了可视化实现。我们首先用统计算法从英文文本中抽取出高频词汇及词汇间的上下文,然后定义了3种词汇间的连接方式,计算出有上下文关系的词汇间的关系度,并通过k-means算法对词汇间的关系度进行聚类,以体现出词汇间关系的远近,最后利用放射状树布局对聚类结果进行可视化。通过这种可视化形式,我们能够快速理解英文文本的内容。 〔关键词〕文本可视化;高频词汇;k-means聚类算法;放射状树布局 DOI:10.3969/j.issn.1008-0821.2011.08.006 〔中图分类号〕TP391.43 〔文献标识码〕B 〔文章编号〕1008-0821(2011)08-0021-04 Visualization Based on High-frequency Words for English Text Liu Chunjiang Yang Shihan Yang Ning (Chengdu Branch of the National Science Library,CAS,Chengdu 610041,China) 〔Abstract〕Targeting at exploring whether high-frequency words context relations are close or distant,this paper studied on the algorithmic process of a kind of visual form based on high-frequency words in English texts and achieves this visual form.This paper firstly used statistic algorithm to extract high-frequency words and their context,then defined three kinds of context relations among words,compute values of relations among words that have context,cluster the values set through k-means cluster algorithm to show whether words context relations are close or distant.Finally,visualized these clustering results by means of radial layout graph.Through this visual form,can quickly understand the contents of the English text. 〔Key words〕text visualization;high-frequency words;k-means algorithm;radial layout graph 文本是一种最普通的信息载体,人们有各种形式的阅读方式,对这些阅读方式按照阅读目的不同进行划分,可以分成3种,包括事实性阅读、理解性阅读以及批判性阅读[1]。但是不管阅读目的如何不同,随之而来 的阅读方式有何差异,文本阅读基本上都是采用逐句阅读,联系上下文的方式来进行。一般来说,这种阅读方法耗时较多,而通过对文本进行可视化呈现的方式能够增强我们对文本内容的理解,提高理解的速度和深度。在已有的可视化项目中,有的项目侧重于对整个文本进行可视化,例如TextArc[2];有的项目侧重于对文本上下文检索的结果进行可视化,例如Word Tree[3];有的项目侧重于对文本中抽象出来的概念进行可视化,例如Themeriver[4]。这些可视化项目对我们理解文本具有重要的帮助作用,但是目前专门针对词汇间关系的可视化研究相对较少,而文本中重要词汇的关系能更好的体现文本内容所呈现的意义。 根据G.K.Zipf的发现,在大量英文文本中对单词进行词频统计,并从最高频到最低频进行排序,那么每个单词出现的频率与它的名次的常数次幂存在简单的反比关系[5]。 在本文中,高频词汇指的是英文文本中除停用词以外出现频率较高的词汇,这些高频词汇本身具有相对固定的含义,它们之间的连接关系对于我们分析文本的主旨,探索高频词汇在文本中的用途,寻找词汇间的搭配方式具有重要的意义。 1 词汇间的关系模型 在进行可视化之前,首先需要建立高频词汇间的关系模型。这种关系模型可以看作是一种节点关系模型。节点指的是文本中的高频词汇,关系指的是文本中这些词汇的上下文关系。我们通过3个步骤来建立这个关系模型,首先从文本中提取出高频词汇,然后定义了3种词汇间的连接方式,最后计算出词汇间的关系度,并利用k-means算法对关系度进行聚类来建立这个模型。 1.1 高频词的提取 高频词的提取过程包括4个阶段:文本的预处理,停用词处理,词干抽取,高频词提取。 1.1.1 文本的预处理 英文文本一般是由单词、数字、标点符号等组成,因此在文本的预处理阶段,需要去除单词以外的文本其它组成部分,最后形成由单词和空格组成的文本。 1.1.2 停用词处理 停用词指的是在对文本或数据进行自然语言处理前后被过滤掉的词汇[6]。在英文文本中,停用词是一些经常出现但是本身无意义或者意义比较抽象的词,英文中典型的停用词包括the、in、on等。我们进行停用词处理的时候采用的是一个通用的停用词列表[7],该列表包括429个停用词,基本上涵盖了英文中使用频繁的停用词。 1.1.3 词干抽取 词干是一个单词的主要组成部分,我们通常需要在不同的上下文中使用词干的不同变形。例如对于词干fish,它的动名词变形是fishing,过去分词变形是fished。但是在进行词频统计的时候,对于已变形的词汇,我们应该先抽取出其词干,然后和未变形的词汇一起统计。 在这个过程中,我们采用了Porter词干抽取算法[8]对已变形的词汇进行词干抽取。 1.1.4 高频词提取 经过前面3个步骤的处理之后,文本变成了由空格分隔的词汇集合,例如:“Static visualizations have long been used to support storytelling”经过处理之后,变成了“static visualization support storytell”。经过该词汇集合中的词频统计,我们从中提取了出现频率最高的20个词汇。相关算法如下所示: 初始化HashMap; for each 处理后的文本T中的词汇w do if HashMap的key中包含w; then 在HashMap中把key为w的对应value值加1; else 把w放入HashMap中; end for 对HashMap按照value值进行排序; 从排序结果中取出value值最大的前20个词汇。 1.2 词汇间的连接方式 在英文文本中,两个词汇之间的连接方式有3种:一种是直接相连,我们把这种紧挨着的连接方式定义为方式一;第二种是通过连接词相连,我们把这种连接方式定义为方式二;不属于前两种的情况归属于第三种,我们把这种连接方式定义为方式三。在文本中,要确定词汇间的连接方式是否属于方式一比较容易,因此问题的关键在于确定词汇间的连接方式是否属于方式二。 英语连词从结构上区分,主要有并列连词和从属连词两大类,其中并列连词连接2个或2个以上句法地位同等重要的词汇或分句,从属连词也被称为主从连词,在句中用于引导1个从属子句。在判断词汇间的连接方式是否属于方式二的过程中,我们使用了一定数量的连词。我们使用的并列连词有7个,从属连词有18个。 如上所述,两个词汇之间通常有3种连接方式,因此当我们在词汇之间设置一定的间隔之后,我们就能够找出两个词汇及其上下文的集合,然后就可以把集合按照不同的连接方式进行归类。我们从示例论文[9]中选取了一些文本内容作为我们的测试文本,我们把词汇之间间隔的单词数目设置为1个以内,通过查找,最终找到了182个上下文。 1.3 词汇间关系度的计算与聚类 1.3.1 词汇间关系度的计算 关系度是通过定量的方式来描述词汇间关系远近的值。通过关系度,可以判断词汇间的连接关系是否紧密、一般或者疏远。我们首先把前面定义的3种连接方式,分别定量地置为3(方式一)、2(方式二)、1(方式三),对于任意两个词汇间的不同上下文连接方式,计算出其算术平均值。 文本中data和story通过方式一连接的上下文数量为4个,通过方式二连接的上下文数量为4个,通过方式三连接的上下文数量为0个,根据前面的定量设值,得出data和story之间的关系度为2.5。 1.3.2 词汇间关系度的聚类 聚类的过程就是把一个数据对象集中的数据分组成多个类的过程,同时使得在同一个类内对象之间具有较高的相似度,不同类之间的对象差别较大。在聚类算法中,k-means聚类算法[10]是一个比较经典的算法,该算法具有对大型数据集进行高效分类的优点,其计算复杂度为线性,特别适用于对数值型数据聚类,因此我们采用该算法对词汇间的关系度进行聚类。 该算法的核心思想是找出K个聚类中心,使得聚类中所有对象到所属聚类中心值的距离最短。我们把计算出的所有词汇间的关系度当做一个数据对象集,从中指定3个数据对象为聚类中心,然后对该数据对象集中的数据进行聚类对于文本T,其中提取出高频词汇集合W,假设词汇间的关系模型C,构造C的具体算法如下: for each W中的词汇w1 do for each W中的词汇w2 do if w1和w2在同一个上下文中,并且词汇间隔小于等于1; then 在C中存储词汇w1及其在文本中出现的次数、词汇w2及其在文本中出现的次数、上下文、词汇间隔、连接方式等信息; end for end for for each W中的词汇w1 do for each W中的词汇w2 do for each C do if C中存储有词汇w1和词汇w2的信息; then从C中取出w1和w2的信息,在C1中存储w1和w2的连接方式r、上下文连接次数sum; end for for each C1 do 计算出w1和w2的关系度并放到数据对象集S; end for 从S中指定3个对象为聚类中心,取出所有数据对象的平均值,计算平均值与聚类中心值的均方差距离,根据计算结果的最小值对数据对象进行聚类划分,如果所有数据的平均值到所属的聚类中心值的距离最短,那么返回聚类结果,否则从步骤2重新开始循环,直到聚类中所有对象到所属聚类中心值的距离最短为止; for each C do 根据聚类结果,在词汇间的关系模型中设置关系类型; end for end for end for 2 可视化设计与实现 可视化实现使用的是Java,结合开源的可视化开发包Prefuse[11],下面分别从可视化设计和交互式实现两个方面来介绍。 2.1 可视化设计 我们采用的是放射状树布局[12]进行可视化呈现,放射状树布局结合了放射状布局和树布局的特点,把树中不同层次的节点按照圆半径的长短通过放射状的布局来显示,层次越低离中心越近,层次越高离中心越远。以词汇story为中心节点,其它词汇按照与story的上下文关系分布在中心节点的周围,与story有上下文关系的词汇离中心越近,与story无上下文关系的词汇离中心越远。 可视化图形中节点的大小按照词频的高低进行显示。由于有的文本所含的词汇数量多,有的文本所含的词汇数量少,要使得节点大小体现词频的高低,就需要对不同数量的文本设置不同的阈值。为了避免这种情况的发生,我们把所有的20个节点按照词频从多到少分成了3个层次,其中前3个词汇属于第1层次,在可视化图形中用大号字体显示;接下来的7个词汇属于第2层次,在可视化图形中用中号字体显示;最后的10个词汇属于第3层次,在可视化图形中用小号字体显示。 可视化图形中节点之间通过线条进行连接,我们定义了3种形式的线条,分别用粗线条表示词汇之间的连接关系紧密,细线条表示词汇之间的连接关系一般,虚线条表示词汇之间的连接关系疏远。 2.2 交互式实现 为了能够交互式查看不同节点的可视化图形以及相应的上下文内容,我们结合采用了文字编辑框和放射状树布局的动态探索技术[13]。文字编辑框中主要通过副文本显示了词汇间的上下文信息;放射状树布局的动态探索技术使得整个布局可以随着中心节点的变化而动态转换。因此我们把整个可视化区域可以分成左右两个部分,左边区域的文字编辑框除了显示了中心节点和图中其它节点之间的上下文,还可以根据用户与放射状树布局的交互,显示中心节点和图中其它节点之间有上下文关系的数量总和;右边区域主要显示了可以动态转换的放射状树布局。当story被选择的时候,与story有上下文关系的节点分别显示在story的四周,它们之间的连接线条被高亮显示,可视化图形的上方显示了story在文中的出现次数为62,左边区域显示了story和图中其它节点的上下文关系数量为22,以及story和图中其它节点的上下文内容。 3 结 论 本文基于英文文本中的高频词汇,实现了一种体现高频词汇间上下文关系远近的可视化形式。针对不同长短的英文文本,通过这种可视化形式,我们能够更快速更准确地理解文本内容。但由于抽取出的高频词中漏掉了不少本身在文本中具有重要意义,但是词频较低的词,因此在今后的工作中,我们将继续研究文本中的信息抽取,使得这种可视化形式在帮助理解文本的过程中更加有效。 参考文献 [1]Dan Kurland.Three Ways to Read and Discuss Texts[EB/OL].http:∥www.criticalreading.com/waysztozread.htm,2010-09-10. [2]W.B.Paley.TextArc:Showing Word Frequency and Distribution in Text[C].Proceedings of IEEE Symposium on Information Visualization,Poster Compendium,2002. [3]M.Wattenberg and F.B.Viégas.The word tree, an interactive visual concordance[J].IEEE Trans.on Visualization and Computer Graphics,2008,14(6):1221-1228. [4]L.Nowell S.Havre,B.Hetzler and P.Whitney.Themeriver:Visualizing thematic changes in large document collections[J].Transactions on Visualization and Computer Graphics,2001:9-20. [5]G.K.Zipf.Human Behavior and the Principle of Least Effort[M].Cambridge,MA:Addison-Wesley,1949. [6]Stop words[EB/OL].http:∥en.wikipedia.org/wiki/Stopzwords,2010-09-17. [7]Stop Word List[EB/OL].http:∥www.lextek.com/manuals/onix/stopwords1.html,2010-09-17. [8]M.F.Porter.An algorithm for suffix stripping[J].Program:electronic library and information systems,14(3):130-137. [9]Edward Segel and Jeffrey Heer.Narrative Visualization:Telling Stories with Data[J].IEEE Transactions on Visualization and Computer Graphics,2010,16(6):1139-1148. [10]k-means clustering[EB/OL].http:∥en.wikipedia.org/wiki/K-meanszclustering,2010-10-20. [11]Prefuse[EB/OL].http:∥www.prefuse.org,2010-10-03. [12]Di Battista,G.,Eades,P.,Tamassia,R.,and Tollis,I.G..Graph Drawing:Algorithms for the Visualization of Graphs.Upper[M].Saddle River,NJ:Prentice Hall,1999. [13]Yee,K.-P.,D.Fisher,R.Dhamija,and M.A.Hearst.Animated Exploration of Dynamic Graphs with Radial Layout[C].InfoVis 01,2001:43-50. |
随便看 |
|
科学优质学术资源、百科知识分享平台,免费提供知识科普、生活经验分享、中外学术论文、各类范文、学术文献、教学资料、学术期刊、会议、报纸、杂志、工具书等各类资源检索、在线阅读和软件app下载服务。