完備的娛樂行業知識圖譜庫如何建成?愛奇藝知識圖譜落地實踐

2012年5月16日,谷歌首次正式提出了知識圖譜的概念,希望利用結構化知識,來增強搜索引擎,提高搜索質量和用戶體驗。


也就是說,從誕生之日起,知識圖譜就和搜索引擎密不可分。


隨着大數據時代的到來和人工智能技術的進步,知識圖譜的應用邊界被逐漸拓寬,越來越多的企業開始將知識圖譜技術融入其已經成型的數據分析業務。目前知識圖譜已成爲人工智能領域的重要分支,在搜索、自然語言處理、智能助手等領域發揮着重要作用。


愛奇藝搜索團隊早在2015年就開始着手搭建自己的知識圖譜庫——奇搜知識圖譜庫。本文將講述奇搜知識圖譜的構建過程,及其在愛奇藝搜索、NLP服務中的具體應用


01

什麼是知識圖譜?


谷歌發佈的文檔的描述中,知識圖譜是一種用圖模型來描述知識和建模世界萬物之間關聯關係的技術方法。本質上,知識圖譜是一種揭示實體之間關係的語義網絡,可以對現實世界的事物及其相互關係進行形式化地描述。



在知識圖譜裏,我們通常用“實體(Entity)”來表達圖裏的節點、用“關係(Relation)”來表達圖裏的“邊”。實體指的是現實世界中的事物比如人、地名等,關係則用來表達不同實體之間的某種聯繫,比如人-“居住在”-北京、張三和李四是“朋友”、邏輯迴歸是深度學習的“先導知識”等等。


現實世界中的很多場景非常適合用知識圖譜來表達。 比如一個社交網絡圖譜裏,我們既可以有“人”的實體,也可以包含“公司”實體。人和人之間的關係可以是“朋友”,也可以是“同事”關係。人和公司之間的關係可以是“現任職”或者“曾任職”的關係。


02

 奇搜知識圖譜的構建


愛奇藝搜索(奇搜)作爲國內最大的視頻搜索引擎之一,致力於爲用戶提供優質的全網視頻、娛樂領域的搜索服務。


當傳統的文本檢索搜索方式不能滿足給用戶提供更爲精準和智能的搜索體驗的目標時,爲了豐富用戶視頻娛樂搜索結果、爲了對用戶搜索意圖實現精準理解與直觀回答,奇搜團隊努力完善對視頻內容的理解、對用戶意圖的理解,並在過程中構建了以視頻領域爲主的知識圖譜庫。


在經歷幾個版本的迭代後,目前的奇搜知識圖譜的構建流程主要分爲知識表示與建模、知識獲取、知識融合、知識存儲、知識應用(知識查詢與推理)幾個步驟和模塊,下面我們一一予以介紹。


2.1 知識表示和建模


構建知識圖譜之前,首先需要確認知識的建模表示方式。目前主要的知識建模方式有兩種:


(1)先爲知識圖譜設計數據模式(schema),再依據設計好的數據模式進行有針對性的數據抽取,這是自頂向下的數據建模方法;


(2)先進行數據的收集和整理,再根據數據內容總結、歸納其特點,提煉框架,逐步形成確定的數據模式,這是自底向上的數據建模方法。


愛奇藝奇搜知識圖譜的構建採用的是自頂向下的建模方式,圖譜Schema定義基於RDF三元組、以及RDFS的規則


RDF(Resource Description Framework),即資源描述框架,實際上是一種數據模型,由一系列的陳述即“對象-屬性-值”三元組組成。


Triples:[S, P, O] 

RDF用Subject,Predicate,Object三元組與原陳述的三個部分聯繫起來。


主體(subject):聲明被描述的事物

謂詞(predicate):這個事物的屬性

客體(object):這個屬性的值


一個三元組就是一個關係。在RDF裏我們可以聲明一些規則,從一些關係推導出另一些關係。這些規則我們稱爲“schema”,所以有了 RDFS(RDF Schema)。這些規則用一些詞彙(可以類比編程語言裏的保留字,不過RDF裏任何詞彙都可以被重定義和擴展)表示,如常用的規則subClassOf,表示父類子類的關係。


愛奇藝基於RDF/RDFS定義了圖譜的實體類型、關係(屬性)類型、以及實體本身的schema定義。如下圖中,Rules層,是一些基礎概念的定義,包括RDF/RDFS已有的定義及基於RDF/RDFS定義的、供實體類型/屬性定義使用的規則定義,該層規則的定義一般在確定後是不可變的。本體定義層,包括可實例化的實體類型(可繼承)和屬性(可繼承)的定義,如Thing,Person,wife,name等。實體層,保存在我們的實體庫中的具體實體。每一層定義在schema的表示語法上都是一致的。


爲了幫助定義和使用圖譜schema(主要是上圖中的本體定義層),愛奇藝開發了一套schema系統來負責管理、解析奇搜知識圖譜的schema定義:


最終定義的實體類型的繼承關係片段示例如下圖:



2.2 知識獲取


在知識圖譜中,數據扮演着底部基石的作用。知識圖譜是源於數據的,是從數據中抽取結構化信息,數據的好壞直接關係到知識圖譜構建的效率和質量。比如從結構化的數據中構建知識圖譜會比從非結構化的數據中構建效率和準確率要高,數據越複雜,噪音越大,構建成本也就越高。


知識獲取是構建知識圖譜的核心與前提條件,也是自動構建知識圖譜最關鍵的影響要素和重點研究領域。我們經過各種嘗試後,目前奇搜知識圖譜的數量來源除去人工創建的數據外,主要有以下站內、垂直網站與百度百科三種數據來源:


來源 優勢 劣勢
站內數據 結構化好、類別明確、易於獲取 類型有限,且有的數據類型只是站內已有的數據,並不是廣義上的知識類型
垂直網站數據 類別明確 獲取和解析成本高,數據質量層次不齊
百度百科數據 數據量大,內容豐富。是目前主要的數據來源 沒有分類信息,結構不完全固定


2.2.1 實體分類


實體分類主要針對百度百科的數據,因爲百度百科的數據沒有類別信息,需要先對詞條進行實體類型的識別。具體實現是爲每種實體類型訓練一個實體分類器,準確率可衡量,並且互不影響,可以快速拓展。


分類器的模型生成是通過啓發式方法,構建基於規則池的分類器,生成訓練數據,訓練DNN模型(self-attention)文本分類模型,DNN分類器與規則分類器互相擴充迭代(一到兩輪),最終線上使用規則分類器。生成過程中會用上百科詞條中的描述文本、infobox字段、超鏈接詞條、詞條標籤等信息作爲特徵。




2.2.2 實體抽取


實體抽取是指從數據中的識別和抽取實體的屬性與關係信息。對不同類型與不同數據源分別開發屬性、關係抽取腳本進行數據抽取,由易到難主要包括以下三類抽取方式:


(1)結構化數據抽取:


大部分站內、垂直網站的信息,以及部分百度百科的信息是結構化的數據,這類數據的信息比較易於抽取。但因爲源數據結構和實體類型定義(即目標數據結構)多種多樣,爲了提高開發效率,我們將結構化數據的抽取過程進行抽象,將抽取的流程寫成統一的框架,利用策略模式將抽取的具體規則用groovy腳本來實現。當擴展新的來源和目標實體類型時,只需實現新的抽取腳本。


(2)半結構化數據抽取:


百度百科中存在很多表格、列表等半結構化信息,因爲格式不完全規則,所以抽取有一定難度。但有的半結構化信息中存在一些質量較高的統計性的數據。對於這類數據,我們採用基於有監督學習的包裝器歸納方法進行抽取。


(3)文本數據挖掘:


百度百科以及站內的描述等大量文本中也存在有很多寶貴的信息,對於這類數據的實體挖掘,需要藉助NLP(自然語言處理)的手段。這裏主要用到了我們的NLP團隊提供的實體識別等服務。一方面通過實體鏈接服務把從文本中抽取得到的實體對象,鏈接到實體庫中對應的正確實體對象,以挖掘文本中關係。另一方面利用實體識別技術來識別來挖掘文本中的實體。


2.3 知識融合


知識融合主要是實體對齊(Object Alignment),旨在發現具有不同ID但卻代表真實世界中同一對象的那些實體,並將這些實體歸併爲一個具有全局唯一標識的實體對象添加到知識圖譜中。


我們的實體數據有不同的來源,而且在同一來源中,也可能存在實際是同一實體的多條數據。



上圖是我們實體對齊的流程圖。首先我們所有來源的實體數據都會進入原始實體庫(RawEntity庫),並且對原始表中的數據建立索引。當一個原始實體rawEntity入最終實體庫之前,要在原始實體庫中找是否有其它原始實體和rawEntity實際上是同一個實體。步驟是首先在索引中根據名字、別名等字段查詢出若干個可能是相同實體的候選列表,這個步驟的目的是減少接下來流程的計算量。然後經過實體判別模型,根據模型得分識別出待合併對齊的原始實體,最後經過屬性融合模型,將各原始實體的屬性字段進行融合,生成最終的實體。這個流程中的合併判斷模型實際上是通過機器學習訓練生成的二分類器。


2.4 知識存儲


我們在線上使用的圖數據庫引擎選擇了JanusGraph。JanusGraph需要外部的存儲系統與外部索引系統的支持。所以我們藉助公司雲平臺的Hbase和ES集羣,搭建了自己的JanusGraph分佈式圖數據庫引擎,支持在線遊走查詢服務。

03

奇搜知識圖譜的應用


3.1 問答式搜索服務


基於圖數據庫引擎提供的查詢服務,以及NLP技術對用戶query的意圖理解,我們提供了多種類型的問答式搜索結果服務。包括明星、劇集的屬性類的查詢:XXX的生日、XXX劇的播出時間等,以及實體的關係類的查詢:明星的關係(如“王菲的前夫的女兒”)、劇集與明星/角色的關係(如“覺醒年代演員表”)、劇集間的關係(如“覺醒年代片花”)、以及各種關係的組合(如“小燕子扮演者還演過”)等等。如:


3.1.1 智能問答




3.1.2 關係查詢




3.1.3 劇集周邊



3.1.4 關係組合



3.2 基礎數據


奇搜知識圖譜的實體庫作爲基礎數據被用於NLP團隊提供的分詞和實體識別、意圖識別等服務也在明星圖譜等業務場景下直接展示。


3.2.1 分詞實體識別



3.2.2 明星圖譜展示



3.3 標籤挖掘


利用知識圖譜數據可以幫助建立和完善標籤體系,以及挖掘視頻數據上的標籤,同時標籤體系也可以反過來豐富知識圖譜。


我們利用推理等技術對知識圖譜進行挖掘。推理功能一般通過可擴展的規則引擎來完成。包括屬性的推理,如根據出生年月推理出年齡、星座等屬性,以及關係的推理,如根據已有的妻關係子推理出反向丈夫關係,根據兒子的兒子鏈式關係推理出孫子關係等。

視頻上的標籤與圖譜實體進行映射之後,相似的推理過程也可用於視頻標籤的擴展,主要用到實體的上下位詞、屬於、包含等關係。


另外也可用Graph Embedding等技術擴展同類型的關聯性強的實體。


下面是一些標籤挖掘的線上應用實例:

滑動查看更多

04

總結


以上是奇搜知識圖譜的構建和在搜索中應用的介紹。我們可以看出,經過幾年的努力,奇搜知識圖譜已經被打造成爲了完備的娛樂行業知識圖譜庫。


傳統的視頻搜索通過爲整段視頻添加文字標籤,並與用戶搜索信息匹配完成搜索,搜索原理與傳統文字搜索相同。伴隨着奇搜知識圖譜的發展,全新的娛樂搜索功能給用戶帶來了更佳的搜索體驗。知識圖譜在幫助用戶精確找到想要的內容、回答用戶問題、以及理解用戶搜索意圖方便都發揮了巨大的作用。隨着視頻內容理解和視頻知識圖譜庫的不斷完善,未來,用戶觀看視頻將像使用文字一樣輕鬆便捷,對於視頻搜索、互動的想象空間也在不斷清晰。


近年來人工智能技術的飛速發展,給知識圖譜的應用帶來了更多的可能性,我們也會在知識圖譜在搜索、推薦等領域的新的應用進行更多的探索。

看完心動了嗎?
戳👇“ 閱讀原文”直達招聘頁面
即刻加入愛奇藝!


也許你還想看

愛奇藝逗芽表情搜索分析與實踐

工程師訪談 | 初心在方寸,咫尺在匠心,愛奇藝NLP的成長之路

愛奇藝多語言臺詞機器翻譯技術實踐



 關注我們,更多精彩內容陪伴你!

本文分享自微信公衆號 - 愛奇藝技術產品團隊(iQIYI-TP)。
如有侵權,請聯繫 [email protected] 刪除。
本文參與“OSC源創計劃”,歡迎正在閱讀的你也加入,一起分享。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章