网页搜索本质上就是从几十亿个网页中,找到和用户输入的搜索词最相关的几个网页。几十亿种可能性,当然是很大的不确定性U。因此网页搜索本质也是利用信息消除不确定性的过程。如果提供的信息不够多,比如搜索词是常用的关键词,诸如“中国”、“经济”之类的,那么会有好多相关的结果,用户可能还是无从选择。
这时正确的做法是挖掘新的隐含信息,比如网页本身的质量信息。如果这些信息还是不够消除不确定性,不妨再问问用户。这就是相关搜索的理论基础。不正确的做法是在关键词上玩数字和公式的游戏,由于没有额外的信息引入,这种做法没有效果,最糟糕的做法是引入人为的假设,这和“蒙”没什么差别,其结果是满足了个别用户的口味,但是对大部分用户来讲没什么卵用。合理利用信息,而非玩弄什么公司和机器学习算法,是做好搜索的关键。知道的信息越多,随机事件的不确定就越小。
这些信息,可以是直接针对我们要了解的随机事件,比如昨天提到的日本内阁的战略决定;也可以是和我们关心的随机事件相关的其他的信息—通过获取这些信息也能帮助我们了解所关注的对象。比如之前提到的nlp的一元模型,就是通过某个词本身的概率分布来消除不确定因素;而二元及更高阶的语言模型还使用了上下文的信息,那就能准确预测一个句子中当前的词汇了。在数学上可以严格地证明为什么这些相关的信息也能消除不确定性,需要引入一个条件熵的概念。
假定X和Y是两个随机变量,X是我们需要了解的。假定我们知道了X的随机分布P(X),那么也就知道了X的熵:H(X)=-∑P(x)·logP(x) x∈X,它的不确定性就是这么大。现在假定我们还知道Y的一些情况,包括它和X一起出现的概率,在数学上称为联合概率分布,以及在Y不同取值的前提下X的概率分布,在数学上称为条件概率分布。定义在Y的条件下的条件熵为:H(X|Y)=-P(x,y)·logP(x|y) x∈X,y∈Y。通过数学证明可以得出H(X)>=H(X|Y),也就是说多了Y的信息之后,关于X的不确定性下降了。在统计语言模型中,如果把Y看作是前一个字,那么在数学上就证明了二元模型的不确定性小于一元模型。同理可以证明有两个条件的条件熵小于一个条件的。什么时候条件的个数不会影响条件熵呢?那就是当我们获取的信息与要研究的事物毫无关系时。比如之前的例子里佐尔格送的情报是关于德国人在北非的行动,那么不论这样的情报有多少,都解决不了斯大林的困惑。
小结:信息的作用在于消除不确定性,nlp的大量问题就是寻找相关的信息。