張函
(金華職業技術學院,浙江 金華321000)
在電商網店的運營過程中,搜索營銷幾乎是電商企業所必須投入的營銷方式,特別是在當今競爭日益激烈的主流電子商務平臺上開設店鋪,商家為搜索營銷投入的成本約占到企業總體營銷成本的30%以上。我們以淘寶直通車為例,簡要介紹一下電商搜索營銷的業務模式和流程。淘寶的直通車功能本質上是對競價搜索模式的一種創新。效果示以圖文結合的方式為主,本質上是嚴格基于點擊收費(CPC)模式。用戶利用某關鍵詞進行檢索時,搜索結果頁面出現該關鍵詞相關的廣告內容。
關鍵詞選擇作為競價排名廣告的核心要素,被認為是廣告投放者(電商賣家)提高績效需要考慮的重中之重。關鍵詞的選擇會極大地影響競價排名廣告的效果,不僅是因為關鍵詞與用戶的搜索詞之間的相關性決定了位置的高低,更是因為關鍵詞本身就是對用戶群的一個劃分。
近年來,隨著大數據、人工智能的發展,通過智能化的算法策略代替或輔助人工進行關鍵詞選取,成為一種非常常見的選詞方式。
智能化選詞是整個廣告推廣平臺中的一部分。在廣告推廣平臺的運行流程中,商家選擇商品,然后后提交給平臺,并設置好推廣需求。平臺替自動分析商品詳情,并根據商家設置的需求為商品智能化地選定推廣關鍵詞。然后,平臺可根據已制定的競價模型,為推廣關鍵詞設置價格,并提交給電商平臺后臺(如淘寶后臺接口),以進行正式的投放推 廣。以上過程可以用圖1 概括:

圖1
在這個過程中,智能化選詞是相當關鍵的一個環節,選詞質量的好壞直接決定了推廣的效果。因此,我們需要關注智能化選詞的具體過程。
基于對某知名電商企業服務平臺中智能化選詞平臺中選詞流程的抽象和概括,智能化選詞的基本流程如圖2 所示。

圖2
從圖中可以看出,在詞庫中關鍵詞的質量保持一定的情況下,關鍵詞和店鋪信息(包括標題、詳情)的相關性對選詞的質量至關重要。而如何智能化地計算關鍵詞調整和店鋪信息之間的相關性,進而取得更好的選詞效果,是本文重點討論的課題。
在電商廣告推廣平臺智能選詞的業務場景里,詞語的相關性是指一個商品所使用的關鍵詞與商品的實際信息和屬性的相關程度。換言之,詞語相關性的高低,就表征了關鍵詞的含義是否是商品所具有的屬性,或者關鍵詞是否能夠體現出商品某些方面的特征。
在多數電商平臺中,關鍵詞的相關性采用類目相關性和語義相關性二者的加權。其中,語義相關性比較容易理解,指的是這個關鍵詞與商品描述信息的相符程度。之所以需要加入類目相關性,是因為現在很多詞語的意義發生了很大的變化,同一個詞代表了完全不同類目的事物。例如,在“水果”類目中的“蘋果”和在“數碼產品”類目中的“蘋果”顯然是指不同的商品。本文重點討論的是語義相關性的計算。
在很多智能選詞平臺的實現中,采用分詞后計算重合詞數量的方式來計算詞語相關性是一種普遍的方法。而采取這種方案的前提是需要對商品的信息(例如標題,詳情等)的文本,以及對候選詞庫中的關鍵詞進行高質量的中文分詞。
分詞就是將連續的字序列按照一定的規范重新切分并組合成詞序列的過程。在英文的行文中,單詞之間是以空格作為自然分界符的。而中文只是字、句和段能通過明顯的分界符來簡單劃界,唯獨詞沒有一個形式上的分界符。
不同的中文分詞方法根據其實現原理和特點,主要分為基于詞典的分詞算法和統計機器學習算法兩大類。常見的分詞器都是使用統計機器學習算法和詞典相結合,一方面能夠提高分詞準確率,另一方面能夠改善領域適應性。
在中文分詞的基礎上,我們可以通過包含相同的詞的個數來計算商品信息和候選關鍵詞的語義相關度。雖然這種方法有明顯的局限性,但在很多場合,仍然不失為一種簡單和快捷的方法。具體的算法如圖3 所示。

圖3
上述流程有兩個輸入,其一是商品信息,即電商平臺上某個店鋪中的某個商品的標題、詳情信息以及其它商品屬性。一般情況下,由于商品標題本身已經能夠代表商品最關鍵的信息,我們在進行相關性計算時,可以只將商品標題作為輸入。例如:“派度瑜伽磚練功舞蹈瑜珈磚器材”、“日本叮叮蚊蟲子叮咬止癢藥膏驅蚊膏”。另外一個輸入是待匹配的候選關鍵詞列表。智能化選詞平臺往往會事先獲取和收集海量的商品關鍵詞作為詞庫。而這里的待匹配關鍵詞往往就來自于詞庫。當然,對于每一個具體的商品,不太可能用全量的詞庫作為待匹配的關鍵詞列表,而是用商品對應的類目下的關鍵詞作為待匹配列表。一方面,在全量關鍵詞庫中逐一計算和匹配比較耗時;另一方面,不是一個類目的關鍵詞的含義和商品也往往不相關,即便是兩者有著相同的詞語構成。
通過上述流程,系統能夠迅速找到包含相同詞語的候選關鍵詞,在此基礎上,如果可以根據按上述方法計算出的相關性進行排序,則排名靠前的候選關鍵詞,可以作為智能化選詞的結果來輸出。
然而,由于自然語言的復雜和多義性,僅僅根據包含相同詞語多數來計算相似度的方法存在著局限。詞語的先后順序沒有反映到計算中來,習慣用語和同義詞也無法作為完全相同的詞進行匹配,這就給計算帶來一定的偏差。
近年來,隨著深度學習技術的發展,基于深度學習的文本相關性計算方法也不斷涌現。談到這類方法,就不得不提到文本向量化(word embedding)這個概念。文本向量化是指將文本表示成一系列能夠表達文本語義的向量,進而可以通過這些向量化之后的表示來進行分類、聚類等機器學習的標準任務,當然也包括通過計算向量相似度的方式來計算文本的相關度。目前對文本向量化大部分的研究都是通過詞向量化實現的,比如有word2vec 算法,也有一部分研究者將句子作為文本處理的基本單元,這就衍生出doc2vec 算法等。
詞袋(bag of word)模型是最早的以詞語為基本單元的文本向量化算法。在詞袋模型中產生的向量,與文本中單詞的出現順序無關,而是與詞典中每個單詞在文本中出現的頻率相關。這個方法雖然簡單易行,但是存在著維度災難(以語言中的總詞語量為維度數量,也造成了向量表示十分稀疏的問題);同時,該模型無法保留詞語順序的信息,也無法表示因上下文順序而帶來的語義信息。
隨著自然語言理解技術和深度學習技術的發展,大量研究轉移到利用無標注數據挖掘有價值的信息的方向上來。Word2vec 技術就利用了深度神經網絡技術,從大量無標注的文本語料中提取出有用的信息,從而更好地完成了文本向量化的過程。Word2vec 依賴skip-grams 或連續詞袋(CBOW)來進行文本向量化,前者是在通過某個詞預測這個詞的上下文詞語來訓練模型,后者則是通過上下文來預測某個詞來訓練模型。進過word2vec 處理之后的詞向量,已經可以通過作用于向量的加減運算,達到對于詞語含義“理解”的效果。比如,可以達到“巴黎”-“法國”+“英國”=“倫敦”這樣的效果。這里“巴黎”指通過word2vec 訓練得到的“巴黎”對應的詞向量。顯然,這樣的詞向量表示,非常方便對詞語相關度的計算,并且這里的相關度包含了一定程度的語義信息。
然而,在通過word2vec 將文本中的詞向量化之后,我們可能需要利用所有詞向量的平均值作為分類算法的輸入值,從而對整個文本文檔進行分類處理,以應對文本類的分類任務。即上述的word2vec 只是基于詞的維度進行“語義分析”的,而并不具有上下文的“語義分析”能力。作為一個處理可變長度文本的總結性方法,Quoc Le 和Tomas Mikolov 提出了Doc2Vec 方法。除了增加一個段落向量以外,這個方法幾乎等同于Word2Vec。Doc2vec 方法也被廣泛應用于文本分類、相似度計算等場景中。
本文嘗試通過doc2vec 方法,對于電商廣告智能選詞的方法進行優化,以提升選詞的質量和相關度。
為了驗證doc2vec 方法在智能選詞中相關度計算環節的效果,并在此基礎上優化傳統的基于共同詞語數量的相關度計算方法,設計和進行實驗如下文所示。

圖4
上述實驗中,所涉及到的數據來源如下:
4.2.1 商品標題列表
通過抓取某網站上維護的某電商平臺上10 多個類目的數千個促銷商品列表,將其URL 及商品標題進行保存,用于構成本次實驗的商品信息庫。
4.2.2 候選關鍵詞列表
我們通過定期抓取淘寶公開的PC/無線熱詞和候選熱詞,構成候選關鍵詞列表。
4.2.3 Doc2vec 模型訓練
為了訓練doc2vec 模型,我們需要實現準備和電商關鍵詞相對接近的海量預料來進行模型訓練。通過和上述商品類目相關的關鍵詞作為搜索詞,在某中文分類語料網站上進行檢索,并將每個類目關鍵詞相關的前10000 條語料抓取和收錄。將這些語料整合成語料庫,作為doc2vec 的訓練語料進行分詞并進行模型訓練。在本實驗中,我們使用了jieba 中文分詞庫進行分詞,使用了gensim 自然語言處理庫來進行doc2vec 模型訓練。關鍵代碼如下:


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.1.1 從實驗結果可以看出,基于相關度A,即根據包含相同詞語多少來計算的相似度,可作為候選集的初步篩選方案,過濾掉明顯不相關的諸多關鍵詞。
5.1.2 同為基于doc2vec 的相關度計算方案,基于候選關鍵詞重組的計算方案明顯由于基于原始候選關鍵詞的候選方案。分析其原因,因為基于doc2vec 的模型考慮到了同義詞、上下文等高級特征,而重組之后的關鍵詞在doc2vec 模型中體現出了符合語義的相關性。
5.1.3 綜上,可以看出,基于doc2vec 的相關度計算方案,適合作為基于相同詞語的相關度計算方案的優化方案,以提升關鍵詞選詞的相關度。
5.2.1 本文設計和進行了基于深度學習中的doc2vec 方法的候選詞相關度計算實驗,驗證了基于doc2vec 方法對于提升關鍵詞選詞相關試的效果。但從實驗結果可以看出,在整個的智能選詞流程中,仍然有很多可改善及優化的空間。
5.2.2 首先,在進行商品信息輸入時,僅僅引入了商品標題信息,雖然可以表征商品最關鍵的信息,但如果將商品詳情、靜態屬性、商品銷售信息,可以獲得更好的實驗效果。
5.2.3 其次,在進行候選關鍵字匹配時,也可以引入類目信息,這樣可以提升全局匹配的效率,過濾掉更多不在同一類目的關鍵詞。
5.2.4 最后,在線抓取的語料來自互聯網新聞和社交媒體。但從實際情況來看,這些語料的文本特征和電商平臺上的網店標題以及商品信息的文本特征還是有不小的差異,這也造成了訓練出的模型在計算商品信息相關度時存在些許的不適應。特別是由于電商平臺(如淘寶)檢索系統發展歷程中的歷史原因,網店中的商品標題往往多用單字和非自然語言的語序來描述商品,如“閃亮洗眼液清潔眼部護理液清洗眼睛”、“兒童拖鞋夏季可愛卡通防滑軟底”等,這些標題的文本語言特征確實與自然語言句子不盡相同。后續可以考慮抓取海量網店的文本信息進行模型訓練,以期取得更好的商品信息相關度計算效果。