百度的定向广告可以粗分为两种:一种是目前比较搜索界通用的页面右侧广告;另外一种则是百度被人诟病最多的一种所谓“推广”方式,就是在用户搜索的结果前面(按照百度的企业习惯,则是第一页的搜索结果)象用户推送跟用户的输入查询词汇相关的广告链接;
花开两朵,各表一枝,我们先看看“推广”方式,也就是百度常说的竞价排名,是如何实现的。其实,这个“推广”的方式百度采取的技术手段是相当相当的直接的。百度的做法是:把用户的查询拼成一个完整的字符串,然后进行HASH计算,当然后台有一个广告词数据库,直接用HASH值作为数据库的入口,如果发现数据库有这个关键词,就按照购买关键词的企业出价高低输出“推广”结果,如果没有发现这个关键词就按照正常顺序输出用户查询结果。下面用例子来佐证一下:输入查询“手机”,可以看到排列在第一页的都是“推广”广告,输入查询”手 机“,广告依旧,改变查询为“手机 机型”,没有再看到广告,“输入”手机彩铃“,看到很多推广广告,
输入”手机的彩铃“,可以看到广告不见了。这基本已经能够说明问题了。
从这个机制我们可以很容易推导出一个如何绕开百度烦人的小广告的机制,其实很简单,你在输入查询的时候在后面加一个常用词”的“就可以,比如以前你输入”彩铃“,OK,查询结果满目疮痍,到处是膏药广告,改变查询为”彩铃 的“,你可以看到“彩铃 的”第一页搜索结果和“彩铃”的第二页搜索结果是完全一致的,说明成功地绕开了百度的广告词推荐系统而且不影响搜索的效果。
接下来我们看看页面右侧广告的实现机制,这个机制比"竞价排名"明显复杂多了。
首先,我用一些例子得出的第一个结论是:百度右侧排名有两种购买方式,一种是精确匹配关键词方式;一种是模糊匹配关键词方式;所谓"精确匹配”,就是说只有用户输入的查询词和企业购买的是完全相同的才算,比如
企业甲购买“手机”这个关键词,那么只有用户输入“手机”,才能匹配,用户输入“手机价格”是匹配不上的;所谓“模糊匹配”,就是只要用户提交的查询里面包含企业购买的关键词就算匹配上了,比如企业乙购买“手机”这个关键词的模糊匹配,那么用户输入“手机价格”,在右侧排名也会出现企业乙的广告;下面给个例子:
输入“彩铃”,右侧广告匹配成功,列出一些企业广告;输入“彩铃彩铃”,右侧匹配成功,但是企业广告和“彩铃”有所不同;类似的例子还很多,基本说明有“精确”与“模糊”的分别。
如果是精确匹配广告,那么实现起来的机制也很简单和直接,一样直接HASH查找数据库就行了,速度应该够快;麻烦的是模糊匹配策略,一种很容易想到的策略是:对用户查询首先分词,然后在广告关键词数据库里面查找是否有这个关键词。但是百度是这样做的么?
很明显不是这样做的,百度并未对用户查询进行分词,我想可能是先分词再查广告速度比较慢?为什么说没有分词呢,我们看一个例子,输入查询“海鲜花”,可以看到百度右侧广告是有关“鲜花”的广告,而我们都知道百度的分词是正向最大匹配,如果是先分词,那么“海鲜花”必然是分为“海鲜 花”,那么右侧广告应该是海鲜(可以保证“海鲜”是有企业买了这个广告词的),而不是鲜花,这说明百度并非采取先分词,然后去匹配这种策略,
那么采取的是何种策略呢?
很可能采取的是字符串的多模式匹配策略,字符串的多模式匹配问题是要在给定的文本T 中找出输入模式集合P(1)……P(N)中所有出现了的模式。在百度的应用场景下,就是给定用户查询“海鲜花”,在这里找出后台保存的广告词集合“海鲜、鲜花”,关于多模式匹配策略有很多文章讲述,感兴趣的可以去研究一下,目前比较好的方法速度还是相当快的。所以百度处理模糊关键词匹配的方法是:分析用户查询,比如用户输入“海鲜花 彩铃”,先根据空格信息分成两个子成分“海鲜花”和“彩铃",然后两个字符串序列和广告词数据库执行多模式匹配策略,得到如下的匹配结果:”海鲜“,"鲜花”,“彩铃”四个匹配结果,然后按照一定标准输出到右侧广告栏,这个输出策略可能跟企业购买关键词的出价有关,比如出价高的排列在前面,同时输出结果不超过比如10个等等。
/*版权声明:可以任意转载,转载时请务必标明文章原始出处和作者信息 .*/
搜索引擎定向广告策略--以百度为例
中科院软件所 张俊林
timestamp:2006年7月3日