首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >支持1词频的Tag Cloud算法

支持1词频的Tag Cloud算法
EN

Stack Overflow用户
提问于 2011-10-25 23:20:04
回答 1查看 732关注 0票数 2

我希望在Objective-C中创建一个标签云,并且我正在尝试找到一个好的算法。我试过几个,一开始似乎工作得很好,但它们都有一个缺点:如果出现频率最低的单词和出现频率最高的单词出现的频率一样高,整个过程就有缺陷。

示例(Google中的第一个算法):

代码语言:javascript
运行
复制
var multiplier = (maxPercent-minPercent)/(max-min);
var size = minPercent + ((max-(max-(count-min)))*multiplier);

在这里,如果min = 5,max = 5,maxPercent = 300,minPercent = 75,count = 5,那么您将得到:

代码语言:javascript
运行
复制
var multiplier = (300-75)/(5-5) ----- division by 0, impossible
var size = 75 + ((5-(5-(5-5)))*multiplier);

所以我的问题是,有没有标签云算法可以考虑到这一点,并能够计算每个单词的字体大小,即使最大频率等于最小频率?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-10-25 23:29:26

尝试以下操作:

代码语言:javascript
运行
复制
var multiplier = (maxPercent-minPercent)/(max-min+1);
var size = minPercent + ((max-(max-(count-min)))*multiplier);

据我所知,它很好地解决了您的问题;同时,只要频率是可区分的,+1就不会改变太多。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7891594

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档