與人或大部分其他問答系統(tǒng)相似,Watson在處理問題的第一步是對問題進(jìn)行仔細(xì)地分析,以了解提問者的意圖,并找到正確的方式去解決它。這也是非常關(guān)鍵的一步,后面的很多分析與計(jì)算都以此為基礎(chǔ),這里主要用到了Watson的語法解析與語義分析能力,包括:深層的語法解析、實(shí)體識別、指代消解、關(guān)系抽取模塊。利用大量的規(guī)則與在此基礎(chǔ)上訓(xùn)練的分類器,去檢測問題中以下幾個(gè)關(guān)鍵元素:
1)問題焦點(diǎn)(focus):問題中指代答案的部分;
2)答案的詞匯類型(lexical answer types):問題中指示被問到實(shí)體的類型的關(guān)鍵詞;
3)問題所屬的寬泛類型;
4)問題中需要特殊處理的部分。
下面會對這些元素逐一舉例介紹。
關(guān)鍵元素
焦點(diǎn)(focus)
問題中指代答案的部分,一般為代詞,如下列問題:POETS & POETRY: He was a bank clerk in the Yukon before he published "Songs of a Sourdough" in 1907.
中的He。這樣的詞在答案中可能有好幾個(gè),但找到一個(gè)就夠了,其它的可通過指代消解的方式得到。找到”focus“以后,可以通過與包含答案的文章段落進(jìn)行對齊,從而找到答案。
答案的詞匯類型(lexical answer types)
LAT指的是問題所問的是什么類型的實(shí)體,一般focus的中心詞即為LAT,如上例中的”he“與”clerk“,很多問題還提供了額外信息作為LAT,如上面問題的“poet”。(Jeopardy! 比賽中都給出了問題的種類)。得到LAT后可以用來檢驗(yàn)算法給出的候選答案的類型是否正確。這樣不僅利用了問句本身的信息,還利用了比賽中關(guān)于問題種類的信息。
先預(yù)定義若干種問題,每種問題有不同的解決方法或處理流程。對問題進(jìn)行分類,判斷它屬于某一種或幾種類型,再調(diào)用相應(yīng)的處理流程。上面的問題屬于比較常見的仿真陳述(Factoid)問題。
問題片段(QSections)
問題中需要特殊處理的片段。QSections的一個(gè)典型應(yīng)用是識別問題中關(guān)于答案的各種不同的約束(如答案是3個(gè)字,是地名),然后將問題分解為若干個(gè)字問題進(jìn)行解答。
問題的基本分析
句法解析與語義分析
Watson的句法解析與語義分析模塊主要包含部分:包含謂詞論元結(jié)構(gòu)構(gòu)(PAS)造器的槽語法解析模塊ESG、命名實(shí)體識別模塊、指代消解模塊、關(guān)系抽取模塊。
ESG模塊是用來將問句解析為一個(gè)包含句子表層結(jié)構(gòu)與深層邏輯結(jié)構(gòu)的樹。每個(gè)節(jié)點(diǎn)上附有:1)一個(gè)詞項(xiàng)(由一個(gè)或若干個(gè)單詞組成)和與之對應(yīng)的包涵邏輯參數(shù)的謂詞;2)特征列表,部分是關(guān)于句法形態(tài)的,部分是語義相關(guān)的;3)該節(jié)點(diǎn)的左右修飾語以及修飾語所填充的槽。1)中的謂詞與邏輯參數(shù)正是句子的深層結(jié)構(gòu)之所在,邏輯參數(shù)為樹中其它節(jié)點(diǎn),可能再句子上離當(dāng)前節(jié)點(diǎn)比較遠(yuǎn)
在上面的例子中可以識別出謂詞邏輯publish(e1, he, ‘‘Songs of a Sourdough’’) 與 in(e2, e1, 1907),后者說明了前者也就是這個(gè)pubilish事件發(fā)生在1907年。并且還可以抽取出authorOf(focus, ‘‘Songs of a Sourdough’’) 與 temporalLink(publish(. . .), 1907這樣的三元組關(guān)系。
針對Jeopardy!問題所做調(diào)整
1)Jeopardy!問題的單詞全都是大寫,對人來說沒什么,然而單對用計(jì)算機(jī)進(jìn)行語法分析來說,大小寫是非常重要的信息,所以先用一個(gè)在其它數(shù)據(jù)集上訓(xùn)練的分類器來對單詞的大小寫進(jìn)行預(yù)測與改寫。
2)Jeopardy!問題的語言習(xí)慣與日常領(lǐng)域有著較大差異,例如日常問句一般以“Wh-”開頭,但在Jeopardy!中卻喜歡用this/these、he/she、it等。此外Jeopardy!中名詞短語出現(xiàn)的頻次非常高。因此在解析Jeopardy!的問句時(shí)需要調(diào)整解析模型的參數(shù),如增加名詞短語的先驗(yàn)或轉(zhuǎn)移概率。
3)問題的focus往往是個(gè)代詞,所以在進(jìn)行分析時(shí)先識別出focus再將focus排除在外進(jìn)行指代消解。
關(guān)系抽取做的調(diào)整
為了應(yīng)對Jeopardy!特殊的語言風(fēng)格,對原本用于普通文本的關(guān)系抽取模塊做了調(diào)整。這樣一方面能檢測出在Jeopardy!的問題中經(jīng)常出現(xiàn)的對后面的處理特別有用的一些關(guān)系,如focus的別名、時(shí)間關(guān)系、地理位置關(guān)系等,具體例子如下表。
另一方面,用來匹配這些關(guān)系等模式,也已可以用來識別出問句的一些特定特征,這些特征可以用于訓(xùn)練問題的分類器或其他處理。那么這些規(guī)則時(shí)如何實(shí)現(xiàn)的呢?下面將開始介紹。
規(guī)則的Prolog實(shí)現(xiàn)
Watson的問題分析流程是通過由一系列組件組成的UIMA Pipeline實(shí)現(xiàn)的,而大部分的分析流程都是一些基于句子的PAS結(jié)構(gòu)與一些外部數(shù)據(jù)庫(如WordNet)的規(guī)則實(shí)現(xiàn)的。這就需要一門語言,一方面能夠基于句法解析的結(jié)果很方便的實(shí)現(xiàn)這些規(guī)則,另一方面又能很容易地集成到UIMA框架中,Prolog作為一種邏輯式編程語言,是一個(gè)很好的選擇。它可以很方面地將UIMA中的CAS數(shù)據(jù)結(jié)構(gòu)轉(zhuǎn)換成fact對象。
例如對于以下是基于句法與語義分析的結(jié)果轉(zhuǎn)換成的fact:
lemma(1, ‘‘he’’)partOfSpeech(1,pronoun)lemma(2, ‘‘publish’’)partOfSpeech(2,verb)lemma(3,‘‘Songs of a Sourdough’’)partOfSpeech(3,noun)subject(2,1)object(2,3)
其中括號里面的數(shù)字是PAS節(jié)點(diǎn)的唯一標(biāo)識。有了這些fact,Prolog系統(tǒng)可以利用一些規(guī)則去識別問題的focus、LAT與其他關(guān)系(relation)。例如將如下規(guī)則:
authorOf(Author, Composition) :- createVerb(Verb), subject(Verb, Author), author(Author), object(Verb, Composition), composition(Composition).-
createVerb(Verb) :- partOfSpeech(Verb, verb), lemma(Verb, VerbLemma), [‘‘write’’, ‘‘publish’’, . . .].
應(yīng)用到各個(gè)節(jié)點(diǎn)上,可以識別出關(guān)系authorOf(1,3)。使用Prolog無論在系統(tǒng)運(yùn)行速度還是規(guī)則的可擴(kuò)展性上表現(xiàn)都是非常優(yōu)秀的。在關(guān)系抽取、focus檢測、LAT檢測、問題分類與Qsection檢測等任務(wù)上都有各自的規(guī)則集,這些規(guī)則使用了超過6000條的Prolog語句,整個(gè)問題分析的UIMA Pipeline如下。
focus與LAT檢測
基本方法
匹配focus的基本規(guī)則按照優(yōu)先級排序如下所示,其中斜體詞表示focus,黑體詞表示中心詞:
1)帶有限定詞“this”或“these”的名詞短語: THEATRE: A new play based onthisSir Arthur Conan Doyle canineclassicopened on the London stage in 2007.
2)“This”或“these”本身作為名詞短語: In April 1988, Northwest became the first U.S. air carrier to banthison all domestic flights.
3)當(dāng)整個(gè)問句是一個(gè)名詞短語時(shí),將整個(gè)問句都標(biāo)記為focus:AMERICAN LIT:Numberof poems Emily Dickinson gave permission to publish during her lifetime.
4)代詞“he/she/his/her/him/hers”中的一個(gè):OUT WEST:Shejoined Buffalo Bill Cody’s Wild West Show after meeting him at the Cotton Expo in New Orleans.
5)代詞“it/they/them/its/their”中的一個(gè):ME "FIRST"!:Itforbids Congress from interfering with a citizen’s freedom of religion, speech, assembly, or petition.
6)代詞“one”:12-LETTER WORDS: Leavenworth, established in 1895, is a federalone.
當(dāng)這些規(guī)則都不滿足時(shí),問題可能就沒有focus。這種規(guī)則對句法解析有很高的要求,例如解析器需要能夠準(zhǔn)確的將限定詞與中心詞關(guān)聯(lián)起來(兩者并不是都是毗鄰的),并且能準(zhǔn)確地區(qū)分名詞短語與動詞短語也很重要,所以特地對ESG解析模塊進(jìn)行了調(diào)整。
檢測LAT的方法一般是采用focus的中心詞,并加上下面幾條例外:
1)如果focus是一個(gè)組合, 采用這個(gè)組合部分: HENRY VIII: Henry destroyed the Canterbury Cathedral Tomb ofthissaintandchancellorof Henry II.
2)如果存在“ of X”這種模式,并且是“one/name/type/kind”中的任何一個(gè),那么采用X作為LAT:HERE, PIGGY, PIGGY, PIGGY: Many a mom has compared her kid’s messy room tothis kind of hogenclosure.
3)如果存在“ for X”這種模式,且是“name/word/term”中的任何一個(gè),那么采用X作為LAT:COMPANY NAME ORIGINS: James Church chosethis name for hisproductbecause the symbols of the god Vulcan represented power.
4)如果沒有檢測到focus,且category是一個(gè)名詞短語,那么采用category的中心詞作為LAT:HEAVY METALBANDS: "Seek & Destroy", "Nothing Else Matters", "Enter Sandman".
提升方法
上面介紹的基本方法已經(jīng)可以取得相對中肯的精度,但錯(cuò)誤也是并不少見,經(jīng)常會漏過一些有用的LAT。下面就是一些基本方法失敗的案例來講述提升方法或補(bǔ)充方法:
1) PAIRS: An April 1997 auction of Clyde Barrow’s belongings raised money to fund moving his grave next tohers.
2) FATHER TIME (400): On Dec. 13, 1961, Father Time caught up withthis 101-year-old artistwith a relative inhernickname.
3) CRIME: Cutpurse is an old-time word for this typeof crowd-workingcriminal.
4) THE FUNNIES: “Marmaduke’’ isthis breed ofdog.
5) ISLAND HOPPING: Although most Indonesians are Muslims,thisis the predominantreligionon Bali.
6) I FORGET: Mythicalriversof Hades include the Styx andthis onefrom which the dead drank to forget their lives.
7) FAMOUS AMERICANS: Although he made no campaign speeches,hewas electedpresidentin 1868 by a wide electoral margin.
例1)中第一個(gè)代詞his并非focus,因?yàn)樗复鷮?shí)體“Clyde Barrow”,所以在應(yīng)用基本方法找到多個(gè)代詞作為候選focus時(shí),應(yīng)該選擇不指代任何實(shí)體的代詞。找到focus后可以利用前指代消解模塊幫我們找到指示答案性別的LAT。
例3)與4)中focus表達(dá)了一種子類關(guān)系,我們將這個(gè)子類從介詞短語中剝離出來作為LAT。
在檢測LAT時(shí),還有一個(gè)困難是決定LAT是一個(gè)還是多個(gè)詞。大部分情況下我們認(rèn)為LAT是一個(gè)詞,但在“this vice president”這種情形如果采用“president”作為LAT是錯(cuò)誤的。因此,如果多個(gè)單詞(修飾詞+中心詞)不是其中心詞的一個(gè)子類型或者修飾語改變了中心詞的意思并且這種意思并不常見,這時(shí)采用多個(gè)詞作為LAT。
從問題的category中獲取LAT
通過觀察得知,一般情況下,如果category中的詞滿足以下三個(gè)條件則很可能是一個(gè)LAT:
1)涉及到實(shí)體的類型;
2)這個(gè)實(shí)體的類型與問句中的LAT(如果有的話)一致;
3)這種類型在問題中沒有任何提及(mention)或?qū)嵗?/p>
例如問題:
BRITISHMONARCHS:Shehad extensive hair loss by the age of 31. 的category中的“MONARCHS”(君主)表示實(shí)體的類型,并且與問句中的LAT(she)一致,所以它也是一個(gè)LAT。
估計(jì)LAT的置信度
利用人工標(biāo)注的LAT數(shù)據(jù),基于如下幾種特征來訓(xùn)練一個(gè)邏輯回歸模型來對線上檢測到的LAT進(jìn)行打分,作為其置信度:
1)被激活的focus與LAT規(guī)則;
2)從句法分析與NER的結(jié)果中構(gòu)建的特征;
3)該單詞作為LAT的先驗(yàn)概率。
統(tǒng)計(jì)糾偏
先離線統(tǒng)計(jì)出各種category的問題中category中的各個(gè)詞作為LAT的頻率,并且以這個(gè)頻率作為其置信度(不用上面的邏輯回歸模型進(jìn)行打分)。過濾掉過低置信度的詞,并且根據(jù)前面的規(guī)則是否檢測到LAT分別統(tǒng)計(jì)這兩種情形下的置信度。這樣有可能召回前面規(guī)則漏掉的LAT。
效果評估
用基本方法與采用了這里展示的幾種提升方法的Watson分別在手工標(biāo)注的9128個(gè)問題上的進(jìn)行評估,得到的結(jié)果如下:
可見提升方法還是有顯著效果的,尤其是在召回率(Recall)上。
問題分類與Qsection檢測
Jeopardy! 的問題有很多種類,統(tǒng)一用一種方法來處理效果并不理想,并且問題的部分片段可能有著特殊作用,如果能做針對性的處理對提升準(zhǔn)確性也是有益的。所以對問題進(jìn)行分來并檢測出這些特殊的片段是問題分析中重要的一步。
問題分類
Watson默認(rèn)的回答問題的方式是針對仿真陳述問題(Factoid Question)的,然而有些問題根本無法使用這種方式去回答,還有部分問題雖然不是不能用默認(rèn)的方式去回答,但經(jīng)過分類處理,做針對性的分析也會更好地解答。通過對3500個(gè)Jeopardy!的問題進(jìn)行人工聚類,得到的問題分類與占比如下表所示。
檢測問題類型的方式主要是通過正則表達(dá)式、句法規(guī)則等模式匹配的技術(shù),所以一個(gè)問題可能匹配上多種類型。當(dāng)然這些類型中部分之間存在互斥,所以匹配完成之后,如果匹配上的類型中有互斥的,要去掉互斥對中置信度較低的哪個(gè)類型。
上表所示的問題類型(QClass)中PUZZLE、BOND、FITB (Fill-in-the blank)、BOND與MULTIPLE-CHOICE的表示方式相對固定,所以用正則表達(dá)式去匹配。對于其他的QClass,由于沒有固定的表達(dá)方式,所以通過基于PAS結(jié)構(gòu)的句法規(guī)則去匹配,具體如下:
ETYMOLOGY:包含“From for , ...,”或其它類似模式;
VERB:focus通常是“do”的賓語或者是包含不定式的定義式問題(如“This 7-letter word means to presage or forebode”);
TRANSLATION:包含模式“ is for “或或者問題是只是一個(gè)沒有focus的短語并且其category確定了一門語言。
NUMBER與DATE:如果LAT中包含數(shù)字或日期的實(shí)例;
DEFINITION:關(guān)鍵短語“is the word for”與“Bmeans”以及經(jīng)常出現(xiàn)的category如“CROSSWORD CLUES”;
CATEGORY-RELATION:問句僅僅是一個(gè)實(shí)體或一串實(shí)體(沒有檢測到focus);
ABBREVIATION:并不是包含縮寫的問題都是ABBREVIATION類問題,這里的識別方法與識別LAT類似。先制定一些規(guī)則,包括正則表達(dá)式與句法規(guī)則。然后以這些規(guī)則以及當(dāng)前category是ABBREVIATION類型問題的先驗(yàn)概率作為特征訓(xùn)練一個(gè)邏輯回歸模型來判斷當(dāng)前問題是否是ABBREVIATION類型。如果是再用專門的方法求出全稱,這種方法詳見參考文獻(xiàn)[2],后面也會專門介紹。
檢測Qsection
QSection是指問句(偶爾在category中)中對問題的解釋有著特殊功能的連續(xù)區(qū)域。與問題分類類似,QSection的檢測也是通過正則表達(dá)式與PAS結(jié)構(gòu)上的句法規(guī)則實(shí)現(xiàn)的。其中比較重要的QSection有:
1)LexicalConstraint:對答案的詞匯方面做限制的短語,如”this 4-letter word“ ,這對答案的選擇有重要作用;
2)Abbreviation:被識別為縮寫的詞項(xiàng),并與其可能的全稱進(jìn)行關(guān)聯(lián)。對于QClass為ABBREVIATION的問題,有一個(gè)abbreviation的全稱即為答案,需要被識別出來做更加精準(zhǔn)的分析來確定答案;
3)SubQuestionSpan:當(dāng)原問題可以被分解若干個(gè)片段,每一個(gè)片段可以單獨(dú)對答案產(chǎn)生影響,這些單獨(dú)的片段即為SubQuestionSpan。這種通過對原始問題進(jìn)行分解的求解方式后面會做專門介紹;
4)McAnswer:多選問題中表示答案的選擇的字符串(經(jīng)常3個(gè));
5)FITB:與focus毗鄰的字符串(如focus的補(bǔ)充成分)。
效果評估
基于3500個(gè)人工分類的問題對分類方法進(jìn)行評測,得到的結(jié)果如下表所示:
DEFINITION識別起來比較困難,然而實(shí)際上這種問題直接中默認(rèn)的Factoid方式進(jìn)行回答,問題不是特別大。PUZZLE的召回率較低時(shí)由于其類型的長尾分布,導(dǎo)致規(guī)則覆蓋不夠。
將Watson的問題分類與特殊片段的檢測功能移除與完整狀態(tài)進(jìn)行評測對比如下,可見這種處理能讓W(xué)atson多答對2.9%(有focus與LAT檢測功能)的問題。
結(jié)論
通過上面的評測結(jié)果可知,與只有基本的focus、LAT檢測功能的Basline問題分析流程相比,集成了本文介紹的全部focus檢測、LAT檢測、問題分類與QSection檢測模塊功能的分析流程可以使Watson多答對5.9%的問題。這個(gè)Gap對能否戰(zhàn)勝人類選手是非常重要的。
-
IBM
+關(guān)注
關(guān)注
3文章
1757瀏覽量
74708 -
Watson
+關(guān)注
關(guān)注
0文章
17瀏覽量
9517
原文標(biāo)題:IBM Watson揭秘:問題分析-Watson是如何讀題的
文章出處:【微信號:AItists,微信公眾號:人工智能學(xué)家】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論