在机器翻译、图片描述、语义蕴涵、语音识别和文本摘要中,序列到序列的问题已经有太多大牛研究了,也取得了不少突破。谷歌的Attention is all you need[1],舍弃并超越了主流的rnn与cnn序列建模框架,刷出了新的state of the art,这种大胆创新的精神值得咱们学习。后面相信会有更多的attention变体甚至和rnn/cnn结合的电路图涌现,固然咱们更期待的不是这些,咱们更向往大道至简。咱们在follow的同时,也指望本身的每个新的想法,新的尝试可以汇入深度学习的大浪,为人类的将来贡献本身的一份力量。
在电子商务搜索中,query做为表达用户意图的载体起到了很是重要的做用。如何根据用户的历史行为序列给用户推荐一个query,吸引用户发生搜索以及后续的成交是很是有意义的,好比淘宝的底纹推荐。以下图是一个在iphone上的引导图,欢迎你们多多使用底纹。网络
在技术方案这部分,咱们首先介绍一下总体思路,而后重点讨论一下序列embedding.框架
总的来讲,思路主要有两种:1)编码解码直接生成query;2)把user向量和query向量映射到一样的向量空间里,而后经过向量类似召回来获取query,候选query是日志中已经存在的。下面分别介绍下:iphone
大致来讲,这种思路通常是首先把source sequence经过一个encoder map成一个vector,而后用这个vector做为context向量去经过另外一个decoder进行翻译得出output.后面有不少同行在这个基本思路上作了不少改进,咱们尝试最基本的一种,没有把网络搞的很复杂。以下图所示,首先获取用户的行为序列,而后 encode成user-embedding向量,而后这个向量做为context向量来解码query,每一步解码一个词/字。在预测的阶段通常采起beam search搜索策略来获取最可能的topK个候选query的词序列。学习