第1765章 遇到问题,分析问题,解决问题 (第2/3页)
间。
两周内,我们要做出超链分析的第一版,集成到排名算法里。”
任务定下来了,但怎么开始,谁都没底。
第一天,团队在查阅资料。
超链分析这个概念,国外有论文提到过,但没见到实际应用。
他们需要自己从头设计算法。
第二天,李明在白板上画出了第一版架构图:“我们需要建两个矩阵。
一个记录每个网页的出链,一个记录入链。
然后迭代计算,直到收敛。”
“收敛条件呢?”
“每个网页的分数变化小于某个阈值。”
“计算量还是大。”张涛摇头,“十万网页,矩阵就是一百亿个元素。
现在的服务器算不动。”
第三天,陈浩打电话来了。
“遇到困难了?”他问。
贾瀞雯实话实说:“算力不够。
团队说矩阵太大,迭代计算需要的时间太长。”
电话那头沉默了一会儿。
“可以简化。”陈浩说,“第一,不需要算所有网页。
只计算有入链的网页,那些孤立页面直接给最低分。
第二,迭代可以分批进行,不需要一次性算完。
第三,分数不需要精确到小数点后很多位,整数就行。”
贾瀞雯把这些记下来,转告给团队。
李明听了,一拍大腿:“对啊!我们可以分块计算!先把网页按链接关系分组,组内迭代,组间再迭代。
这样内存占用能降下来。”
思路打开了,进展就快了。
第一周结束时,他们做出了简化版的超链分析算法。
测试数据很小,只有一千个网页,但结果令人鼓舞——重要网页的分数确实高,垃圾网页的分数确实低。
第二周,开始集成到真实数据里。
问题又来了:十万网页的链接关系太复杂,计算一次要八个小时。
“太慢了。”张涛盯着屏幕,“如果每天都要重新计算,根本跟不上网页更新的速度。”
贾瀞雯给陈浩打电话。
这次陈浩的建议很直接:“增量更新。
每天只计算新增网页和发生变化的部分,其他的用缓存。”
又是
(本章未完,请点击下一页继续阅读)