基于深度学习技术的词语相关性计算在电商广告关键词选词中的应用
2021-05-25张函
张函
(金华职业技术学院,浙江 金华321000)
在电商网店的运营过程中,搜索营销几乎是电商企业所必须投入的营销方式,特别是在当今竞争日益激烈的主流电子商务平台上开设店铺,商家为搜索营销投入的成本约占到企业总体营销成本的30%以上。我们以淘宝直通车为例,简要介绍一下电商搜索营销的业务模式和流程。淘宝的直通车功能本质上是对竞价搜索模式的一种创新。效果示以图文结合的方式为主,本质上是严格基于点击收费(CPC)模式。用户利用某关键词进行检索时,搜索结果页面出现该关键词相关的广告内容。
关键词选择作为竞价排名广告的核心要素,被认为是广告投放者(电商卖家)提高绩效需要考虑的重中之重。关键词的选择会极大地影响竞价排名广告的效果,不仅是因为关键词与用户的搜索词之间的相关性决定了位置的高低,更是因为关键词本身就是对用户群的一个划分。
近年来,随着大数据、人工智能的发展,通过智能化的算法策略代替或辅助人工进行关键词选取,成为一种非常常见的选词方式。
1 智能化选词流程概述
智能化选词是整个广告推广平台中的一部分。在广告推广平台的运行流程中,商家选择商品,然后后提交给平台,并设置好推广需求。平台替自动分析商品详情,并根据商家设置的需求为商品智能化地选定推广关键词。然后,平台可根据已制定的竞价模型,为推广关键词设置价格,并提交给电商平台后台(如淘宝后台接口),以进行正式的投放推 广。以上过程可以用图1 概括:
图1
在这个过程中,智能化选词是相当关键的一个环节,选词质量的好坏直接决定了推广的效果。因此,我们需要关注智能化选词的具体过程。
基于对某知名电商企业服务平台中智能化选词平台中选词流程的抽象和概括,智能化选词的基本流程如图2 所示。
图2
从图中可以看出,在词库中关键词的质量保持一定的情况下,关键词和店铺信息(包括标题、详情)的相关性对选词的质量至关重要。而如何智能化地计算关键词调整和店铺信息之间的相关性,进而取得更好的选词效果,是本文重点讨论的课题。
2 词语相关性计算的基本方法概述
2.1 词语相关性概述
在电商广告推广平台智能选词的业务场景里,词语的相关性是指一个商品所使用的关键词与商品的实际信息和属性的相关程度。换言之,词语相关性的高低,就表征了关键词的含义是否是商品所具有的属性,或者关键词是否能够体现出商品某些方面的特征。
在多数电商平台中,关键词的相关性采用类目相关性和语义相关性二者的加权。其中,语义相关性比较容易理解,指的是这个关键词与商品描述信息的相符程度。之所以需要加入类目相关性,是因为现在很多词语的意义发生了很大的变化,同一个词代表了完全不同类目的事物。例如,在“水果”类目中的“苹果”和在“数码产品”类目中的“苹果”显然是指不同的商品。本文重点讨论的是语义相关性的计算。
在很多智能选词平台的实现中,采用分词后计算重合词数量的方式来计算词语相关性是一种普遍的方法。而采取这种方案的前提是需要对商品的信息(例如标题,详情等)的文本,以及对候选词库中的关键词进行高质量的中文分词。
2.2 中文分词方法简介
分词就是将连续的字序列按照一定的规范重新切分并组合成词序列的过程。在英文的行文中,单词之间是以空格作为自然分界符的。而中文只是字、句和段能通过明显的分界符来简单划界,唯独词没有一个形式上的分界符。
不同的中文分词方法根据其实现原理和特点,主要分为基于词典的分词算法和统计机器学习算法两大类。常见的分词器都是使用统计机器学习算法和词典相结合,一方面能够提高分词准确率,另一方面能够改善领域适应性。
2.3 基于重合词数量的相关性计算
在中文分词的基础上,我们可以通过包含相同的词的个数来计算商品信息和候选关键词的语义相关度。虽然这种方法有明显的局限性,但在很多场合,仍然不失为一种简单和快捷的方法。具体的算法如图3 所示。
图3
上述流程有两个输入,其一是商品信息,即电商平台上某个店铺中的某个商品的标题、详情信息以及其它商品属性。一般情况下,由于商品标题本身已经能够代表商品最关键的信息,我们在进行相关性计算时,可以只将商品标题作为输入。例如:“派度瑜伽砖练功舞蹈瑜珈砖器材”、“日本叮叮蚊虫子叮咬止痒药膏驱蚊膏”。另外一个输入是待匹配的候选关键词列表。智能化选词平台往往会事先获取和收集海量的商品关键词作为词库。而这里的待匹配关键词往往就来自于词库。当然,对于每一个具体的商品,不太可能用全量的词库作为待匹配的关键词列表,而是用商品对应的类目下的关键词作为待匹配列表。一方面,在全量关键词库中逐一计算和匹配比较耗时;另一方面,不是一个类目的关键词的含义和商品也往往不相关,即便是两者有着相同的词语构成。
通过上述流程,系统能够迅速找到包含相同词语的候选关键词,在此基础上,如果可以根据按上述方法计算出的相关性进行排序,则排名靠前的候选关键词,可以作为智能化选词的结果来输出。
然而,由于自然语言的复杂和多义性,仅仅根据包含相同词语多数来计算相似度的方法存在着局限。词语的先后顺序没有反映到计算中来,习惯用语和同义词也无法作为完全相同的词进行匹配,这就给计算带来一定的偏差。
3 基于深度学习的词语相关性计算方法概述
近年来,随着深度学习技术的发展,基于深度学习的文本相关性计算方法也不断涌现。谈到这类方法,就不得不提到文本向量化(word embedding)这个概念。文本向量化是指将文本表示成一系列能够表达文本语义的向量,进而可以通过这些向量化之后的表示来进行分类、聚类等机器学习的标准任务,当然也包括通过计算向量相似度的方式来计算文本的相关度。目前对文本向量化大部分的研究都是通过词向量化实现的,比如有word2vec 算法,也有一部分研究者将句子作为文本处理的基本单元,这就衍生出doc2vec 算法等。
3.1 Word2vec 概述
词袋(bag of word)模型是最早的以词语为基本单元的文本向量化算法。在词袋模型中产生的向量,与文本中单词的出现顺序无关,而是与词典中每个单词在文本中出现的频率相关。这个方法虽然简单易行,但是存在着维度灾难(以语言中的总词语量为维度数量,也造成了向量表示十分稀疏的问题);同时,该模型无法保留词语顺序的信息,也无法表示因上下文顺序而带来的语义信息。
随着自然语言理解技术和深度学习技术的发展,大量研究转移到利用无标注数据挖掘有价值的信息的方向上来。Word2vec 技术就利用了深度神经网络技术,从大量无标注的文本语料中提取出有用的信息,从而更好地完成了文本向量化的过程。Word2vec 依赖skip-grams 或连续词袋(CBOW)来进行文本向量化,前者是在通过某个词预测这个词的上下文词语来训练模型,后者则是通过上下文来预测某个词来训练模型。进过word2vec 处理之后的词向量,已经可以通过作用于向量的加减运算,达到对于词语含义“理解”的效果。比如,可以达到“巴黎”-“法国”+“英国”=“伦敦”这样的效果。这里“巴黎”指通过word2vec 训练得到的“巴黎”对应的词向量。显然,这样的词向量表示,非常方便对词语相关度的计算,并且这里的相关度包含了一定程度的语义信息。
3.2 从word2vec 到doc2vec
然而,在通过word2vec 将文本中的词向量化之后,我们可能需要利用所有词向量的平均值作为分类算法的输入值,从而对整个文本文档进行分类处理,以应对文本类的分类任务。即上述的word2vec 只是基于词的维度进行“语义分析”的,而并不具有上下文的“语义分析”能力。作为一个处理可变长度文本的总结性方法,Quoc Le 和Tomas Mikolov 提出了Doc2Vec 方法。除了增加一个段落向量以外,这个方法几乎等同于Word2Vec。Doc2vec 方法也被广泛应用于文本分类、相似度计算等场景中。
本文尝试通过doc2vec 方法,对于电商广告智能选词的方法进行优化,以提升选词的质量和相关度。
4 基于doc2vec 的电商广告关键词选词实验
为了验证doc2vec 方法在智能选词中相关度计算环节的效果,并在此基础上优化传统的基于共同词语数量的相关度计算方法,设计和进行实验如下文所示。
4.1 实验流程及架构设计如图4。
图4
4.2 实验数据及模型准备
上述实验中,所涉及到的数据来源如下:
4.2.1 商品标题列表
通过抓取某网站上维护的某电商平台上10 多个类目的数千个促销商品列表,将其URL 及商品标题进行保存,用于构成本次实验的商品信息库。
4.2.2 候选关键词列表
我们通过定期抓取淘宝公开的PC/无线热词和候选热词,构成候选关键词列表。
4.2.3 Doc2vec 模型训练
为了训练doc2vec 模型,我们需要实现准备和电商关键词相对接近的海量预料来进行模型训练。通过和上述商品类目相关的关键词作为搜索词,在某中文分类语料网站上进行检索,并将每个类目关键词相关的前10000 条语料抓取和收录。将这些语料整合成语料库,作为doc2vec 的训练语料进行分词并进行模型训练。在本实验中,我们使用了jieba 中文分词库进行分词,使用了gensim 自然语言处理库来进行doc2vec 模型训练。关键代码如下:
4.3 实验关键策略及步骤
4.3.1 在上面的实验流程中,为了区别两种文本相关度计算的方法,将上述基于相同词语个数量计算的相关度称为“相关度A”,将基于深度学习doc2vec 所计算的相关度称之为“相关度B”。
4.3.2 我们将实现抓取到的电商网站上的商品网页上的商品标题作为输入,对这些标题的商品进行智能选词。我们也实现准备好了候选词库。为了简化起见,我们并没有根据类目信息来匹配筛选候选关键词,而是直接在全量关键词库中进行匹配,在实验中的数据规模下相对也不影响实验效果。
4.3.3 对于每一个候选关键词,我们都先尝试通过计算相同词语数量的方法来计算相关度,我们称之为相关度A。我们对于所有候选关键词都计算相关度A,然后将相关度排名在前N 位(在实验中,N 可以取5 或10 等数值)。的关键词作为候选关键词。这样可以筛选掉其它完全不相关的候选词。同时,在候选关键词中,我们可以通过doc2vec 算法,对于这些候选关键词本身,以及候选关键词分词重组之后生成的新关键词,计算相关度B。最后,我们将相关度A 排名前N 位的候选关键词A,以及对于候选关键词本身及分词重组候选关键词所分别计算的相关度B(仍然是只有前N 位),都作为结果进行保存和输出,用于进行相关试的比较。
4.4 实验结果展示
实验结果中的数据节选展示如表1-3。
表1
表2
表3
5 结论
5.1 实验结论
5.1.1 从实验结果可以看出,基于相关度A,即根据包含相同词语多少来计算的相似度,可作为候选集的初步筛选方案,过滤掉明显不相关的诸多关键词。
5.1.2 同为基于doc2vec 的相关度计算方案,基于候选关键词重组的计算方案明显由于基于原始候选关键词的候选方案。分析其原因,因为基于doc2vec 的模型考虑到了同义词、上下文等高级特征,而重组之后的关键词在doc2vec 模型中体现出了符合语义的相关性。
5.1.3 综上,可以看出,基于doc2vec 的相关度计算方案,适合作为基于相同词语的相关度计算方案的优化方案,以提升关键词选词的相关度。
5.2 后续工作
5.2.1 本文设计和进行了基于深度学习中的doc2vec 方法的候选词相关度计算实验,验证了基于doc2vec 方法对于提升关键词选词相关试的效果。但从实验结果可以看出,在整个的智能选词流程中,仍然有很多可改善及优化的空间。
5.2.2 首先,在进行商品信息输入时,仅仅引入了商品标题信息,虽然可以表征商品最关键的信息,但如果将商品详情、静态属性、商品销售信息,可以获得更好的实验效果。
5.2.3 其次,在进行候选关键字匹配时,也可以引入类目信息,这样可以提升全局匹配的效率,过滤掉更多不在同一类目的关键词。
5.2.4 最后,在线抓取的语料来自互联网新闻和社交媒体。但从实际情况来看,这些语料的文本特征和电商平台上的网店标题以及商品信息的文本特征还是有不小的差异,这也造成了训练出的模型在计算商品信息相关度时存在些许的不适应。特别是由于电商平台(如淘宝)检索系统发展历程中的历史原因,网店中的商品标题往往多用单字和非自然语言的语序来描述商品,如“闪亮洗眼液清洁眼部护理液清洗眼睛”、“儿童拖鞋夏季可爱卡通防滑软底”等,这些标题的文本语言特征确实与自然语言句子不尽相同。后续可以考虑抓取海量网店的文本信息进行模型训练,以期取得更好的商品信息相关度计算效果。