1. 程式人生 > >PaperWeekly 第32期 | 基於知識圖譜的問答系統關鍵技術研究 01

PaperWeekly 第32期 | 基於知識圖譜的問答系統關鍵技術研究 01

也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!

               

  “

  崔萬雲

  復旦大學知識工場實驗室博士生

  研究方向為問答系統和知識圖譜

第一章 緒論

  第 1 節 問答系統背景介紹

2011 年 10 月 14 日,蘋果公司在其 iPhone 4S 釋出會上隆重推出新一代智慧個人助理 Siri。Siri 通過自然語言的互動形式實現問答、結果推薦、手機操作等功能,並整合進 iOS 5 及之後版本。2012 年 7 月 9 日,谷歌釋出智慧個人助理 Google Now,通過自然語言互動的方式提供頁面搜尋、自動指令等功能。2014 年 4 月 2 日,微軟釋出同類產品 Cortana,2014 年 10 月,亞馬遜釋出同類產品 Alexa。在此之前的 2011 年 9 月,由 IBM 研發的 Watson 機器人蔘加智力問答節目“Jeopardy!”,並戰勝該節目的前冠軍 Brad Rut- ter 和 Ken Jennings,豪取一百萬美金大獎。

問答系統(Question Answering system, QA system)是用來回答人提出的自然語言問題的系統。問答系統的實現涉及到自然語言處理、資訊檢索、資料探勘等交叉性領域。問答系統的歷史最早可以追溯到 1960 年代的 BASEBALL [40]和 1970 年代的 LUNAR [101]。自那時起,有大量的問答系統湧現 [107, 22]。

智慧時代,人類期望有更簡單自然的方式與機器進行互動。因此以自然語言為互動方式的智慧機器人廣受青睞,受到各大 IT 廠家追捧。而其底層核心技術之一,即為自然語言問答系統。問答系統提供了自然語言形式的人與產品互動,降低了產品使用門檻,大幅提成使用者體驗。同時,問答系統可以幫助企業極大節省呼叫中心的投入。這些應用已經印證了問答系統的商業價值和社會價值。

問答系統的應用仍然具有新的潛力。人對於網際網路的核心訴求之一是知識獲取。從更長的時間視窗看,問答系統及聊天機器人,有著成為網際網路知識獲取新入口的優勢。搜尋引擎依然是現階段最重要的網際網路入口,也締造了谷歌、百度等巨頭企業。然而,基於關鍵字的搜尋方式,缺乏語義理解,存在著與人的自然需求表達的隔閡,同時其返回結果需要人消耗大量時間剔除無意義的資訊。隨著人工智慧、自然語言理解技術的進步,當問答系統足夠智慧,使人類的監督最小的時候,人就可以用問答從網際網路完成知識獲取。

問答系統的研究,是語義計算和自然語言處理的綜合性應用。它包含了多種典型自然語言處理的基本模型,例如實體識別、短文字理解、語義匹配等。傳統的單一模型研究往往僅關注某一具體問題的效果,而忽視在系統整體中的實用性。問答系統由於其複雜性,需要不同模型間的聯通,才能帶來綜合性、實用性的技術突破。因此問答系統的研究為不同語義理解模型的整合提供了應用出口,為不同模型的關聯分析、

資料共享、引數共享等提出了實際需求,為多個自然語言語義理解技術模型的整體突破帶來了技術願景。

另一方面,問答系統研究的核心在於問題語義和知識語義的理解和相似度計算。這是計算機理解人類語言和知識表達的關聯,跨越語義鴻溝的關鍵。這條橫亙在計算機面前的語義鴻溝,其關鍵是計算機和人類在語義表達方式上的不同。人類傾向於使用多樣化、非結構化的表達來描述問題和知識,而計算機則偏愛唯一化、結構化的知識。問答系統的研究,直接作用於縮短和跨越這一語義鴻溝,將多樣而模糊的問題語義,對映到具體而唯一的計算機知識庫中。

優秀的問答系統有兩個關鍵點:精確的問題理解和高質量的知識來源。近年來隨著大資料的發展,這兩點紛紛迎來了資料層面的發展契機。

  • 問題理解由於問題的多樣性和複雜性,很難人工制定一套規則完成問題理解。因此從資料中進行問題語義學習是必要的。社交類問答網站的興起,包括Yahoo! Answers,Stack Overflow,百度知道等。由使用者在上面進行提問和回答。這些網站包含了大量的問答對資料集,這成為了問題理解的優質語料。海量的問答語料為問題理解的學習提供了資料基礎。

  • 知識來源由於知識表述的多樣性,以及知識關聯的複雜性,需要優質而大量的知識來源。近年來,一批高準確率、海量規模的知識圖譜湧現,為問答系統提供了結構化、關聯化的知識來源。這也為高效的問題回答提供了知識基礎。

在資料發展的契機下,如何設定恰當模型學習並使用這一批資料就顯得尤為重要。傳統的基於規則的模型 [72]無法合理利用海量語料;基於關鍵詞的模型 [98] 則沒有進行深入的語義理解。而一些複雜的圖模型等 [116, 112],則由於時間複雜度很難直接應用在如此大規模的語料中。本文的研究,即旨在尋求一種優秀的、系統性的問答系統表示和學習模型,並進行成功應用。

1.1. 知識圖譜簡介

2012 年 5 月份,Google 花重金收購 Metaweb 公司,並向外界正式釋出其知識圖譜(knowledge graph)。自此,知識圖譜正式走入公眾視野。開放領域大規模知識圖譜紛紛出現,包括 NELL [15],Freebase [10],Dbpedia [6],Probase [103]等。

知識圖譜本質上是一種語義網路。其結點代表實體(entity)或者概念(concept),邊代表實體/概念之間的各種語義關係。知識圖譜的出現是資訊科技發展、時代發展的必然結果。語義的本質是關聯。只有基於語義的資料互聯才能發揮資料整合的非線性效應,才能獲取大資料的特有語義。在這一背景下,資料互聯(Linked Data)成為了一種運動,在全世界範圍內方興未艾。而資料互聯的出現從深層次上來說是由時代精神所決定的。2011 年的 Science 曾經以“互聯” 為題,出版專刊闡述了一個基本觀點:我們身處在一個“互聯”的時代。各種網路,諸如網際網路、物聯網、社會網路、語義網路、生物網路等等,將各類實體、概念加以互聯。網路已經成為刻畫複雜性的基本形態。管理、理解和使用各種網路資料,包括知識圖譜,已經成為征服複雜性的基本手段。

  圖 1.1:一個 RDF 知識圖譜示例。 這裡的“dob”“pob”分別表示出生日期出生。注意到“spouse”關係是由多條邊表示的name - marriage - person - name

  大部分這樣的知識圖譜採用了 RDF 作為資料格式,它們包含數以百萬記甚至億記的 SPO 三元組(Sub ject,Predicate,Object 分別表示主語,屬性,賓語)。圖1.1 是一個奧巴馬及其相關實體構成的知識圖譜的示例。可以看到,知識圖譜具有明顯格式化特徵,其值往往是一個實體名字或者一個數字、一個日期。這保證了基於知識圖譜的問答系統的回答簡潔性。另一方面,不同於基於資訊檢索的問答系統需要考慮資料真實性的問題,知識圖譜的高資料質量保證了答案的準確性。

1.2. 知識圖譜在問答系統上的資料優勢

問答系統有多種可能的資料來源。傳統的資料來源包括網頁文件、搜尋引擎、百科描述、問答社群等。無一例外,這些資料來源都是非結構化的純文字資料。有大量基於資訊檢索的方法致力於研究從純文字資料中進行知識抽取和回答。而近年來,基於知識圖譜的問答系統則成為學術界和工業界的研究和應用熱點方向。相較於純文字,知識圖譜在問答系統中具有以下優勢。這些優勢都促使本文使用知識圖譜來作為問答系統的知識來源。

  • 資料關聯度-語義理解智慧化程度問題語義理解程度是問答系統的核心指標。對於純文字資料,語義理解往往建立在問句與文字句子的相似度計算。然而語義理解和知識的本質在於關聯,這種一對一的相似度計算忽視了資料關聯。在知識圖譜中,所有知識點被具有語義資訊的邊所關聯。從問句到知識圖譜的知識點的匹關聯過程中,可以用到大量其關聯結點的關聯資訊。這種關聯資訊無疑更為智慧化的語義理解提供了條件。

  • 資料精度-回答準確率知識圖譜的知識來自專業人士標註,或者專業資料庫的格式化抓取,這保證了資料的高準確率。而純文字中,由於同類知識容易在文字中多次提及,會導致資料不一致的現象,降低了其準確率。

  • 資料結構化-檢索效率知識圖譜的結構化組織形式,為計算機的快速知識檢索提供了格式支援。計算機可以利用結構化語言如 SQL、SPARQL 等進行精確知識定位。而對於純文字的知識定位,則往往包含了倒排表等資料結構,需要用到多個關鍵詞的倒排表的綜合排名,效率較低。

1.3. 基於知識圖譜的問答系統工作方式

通過知識圖譜為知識源回答問題時,一個問題對應於知識圖譜的一個子結構。所以其問答過程的核心在於將自然語言問題對映為知識圖譜上的結構化查詢。例如對於圖 1.1 中的知識圖譜,表 1.1 展示了一些它可以回答的問題,以及對應的子結構。

表 1.1:自然語言問題及其在知識圖譜中的屬性對應。

基於知識圖譜的問答系統,需要解決兩個核心問題:(1)如何理解問題語義,並用計算機可以接受的形式進行表示(問題的理解和表示);(2)以及如何將該問題表示關聯到知識圖譜的結構化查詢中(語義關聯)。

  • 問題理解和表示:知識圖譜中有數以千計的關係,而一種關係可以有數以千計的問法。例如,表 1.1 中的問題 ○a 和問題 ○b 都詢問了檀香山市的人口,儘管它們的表達方式大相徑庭。對於不同的問題形式,問答系統使用不同的表示方法。這些問題表示必須滿足(1)歸一具有相同語義的問題;(2)區分不同意圖的問題。 所使用的問答語料庫最終找到了 2782 種問題意圖的約 2700 萬種問題形式。所以問題表示形式設計就是一個巨大的挑戰。

  • 語義關聯:在獲取一個問題的表現示之後,系統需要將這一表現示對映為結構化查詢。結構化查詢主要依賴於知識庫中的屬性。由於屬性和表現模型之間的跨越,尋找這樣的匹配並非直接。例如,在表 1.1 中,系統需要知道問題 ○a 與屬性 population 有著相同的語義。此外,在 RDF 圖中,許多二元關係並不僅僅對應一條邊,而是某種複雜的結構:在圖 1.1 中,“配偶”關係由 marriage → person → name 的路徑表示。對於本文使用的知識庫,超過 98% 的關係對應於類似的複雜結構。

第 2 節 研究架構與模組關聯

2.1. 研究架構

本文研究架構見圖 1.2。依據其理解語義的粒度從小到大,從具體技術到上層應用,主要分為以下五個部分。

圖 1.2:研究架構圖

1. 實體層:語義社團搜尋實體是自然語言的基本單位之一,基於知識圖譜的實體語義理解為上層語義計算,特別是問題中的實體語義,提供基本支援。本文研究了面向實體的語義社團搜尋模型,特別是從模型的表達性、有效性等方面研究不同社團定義的合理性。其次,語義社團搜尋作為語義理解的原子操作,需要保證在大圖上的實時回答。為此,本文研究了大圖上的高效社團搜尋方法,特別是基於大圖的區域性性的高效搜尋方法。

2. 短文字層:動詞理解和實體概念化短文字是自然語言的最常見形式之一,起到對實體和更復雜文字單元(如問句)的承接作用。短文字上已經有了句法結構特徵和上下文關係。知識圖譜的作用,則可以使系統更精確表示句法結構和上下文資訊。本文提出了動詞模板,用來表示細粒度的動詞語義。並且基於動詞模板,優化了基於上下文的實體概念化方法。

3. 問題層:問題語義理解和表示問題的表示學習,是計算機理解問題的核心步驟。本文提出了問題的模板表示方法,將問題的實體對映到其對應概念,用以表示問題語義。此外,本文還利用問題模板的思路,解決了複雜問句的解析問題。

4. 問答系統層:問題與知識圖譜的語義關聯 基於問題的模板表示,需要將其對映為知識圖譜的結構化查詢,最終實現問答。這一對映主要取決於知識庫中的屬性。本文提出了基於真實問答語料的學習方法,利用概率圖建模問題模板到答案的生成,並進行語義關聯的引數估計。同時,本文利用屬性擴充套件,研究知識圖譜中的多步屬性這一複雜知識表示形式,學習問題模板到複雜知識圖譜結構的對映。

5. 應用層:面向應用的領域問答適配由於通用人工智慧依然是非常困難的,出於具體應用場景需要,大部分真實應用中的問答系統是面向具體領域的。例如 IBM 的 Watson 專注於醫療和財經領域,亞馬遜的 Alexa 專注於智慧家庭和零售領域,微軟的 Cortana 專注於作業系統助手。為了對問答系統作領域適配,本文有兩方面的工作,第一,將開放領域的自然語言模型(例如 POS tagging),適配到具體領域,使得問答系統相關自然語言處理模組在特定領域正常執行。第二,從自然語言文字中,為特定領域進行自動化領域相關的知識抽取。

2.2. 研究系統性

整個研究強調整個研究的系統性,即不同層級之間的關聯。一般來說,低層的結果被使用作為高層模型輸入的一部分。其具體系統性關聯如下:

1. 從實體到短文字實體層為短文字中的實體提供了語義社團。利用該語義社團,短文字層可以得到實體的相關概念,以進行實體語義消岐。從而幫助短文字層得到更精確的實體概念資訊和語義資訊。

2. 從短文字到問題 短文字層為問題層提供動詞語義以及實體概念資訊。這為問題層的問題模板表示學習過程中的實體概念化提供了支援。

3. 從問題到問答系統 問題層的輸出,即問題模板,是整個問答系統語義關聯的基礎。問答系統以問題模板為輸入,學習問題模板到知識圖譜結構的對映。

4. 從問答系統到領域應用 本文會將利用遷移學習將系統的自然語言處理模組應用到領域問答系統中。同時將應用層抽取的領域知識作為問答系統的知識源,以使問答系統可以適應領域問答。

第 3 節 本文組織結構

本文按照架構(圖 1.2)中自底向上的順序具體介紹每一項研究內容。第三章介紹實體層的語義社團搜尋。第四章介紹短文字層的動詞模板,並在應用中講述如何利用動詞模板提升基於上下文的實體概念化效果。第五章提出了問答系統 KBQA,包括對問題的模板化理解,以及問題模板到知識圖譜的對映學習。在第六章和第七章,本文分別介紹了兩個用於問答系統領域適配的技術:自言語言處理模型的領域遷移,和領域知識抽取。第八章給出了一個基於 Freebase 的具體系統展示。最後的第九章進行了總結和展望。

第四章 基於知識圖譜的短文字動詞理解

動詞理解在自然語言的語義理解中至關重要。對於動詞的理解,有助於問答系統在短文字層面理解問題語義,進而幫助實現上下文相關的實體概念化。傳統的動詞表示,如 FrameNet、PropBank、VerbNet 等,專注於動詞的角色。但是動詞角色過於粗粒度,無法表示和區分動詞的語義。本章將介紹基於動詞模板的動詞語義表示模式。每個動詞模板對應於動詞的單個語義。首先本文分析了動詞模板的原則:一般性和特殊性原則。然後提出一個非監督的最小描述長度模型來建模此問題。實驗結果證明了模型的有效性。論文進一步將動詞模板應用在上下文相關的實體概念化問題上。

第 1 節 引言

動詞對句子的理解是至關重要的 [30, 104]。動詞理解的一個主要問題是歧義性 [77],即當同一動詞和不同賓語相結合時,會表示不同的語義。本文只考慮和賓語相結合的動詞,即及物動詞。就像例 4.1 中展示的那樣,大部分動詞都是具有歧義的。因此需要一個好的動詞語義表示方式,來表示其奇異性。

例 4.1. eat 具有以下幾種意思:

  • 把食物在嘴裡咀嚼併吞咽,例如 eat apple,eat hot dog。

  • 吃一頓飯,例如 eat breakfast,eat lunch,eat dinner。

  • 其他俗語。例如 eat humbie pie 表示承認錯誤。

許多典型的動詞表示方式,包括 FrameNet [7],PropBank [52]和 VerbNet [82],側重描述動詞的語義角色(例如“eat”的攝食者和被進食物)。但是,語義角色是一種非常粗糙的表示,無法區分動詞細粒度的語義。不同短語中的同一動詞,可以在具有同樣語義角色的同時表達不同的語義。在例 4.1 中,無論是“eat apple”還是“eat breakfast”,都具有攝食者等角色。但是這些 eat 具有有不同的語義。

由於無法表達動詞的歧義性,傳統動詞表示形式方式無法完整的表示動詞語義。在句子“I like eating pitaya”,人直接可以推斷“pitaya”大概是一種食物,因為食物是最常見的“eat”的對應語義。這就可以讓人利用上下文相關的概念化技術將“pitaya”理解為食物。而傳統動詞表示形式只理解“pitaya”是一個被進食物,而無法知道它是一頓飯還是一種食物。

動詞模版 本文認為,動詞模版可以用來表示一個動詞更細粒度的語義。動詞模版基於語言學家對單詞結合的兩個原則設計 [84]:俗語原則(idiom principle)和開放選擇原則(open-choice principle)。基於這兩個原則,本文設計了兩種型別的動詞模版:

  • 概念化模版:根據開放選擇原則,一個動詞可以和任何賓語搭配。這些賓語具有特定的概念,可以用於語義表示和消岐 [103]。這促使本章使用賓語的概念來表示動詞語義。在例 4.1 中,eat breakfast 和 eat lunch 具有相似的語義,因為這些賓語對應同樣的概念 meal。因此,本章將動詞短語中的賓語替換為它的概念,從而組成概念化動詞模板動詞 $C 概念(例如 eat $Cfood)。根據賓語的概念,每個開放選擇原則中的動詞短語會被關聯到一個概念化模板中。

  • 俗語模版:根據俗語原則,有些動詞短語的具體語義是和賓語概念無關的。本章在賓語前增加 $I 標記來表示此俗語模板(即動詞 $I 賓語)。

根據上述定義,本文使用動詞模板來表示動詞的不同的語義。分配到相同的動詞模板的動詞短語,其動詞具有相似的語義,而分配到不同動詞模板的動詞具有不同的語義。通過動詞模版,可以將“eat pitaya”對應到模板“eat $Cfood”,從而得到“I like eating pitaya”中的“pitaya” 是一種食品。另一方面,俗語模版表示哪些短語不應被概念化。表 4.1 中列出了例 4.1 中的短語的對應模板。

表 4.1:動詞短語及其動詞模板

這樣,本文的核心問題在於如何對動詞產生概念化模板或俗語模板。為了做到這一點,實驗使用了兩個公開資料集:Google Syntactic N-Grams 和 Probase [103]。Google Syntactic N-Grams 包含了百萬級別的動詞短語,提供了動詞短語的豐富語料。Probase 包含了豐富的實體-概念資訊,幫助演算法將賓語對映到其概念。這樣問題就變為給定動詞 v 以及其對應的動詞短語集合,對每個動詞短語產生一個動詞模板(概念化模板或者俗語模板)。然而,這個模板生成的過程是具有挑戰性的。一般來說,在此過程中的最嚴重問題在於一般性和特殊性之間的取捨。本文在下邊具體說明。

第 2 節 相關工作

傳統的動詞理解 在此討論比較動詞模板與傳統的動詞理解 [73] 方法。FrameNet[7] 建立在大多數詞彙可以被很好的通過語義框架[32] 理解的思想上。語義框架是對於一類事件,關係,或者在其中實體與參與者的描述。每一個語義框架使用了框架元素(FEs)來進行簡單的註解。PropBank [52] 使用了人工標註的謂詞和語義物件變數,來獲取準確的謂詞-變數結構。謂詞這裡指動詞,變數是動詞的其他物件。為了使 PropBank 更加形式化,變數通常包含施動者,受動者,工具,起始點和終止點等。VerbNet[82] 將動詞根據它們基於 Levin classes[60] 的句法模板來分類。所有的動詞理解都關注於動詞的不同角色而不是它的語義。然而動詞的不同語義可能有相同的角色,現有的理解並不能完整的表述動詞的語義。

實體概念化 本章工作的典型應用就是基於上下文的實體概念化理解。實體概念化決定了對於一個實體最適合的概念。傳統的基於文字檢索的方法利用 NER[92] 來進行實體概念化。但是 NER 經常只含有一些粗糙的預定義概念。Wu 等人建立了一個有大量詞彙資訊的知識庫 Probase[103],來提供豐富的 IsA 關係。對於 IsA 關係,基於上下文的實體概念化理解[50]會更有效。Song 等人[87]提出了一種利用 Naive Bayes 的實體概念化方法。Wen 等人[46]提出了主流的聯合共現網路,IsA 網路和概念聚類的模型。

語義構成本章利用動詞模板來表示動詞短語。然而語義構成的工作致力於將任意的短語表示為向量或樹結構。基於向量空間的模型被廣泛地被用來表示單個單詞的語義。因此,一個直接的表示詞彙的語義的方法就是將這些出現在短語中的單詞的向量取平均值[105]。但是這個方法卻忽略了詞之間的句法關係 [57]。Socher 等人[85]將句法關係表示為一棵二叉樹,並且將它與單詞的向量利用 recursive neural network 同時訓練。目前,word2vec[67] 顯示了它在單詞表示方面的優勢。 Mikolov 等人[68]進行了更深層次的研究並使 word2vec 可以表示短語向量。總之,這些工作並沒有使用有關動詞的俗語短語和動詞的物件的概念來表示動詞的語義。

2.1. 一般性和特殊性的取捨問題

本節試著問答問題:“什麼樣的動詞模板可以很好的總結一個動詞短語集合”。由於每個動詞短語都有若干候選動詞模板,這個問題的回答是很困難的。直覺上,一個好的動詞模板需要兼備一般性和特殊性。

一般性:本章希望用較少的模板個數來覆蓋一個動詞的所有語義。否則,抽取出的動詞模板會變得瑣碎。考慮極端的情況:所有的動詞短語都被考慮為俗語模板。這些俗語模板顯然大部分都是沒意義的,因為大部分動詞短語需要被概念化。

例 4.2. 在圖 4.1 中,模(eat $Cmeal)顯然比三個模板(eat $Ibreakfast + eat $Ilunch+eat $Idinner)要好。前者提供了一個更一般的模板表示。

圖 4.1:模板分配的例子

特殊性:另一方面,本章期望產生的動詞模板具備特殊性,否則結果可能會變得非常模糊。就像例 4.3 展示的那樣,演算法可以將任意賓語都概念化到某些非常高層的概念上,例如 activity,thing,item 等。這樣概念化的模板就會變得特別模糊而無法精確描述一個動詞的語義。

例 4.3. 對於圖 4.1 中的動詞短語,eat $Cactivity 是比 eat $Cmeal 更一般性的動詞模板。這樣,一些錯誤的動詞模板,例如 eat shopping 或 each fishing 也會被識別為 eat 的有效例子或短語。相反,eat $Cmeal 具有更好的特殊性。因為 breakfast、lunch、dinner 是三個典型的 meal 的例項。而 meal 幾乎不再具有其它典型例項。

貢獻 一般性和特殊性顯然是相互矛盾和制約的。因此如何在一般性和特殊性之間做取捨構成了本文的主要挑戰。本文使用最小描述長度(minimum deion length,MDL)作為調和這兩個目標的基本框架。更具體的,本章的貢獻可以被總結如下:

  • 本章提出了動詞模板——一種新型的動詞語義表現形式。本章提出了兩類動詞模板:概念化模板和俗語模板。動詞模板可以表示動詞的歧義性,因此可以用來識別動詞的不同語義。

  • 本章提出了關於動詞模板抽取的兩個原則:一般性和特殊性原則。本章闡述了這兩個原則間的互相制約,並提出了一個基於最小描述長度的無監督模型來產生高質量動詞模板。

  • 本章進行了多樣的實驗。其結果證實了模型和演算法的有效性。

第 3 節 問題模型

本節形式化定義從動詞短語中提取動詞模板的問題。此模板提取過程中要計算兩個值:(1)每個動詞短語的動詞模板分配;(2)每個動詞的動詞模板分佈。接下來,本文將首先給一些基本的定義。接著提出了一種基於最小描述長度的問題模型,並證明了該模型的合理性。請注意,不同動詞的模板是獨立的,在問題和演算法描述中可以單獨考慮每一個動詞。因此在以下的說明中,將只討論針對某一給定動詞的解法。

3.1. 初步定義

首先給出動詞短語、動詞模板、模板分配的標準定義。

定義 4.4動詞短語) 一個動詞短語 p 在自然語言中是一個動詞及其對應賓語。本文把短語 p 中的賓語表示為 op。

定義 4.5 (動詞模板)。動詞模板是一個或若干個動詞短語的總結。每個動詞短語只有一個動詞模板對應。對應於同一動詞模板的動詞短語,其動詞語義是相似的。本文用 a 表示動詞模板。考慮兩種動詞模板:

  • 俗語模板是“verb $object”的形式。只有動詞短語“verb object”可以對應模板“verb$object”。

  • 念化模板是“verb$concept”形式。動詞短語“verbobject”可以對應於“verb$con- cept”,僅當 object 和 concept 具有 isA 關係。將概念化模板 a 中的概念表示為 ca 。

定義 4.6(模板分配)。模板分配是一個函式 f : P → A,它將任意一個動詞短語對映到其對應動詞模板模板。 f ( p) = a 表示 p 的模板是 a。注意每個模板可以有任意數量的對應的動詞短語。

表 4.1 中展示了一些動詞短語、動詞模板和模板分配的例子。

短語的分佈是已知的(在本章的實驗中,其動詞短語分佈是從 Google Syntactic Ngam 資料庫中抽取的)。所以本文中模板抽取的目標傾在於找到 f 函式。有了 f 函式,就可以很容易的計算模板分佈 P(A):

這裡 P(p) 是給定動詞的短語分佈。注意這裡的第二個等式是成立的,因為當f(p) =a 時,P(a|p) = 1。P(p) 可以直接由 p 的頻率得到,見公式 4.14。

3.2. 模型

這一小節提出了一種基於最小描述長度的模型,它可以精確地建模模板分配中的一般性和特殊性原則。使用最小描述長度的出發點:最小描述長度(minimum descrip- tion length,MDL)[9]是基於資料壓縮程度的資料複雜度描述方法。而在動詞模板分配問題中,一個動詞模板可以被視為一組動詞短語的壓縮。對於概念化的模板,直覺上來說,如果一個模板分配是一個對於動詞短語的簡短描述,那麼這個分配方案就抓住了底層的動詞語義特徵。

給定動詞短語集合,尋找一個模板分配函式 f,使得這些動詞短語的描述長度最短。假設 L( f )表示 f 的描述長度,那麼可以將動詞短語模板分配問題形式化表示為:

問題定義 4.7(模板分配)。給定動詞短語分佈 P(P),找到模板分配 f,使得 L(f) 最小化:

對於每個短語 p,它的編碼方式包含兩部分:左側部分編碼它的對應模板 f(p)(表示為 l(p, f )),右側部分編碼在給定模板時的動詞短語(表示為 r(p, f ))。這樣可以得到:

這裡 L(p) 表示 p 的整體描述長度,包括左側編碼長度和右側編碼長度。l(p, f):模板編碼長度為了編碼p的模板 f(p),需要的編碼長度為:

這裡 P( f ( p)) 可以被公式 4.1 計算得到。

  r(p, f):給定模板的短語編碼長度在得到其模板 f(p) 之後,使用從模板 f(p) 到動詞短語 p 的轉移概率 PT (p|f(p)) 來編碼 p。PT (p|f(p)) 是通過 Probase[103] 計算得來的,並在本文計算中視為先驗概率。因此,對 p 的編碼需要的編碼長度是?logPT (p|f(p))。為 了計算 PT (p|f(p)),考慮兩種情況:

  • 情況一:f (p) 是一個俗語模板。這樣由於俗語模板只有一個對應的動詞短語,有PT (p|f(p))=1。

  • 情況二:f(p) 是一個概念化模板。在這種情況下,只需要編碼給定概念的動詞賓語 op。使用從概念 cf(p) 到實體 op 的轉移概率 PT (op|cf(p))(通過 Probase 得到)。實驗部分會給出關於此概率的更明確的計算方法。

這樣得到:

總長度通過將所有動詞短語的描述長度相加,得到模板分配 f 下的總描述長度 L:

請注意這裡公式引入了超引數 θ 來控制 l(p, f ) 和 r(p, f ) 的相對重要程度。後文將會解釋 θ 是如何具體影響動詞模板在一般性和特殊性中的取捨。

合理性分析接下來,本文會通過證明該模型對於動詞模板的兩個原則(即一般性和特殊性原則)的體現,來說明模型的合理性。為了簡單起見,定義 LL( f ) 和 LR( f ) 分別用來表示對於動詞模板部分的編碼總長度,和給定模板編碼具體動詞短語的編碼長度。具體計算如下:

一般性 通過最小化 LL( f ),模型可以找到具有一般性的模板。假設 A 表示所有在分配 f 下的模板,Pa 表示 a ∈ A 對應的動詞短語集合,即滿足 f(p) = a 的動詞短語集合。根據公式 4.1 和 公式 4.7,有:

所以 LL( f ) 即為動詞模板的熵(entropy)。最小化熵將使得模型選擇並使用較少的動詞模板。這體現了模板的一般性原則。

特殊性 通過最小化 LR( f ),模型可以找到具有特殊性的模板。公式 4.10 的內部實際上是 P(P|a) 和 PT (P|a) 的交叉熵。因此最小化 LR( f ) 會使得模型找到使 P(P|a) 和 PT (P|a) 儘量接近的分佈。這體現了特殊性原則。

3.3. 演算法

本節提出了一種基於模擬退火的演算法來解決問題 4.7,並展示瞭如何利用外部知識來優化俗語模板。本章使用模擬退火演算法來計算最好的動詞模板分配 f 。演算法流程如下。首先選取隨機的分配作為初始值(初始溫度)。然後,演算法生成並評估一個新的分配,如果它是一個更好的分配,用這個分配替換掉之前的分配;否則,演算法以一定的概率接受這個分配(溫度降低)。重複生成以及替換的步驟直到最後的 β 輪結果沒有出現變化(終止條件)。

候選分配生成:顯然,候選分配的生成對於演算法的效用和效率來說非常關鍵。接下來首先介紹一個直接生成候選分配的方法。然後對候選動詞模板作典型性的改進。

直接生成方法:模板分配 f 的最基本的單元是對一個動詞短語的模板分配。直接生成方法會隨機選擇一個動詞短語 p 並將它分配給一個隨機的模板 a。產生一個有效的模板。演算法需要確保(1)a 是一個 p 的俗語模板,或者(2)a 是一個實體概念化模板並且 ca 是 op 的上位詞。然而,因為很難達到最優狀態,這個方法效率很低。對於一個動詞,假設它有 n 個動詞短語並且每一個動詞短語都有平均 k 個候選模板。達到最優狀態的最小輪數平均是 kn,這在大語料庫上是不可接受的。

利用典型性的生成方法:注意到對於每一個確定的動詞片語,一些模板會因為它們更高的典型性而比其他模板更有效。例 4.8 介紹了這種情況。這使演算法傾向於將動詞短語分配給具有更高典型性的動詞模板。

例 4.8. 對於 eat breakfast,eat lunch。eat $Cmeal 顯然比 eat $Cactivity 更好。因為對於一個真實的人來說,他更容易想到 eat $Cmeal 而不是 eat $Cactivity。換句話說 eat $Cmeal 相比 eat $Cactivity 具有更高的典型性。

更形式化的,對於一個確定的動詞短語 p,定義 t(p,a) 衡量模板 a 相對於動詞短語 p 的典型性。如果 a 是俗語模板,t(p,a) 被設定成一個常數 γ。如果 a 是實體概念化模板,使用 op 相對於 ca 的典型性定義 t(p,a),這裡 ca 是模板 a 的概念。特別的有:

這裡 PT (op|ca) 和 PT (ca|op) 可以從 Probase [103] 通過式 4.15 推匯出。在這個計算中,公式同時考慮從 ca 到 op 的概率,和從 op 到 ca 的概率,以獲得它們相互之間的影響。

3.3.1. 流程

現在將介紹解決方案的詳細流程:

  1. 通過將每一個 p 分配給它的俗語模板來初始化 f(0)。

2. 隨機選擇新的動詞模板 a。對於每一個動詞短語 p,

這裡 f (i) 是第 i 輪產生的分配。

3. 以如下概率接受 f(i+1):

這裡 L(f(i+1)) 是 f(i+1) 的描述長度,S 是 SA 演算法進行的輪數,A 是控制冷卻速度的常數。

4. 重複步驟 2 和步驟 3,直到最後 β 輪結果不發生變化。

步驟 2 和步驟 3 使演算法不同於一般的基於 SA 的解決方法。在步驟 2 中,對於每一 個隨機選擇的動詞模板 a,演算法計算它的典型性。如果它的典型性大於當前分配的動詞模板,則將這個動詞短語分配給動詞模板 a。在步驟 3 中,當一個新的分配的描述長度比上一輪的分配更小時,演算法接受這個新的分配。否則,演算法以 (L( f (i)) ?L( f (i+1)))/SA 的概率接受原有的分配。它的合理性是顯然的:L( f (i+1)) 相對於 L( f (i)) 的偏離越大,f (i+1) 被接受的概率越小。

複雜性分析假設有 n 動詞短語。在每一輪迴圈中,演算法隨機選擇一個動詞模板,然後計算它對於所有 n 個動詞短語的典型性,這需要 O(n) 的時間來實現。然後,演算法通過加和所有 n 個動詞短語的編碼長度來計算 f (i+1) 的描述長度。這個步驟同樣需要 O(n) 時間。假設演算法在 S 輪後終止,則整體的複雜度將是 O(Sn)。

利用俗語的先驗知識 可以從外部詞典中直接找到許多動詞的俗語。如果在字典中,一個動詞短語被認定為俗語,它應該被直接分配到俗語模板。特別的,本章工作中首先從線上字典中爬取了 2868 個動詞短語。然後在步驟 2 中,當 p 是其中一個俗語短語時,將它排除在分配更新的過程之外。

第 4 節 實驗

4.1. 設定

動詞短語資料模板分配會使用動詞短語的分佈 P(p)。為了計算 P(p),實驗使用在 Google Syntactic N-Grams 的“English All”資料集。該資料集包含從 Google Books 英文語料庫中提取的統計句法 ngrams 的資訊。它包含 22,230 個不同的動詞,和 147,056 個動詞短語。對於一個固定的動詞,計算動詞短語 p 的概率為:

這裡 n(p) 時 p 在語料庫中的出現的次數,分母部分是對於所有動詞短語的次數加和。

IsA 關係本章使用 Probase 來計算給定概念的情況下實體出現的概率 PT (e|c),同時

也計算給定實體概念出現的概率 PT (c|e):

這裡 n(e, c) 是 c 和 e 同時出現在 Probase 的頻數。

  測試資料實驗使用兩個資料集來驗證方法在長文字和短文字上上的有效性。短文字資料集包含來自於 Twitter [38] 的 160 萬個 tweets 資料。長文字資料集包含來自於 Reuters [5] 的 21,578 個新聞文章。

4.2. 動詞模板的統計資訊

現在簡要介紹本文提取的動詞模板。對於所有的 22,230 個動詞,實驗列舉最頻繁的 100 個動詞的統計資訊。在過濾掉出現次數 n(p) < 5 的噪聲動詞短語後,每一個動詞平均有 171 個不同的動詞短語和 97.2 個不同的動詞模板。53% 的動詞短語有實體概念化模板。47% 的動詞短語有俗語模板。表格 4.2 列舉了 5 個有代表性的動詞與它們出現最頻繁的模板。這個案例分析表明(1)有關動詞模板的定義反映了動詞的一詞多義性;(2)大多數演算法得到的動詞模板是有意義的。

4.3. 有效性

為了評估動詞模板的效果,實驗使用了兩個評測指標:(1)coverage,表示方法可以找到多少對應於自然語言中的動詞短語的模板;(2)precision,表示有多少動詞短語和它對應的模板正確匹配。實驗通過以下的公式來計算這兩個指標:

這裡 n cover 是在測試資料中找到的對應有模板的動詞短語的數量,n all 是動詞短語的總數,n correct 是對應的動詞模板正確的動詞短語的數量。為了評估 precision,實驗從測試資料中隨機選擇了 100 個動詞短語並讓志願者去標註被分配模板的正確性。當一個模板太過具體或者太過一般,實驗認為它是一個不正確的動詞短語-模板匹配(見圖 4.1 中的例子)。為了比較演算法好壞,實驗同樣列出了模板總結的兩種基準方法的結果。

表 4.2:一些提取的動詞模板。在括號中的數字是動詞短語在 Google Syntactic N-Gram 資料中出現的頻數。 #phrase 表示這個動詞的不同動詞短語的個數。

  • Idiomatic Baseline (IB) 每一個動詞短語是一個俗語。

  • Conceptualized Baseline (CB) 對於每一個動詞短語,它被分配給一個實體概念化模板。對於賓語 op,基準演算法選擇最高出現概率的概念,即 argmaxc P(c|op),來構建這個模板。

在 Tweets 和 News 資料集上,動詞模板分別覆蓋了 64.3% 和 70% 的動詞短語。考慮到在 Google N-Gram 資料中的拼寫錯誤以及解析錯誤,這樣的覆蓋率是可以接受的。圖 4.2 展示了本章方法以及基準方法提取的動詞模板(VP)的查準率。結果顯示本章方法相比於基準方法在精確度方面有很大的提升。結果同時顯示了對於動詞的語義理解來說實體概念化模板與俗語模板都是必要的。

第 5 節 應用:基於上下文的實體概念化

如同在引言中所提及的,動詞模板可以用來優化基於上下文的實體概念化任務(通過考慮實體的上下文來提取一個實體的概念)。本節將動詞模板與主流的基於實體的方法 [87] 相結合來優化這一問題。

圖 4.2: 準確率

基於實體的方法此方法利用在上下文中出現過的實體來概念化一個實體 e。令 E 是上下文中的所有實體的集合。定義在給定上下文 E 下 c 是實體 e 的概念的概率為 P(c|e,E)。通過假設所有的實體在給定概念下是獨立的,可以得到以下公式來計算 P(c|e, E ):

本節的方法 本節在上下文中增加了動詞作為附加資訊來實體概念化 e。當 e 是一個動詞的物件的時候,利用動詞模板可以推匯出 P(c|v),即在給定動詞 v 的動詞短語下觀察到有關概念 c 的實體概念化模板的概率。因此,在給定上下文 E 和實體 e 還有動詞 v 的情況下,概念 c 出現的概率是 P(c|e,v,E)。類似於等式 4.17,P(c|e,v,E) 可以通過以下公式來計算:

注意到如果 v + e 在 Google Syntactic N-Grams 資料中被觀察到,這意味著演算法已經學習到了這個模板,可以使用這些模板來進行實體概念化。也就是說,如果 v + e 被對映到了一個實體概念化模板,則使用模板的概念作為實體概念化的結果。如果 v + e 是一個俗語模板,則停止實體概念化。

設定與結果對於在實驗部分使用的兩個資料集,本實驗同時利用上述兩個方法來概念化在動詞短語中的賓語。然後,選擇概率最大的概念作為物件的概念標籤。本實驗隨機選取了兩種方法所對應標籤不同的 100 個短語。對於每一個不同,使用人工標註其結果是否好於(better)等於(equal)或差於(worse)不適用動詞模板的方法的結果。結果顯示在圖片 4.3 中。在這兩個資料集上,利用了動詞模板後,精確度都顯著的被提高了。這表明了動詞模板對於語義理解任務是有意義的。

圖 4.3:實體概念化結果

第 6 節 小結

動詞的語義對於文字理解來說非常的重要。本章提出了動詞模板,用來區分動詞的不同語義。論文建立了基於最小描述長度的模型,來平衡動詞模板的一般性與特殊性。同時本章提出了一個基於模擬退火的演算法來獲得動詞模板。演算法使用了模板的典型性來使候選模板產生的過程收斂速度加快。實驗驗證了模板的高精確度與覆蓋率。本章還展示了動詞模板在基於上下文的實體概念化中的成功應用。

  

  PaperWeekly 將對本論文進行獨家連載

  敬請期待後續精彩內容……

  

  關於PaperWeekly

PaperWeekly 是一個分享知識和交流學問的學術組織,關注的領域是 NLP 的各個方向。如果你也經常讀 paper,喜歡分享知識,喜歡和大家一起討論和學習的話,請速速來加入我們吧。

            這裡寫圖片描述 你好! 這是你第一次使用 **Markdown編輯器** 所展示的歡迎頁。如果你想學習如何使用Markdown編輯器, 可以仔細閱讀這篇文章,瞭解一下Markdown的基本語法知識。

新的改變

我們對Markdown編輯器進行了一些功能拓展與語法支援,除了標準的Markdown編輯器功能,我們增加了如下幾點新功能,幫助你用它寫部落格:

  1. 全新的介面設計 ,將會帶來全新的寫作體驗;
  2. 在創作中心設定你喜愛的程式碼高亮樣式,Markdown 將程式碼片顯示選擇的高亮樣式 進行展示;
  3. 增加了 圖片拖拽 功能,你可以將本地的圖片直接拖拽到編輯區域直接展示;
  4. 全新的 KaTeX數學公式 語法;
  5. 增加了支援甘特圖的mermaid語法1 功能;
  6. 增加了 多螢幕編輯 Markdown文章功能;
  7. 增加了 焦點寫作模式、預覽模式、簡潔寫作模式、左右區域同步滾輪設定 等功能,功能按鈕位於編輯區域與預覽區域中間;
  8. 增加了 檢查列表 功能。

功能快捷鍵

撤銷:Ctrl/Command + Z 重做:Ctrl/Command + Y 加粗:Ctrl/Command + B 斜體:Ctrl/Command + I 標題:Ctrl/Command + Shift + H 無序列表:Ctrl/Command + Shift + U 有序列表:Ctrl/Command + Shift + O 檢查列表:Ctrl/Command + Shift + C 插入程式碼:Ctrl/Command + Shift + K 插入連結:Ctrl/Command + Shift + L 插入圖片:Ctrl/Command + Shift + G

合理的建立標題,有助於目錄的生成

直接輸入1次#,並按下space後,將生成1級標題。 輸入2次#,並按下space後,將生成2級標題。 以此類推,我們支援6級標題。有助於使用TOC語法後生成一個完美的目錄。

如何改變文字的樣式

強調文字 強調文字

加粗文字 加粗文字

標記文字

刪除文字

引用文字

H2O is是液體。

210 運算結果是 1024.

插入連結與圖片

連結: link.

圖片: Alt

帶尺寸的圖片: Alt

當然,我們為了讓使用者更加便捷,我們增加了圖片拖拽功能。

如何插入一段漂亮的程式碼片

部落格設定頁面,選擇一款你喜歡的程式碼片高亮樣式,下面展示同樣高亮的 程式碼片.

// An highlighted block var foo = 'bar'; 

生成一個適合你的列表

  • 專案
    • 專案
      • 專案
  1. 專案1
  2. 專案2
  3. 專案3
  • 計劃任務
  • 完成任務

建立一個表格

一個簡單的表格是這麼建立的:

專案 Value
電腦 $1600
手機 $12
導管 $1

設定內容居中、居左、居右

使用:---------:居中 使用:----------居左 使用----------:居右

第一列 第二列 第三列
第一列文字居中 第二列文字居右 第三列文字居左

SmartyPants

SmartyPants將ASCII標點字元轉換為“智慧”印刷標點HTML實體。例如:

TYPE ASCII HTML
Single backticks 'Isn't this fun?' ‘Isn’t this fun?’
Quotes "Isn't this fun?" “Isn’t this fun?”
Dashes -- is en-dash, --- is em-dash – is en-dash, — is em-dash

建立一個自定義列表

Markdown
Text-to-HTML conversion tool
Authors
John
Luke

如何建立一個註腳

一個具有註腳的文字。2

註釋也是必不可少的

Markdown將文字轉換為 HTML

KaTeX數學公式

您可以使用渲染LaTeX數學表示式 KaTeX:

Gamma公式展示 Γ(n)=(n1)!nN\Gamma(n) = (n-1)!\quad\forall n\in\mathbb N 是通過尤拉積分

Γ(z)=0tz1etdt&ThinSpace;. \Gamma(z) = \int_0^\infty t^{z-1}e^{-t}dt\,.

你可以找到更多關於的資訊 LaTeX 數學表示式here.

新的甘特圖功能,豐富你的文章

gantt
        dateFormat  YYYY-MM-DD
        title Adding GANTT diagram functionality to mermaid
        section 現有任務
        已完成               :done,    des1, 2014-01-06,2014-01-08
        進行中               :active,  des2, 2014-01-09, 3d
        計劃一               :         des3, after des2, 5d
        計劃二               :         des4, after des3, 5d
  • 關於 甘特圖 語法,參考 這兒,

UML 圖表

可以使用UML圖表進行渲染。 Mermaid. 例如下面產生的一個序列圖::

張三李四王五你好!李四, 最近怎麼樣?你最近怎麼樣,王五?我很好,謝謝!我很好,謝謝!李四想了很長時間,文字太長了不適合放在一行.打量著王五...很好... 王五, 你怎麼樣?張三李四王五

這將產生一個流程圖。:

連結長方形