原文链接:http://blog.csdn.net/zhoubl668/article/details/7857756
by 张帆(自然语言处理组@搜狗)
通用搜索VS垂直搜索:
通用搜索特点:
抓取互联网上一切有价值的页面,同意建立索引,以关键字匹配为基本检索方式,以网页title和summary为展现方式
google, 百度,搜狗,搜搜,有道
垂直搜索特点:
以一特定类别为主题,只抓取与主题相关信息,根据主题特点有针对性的建立相应的索引检索方式,筛选方式,以及展现方式
机票搜索,地图搜索,购物搜索(一淘)……
解决方法:通用搜索引擎 + 垂直搜索引擎
意图识别
意图搜索的难点:
输入不规范
输入方法多样化
非常不规范
有堆砌关键词
自然语言查询
甚至非标准自然语言
多意图
如:仙剑奇侠传
游戏?--> 游戏软件?……
电视剧?--> 电视剧下载?相关新闻?……
电影?--> 电影下载?查看影评?剧情介绍?……
音乐?--> 歌曲下载?在线听歌?歌词下载?……
小说?--> 小说下载?在线观看?……
意图强度
如:荷塘月色
荷塘月色歌曲 --> 歌曲下载:50%
荷塘月色小区 --> 房产需求:20%
荷塘月色菜 --> 菜谱需求:10%
结果可靠性
供我们获取搜索结果的这些垂直站点往往是一些中小型的网站,我们需要保证搜索结果的准确性和相关性
如:遥控汽车
预期结果:返回所有遥控汽车的相关结果
实际返回:
遥控汽车--> 没有遥控汽车相关结果
遥控--> 返回遥控器,遥控飞机等于原意图无关的结果
汽车--> 返回汽车模型,汽车配件等于原意图无关的结果
(比如京东就是这么拆搜索词的)
时效性
如:iPhone5 7月1日上市销售
6月30日的查询意图:新闻90%,百科10%
7月1日的查询意图:新闻70%,购买25%,百科5%
8月1日的查询意图:购买50%,资讯40%,其他10%
5年以后的查询意图:百科100%
词表穷举法:
最简单直接的方法,通过词表的直接匹配来获取查询意图,也可加入适用于较为简单且查询较为集中的类别,比如电视台节目查询,节假日查询,餐馆查询等
如:北京的天气怎么样啊
(停用词替换) --> [北京][天气][怎么样]
(查询词归一) --> {城市][关键词][疑问词]
(顺序无关) --> {[城市], [关键词], [疑问词]}
给出白名单:
规则解析法:
适用于一些查询虽然不集中但非常符合规则的类别,通过规则解析查询来做意图识别和关键信息提取的,比如汇率查询,计算器,度量衡等
如:236.2美金能换多少RMB?
[236.2][美金][今天]能换多少[人民币]?
[数字][货币单位][日期]能换多少[货币单位]?
★通过知识图表,来替换/对应/归一
解析:
数量:236.2
源货币:美元(不再是“美金”)
目的货币:人民币
★配合自己建立的一些语言模型,可以比较好的解决召回率比较低的问题
模型训练的比较好的话,相对召回也很不错
但是比如购物啊什么的,是无法做这种信息模型的
统计模型分类法:(最常用)
查询词分类:基于查询词本身的分类,也就是建立基于字面意思的统计分类模型
查询词扩展分类:基于查询词的扩展信息的分类,也就是基于真实社会知识的分离,通常是搜索结果扩展
比如“家常菜”居然是个电视剧!
查询词分类:
查询词-->查询纠错、规则化、知识词表-->Uni-gram, Bi-gram, CRF, 语料分类模型-->搜索结果验证、垂直搜索结果验证-->查询扩展分类结果
查询扩展分类:
查询词-->搜索结果1,2,3,4-->标题分类、摘要分类、网站分类-->结果分类1,2,3,4-->查询扩展分类结果
(针对每个搜索结果,验证一下查询意图强度和类别)
需要配合持续更新的语料,就可以通过流程自动更新
比较可行的方法如:
先到软件下载站
把排行榜的TOP 100拖下来(这些都有软件下载的查询需求)
搜索一遍,然后每个取前50个搜过结果
作为一个5000大小的语料,可以训练
可以持续、自动更新
搜索意图识别未来:
无类别概念的意图识别
基于垂直搜索的分类模型,而非基于类别的分类模型,帮助用户获取想要的内容而不限定类别
比如将 类别和网站本身 建立联系,直接在网站内部的数据库中搜索
个性化意图上下文分析
根据用户特征建立个性化的信息,获取用户的短期兴趣和长期兴趣,准对性的优化意图识别
精准意图理解
更加精准的意图理解,所有价值信息的解析,目前的展现多为整体展现,可以再进一步来生成个性展现
语言应用的意图理解
针对语言类应用的特点优化,比如语言纠错,个性信息的辅助意图识别等
附加:
搜索提示:搜索 智能 ,搜索引擎提示 智能手机、智能手表
有多少可能性:关联分析、rank序列、文档建模
................................