一加这两个破update搞的鸡飞狗跳暴露了准寨厂的尴尬。# PDA - 掌中宝x*02015-04-13 07:041 楼统计最近30分钟google的top 10 searched keywords -- getTop10InLast30mins(),需要经常调用。
I*a2015-04-13 07:042 楼【 以下文字转载自 Military 讨论区 】发信人: Tianzi (Sun Scracher), 信区: Military标 题: 几件小事可见当前学术界的堕落 (转载)发信站: BBS 未名空间站 (Thu Dec 19 19:22:46 2013, 美东)发信人: Tianzi (Sun Scracher), 信区: Biology标 题: 几件小事可见当前学术界的堕落发信站: BBS 未名空间站 (Thu Dec 19 19:22:22 2013, 美东)快过节了,该来点负能量,让痴迷于科研的年轻一代清醒清醒。事件1: 某国女刚做千老,就拜了老板为干爹。立刻得到各种好处,包括接手快出文章的项目(前面的第一作者被赶走后),然后提薪提职变成research AP。我好像又见到了港台演艺圈和黑社会。事件2: 某会议上,两个竞争关系的实验室老板仇人见面分外眼红,在对方讲座之后出言讥讽,就差动手了。斯文扫地啊。事件3: 有人对某PI的统计方法有异议,主要是在样本太小的情况下(n=3)用SEM而不是SD,从而看到显著差异。结果该PI一脸怒容,说其他人也是这样做的(确实不少人也是这么做的)。他们明知道不对,做了,而且要继续做,当作什么都没看见。事件4: 某实验室某明星千老,老板巨喜欢,从来实验只做一次,不重复。老板知道,但从来不说什么。后来该千老顺利找到AP。事件5: 某院长,没有任何拿得出手的学术成就,就是独断专行,硬把一德高望重的有很多funding的教授给气走了,连带着带走了几十人的团队和几百万的房顶,对该学校造成了很大的智力和财力损失。而该院长仍然老神在在。总之,劣币逐良币的趋势越来越明显。学术界越来越堕落了。一个重要原因就是PI制,让科学家变成了学术包工头学术奴隶主,而学校里更有很多职业政客,啥也不懂,就会搞关系。而政府也是一样,多的是政客,缺的是专业官僚,不懂科学的逻辑,整天想搞大科学,小实验室的生存越来越难,只能挂靠大牛学术包工头。年轻人在上学时是看不到这点的,所以老夫出来提醒大家。
x*y2015-04-13 07:043 楼【 以下文字转载自 Hardware 讨论区 】发信人: xuray (干 干 干), 信区: Hardware标 题: 一加这两个破update搞的鸡飞狗跳暴露了准寨厂的尴尬。发信站: BBS 未名空间站 (Mon Apr 13 13:32:18 2015, 美东)软件被掐住脖子,只有看人眼色的命,android的二道贩子也能搞的你生不如死。OTA出来还是等等吧,别急着当小白鼠了。从软件QC的角度来说,相比之下我软真是业界良心。
T*i2015-04-13 07:045 楼sigh【在 I*****a 的大作中提到】: 【 以下文字转载自 Military 讨论区 】: 发信人: Tianzi (Sun Scracher), 信区: Military: 标 题: 几件小事可见当前学术界的堕落 (转载): 发信站: BBS 未名空间站 (Thu Dec 19 19:22:46 2013, 美东): 发信人: Tianzi (Sun Scracher), 信区: Biology: 标 题: 几件小事可见当前学术界的堕落: 发信站: BBS 未名空间站 (Thu Dec 19 19:22:22 2013, 美东): 快过节了,该来点负能量,让痴迷于科研的年轻一代清醒清醒。: 事件1: 某国女刚做千老,就拜了老板为干爹。立刻得到各种好处,包括接手快出文章: 的项目(前面的第一作者被赶走后),然后提薪提职变成research AP。我好像又见到
j*u2015-04-13 07:046 楼说句外行话,自己没有系统的话,干嘛不直接用google的版本?我看nexus系列的系统也不难用,还是google的亲儿子,更新也容易得多。【在 x***y 的大作中提到】: 【 以下文字转载自 Hardware 讨论区 】: 发信人: xuray (干 干 干), 信区: Hardware: 标 题: 一加这两个破update搞的鸡飞狗跳暴露了准寨厂的尴尬。: 发信站: BBS 未名空间站 (Mon Apr 13 13:32:18 2015, 美东): 软件被掐住脖子,只有看人眼色的命,android的二道贩子也能搞的你生不如死。: OTA出来还是等等吧,别急着当小白鼠了。: 从软件QC的角度来说,相比之下我软真是业界良心。
x*02015-04-13 07:047 楼minheap 是肯定的。我当时说需要对每个keyword 维护一个circular array,大小可以是30,记录每分钟的search数目。但是这样的话每分钟都要为每个keyword update这个array,而且minheap也要update。可以进一步优化,根据log只用update那些在heap里的keyword 和上一分钟search过的keyword。貌似interviewer还是不满意,说这样存储的cost还是可以优化。【在 t********e 的大作中提到】: distributed count + min heap?
t*e2015-04-13 07:0410 楼"根据log只用update那些在heap里的keyword 和上一分钟search过的keyword。"你是说上30分钟?继续优化可以approximate吗?例如只存top 100k keywords in all time
f*e2015-04-13 07:0412 楼没看楼上贴的亲儿子更新变砖?统也【在 j**u 的大作中提到】: 说句外行话,自己没有系统的话,干嘛不直接用google的版本?我看nexus系列的系统也: 不难用,还是google的亲儿子,更新也容易得多。
o*g2015-04-13 07:0413 楼这个太夸张了【在 x******0 的大作中提到】: minheap 是肯定的。: 我当时说需要对每个keyword 维护一个circular array,大小可以是30,记录每分钟的: search数目。: 但是这样的话每分钟都要为每个keyword update这个array,而且minheap也要update。: 可以进一步优化,根据log只用update那些在heap里的keyword 和上一分钟search过的: keyword。: 貌似interviewer还是不满意,说这样存储的cost还是可以优化。
M*92015-04-13 07:0414 楼的确是这样。。。前段和人聊某八卦。 伊说他们当年就知道, 都是排队跑去观摩的。。。LOL...【在 I*****a 的大作中提到】: 【 以下文字转载自 Military 讨论区 】: 发信人: Tianzi (Sun Scracher), 信区: Military: 标 题: 几件小事可见当前学术界的堕落 (转载): 发信站: BBS 未名空间站 (Thu Dec 19 19:22:46 2013, 美东): 发信人: Tianzi (Sun Scracher), 信区: Biology: 标 题: 几件小事可见当前学术界的堕落: 发信站: BBS 未名空间站 (Thu Dec 19 19:22:22 2013, 美东): 快过节了,该来点负能量,让痴迷于科研的年轻一代清醒清醒。: 事件1: 某国女刚做千老,就拜了老板为干爹。立刻得到各种好处,包括接手快出文章: 的项目(前面的第一作者被赶走后),然后提薪提职变成research AP。我好像又见到
x*02015-04-13 07:0416 楼30分钟只是个参数,可以是1分钟,5分钟。。。【在 t********e 的大作中提到】: "根据log只用update那些在heap里的keyword 和上一分钟search过的keyword。": 你是说上30分钟?: 继续优化可以approximate吗?例如只存top 100k keywords in all time
m*n2015-04-13 07:0422 楼有个想法,你可以试试。不用array,用linked list,每个keyword维护linked list,有的keyword如果每分钟都会出现,就是30个nodes(假设最长30),每个node存的是前n分钟的总数,不是第n分钟的次数。有的keyword不是每分钟都会出现,就小于30个nodes。linked list可以滚动没问题。从说明来看,这个function一般是getTop10inLast30, 10, 5, 1 几个特殊时间的数,不是1-30都有。在更新linked list的时候(时间复杂度 < 30*O(n) ),可以对这几个特殊时间建堆,只要4个 10个element的minheap。 应该是< 4*log10*O(n)的时间复杂度。【在 x******0 的大作中提到】: 统计最近30分钟google的top 10 searched keywords -- getTop10InLast30mins(),需: 要经常调用。
l*r2015-04-13 07:0424 楼感觉一加的论坛就是一堆烙印在折腾。【在 x***y 的大作中提到】: 【 以下文字转载自 Hardware 讨论区 】: 发信人: xuray (干 干 干), 信区: Hardware: 标 题: 一加这两个破update搞的鸡飞狗跳暴露了准寨厂的尴尬。: 发信站: BBS 未名空间站 (Mon Apr 13 13:32:18 2015, 美东): 软件被掐住脖子,只有看人眼色的命,android的二道贩子也能搞的你生不如死。: OTA出来还是等等吧,别急着当小白鼠了。: 从软件QC的角度来说,相比之下我软真是业界良心。
x*02015-04-13 07:0425 楼谢谢!这个想法很好。只不过那个interviewer总是觉得我每个keyword用了太多storage,moving average又不对,百思不得其解。。【在 m*****n 的大作中提到】: 有个想法,你可以试试。: 不用array,用linked list,: 每个keyword维护linked list,: 有的keyword如果每分钟都会出现,就是30个nodes(假设最长30),每个node存的是前: n分钟的总数,不是第n分钟的次数。: 有的keyword不是每分钟都会出现,就小于30个nodes。: linked list可以滚动没问题。: 从说明来看,这个function一般是getTop10inLast30, 10, 5, 1 几个特殊时间的数: ,不是1-30都有。: 在更新linked list的时候(时间复杂度 < 30*O(n) ),可以对这几个特殊时间建堆,只
m*d2015-04-13 07:0429 楼三个点怎么不能计算了?【在 z*****3 的大作中提到】: 第3个,去年会的时候亲眼所见,他妈的3个点就敢计算线性相关了,你他妈的怎么不再: 去掉一个点,两个点那相关性刚刚的
o*g2015-04-13 07:0431 楼你没搞懂,我为什么说太夸张了我的理解你选择的数据集有问题,我理解是你要对所有的数据集做这个操作。包括在这一分钟里没有被搜索的关键词也要做这个操作。如果你真是这么想的就太夸张了,如果面试官也这么认为的就糟糕了。数据集没选对,后面怎么算都不行啊【在 x******0 的大作中提到】: 当然可以搞个moving average。。。我说了以后,貌似对方也不满意
x*02015-04-13 07:0435 楼你说的对,我刚开始是说对所有的做操作。后来面试官一质疑,我就马上改过来,只对被搜索的keyword做这个操作。但是他还是觉得我统计这些keyword的方法太expensive。貌似这个面试feedback还不错,但是肯定没有达到面试官心中的optimal。应该是差不远了。【在 o***g 的大作中提到】: 你没搞懂,我为什么说太夸张了: 我的理解你选择的数据集有问题,我理解是你要对所有的数据集做这个操作。包括在这: 一分钟里没有被搜索的关键词也要做这个操作。如果你真是这么想的就太夸张了,如果: 面试官也这么认为的就糟糕了。数据集没选对,后面怎么算都不行啊
o*g2015-04-13 07:0439 楼我不知道面试官要的是啥,也许他有非常牛逼的算法之类的。但是我想从工程师的角度说说这种问题。不是教授角度。在你心中这些关键词集合是个什么样子?一些随机的字符串?想成这样是不够的。一共在google被搜索过的关键词的数量级肯定不是M,往上高个3到6个数量级都是非常可能的。在一分钟内被搜索过的关键词,多数是长尾(long tail)的,少数是重复次数很高的。这些长尾的关键词有些甚至几周几个月才被搜索一次。长尾关键词占总搜索次数比却是很小的。30分钟之内,为什么不是5分钟10分钟,可能5分钟10分钟的所有关键词操作一下是能搞定的,但是30分钟内,很多关键词其实只出现过1次2次。因为只要前10个,所以,这些长尾的就可以不用计算直接忽略掉。如果要前1000个10000个,忽略的关键词还真得谨慎点儿,前10个的话,很多都可以忽略掉。下面是我能想到的3个方法1. 专业的学术术语,这个开销比较大,需要查字典,不太实用2. 搜索结果小于多少就可以忽略了3. 关键词长度,大于多少字符就可以忽略了。50肯定是没问题的,20我觉得都可以一试。第三个是最简单最有效的,不用其他资源就可以。这种东西严谨么?肯定是不严谨的,但是是有效的。这东西也没法拿出来说,但实际大家都在用。expensive。【在 x******0 的大作中提到】: 你说的对,我刚开始是说对所有的做操作。后来面试官一质疑,我就马上改过来,只对: 被搜索的keyword做这个操作。但是他还是觉得我统计这些keyword的方法太expensive。: 貌似这个面试feedback还不错,但是肯定没有达到面试官心中的optimal。应该是差不: 远了。
d*f2015-04-13 07:0440 楼这根pi制没关系,nih关门就对了【在 I*****a 的大作中提到】: 【 以下文字转载自 Military 讨论区 】: 发信人: Tianzi (Sun Scracher), 信区: Military: 标 题: 几件小事可见当前学术界的堕落 (转载): 发信站: BBS 未名空间站 (Thu Dec 19 19:22:46 2013, 美东): 发信人: Tianzi (Sun Scracher), 信区: Biology: 标 题: 几件小事可见当前学术界的堕落: 发信站: BBS 未名空间站 (Thu Dec 19 19:22:22 2013, 美东): 快过节了,该来点负能量,让痴迷于科研的年轻一代清醒清醒。: 事件1: 某国女刚做千老,就拜了老板为干爹。立刻得到各种好处,包括接手快出文章: 的项目(前面的第一作者被赶走后),然后提薪提职变成research AP。我好像又见到
x*02015-04-13 07:0443 楼赞一个【在 o***g 的大作中提到】: 我不知道面试官要的是啥,也许他有非常牛逼的算法之类的。: 但是我想从工程师的角度说说这种问题。不是教授角度。: 在你心中这些关键词集合是个什么样子?一些随机的字符串?想成这样是不够的。: 一共在google被搜索过的关键词的数量级肯定不是M,往上高个3到6个数量级都是非常: 可能的。在一分钟内被搜索过的关键词,多数是长尾(long tail)的,少数是重复次: 数很高的。这些长尾的关键词有些甚至几周几个月才被搜索一次。长尾关键词占总搜索: 次数比却是很小的。30分钟之内,为什么不是5分钟10分钟,可能5分钟10分钟的所有关: 键词操作一下是能搞定的,但是30分钟内,很多关键词其实只出现过1次2次。因为只要: 前10个,所以,这些长尾的就可以不用计算直接忽略掉。如果要前1000个10000个,忽: 略的关键词还真得谨慎点儿,前10个的话,很多都可以忽略掉。
z*92015-04-13 07:0444 楼 有才第3个,去年会的时候亲眼所见,他妈的3个点就敢计算线性相关了,你他妈的怎么不再去掉一个点,两个点那相关性刚刚的【在 z*****3 的大作中提到】: 第3个,去年会的时候亲眼所见,他妈的3个点就敢计算线性相关了,你他妈的怎么不再: 去掉一个点,两个点那相关性刚刚的
z*e2015-04-13 07:0445 楼可以建一级cache,二级cache,三级cache……【在 o***g 的大作中提到】: 我不知道面试官要的是啥,也许他有非常牛逼的算法之类的。: 但是我想从工程师的角度说说这种问题。不是教授角度。: 在你心中这些关键词集合是个什么样子?一些随机的字符串?想成这样是不够的。: 一共在google被搜索过的关键词的数量级肯定不是M,往上高个3到6个数量级都是非常: 可能的。在一分钟内被搜索过的关键词,多数是长尾(long tail)的,少数是重复次: 数很高的。这些长尾的关键词有些甚至几周几个月才被搜索一次。长尾关键词占总搜索: 次数比却是很小的。30分钟之内,为什么不是5分钟10分钟,可能5分钟10分钟的所有关: 键词操作一下是能搞定的,但是30分钟内,很多关键词其实只出现过1次2次。因为只要: 前10个,所以,这些长尾的就可以不用计算直接忽略掉。如果要前1000个10000个,忽: 略的关键词还真得谨慎点儿,前10个的话,很多都可以忽略掉。
z*e2015-04-13 07:0447 楼不过大猩猩,我问你个问题你这里面确定freq比较少的,比如过去30分钟只出现1次2次的这种你如何界定?你要删不也要等到30分钟之后才删?你还是要把这个term以及timestamp保留在内存结构或者某个db什么的里面呀这题除了heap以外,我觉得就是一个hashmap用来统计次数最后删除时候会遇到一个并发的问题,而且需要你保存log这个log用linkedlist也未尝不可,但是每次删除log呢,是一个很费时间的过程如果用当前thread,会导致整个thread被blocked,所以最好额外启动一个thread统计完,去保存次数那个hashmap里面扣除你刚删除掉的那些terms的freq的时候一定会遇到并发冲突的问题,所以需要用到concurrenthashmap所以我上次就不认为从array开始弄有什么道理,你还不同意我我觉得这题三个点回答出来一个priorityqueue,就是min heap的实现另外一个是concurrenthashmap,考并发最后一个是timestamp,这个可以扯一下logic clock最后拼凑起来,就很圆满了【在 o***g 的大作中提到】: 我不知道面试官要的是啥,也许他有非常牛逼的算法之类的。: 但是我想从工程师的角度说说这种问题。不是教授角度。: 在你心中这些关键词集合是个什么样子?一些随机的字符串?想成这样是不够的。: 一共在google被搜索过的关键词的数量级肯定不是M,往上高个3到6个数量级都是非常: 可能的。在一分钟内被搜索过的关键词,多数是长尾(long tail)的,少数是重复次: 数很高的。这些长尾的关键词有些甚至几周几个月才被搜索一次。长尾关键词占总搜索: 次数比却是很小的。30分钟之内,为什么不是5分钟10分钟,可能5分钟10分钟的所有关: 键词操作一下是能搞定的,但是30分钟内,很多关键词其实只出现过1次2次。因为只要: 前10个,所以,这些长尾的就可以不用计算直接忽略掉。如果要前1000个10000个,忽: 略的关键词还真得谨慎点儿,前10个的话,很多都可以忽略掉。
o*g2015-04-13 07:0449 楼赵老师啊,我跟楼主只是在说面试官说楼主存储空间太大不满意的问题界定?我原帖最后一段说了,这个不是严谨的方法。就是说只是一个粗略的方法。方法我不是提了3个。忽略的意思是见到这个关键词就直接看下一个了,不给空间也不做统计,就当没有这个词。根本没有保留多长时间的问题。不严谨有时也有好处,记得几年前央视焦点访谈曝光谷歌搜索关键词提示涉黄。那个提示词那么长,肯定是有人故意而为才顶上去的,如果把长关键词都忽略了,这事儿也成不了。就这个问题,其实还有很多地方需要考虑,而你提到的这些heap hashmap之类的在我来看是最不重要的。比如如何采集这些关键词,需要确定用户搜索的关键词都能采集到。这事儿其实就挺难的。我能想到的是,互联网上到处都有各级cache,如果某个cache中了,就直接返回了,这个request都没有到服务器就返回了,你可能就没有得到这次搜索。第二个是,即便到g家的服务器了,服务器也是遍布世界各地的。(各个城市搜索链接的服务器是不同的,同一个关键词的返回结果可能是不同的哦!!!)在世界各地的这些数据怎么集中到一起。还有时间戳的问题,用户是12.999秒发出的搜索,到服务器是13.01秒,这个应该算在12秒里还是13秒里?再说服务器时间都可能不完全一样。如果只是做题的话,可能上面这些不用考虑,但是实际工作就需要考虑。我不知道如果面试的时候提这些情况会不会加分。我做了很多tracking report之类的工作,各个地方统计的数很难对的上,即便一天几十个的都很难对的上。但是单个测试的时候总是通过的。所以有了这些背景知识,最后统计的时候有些不严谨是不是也是可以接受的呢【在 z****e 的大作中提到】: 不过大猩猩,我问你个问题: 你这里面确定freq比较少的,比如过去30分钟只出现1次2次的这种: 你如何界定?你要删不也要等到30分钟之后才删?: 你还是要把这个term以及timestamp保留在内存结构或者某个db什么的里面呀: 这题除了heap以外,我觉得就是一个hashmap用来统计次数: 最后删除时候会遇到一个并发的问题,而且需要你保存log: 这个log用linkedlist也未尝不可,但是每次删除log呢,是一个很费时间的过程: 如果用当前thread,会导致整个thread被blocked,所以最好额外启动一个thread: 统计完,去保存次数那个hashmap里面扣除你刚删除掉的那些terms的freq的时候: 一定会遇到并发冲突的问题,所以需要用到concurrenthashmap
i*t2015-04-13 07:0451 楼为什么是min heap不是max?arraylist存(keyword,time,count, heap1 node, heap2 node)hashmap存(keyword,index),或者用trie存index一个max heap放index,以count为比较值第二个max heap放index,以time为比较值。每次接到一个keyword,更新这4个数据结构(先用trie或者map找到index)每次调用的时候或者hashmap一定大的时候按照第二个heap,去掉所有的超时元素,更新4个数据结构【在 x******0 的大作中提到】: minheap 是肯定的。: 我当时说需要对每个keyword 维护一个circular array,大小可以是30,记录每分钟的: search数目。: 但是这样的话每分钟都要为每个keyword update这个array,而且minheap也要update。: 可以进一步优化,根据log只用update那些在heap里的keyword 和上一分钟search过的: keyword。: 貌似interviewer还是不满意,说这样存储的cost还是可以优化。
z*e2015-04-13 07:0453 楼不是,猩猩啊你要等一个定长时间之后才能看出这个关键词出现的freq呢?举个例子,当你看到克什米亚之后直接忽略,因为一般情况下这个词是低频词那么万一短时间内这个克什米亚大量出现呢?因为每次你都忽略,所以会导致你无法统计出这个关键词的freq这样对于短时间内出现的热点会错过的呀【在 o***g 的大作中提到】: 赵老师啊,我跟楼主只是在说面试官说楼主存储空间太大不满意的问题: 界定?我原帖最后一段说了,这个不是严谨的方法。就是说只是一个粗略的方法。: 方法我不是提了3个。忽略的意思是见到这个关键词就直接看下一个了,不给空间也不: 做统计,就当没有这个词。根本没有保留多长时间的问题。: 不严谨有时也有好处,记得几年前央视焦点访谈曝光谷歌搜索关键词提示涉黄。: 那个提示词那么长,肯定是有人故意而为才顶上去的,如果把长关键词都忽略了,这事: 儿也成不了。: 就这个问题,其实还有很多地方需要考虑,而你提到的这些heap hashmap之类的在我来: 看是最不重要的。: 比如如何采集这些关键词,需要确定用户搜索的关键词都能采集到。这事儿其实就挺难
c*y2015-04-13 07:0455 楼我去,这就是senior和new grad的区别所在了,new grad除非是脑补天才根本不可能答的这么迪奥。【在 o***g 的大作中提到】: 赵老师啊,我跟楼主只是在说面试官说楼主存储空间太大不满意的问题: 界定?我原帖最后一段说了,这个不是严谨的方法。就是说只是一个粗略的方法。: 方法我不是提了3个。忽略的意思是见到这个关键词就直接看下一个了,不给空间也不: 做统计,就当没有这个词。根本没有保留多长时间的问题。: 不严谨有时也有好处,记得几年前央视焦点访谈曝光谷歌搜索关键词提示涉黄。: 那个提示词那么长,肯定是有人故意而为才顶上去的,如果把长关键词都忽略了,这事: 儿也成不了。: 就这个问题,其实还有很多地方需要考虑,而你提到的这些heap hashmap之类的在我来: 看是最不重要的。: 比如如何采集这些关键词,需要确定用户搜索的关键词都能采集到。这事儿其实就挺难
o*g2015-04-13 07:0457 楼你看我propose的忽略长度是多少,50呢,这个还需要看一下统计数据,我估计看完之后,20也可以。你给的克什米亚才4个字符长度啊。我说这个不严谨了,就是理论上有漏的可能性。但是这种可能出现的概率是极低的,即便一年有一次,又有什么关系呢退一万步讲,如果world cup 2014 final game这个能进前10,那我想world cup final一定比那个更多。你不会错过这种信息的。【在 z****e 的大作中提到】: 不是,猩猩啊: 你要等一个定长时间之后才能看出这个关键词出现的freq呢?: 举个例子,当你看到克什米亚之后直接忽略,因为一般情况下这个词是低频词: 那么万一短时间内这个克什米亚大量出现呢?: 因为每次你都忽略,所以会导致你无法统计出这个关键词的freq: 这样对于短时间内出现的热点会错过的呀
z*e2015-04-13 07:0459 楼嗯,大猩猩的意思我大概明白了但是query term一般指的是用户输入的关键字其他的叫做co term,这种一般有query expansion的说法比如world cup 2014 final game真正输入的query term估计只有world cup两个,剩下的是系统自动expand的比如crimea,然后系统会自动补足其他的co term,比如conflict这些这里面文章很大,不仅仅是删掉long tail就好了的而且你只删超过50个字符长的搜索,这个估计也不会有太大优化的作用因为很少有人会输入超过20个或者50个字符长度的搜索酱紫当然删除低频词是必需的,要不然内存会增长得很快但是我觉得存最近30分钟得数据也是必需的所以一读一写,这里就自然涉及读写冲突问题,这就是为什么会说到concurrent处理而且query log本身是很重要的一个query expansion的来源其实真正query expansion,比如crimea->crimea conflict这种都是通过mining log得到的,所以有些低级和原始,为学术界所不齿但是用得比较多final【在 o***g 的大作中提到】: 你看我propose的忽略长度是多少,50呢,这个还需要看一下统计数据,我估计看完之: 后,20也可以。你给的克什米亚才4个字符长度啊。: 我说这个不严谨了,就是理论上有漏的可能性。但是这种可能出现的概率是极低的,即: 便一年有一次,又有什么关系呢: 退一万步讲,如果world cup 2014 final game这个能进前10,那我想world cup final: 一定比那个更多。你不会错过这种信息的。
s*s2015-04-13 07:0461 楼比较认同赵大牛的方法。用一个HashMap 来记得current minute 的Keywords 和它的出现次数。用 一个Queue ofsize of 30 (因为30 分钟,也可以是60分钟)来记录 每一分钟的map,构成 一个动态leaking buffle Queue,这样就可以精确算出last 30 minutes, 60 minutes, 24 hoursfreq Top K keywords.【在 z****e 的大作中提到】: 嗯,大猩猩的意思我大概明白了: 但是query term一般指的是用户输入的关键字: 其他的叫做co term,这种一般有query expansion的说法: 比如world cup 2014 final game: 真正输入的query term估计只有world cup两个,剩下的是系统自动expand的: 比如crimea,然后系统会自动补足其他的co term,比如conflict这些: 这里面文章很大,不仅仅是删掉long tail就好了的: 而且你只删超过50个字符长的搜索,这个估计也不会有太大优化的作用: 因为很少有人会输入超过20个或者50个字符长度的搜索酱紫: 当然删除低频词是必需的,要不然内存会增长得很快
a*n2015-04-13 07:0465 楼我去。。。感叹一下这种题目不是欺负new grad么。。。其实每个词平时都是有词频统计的,比如fukujima这个词平时是铁定进不了top10的。这题目一个大小为10的minheap肯定要,然后再搞个pool装一些最近n分钟突然频率暴涨的词就可以了,比如fukujima地震那半小时这个词频肯定异常暴涨。然后每个词每分钟统计出来可以和平时的词频对比一下,如果区别不大又是长尾词就丢了,否则进二级pool,如果在二级pool里统计发现累加前30分钟的次数已经高于heaptop的次数了则进heap。
d*f2015-04-13 07:0468 楼问题不大,可以内插再外插,想有多少点就有多少点【在 z*****3 的大作中提到】: 这我不确定,但用三个点的发不了CNS,也许“有些人”能,但大多数人不能。
z*32015-04-13 07:0474 楼记着那些点要画在点上不然再多几个点不在点上也只是白点还不如三个点每个点都在点上所谓点点点点【在 t**t 的大作中提到】: 看来多几个,我也可能发CNS了。下次就就多画几个点算了。