原文:Query Intent Detection using Convolutional Neural Networks
主要贡献:
- 使用卷积神经网络来提取查询向量表示作为查询分类的特征
- 使用该特征来对查询意图分类
- 能有效地检测出查询意图,具有较高的查准率和查全率
导言
- 现代搜索引擎为了满足用户的搜索需求,需深入了解用户的查询,识别查询背后的意图。例如,查询“美国总统”将返回巴拉克奥巴马作为答案,查询“匹兹堡图片”将首先显示图像搜索引擎的结果。
- 查询意图识别的挑战性:查询通常很短;识别用户意图需更多的上下文而不只是关键字;意图分类的数量非常大。大多数方法都需要大量的人力来为每个意图类定义模式。
- 本方法是使用深度学习来对查询向量表示,然后将其用作特征来按意图对查询进行分类。
相关工作
两种主流方法来识别查询意图:
- 基于规则的方法:使用预定义的规则将新查询与其意图匹配,如果能匹配上则一定是精确的,但可能缺少相应规则而覆盖率低,规则需要大量人力来设计
- 基于统计的方法:监督或非监督学习,在监督方法中需要基于领域知识或特征工程
- 本文自动生成生成查询向量作为特征,而不需人工设计分类特征。
查询意图识别
本方法
本模型包括两个步骤:
- 离线时训练模型参数,利用标记了意图的查询样本学习卷积神经网络的参数和分类器
- 在线时在新查询上运行模型,得到其意图分类结果
在离线训练阶段: - 将查询通过word2vec向量表示为矩阵
- 通过卷积层和基于时间的最大池化层
- 然后通过全连接的softmax层,再与实际的意图向量计算交叉熵来计算损失函数值
- 训练步骤就是经典的用于分类的卷积神经网络,只不过卷积层和池化层都是一维的
用于对比的方法
- 基于规则的方法(Rule-based):通过人工制作和自动生成的正则表达式,利用实体标记器将查询映射到对应的命名实体。当查询有相应规则时该方法非常有效。该方法的缺点在于,关键词需要专家人工收集,缺乏扩展性。
- 词袋特征(Unigram、Unigram+bigram):将查询的N元组作为特征,输入分类器来学习参数
- 聚合词向量特征:将查询每个单词通过word2vec词嵌入生成词向量,在通过对所有的词向量相加(Sum w2v)或求平均(Average w2v)作为特征,输入分类器来学习参数
实验
数据和实验设置
- 数据:从商业搜索引擎日志中收集,人工标注后低层次意图有3800个,高层次意图有350个。选择了10000个查询样本来实验。
- 随机森林参数: 10折交叉验证,n_estimators=100(树的数量)
- 本方法参数:使用窗口大小为2,3和4的三个卷积核(分别获取二元组、三元组和四元组信息),每个通道数为100,使用dropout(0.5),使用Rulu激活,minibatch大小是50.
- 使用准确率和平均精确率,召回率以及Fscore作为性能指标
方法的准确率=正确预测的查询意图数量/总的查询
每个意图分类的精确率、召回率和Fscore分别为
意图i的精确率P(i)=正确预测为意图i的数量/预测为意图i的数量
意图i的召回率R(i)=正确预测为意图i的数量/真正的意图i的数量
Fscore(i) = 2 * P(i) * R(i) / (P(i) + R(i))
实验结果
低层意图分类实验,基于规则的方法表现一般,聚合词向量特征可以与基于规则的方法媲美,Unigram是查询意图识别的较好特征,本方法性能略优于词袋特征。
高层意图分类实验中,查了Unigram达到最佳平均精度外,结果趋势与低层意图分类相当。
在查询聚类实验中,将对各查询从CNN提取出的嵌入用来对查询进行聚类,通过kMeans聚类,相似的查询被分组在同一类中。
![](https://g.csdnimg.cn/static/user-reg-year/1x/0.png)
标签:卷积,笔记,查询,意图,神经网络,特征,方法,向量 来源: https://blog.csdn.net/yiguagua/article/details/103963244
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。