搜索引擎怎样做到模糊匹配


先具体解释题主提到的几个场景:

1. 搜索 query 分词,然后腾讯新闻中心的 PageRank 值最高,因此命中。如果题主不了解 PageRank,可先简单参考 Wikipedia。

2. 相似 query 挖掘,方法有多种
- 使用互信息、word2vec 等方法挖掘相似的 query,它们都是基于一个假设:如果两个 query 有相同的上下文,那它们是相似的。比如:语料库中同时出现了 1000 次“机械键盘”、“程序员”、“耳机”,还有另外 1000 次的“机械键盘”、“码农”、“耳机”,则我们认为“程序员”和“码农”是相似的
- 基于用户点击,比如相同 query 下,相似点击的网页 title
- 还有基于语义角度的 Sentence Embedding 等等

3. 纠错,题主举的例子相对简单一点,就是相同拼音下的最热门 query。如果再复杂一点,比如:”搜索迎亲如何zuo到牧户匹配“,一般的做法是对其中每个字提供一些候选字,候选字是通过同音、近音、形似等方式筛选出来的,比如”迎亲“的候选集就是(迎亲,引擎,影音,隐情,应勤,…),然后转换成 HMM 求解过程。

如果不局限于以上的特例场景,那1对应的是搜索排序的问题,2、3对应的是搜索查询改写的问题,从题主的描述来看,似乎更感兴趣的是后者,我这里主要讲下查询改写吧。

查询改写查询改写,即 Query Rewrite,主要解决的问题是用户的搜索 Query 和 被搜索的文档 不显式匹配。

主要包括以下几个方面:
- 相似Query:“冰与火之歌”和“权利的游戏”
- 动态丢词:绝大多数情况下“的”字是无效词,但“北京的大学”中“的”是不能丢弃的,因为“北京的大学”和“北京大学”有明显不同的含义
- 意图预测:当你搜“苍老师”的时候,你究竟是想搜“苍老师的微博”还是“苍老师的电影”呢?
- 跨媒体查询:搜索“鲜花 jpg”想要直接获取到的图片素材,而不是介绍鲜花的百科
- 相关搜索:“”和“黄继新”和“中文UGC社区”
- 自动纠错:“搜索迎亲牧户匹配” -\u0026gt; “搜索引擎模糊匹配”

而主要的解决方法为:
- 基于公开的互联网语料进行文本挖掘
- 基于用户搜索和点击日志进行挖掘
- 基于语义信息的文本语义理解

本次作答如有错漏或不同见解,欢迎指出。


■网友
搜索引擎有Query纠错,Query改写,同义词等等,北大信科这个,一般是同义词,很多同义词可以通过数据挖掘得到。“驿站”-\u0026gt;“一站”这个case,一般通过拼音来纠错,这里有个 专门的拼音纠错Demo ,你也可以从中学到很多搜索引擎的核心技术。
■网友
其他几个答案对于case 1的解释应该是有点问题的

"腾讯新闻"在query意图分析模块 处理完以后应该是 关键词是"腾讯" ,意图是"新闻"
正好match到腾讯网的新闻中心

参见雅虎对于query分类的paper,Google也如此
详见Towards a Deeper Understanding of the User’s Query Intent
文章比较早了,但是在解决用户意图分析上还是非常实用的

■网友
主要靠分词+自然语言处理,包含了概率学,统计学知识还有去噪,结果排名的过程。

■网友
你想多了。。。第一个是简单的分词,腾讯网排名较高第二个也是简单的分词,虽然没hit到title,但内容命中很多,北大信科学院的排名也很高。当然也不排除搜索引擎有手工或爬出来的别名,一般搜索引擎都会专门为大网站做一些手工信息整理,保证第一个命中官网。第三个也是经典的doyoumean问题了,有专门的服务做这个事,拿你的query跟所有热门query进行模糊比较
■网友
【搜索引擎怎样做到模糊匹配】 我最近碰到一个算法问题,需要比较那个词是否为一个意思,如工行=中国工商银行或工商银行等,请问如何设计算法呢


推荐阅读