搜索-意图识别

作者: neo_ng | 来源:发表于2018-11-07 19:46 被阅读72次

outline

近段时间在研究搜索的相关技术,在工作中主要涉及到资讯搜索功能的实现。我们采用了elasticsearch搜索引擎,之前整理了两篇关于elasticsearch的文章:es基础es进阶1。由于需要对搜索功能进行迭代,所以笔者继续深入研究搜索原理和性能优化。本文主要研究以下几点:

  • 什么是搜索
  • 搜索评价指标
  • 意图识别
  • query改写

什么是搜索

一个搜索引擎的技术构建主要包含三大部分:
(1) 对query的理解
(2) 对内容(文档)的理解
(3) 对query和内容(文档)的匹配和排序

image

搜索的一般评价指标

基础指标:

召回率(Recall)=检出的相关文档数/相关文档数,也称为查全率,R∈[0,1]
准确率(Precision)=检出的相关文档数/检出文档数,也称为查准率,P∈[0,1]
F值:召回率R和正确率P的调和平均值

搜索发展的阶段:

  • 应用的初期:基于关键字的搜索
  • 应用的发展期:基于主副标题的全文检索
  • 应用的成熟期:针对搜索进行排名优化
    LTR
  • 应用的进化期:个性化的搜索
    意图识别/“千人千面”/搜索建议等

意图识别

是什么

通过分类的办法将句子或者我们常说的query分到相应的意图种类
属于“对query的理解”部分
本质上是一个分类问题

意图识别搜索的一般过程:

S1. 用户的原始 query 是 “michal jrdan”
S2. Query Correction 模块进行拼写纠错后的结果为:“Michael Jordan”
S3. Query Suggestion 模块进行下拉提示的结果为:“Michael Jordan berkley”和 “Michael Jordan NBA”,假设用户选择了“Michael Jordan berkley”
S4. Query Expansion 模型进行查询扩展后的结果为:“Michael Jordan berkley”和 “Michael I. Jordan berkley”
S5. Query Classification 模块进行查询分类的结果为:academic
S6. 最后语义标签(Semantic Tagging)模块进行命名实体识别、属性识别后的结果为:[Michael Jordan: 人名][berkley:location]:academic

意图识别的前提

意图的划分问题:技能/领域

用户查询的需求分类:
(1) 导航类
(2) 信息类
(3) 事务类

概念介绍:
用户与搜索引擎的一轮完整交互过程称为一个Search Session,在Session里提供的信息包括:用户查询词(Query),用户所点击的搜索结果的标题(Title),如果用户在Session期间变换了查询词(例如从Query1 -->Query2),则后续的搜索和点击均会被记录,直到用户脱离本次搜索,则Session结束。

意图识别的方法

1.词表穷举法/规则解析法
2.基于查询点击日志 -- 一般一条搜索日志记录会包括时间-查询串-点击URL记录-在结果中的位置等信息。
3.机器学习方法(基于规则挖掘,基于Bayes、LR、SVM等传统分类模型)--分类问题
query的分类
eg:识别每个实体词的属性,去索引里面精确匹配对应的字段,从而提高召回的准确率
4.基于神经网络(深度学习)--FastText

意图识别的难点

1、输入不规范,前文中已有介绍,不同的用户对同一诉求的表达是存在差异性的。
2、多意图,查询词为:”水”,是矿泉水,还是女生用的化妆水。
3、数据冷启动。当用户行为数据较少时,很难获取准确的意图。
4、没有固定的评价标准。pv,ipv,ctr,cvr这种可以量化的指标是对搜索系统总体的评价,具体到用户意图的预测上并没有标准的量化指标。

query改写

query改写,类目相关,命名实体识别和

query改写包括:
query纠错 -- 如果搜索引擎返回的是空结果/或者结果过少,此时应该需要增加拼写纠错的处理

query扩展:

eg. “Michael Jordan berkley”和 “Michael I. Jordan berkley”
(1) 同义词扩展表
(2) 使用词向量进行同义词拓展
(3) 如果query没有相应返回,则根据用户历史数据拓展原query
query删除 -- 判断丢弃哪个/些词 (实体识别)

参考资料

搜索意图识别浅析
信息检索中的各项评价指标
如何使用padlepadle 进行意图识别-开篇
Turn Chinese natural language into structured data 中文自然语言理解

相关文章

  • 搜索-意图识别

    outline 近段时间在研究搜索的相关技术,在工作中主要涉及到资讯搜索功能的实现。我们采用了elasticsea...

  • 搜索意图识别浅析[转载]

    对于搜索引擎来讲,很多情况下只需要用户在搜索输入框内输入所需要查询的内容就可以了,其余的事情就全部交给搜索引擎去处...

  • 搜索Query分析改写

    搜索意图识别: Query分析: 分词:切词,pinyin分词 查询类目预测: Query改写: Query改写本...

  • 百度推广

    百度推广 一、搜索意图定位 当网民的搜索词中可识别的地域词与您所设置的推...

  • 意图识别

    1.意图识别各种模型比较 2.基于fastText的意图识别框架

  • 意图识别

    1.使用fastText对文本进行分类--小插曲 2.对话系统原理和实践 3.新闻上的文本分类:机器学习大乱斗

  • 2018-05-16

    1.今日头条 (1)NLP应用研发工程师 - AI Lab 岗位描述: 1、用户搜索意图识别,分词和词性标注,实体...

  • Pytext上手——Intent-Slot 模型实战

    1 意图分类任务简介 对话系统里,首先要对用户的输入进行领域、意图识别和槽抽取。深度学习发展以后,意图识别的方法多...

  • 意图识别思路

    由于要做一个对话系统,必然要涉及到意图识别模块,所以想梳理一个意图识别的思路: 由于本人做的是一个特定领域的事情,...

  • NLP

    本地搜索 文本匹配, 与 文本 转化为 声音 匹配。 与 语音识别翻译 ML:搜索识别, 语音识别,文字识别,图像...

网友评论

    本文标题:搜索-意图识别

    本文链接:https://www.haomeiwen.com/subject/mvhbxqtx.html