关于标签云算法的实现

joyqi
  • 15.5k

标签云大家应该都很清楚,现在也有很多比较成熟的展现方式,但是我要说的是,像下面这种标签云的展现算法是如何实现的,有人有这方面的想法吗

标签云

回复
阅读 12.3k
5 个回答

如果能做好一个填充算法固然好了
但也是可以投机取巧一点,事先定义好几个模板,然后往里面填充内容的

清华的这个用的是pyTagCloud库实现的,python. PHP怎么搞?有一种思路,但是效率太低:先讲文字画到一个canvas,然后对这个canvas逐个getpixel进行空白区域判断。低效。。。

reflink: PyTagClould: https://github.com/PaulKlinger/PyTagC...

搜了一下,http://166.111.138.15:8080/qqweibo/ “微博关键词,是清华大学自然语言处理组开发的一个自然语言处理应用平台。该应用利用自然语言处理的关键词抽取技术,分析用户近期发表微博内容, 提取代表用户兴趣的关键词,并采用文档可视化技术对关键词进行可视化,便于用户快速了解自己、好友、主题等的关键词。”

后台程序不详,应该是把关键词按照优先度先后一一摆放,由于背景色是纯色,因此可以检测画布未填充色彩的像素范围(位置够大的话就可以随机摆放了),取得长方形的规则区域,然后检查下一关键词宽度长度是否合适放在该区域,重复下去。

上面的网址只能用ff开,chrome,ie都没反应。
这个问题前一段时间和室友讨论过这个问题,我们大致思路就是把一个单词当作矩形来处理,再就是碰撞判断,然后插入,也做出了demo。
但这种的问题就是没法吧小单词放到大单词的空隙中。

你知道吗?

宣传栏