领域应用 | 完备的娱乐行业知识图谱库如何建成?爱奇艺知识图谱落地实践
轉(zhuǎn)載公眾號 | 愛奇藝技術(shù)產(chǎn)品團隊?
2012年5月16日,谷歌首次正式提出了知識圖譜的概念,希望利用結(jié)構(gòu)化知識,來增強搜索引擎,提高搜索質(zhì)量和用戶體驗。
也就是說,從誕生之日起,知識圖譜就和搜索引擎密不可分。
隨著大數(shù)據(jù)時代的到來和人工智能技術(shù)的進步,知識圖譜的應(yīng)用邊界被逐漸拓寬,越來越多的企業(yè)開始將知識圖譜技術(shù)融入其已經(jīng)成型的數(shù)據(jù)分析業(yè)務(wù)。目前知識圖譜已成為人工智能領(lǐng)域的重要分支,在搜索、自然語言處理、智能助手等領(lǐng)域發(fā)揮著重要作用。
愛奇藝搜索團隊早在2015年就開始著手搭建自己的知識圖譜庫——奇搜知識圖譜庫。本文將講述奇搜知識圖譜的構(gòu)建過程,及其在愛奇藝搜索、NLP服務(wù)中的具體應(yīng)用。
01
什么是知識圖譜?
谷歌發(fā)布的文檔的描述中,知識圖譜是一種用圖模型來描述知識和建模世界萬物之間關(guān)聯(lián)關(guān)系的技術(shù)方法。本質(zhì)上,知識圖譜是一種揭示實體之間關(guān)系的語義網(wǎng)絡(luò),可以對現(xiàn)實世界的事物及其相互關(guān)系進行形式化地描述。
在知識圖譜里,我們通常用“實體(Entity)”來表達圖里的節(jié)點、用“關(guān)系(Relation)”來表達圖里的“邊”。實體指的是現(xiàn)實世界中的事物比如人、地名等,關(guān)系則用來表達不同實體之間的某種聯(lián)系,比如人-“居住在”-北京、張三和李四是“朋友”、邏輯回歸是深度學(xué)習(xí)的“先導(dǎo)知識”等等。
現(xiàn)實世界中的很多場景非常適合用知識圖譜來表達。 比如一個社交網(wǎng)絡(luò)圖譜里,我們既可以有“人”的實體,也可以包含“公司”實體。人和人之間的關(guān)系可以是“朋友”,也可以是“同事”關(guān)系。人和公司之間的關(guān)系可以是“現(xiàn)任職”或者“曾任職”的關(guān)系。
02
?奇搜知識圖譜的構(gòu)建
愛奇藝搜索(奇搜)作為國內(nèi)最大的視頻搜索引擎之一,致力于為用戶提供優(yōu)質(zhì)的全網(wǎng)視頻、娛樂領(lǐng)域的搜索服務(wù)。
當(dāng)傳統(tǒng)的文本檢索搜索方式不能滿足給用戶提供更為精準和智能的搜索體驗的目標(biāo)時,為了豐富用戶視頻娛樂搜索結(jié)果、為了對用戶搜索意圖實現(xiàn)精準理解與直觀回答,奇搜團隊努力完善對視頻內(nèi)容的理解、對用戶意圖的理解,并在過程中構(gòu)建了以視頻領(lǐng)域為主的知識圖譜庫。
在經(jīng)歷幾個版本的迭代后,目前的奇搜知識圖譜的構(gòu)建流程主要分為知識表示與建模、知識獲取、知識融合、知識存儲、知識應(yīng)用(知識查詢與推理)幾個步驟和模塊,下面我們一一予以介紹。
2.1?知識表示和建模
構(gòu)建知識圖譜之前,首先需要確認知識的建模表示方式。目前主要的知識建模方式有兩種:
(1)先為知識圖譜設(shè)計數(shù)據(jù)模式(schema),再依據(jù)設(shè)計好的數(shù)據(jù)模式進行有針對性的數(shù)據(jù)抽取,這是自頂向下的數(shù)據(jù)建模方法;
(2)先進行數(shù)據(jù)的收集和整理,再根據(jù)數(shù)據(jù)內(nèi)容總結(jié)、歸納其特點,提煉框架,逐步形成確定的數(shù)據(jù)模式,這是自底向上的數(shù)據(jù)建模方法。
愛奇藝奇搜知識圖譜的構(gòu)建采用的是自頂向下的建模方式,圖譜Schema定義基于RDF三元組、以及RDFS的規(guī)則。
RDF(Resource Description Framework),即資源描述框架,實際上是一種數(shù)據(jù)模型,由一系列的陳述即“對象-屬性-值”三元組組成。
Triples:[S, P, O]?
RDF用Subject,Predicate,Object三元組與原陳述的三個部分聯(lián)系起來。
主體(subject):聲明被描述的事物
謂詞(predicate):這個事物的屬性
客體(object):這個屬性的值
一個三元組就是一個關(guān)系。在RDF里我們可以聲明一些規(guī)則,從一些關(guān)系推導(dǎo)出另一些關(guān)系。這些規(guī)則我們稱為“schema”,所以有了 RDFS(RDF Schema)。這些規(guī)則用一些詞匯(可以類比編程語言里的保留字,不過RDF里任何詞匯都可以被重定義和擴展)表示,如常用的規(guī)則subClassOf,表示父類子類的關(guān)系。
愛奇藝基于RDF/RDFS定義了圖譜的實體類型、關(guān)系(屬性)類型、以及實體本身的schema定義。如下圖中,Rules層,是一些基礎(chǔ)概念的定義,包括RDF/RDFS已有的定義及基于RDF/RDFS定義的、供實體類型/屬性定義使用的規(guī)則定義,該層規(guī)則的定義一般在確定后是不可變的。本體定義層,包括可實例化的實體類型(可繼承)和屬性(可繼承)的定義,如Thing,Person,wife,name等。實體層,保存在我們的實體庫中的具體實體。每一層定義在schema的表示語法上都是一致的。
為了幫助定義和使用圖譜schema(主要是上圖中的本體定義層),愛奇藝開發(fā)了一套schema系統(tǒng)來負責(zé)管理、解析奇搜知識圖譜的schema定義:
最終定義的實體類型的繼承關(guān)系片段示例如下圖:
2.2 知識獲取
在知識圖譜中,數(shù)據(jù)扮演著底部基石的作用。知識圖譜是源于數(shù)據(jù)的,是從數(shù)據(jù)中抽取結(jié)構(gòu)化信息,數(shù)據(jù)的好壞直接關(guān)系到知識圖譜構(gòu)建的效率和質(zhì)量。比如從結(jié)構(gòu)化的數(shù)據(jù)中構(gòu)建知識圖譜會比從非結(jié)構(gòu)化的數(shù)據(jù)中構(gòu)建效率和準確率要高,數(shù)據(jù)越復(fù)雜,噪音越大,構(gòu)建成本也就越高。
知識獲取是構(gòu)建知識圖譜的核心與前提條件,也是自動構(gòu)建知識圖譜最關(guān)鍵的影響要素和重點研究領(lǐng)域。我們經(jīng)過各種嘗試后,目前奇搜知識圖譜的數(shù)量來源除去人工創(chuàng)建的數(shù)據(jù)外,主要有以下站內(nèi)、垂直網(wǎng)站與百度百科三種數(shù)據(jù)來源:
| 來源 | 優(yōu)勢 | 劣勢 |
| 站內(nèi)數(shù)據(jù) | 結(jié)構(gòu)化好、類別明確、易于獲取 | 類型有限,且有的數(shù)據(jù)類型只是站內(nèi)已有的數(shù)據(jù),并不是廣義上的知識類型 |
| 垂直網(wǎng)站數(shù)據(jù) | 類別明確 | 獲取和解析成本高,數(shù)據(jù)質(zhì)量層次不齊 |
| 百度百科數(shù)據(jù) | 數(shù)據(jù)量大,內(nèi)容豐富。是目前主要的數(shù)據(jù)來源 | 沒有分類信息,結(jié)構(gòu)不完全固定 |
2.2.1 實體分類
實體分類主要針對百度百科的數(shù)據(jù),因為百度百科的數(shù)據(jù)沒有類別信息,需要先對詞條進行實體類型的識別。具體實現(xiàn)是為每種實體類型訓(xùn)練一個實體分類器,準確率可衡量,并且互不影響,可以快速拓展。
分類器的模型生成是通過啟發(fā)式方法,構(gòu)建基于規(guī)則池的分類器,生成訓(xùn)練數(shù)據(jù),訓(xùn)練DNN模型(self-attention)文本分類模型,DNN分類器與規(guī)則分類器互相擴充迭代(一到兩輪),最終線上使用規(guī)則分類器。生成過程中會用上百科詞條中的描述文本、infobox字段、超鏈接詞條、詞條標(biāo)簽等信息作為特征。
2.2.2 實體抽取
實體抽取是指從數(shù)據(jù)中的識別和抽取實體的屬性與關(guān)系信息。對不同類型與不同數(shù)據(jù)源分別開發(fā)屬性、關(guān)系抽取腳本進行數(shù)據(jù)抽取,由易到難主要包括以下三類抽取方式:
(1)結(jié)構(gòu)化數(shù)據(jù)抽取:
大部分站內(nèi)、垂直網(wǎng)站的信息,以及部分百度百科的信息是結(jié)構(gòu)化的數(shù)據(jù),這類數(shù)據(jù)的信息比較易于抽取。但因為源數(shù)據(jù)結(jié)構(gòu)和實體類型定義(即目標(biāo)數(shù)據(jù)結(jié)構(gòu))多種多樣,為了提高開發(fā)效率,我們將結(jié)構(gòu)化數(shù)據(jù)的抽取過程進行抽象,將抽取的流程寫成統(tǒng)一的框架,利用策略模式將抽取的具體規(guī)則用groovy腳本來實現(xiàn)。當(dāng)擴展新的來源和目標(biāo)實體類型時,只需實現(xiàn)新的抽取腳本。
(2)半結(jié)構(gòu)化數(shù)據(jù)抽取:
百度百科中存在很多表格、列表等半結(jié)構(gòu)化信息,因為格式不完全規(guī)則,所以抽取有一定難度。但有的半結(jié)構(gòu)化信息中存在一些質(zhì)量較高的統(tǒng)計性的數(shù)據(jù)。對于這類數(shù)據(jù),我們采用基于有監(jiān)督學(xué)習(xí)的包裝器歸納方法進行抽取。
(3)文本數(shù)據(jù)挖掘:
百度百科以及站內(nèi)的描述等大量文本中也存在有很多寶貴的信息,對于這類數(shù)據(jù)的實體挖掘,需要借助NLP(自然語言處理)的手段。這里主要用到了我們的NLP團隊提供的實體識別等服務(wù)。一方面通過實體鏈接服務(wù)把從文本中抽取得到的實體對象,鏈接到實體庫中對應(yīng)的正確實體對象,以挖掘文本中關(guān)系。另一方面利用實體識別技術(shù)來識別來挖掘文本中的實體。
2.3 知識融合
知識融合主要是實體對齊(Object Alignment),旨在發(fā)現(xiàn)具有不同ID但卻代表真實世界中同一對象的那些實體,并將這些實體歸并為一個具有全局唯一標(biāo)識的實體對象添加到知識圖譜中。
我們的實體數(shù)據(jù)有不同的來源,而且在同一來源中,也可能存在實際是同一實體的多條數(shù)據(jù)。
上圖是我們實體對齊的流程圖。首先我們所有來源的實體數(shù)據(jù)都會進入原始實體庫(RawEntity庫),并且對原始表中的數(shù)據(jù)建立索引。當(dāng)一個原始實體rawEntity入最終實體庫之前,要在原始實體庫中找是否有其它原始實體和rawEntity實際上是同一個實體。步驟是首先在索引中根據(jù)名字、別名等字段查詢出若干個可能是相同實體的候選列表,這個步驟的目的是減少接下來流程的計算量。然后經(jīng)過實體判別模型,根據(jù)模型得分識別出待合并對齊的原始實體,最后經(jīng)過屬性融合模型,將各原始實體的屬性字段進行融合,生成最終的實體。這個流程中的合并判斷模型實際上是通過機器學(xué)習(xí)訓(xùn)練生成的二分類器。
2.4 知識存儲
我們在線上使用的圖數(shù)據(jù)庫引擎選擇了JanusGraph。JanusGraph需要外部的存儲系統(tǒng)與外部索引系統(tǒng)的支持。所以我們借助公司云平臺的Hbase和ES集群,搭建了自己的JanusGraph分布式圖數(shù)據(jù)庫引擎,支持在線游走查詢服務(wù)。
03
奇搜知識圖譜的應(yīng)用
3.1 問答式搜索服務(wù)
基于圖數(shù)據(jù)庫引擎提供的查詢服務(wù),以及NLP技術(shù)對用戶query的意圖理解,我們提供了多種類型的問答式搜索結(jié)果服務(wù)。包括明星、劇集的屬性類的查詢:XXX的生日、XXX劇的播出時間等,以及實體的關(guān)系類的查詢:明星的關(guān)系(如“王菲的前夫的女兒”)、劇集與明星/角色的關(guān)系(如“覺醒年代演員表”)、劇集間的關(guān)系(如“覺醒年代片花”)、以及各種關(guān)系的組合(如“小燕子扮演者還演過”)等等。如:
3.1.1 智能問答
3.1.2 關(guān)系查詢
3.1.3 劇集周邊
3.1.4 關(guān)系組合
3.2 基礎(chǔ)數(shù)據(jù)
奇搜知識圖譜的實體庫作為基礎(chǔ)數(shù)據(jù)被用于NLP團隊提供的分詞和實體識別、意圖識別等服務(wù),也在明星圖譜等業(yè)務(wù)場景下直接展示。
3.2.1 分詞實體識別
3.2.2 明星圖譜展示
3.3?標(biāo)簽挖掘
利用知識圖譜數(shù)據(jù)可以幫助建立和完善標(biāo)簽體系,以及挖掘視頻數(shù)據(jù)上的標(biāo)簽,同時標(biāo)簽體系也可以反過來豐富知識圖譜。
我們利用推理等技術(shù)對知識圖譜進行挖掘。推理功能一般通過可擴展的規(guī)則引擎來完成。包括屬性的推理,如根據(jù)出生年月推理出年齡、星座等屬性,以及關(guān)系的推理,如根據(jù)已有的妻關(guān)系子推理出反向丈夫關(guān)系,根據(jù)兒子的兒子鏈式關(guān)系推理出孫子關(guān)系等。
視頻上的標(biāo)簽與圖譜實體進行映射之后,相似的推理過程也可用于視頻標(biāo)簽的擴展,主要用到實體的上下位詞、屬于、包含等關(guān)系。
另外也可用Graph Embedding等技術(shù)擴展同類型的關(guān)聯(lián)性強的實體。
下面是一些標(biāo)簽挖掘的線上應(yīng)用實例:
滑動查看更多
04
總結(jié)
以上是奇搜知識圖譜的構(gòu)建和在搜索中應(yīng)用的介紹。我們可以看出,經(jīng)過幾年的努力,奇搜知識圖譜已經(jīng)被打造成為了完備的娛樂行業(yè)知識圖譜庫。
傳統(tǒng)的視頻搜索通過為整段視頻添加文字標(biāo)簽,并與用戶搜索信息匹配完成搜索,搜索原理與傳統(tǒng)文字搜索相同。伴隨著奇搜知識圖譜的發(fā)展,全新的娛樂搜索功能給用戶帶來了更佳的搜索體驗。知識圖譜在幫助用戶精確找到想要的內(nèi)容、回答用戶問題、以及理解用戶搜索意圖方便都發(fā)揮了巨大的作用。隨著視頻內(nèi)容理解和視頻知識圖譜庫的不斷完善,未來,用戶觀看視頻將像使用文字一樣輕松便捷,對于視頻搜索、互動的想象空間也在不斷清晰。
近年來人工智能技術(shù)的飛速發(fā)展,給知識圖譜的應(yīng)用帶來了更多的可能性,我們也會在知識圖譜在搜索、推薦等領(lǐng)域的新的應(yīng)用進行更多的探索。
?
OpenKG
OpenKG(中文開放知識圖譜)旨在推動以中文為核心的知識圖譜數(shù)據(jù)的開放、互聯(lián)及眾包,并促進知識圖譜算法、工具及平臺的開源開放。
點擊閱讀原文,進入 OpenKG 網(wǎng)站。
總結(jié)
以上是生活随笔為你收集整理的领域应用 | 完备的娱乐行业知识图谱库如何建成?爱奇艺知识图谱落地实践的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 大型网站系统的特点和架构设计
- 下一篇: 论文浅尝 | Multilingual