OPPO 自研大規(guī)模知識(shí)圖譜及其在數(shù)智工程中的應(yīng)用

導(dǎo)讀:OPPO 知識(shí)圖譜是 OPPO 數(shù)智工程系統(tǒng)小布助手團(tuán)隊(duì)主導(dǎo)、多團(tuán)隊(duì)協(xié)作建設(shè)的自研大規(guī)模通用知識(shí)圖譜,目前已達(dá)到數(shù)億實(shí)體和數(shù)十億三元組的規(guī)模,主要落地在小布助手知識(shí)問(wèn)答、電商搜索等場(chǎng)景。

本文主要分享 OPPO 知識(shí)圖譜建設(shè)過(guò)程中算法相關(guān)的技術(shù)挑戰(zhàn)和對(duì)應(yīng)的解決方案,主要包括實(shí)體分類(lèi)、實(shí)體對(duì)齊、信息抽取、實(shí)體鏈接和圖譜問(wèn)答 query 解析等相關(guān)算法內(nèi)容。

全文圍繞下面四點(diǎn)展開(kāi):

  • 背景
  • OPPO 知識(shí)圖譜
  • 知識(shí)圖譜在小布助手中的應(yīng)用
  • 總結(jié)與展望

背景

首先和大家分享下小布助手和知識(shí)圖譜的背景。

背景——小布助手

image.png

小布助手是 OPPO 旗下有趣貼心、無(wú)處不在的 AI 助手,搭載在 OPPO 手機(jī)、OnePlus、Realme 以及如智能手表等 IoT 智能硬件上。它可以為用戶(hù)提供系統(tǒng)應(yīng)用、生活服務(wù)、影音娛樂(lè)、信息查詢(xún)、智能聊天等服務(wù),進(jìn)而挖掘潛在的用戶(hù)價(jià)值、營(yíng)銷(xiāo)價(jià)值和技術(shù)價(jià)值。

背景——OPPO 知識(shí)圖譜

image.png

在 2020 年年底,OPPO 開(kāi)始著手構(gòu)建自己的知識(shí)圖譜。經(jīng)過(guò)一年左右的時(shí)間,OPPO 已經(jīng)構(gòu)建了數(shù)億實(shí)體和數(shù)十億關(guān)系的高質(zhì)量通用知識(shí)圖譜。目前,OPPO 知識(shí)圖譜支持了每天線上數(shù)百萬(wàn)次的小布問(wèn)答請(qǐng)求。進(jìn)一步,OPPO 正將通用知識(shí)圖譜逐漸擴(kuò)展到商品圖譜、健康圖譜、風(fēng)控圖譜等多個(gè)垂類(lèi)。

OPPO 知識(shí)圖譜

image.png

接下來(lái)為大家介紹 OPPO 知識(shí)圖譜的整體架構(gòu)。如上圖所示,它由三大部分組成。最底層是通用的數(shù)據(jù)處理平臺(tái)和圖數(shù)據(jù)庫(kù)相關(guān)框架。我們具體選取 Nebula Graph 來(lái)存儲(chǔ)圖數(shù)據(jù)。中間層包含數(shù)據(jù)獲取、圖譜構(gòu)建和圖譜管理模塊。最頂層涵蓋了 OPPO 圖譜各種應(yīng)用場(chǎng)景,包括智能問(wèn)答、搜索推薦、內(nèi)容理解、安全風(fēng)控、智慧健康等。

下面介紹應(yīng)用知識(shí)圖譜的三個(gè)核心算法:實(shí)體分類(lèi)、實(shí)體對(duì)齊和信息抽取。

知識(shí)圖譜算法——實(shí)體分類(lèi)

image.png

實(shí)體分類(lèi)根據(jù)圖譜預(yù)定義的 schema 對(duì)實(shí)體進(jìn)行歸類(lèi),進(jìn)而可以使我們對(duì)實(shí)體進(jìn)行屬性、關(guān)系的關(guān)聯(lián)。同時(shí),實(shí)體分類(lèi)可以對(duì)下游的實(shí)體對(duì)齊、實(shí)體鏈接和線上的智能問(wèn)答業(yè)務(wù)等提供重要的特征。目前,我們采用規(guī)則+預(yù)訓(xùn)練語(yǔ)言模型文本分類(lèi)的 pipeline 方案。在第一階段,我們利用如百科中對(duì)實(shí)體的描述,使用預(yù)定義的規(guī)則處理大量半監(jiān)督的偽標(biāo)簽數(shù)據(jù)。隨后,這些數(shù)據(jù)會(huì)交給標(biāo)注同事進(jìn)行校驗(yàn),整理出有標(biāo)簽的訓(xùn)練集,結(jié)合預(yù)訓(xùn)練語(yǔ)言模型訓(xùn)練一個(gè)多標(biāo)簽的文本分類(lèi)模型。值得一提的是,我們?yōu)闃I(yè)界提供了一個(gè)大規(guī)模實(shí)體分類(lèi)數(shù)據(jù)集,組織了 2021 CCKS 通用百科知識(shí)圖譜競(jìng)賽,吸引了數(shù)百只隊(duì)伍參賽。

知識(shí)圖譜算法——實(shí)體對(duì)齊

image.png

實(shí)體對(duì)齊任務(wù)是知識(shí)圖譜構(gòu)建中比較關(guān)鍵的環(huán)節(jié)。在互聯(lián)網(wǎng)的開(kāi)源數(shù)據(jù)中,同一實(shí)體在多個(gè)來(lái)源下存在相似或者相同的信息,若將這部分冗余信息全部包含在知識(shí)圖譜中,那么在下游使用知識(shí)圖譜進(jìn)行信息檢索時(shí)會(huì)帶來(lái)歧義。所以,我們對(duì)多源相同的實(shí)體進(jìn)行信息整合,減少信息冗余。

知識(shí)圖譜算法——實(shí)體對(duì)齊算法

[圖片上傳失敗...(image-ba7a70-1658838868620)]
具體地,由于知識(shí)圖譜中的實(shí)體規(guī)模達(dá)到了上億的量級(jí),考慮到效率問(wèn)題,我們提出了 Dedupe+BERT 語(yǔ)義分類(lèi)的兩階段方案。在第一階段,我們采用并行處理的方式將名字、別名相同的實(shí)體進(jìn)行分組,輸入 Dedupe 數(shù)據(jù)去重工具,生成第一階段實(shí)體對(duì)齊結(jié)果。我們要求這一階段的結(jié)果的準(zhǔn)確率很高。在第二階段,我們會(huì)訓(xùn)練一個(gè)實(shí)體相關(guān)性匹配模型,其輸入是一對(duì)候選實(shí)體,旨在調(diào)整、補(bǔ)充第一階段的對(duì)齊結(jié)果。

知識(shí)圖譜算法——信息抽取

image.png

在實(shí)體分類(lèi)與對(duì)齊后,由于數(shù)據(jù)源存在信息缺失,圖譜中存在一些實(shí)體缺失部分關(guān)鍵屬性。我們將缺失屬性的實(shí)體分成兩類(lèi),使用信息抽取的方法對(duì)它們進(jìn)行屬性補(bǔ)全。

第一類(lèi)是常見(jiàn)的實(shí)體與屬性,如國(guó)家的首都、人物的年齡和性別等。我們使用百度 CASREL 模型以及業(yè)界常用的開(kāi)源數(shù)據(jù)集訓(xùn)練一個(gè)關(guān)系抽取模型。模型的結(jié)構(gòu)可以看作一個(gè)多標(biāo)簽的指針網(wǎng)絡(luò),每個(gè)標(biāo)簽對(duì)應(yīng)一個(gè)關(guān)系類(lèi)型。CASREL 首先抽取句子中的主實(shí)體,再將主實(shí)體的 embedding 輸入指針網(wǎng)絡(luò),預(yù)測(cè)每一個(gè)關(guān)系下句子中的客體起始位置和終止位置,最后通過(guò)設(shè)定的閾值來(lái)判定 SPO 三元組是否可信。

第二類(lèi)是長(zhǎng)尾屬性,它們?cè)陂_(kāi)源數(shù)據(jù)集上標(biāo)注較少。我們利用閱讀理解(MRC)模型抽取長(zhǎng)尾屬性。如我們想要抽取“某奧特曼的人間體”這一屬性,我們就將“某奧特曼的人間體是誰(shuí)”這一問(wèn)題作為 query,檢索文本結(jié)果,使用閱讀理解模型判斷文本中是否包含“人間體”的客體。

總結(jié)來(lái)說(shuō),在構(gòu)建知識(shí)圖譜的過(guò)程中,我們應(yīng)用了實(shí)體分類(lèi)、實(shí)體對(duì)齊與信息抽取任務(wù),希望通過(guò)它們來(lái)提升知識(shí)圖譜的質(zhì)量和豐富程度。后續(xù)建設(shè)過(guò)程中,我們希望在現(xiàn)有的框架下將實(shí)體分類(lèi)基于遷移學(xué)習(xí)擴(kuò)展到商品分類(lèi)、游戲分類(lèi)等垂域場(chǎng)景。此外,目前的實(shí)體對(duì)齊任務(wù)還較為基礎(chǔ),我們希望在未來(lái)結(jié)合多模態(tài)、節(jié)點(diǎn)表示學(xué)習(xí)等多策略對(duì)齊方案。最后,對(duì)于信息抽取任務(wù),我們希望借助大規(guī)模預(yù)訓(xùn)練語(yǔ)言模型,基于少量標(biāo)記樣本,甚至零標(biāo)記樣本,來(lái)抽取實(shí)體關(guān)系。我們還考慮應(yīng)用實(shí)體抽取算法,使得它可以落地于小布助手的業(yè)務(wù)場(chǎng)景中。

知識(shí)圖譜在小布助手中的應(yīng)用

第三部分重點(diǎn)介紹知識(shí)圖譜在小布助手業(yè)務(wù)場(chǎng)景中的應(yīng)用。

知識(shí)圖譜的應(yīng)用

image.png

小布助手按照對(duì)話(huà)領(lǐng)域可以劃分為三大類(lèi):閑聊、任務(wù)對(duì)話(huà)和知識(shí)問(wèn)答。其中,閑聊類(lèi)使用檢索式、生成式算法;任務(wù)對(duì)話(huà)利用幀語(yǔ)義的算法對(duì) query 進(jìn)行結(jié)構(gòu)化解析;知識(shí)問(wèn)答進(jìn)一步細(xì)分為兩部分,基于知識(shí)圖譜的 KBQA 的結(jié)構(gòu)化問(wèn)答和基于閱讀理解與向量檢索的非結(jié)構(gòu)化問(wèn)答。

知識(shí)圖譜應(yīng)用——知識(shí)問(wèn)答分類(lèi)

image.png

首先介紹知識(shí)問(wèn)答。對(duì)于結(jié)構(gòu)化問(wèn)題,我們采用 KBQA 來(lái)解決;對(duì)于非結(jié)構(gòu)化問(wèn)題,我們采用 DeepQA+ 閱讀理解的框架來(lái)處理。

知識(shí)圖譜應(yīng)用——結(jié)構(gòu)化分類(lèi)

image.png

對(duì)于結(jié)構(gòu)化問(wèn)題,在小布助手的應(yīng)用中有四大類(lèi) query:

  1. 基礎(chǔ)鏈?zhǔn)讲樵?xún),如單跳、兩跳、甚至更多跳的問(wèn)題
  2. 多變量約束查詢(xún)
  3. 實(shí)體關(guān)系查詢(xún)
  4. 比較推理查詢(xún)

知識(shí)圖譜應(yīng)用——KBQA 整體算法架構(gòu)

image.png

我們針對(duì)結(jié)構(gòu)化問(wèn)題設(shè)計(jì)了一套基于 KBQA 的算法框架。首先,在接收到線上用戶(hù)的 query 輸入后,我們會(huì)先對(duì)其進(jìn)行領(lǐng)域識(shí)別以及意圖分類(lèi)。若 query 是可以使用 KBQA 解決,那么我們會(huì)對(duì) query 進(jìn)行實(shí)體識(shí)別、query 解析和答案生成。這三個(gè)主要步驟又可以通過(guò)在線和離線兩方面進(jìn)行進(jìn)一步歸類(lèi)。比如,離線 KBQA 會(huì)進(jìn)行別名挖掘、新詞發(fā)現(xiàn)、屬性歸一、模板挖掘,最終更新知識(shí)圖譜和圖數(shù)據(jù)庫(kù)。在線 KBQA 會(huì)進(jìn)行實(shí)體抽取、實(shí)體鏈接、屬性識(shí)別、約束掛載、模板匹配和長(zhǎng)尾模板的語(yǔ)義匹配,最后在圖數(shù)據(jù)中進(jìn)行知識(shí)查詢(xún)或者根據(jù)查詢(xún)結(jié)果進(jìn)行推理計(jì)算。

知識(shí)問(wèn)答——實(shí)體抽取

image.png

小布助手的輸入以語(yǔ)音為主,所以小布助手場(chǎng)景下實(shí)體往往存在別名以及語(yǔ)音識(shí)別錯(cuò)誤的特點(diǎn)。在語(yǔ)音輸入時(shí),用戶(hù)往往不會(huì)說(shuō)出人物的完整名字,而是采用別名。其次,語(yǔ)音識(shí)別的錯(cuò)誤率相對(duì)較高,導(dǎo)致輸入相較于網(wǎng)頁(yè)上的 query 輸入差異較大。針對(duì)別名問(wèn)題,最基礎(chǔ)的解決方案是基于知識(shí)圖譜的實(shí)體別名建設(shè)一個(gè)映射詞表;其次,針對(duì)復(fù)合實(shí)體,我們會(huì)利用圖譜中的上位詞挖掘?qū)嶓w復(fù)合詞。針對(duì)語(yǔ)音識(shí)別錯(cuò)誤問(wèn)題,我們會(huì)采用內(nèi)部大量搜索點(diǎn)擊日志,利用點(diǎn)擊網(wǎng)頁(yè)中 title 包含的標(biāo)準(zhǔn)名和對(duì)應(yīng)的 query 做匹配。匹配時(shí)的輸入特征有兩類(lèi):偏旁部首的特征(倩雅集和晴雅集)以及拼音特征(分馬奧特曼和風(fēng)馬奧特曼)。我們將候選標(biāo)準(zhǔn)名的特征和 query 的特征進(jìn)行聚類(lèi),最終選取距離最近的標(biāo)準(zhǔn)名。值得一提的是,在生成實(shí)體映射詞表前,我們還會(huì)進(jìn)行額外的人工校驗(yàn)。

知識(shí)問(wèn)答——實(shí)體鏈接

image.png

在對(duì)用戶(hù) query 進(jìn)行實(shí)體識(shí)別之后,我們需要進(jìn)行實(shí)體鏈接任務(wù)。以“李白哪個(gè)技能最厲害?”這個(gè) query 為例?!袄畎住边@一實(shí)體會(huì)在知識(shí)圖譜中對(duì)應(yīng)著多個(gè)不同類(lèi)型的實(shí)體,如游戲角色、唐代詩(shī)人、李榮浩歌曲、撒貝寧妻子等。此時(shí),我們需要結(jié)合 query 的語(yǔ)義來(lái)選取真正的實(shí)體。

image.png

實(shí)體鏈接會(huì)經(jīng)歷三個(gè)步驟。首先,我們采用 BiLSTM+CRF 進(jìn)行實(shí)體識(shí)別;之后,我們會(huì)在知識(shí)圖譜中召回候選實(shí)體;最后,我們基于實(shí)體消歧模型,對(duì) query 和候選實(shí)體的匹配度進(jìn)行打分,選擇最匹配的實(shí)體。若所有候選實(shí)體的匹配度均低于預(yù)設(shè)的閾值,我們則會(huì)輸出一個(gè)特殊的空類(lèi)別。

上圖呈現(xiàn)的方案是我們團(tuán)隊(duì)在參加百度千言實(shí)體鏈接比賽中提出的。它采用了多任務(wù)訓(xùn)練框架(語(yǔ)義匹配+實(shí)體類(lèi)型分類(lèi)),引入了對(duì)抗學(xué)習(xí)策略,融入了統(tǒng)計(jì)類(lèi)特征(如實(shí)體的熱度、實(shí)體的豐富度等),并加入了多模型集成的方法。最終我們?cè)谇а詫?shí)體鏈接比賽中斬獲第二名。具體地,我們將 query 與實(shí)體的相似度匹配任務(wù)建模為一個(gè)二分類(lèi)任務(wù),將實(shí)體類(lèi)型分類(lèi)任務(wù)建模為一個(gè)多分類(lèi)任務(wù)。經(jīng)過(guò)對(duì)比實(shí)驗(yàn),我們證明了多任務(wù)學(xué)習(xí)、對(duì)抗學(xué)習(xí)的思路對(duì)實(shí)體消歧模型的效果有一定提升。需要指出的是,在實(shí)體鏈接模型真正上線使用的時(shí)候,我們會(huì)選取一個(gè)相對(duì)較小規(guī)模的模型。

知識(shí)問(wèn)答——Query 解析算法

image.png

對(duì) query 進(jìn)行實(shí)體鏈接后,我們需要對(duì) query 基于模板進(jìn)行屬性抽取。業(yè)界主要有兩種方案:基于語(yǔ)義解析(semantic parsing)類(lèi)的方法和基于信息檢索(information retrieval)類(lèi)的方法。OPPO 主要選取語(yǔ)義解析類(lèi)的方案,并且在解析失敗的長(zhǎng)尾屬性采用語(yǔ)義匹配的方法進(jìn)行兜底。

image.png

在語(yǔ)義解析類(lèi)的方案中,首先我們需要挖掘用于語(yǔ)義解析的常見(jiàn)模板。我們采用遠(yuǎn)程監(jiān)督模板挖掘的方式,利用互聯(lián)網(wǎng)海量的問(wèn)答數(shù)據(jù),將這些語(yǔ)料與我們的知識(shí)圖譜進(jìn)行匹配,得到問(wèn)答庫(kù)中實(shí)體的屬性,最后得到問(wèn)答語(yǔ)料中常見(jiàn)的 query 模板。例如,“q:劉德華多少歲了 ans:59歲”這個(gè)問(wèn)答,經(jīng)過(guò)圖譜屬性檢索,得到 query 實(shí)際上在詢(xún)問(wèn)某個(gè)人的年齡屬性。類(lèi)似的,我們可以得到詢(xún)問(wèn)某個(gè)人的身高屬性、年齡屬性、出生地屬性的 query,據(jù)此生成一系列 query 模板?;谕诰虻哪0?,我們可以訓(xùn)練一個(gè)語(yǔ)義匹配分類(lèi)模型,其輸入是原始 query 和一個(gè)候選query 屬性。此外,在訓(xùn)練過(guò)程中,我們會(huì)將實(shí)體 mask 掉,旨在使模型學(xué)習(xí) query 在實(shí)體信息之外的語(yǔ)義與實(shí)體屬性的相關(guān)性。在模型訓(xùn)練完畢后,我們使用小布線上 query 日志,先對(duì)它們進(jìn)行實(shí)體抽取,然后將 query 以及圖譜中 query 實(shí)體所對(duì)應(yīng)的所有候選屬性輸入模型,進(jìn)行語(yǔ)義匹配的預(yù)測(cè)任務(wù),得到一部分較高置信度的候選模板。輸出模板會(huì)交由標(biāo)注人員進(jìn)行校驗(yàn),最終得到的模板會(huì)加入 query 解析的算法模塊中。

image.png

接下來(lái)以一個(gè)具體的例子來(lái)解釋我們?nèi)绾问褂媚0鍋?lái)解析在線的 KBQA 問(wèn)題。比如用戶(hù)輸入 query 為“印度的首都有多大”,即用戶(hù)的真實(shí)意圖是詢(xún)問(wèn)新德里的面積。首先,我們會(huì)對(duì) query 做實(shí)體識(shí)別,將“印度”映射至圖譜中的“國(guó)家”,利用模板將“首都”映射至“國(guó)家的首都”或者“王朝的首都”,同理將“有多大”歸一化至“人的年齡”、“地區(qū)的面積”、“公司的面積”、“行星的體積”等屬性。此時(shí)還不能完全確定對(duì)應(yīng)的屬性,所以我們會(huì)將所有的候選屬性進(jìn)行排列組合,結(jié)合剪枝的方法,選擇最有可能的模板,生成中間表示式。在上面的例子中,最佳模板是“國(guó)家首都的面積”。這個(gè) query 實(shí)際上是個(gè)兩跳的問(wèn)題,我們會(huì)利用單條模板將其中一部分抽象為一個(gè)子查詢(xún),如“國(guó)家的首都”。具體地,我們會(huì)將子查詢(xún)與剩余的查詢(xún)模板拼接在一起,生成一個(gè)復(fù)合查詢(xún)。在執(zhí)行知識(shí)圖譜的查詢(xún)的時(shí)候,我們會(huì)首先執(zhí)行子查詢(xún),并將其替換為查詢(xún)得到的實(shí)體,最后按照生成的 query 繼續(xù)在圖譜中搜索最終的結(jié)果。

知識(shí)問(wèn)答——模版語(yǔ)義匹配

image.png

雖然我們離線挖掘了大量的歸一化模板,但是這一方法依然對(duì)一些極端情況效果不佳。由于用戶(hù)輸入的不確定性,模板存在長(zhǎng)尾 query 欠召回的問(wèn)題??紤]到線上效率問(wèn)題,我們很難完全將 query 與所有模板進(jìn)行模型的語(yǔ)義匹配打分。

基于上述問(wèn)題,我們提出了類(lèi)似于雙塔模型匹配的方案:將模板通過(guò) BERT 模型生成對(duì)應(yīng)的模板向量,建立模板向量索引。當(dāng)無(wú)法得到合適的模板進(jìn)行 query 解析時(shí),輸入 query 會(huì)經(jīng)過(guò) BERT 模型得到 query 向量,隨后在模板向量索引中召回一部分相似模板向量,最后通過(guò)人工設(shè)定的閾值判斷是否接受候選模板。在實(shí)際業(yè)務(wù)中,使用這一方法進(jìn)行應(yīng)答的占比較小。

image.png

用戶(hù)可能會(huì)提出多約束問(wèn)題,例如“重慶的男演員有哪些?”。我們會(huì)利用問(wèn)句分類(lèi)模塊判斷出 query 屬于多約束查詢(xún),隨后將 query 中包含的所有約束識(shí)別出來(lái)。在使用多約束查詢(xún)時(shí),我們不會(huì)在圖數(shù)據(jù)庫(kù)中執(zhí)行查詢(xún)操作,而是選用 ES 進(jìn)行多條件查詢(xún),這是因?yàn)閳D數(shù)據(jù)庫(kù)檢索耗時(shí)很大。最后,我們將 ES 查詢(xún)輸出進(jìn)行熱度排序,輸出相對(duì)合理的結(jié)果。類(lèi)似地,對(duì)于比較推理問(wèn)題,我們首先利用問(wèn)句分類(lèi)模塊識(shí)別出 query 屬于比較推理查詢(xún),隨后在圖譜中進(jìn)行多實(shí)體查詢(xún),根據(jù)比較推理中需要查詢(xún)的屬性判斷兩個(gè)實(shí)體對(duì)應(yīng)的屬性是否可比。若多實(shí)體屬性是可比的,我們會(huì)執(zhí)行推理計(jì)算,最終輸出推理查詢(xún)的結(jié)果。

知識(shí)問(wèn)答——非結(jié)構(gòu)化問(wèn)題問(wèn)答

image.png

接下來(lái)簡(jiǎn)單介紹一下 OPPO 對(duì)于非結(jié)構(gòu)化問(wèn)答的解決方案。

離線情況下,我們選取了業(yè)界流行的海量網(wǎng)頁(yè)數(shù)據(jù) +MRC 模型進(jìn)行答案抽取的框架。首先,利用搜索 query 中包含的大量 URL 和點(diǎn)擊日志,獲取 query 對(duì)應(yīng)的網(wǎng)頁(yè)文本數(shù)據(jù);隨后,將 query 與網(wǎng)頁(yè)文本數(shù)據(jù)輸入 MRC 模型,得到 query 在文本中對(duì)應(yīng)的答案;之后,答案會(huì)經(jīng)過(guò)一個(gè)離線訓(xùn)練好的“答非所問(wèn)”判別模型,篩選出那些與 query 真正相關(guān)的答案;最終離線構(gòu)建問(wèn)題-答案的數(shù)據(jù)庫(kù)。

此外,基于構(gòu)建的 QA 庫(kù),我們會(huì)使用雙塔模型構(gòu)建 QA 數(shù)據(jù)庫(kù)的向量索引。在線查詢(xún)時(shí),query 首先會(huì)經(jīng)過(guò)意圖識(shí)別和文體類(lèi)型識(shí)別的模塊。在 OPPO 業(yè)務(wù)設(shè)定中,使用 KBQA 的優(yōu)先級(jí)大于使用非結(jié)構(gòu)化問(wèn)答框架的優(yōu)先級(jí)。如果 KBQA 無(wú)法針對(duì)輸入 query 返回結(jié)果,那么 query 會(huì)被輸入至非結(jié)構(gòu)化問(wèn)題的向量檢索框架中。Query 會(huì)被雙塔模型進(jìn)行語(yǔ)義向量編碼,隨后在索引庫(kù)中進(jìn)行向量召回得到 topK 候選 QA。由于向量召回的方案會(huì)丟失 query 與答案的交互信息,所以在得到候選 QA 后,query 向量與候選向量會(huì)經(jīng)過(guò)一個(gè)精排模型增強(qiáng)語(yǔ)義交互,得到最終的精排排序打分。根據(jù)預(yù)設(shè)的閾值,我們可以選擇接受或拒絕候選 QA 結(jié)果。

image.png

我們針對(duì) MRC 模型進(jìn)行了一些優(yōu)化。首先,我們選擇 RikiNet 作為 MRC 模型。它的特點(diǎn)是對(duì)網(wǎng)頁(yè)中長(zhǎng)文本的數(shù)據(jù)處理效果最優(yōu),其潛在的原因是 RikiNet 會(huì)對(duì)輸入文本進(jìn)行段落劃分,在語(yǔ)言模型 attention 機(jī)制中不同段落之間沒(méi)有信息交互,避免不同段落之間的噪聲信息影響答案信息。

總結(jié)與展望

最后,對(duì)今天分享的內(nèi)容做一個(gè)總結(jié)和展望。

雖然 OPPO 著手構(gòu)建知識(shí)圖譜的時(shí)間相對(duì)較晚,但是在構(gòu)建過(guò)程中積累了大量經(jīng)驗(yàn)。首先,圖譜構(gòu)建算法是建設(shè)高質(zhì)量知識(shí)圖譜的關(guān)鍵環(huán)節(jié),我們會(huì)優(yōu)先保證算法的準(zhǔn)確率,對(duì)召回率的要求相對(duì)較低。其次,針對(duì)知識(shí)問(wèn)答算法,在離線時(shí)我們會(huì)訓(xùn)練用于模板挖掘、閱讀理解的大模型,保證離線挖掘的數(shù)據(jù)質(zhì)量;在線服務(wù)時(shí),我們會(huì)選取在線模板+小模型的方案保證服務(wù)效率。

在未來(lái),我們可能會(huì)嘗試以下幾類(lèi)優(yōu)化方案:

  • 常識(shí)推理圖譜+常識(shí)問(wèn)答
  • 多模態(tài)圖譜+多模態(tài)問(wèn)答
  • 用戶(hù)圖譜+個(gè)性化推薦
  • 知識(shí)圖譜+大規(guī)模預(yù)訓(xùn)練語(yǔ)言模型
  • 低資源條件的信息抽取

Q&A

Q:通用百科圖譜的實(shí)體量級(jí)是多少?有什么辦法可以降低實(shí)體對(duì)齊的時(shí)間復(fù)雜度?

A:OPPO 內(nèi)部的知識(shí)圖譜的實(shí)體量級(jí)為約兩億,關(guān)系數(shù)為十幾億的量級(jí)。由于圖譜的規(guī)模較大,在嘗試降低實(shí)體對(duì)齊的時(shí)間復(fù)雜度時(shí),我們首先會(huì)對(duì)候選實(shí)體做類(lèi)別劃分,例如實(shí)體類(lèi)型是人物則在人物類(lèi)別的條件下做實(shí)體對(duì)齊,這相當(dāng)于借鑒了分而治之的思想降低一部分計(jì)算復(fù)雜度。隨后,我們采用兩階段的實(shí)體對(duì)齊算法。第一階段不會(huì)涉及深度學(xué)習(xí)模型,而是將實(shí)體進(jìn)行粗粒度的分組(如別名相同的實(shí)體),選用 Dedupe 和 Spark 框架執(zhí)行并行化實(shí)體對(duì)齊。

Q:知識(shí)問(wèn)答中如何判斷 query 的對(duì)話(huà)領(lǐng)域?

A:小布助手在內(nèi)部有一套復(fù)雜的領(lǐng)域分類(lèi)和意圖識(shí)別系統(tǒng)。例如,在閑聊領(lǐng)域,我們會(huì)標(biāo)注大量的閑聊語(yǔ)料。隨后,我們會(huì)訓(xùn)練 BERT 模型對(duì)語(yǔ)料進(jìn)行分類(lèi)。

Q:如何辨別語(yǔ)音識(shí)別錯(cuò)誤與新詞的情形?

A:在糾正語(yǔ)音識(shí)別錯(cuò)誤時(shí),我們使用搜索點(diǎn)擊日志對(duì)應(yīng)的網(wǎng)頁(yè) title,與 query 一起輸入模型進(jìn)行實(shí)體識(shí)別。這是因?yàn)槲覀冋J(rèn)為網(wǎng)頁(yè) title 在大多數(shù)情況下都會(huì)包含正確的實(shí)體名。隨后,我們考慮了偏旁部首的特征和拼音特征,當(dāng) query 特征和候選實(shí)體特征的相似度達(dá)到了預(yù)設(shè)的閾值后,那么我們基本上可以認(rèn)為這是一個(gè)語(yǔ)音識(shí)別錯(cuò)誤而不是一個(gè)新詞。

Q:實(shí)體消歧模型中會(huì)不會(huì)加入一些手工特征?

A:我們會(huì)加入一些手工特征,例如實(shí)體的熱度特征、實(shí)體在訓(xùn)練數(shù)據(jù)中真正被標(biāo)注為正例的比例、實(shí)體屬性的個(gè)數(shù)等統(tǒng)計(jì)類(lèi)特征。

Q:RikiNet 對(duì)網(wǎng)頁(yè)長(zhǎng)文本數(shù)據(jù)效果更加的原因是什么?

A:RikiNet設(shè)計(jì)了一種特殊的 attention 機(jī)制。首先,它將長(zhǎng)文本按照段落進(jìn)行切分。一般情況下,短答案只會(huì)出現(xiàn)在一個(gè)段落中。RikiNet 的 attention 機(jī)制使得段落之間不存在注意力交互,這樣就可以讓不存在答案的段落包含的無(wú)關(guān)信息無(wú)法影響包含答案的段落語(yǔ)義信息。只不過(guò)這只是實(shí)驗(yàn)中的得到的結(jié)論,沒(méi)有理論支撐。

Q:query 在線模板匹配中,查詢(xún)路徑解析的剪枝是如何實(shí)現(xiàn)的?

A:例如“印度的首都有多大”這一例子,我們會(huì)使用到實(shí)體分類(lèi)輔助剪枝任務(wù)。首先,“印度”是一個(gè)國(guó)家,雖然“首都”可以映射到“國(guó)家的首都”或者“王朝的首都”,但由于前面的實(shí)體被識(shí)別為“國(guó)家”,那么“王朝的首都”的排序就相對(duì)靠后??偟膩?lái)說(shuō),我們會(huì)根據(jù)識(shí)別出的實(shí)體類(lèi)型和屬性之間的關(guān)系進(jìn)行剪枝。如果屬性類(lèi)型不存在沖突,無(wú)法直接進(jìn)行剪枝操作,那么我們會(huì)對(duì)候選模板進(jìn)行熱度排序,即若一個(gè)模板在訓(xùn)練集出現(xiàn)的頻次更高,那么我們優(yōu)先考慮這一模板。

Q:請(qǐng)問(wèn) OPPO 如何應(yīng)對(duì)方言的語(yǔ)音輸入?

A:OPPO 目前主要支持粵語(yǔ)方言輸入。這一部分的工作是前端 ASR 負(fù)責(zé)的,所以方言會(huì)在 ASR 模塊后就轉(zhuǎn)換為普通話(huà)文本輸入了。

今天的分享就到這里,謝謝大家。


交流圖數(shù)據(jù)庫(kù)技術(shù)?加入 Nebula 交流群請(qǐng)先填寫(xiě)下你的 Nebula 名片,Nebula 小助手會(huì)拉你進(jìn)群~~
點(diǎn)擊此處查看 NebulaGraph 的 GitHub:GitHub - vesoft-inc/nebula

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容