一种基于占用矩阵的词云图可视化方法技术

技术编号:10007685 阅读:235 留言:0更新日期:2014-05-07 13:54
字号表示词频可视化文本概要的词云图,以初筛选和归纳性显著提高海量非结构数据使用效率。重叠检测是词云可视化难点,现有算法词组两两比较去重叠,时间复杂度高,速度慢。本发明专利技术提出一组基于占用矩阵的词云图可视化方法,包括:纵横交错词云、任意角度词云和基于占用矩形的词云。采用占用矩阵、边线检测、随机位置、旋转画布和坐标变换技术,将逐一比较转化为一次计算,复杂度降低,解决任意角度重叠。输入为具有一定格式的文本统计数据,输出为可适形、横向、纵横交错、任意角度、字模提取、近大远小、带分类标签具有随机性的组合布局词云,宏观展示文本重点,直观比较数据差异,可广泛应用于文本挖掘和可视化领域。

【技术实现步骤摘要】
一种基于占用矩阵的词云图可视化方法
本专利技术属于数据挖掘和数据可视化领域,涉及一种词云图可视化方法,具体设计了一组基于占用矩阵的任意形状、任意角度、无重叠、字模提取、具有语义分类的词云图可视化算法。
技术介绍
词云图(WordCloud)是一种富信息文本可视化技术,通过布局算法用文字大小表示词频,辅以多种色彩显示,直观反映词组重要性差异,展示文本关键摘要信息。近年来,词云图作为极富表现力的可视化载体,广泛应用于网站导航、社会化标签呈现、Web文本分析以及各种文本挖掘和可视化场景。词云图起源于标签云。标签云(Tagclouds),早在1997年已被作为网站可视化导航手段,用字体大小表示标签频数,文字逐行水平排列。2002年,照片分享网站Flickr用标签云表示标签流行程度。随后,网络书签应用del.icio.us也采用它标注用户的大量社会化标签。此后,大量网站使用标签云,导航离散的分类信息,点击标签链接进入相应的内容页面,统计易用性使它成为Web2.0时代的显著标志之一。近年,通过用户输入创建标签云的专业网站出现,包括TagCrowd、TagCloudGenerator以及IBM的可视化分享网站ManyEyes。标签云在布局复杂美观以及应用的延伸,逐渐演变发展了另一种独立的文本可视化技术——词云图。词云图通过色彩和布局增强了标签云的视觉效果,帮助人们简明扼要地了解文本的大体内容,实际上是一种离散的自动摘要生成和可视化工具。图1是标签云和词云图布局比较。标签云目前主要用于网站导航,而词云图用于各种文本可视化,但在某些情况下有相互指代之意,如维基百科中“WordCloud”词条直接指向了“TagCloud”,在百度搜索结果中也反映了两词相互指代的特点。1.国内外词云图应用沟通性和解说性是可视化的优势,特别用于向非专家用户描述一些专业抽象的信息。2008年美国总统大选期间,大量新闻报道采用词云图对比民主、共和两党候选人演讲用词,这一全新的文本可视化有效宣传了竞选核心理念。2013年我国“两会”期间,清华大学自然语言处理与社会人文计算实验室利用词云图对“两会”报告形象解读,产生了很强的社会反响,见图2所示。词云图的个人应用包括博客、微博、诗歌和歌词等文本统计和可视化。2008年6月,美国可视化学者JonathanFeinberg发布了一款在线词云图工具Wordle,词组布局遵循一定算法,水平或者垂直排列,充分利用空隙,形成内部紧凑、轮廓明显的视觉效果。Wordle实现用户在线输入文本数据,自动统计频数,用户设置字体、布局和配色方案,该网站日志显示每天平均约有1.4万访问量。Tagxedo也是一个在线词云制作工具,允许定义填充形状,有效丰富了可视化效果。此外标签云和词云图在线工具还有tagCloud、ImageChief、ABCya、Tagul、ToCloud和WordItOut。其中ABCya仅支持英文文本,自动过滤掉非英文字符,不能实现适形填充;WordItOut只提供了横向布局,也不能实现适形填充;Tagul能适形填充,生成标签云,不能添加语义特征;MakeWordMasaic能纵横交错适形填充,没有语义特征。这些工具只能在线使用,限制了在软件中集成、可视化的灵活性差,使用范围有限。清华大学孙茂松团队开发了一个在线“围脖关键词”词云工具,自动抽取关键词,分析微博用户言论并以词云显示,一定程度反映用户兴趣和经历,可以用于微博舆情监控。但其可视化布局的灵活性一般,没有实现任意角度词云。2.词云图布局算法Wordle采用随机贪心背包算法布局词组,先按词频降序排序,平方根变换词频和字体大小,对每个词组初设位置,如果与其他词组重叠,则通过增加极坐标半径调整坐标直到不重叠。由于每个词与已布局的所有词比较检测是否重叠,算法复杂度为O(n2),词组数超过百数量级后速度明显变慢,为此他们采用了三个优化技巧:采用层次边界盒子寻找词组边界;采用缓存技术先检测最可能重叠的词组;采用四叉树空间索引进一步减少重叠检测的次数。韩国学者在Wordle词云布局算法的框架下做了一些优化,提供了交互性更强的词云图工具ManiWordle。此外,Seifert等提出了一个优化的布局算法,实现了从矩形布局到任意多边形布局,以创建更加丰富的词云图。Gambette和Veronis提出了整齐布局的“TreeCloud”的词云概念。IBM的文本可视化研究团队刘世霞等基于复杂网络的力导向布局算法研究了保留上下文的动态词云可视化,然而力导向算法本身也具有O(n2)复杂度。3.目前词云图算法和应用存在的问题词云图一出现引起广泛关注,在新闻分析、文献比较、情报分析、舆情监控、试卷分析、工艺美术和创意广告等多个领域有应用需求,以期快速理解文本数据重点,挖掘潜在模式,提高数据的可理解性,丰富视觉效果。然而现有技术存在如下问题。(1)词云可视化的难点是处理重叠,以Wordle和力导向布局为代表的现有重叠检测算法,都将拟布局词组与已布局的所有词组逐一比较,无论如何优化,其算法本质具有O(n2)复杂度,速度慢,影响用户体验。(2)现有的工具和方法,仅能实现词云图可视化的无重叠、纵横交错、任意角度、居中布局、适形填充和多重语义的一种或几种,都不能实现全部的组合功能。(3)在线词云图工具,色彩、字体、字号参数配置手工完成,不利于大规模数据自动分析以及与其它可视化技术的集成,对色彩、字体和角度信息的语义利用不充分。(4)词云图在线工具不能嵌入软件中使用,难以实现和文本数据的无缝集成和同步,需要手工处理若干环节,仅适合生成单张的词云图。
技术实现思路
本专利技术提出一种基于占用矩阵的词云图可视化方法,生成任意形状、纵横交错、任意角度、字模提取、分类标注、配色可调、近大远小的词云,为各种词云图应用提供弹性组合解决方案。本专利技术一种基于占用矩阵的词云图可视化方法,对词频降序排序,根据可视区域开设一个以像素为单位的大矩阵,其元素置为0,最大词频词组中心与可视区中央坐标重合,占用的可视区子矩阵置为1,表示已占用;后续词组以极坐标布局在可视区,采用边线检测是否与已布局词组重叠,重叠则随机生成新坐标,再次检测是否重叠,迭代至不重叠;检测是否可以旋转,即旋转后不超出可视区,也不与已有词组重叠,能旋转的则按一定概率选择是否垂直旋转90度,不能旋转或未选中的保持原来状态;再次检测是否可以向中心靠近,逐步靠近中心检测重叠后停止,采用垂直水平双向快速移动,再采用垂直或水平单方向慢速移动,并将所占用的可视区子矩阵置为1,表示已占用。在此基础上又设计了任意角度旋转词云,通过随机生成词组基线坐标和随机旋转角度,旋转后检测四角是否超出可视区,超出则重新生成坐标和角度,检测四边是否与已布局词组重叠,重叠则重新生成坐标和角度,是否可以向第一个词组中心移动,不重叠则移动,旋转画布后打印词组,再将画布恢复,将旋转后词组占用的可视区置1。调整占用子矩阵的边界参数控制行距。本方法能够快速实现词组无重叠、纵横交错、任意角度、近大远小、字模提取、适形填充等组合布局,色彩、角度或字体标注分类信息,宏观清晰地分析文本重点,直观比较词组内涵的数据差异,可广泛应用于文本挖掘和可视化领域,提高数据的可理解性。一种词云图可视化方法,包本文档来自技高网
...
一种基于占用矩阵的词云图可视化方法

【技术保护点】
一种词云图可视化方法,其特征在于,包括如下步骤:步骤一:对于已排序的词组和词频,计算可视区域面积,对词频做规格化处理,词频表示字号,使所有词组、词频和词组字数表示的总面积小于可视区域面积;步骤二:设置一个以可视区域的宽W和高H为尺寸的矩阵M,称为占用矩阵,M=[H*W],将其所有元素置为0,表示未被占用;步骤三:将最大词频的词组布局在可视区中间,其所占用的M矩阵中的子矩阵元素(或仅字模像素区)置为1,表示该区域已占用;步骤四:为下一个词组按照极坐标分配布局位置,如果词组不在可视区内先移动到可视区,通过矩形边线检测是否该区域被占用,即不重叠,如果重叠则为该词组随机分配布局位置,继续检测是否重叠,直至不重叠;步骤五:检测是否可以旋转。将该词组垂直90度旋转后,检测是否与已布局词组重叠,不重叠则可以旋转,随机选择部分旋转,不能旋转或未选中保持原位置;步骤六:检测是否可以向中心靠近,垂直和水平方向同时向可视区中心移动一定步长,不重叠则继续移动,重叠后停止,撤回最后一次移动;逐像素检测垂直和水平单方向是否能靠近中心,能则移动直到重叠为止;步骤七:在可视区域打印该词组,并将其所占用的矩形区域的子矩阵(或仅字模像素区)置为1,表示已占用,转步骤四,所有词组布局完成后本方法结束。调整占用子矩阵的边界参数控制行间距。步骤八:(此步骤为可选项)对于词组内部造成的空隙,采用字模提取技术,字模像素与占用矩形区像素重叠才将占用矩阵对应元素置为1。步骤九:(此步骤为可选项)对于词组字数差异造成内部缝隙时,布局一定比例词组后,采用极坐标检测占用矩阵内剩余空白圆形区并存储其位置、半径和与中心的距离,按照与中心距离升序排序。对后续的词组布局时,从距离中心最近的空白区开始尝试,再检测是否重叠和是否可以旋转,如果所有空白区都重叠,则随机生成该词组坐标。步骤十:如果提前用已知的二值图形初始化占用矩阵M,可以填充生成任意图形的词云图。步骤十一:(此步骤为独立算法)在以上步骤基础上设计了任意角度旋转词云图。随机生成词组左下角基线坐标和随机旋转角度α,检测词组旋转后四角坐标是否超出可视区,超出可视区再次随机生成基线坐标和旋转角度,检测旋转后四边是否与已布局词组重叠,重叠则重新生成基线坐标和旋转角度,如果不是第一个词组,则检测是否可以向第一个词组中心移动,不重叠则移动,同样采用纵横双向快速移动和纵横单向逐像素移动,重叠后停止。按照旋转角度α旋转画布,打印词组后旋转画布‑α角度。步骤十二:如果预先对词组添加分类标签,可以用色彩、字体和旋转角度标注不同分类的词组,生成多重语义词云图。步骤十三:(此步骤为独立算法)一种基于迭代计算占用矩形的词云布局算法,通过将第一个词组布局在可视区中央,迭代计算其左上、左下、右下和右上剩余的矩形区域坐标和面积,按面积排序,对后续词组布局时,从面积最小的区域开始尝试,布局后计算新增加的2个矩形区域,将其中1个存储在所占用的矩形存储单元,只需新增1个存储单元,再次按照面积排序,迭代布局后续词组。...

【技术特征摘要】
1.一种词云图可视化方法,其特征在于,包括如下步骤:步骤一:对于已排序的词组和词频,计算可视区域面积,对词频做规格化处理,词频表示字号,使所有词组、词频和词组字数表示的总面积小于可视区域面积;步骤二:设置一个以可视区域的宽W和高H为尺寸的矩阵M,称为占用矩阵,M=[H*W],将其所有元素置为0,表示未被占用;步骤三:将最大词频的词组布局在可视区中间,其所占用的M矩阵中的子矩阵元素置为1,表示该区域已占用;步骤四:为下一个词组按照极坐标分配布局位置,如果词组不在可视区内先移动到可视区,通过矩形边线检测是否该区域被占用,即不重叠,如果重叠则为该词组随机分配布局位置,继续检测是否重叠,直至不重叠;步骤五:检测是否可以旋转。将该词组垂直90度旋转后,检测是否与已布局词组重叠,不重叠则可以旋转,随机选择部分旋转,不能旋转或未选中保持原位置;步骤六:检测是否可以向中心靠近,垂直和水平方向同时向可视区中心移动一定步长,不重叠则继续移动,重叠后停止,撤回最后一次移动;逐像素检测垂直和水平单方向是否能靠近中心,能则移动直到重叠为止;步骤七:在可视区域打印该词组,并将其所占用的矩形区域的子矩阵置为1,表示已占用,转步骤四循环,直至所有词组布局完成;调整占用子矩阵的边界参数控制行间距;步骤八:对于词组内部造成的空隙,采用字模提取技术,字模像素与占用矩形区像素重叠才将占用矩阵对应元素置为1;步骤九:对于词组字数差异造成内部缝隙时,布局一定比例词组后,采用极坐标检测占用矩阵内剩余空白圆形区并存储其位置、半径和与中心的距离,按照与中心距离升序排序。对后续的词组布局时,从距离中心最近的空白区开始尝试,再检测是否重叠和是否可以旋转,如果所有空白区都重叠,则随机生成该词组坐标;步骤十:如果提前用已知的二值图形初始化占用矩阵M,可以填充生成任意图形的词云图;步骤十一:在以上步骤基础上设计了任意角度旋转词云图。随机生成词组左下角基线坐标和随机旋转角度α,检测词组旋转后四角坐标是否超出可视区,超出可视区再次随机生成基线坐标和旋转角度,检测旋转后四边是否与已布局词组重叠,重叠则重新生成基线坐标和旋转角度,如果不是第一个词组,则检测是否可以向第一个词组中心移动,不重叠则移动,同样采用纵横双向快速移动和纵横单向逐像素移动,重叠后停止。按照旋转角度α旋转画布,打印词组后旋转画布-α角度;步骤十二:如果预先对词组添加分类标签,可以用色彩、字体和旋转角度标注不同分类的词组,生成多重...

【专利技术属性】
技术研发人员:刘连忠李春芳徐同阁陈梦东唐文忠
申请(专利权)人:北京航空航天大学
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1