“問答系統”(question answering,簡稱QA)討論如何從大規模真實的聯機文本中對于指定的提問找出正確回答的方法和技術,這是自然語言理解的一個新的發展趨向。
在20世紀初年,計算機還沒有出現的時候,圖靈(A. Turing)就天才地預見到,檢驗計算機智能高低的最好辦法是讓計算機來講英語和理解英語,他提出了著名的“圖靈實驗”來檢驗計算機智能的高低。近年來迅速發展著的自動問答系統研究是圖靈實驗的生動實踐,反映了自然語言處理技術的長足進步。
在自動問答系統中,計算機要對于用戶的提問給出一套數量不多的準確回答,在技術上,它更接近于信息檢索(information retrieval),而與傳統的文獻檢索(document retrieval)有較大的區別。
與信息抽?。╥nformation extraction)相比,自動問答系統要回答的提問可以是任何的提問,而信息抽取只需要抽取事先已經定義好的事件和實體。在開放領域的自動問答系統中,使用有限狀態技術和領域知識,把基于知識的提問處理、新的文本標引形式以及依賴于經驗方法的答案抽取技術結合起來,這樣,就把信息抽取技術大大地向前推進了一步。
自動問答系統給某個提問提供簡單而精確回答,與信息檢索任務和與信息提取任務極為不同。目前的信息檢索系統能讓盈彩网對與提問切題的相關文獻進行定位,把從文本的等級列表中抽取答案的任務留給用戶。在信息檢索中,相關文本的識別是使用將提問與文獻集匹配的方法來實現的,信息檢索系統并不負責回答用戶的問題。信息抽取與信息檢索不同,信息抽取系統抽取的東西是用戶感興趣的信息,抽取的條件是信息已經存在于預先規定的被稱為模板的目標表現形式中。從總體上,信息抽取系統在一個與提取任務相關的文獻集合上操作。信息抽取系統在完成抽取的任務時,可以成功地組拼模板。
盡管在信息檢索系統的輸出和信息抽取系統的輸入之間有重合現象,但是把信息檢索技術和信息抽取技術簡單地組合起來,直接應用到開放領域的自動問答系統中是行不通的。其原因在于:
第一,這種解決辦法需要建立適用于所有可能領域的信息抽取規則;
第二,這種解決辦法會把可能問及的問題的類型僅僅局限在信息抽取模板信息的形式范圍之內。
不過,自動問答系統可以使用信息檢索的方法來識別那些可能把包含問題的答案的文獻,同時使用信息抽取技術來進行命名實體的辨識。
不管怎么說,成功的自動問答系統要對復雜的自然語言處理技術進行編碼,捕獲提問的語義,并對提問和候選答案進行詞匯語義的合成。由于自動問答系統集中地使用了大量的句法、語義和語用的處理方法,因此,對自動問答系統技術的關注勢必促進自然語言處理技術的發展,將自然語言理解推到研究與系統開發的前沿。
自動問答系統技術一定會在今后的數年內在信息技術中發揮重要的作用。自動問答系統的用戶可能是隨意的提問者,他們只是問一問簡單的具體問題;也可能是尋找具體產品特性和價格的顧客;也可能是正在收集市場、財經或商業信息的調研分析人員;還可能是查詢非常具體、需要大量專門技術的信息的專業信息分析人員。所以,對回答提問的需求是很廣泛的,正是由于自動問答系統有廣泛的用戶群,它的研究具有廣闊的應用前景。
根據處理提問與答案的形式,自動問答系統可以大致分為定型的自動問答系統和開放領域的自動問答系統兩種。
在定型的自動問答系統中,系統需要回答的問題或者是關于特定事實的,或者是具有專業性的。定型的自動問答系統對一個新提問首先進行最佳匹配,匹配對象是已知答案的預置問題一個集合。若有合適匹配,就提供正確答案。定型的自動問答系統的客戶群眾多,客戶們迫切希望依靠定型的自動問答系統,對自己特定的問題找出正確的答案。定型的自動問答系統在受限領域內表現較好,因為在這些領域中,比較容易預測問題的答案。
定型的自動問答系統中的問題大致可以分為兩類:一類是關于具體事實的問題,一類是專業問題。
下面是關于具體事實的問題的例子:
-- Who was the first American in space?
(第一個進入太空的美國人是誰?)
-- Where is capital airport?
(首都機場在哪里?)
-- When did the Neanderthal man live?
(尼安德特人生活在什么時候?)
系統只要查詢到有關的事實,就可以輕而易舉地回答這一類的問題。
下面是關于專業問題的例子:
-- What will the US response be if Iran closes the Strait of Hormuz?
(如果伊朗關閉霍爾木茲海峽,美國將如何回應?)
-- What effects on the price of oil on the international market are likely to result from the terrorist attacks on Saudi facilities?
(恐怖分子襲擊沙特阿拉伯的設施,對于國際市場上的油價會產生什么影響?)
回答這一類的問題,需要根據專業知識來進行推理,需要從各種專業文獻中收集證據碎片,然后將這些證據碎片合并,才能形成最后的答案。
開放領域的自動問答系統要對來自任何領域的提問都能夠提供答案,為了達到這個目的,需要運用句法、語義、語用等自然語言處理手段,從大量聯機文獻集合中搜尋并發現對于提問的答案。設計這種開放領域的自動問答系統的難點在于系統需要處理的提問的寬泛性。提問可能是問具體的信息的,例如,在文本檢索會議(TREC)評估時所提的問題;提問也有可能問及復雜事件、事實或情況。
鑒于開放領域的自動問答系統具有提問的寬泛性,僅對提問類型分類是不夠的,因為對同一問題,由于所查詢文獻的情況不同,或者由于文本中有關答案的遣詞造句的方法不同,答案的提取有難有易。因此,盈彩网不對問題處理技術或答案提取技術進行分類,而是對整個自動問答系統進行分類,把開放領域的自動問答系統進一步細分為如下5類:
第一類:能夠處理事實問題的自動問答系統。這類系統從一個或幾個文獻的集合中抽取文本片段作為回答。在通常的情況下,系統只需要逐字逐句地進行搜索,在文獻中直接找出問題的答案。
例如:
問: Who is the author of the book ‘The Iron Lady: A Biography of Margaret Thatcher’ ?
(誰是《鐵娘子:撒切爾夫人傳》的作者?)
答: THE IRON LADY: A Biography of Margaret Thatcher by Hugo Young.
(《鐵娘子:撒切爾夫人傳》的作者是雨果.楊。)
第二類:具有簡單推理機制的自動問答系統。這類系統需要在不同的文本片段中找出答案,并且用簡單的推理形式,找出問題與這些答案之間的關系,從而把它們關聯起來。在這種形式下,答案的發現需要使用更加精細的本體概念知識或者更加精細的語用知識,而答案的抽取則需要在這些知識的基礎上進行推理。由于簡單釋義的不足,這樣的推理通常必須使用世界知識和普通的常識。例如,在下面的問答中,就使用了“喝有毒飲品是死亡的一個原因”這樣的假設。
問: How did Socrates die?
(蘇格拉底是怎么死的?)
答: Similarly, it was to refute the principle of retaliation that Socrates, who was sentenced to death for impiety and the corruption of the city’s youth, close to drink the poisonous hemlock, the state’s method of inflicting death, rather than accepting the escape from prison that his friends had prepared.
(類似地,這駁斥了那種報復的原則,認為蘇格拉底被判處死刑是由于他的不敬行為以及他腐蝕城市的青年,他喝了毒芹,這是國家執行死刑的一種方式,而不是他接受了他的朋友們策劃的越獄計劃)
在詞網(WordNet1.6)中,名詞poison(毒)的第一個意思解釋為any substance that causes injury or illness or death of a living organism(“能對生物體造成傷害、疾病或死亡的任何物質”),根據這樣的因果鏈進行推理,就為poisonous hemlock(毒芹)可能是蘇格拉底死亡的原因提供了證據。
第三類:能夠從不同文獻中融合出答案的自動問答系統。這種系統的特征是,它們能夠提取散落在不同的若干個文獻中的局部的信息,然后形成一個融合的答案。這樣的回答格式決定著這些自動問答系統的多層復雜性。
例如:
問: Name three countries that banned beef imports from Britain in the 1990?
(列舉出1990年禁止從英國進口牛肉的3個國家的名字?)
答: [France, West Germany, Luxembourg, Belgium]
([法國,西德,盧森堡,比利時])
這種融合的開放領域自動問答系統需要具有更高級的語義處理能力和名稱別名的識別能力。例如,在不同的若干個文獻中,可能會使用Britain和UK等不同的名稱來稱呼“英國”,系統要能夠識別出Britain和UK是同一個國家,才有可能在若干個不同的文獻中進行知識的融合,把Britain和UK融合在一起。
第四類:可以進行類比推理的自動問答系統。這類自動問答系統的特征是,它們具有類比推理的能力。在這種自動問答系統中,問題的答案不會在任何文獻中明確表述出來,而是需要將不同的答案進行類比推理,預測它們之間的相似點和不同點。在類比推理時,系統需要將問題分解成提取證據碎片的若干個小問題,然后使用類比的方式進行推理來構造對于問題的答案。
例如:
問:Is the Fed going to raise interests at their next meeting?
(Fed打算在他們的下一次會議上提高利息嗎?)
問:Is the US out of recession?
(美國擺脫了經濟蕭條嗎?)
問: Is the airline industry trouble?
(航空工業出現了什么麻煩?)
要回答上述的問題需要從各種文本中提取證據的碎片,然后進行類比推理,構造出問題的答案。
第五類:交互式自動問答系統。這類自動問答系統的特征是能夠在前期與用戶互動形成的語境的基礎上提問題,而不是孤立地提問,人與計算機之間可以交互。
例如:
語境中的提問1: Which museum in Florence was damaged by a major bomb?
(佛羅倫薩的哪一個博物館被炸彈破壞了?)
答: On June20, the Uffizi gallery reopened it doors after the 1993 bombing.
(1993年爆炸之后,在6月20日,烏菲齊美術館又重新開門了。)
語境中的提問2: On what day did is happen?
(爆炸是在那一天發生的?)
答: (Thursday) (May 27 1993)
(星期四)(1993年5月27日)
語境中的提問3: Which galleries were involved?
(包括哪一些畫廊呢?)
答: One of the two main wings.
(兩個主要側面畫廊當中的一個)
語境中的提問4: How many people were killed?
(死了多少人呢?)
答: Five people were killed in the explosion.
(在爆炸中死了5個人。)
在回答這些問題的時候,計算機需要在前面已經回答的問題的基礎上,檢查提問前后的語境,才有可能做出回答。
QuestionAnsweringSystem是一個Java實現的人機問答系統,能夠自動分析問題并給出候選答案。
本文轉載自:http://dwz.cn/M0TRY