蒲 偉,王 恒
(寧夏大學 信息工程學院,寧夏 銀川750000)
語言是人類生活中不可或缺的一種溝通方式,自然語言是一種表達直接且簡單的工具,自然語言處理(Natural Language Processing,NLP)是一種機器語言,可以將人類的交流轉換為機器語言,以便于讓計算機理解人類的想法。伴隨著網絡的發展,自然語言處理在人工智能方面迅速發展,被越來越多的人所熟知和運用。伴隨著網絡的飛速增長,促使網絡信息量不斷增加,人們獲得信息就要更加精確。利用傳統的搜索引擎技術就很難實現這些高要求,而智能問答技術成為解決這個問題的有效手段。早在20世紀60年代人工智能研究剛開始的時候,人們就提出了要讓計算機像人一樣用自然語言來回答人們的問題,實現“人機對話”,這就是問答系統[1]。智能問答就是指將用戶的需求輸入到計算機中利用計算機自動生成答案并輸出,問答系統不像傳統的搜索引擎那樣將問題分解成關鍵字。問答系統在收到用戶的問題后,將問答系統和自然語言處理技術結合起來,對問題進行解析處理,利用算法和模型,將用戶需要的答案直接輸出,不像搜索引擎輸出的是相關的網頁。所以智能問答系統和傳統搜索引擎相比可以更有效地為用戶解決問題。在問答系統中,我們可以根據答案的來源分類,可以分為基于知識庫的問答系統,基于文檔的問答系統和答案選擇,按照應用的領域不同,我們又可以將問答系統分為基于限定領域的問答系統和開放領域的問答系統。限定域問答系統只能解決限定在某些范圍或者某些范圍的問題,常見的酒店預訂、網上訂餐等問答系統都是屬于限定域問答系統。開放域問答系統指的是回復的問題不限定在某些特定范圍。
自然語言處理(Natural Language Processing)是人工智能(AI)的一個子領域。自然語言處理是研究人與人以及人機交互的語言問題的一門學科。其發展分為三個階段:20世紀50年代開始是萌芽期;20世紀60年代是發展期;20世紀90年代是繁榮期。
早期計算機剛剛問世的時候,英國工程師布斯和美國工程師威弗最先提出了利用計算機進行翻譯,但是起初機器翻譯系統的粗糙導致翻譯出來的質量非常低,人們慢慢就對機器翻譯失去了好感,有的人甚至認為機器翻譯是永遠不可能實現的,意味著第一次機器翻譯實驗就失敗了。在20世紀50年代是計算機科學發展的基礎時段,當時提出來的理論都是基于圖靈機的模型。隨著發展在基于圖靈機模型的基礎上提出正則表達式以及有限自動機。在1956年,Chomsky提出了一種關于上下文無關語法的模式,同年在人工智能誕生之后,自然語言處理迅速融入該領域之中。在快速發展期,上下文無關語法的提出使得該領域的研究分為了基于規則的符號派和基于概率的隨機派,促使了未來的很多年人們都在研究這兩種方法到底哪種方法更有效。雖然機器翻譯面臨著各種困難,但是在法國、日本等國家仍然在堅持研究機器翻譯。直到20世紀70年代的時候,機器翻譯的研究者逐漸找到了研究的思路,在機器翻譯的過程中要使原句的語義和機器翻譯出來的語義一致,好的機器翻譯系統就是能夠將原句的語義準確無誤地翻譯出來,從此機器翻譯就出現了復蘇發展的趨勢。至此,機器翻譯中的語義分析就受到了越來越多研究者的重視。繁榮期最突出的是機器翻譯的研究走向實用化,市場上出現了非常多的機器翻譯系統,逐步進入了商業化模式并且運用在多種行業。
視覺問答[1]將圖片中提及的問題用自然語言輸出,想要準確地回答問題,首先需要知道照片所表示的內容以及問題的含義,其次還需要了解圖片和文字之間存在的對應關系。
在視覺問答系統中常見的通過以下兩種方法實現。Kushal[2]基于貝葉斯方法實現了視覺問答系統,該模型通過對問題和圖片特征建模共現統計概率,使用貝葉斯模型對問題、圖片和答案進行推斷,然后計算每個答案的邊緣概率,將概率最高的作為問題的答案。
在基于深度學習的視覺問答系統方法中,有學者[3-4]將注意力機制引入視覺問答系統的研究中。通過注意力機制關注到圖片部分的重要區域,在圖片上產生較大的權重,從而給出更準確的答案。
基于知識圖譜的問答系統已經成為一種訪問大型知識圖譜的流行方式。通過訪問知識圖譜的結構化數據,其可以使用自然語言來準確地回答事實性問題。知識圖譜是一種大規模的語義網絡系統,可以將一些不同類型的信息鏈接在一起,形成知識圖譜的關系網絡結構,可以幫助人們直接找到各個物質之間的關系。目前基于知識圖譜的問答系統已經運用在多種領域,張楚婷[5]研究并實現了基于知識圖譜的旅游問答系統,在旅游高峰期的時候可以幫助游客解決一些問題,不再通過人工咨詢的方式獲取信息。幫助游客在游玩的時候減少一些不必要的時間損耗。基于知識圖譜的問答系統在教育、醫療、汽車、農業、金融、電影等領域都得到了充分的研究和應用,由于知識圖譜的網絡結構,充分體現了良好的推理能力,在公安情報分析以及推理、醫療系統問診以及開藥等系統中都得到了較好的效果。
在基于知識圖譜的問答系統中,在旅游領域,張楚婷[5]運用了基于BiLSTM-CRF的細粒度問答模型用于候選主實體以及實體的選擇,并且在關系抽取中用了注意力機制和CNN抽取之間的關系。在實體識別和關系抽取中的準確率和識別率得到提高。韓馥[6]在張楚婷[5]的基礎上進行改進用BiLSTM-CNN-CRF模型進行實體識別,進一步提高了實體識別的準確率和效率。在屬性鏈接上,在CNN和注意力機制用作關系識別的基礎上,加入了Droppout方法,目的是防止模型訓練過程中擬合數據集。在教育方面,李軒[7]將企業和高校學生之間聯系在一起,企業在招聘的時候需要不同的人才,基于BiLSTM+CNNCRF的實體識別模型,對職位信息數據、技術領域以及個人能力等實體進行抽取,通過序列標注問題,利用Keras Embedding模型進行詞嵌入矩陣,在實體識別后進行實體間的關系抽取,并且搭建一個基于知識圖譜的教育問答系統,可以通過問答系統進行人機交互,學生能在問答系統中提問,了解不同崗位以及不同的領域需求,可以提前規劃自己的方向,在明確求職目標,崗位的工作范疇來提高學習效率。在法律領域,黃薇屹[8]提出基于法律領域的知識圖譜問答系統,并且引入少量樣本和遷移學習模型運用在基于知識圖譜的法律問答系統中,在遷移學習模型和少量數據上進行實驗發現更快的迭代,實驗效果明顯提升。
目前構建知識圖譜的問答系統主要基于以下幾種方法。基于規則的方法,Mekhaldi[9]使用該方法將問題映射成謂詞然后進行結構化查詢,這種方法的優點是準確率較高但是規則是由人設計的,所以泛化能力較差。構建模板的問答方法,該方法主要是使用已知模板成分匹配句子中的內容。Cui[10]提出了一種基于模板的問題表示方法,針對簡單事實問答,在大規模模板自動化生成方面,提出優化方案。語義解析的問答方法,基于詞典-文法的語義解析方法,基于神經網絡的方法,基于知識圖譜嵌入學習的問答方法及多跳推理的知識圖譜問答等。
基于不同類型的問答系統在數據處理以及技術實現方面存在著差異,但是主要技術有問題預處理、信息檢索以及答案生成。
在問答系統工作時,進行下一步之前的首要任務就是對問題進行預處理。問題預處理包括進行分詞、去除停用詞、詞性標注以及語法分析等任務。問答系統的類型不同,在問題類別的判別上就是一項重要的工作,答案的類別就是依據問題的類別判斷出來的,所以這個過程對問答系統來說必不可缺。問答系統遇到的問題都是由若干個詞或者詞組組成,所以要獲得關鍵詞信息就要對問題進行分詞,提取問題中的關鍵詞;關鍵詞的提取是問題分析的核心步驟,問答系統中信息檢索就是通過關鍵字進行檢索,所以關鍵字抽取與信息檢索的準確度高低有密切的聯系。
用戶在問答系統中通過提問的方式得到最準確的答案,主要是通過信息檢索從文檔或者知識庫中檢索出答案。問答系統中信息檢索是必不可少的一步。首先需要了解用戶問句所表示的含義與意圖,利用信息檢索技術在知識庫中抽取相似的信息作為回復的答案。在不同類型的問答系統中檢索方式也各不相同;如基于文本類的問答系統,主要是對文檔或者相關文字縮小答案范圍,最后抽取出最精準的答案;基于問答對的問答系統主要根據在問答語料庫中匹配相似度較高的句子進行檢索;基于知識圖譜的問答系統,主要通過實體鏈接將問句中的實體和知識圖譜相映射查找相對的實體信息。
問答系統的最后一個步驟就是答案生成,在基于文本和問題答案對的問答系統中都是通過信息檢索得到數據,依據文檔中的信息,抽取出與問句相似的句子作為答案返回給用戶;在基于結構化數據類型的問答系統中,主要是通過在答案庫中抽取出來與之對應的實體給用戶。答案生成模塊主要是用候選答案抽取,在文檔或者段落中抽取出可能的答案作為一個答案集,然后在答案集中通過實體的類別與問題中關鍵字或者實體進行比較,計算各個實體之間的權重,抽取出相似度最高的生成答案,然后將該答案返回給用戶。
隨著數據的增加,查找數據難度越來越大,用戶越來越需要通過問答系統獲取想要的答案,現階段問答系統剛剛處于起步階段,只能處理一些簡單的問答和推理。大量學者也在不斷地研究問答系統,由于數據變多,基于知識圖譜的問答系統研究的相關技術不斷突破,應用在不同的場景。