作者:哈工大SCIR硕士生钱岳
1 引言
随着社会的日益信息化,人们希望能用自然语言与计算机交流,于是聊天机器人应运而生。 在和机器人聊天的过程中,用户产生了大量的数据。 这些数据包含了用户丰富的信息,展示了用户的需求和意图,识别出用户的出行意图可以进行相应产品的推荐,使得聊天机器人变得更加智能,增强用户体验。 基于此,本文提出了聊天机器人中用户出行消费意图的识别工作。 所谓出行消费意图是指用户为了满足出行的需要,通过聊天文本表达出的对出行类产品或服务的购买意愿。
近些年随着社会媒体技术的发展和普及,Twitter和新浪微博等社会媒体称为了最普遍的信息发布、传播和共享的工具之一。在这些用户生成的数据中蕴含了丰富的消费需求信息。Liu[1] 等人提出了基于弱监督的图排序算法,该方法适用于数据总量较大,已标注数据较少的情况。Ding[2]等人提出了基于领域自适应的消费意图检测方法。具体而言,给定一条微博文本,该方法首先基于领域自适应的卷积神经网络模型做二元分类,判断其是否含有用户消费意图;随后,对于有消费意图的微博文本再抽取其中的需求词,最后,根据该需求词去事先构造好的消费意图事理图谱中检索可以满足消费意图的产品推荐给用户。Duan[3]等人提出了基于社区问答的消费意图识别和挖掘方法,通过挖掘问题与回答之间的需求对应关系,把消费对象的挖掘问题转化为搭配问题。Wang[4]等人将Twitter中用户潜在的意图划分为6个类别,并通过半监督学习的方法进行消费意图识别。Yang和Li[5]提出了人们日常生活中经常出现的 12 种普遍需求,通过模板匹配方法获得了购买了产品的用户,然后基于 Twitter 中的 unigram 特征、WordNet 中词的语义特征、表达需求的动词特征来训练分类器完成对用户消费意图的识别。
区别于传统的消费意图识别方法,本文尝试使用端到端的模型进行意图识别工作。 并且根据聊天文本的特性,结合用户的表达方式和特点,通过对不同的深度学习模型进行整合,进行聊天机器人中用户的消费意图识别。实验结果表明,在出行消费意图识别任务上,本文采用的混合模型在各项指标上均优于传统的机器学习方法以及基于CNN和基于LSTM的深度学习方法至少2个百分点,能够有效识别用户的出行消费意图。
2 问题描述
本文主要研究三个领域的出行意图识别任务,即订机票意图,订火车票意图和订酒店意图,常见的聊天文本如表1所示。 进行用户出行意图识别的基本目标是根据用户在聊天中表达的语义信息来确定用户聊天文本的出行消费意愿,即判断用户在文本中表达了哪一类出行意图。
表1 常见的聊天文本示例
对于表1中前两组例子,直观上看,有出行意图和无出行意图的文本表达在用词、句式上存在较大的差异,可以直接使用一些模板匹配的方式进行识别。但是在聊天语料中处理过程中发现,由于聊天系统对话的特殊性,用户的表达一般较短,一些无意图的用户聊天文本在用词,句式上和有意图文本比较接近,通过一些模板或者关键词特征的方法不容易区分。 从表1中的第3到第5组例子可以看出,每一组的两句对话在用词或者句式上都具有很高的相似性,但却属于两类不同的意图领域。 对于第3组例子,尽管二者都具有相同的“动词+地点”的动宾关系句法结构,并且都包含了“飞机”这一关键词,但是有意图文本希望查询到某地的航班信息,而无意图文本则是表达了用户刚刚下飞机;对于第4组例子,有意图对话表达想去北京要订火车票,而无意图表达只是表示自己坐了一天的火车;对于第5组例子,有意图文本很短,只有三个词语,但是却包含了“酒店”,“大床房”等关键词,无意图文本虽然也包含了关键词,但是表达的却是一个新闻事件,并不是希望订酒店。
由此可见,在聊天机器人中,用户出行意图的识别具有很大的挑战,如何从较短的,而且是表达相近的用户聊天文本中准确的识别出用户的出行消费意图,是一项十分具有挑战性的工作。 因而本文的主要目标是识别出用户的出行消费意图,准确的将这些相似的无意图文本进行区分,进而理解用户表达的真实意图,服务于后续的推荐工作。
3 模型
3.1 基于SVM的出行消费意图识别
以往的消费意图识别工作主要基于支持向量机(SVM)等传统机器学习方法[6],因此本文为了与前人方法进行更好的对比,将基于SVM的出行消费意图识别方法作为基线方法。本文在该实验中使用词特征作为模型输入,首先对数据集合进行分词等预处理后生成词表,然后对数据集中的每条文本根据词表进行one-hot表示作为最终的模型输入。该方法对出行消费意图的识别流程如图1所示。
图1 基于SVM的出行消费意图识别
3.2 基于CNN的出行消费意图识别
根据本文的问题描述,出行消费意图识别本质上是一个四元分类问题,因此本文尝试使用基于CNN的出行消费意图识别方法. 该模型如图2所示,由输入层,卷积层,池化层和最终的Softmax分类层组成.其中,输入层中,整个句子可以表示为,由句子中词向量进行连接而成,而卷积操作可以看作是基于滑动窗口的特征提取,主要用来捕捉词语间的局部信息,本文定义卷积核的长度为h,大小为,用于聊天文本中第i个词到第i + h - 1个词。
图2 基于CNN的出行消费意图识别流程图
采用max-over-time pooling进行池化,取每个feature map中值最大的一维作为抽取出的最终特征。该层主要用来将局部的上下文特征向量映射成固定长度的全局特征向量,使得我们仅保留具备特征向量中最具有代表性的特征。 最后,由于本任务一共有四个输出,即该用户文本是否具有订机票,火车票,酒店意图或者是无意图。 因此输出层,即Softmax层输出维度为四。
基于CNN的出行消费意图识别虽然对文本进行深层特征抽取得到了文本最终表示,但在特征抽取过程中没有很好地考虑文本的语序问题。对于聊天机器人的用户对话文本,由于其表达较短,且词语的先后语序关系对文本的实际含义影响较大,为了能更好的对文本的时序关系建模,本文采用基于LSTM的出行消费意图识别方法。LSTM模型由Hochreiter和Schmidhuber[7]提出,它不仅对文本的时序关系具有良好的建模能力,而且当用户输入的文本较长时,可以有效处理文本的长期依赖问题。本文中的LSTM结构如图3所示,该模型由输入层,长短期记忆层和Softmax分类层组成,其中Softmax层与CNN模型中相同,LSTM层由一系列重复的Cell组成,得到最后一个Cell的输出送入Softmax层。该模型的输入层与CNN中不同的是,词向量是依次按照顺序依次送入到对应的Cell中,以保证聊天文本的时序性。
图3 基于LSTM的出行消费意图识别流程图
CNN可以从文本中获取深层的特征信息,LSTM则可以对文本的时序关系建模. 为了充分利用二者的优点,本文将CNN与LSTM模型进行整合,使用基于Convolutional-LSTM的出行消费意图识别模型,该模型于2015 年由Sainath等人提出[8],并在语音、图像领域有了一些应用[9-12],结构如图4所示,包含了输入层,卷积层,特征组合层,长短期记忆层以及最终的Softmax层。本文将该模型应用在文本上,其卷积过程与前人工作不同的是,卷积核的宽度和词向量维度相同。本任务中该模型的输入层,卷积层,Softmax层结构和CNN中对应层结构相同,长短期记忆层与LSTM中对应层结构相同。特征组合层的每个向量通过将卷积后的每个feature map的第i维对应的元素顺序相连得到,得到n-h+1个组合向量,这样每个向量根据卷积的先后顺序进行重新组合,保证了文本的时序性。进而将向量依次送入LSTM的Cell中。得到最后一个隐层的输出作为最终的句子表示,交由Softmax层得到识别结果。
图4 基于Convolutional-LSTM的出行消费意图识别
本文的实验数据来源于科大讯飞灵犀语音助手2015年4月的用户日志,共计13677844条用户数据。 灵犀语音助手是一款智能语音软件,提供了查询及购买机票,火车票,酒店等功能,其用户表达习惯和聊天机器人中用户的表达相似。 本文使用一些关键词及模板规则对数据进行了预处理,过滤掉部分无意图数据,在预处理后的数据上由两名标注人员进行标注,共标注28795条数据。通过计算两名标注人员标注结果的皮尔森相关系数(Pearson correlation coefficient)来验证标注的一致性。 依照上述的流程,得到最终皮尔森相关系数值为0.88,说明不同用户对出行消费意图的理解较为一致。同时,为了避免实验结果的偶然性,本文采用了5折交叉验证的方法,即将数据等分为5份,依次取其中的1份作为测试集,其余4份作为训练集训练模型并进行测试。
表2 意图识别实验结果表
可以看出在我们的任务上,Convolutional-LSTM在三项指标上都取得了最好的效果。
在聊天机器人中,识别出用户的出行消费意图对于理解用户潜在行为和产品推荐具有重要的意义。Convolutional-LSTM的模型首先通过卷积操作,对用户聊天文本进行局部特征信息抽取以获取深层文本信息,然后通过对不同卷积核卷积后生成的特征向量进行维度组合,进而送入LSTM 进行表示学习。由于该模型省去了卷积后的池化操作,特征向量保留了文本卷积后的上下文关系,通过对不同特征向量的相同位置元素进行组合,生成新的向量集合代替原有的词向量输入,利用LSTM的循环输入结构以及上下文信息保留和传递机制,得到最终的文本向量表示。 分别结合了CNN在特征抽取和LSTM在语义理解方面的优势。实验结果表明,本文采用的Convolutional-LSTM方法在消费意图识别任务上具有良好的表现,对于聊天机器人中用户的出行消费意图识别是行之有效的。
引用文献
[1] 刘挺, 付博, 陈毅恒. 基于图排序的社会媒体用户的消费意图检测[J]. 中国科学:信息科学,2015, 45(12):1523-1535
[2] Ding X, Liu T, Duan J, et al. MiningUser Consumption Intention from Social Media Using Domain AdaptiveConvolutional Neural Network[C]. In: Proceedings of AAAI, Austin, 2015.2389-2395.
[3] Duan J W, Chen Y H, Liu T, et al.Mining Intention-Related Products on Online Q\&A Community[J]. Journal ofComputer Science and Technology, 2015, 30(5): 1054-1062.
[4] Wang J, Cong G, Zhao W X, et al. MiningUser Intents in Twitter: A Semi-Supervised Approach to Inferring IntentCategories for Tweets[C]. In: Proceedings of AAAI, 2015. 318-324.
[5] Yang H, Li Y. Identifying user needsfrom social media[J]. IBM Research Division, 2013.
[6] Huang D, Huang Z. Consumption PatternRecognition System Based on SVM[C]. In: Proceedings of the InternationalConference on Intelligent Computation Technology \& Automation. IEEEComputer Society, Breckenridge, 2011. 79-82.
[7] Hochreiter S, Schmidhuber J. Longshort-term memory[J]. Neural computation, 1997, 9(8): 1735-1780.
[8] Sainath T N, Vinyals O, Senior A, etal. Convolutional, long short-term memory, fully connected deep neuralnetworks[C]. In: Proceedings of the 2015 IEEE International Conference onAcoustics, Speech and Signal Processing (ICASSP), London, 2015. 4580-4584.
[9] Xingjian S H I, Chen Z, Wang H, et al.Convolutional LSTM network: A machine learning approach for precipitationnowcasting[C]. In: Proceedings of Advances in Neural Information ProcessingSystems, Montréal, 2015. 802-810.
[10] Wu L, Shen C, Hengel A. ConvolutionalLSTM Networks for Video-based Person Re-identification[J]. arXiv preprintarXiv:1606.01609, 2016.
[11] Zhou C, Sun C, Liu Z, et al. A C-LSTMNeural Network for Text Classification[J]. Computer Science, 2015, 1(4):39-44.
[12] Donahue J, Anne Hendricks L,Guadarrama S, et al. Long-term recurrent convolutional networks for visualrecognition and description[C]. In: Proceedings of the IEEE Conference onComputer Vision and Pattern Recognition, London, 2015. 2625-2634.
本期责任编辑: 张伟男
本期编辑: 吴洋
“哈工大SCIR”公众号
主编:车万翔
副主编: 张伟男,丁效
责任编辑: 张伟男,丁效,赵森栋,刘一佳
编辑: 李家琦,赵得志,赵怀鹏,吴洋,刘元兴,蔡碧波
长按下图并点击 “识别图中二维码”,即可关注哈尔滨工业大学社会计算与信息检索研究中心微信公共号:”哈工大SCIR” 。