範文齋

基於中文自然語言理解的農業信息自動回答系統論文

  摘 要:隨着信息社會、知識經濟的到來,傳統的被動式知識傳授已逐步讓位於主動式知識探究。本系統主要從農業的信息角度出發,採用中文自然語言處理技術,建立知識庫和自動分詞,進行語言理解,這樣一方面完成對用戶提問的理解;另一方面完成正確答案的生成,使農民能夠及時得到自己想要的信息,更快捷的處理疑問,使其真正實現農業信息化。

基於中文自然語言理解的農業信息自動回答系統論文

  關鍵詞: 自然語言理解;自動回答;知識庫;自動分詞;語言理解

自然語言理解(natural language understanding,NLU),又稱自然語言處理(natural language processing, NLP),人工智能研究的重要內容之一。自然語言理解,是指計算機對自然語言的音,形,義等信息進行處理,即對字,詞,句子和篇章的輸入,輸出,識別,分析,理解,生成等操作和加工。就是利用電子計算機來理解自然語言,使計算機懂得人的語言,讓計算機在人的語言的指揮下,進行某些“智能”活動。

自然語言理解是一門新興的邊緣學科,內容涉及語言學、心理學、邏輯學、聲學、數學和計算機科學,而以語言學爲基礎。自然語言理解的研究,綜合應用了現代語音學、音系學語法學、語義學、語用學的知識,同時也向現代語言學提出了一系列的問題和要求。這門學科也通過長期的研究,已經形成了一整套的理論和方法,使我們加深了人類語言現象的理解,並且能解決在自然語言的應用中遇到的許多實際問題。

中文信息處理

  1. 領域知識庫構建,中文自動分詞

領域知識庫是用來存儲領域專家提供的專門知識的集合體。這種專門知識即包括領域對象的原理性知識,如有關對象的概念、事實、定理、方程、方法、模型、實驗、和操作等。一般或存在於書本或文獻中,大多數有確定的數學模型;也包括專家解決複雜的不良結果問題時得到的經驗等啓發性知識。

領域知識庫是基於知識的系統的核心部件,知識庫中的知識數量和質量直接決定着系統性能和效率。

構建領域知識庫。知識是智能的基礎,爲了使計算機具有智能,使它能模擬人類的智能行爲,就必須使它具有知識,但是需要把人類擁有的知識採用適當的模式表示出來,才能存儲到計算機中去,這就是知識表示要解決的問題。知識表示是對知識的一種描述,或者說是一組約定,是一種計算機可以接受的、用於描述知識的數據結構,對知識進行表示就是把知識表示成便於計算機存儲和利用的某種數據結構,知識表示方法又稱爲知識表示技術,其表示形式稱爲知識表示模式。

目前使用較多的只是表示方法有:一階謂詞邏輯表示法,產生式表示法,框架表示法,語義網絡表示法,面向對象表示法。

一個完整的知識庫非常龐大,不僅需要精密的框架設計還要錄入海量的詞彙數據,甚至還有一次多義、多詞同義等特殊情況。知識庫中需要一個詞彙集合來存放已知的詞彙信息。在數據庫中建立詞彙表,各字段如下:編號(id)表示本條詞語在數據庫中的編號。爲整數類形,自動遞增且爲主鍵,必填字段。詞語(word)表示詞彙本身,爲字符類型,必填字段,詞性(partos)表示詞彙的詞性,爲字符類型,必填字段。近義詞(similar)表示詞彙的相近詞彙,爲字符類型,可選字段,詞義(acceptation)表示詞彙的詞義,字符類型,可選字段。備註(remark)例如:id:1,word:大豆partos:名詞,similar:黃豆。當然基於農業領域的知識庫構建只有詞彙表是不夠的,還要有農業信息知識庫。以大豆爲例,大豆的基礎知識,大豆的品種介紹,大豆植物學特徵,大豆生物學特徵,大豆病害,大豆蟲害,大豆草害,大豆栽培技術,大豆高產栽培技術,大豆栽培新技術,大豆市場信息等等。所以要對各種農業信息進行詳細入庫,並使其更高效查詢。

中文自動分詞(Chinese Word Segmentation)指的是將一個漢字序列切分成一個一個單獨的詞。中文自動分詞是文本挖掘的基礎,對於輸入的一段中文,成功的進行中文自動分詞,可以達到電腦自動識別語句含義的效果。漢語自動分詞的任務,通俗地說,就是要由機器在中文文本中詞與詞之間自動加上空格。

現有的分詞算法可分爲三大類:基於字符串匹配的分詞方法、基於理解的分詞方法和基於統計的分詞方法。

(1)基於字符串匹配的分詞方法:本質就是基於大規模詞庫的機械分詞方法。

(2)基於理解的分詞方法:基本思想就是在分詞的同時進行句法、語義分析,

利用句法信息和語義信息來處理歧義現象。通常包括3個部分:分詞子系統、句法語義子系統、總控部分。

(3) 基於統計的分詞方法:主要是利用詞是穩定的字的組合這一規律,這樣就可以通過記錄字與字相鄰共現的頻率從而利用概率統計的方法給切詞系統提供切分標準。

本系統爲自動回答系統,所以要充分理解每一條用戶所提信息,以上分詞方法作爲本系統基礎分詞的方法,在對領域內的名詞用概念從屬樹組織起來,再利用格語法理論建立動詞的靜態知識庫,用靜態事實庫配合概念從屬樹的爬樹過程來完成對切詞結果的語義分析,同時對切詞結果進行歧義排除。

  2. 進行語言分析,語言理解的實現

語言雖然表示成一連串的文字符號或者一串聲音流,但其內部實際上是一個層次化的結構,語言的分析和理解過程也應當是一個層次化的過程,一般分爲詞法分析、句法分析、和語義分析。詞法分析的主要目的是找出詞彙的各個詞素,從中獲得語言學信息,漢語中每個字都是一個詞素,但是切分出各個詞就不是那麼容易的。例如,我們研究所有東西,可以是“我們——研究所——有——東西“,也可以是”我們——研究——所有——東西“。句法分析是對句子和短語的結構進行分析,最直接的方法就是模式匹配,如noun+verb+noun,但自然語言有很多變化,一個句子可以表示成((pronoun∨(adj*noun))verb(pronoun∨(adj*noun))

這也可以用狀態轉移圖來表示,稱之爲轉移網絡(TN,transition network)。語義分析就是通過分析找出詞義、結構意義及其結合意義,從而確定語言所表達的真正含義和概念。語義分析方法主要有謂詞邏輯、語義網絡、格語法、概念從屬理論等等。

語言理解的實現,農業信息的語句結構相對簡單,句子組成遠不如日常用語那麼複雜。農業詞語根據行業特性、構成特點的差異,可以劃分爲農業術語、農業語詞、農業用語三個層次。農業術語一般運用於行業典籍,農業語詞較易爲行外人士理解,農業用語容易發生分化。其擴散以南北朝同類文獻爲起點,到普通文獻的農業語境,然後到普通文獻的非農業語境,經過激烈競爭,部分詞語保留到了後世文獻中。專門詞語和一般詞語可以互相轉化,行業色彩輕重是決定性因素:農業術語演變爲一般詞語的難度較大,演變爲農業語詞的難度較小,演變爲農業用語的難度最大。農業信息提問句式以農業方面名詞開頭,並大多數以疑問句存在。下面以“大豆子葉上產生赤褐色圓形斑是什麼病,怎樣防治”。

這個句子根據上面的切詞方法,首先字符匹配可以切成“大豆/子葉/上/產生/赤褐色/圓形/斑/是/什麼/病/,/怎樣/防治”.用這種方法會產生歧義,也可以分成“大豆子/葉/上/產生/赤褐色/圓形/斑/是/什麼/病/,/怎樣/防治”。大豆和大豆子在農業上是兩種植物,所以還要進一步對這句話理解,分析其句子成分,找到主語,謂語,賓語。只要能準確分析出句子的每個成分,那麼整句的分析就有了一個良好的基礎。“(大豆子葉上產生赤褐色圓形斑)主語(是)謂語(什麼病)賓語,(怎麼)主語(防治)謂語。首先找到句子謂語(謂語一般由動詞構成的),這樣我們就可以根據分詞到指示表中找到句子中的謂語,在程序中一般掃描謂語前面的`爲主語,謂語後面的爲賓語。找到主語和賓語到知識表中各個詞進行搜索,搜索引擎會把搜到的結果進行排列,降低切詞帶來的歧義性,找到用戶提出問題的最佳答案。

  3. 語言自動生成。

一個基於中文自然語言理解的農業信息自動回答系統不僅是理解了提問就算完成,最重要的是對問題的回答。語言生成就是把在計算機內部以某種形式存放的需要交流的信息,以自然語言的形式表達出來。語言生成是自然語言理解的一個逆過程。一般包括以下兩部分:1、建立一種結構,以表達出需要交流的信息。2、以適當的詞彙和一定的句法規則,把要交流的信息以句子形式表達出來。同自然語言理解一樣,語言生成的處理方法有很多種,這不僅由於它們所採用的內部表達結構不同(如採用語義網絡或者概念從屬等),而且由於語言生成的目的不同(如有的目的是爲了對輸入文章作摘要,有的是爲了作爲問題回答系統的人-機界面等) 。

本系統首先要建立一種結構,以回答的形式爲主,如:主語+”是”+(賓語),如果我們要回答“大豆子葉上產生赤褐色圓形斑是什麼病”這個問題,就要提出主語(大豆子葉上產生赤褐色圓形斑)+謂語(是)+賓語(來自知識庫)。知識庫中有大豆紫斑病(症狀、病原、傳播途徑和發病條件、防治方法)。程序查找到(大豆子葉上產生赤褐色圓形斑)爲大豆紫斑病的症狀裏邊的字段,程序可得出賓語(大豆紫斑病),同時第二個問題也進行了回答。

在本問題得到完善回答後,系統後臺在程序運行前期需要進行人工審覈,如果問題回答出現偏差需要及時修改,並存入歷史數據庫。如有相同問題出現時,可直接讀取歷史數據庫進行回答。使本系統更加完善,搜索更高效,回答更準確,更加有利於用戶使用。

  結束語

本文設計了一個簡單的基於中文自然語言理解的農業信息自動回答系統,本系統的核心技術爲中文的自然語言理解技術,實現了領域知識庫的建立,中文的自動分詞和進行了語言分析、語言理解的實現,併成功對其所提出問題進行了合理回答。經過簡單的輸入測試,系統初步達到設計目的。能夠滿足一些簡單農業信息要求。還存在不足之處待以後改進。

(1)擴充知識庫。雖然是農業領域知識庫,但其內容涉及也是十分龐大的,

所以無論在結構上或內容上都要擴充知識庫。

(2)完善分詞算法。本系統分詞還存在歧義性,還需要長時間的對各種句子測試和改進。

(3)完善語言理解和自動回答。

自然語言的豐富程度遠遠超過這些,如何做到更高級的自動回答系統,使機器語言理解更加智能,是一個長期且艱鉅的任務。

參考文獻:

[1]馮志偉。 國外主要自然語言理解系統概況 計算機科學 1984(2)

[2]吳 江。 中文自然語言理解技術與智能檢索 圖書館學研究 2006(3)

[3]尹朝慶, 尹皓。人工智能與專家系統 中國水利水電出版社 2002

[4]豐博,胡鋼偉,趙克,億珍珍。 一種自反饋漢語切詞系統的研究和實現 計算機技術與發展 2006(5)

[5]王祥濱,趙 克,程培濤,許 威。 基於領域自然語言理解的知識庫管理系統 計算機技術與發展 2009(12)

[6]蔡自興,徐光?。人工智能及其應用 清華大學出版社 2003

[7]化振紅。《齊民要術》農業詞語擴散的層次分析 學術論壇 2006(12)

[8]由麗萍 ,範開泰 ,劉開瑛 漢語語義分析模型研究述評 中文信息學報 :2005(7)