当前位置:网站首页>Query意图识别分析
Query意图识别分析
2020-11-06 01:32:00 【IT界的小小小学生】
outline
近段时间在研究搜索的相关技术,在工作中主要涉及到资讯搜索功能的实现。我们采用了elasticsearch搜索引擎,es基础和es进阶1。由于需要对搜索功能进行迭代,所以笔者继续深入研究搜索原理和性能优化。本文主要研究以下几点:
什么是搜索
搜索评价指标
意图识别
query改写
什么是搜索
一个搜索引擎的技术构建主要包含三大部分:
(1) 对query的理解
(2) 对内容(文档)的理解
(3) 对query和内容(文档)的匹配和排序
搜索的一般评价指标
基础指标:
召回率(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删除 – 判断丢弃哪个/些词 (实体识别)
参考资料
https://www.jianshu.com/p/e46eae028af3
https://blog.csdn.net/shijing_0214/article/details/71250327
https://blog.csdn.net/shijing_0214/article/details/71080642
版权声明
本文为[IT界的小小小学生]所创,转载请带上原文链接,感谢
https://vip01.blog.csdn.net/article/details/94444403
边栏推荐
猜你喜欢

面经手册 · 第16篇《码农会锁,ReentrantLock之公平锁讲解和实现》

es5 类和es6中class的区别

面经手册 · 第14篇《volatile 怎么实现的内存可见?没有 volatile 一定不可见吗?》

文本去重的技术方案讨论(一)

2018个人年度工作总结与2019工作计划(互联网)

mac 安装hanlp,以及win下安装与使用

【jmeter】實現介面關聯的兩種方式:正則表示式提取器和json提取器

什么是无副作用的函数方法?如何取名? - Mario

TensorFlow2.0 问世,Pytorch还能否撼动老大哥地位?

Using tensorflow to forecast the rental price of airbnb in New York City
随机推荐
7.3.1 file upload and zero XML registration interceptor
技術總監7年經驗,告訴大家,【拒絕】才是專業
不吹不黑,跨平臺框架AspNetCore開發實踐雜談
8.1.1 handling global exceptions through handlerexceptionresolver
TF flags的简介
网络安全工程师演示:原来***是这样获取你的计算机管理员权限的!【***】
VuePress的使用
6.9.2 session flashmapmanager redirection management
Pattern matching: The gestalt approach一种序列的文本相似度方法
非常规聚合问题举例
适合时间序列数据的计算脚本
JUC 包下工具类,它的名字叫 LockSupport !你造么?
Skywalking系列博客2-Skywalking使用
文本去重的技术方案讨论(一)
小白量化投资交易入门课(python入门金融分析)
APReLU:跨界应用,用于机器故障检测的自适应ReLU | IEEE TIE 2020
drf JWT認證模組與自定製
【C/C++ 2】Clion配置与运行C语言
JVM Metaspace内存溢出排查与总结
htmlcss