這家中國AI公司,1個月拿了兩個世界第一

dicksonjyl560101發表於2019-07-31


7月收官,8月開局。回顧整個火熱的7月,除了商湯股東變動、科大訊飛的定向增發這類資本事件,在技術賽事方面,筆者還關注到有一家AI公司在7月的兩場國際頂級會議競賽中,都獲得了第一。這家公司就是總部位於上海的深蘭科技。

月初,第17屆IEEE ISI會議公佈了IEEE ISI 2019國際大資料分析競賽結果,深蘭科技分別取得了一項冠軍和一項季軍的優異成績,尤其在奪冠的企業投資價值評估賽題中戰勝了來自中科院自動化所的團隊。

而上週,SIGIR 2019 eBay資料挑戰賽結果出爐,深蘭科技又斬獲冠軍,在SIGIR這場國際資訊檢索領域頂級會議的電子商務研討會組織的挑戰賽中,戰勝了京東和Mercari這兩家以電商為主營的上市公司。

深蘭科技在業界一直以落地應用著稱,從早期的新零售TakeGo自販櫃、quiXmart快貓智慧零售平臺,到近期在智慧駕駛領域的表現,如熊貓智慧公交車以及AI智慧掃路機等,都可圈可點。技術方面一直較為低調的深蘭科技,7月份連拿兩個國際技術賽事的第一,不禁令人重新審視。

就此,我們聯絡到深蘭科技董事副總裁、深蘭科學院院長王昕磊博士。他表示,深蘭科技成立之初即完整地規劃了深蘭科學院的架構,並陸續成立了五大研究院,致力於人工智慧基礎研究和應用開發。在核心技術的基礎研究方面,深蘭科技矢志不渝,不但為自身的商業化應用落地持續注入強勁能量,更希望賦能更多行業,將"人工智慧,服務民生"的理念落實到底。

同時,我們也有幸邀約到深蘭科技DeepBlueAI團隊,對上週SIGIR上新近取得的優異成績進行了技術解析,一探冠軍團隊的實力。該方案不僅可以應用在電子商務的召回任務中,也可以應用在智慧客服,文章推薦等需要做文字匹配的場景中。

這家中國AI公司,1個月拿了兩個世界第一

賽題介紹

本次比賽是由eBay搜尋組組織的高精度召回任務,挑戰針對的是電子商務搜尋中的常見問題:展示非相關性排序時要顯示的專案。使用者通常按非相關性的維度進行排序,例如流行度、評論得分、價格等。本次比賽的重點在於:使用非相關性排序時找到應該召回的內容。比賽資料集包括大約90萬條來自eBay收藏類別中的特定欄位,以及與收藏類別相關的150個熱門搜尋查詢短語。每條資料帶有商品標題,價格,分類目錄和相應影像網址的URL。參賽選手要合理運用資料集材料,來判斷查詢短語和文件是否相關。

評測指標

使用150個查詢短語的平均F1-score作為本次競賽的主要效能指標。得分越高代表模型效能越好。

這家中國AI公司,1個月拿了兩個世界第一

題目特點

在這次比賽中,主要有以下難點:

1. 資料量大

原始資料集共約90萬欄位,150個查詢短語,兩兩組合即要預測約1億3千萬個(document, query)對是否相關。

2. 匹配難度大

給定的query長度短,一般為2-3個專業性英文單詞,最長的不超過6個詞,匹配難度較大,對建模挑戰較大。

3. 訓練集小,調優難

在約1億3千萬條(document, query)中只有6萬餘條資料作為訓練集,其餘部分全部需要給出預測結果。此外,150個query中每個query的訓練集資料量差異很大,需要對average-f1指標進行最佳化處理。

特徵工程

我們透過LightGBM模型來驗證特徵效果。特徵分三部分構成,第一部分是對query做基礎屬性特徵;第二部分是對商品做基礎屬性特徵;第三部分就是對query與商品做組合特徵。在所有的特徵當中,query與title的句向量以及在句向量的基礎上再做的特徵對效果影響較大。我們針對這點嘗試了不同的文字,單詞處理方法與不同的詞向量訓練方法去生成query與title的句向量。

·  query基礎屬性特徵

a. query單詞的個數,query數字的個數;

b. query的形容詞佔比與名詞佔比;

c. query的語義向量。

·  商品基礎屬性特徵

a. title單詞的個數,title數字的個數;

b. title的形容詞佔比與名詞佔比;

c. 商品類別的hash值(5列),商品類別是逐級遞減的,最多5級,下一個類別是上一個的子集;

d. 最後一列商品類別的hash值;

e. 最後一列商品類別的value_counts;

f. 價格分箱,一個查詢可能搜尋出價格差異較大的兩個商品,價格分箱能體現出這兩個商品的差異;相比直接把價格做特徵,價格分箱能把兩個價格相近的商品歸為一類。下圖是商品的價格分佈,可以看出價格分佈差異較大,而做完價格分箱後,能弱化這種差異,價格分佈都很集中。

這家中國AI公司,1個月拿了兩個世界第一

這家中國AI公司,1個月拿了兩個世界第一

·  查詢關鍵詞與商品組合特徵

a. title句向量與query句向量的差值與點積;

b. title句向量與query句向量的相似度,相似度計算包括cosine, cityblock, canberra;

c. query單詞與cate單詞相同的個數,query單詞與title單詞相同的個數;

d. 使用fuzzywuzzy計算字元的編輯距離;使用fuzzywuzzy計算單詞的編輯距離;

e. title單詞數與query單詞數的差值與比值;

f. 價格分箱針對query,與直接用價格分箱相比,對每個query分別做分箱,能使每個query的價格分箱互不干擾;

g. BM25計算query與title的相關性分數,BM25演算法通常用來作搜尋相關性評分。其主要思想為:對query進行語素解析,生成語素qi;然後,對於每個商品title D,計算每個語素qi與D的相關性得分,最後,將qi相對於D的相關性得分進行加權求和,從而得到Query與D的相關性得分。

BM25演算法的一般性公式如下:

這家中國AI公司,1個月拿了兩個世界第一

·  不同的單詞文字預處理方法

a. 把句子裡的標點與分隔符去掉,並轉成小寫;

b. 把句子裡的標點與分隔符去掉,提取詞幹並轉成小寫;

c. 不去特殊字元,直接用空格分隔,轉成小寫。

·  句向量的生成

a. 用預處理好的title與query訓練使用word2vec來生成詞向量,然後生成句向量,雖然總語料庫資料量小 ,但是使用它們訓練得出的詞向量更能體現出該資料的特性,同時也能覆蓋到更多的詞;

b. 用google已經預訓練好的詞向量來生成句向量。

實驗模型

在本次比賽中,我們實驗了幾種經典的文字相似度匹配、自然語言推理模型,包括CNN, BiGRU, decomposable attention, ESIM等,其中效果最好的是ESIM。

我們最好的單模型是在ESIM中引入我們構造的特徵,這部分特徵我們稱作 dense feature。在實驗中發現把 dense feature 和 nn 模型某一層直接 concat 的效果並不好,我們參考了 product neural network 概念以及 LSTM 中的 Gate 設計,我們把 dense feature 作為 gate 來使用,使用中我們把 dense feature 經過全連線層得到和子模型維度一樣的表示向量,然後加上 sigmoid 啟用函式,再進行 element-wise-multiplication,這樣 dense feature 就可以控制子模型的資訊流通,透過實驗發現這樣的結構在各個子模型上都能夠得到較大提升。最佳化後的Gate-ESIM模型結構如下:

這家中國AI公司,1個月拿了兩個世界第一

效果最佳化

這家中國AI公司,1個月拿了兩個世界第一

考慮到不同的query的訓練資料量和分佈都有些不同,並不一定都使用0.5作為正負例的劃分閾值。所以我們可以調整每個query預測出來機率的正負例劃分閾值,來最佳化Average F1-Score。

相對於測試集,訓練集的數量較少,為了讓調整閾值後的結果更穩定,我們選擇對訓練集進行10折交叉驗證,每折用10個不同的種子分別訓練得到10個模型,然後把預測結果取平均。同樣,對測試集預測時,全量訓練集用10個不同的種子分別訓練得到10個模型,然後預測結果取平均。

在搜尋閾值時,我們以最佳化10折交叉驗證結果上的得分為目標。之後將10折交叉驗證上搜到的閾值用於測試集。並且考慮到訓練集中有些query數量較少,二分類的閾值微調後對驗證集的分數會影響很大,所以我們選擇只對訓練集中樣例數大於120的query調整閾值,數量約為整體的81.3%。這種最佳化方法雖然會在本地資料集上出現輕微的過擬合,但線上測試集也得到的較大提升,對我們後期的提分也是至關重要的。

實驗結果

這家中國AI公司,1個月拿了兩個世界第一

*注: loca最好的結果E沒有來得及提交。

從實驗結果來看基於我們構造的特徵的LightGBM模型在Ave-F1指標上也取得了0.7521的成績,也能在榜單中排名前列,證明我們在特徵工程上做了很多有效的特徵。經過引數調優的ESIM[1]模型在Ave-F1指標上也取得了非常好的效果,同時我們透過初始化預訓練詞向量和採用門限機制的Gate-ESIM的效果得到進一步提升。

我們使用多種子10折交叉驗證的方法在local搜尋閾值對Ave-F1進行調優,經過這一步最佳化後的結果,線上成績達到0.7731,提升非常明顯。最後我們對Decomposable Attention Model[2]模型也進行了最佳化,最後和最佳化後的Gate-ESIM模型進行融合,在local效果上再次提升了千分之5左右,因結束時間理解有誤未能提交到線上。

工作總結

· 提出了一種用 dense feature 做 gate 的網路結構,使得原有的模型得到較大提升。

· 對正負例劃分閾值進行最佳化來提升評測指標效果。我們採用在local結果上進行閾值搜尋的方式來最佳化評測指標,為了使得搜尋到的閾值更穩定可靠,我們採用10折交叉驗證並結合多seed的方式獲取local預測結果,並且只在那些有不低於120個樣本的query下進行閾值搜尋。

· 構造豐富的基於query,商品以及query-商品對的特徵。

· 使用不同的預處理方法構造特徵,加強了特徵表達。

進一步工作

· 嘗試利用商品的影像資訊

· 對query和doc進行資料增強,增加更多訓練樣本

· 對query進行擴充套件

· 使用BERT進行Fine-tune

參考文獻

[1] Chen, Qian, et al. "Enhanced LSTM for Natural Language Inference." ACL. 2017.

[2] Parikh, Ankur, et al. "A Decomposable Attention Model for Natural Language Inference." EMNLP. 2016.


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29829936/viewspace-2652290/,如需轉載,請註明出處,否則將追究法律責任。

相關文章