如何估计搜索引擎索引的网页数

记两个词a,b,假设两个词在网页中出现的概率是独立的.

设含a的网页数为A,含b的为B,同时含a,b的为I. 全部的网页数为S
P(a)为随机网页中出现a的概率, P(a,b)为同时出现a,b的概率

则 P(a,b)=P(a)*P(b)
-> I/S=A/S*B/S
-> S=A*B/I

估计出S后可以验证单词a,b的独立性是否满足:
P(a|b) = P(a)
I/B = A/S

取a='的', b='了'
在google上得到如下结果:
A=3110e6
B=1410e6
I=943e6
估计 S=A*B/I=4650e6 约46亿,可以估计目前google中文网页的索引量约为46亿(2009年1月)

检验独立性:
I/B = 0.66879
A/S = 0.66881

可见独立性假设是成立的.

这种方法在百度上行不通, 因为百度上对"的"这些常见词的网页索引数估计极不准.

如果找其它词对,独立性很难保证.

我在用这种方法估计sogou的网页数时发现一个有趣的现象
A=183890143   query: "的"
B=1248298807  query: "了"
I=1268761525  query: "的" "了"
sogou网页数是精确到个位的(和百度google不同)
居然 I>B && I>A !!
一个可能的解释是sogou程序内部用32位整数表示一个网页,在算A,B时超出了整数的范围了.
如果是用32位整数表示的话(无论是有符号还是无符号整数),实际的值应为
D=2^32=4294967296
A'=A+D
B'=B+D
I'=I
S'=A'*B'/I'=19568294066 约195亿
和官方宣传的过百亿的索引量还是基本相符的

验证独立性:
I'/B'=0.22888
A'/S'=0.22888
惊人地一致


这里有一个现有的方法
http://ysearchblog.cn/2006/12/post_59.html
但个人觉得这个方法没有上述的好
它的方法概述如下:

我们先对引擎S1随机采样N1个url。然后,通过url查询获知引擎S2索引了其中的N12个url,而没有索引另外N10个。换句话说,N1 = N10+N12 。同样地,如果我们对引擎S2随机采样N2个url,发现其中N21被S1收录而N20没有收录,N2=N20+N21。那么我们可以估计S1与S2的相对大小为:

|D1|/|D2|
≌(N12+N10) / (N12+N12N20/N21)
=(N1N21)/(N2N12)
=N21/N12 (如果N1══N2)

http://ilovenwd.appspot.com/article/show?id=3063

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值