java 标签云_网站标签云(TagCloud)的实现

周末闲来没事,就给网站实现了一个标签云(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 tagCloud =

new TextRankKeyword()

.getTermAndRank(document, 15);

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

参考资料:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值