当前位置:网站首页>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
边栏推荐
- Using class weight to improve class imbalance
- 字符串的常见算法总结
- 利用 AWS SageMaker BlazingText 对不均衡文本进行多分类
- 自然语言处理之命名实体识别-tanfordcorenlp-NER(一)
- 技術總監7年經驗,告訴大家,【拒絕】才是專業
- ETCD核心機制解析
- Python machine learning algorithm: linear regression
- 前端模組化簡單總結
- 8.2.2 inject bean (interceptor and filter) into filter through delegatingfilterproxy
- html
猜你喜欢
读取、创建和运行多个文件的3个Python技巧
Gradient understanding decline
TensorFlow2.0 问世,Pytorch还能否撼动老大哥地位?
C语言中字符字符串以及内存操作函数
Using tensorflow to forecast the rental price of airbnb in New York City
字符串的常见算法总结
tensorflow之tf.tile\tf.slice等函数的基本用法解读
windows10 tensorflow(二)原理实战之回归分析,深度学习框架(梯度下降法求解回归参数)
drf JWT認證模組與自定製
哇,ElasticSearch多字段权重排序居然可以这么玩
随机推荐
DeepWalk模型的简介与优缺点
小白量化投资交易入门课(python入门金融分析)
梯度下降算法在机器学习中的工作原理
如何对Pandas DataFrame进行自定义排序
阿里CCO项目组面试的思考
drf JWT認證模組與自定製
html
8.2.2 inject bean (interceptor and filter) into filter through delegatingfilterproxy
数据科学家与机器学习工程师的区别? - kdnuggets
神经网络简史
高级 Vue 组件模式 (3)
为了省钱,我用1天时间把PHP学了!
Outlier detection based on RNN self encoder
不能再被问住了!ReentrantLock 源码、画图一起看一看!
7.3.1 file upload and zero XML registration interceptor
非常规聚合问题举例
Python爬蟲實戰詳解:爬取圖片之家
8.1.3 handling global exceptions through exceptionhandler (Global exception handling) - SSM in depth analysis and project practice
6.9.2 session flashmapmanager redirection management
Pattern matching: The gestalt approach一种序列的文本相似度方法