图谱实战 | 京东商品图谱构建与实体对齐
轉(zhuǎn)載公眾號 | ?DataFunTalk?
分享嘉賓:趙學(xué)敏博士?京東科技
編輯整理:蔡麗萍?TRS
出品平臺:DataFunTalk
導(dǎo)讀:在電商企業(yè)采購和運營過程中,如果要想掌握商品的實時價格等行情信息,就需要對齊各個電商網(wǎng)站的商品。由于各個電商網(wǎng)站的運營體系不同,網(wǎng)站的類目體系、商品屬性等等往往存在很大差異,需要將這些實體信息進行統(tǒng)一的對齊和匹配。此外,還需要考慮在數(shù)以億級的商品體量下,商品信息有各種錯誤的情況下如何提升算法效果。本文將介紹商品圖譜構(gòu)建與表示、實體對齊等技術(shù)在電商領(lǐng)域的一些具體實踐和應(yīng)用。
主要內(nèi)容包括:
背景介紹
技術(shù)進展
商品圖譜中的實體對齊
總結(jié)與展望
01
背景介紹
我們團隊的主要研究方向包括語音識別、自然語言處理、人機對話、知識圖譜,負(fù)責(zé)將這些AI相關(guān)的研究落地于京東科技內(nèi)外部的各種產(chǎn)品中,提高京東科技的機構(gòu)品牌影響力。
在知識圖譜方向上,我們圍繞金融圖譜、商品圖譜、藥品圖譜都有一些具體工作以及落地的應(yīng)用。我們依托平臺內(nèi)部的一些能力,像大規(guī)模圖譜處理庫、機器學(xué)習(xí)平臺等,為上層的各種應(yīng)用提供知識圖譜底座以及相關(guān)算法能力。
今天分享的內(nèi)容是商品圖譜當(dāng)中的一個具體應(yīng)用。商品圖譜是以京東海量的商品為中心,全面沉淀相關(guān)的商品知識。構(gòu)建圖譜時區(qū)分概念層和實例層:概念層主要是沉淀一些抽象概念,比如品類與屬性之間的關(guān)系;具體的實例,如屬性值或者是商品SKU都會放在實例層。此外,我們還在持續(xù)推進商品圖譜和通用百科圖譜打通的工作,進而更好地為上層的應(yīng)用提供相關(guān)的知識。
在商品圖譜中,實體對齊包含商品對齊、屬性對齊、屬性值對齊,我們的應(yīng)用中最關(guān)心的是商品之間的對齊,尤其是跨電商平臺商品之間的對齊。有了這些商品對齊的結(jié)果,采銷團隊可以對京東商品的價格競爭力等等有一個全面的了解。跨電商渠道的商品對齊面臨的最大問題是,因為各個電商渠道的運營體系完全不一樣,會導(dǎo)致同一商品的具體描述有較大差異。同時,因為執(zhí)行的運營標(biāo)準(zhǔn)也不一致,像京東自營商品的屬性信息要更全一些,但是很多第三方商家的商品屬性就有很多缺失,會把關(guān)鍵的信息直接放到標(biāo)題中。此外,因為電商平臺的商品都是海量數(shù)據(jù),大數(shù)據(jù)下也會對算法的選型產(chǎn)生影響。
02
技術(shù)進展
1. 實體對齊任務(wù)介紹
我們這里的實體對齊任務(wù)是知識圖譜中的實體對齊。在很多論文中具體把任務(wù)定義為:兩個不同的圖譜KG1、KG2,當(dāng)中的實體有一定的對應(yīng)關(guān)系,在已知一些對齊樣本的情況下,去預(yù)測圖譜中其它實體的對齊關(guān)系。圖譜一般以(E,R,T)表示。E為實體,R為關(guān)系,T為圖譜中的三元組。
相關(guān)論文中常見的數(shù)據(jù)集有兩個,都是百科圖譜對齊的數(shù)據(jù)集。其中DBP15K是一個跨語言的百科圖譜對齊數(shù)據(jù)集,DWY100K是三個不同來源的百科網(wǎng)站圖譜對齊的數(shù)據(jù)集。
很多圖譜對齊算法都以圖譜表示學(xué)習(xí)為基礎(chǔ)來實現(xiàn),先對知識圖譜當(dāng)中的所有實體進行編碼,從而提取實體的圖譜特征。之前的研究一般采用分布式圖表示學(xué)習(xí),像TransE及其各種改進算法。目前更多的論文使用了圖神經(jīng)網(wǎng)絡(luò)GNN。計算得到實體的圖譜特征后,會將特征傳入對齊模塊。對齊模塊常用的做法有兩種,一種是拉近已知對齊實體特征向量在高維空間中的距離;另一種是使用一些復(fù)雜匹配模型,去學(xué)習(xí)預(yù)測實體間的對齊關(guān)系。目前主要工作都圍繞著圖譜編碼和對齊模型兩個部分展開。具體到評價指標(biāo),會把實體對齊看成是一個排序任務(wù),使用搜索排序的相關(guān)指標(biāo)進行評價,如TopK命中率,即統(tǒng)計前K個得分最高的預(yù)測結(jié)果中,是否包含有正確的對齊實體。
2. 實體對齊算法技術(shù)趨勢??
近幾年圖譜對齊的論文有很多,這里可能只列舉到一小部分。圖譜編碼的算法從19年開始,幾乎都用到了GNN圖神經(jīng)網(wǎng)絡(luò),之前更多的是TransE的各種改進。一方面是圖神經(jīng)網(wǎng)絡(luò)表達能力比較強,另一方面是因為TransE模型是基于鏈接預(yù)測等任務(wù)設(shè)計的,而圖神經(jīng)網(wǎng)絡(luò)可以針對實體對齊任務(wù)設(shè)計相應(yīng)的特征。
在對齊算法部分,現(xiàn)在采用的對齊算法越來越復(fù)雜。除了最開始簡單的向量對齊之外,更多的實體特征可以被引入,比如:圖譜中的關(guān)系表示、鄰接節(jié)點的匹配關(guān)系等等。同時也可以引入匹配模塊,專門學(xué)習(xí)實體對之間的交互特征。
我們還發(fā)現(xiàn)越來越多的論文融合了圖譜以外的語義信息,如實體的屬性、文本描述等,這和實際應(yīng)用場景是非常契合的。因為實際應(yīng)用中圖譜里面的實體一般也有一些對應(yīng)的一些文本描述,甚至是多模態(tài)的信息比如圖像等等,這些信息都可以加以利用。
03
商品圖譜中的實體對齊
1.?商品圖譜對齊需要考慮的問題
商品圖譜實體對齊需要解決的問題,包含以下三個方面:
大數(shù)據(jù)下商品知識圖譜如何進行訓(xùn)練和在線預(yù)測。
商品屬性多,屬于關(guān)系稠密型圖譜,需要自動學(xué)習(xí)關(guān)鍵商品屬性并減少噪音信息影響。
文本語義信息在商品描述中作用很大,需要融合結(jié)構(gòu)化和非結(jié)構(gòu)化的信息。
2. 線上預(yù)測流程
這是我們目前線上采用的預(yù)測流程。我們的任務(wù)是將商城A的商品數(shù)據(jù)和商城B的商品數(shù)據(jù)進行對齊。如果我們把這個任務(wù)看成搜索或者匹配過程的話,我們實際上是以商城A的商品信息作為查詢條件,在商城B的所有商品中查找要匹配的商品,同時對查詢的候選結(jié)果進行排序。當(dāng)然這個過程也可以反過來,把商城B的商品信息作為查詢條件。在我們具體應(yīng)用中,一般是京東商品和別的渠道商品進行對齊。我們能獲取到的京東商品數(shù)量遠遠大于其他渠道的商品數(shù)量,所以一般把其他渠道的商品作為查詢條件,京東商品作為搜索的候選集,這樣可以加速查詢匹配的過程。
對齊可以分成四步:召回、精排、粗排、重排。重排實際上是結(jié)果的后處理,主要是根據(jù)一些校驗規(guī)則過濾一些bad case。在匹配之前,我們會預(yù)先做一些圖譜schema的對齊工作,包括商品類目的對齊、屬性的對齊等等。粗排和精排都使用了有監(jiān)督模型,確保排序結(jié)果的準(zhǔn)確率,對于屬性值缺失的情況,會應(yīng)用屬性抽取模型補齊商品屬性,強化商品自身的結(jié)構(gòu)化信息。
3. 數(shù)據(jù)集構(gòu)建和業(yè)務(wù)評價方法
前面提到粗排和精排都使用了有監(jiān)督模型,模型訓(xùn)練需要一些正負(fù)例的數(shù)據(jù)。正例數(shù)據(jù)是互相匹配的商品pair,正例數(shù)據(jù)的獲取是先通過簡單的無監(jiān)督商品相似度模型得到初步的候選集,再結(jié)合一些規(guī)則過濾后,通過眾包標(biāo)注確認(rèn)是否匹配而得到的。
負(fù)例數(shù)據(jù)是不匹配的商品pair。理論上我們可以通過隨機采樣輕易地獲得,但這樣得到負(fù)例樣本非常容易區(qū)分,不利于提高我們模型的魯棒性。我們希望能夠盡可能得到一些比較對抗性比較強負(fù)例,也就是很相似但又不匹配的樣本。我們可以利用電商網(wǎng)站中SPU和SKU的概念去構(gòu)建大量對抗性的負(fù)例。比如我們打開京東app要購買一個手機,通常在一個手機商品的頁面上,有很多不同配置的手機,比如內(nèi)存大小顏色不同。SPU就是同一款商品的概念,SKU就是配置具體到不能再區(qū)分的單品。一般情況下同一款SPU下,不同SKU的商品之間僅在個別屬性上有區(qū)別,這樣的商品作為負(fù)例的話,對于模型區(qū)分的難度是很大的。
在具體業(yè)務(wù)中,我們可以離線評價模型的算法性能指標(biāo),比如使用之前提到的TOPK命中率,但在線上業(yè)務(wù)中,TOPK命中率作為指標(biāo)就不適合了。這是因為TOPK命中率只是把測試集中的商品樣本作為候選,但在線上檢測時,面對的是全量的商品庫,數(shù)量要大得多,同時還存在很多難以區(qū)分的商品。所以,我們線上是通過商品檢出率和檢出商品的準(zhǔn)確率兩個指標(biāo)評價模型的效果。我們以京東商品作為查詢條件為例,如果能在其他渠道的網(wǎng)站中能找到對應(yīng)商品,那么我們統(tǒng)計有對應(yīng)商品的京東商品數(shù)量,然后計算這部分京東商品在全部京東商品當(dāng)中的比例,這個比例就是商品檢出率。理論上兩個商品庫都可以以此方式分別計算檢出率,我們的實驗結(jié)果顯示,兩個商品庫的檢出率指標(biāo)往往是正相關(guān)的,我們計算一個就可以了。
檢出商品的準(zhǔn)確率,是將檢出的商品匹配結(jié)果進行抽樣后,然后標(biāo)注計算正確結(jié)果的比例得到的。隨著線上商品上架下架,以及隨機采樣的差異,檢出準(zhǔn)確率會有一定范圍的波動,我們會調(diào)整模型檢出閾值等,將準(zhǔn)確率穩(wěn)定在一定范圍內(nèi)。在準(zhǔn)確率穩(wěn)定的情況下,就可以通過比較模型的檢出率來評估模型的效果了。
4. 召回與粗排部分
我們用到的精排模型是深度圖譜對齊模型,模型的運算量比較大,為提高運算效率,候選的商品數(shù)量應(yīng)控制在一定范圍內(nèi),比如100以內(nèi)。而召回是通過簡單的規(guī)則如判斷是否為同一品牌的商品等等實現(xiàn)的,召回商品的數(shù)量還是很多。因此,需要在中間加入粗排模型,我們使用了一個文本匹配的模型作為粗排模型。該模型訓(xùn)練時,把商品的標(biāo)題作為輸入,然后通過Bert編碼得到編碼結(jié)果后計算兩個商品向量的余弦距離來進行匹配的。為了加速,我們將模型進行了蒸餾,提升模型的編碼速度。另外,我們還使用了向量索引進一步加速粗排的過程。
5. 精排算法
最開始使用的精排算法也是基于文本匹配來實現(xiàn)的。粗排用到的匹配模型只考慮了標(biāo)題。人工對比商品時,我們會去比較商品的關(guān)鍵屬性,比如筆記本電腦,我們會去看CPU型號是否匹配,內(nèi)存大小、屏幕大小等等是否一致。除了將標(biāo)題進行編碼外,屬性值也要進行編碼,然后分別在兩個商品之間進行特征匹配。因為商品的屬性很多,需要提取關(guān)鍵屬性,我們采用attention機制去自動學(xué)習(xí)各個屬性的權(quán)重。因為關(guān)鍵屬性可能不止一個,我們會保留屬性匹配特征的多個加權(quán)結(jié)果,類似于Transformer里面的Multi-Head機制。對于空值屬性,我們使用Mask將其權(quán)重直接設(shè)置為0。最后再基于關(guān)鍵屬性和標(biāo)題的交互匹配特征計算兩個商品之間的相似度。
以上模型的缺點有兩個:一是需要預(yù)先將屬性進行對齊;二是訓(xùn)練集當(dāng)中商品樣本在商品庫當(dāng)中只占據(jù)很小的比例,很多商品屬性值在訓(xùn)練階段都沒有見過。因此我們希望引入圖譜表示學(xué)習(xí)對整體的商品庫進行建模,從而增強模型的效果。
這是現(xiàn)在線上使用的圖譜匹配模型的框架。我們會預(yù)先將商品SKU和對應(yīng)的屬性值組織為圖結(jié)構(gòu),SKU與屬性值之間的關(guān)系為對應(yīng)屬性類別。另外,已知的一些屬性值的對齊關(guān)系、品類的對齊關(guān)系也放在圖譜當(dāng)中。因此圖譜當(dāng)中主要是兩個類型的節(jié)點,商品SKU節(jié)點和屬性值節(jié)點,其中SKU節(jié)點將商品標(biāo)題作為該節(jié)點的文本描述內(nèi)容。
除了圖譜本身的結(jié)構(gòu)化信息外,模型會融合非結(jié)構(gòu)化的信息如文本等。很多論文將文本編碼結(jié)果直接作為GNN的輸入特征,我們曾經(jīng)嘗試將文本編碼器直接放在GNN前面去進行訓(xùn)練,但這樣做模型的訓(xùn)練速度非常慢,效果也不及預(yù)期。目前的做法分為兩步:先預(yù)訓(xùn)練一個文本編碼器,然后將編碼結(jié)果作為GNN模塊和匹配模塊的輸入特征。另外,這個文本編碼器同時還作為粗排模型。
圖譜模型與前面的文本匹配模型相比,有以下優(yōu)勢:首先,該模型可以建模更復(fù)雜的商品關(guān)系。將商品和屬性構(gòu)建為圖譜后,商品和商品之間的關(guān)系、屬性和屬性之間的關(guān)系都可以被建模;其次,可以通過圖譜的結(jié)構(gòu)化表示,引入商品在商品庫中的全局信息。最后,圖譜對齊模型并沒有假定兩個圖譜各自的關(guān)系需要事先對齊,在本應(yīng)用中,也無需預(yù)先進行屬性的對齊操作,在訓(xùn)練過程中可以自動實現(xiàn)對齊。
6. 處理大規(guī)模圖譜
商品圖譜的數(shù)量一般比較大,我們考慮使用Inductive模型進行訓(xùn)練。傳統(tǒng)的GCN等模型都是Transductive模型,需要全部節(jié)點參與訓(xùn)練才能得到embedding表示。當(dāng)節(jié)點數(shù)量很多時,會因為顯存或是內(nèi)存的限制而無法進行訓(xùn)練。此外,在網(wǎng)絡(luò)結(jié)構(gòu)發(fā)生改變時,模型會直接失效,新加入的節(jié)點都需要重新訓(xùn)練才能得到對應(yīng)的圖譜表示。這在實際業(yè)務(wù)場景中是不可接受的,因為商品會經(jīng)常有上架下架的操作。
我們采用了Inductive模型,該模型會不斷聚合鄰接節(jié)點的信息去更新目標(biāo)節(jié)點的圖譜表示。具體是基于圖譜采樣來實現(xiàn)的,比如:先查詢得到圖中紅色節(jié)點的所有鄰接節(jié)點,當(dāng)節(jié)點的鄰接節(jié)點非常多時,要對鄰接節(jié)點進行采樣,控制運算量。圖神經(jīng)網(wǎng)絡(luò)一般會訓(xùn)練多層的表示特征,每一層節(jié)點的表示由上一層的鄰接節(jié)點的表示聚合而來。經(jīng)過多層的表示之后,也就集成了多跳的鄰接節(jié)點信息。
7. 圖譜表示學(xué)習(xí)
在介紹我們的模型前,我們簡單回顧一下圖神經(jīng)網(wǎng)絡(luò)模型。主流的圖神經(jīng)網(wǎng)絡(luò)模型,都可以用Message Passing框架來進行描述,具體分為以下幾步:
第一步:鄰接節(jié)點決定向目標(biāo)節(jié)點發(fā)送什么樣的特征,也就是圖中的Message函數(shù),這個過程在圖譜當(dāng)中的每條邊上單獨執(zhí)行。
第二步:目標(biāo)節(jié)點聚合收到的鄰接節(jié)點的Message特征,也就是圖中的Aggregate函數(shù),這個過程在圖譜當(dāng)中的每個節(jié)點上單獨執(zhí)行。
第三步:目標(biāo)節(jié)點根據(jù)鄰接節(jié)點消息聚合結(jié)果,以及節(jié)點自身的特征,更新節(jié)點在網(wǎng)絡(luò)下一層中的特征表示。也就是圖中的Update函數(shù),也是圖譜中每個節(jié)點都執(zhí)行一遍。
這也是很多圖深度學(xué)習(xí)框架如DGL等設(shè)計其API的基礎(chǔ)。
在商品圖譜中,圖譜表示學(xué)習(xí)必須要考慮到實體之間的關(guān)系,我們構(gòu)建的圖中,大部分實體關(guān)系都是商品屬性類別。前面的模型也提到,并不是所有的屬性都對商品匹配有幫助,需要提取關(guān)鍵屬性。我們采用的做法是設(shè)計特定的Aggregate聚合函數(shù),使得聚合鄰接節(jié)點的Message的時候,各個鄰接節(jié)點的重要性權(quán)重由每條邊上的Relation來決定。Message函數(shù)和Update函數(shù)我們直接使用線性變換來實現(xiàn)。
在公式中,mj是目標(biāo)節(jié)點i收到鄰接節(jié)點j的消息,聚合消息時,會有兩個權(quán)重:第一個權(quán)重αij是根據(jù)鄰接節(jié)點j和目標(biāo)節(jié)點i的消息向量mj和mi拼接后計算得到的。在具體圖譜中,這個權(quán)重代表了標(biāo)題和屬性值的匹配相關(guān)度,通常在標(biāo)題中出現(xiàn)的屬性值重要程度越高。第二個權(quán)重βij是根據(jù)節(jié)點連接邊上的關(guān)系類型計算得到的,每個關(guān)系類型也用一個向量進行表示,然后基于這個關(guān)系向量去計算得分。兩個權(quán)重相乘后,最終得到每個鄰接節(jié)點在Aggregate函數(shù)中的權(quán)重。
8.?圖譜匹配算法
我們在一開始采用了向量對齊的方式實現(xiàn)圖譜對齊,我們使用L1距離作為兩個向量距離的度量。在Embedding Loss的影響之下,正樣本之間的距離會越來越近,而負(fù)樣本之間會保持一定的距離γ。與前面的文本匹配模型相比,本模型的檢出率相對提升了150%以上。但是該模型有一個缺點,強行拉進兩個圖譜某些樣本之間的距離,會破壞原始圖譜表示。另外,這個模型利用到的文本信息、鄰近節(jié)點信息都要少一些。
這是我們后來使用的匹配模型,除了將候選實體直接進行匹配外,還要利用鄰接節(jié)點的匹配信息。這其實是基于一個假設(shè),如果兩個圖譜當(dāng)中的實體互相匹配的話,它們的鄰接節(jié)點往往也有很多節(jié)點也存在匹配關(guān)系。
具體實現(xiàn)的時候,我們除了用到每個節(jié)點的GNN表示外,還要利用鄰接節(jié)點的GNN表示進行匹配。提取兩個向量的匹配特征時,主要是計算向量之間的余弦距離,得到兩個向量的相似度得分。因為每個節(jié)點的鄰接節(jié)點有很多個,兩個節(jié)點的鄰接節(jié)點兩兩計算會形成一個矩陣。我們需要對矩陣的關(guān)鍵信息進行提取,對于每個鄰接節(jié)點來說,與之對應(yīng)匹配的鄰接節(jié)點一般也只有一個。這樣的話,我們通過Max Pooling就可以提取出最匹配的鄰接節(jié)點的相似度得分,這個Max Pooling在行、列方向都會進行。另外,不是所有的鄰接節(jié)點都對最終是否對齊的判定有幫助,在Aggregate過程中得到的鄰接節(jié)點的權(quán)重,可以在這個地方用于確定鄰接節(jié)點的權(quán)重,這個權(quán)重與前一步鄰接節(jié)點的相似度得分Max Pooling結(jié)果進行相乘。最后,為了進一步提取鄰接節(jié)點相似度得分的關(guān)鍵信息,我們使用Kernel pooling,它既保留了關(guān)鍵信息,又沒有引入過多噪聲。最終預(yù)測得分要同時融合Kernel Pooling提取的鄰接節(jié)點匹配特征、兩個節(jié)點的GNN表示的余弦相似度特征、兩個節(jié)點文本表示的余弦相似度特征計算得到。與向量對齊模型相比,本模型的檢出率又有進一步提升。
9. 商品屬性抽取
很多第三方賣家的商品屬性填值沒有那么規(guī)范,會存在很多商品屬性的缺失或者錯誤。如右側(cè)圖片所示:CPU型號等關(guān)鍵信息都集中放在一些選項卡或者標(biāo)題當(dāng)中,沒有放在具體屬性里面。因此我們要預(yù)先對商品進行屬性值抽取。商品屬性的補全可以大大提升模型的檢出率,重點品類的檢出率能提升3到5倍。我們使用序列標(biāo)注模型實現(xiàn)在商品標(biāo)題當(dāng)中的屬性值提取。
商品屬性抽取是一個典型的NER任務(wù),因為商品的屬性通常比較多,為了加快計算我們把整個屬性抽取分為兩步:第一步是預(yù)測商品標(biāo)題中有哪些潛在的屬性值;第二步,再去預(yù)測這些潛在屬性值的類別。在商品屬性提取時,使用商品的品類信息對于效果提升有一定幫助,品類的embedding特征會幫助我們在標(biāo)題中要關(guān)注哪些字段。另外,我們根據(jù)已知的屬性值,通過匹配的方式能在標(biāo)題中找到一些候選的片段,利用這些候選片段可以提升屬性抽取的召回率。商品屬性預(yù)測也是一個比較大的話題,具體細節(jié)就不展開了。
04
總結(jié)與展望
1. 總結(jié)?
本次分享介紹了通過融合了文本表示和圖譜結(jié)構(gòu)化表示的實體對齊模型,在電商領(lǐng)域中實現(xiàn)了商品之間的對齊任務(wù),并利用商品屬性抽取進一步提升了圖譜對齊的檢出率。
2. 展望?
接下來的工作會考慮以下幾個方面:
在商品圖譜中引入更多的商品關(guān)系以及通用知識,進一步提升實體對齊的算法性能;
引入商品圖像等特征,實現(xiàn)多模態(tài)圖譜對齊;
將屬性抽取的特征更好地應(yīng)用于圖譜對齊過程中;
更好的融合結(jié)構(gòu)化和非結(jié)構(gòu)化信息;
提升小樣本類別的效果。
05
精彩問答
Q:數(shù)據(jù)schema對齊過程中,schema數(shù)據(jù)是人工對齊的嗎?
A:schema對齊目前是采用無監(jiān)督的方式。因為商品數(shù)量比較大,通過簡單的無監(jiān)督模型,效果已經(jīng)比較好了。也可以結(jié)合人工審核去提升schema對齊的準(zhǔn)確率。
Q:標(biāo)注過程是需要人工的嗎?
A:匹配結(jié)果標(biāo)注是需要人工參與的。
Q:正負(fù)樣本的選取過程中,它的比例是如何確定的?負(fù)樣本的生成,有什么策略?
A:負(fù)樣本的生成主要利用SPU下的不同的SKU來生成,每個正樣本都會針對性的生成負(fù)樣本,正樣本商品所在SPU中,其它的SKU商品都可以作為負(fù)例,這類負(fù)例樣本的對抗性更強。也有隨機抽取、batch內(nèi)計算相似度采樣等方式。現(xiàn)在正負(fù)樣本比例是1比10,這個比例是根據(jù)實驗確定的。
Q:表示學(xué)習(xí)和對齊的模型中,屬性是怎么學(xué)習(xí)的?
A:商品屬性會有對應(yīng)的embedding向量表示,這個embedding在訓(xùn)練過程中是參與優(yōu)化的。在初始化的時候,我們會通過BERT編碼計算所有對應(yīng)屬性值embedding向量,然后平均后作為屬性初始化的embedding值。
Q:實體對齊的效率和性能會不會受到實體節(jié)點數(shù)量的影響?超大規(guī)模的節(jié)點對整個性能會有多大的影響呢?
A:目前處理速度要慢一些,我們做了幾百個品類的對齊,對齊過程需要幾個小時,運算量還是很大的,接下來會進一步優(yōu)化處理效率。
Q:數(shù)值型的數(shù)據(jù)是如何在知識圖譜中使用的呢?
A:目前沒有單獨處理數(shù)值型數(shù)據(jù),會統(tǒng)一把這類數(shù)據(jù)當(dāng)作文本數(shù)據(jù)來處理。
Q:商品實體對齊過程中結(jié)構(gòu)信息占比有多大?它對實驗效果有多大影響?
A:這個可以對比圖譜對齊和文本匹配模型的實驗效果:與未使用結(jié)構(gòu)化信息的文本匹配模型相比,使用結(jié)構(gòu)化信息的向量對齊模型檢出率相對提升150%以上。
Q:不同品類的對齊用哪些屬性有啥策略,這些是人工定義的還是自動生成的?
A:目前沒有對類別進行特殊的處理,所有商品類別都在一個模型中進行訓(xùn)練。
Q:圖注意力網(wǎng)絡(luò)如何融入邊的信息,通過邊的信息來影響鄰近節(jié)點的權(quán)重?
A:如前文介紹,我們有α和β兩個系數(shù),α可以看成標(biāo)題和屬性的匹配程度,β是根據(jù)屬性類別,也就是邊的類型來判斷屬性相似度。這個權(quán)重一方面會在聚合鄰近節(jié)點時用到,另一方面在最后鄰近節(jié)點匹配時也會用到。
Q:模型上線部署時,模型推理效率的問題是怎么解決的呢?
A:通過粗排模型減少候選的數(shù)量。此外,在文本編碼時,可以預(yù)先去緩存一些高頻屬性值編碼,這樣在第二步訓(xùn)練時這部分內(nèi)容可以直接作為輸入,就不再單獨計算了。
Q:請問老師schema構(gòu)建的過程中,有用propagate這種本體構(gòu)建工具嗎?
A:沒有用到。因為大部分?jǐn)?shù)據(jù)是商品和屬性之間關(guān)系,這個關(guān)系是商城中天然的結(jié)構(gòu)化的數(shù)據(jù)。
Q:正負(fù)樣本的比例不均衡的話,如何消除樣本對結(jié)果的影響?
A:目前正負(fù)樣本的比例是經(jīng)過實驗得到的。如果負(fù)樣本很多的話,確實會對召回率、檢出率會產(chǎn)生影響,需要在業(yè)務(wù)上和效果上需要一個平衡。
Q:在使用圖結(jié)構(gòu)融合時,有沒有試過把兩個實體的多個屬性拼接成文本,轉(zhuǎn)化成文本相似匹配的方式去做?
A:嘗試過類似的模型,因為這種模型可以提前交互文本匹配特征,效果也不錯,但是商品屬性太多,有時候會影響計算效率。另外圖神經(jīng)網(wǎng)絡(luò)的優(yōu)勢是可以融入結(jié)構(gòu)化的信息。
Q:商品關(guān)系里面會有除了屬性以外的其他關(guān)系嗎?
A:我們還用到了屬性對齊關(guān)系,品類歸屬關(guān)系等等。另外SPU關(guān)系也用到了。
Q:在RGCN模型訓(xùn)練中,如果圖數(shù)據(jù)比較小,會影響embedding的效果嗎?多大規(guī)模的數(shù)據(jù)訓(xùn)練會比較好呢?
A:我們沒有使用RGCN模型。
Q:在訓(xùn)練過程中,如果圖數(shù)據(jù)會比較小的話,該怎么處理?因為TransE等模型對于大規(guī)模數(shù)據(jù)效果比較好,但是小樣本數(shù)據(jù)訓(xùn)練的話,該怎么去處理呢?
A:小樣本的情況下,僅通過圖的結(jié)構(gòu)化信息是很難保證效果的,可以把優(yōu)化的重點放到額外信息利用上,比如文本信息等等,這時候可以利用BERT等預(yù)訓(xùn)練的模型。對于圖譜本身而言,樣本數(shù)量少的話,很難達到預(yù)期效果。在小樣本的情況下,文本信息可能要更重要一些。
Q:在這個訓(xùn)練過程中,如果結(jié)構(gòu)信息不強的長尾實體,即:3元組比較小、比較少。這類長尾實體的匹配,您有什么好的解決辦法嗎?
A:對于結(jié)構(gòu)信息不強的長尾實體,要設(shè)法對其進行信息補全,比如我們做的商品屬性抽取的工作就是補全結(jié)構(gòu)化信息。另外還是盡可能利用到額外的信息提升效果。
Q:在實體匹配的過程中,會提前去看文本的匹配效果嗎?
A:會提前看。我們使用的粗排模型就是文本匹配模型,同時還作為圖神經(jīng)網(wǎng)絡(luò)模型的初始化輸入,直接影響最終效果。為了在粗排階段不損失性能,我們訓(xùn)練粗排模型,使得Top100命中率達到一個比較高的效果,比如99%以上,也就是粗排的前100結(jié)果中基本都能包含正確結(jié)果。
今天的分享就到這里,謝謝大家。
分享嘉賓:
OpenKG
OpenKG(中文開放知識圖譜)旨在推動以中文為核心的知識圖譜數(shù)據(jù)的開放、互聯(lián)及眾包,并促進知識圖譜算法、工具及平臺的開源開放。
點擊閱讀原文,進入 OpenKG 網(wǎng)站。
總結(jié)
以上是生活随笔為你收集整理的图谱实战 | 京东商品图谱构建与实体对齐的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 论文浅尝 | 基于复杂查询图编码的知识库
- 下一篇: 阿里P8架构师谈:Quartz调度框架详