文章信息

网站标签云(TagCloud)的实现

发布时间:『 2017-09-04 05:54』  文章类别:技术开发  阅读(2185) 评论(0)

周末闲来没事,就给网站实现了一个标签云(TagCloud)功能,我的网站3D标签云实现了15个网站文章热词,且根据算法得出权重分大小显示。前端实现通过TagCanvas的3D样式标签实现js,TagCanvas是一个功能很全面的极大的支持个性化的3D球形标签显示js;后端采用HanLP分词、提取权重,HanLP是由一系列模型与算法组成的Java工具包,它功能完善、性能高效地提供汉语言分词、词法分析、句法分析、语义理解等完备的功能。

前端实现很简单,引入jquery.tagcanvas.js,在页面的加载方法中加入选择页面指定位置添加funciton tagcanvas,这里需要注意的是如果tagcanvas.js中默认option中weight的值为false时,我们需要在页面调用tagcanvas方法时设置weight的值为true,这样设置页面显示根据标签权重高低按字体大小显示。其他option可以按个性化设置,如字体颜色、权重模式、3D球体旋转速度等。

后端实现,引进hanlp-portable-1.3.4.jar,获取网站所有需要提取的文本资料document,然后使用HanLP进行分词提词,并采用TextRank算法计算权重。具体的是

Map<String, Float> tagCloud = 

        new TextRankKeyword()

        .getTermAndRank(document, 15);

这样获取到关键词的权重值,再根据tagCloud对权重进行重设,将权重最高的权重值设置为20,其他关键词权重值按相同比例计算得到相应的值。并将这个tagCloud传到页面放到tagcanvas地方,注意字体大小设置为权重值的大小即可。


参考资料:

1.TagCanvas - an HTML5 Canvas Tag Cloud

2.TextRank算法提取关键词的Java实现-码农场

评论信息
暂无评论
发表评论
验证码: 
当前时间
小主信息

愿历尽千帆,归来仍少年。
3D标签云

Anything in here will be replaced on browsers that support the canvas element

友情链接

Copyright ©2017-2024 uzen.zone
湘ICP备17013178号-3