CSA  >> Vol. 9 No. 3 (March 2019)

    基于文本相似度的搜刮推荐点击猜想模型
    Improvement of the Recommended Click Prediction Model Based on Text Similarity

  • 全文下载: PDF(1141KB) HTML   XML   PP.613-621   DOI: 10.12677/CSA.2019.93069  
  • 下载量: 277  浏览量: 1,427   科研立项经费支撑

作者:  

詹 彬,吴晓鸰,凌 捷:广东工业大年夜学计算机学院,广东 广州

关键词:
搜刮推荐搜刮点击猜想词向量点击模型关键字语义Search Recommendation Search Click Prediction Term Vectors Click Model Keyword Semantics

摘要:

为了进一步进步用户在搜刮引擎中的推荐内容点击猜想精确率,本文采取了一种包含搜刮内容类似度特点的办法。该办法的构造是由多个决定计划树构成的猜想模型,应用了层次化softmax (Hierarchical softmax)将成果转换为二分类成果。为了懂得用户搜刮文本的语义,应用用户输入与推荐内容标题、高频相干内容和推荐内容标签的文本相似度来增长点击猜想模型的精确率。采取jieba分词将文本中的词汇切分出来,应用word2cev对一切词汇停止练习,构建词向量模型。最后应用LightGBM停止猜想模型的构建。从205万条用户搜刮记录中取出5万条作为验证集,剩下的作为练习集。实验成果注解,添加类似度特点以后模型的点击猜想精确率取得了晋升。

In order to further improve the accuracy of the recommended content click prediction in search engine, a method based on the similarity feature of search content is proposed. The structure of the method is composed of multiple decision tree models. The Hierarchical softmax is used to convert the result to binary classification results. In order to understand the semantics of the user’s search text, the user input text similarity with the recommended content title, high-frequency related content, and recommended content tags is used to increase the accuracy of the click prediction model. The segmentation of words in the text is performed using the jieba segmentation, and word2cev is used to train all the words and construct a word vector model. Finally, Light GBM is used to build the prediction model. Then, 50,000 of the 2.05 million users’ search records are taken as the verification set and the rest as the training set. Experimental results show that the accuracy of the model is improved after adding similarity features.

1. 引言

随着计算机的生长,如今曾经进入了信息时代。特别是互联网家当的飞速生长,使得搜集资本出现出宏大年夜而混乱的特点。面对大年夜量的文本、音频、视频信息,假设要全部都接收到人的大年夜脑里是不实际的。在这个信息大年夜爆炸的时代若何才能在海量的数据中找到本身须要的信息,成为一个亟待处理的成绩。

搜刮引擎是平常生活中经常使用的一种处理信息过载的技巧,最开真个搜刮引擎是经过过程对信息停止人工或半主动化分类来供给搜刮办事的,最早由加拿大年夜麦吉尔大年夜学于1990年开辟 [1] 。第二代搜刮引擎技巧是基于文本婚配的搜刮技巧,也就是经过过程建立关键词库来停止查找和婚配。第三代搜刮引擎结合人工智能技巧,对用户需求懂得加倍精确,不只能供给文本上类似的内容,还可以给出基于语义的内容。文献 [2] 提出了应用语义嵌入空间来表示词语的语义和逻辑,处理了问答体系中对用户需求的语义懂得。

随着人工智能的生长,生活中出现出愈来愈多人机交互和智能对话体系,搜刮推荐体系面对着新的机会和挑衅。已有的基于CTR (Click Through Rate)的模型 [3] 和引入用户的偏好信息 [4] 等技巧曾经远远不克不及满足以后搜刮推荐体系的需求。而基于CTR的搜刮推荐给用户的关键词都是采取字符婚配技巧来停止检索,常常缺乏语义上的懂得,对用户的文本没法停止语义相干度的计算,乃至是对语义一窍不通。加了用户偏好信息也因用户行动数据过于稀少,没法对模型停止改进。天然说话处理作为计算机迷信范畴与人工智能范畴的一个重要分支在信息检索、机械翻译、文档分类、文本发掘等范畴中被广泛应用。将天然说话处理应用于搜刮推荐的点击猜想中,可以进一步懂得用户的需求,来猜想用户能否会点击,从而进步猜想成果的精确率。

2. 相干任务

2.1. 分词

词是“最小的能自力应用的说话单位” [5] 。关于英文来讲,每句话里的单词都是由空格隔开的,分词异常简单。由于中文具有大年夜字符集持续书写的特点,假设不停止分词,计算机则没法得知中文词实在其实切界线,从而很难解得文本中所包含的语义信息。但是关于中文来讲词与词之间普通都没有任何间隔,这就须要对一句话停止分词。

今朝比较风行的分词办法有三种:第一种是基于字符串婚配的分词办法,这类办法是按必定战略将汉字串与机械字典外面的词条停止婚配,找到某个字符串则认为辨认出一个词。第二种办法是基于懂得的办法,这类办法是经过过程模仿人对句子的懂得,在分词的同时也分析句法、语义,用于处理歧义景象。这类办法包含分词子体系、句法语义子体系和总控部分。这类办法须要大年夜量的说话语法知识。最后一种办法是基于统计的分词办法,这个办法是应用统计学的办法进修词语切分规律从而对句子停止分词。

中文普通较常应用jieba分词对句子停止分词。jieba分词算法应用了基于前缀词典的词扫描,生成句子中汉字一切能够生成的词语情况所构成的有向无环图(DAG),再采取静态筹划查找最大年夜概率途径,找出基于词频的最大年夜切分组合。关于没有见过的词,采取基于汉字成词的HMM模型,或许应用Viterbi [6] 算法。

2.2. 词向量

在计算机中平日有两种方法表示词汇,第一种是应用团圆化表示(one-hot representation),第二种是应用分布式表示(distribution representation)。团圆化表示是将每个词都表示为一个向量,这个向量的维度是词表的大年夜小,向量中只要一个维度的值为1。例如:西瓜:[0, 1, 0, 0, 0, ……]。但如许会招致词与词之间的关系不克不及表示,别的这个办法在词表很大年夜的时辰会招致维度异常的大年夜,从而形成维度灾害,在应用中也难以计算。分布式表示是将词转换成一种分布式的表示情势,又称作词向量,是将每个词表示为一个向量。分布式表示与团圆化表示不一样的处所是向量里的值可所以随便任性实数。例如:中国:[1.2, 3.5, 3, 5, ……]。个中的每维都是成心义的,如许就处理了维度灾害。并且向量之间的间隔可以表示词之间的类似度。今朝用得最广泛的是分布式表示,其思维最早由Hinton于1986年提出 [7] 。本文用到的词向量也是基于分布式表示的词向量。

搜刮引擎中的搜刮文本包含一个及其以上的词语,标题普通也不止一个词语。所以关于多个单词的类似度而言要计算的不只仅是一个词之间的类似度,而是两段文本之间的类似度。如今文本表示办法有词集和词袋法(Bag-of-word,BOW) [8] 。本文用的是的是词袋法,此办法是将文本算作一些词的集合,在该集合中,每个词的出现是相互自力的。应用词袋法表示一组词可以计算出两个句子或许文档之间的类似度。

2.3. 神经搜集说话模型(NNLM)

NNLM (Neural network language model)是在2003年由Bengio提出来的 [9] ,如今已被广泛应用语音辨认体系 [10] 和高低文分析 [11] 等。NNLM的道理是应用前n个词来猜想最后一个词。神经搜集模型应用Distributed Representation词向量来表示词语并作为输入。神经搜集模型分为4层:输入层、投影层、隐蔽层、输入层(如图1所示)。

Figure 1. Neural network language model structure diagram

图1. 神经搜集说话模型构造表示图

假设NNLM输入是一组词序列。(V是一切词聚集合) NNLM的目标输入如公式(1):

f ( w t , w t 1 , , w t n + 2 , w t n + 1 ) = p ( w t | w 1 t 1 ) (1)

练习过程则是最大年夜化以下函数(2):

L = 1 T t log f ( w t , w t 1 , , w t n + 2 , w t n + 1 ; θ ) + R ( θ ) (2)

个中θ为模型的一切参数,R(θ)为正则项。

2.4. word2vec

word2vec是谷歌公司在2013年开放的一款词向量练习模型,可以根据给定的语料库,经过过程优化后的模型将单词练习成向量的情势。再应用word2vec计算出关键字的语义类似度 [12] 。word2vec依附skip-grams或许CBOW来建立词嵌入。在word2vec中,应用是层次化softmax (Hierarchical softmax)停止归一化 [13] ,改良了传统softamx的运算效力。

CBOW与Skip-Grams

在word2vec中,CBOW是经过过程给定高低文来猜想input word。而skip-gram则是与CBOW相反,经过过程input word猜想高低文。两个模型过程如图2所示,w(t)为句子中的第t个词语。

Figure 2. Schematic diagram of CBOW and Skip-gram

图2. CBOW和Skip-gram表示图

3. 本文任务

3.1. 分词纠错

这里用N-gram来对分词停止纠错,将切分太小的词停止归并。例如:“清华大年夜学”能够会被分红“清华”和“大年夜学”,是以要对这些分词停止归并。这里须要将句子分词分红3个词的多个子串。子串如图3所示:

原句:广东工业大年夜学是以工为主的多学科调和生长的大年夜学。

分词后:{广东,工业,大年夜学,是,以,工,为主,的,多学科,调和,生长,的,大年夜学}

N-gram子串:{[广东,工业,大年夜学],[工业,大年夜学,是],[大年夜学,是,以],[是,以,工],[以,工,为主],[为主,的,多学科],[的,多学科,调和],[多学科,调和,生长],[调和,生长,的],[生长,的,大年夜学]}

Figure 3. Substring of n-gram

图3. n-gram子串

将每句话都停止如许的切分,然后将每个子串中的中心的词作为keyword去遍历全部文本集合的keyword,然后在keyword雷同的子集外面寻觅prefix和postfix,计算出现频率高的prefix或postfix,将其与keyword归并。比如广东工业大年夜学应当是一个词,而分词的时辰将其分得过细了,而它们在全部语料库中会同时出现,其同时出现频率会比较高,是以可以将其归并。

3.2. 经过过程点击率和词类似度特点构建点击猜想模型

基于对用户搜刮记录的分析来猜想用户关于搜刮引擎的提示的点击行动。搜刮记录包含prefix (用户在输入框的输入)、query_prediction (包含用户输入信息且出现频度最高的前几个词条)、title (搜刮引擎推荐或提示词条)、tag (提示词条的标签)、label (用户能否点击提示词条(0或1))。

本文用到的是点击率和词条类似度的特点,如表1

Table 1. Feature

表1. 用到的特点

下面的类似性特点都是可以作为断定用户能否会采取搜刮提示的特点。比如用户输入与提示词条之间的类似度,类似度越高而用户的点击概率则会越高。这里增长了11个类似性特点,在猜想的时辰只需经过过程练习好的词向量模型多计算11个类似度便可。图4为点击率模型应用特点,图5为添加类似度以后的特点。

Figure 4. Feature of click rate

图4. 点击率特点

Figure 5. Features with added similarity

图5. 添加类似度以后特点

基于这些特点,可以应用Boosting来进步猜想算法的精确度。Boosting是一种进步随便任性给定进修算法精确度的办法 [14] ,图6即为Boosting模型构造。它的思维来源于Valiant提出的PAC (Probably Approximately Correct)进修模型 [15] 。Valiant和Kearns提出了弱进修和强进修的概念,辨认缺点率小于1/2,也即精确率仅比随机猜想略高的进修算法称为弱进修算法;辨认精确率很高并能在多项式时间内完成的进修算法称为强进修算法。

Figure 6. A model for the Boosting

图6. Boosting模型表示图

这里应用GBDT (Gradient Boosting Decision Tree)来构建模型。GBDT是经过过程多棵决定计划树合营影响成果的模型,GBDT进修的过程是每步都将用到前面的一切树的结论的残差,这个残差就是真实值与猜想值之间的差。

3.3. 实验成果分析与比较

实验应用微软的Lihght GBM [16] 练习模型。Light GBM采取了Leaf-wise (Best-first)的决定计划树发展战略,可以比level-wise算法 [17] 增添更多损掉。实验硬件平台为Intel酷睿i5-4200U,主频1.6 GHz,内存8G。本实验数据集是应用天池OGeek大年夜数据比赛供给的数据集,数据样例和各字段的解释如表2表3所示。实验数据集是用户的搜刮记录,练习集包含200万条搜刮记录,验证集包含5万条搜刮记录。将练习集和验证集归并,应用StratifiedKFold将数据集按五次不合的切分规矩切分练习集和验证集,最后计算均值来做比较。

Table 2. Sample data

表2. 样例数据

Table 3. Data field description

表3. 数据字段解释

这里分别应用加了类似性特点和未加类似性特点的模型比较,应用了精确率、召回率和F1-Score。计算办法如公式(3) (4) (5)。

TP (True Positive)真阳性:猜想为正,实际也为正

FP (False Positive)假阳性:猜想为正,实际为负

FN (False Negative)假阴性:猜想与负、实际为正

TN (True Negative)真阴性:猜想为负、实际也为负

= T P T P + F P (3)

= T P T P + F N (4)

F 1 S c o r e = 2 * * + (5)

表4表5所示,这里应用5组数据的精确率、召回率、F1_SCORE的均匀值来比较各个办法。经过过程比较表4表5的成果可以看到在这三方面确切是取得了进一步晋升。语义相干度可以将一些比较特性化的词语接洽到经常使用的搜刮词语,以便于更好的对用户行动停止猜想。

Table 4. Results of using only CTR (Click Through Rate)

表4. 仅仅应用点击率(CTR)的成果

Table 5. Result after adding semantic similarity

表5. 增长语义类似度以后成果

图7可以看到,增长了文本相似性特点以后精确率晋升了,经过过程高低文信息练习出词向量从而可以计算文本之间的类似度。假设有足够的数据集。练习出来的词向量会加倍精确,从而对精确率的晋升会加倍明显。

Figure 7. Only click-through rate and similarity were used for the model comparison

图7. 只应用点击率和参加类似度的模型比较

4. 结语

基于点击率的点击猜想模型在实际成绩中被广泛应用,在大年夜多半情况下的后果较好。然则在点击率比较接近50%的时辰,后果较差。为增长基于点击率的模型的精确率,本文提出在点击率的基本上增长搜刮文本与高频搜刮标题、推荐搜刮成果之间的类似度来对用户停止点击猜想。文本相似度在模型中结合点击率进步了用户行动猜想的精确率,进一步对用户意图停止了猜想,让模型更精确地猜想用户的点击行动。实验成果注解,添加了类似性的特点以后,猜想的精确率取得了晋升。经过过程文本语义可以发明文本之间更多的接洽,让机械加倍“人性化”。

基金项目

本文取得广东省科技筹划项目(2017B090906003)、广州市科技筹划项目(201802010043、201807010058)和机械智能与先辈计算教导部重点实验室开放课题基金(MSC-201604A)的赞助。

NOTES

*通信作者。

文章援用:
詹彬, 吴晓鸰, 凌捷. 基于文本相似度的搜刮推荐点击猜想模型[J]. 计算机迷信与应用, 2019, 9(3): 613-621. https://doi.org/10.12677/CSA.2019.93069

参考文献

[1] 李晓明, 闫宏飞, 王继平易近. 搜刮引擎: 道理、技巧与体系[J]. 2012.
[2] Yang, M.C., Lee, D.G., Park, S.Y., et al. (2015) Knowledge-Based Question Answering Using the Semantic Embedding Space. Expert Systems with Applications, 42, 9086-9104.
https://doi.org/10.1016/j.eswa.2015.07.009
[3] Joachims, T. (2002) Optimizing Search Engines Using Clickthrough Data. ACM Conference on Knowledge Discovery & Data Mining, Edmonton, 23-26 July 2002, 1-21.
[4] Xing, Q., Liu, Y., Nie, J.Y., et al. (2013) Incorporating User Preferences into Click Models.
[5] 汉语信息处理词汇01部分: 根本术语(GB12200.1-90)6 [S]. 北京: 中国标准出版社, 1991.
[6] Forney, G.D. (1993) The Viterbi Algorithm. Proceedings of the IEEE, 61, 268-278.
[7] Hinton, G.E. (1989) Learning Distributed Representations of Concepts. 8th Conference of the Cognitive Science Society, Ann Arbor, 1989, 1-11.
[8] Manning, C.D. (1999) Foundations of Statistical Natural Language Processing. MIT Press, Cambridge.
[9] Bengio, Y., Schwenk, H., Senécal, J., et al. (2003) Neural Probabilistic Language Models. Journal of Machine Learning Research, 3, 1137-1155.
[10] Lee, K., Park, C., Kim, N., et al. (2018) Accelerating Recurrent Neural Network Language Model Based Online Speech Recognition System.
[11] Deng, H., Lei, Z. and Wang, L. (2017) Global Context-Dependent Recurrent Neural Network Lan-guage Model with Sparse Feature Learning. Neural Computing & Applications, No. 6, 1-13.
[12] Shao, T., Chen, H. and Chen, W. (2018) Query Auto-Completion Based on Word2vec Semantic Similarity. Journal of Physics Conference Series, 1004, Article ID: 012018.
https://doi.org/10.1088/1742-6596/1004/1/012018
[13] 周练. Word2vec的任务道理及应用商量[J]. 图书谍报导刊, 2015(2): 145-148.
[14] Kearns, M.J. and Valiant, L.G. (1993) Cryptographic Limitations on Learning Boolean Formulae and Finite Automata. Springer-Verlag, Berlin.
https://doi.org/10.1007/3-540-56483-7_21
[15] Valiant, L. (2015) Probably Approximately Correct: Nature’s Algorithms for Learning and Prospering in a Complex World. Common Knowledge, 21, 340.
https://doi.org/10.1215/0961754X-2872666
[16] Guolin, K., Qing, M. and Thomas, F. (2017) LightGBM: A Highly Efficient Gradient Boosting Decision Tree. 31st Conference on Neural Information Processing Systems, Long Beach, 2017, 1-11.
[17] Shi, H. (2007) Best-First Decision Tree Learning. The University of Waikato, Hillcrest.