`

对某点评网 搜索策略 的一些理解

    博客分类:
  • NLP
阅读更多

1. 查询串为 纯汉字,查询出被拆分为单个字,然后使用全文检索,尽可能找出包含所有查询串的 POI,查找范围为POI拥有的所有文本信息。


例如搜索 “顺轩”,返回结果为:
而搜索“轩顺”,返回结果为:

两个搜索返回的结果是一致的 --- 包含查询串的POIs;返回列表的排序规则可以总结为:
a. POI中查询出是否按照查询串中的顺序连续全部出现
b. 名称包含优先于地址包含
c. 匹配发生在 名称,标签,地址 等

2. 查询串为 纯拼音不对查询串(拼音串)进行任何拆分

例子1,shuguang

例子2,shuguan

两个搜索返回的结果基本一致,并且同时出现提示 -- 你要找的是不是  曙光  书馆 

 
例子3,caguan
你要找的是不是  茶馆 

 
例子4,canguan(餐馆)

上海站全部商户中,没有找到"canguan"(0)


 
例子5,cacanting
你要找的是不是  查餐厅  茶餐厅

例子6,xijiaobailian(西郊百联)
你要找的是不是  西郊百联

例子7,xijiaobalian
你要找的是不是  西郊百联

 
例子8,xijiaoblian

上海站全部商户中,没有找到"xijiaoblian"(0)


由上面的例子,可以大概推测如下:

a. 内部有一个 pre-defined 词典,保存了 词和拼音 映射关系
b. 首先使用 拼音 进行匹配搜索,匹配策略可能是:
b1. 精准匹配
b2. 包含匹配
b3. 模糊匹配(最小编辑距离 < 某个阙值,比如2,参考例子6,7,8,读者可自行尝试其他组合)
b4. 没有找到任何匹配,即返回空,参考例子4.(canguan竟然没有,很让人费解)
c. 利用拼音映射到的汉字,转到第一条中的 纯汉字 搜索
d. 匹配发生在 名称,标签,地址 等 

另外,

例子9,jiaoda
你要找的是不是  交大

 
例子10,jiada
你要找的是不是  佳达

例子11,jiaod

上海站全部商户中,没有找到"jiaod"(0)


 
例子12,shangda
你要找的是不是  散打  上大  杉达

例子13,shangd

上海站全部商户中,没有找到"shangd"(0)


 
例子14,sangda
你要找的是不是  散打  上大  杉达 

例子15,suguang
你要找的是不是  曙光  书馆

由上面的例子可以推测,b3 和 b2 的描述可能是不正确的例子9,11不符合 b3 最小编辑距离匹配b2 可以使用 口音近似 进行解释),应该加入了 口音 的考虑(对比 例子15 与前面的例子1,2,以及 例子3 的提示):
<1> 不同的口音,相同的拼音,存在不同的发音,考虑了同一个拼音,近似发音的匹配
<2> 不同的口音,不同的拼音,存在近似的发音,
但 模糊近似发音库 是不完善的,例如 “niu肉”和“liu肉”

后续有新发现,继续补充

3. 查询串为 汉字+拼音

例子16,属guang
你要找的是不是  曙光  书馆

 
例子25,素guang
你要找的是不是  曙光  书馆

 
例子17,属guan
你要找的是不是  曙光  书馆

 
例子18,shu光
你要找的是不是  曙光  书馆 

 
例子19,shu广

例子20,shang大


 
例子21,shang大lei


例子22,shanglei大

上海站全部商户中,没有找到"shanglei大"(0)


 
例子23,上da



例子24,西jiaobailian
你要找的是不是  西郊百联

 
a. 首先不区分 拼音 汉字,进行 全文检索,找到包含整个串的POI,不考虑 查找单元 的顺序
a1. 连续的拼音视为一个查找单元,单个汉子视为查找单元,参考例子20,21,22
a2. 查找不到包含所有 查找单元 的 POI系统,转到 b
b. 汉字映射为拼音,转为 第二条 纯拼音 搜索,注意 例子17,25








































 
  • 大小: 8.2 KB
  • 大小: 10 KB
  • 大小: 14.4 KB
  • 大小: 10.3 KB
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics