佟 欣,韓玉琢
(1.赤峰學院 計算機科學與技術系,內蒙古 赤峰 024000;2.赤峰市建設委員會)
房產自動應答系統(tǒng)的分析與設計
佟 欣1,韓玉琢2
(1.赤峰學院 計算機科學與技術系,內蒙古 赤峰 024000;2.赤峰市建設委員會)
自動應答系統(tǒng)是一種基于因特網的高性能的軟件系統(tǒng).是一種對用戶用自然語言提出的問題能夠做出盡可能簡潔、準確回答的計算機程序.本文根據房產中的應答系統(tǒng)的特點,采用了自然語言處理技術,設計了一種支持自然語言理解的自動應答系統(tǒng)的模型,同時通過詳細的需求分析設計了總體框架.
房產;自動應答;分詞;字符串匹配
近幾年我國房地產市場急劇升溫,特別是上海、北京、杭州、深圳等城市房地產市場升溫速度超乎人的想象.在過去的五年間,上海市房地產價格上漲了200%,這樣一個速度,已遠遠超過GDP的增長速度和居民收入增長水平.受全國大氣候的影響,中部城市如鄭州、武漢等,西部城市如重慶、西安等地,房價也快速上漲.針對房地產市場的快速升溫,國家也相繼出臺了配套措施,以維護和促進房地產業(yè)的穩(wěn)定和快速發(fā)展.最近幾年,土地市場和房產市場的協(xié)調配套發(fā)展、市場化配置資源的基礎性作用等深層次問題仍在探索之中.
隨著房地產市場的不斷發(fā)展,相關的法律法規(guī)及配套規(guī)定也逐步完善,在市場逐步擴大的同時,也需要有大批的房地產專業(yè)人士來為之服務,這種情況下,房產自動應答系統(tǒng)就能夠大大提高工作效率、解放勞動力,為房地產行政機關和老百姓搭建起了一個互動的平臺,關于房產的相關內容非常豐富,包括房地產法律法規(guī)政策咨詢、房地產市場走勢分析、房地產開發(fā)企業(yè)及樓盤現狀、房地產中介機構、房地產管理機構和相關行業(yè)等方面,同時還能夠把一些疑難問題保存到專家數據庫,由專家進行解答.
目前各種房產自動應答系統(tǒng)還正處于研制和發(fā)展階段,系統(tǒng)內還沒有統(tǒng)一規(guī)范的自動應答系統(tǒng).本系統(tǒng)就是在這樣一個大環(huán)境下設計開發(fā)的,其根本目的是為了減輕本市房管部門的工作壓力,提高房管部門的工作效率,為用戶搭建一個良好的信息查詢平臺.
需求分析是軟件開發(fā)的第一階段.在任何軟件開發(fā)的過程中,需求分析都是必不可少的.這一階段使開發(fā)人員了解到用戶需要一個什么樣的軟件,用戶需要這個軟件做什么,這個軟件適合一個什么樣的系統(tǒng)環(huán)境來運行,還有估計軟件的風險和評估項目代價等等.只有做好了需求分析這一階段的工作,之后的軟件開發(fā)過程才能正常進行,如果需求分析工作出現失誤,那么可能會導致一些開發(fā)好的部分不符合要求,甚至會導致整個工程重做,所造成的后果是不堪設想的,所以做好需求分析是軟件開發(fā)的前提條件和重要環(huán)節(jié).
自動應答系統(tǒng)具有自然語言處理、查詢及知識庫的維護等功能.
2.1.1 自然語言處理功能
自然語言處理功能主要是指把用戶提出的自然語言問句文本轉化為計算機能夠處理的語言.包括分詞、字符串匹配等,是整個自動應答答疑系統(tǒng)實現的基礎.為了保證分詞的準確性,在對用戶提出的問句文本進行分詞處理時,處理的過程應該是首先依據專業(yè)詞典切分出專業(yè)詞匯,再依據常用詞典切分表明問句性質的常用詞,之后與常見問句表中的問題相匹配,從而得到系統(tǒng)的應答.為了保證分詞及字符串匹配的效率,需要對現有的分詞及字符串匹配算法進行分析,并選擇較適宜的方法,關于這一部分在系統(tǒng)相關技術及系統(tǒng)實現中皆有介紹,這里不再贅述.
2.1.2 查詢功能
查詢功能是指計算機理解自然語言后,在答疑庫中進行檢索,返回與問句文本相似的一組答案,由于房產自動應答系統(tǒng)僅限于房產這一特定領域問題的解答,而不是對全部自然語言范圍內的解答,因此對于歧異問題答案出現的概率比較小,而且提取出關鍵詞都是與特定房產領域相關的,因此也沒有必要考慮其相似度的問題.
2.1.3 知識庫的維護
知識庫是知識的存儲機構,用于存儲專家經驗、相關法律法規(guī)等內容.其基本任務是提供問題求解以及問題解釋所需的知識.知識庫是整個自動應答系統(tǒng)的基礎,其中知識質量的優(yōu)劣、層次的高低、數量的多寡決定了問題求解結果的科學合理性和求解問題的覆蓋范圍.
通常,在設計知識庫時應當做到以下幾點:
(1)知識足夠豐富,要能達到一定規(guī)模,否則所提供的服務將是非常受限的,對用戶了解相關信息幫助也不大.
(2)相關信息準確度要高,否則只能誤導用戶,起不到應有的目的.
(3)內容的開放性,由于內容的多變性,要求能夠很容易地添加、刪除和管理知識條目.
(4)可移動性,隨著網絡技術的發(fā)展,需要知識庫具有平臺無關性,能夠很方便地將知識庫從一個操作平臺移到另一個操作平臺.
(5)知識表示要簡潔、清晰、無歧義,便于計算機識別和運用.
(6)知識庫整體結構要完善,既要知識定位快,又要存儲空間小,盡量找到矛盾的最佳統(tǒng)一.
自動應答系統(tǒng)的性能從智能性、準確性和查詢速度三個因素考慮.如果智能性差,就體現不出自然語言理解的特點,就失去了智能的意義;如果準確性太低,就失去設計答疑系統(tǒng)的意義;如果速度跟不上在線需要,就不能體現實時應答,達不到自動應答的需求.
2.2.1 智能性
智能性就是系統(tǒng)能夠充分理解用戶提出的問句,如用戶輸入“什么是房地產交換?”、“房地產交換的意義?”和“房地產交換的含義?”應該認為是同一個問句,這就為回答問句的準確性提供了一定的保證.
2.2.2 準確性
用戶輸入問句后,要求返回的答疑與問句相匹配,自動應答系統(tǒng)應該返回用戶所想要的答案.系統(tǒng)的準確性主要考慮以下三個方面問句:不同用戶輸入相同的問句,但表達方式不一樣,給出的答案一定正確、一致,如“房地產交換是什么?”“什么是房地產交換?”;用戶兩次輸入問句中使用同義或者近義的關鍵詞問句,系統(tǒng)也能夠給出答復;用戶使用相關詞語提問,系統(tǒng)也能給出適當答復.
2.2.3 查詢速度
系統(tǒng)應能夠及時、快速地回答用戶問句,用戶不能有明顯等待感覺.
業(yè)務需求是組織或客戶對于系統(tǒng)的高層次目標要求,定義了項目的遠景和范圍,即確定軟件產品的發(fā)展方向、功能范圍、目標客戶和價值來源.這種需求通常來源于項目投資人、購買產品的客戶、市場營銷部門或產品策劃部門,一般使用遠景和范圍文檔進行記錄.業(yè)務需求的內容包括業(yè)務、客戶、特性、價值及優(yōu)先級.其中業(yè)務是指產品屬于哪類業(yè)務范疇?應該完成什么功能?需要為什么服務?客戶是指產品為誰服務?目標客戶是誰?特性是產品區(qū)別于其他競爭產品的特性是什么?價值的含義是產品的價值體現在什么方面?優(yōu)先級指產品功能特性的優(yōu)先級次序是什么?
用戶需求是從用戶角度描述的系統(tǒng)功能需求和非功能需求,通常只涉及系統(tǒng)的外部行為,而不涉及系統(tǒng)的內部特性.用戶需求的描述應該易于用戶的理解,一般不采用技術性很強的語言,而是采用自然語言和直觀圖形相結合的方式進行描述,自然語言表達容易含糊和不準確.
本人在課題調研中了解到,隨著房地產市場的不斷發(fā)展,相關的法律法規(guī)及配套規(guī)定也逐步完善,在市場逐步擴大的同時,也需要有大批的房地產專業(yè)人士來為之服務.在這種情況下,開發(fā)一套房產自動應答系統(tǒng),就能夠大大提高工作效率,解放勞動力,為房地產管理機構和老百姓搭建起一個互動的平臺.它應該包括房地產法律法規(guī)政策咨詢、房地產市場走勢分析、房地產開發(fā)企業(yè)及樓盤現狀、房地產中介機構、房地產管理機構和相關行業(yè)等方面,同時還能夠把一些疑難問題保存到專家數據庫,由專家進行解答.雖然房產自動應答系統(tǒng)還正處于研制和發(fā)展階段,但一些不科學、不完善的地方將會在應用中得到解決,相信隨著我國房地產市場的發(fā)展壯大,房產自動應答系統(tǒng)會得到大量推廣使用,為我國的房地產事業(yè)做出更大的貢獻.本人開發(fā)的這套系統(tǒng)有助于對一些和房產相關的問題做出快速應答.
計算機自動回答用戶提出的問題,就本質來說,是屬于自然語言理解的范疇.而自然語言理解作為人工智能學科的一個分支,在實際應用中還存在一些問題.但是具體到使用環(huán)境中,由于用戶提出的問題一般都是針對于某一具體的領域問題,因此,提出的問題中大部分具有一定的普遍性,其實質內容是相同的,只是在表達方式上有一定的差異.根據這一特點,針對具體的知識,建立一個自動應答系統(tǒng),通過計算機對用戶提出問題進行分析和匹配,自動尋找問題的答案,這是可以實現的.
本系統(tǒng)就是一個關于房產方面的自動應答系統(tǒng).其目標是能夠自動理解用戶提出的問題文本,并給出較為清晰的答案.用戶輸入文本后,系統(tǒng)利用自然語言處理技術進行分詞和提取關鍵詞后,把自然語言轉化為計算機能夠處理的數據,與知識庫中的答案進行匹配,如匹配成功則把答案返回給用戶,若不成功則把問題發(fā)給專家,專家作答后更新知識庫的內容,用戶再次查詢則能得到答案.
根據系統(tǒng)的工作原理,可以設計出系統(tǒng)的模型.如圖1所示.
圖1 系統(tǒng)模型
該系統(tǒng)服務器采用WINDOWS XP操作系統(tǒng),SQL SERVER數據庫,編程語言為JAVA語言.系統(tǒng)主要由用戶界面、問題預處理、答案匹配等模塊組成,后臺有知識庫、詞典、用戶記錄庫.
自動應答系統(tǒng)的用戶通常有三類:使用自動應答系統(tǒng)請求答疑的用戶,他們是系統(tǒng)的服務對象;相關知識的專家負責構建知識庫和FAQ庫,并提供對知識庫和FAQ庫的不定期維護,同時負責回答系統(tǒng)無法自動回答的問題;系統(tǒng)管理員負責系統(tǒng)管理、系統(tǒng)加密、系統(tǒng)安全、數據備份等工作,以維持整個系統(tǒng)的正常運行.
根據自動應答系統(tǒng)的設計目標和對用戶的分析,設計出自動應答系統(tǒng)的系統(tǒng)總體框架如圖2所示:
本系統(tǒng)應實現用戶身份驗證、專家解答、智能解答、知識庫管理等功能,各個部分共由五個功能模塊來實現:身份驗證模塊、查詢模塊、用戶提問模塊,專家答疑模塊、系統(tǒng)管理模塊,如下圖3所示.
圖3 自動應答系統(tǒng)的模塊劃分
3.3.1 登錄模塊
本模塊包括用戶登錄模塊和用戶注冊模塊.這是為了方便管理用戶而限定用戶權限的模塊.用戶的權限角色主要包括管理員,專家和用戶.管理員負責系統(tǒng)的維護及知識庫的維護,專家在登錄以后對用戶提出的問題做答,用戶則只具有查詢信息及提交問題給專家等權限.
3.3.2 查詢模塊
查詢模塊包含問題預處理和答案匹配兩個主要模塊.
首先是問題預處理,由提問模塊給普通用戶提供一個界面,用戶輸入問題后,由預處理模塊進行預處理,包括分詞和提取關鍵詞等功能.預處理模塊的作用是對于問題文本進行分詞處理,主要是將自然語言的問題即文本的系列子串異步分解成與系統(tǒng)有關的關鍵詞組合.關鍵詞組合與限制語義次數相結合,就形成了搜索答案的條件.
答案匹配模塊,用JDBC連接數據庫,打開知識庫,運用WM多關鍵字匹配算法搜索知識庫.在用戶提問界面中,用戶同時還可以查詢自己已經查找過的問題.
3.3.3 用戶提問模塊
用戶查詢模塊主要是當在主頁面中無法獲得查詢結果時,如果需要專家答疑那么需要通過輸入用戶名和密碼登錄本系統(tǒng),之后可以提出問題,并把相應的問題提交給專家答疑.
3.3.4 專家答疑模塊
專家登錄模塊:專家用戶的名稱與密碼分別為ADMIN和ADMIN,是由管理員指定的.
專家答疑模塊:沒有答案的問題會現在在答疑界面上,專家需要輸入問題號碼進行回答.答案必須含有問題的搜索條件,這是WM算法的思想要求的.專家回答完畢后,自動更新數據庫.自動刷新界面.
3.3.5 系統(tǒng)維護及管理模塊
系統(tǒng)維護和管理是系統(tǒng)必須提供的一個功能,它為系統(tǒng)的穩(wěn)定運行提供保障.垃圾問題要進行清理,檢測系統(tǒng)有無異常,系統(tǒng)后臺數據的維護及管理等等都是該模塊要解決的問題.
該模塊是答疑系統(tǒng)的重要模塊,由管理員進行日常維護,負責新用戶的注冊,維護用戶信息,管理和維護自動應答系統(tǒng)的知識庫資源.對于系統(tǒng)管理員來說,主要負責:
注冊管理.包括所有用戶的注冊管理以及戶信息的更新工作.
知識庫的建立.知識庫是實現自動應答系統(tǒng)的一個非常重要的環(huán)節(jié),是實現自動應答功能的基礎.知識庫的最初建立是由相關人員來完成的,隨著用戶不斷地提出新的問題,由管理員進行知識添加、維護或者刪除.
知識庫資源維護.自動應答系統(tǒng)是根據知識庫中的資源為用戶提供答疑服務的,管理員應定期對知識庫中的知識進行更新、添加或者刪除.
本文對系統(tǒng)在功能需求、性能需求及業(yè)務需求上做了較為詳細的分析,為設計一套高質量,易應用的系統(tǒng)打下基礎.同時對系統(tǒng)的總體結構做了設計并給出了設計的總體框架,對系統(tǒng)中各模塊的功能做了詳盡的說明.
〔1〕郭慶琳,樊孝忠.自動應答系統(tǒng)中自然語言理解技術的研究[J].計算機應用研究,2004:24-27.
〔2〕余正濤,樊孝忠,康海燕.基于自然語言理解的受限領域自動應答系統(tǒng)[J].計算機工程,2004:18-37.
〔3〕張恒楊,文昭,屈景輝,盧虹冰,張亮,趙飛.基于詞典和詞頻的中文分詞方法[J].軟件時空,2008.
〔4〕鄭耿忠.自動分詞算法在智能答疑系統(tǒng)中的應用研究[J].計算機工程與設計,2007.
〔5〕張曉輝.支持自然語言提問的答疑系統(tǒng)的設計與實現[D].天津:天津大學,碩士學位論文,2006.
〔6〕朱代華.基于分詞技術的智能答疑系統(tǒng)[D].四川.重慶大學,碩士學位論文,2004.
TP311
A
1673-260X(2010)01-0031-03