999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于VisualProlog的自動答疑系統設計與實現

2010-12-31 00:00:00江耿豪
現代教育技術 2010年7期

【摘要】針對遠程教育答疑環節存在的問題,設計實現一個自動答疑系統。闡述自動答疑系統的總體設計、主要算法和基于Visual-Prolog的實現技術。測試結果表明,系統答疑準確率較高,響應速度較快。系統允許用自然語言提問,并自動返回準確或相近答案,提高了遠程答疑的效率。

【關鍵詞】自動答疑系統;中文自動分詞;相似度計算;Visual-Prolog

【中圖分類號】G40-057 【文獻標識碼】B 【論文編號】1009—8097(2010)07—0122—04

目前遠程教育中答疑主要采用BBS、E-Mail和在線值機答疑等方式。這些答疑方式需要教師直接參與,不僅無法保證答疑的實時性,而且經常必須重復地回答相似的問題,造成人力和資源的巨大浪費。自動答疑系統是利用自然語言處理技術分析用戶提出的問題,自動給予問題解答的軟件系統。在遠程教育中應用自動答疑系統,能夠及時解答學生提出的問題,減少教師的工作量,提高遠程答疑的效率。

Visual-Prolog是基于Prolog語言的編譯型程序開發環境,用于編寫自動答疑系統,能充分利用其模式匹配、合一、回溯和內置數據庫等功能。針對課程答疑的特點,以《C語言程序設計》課程為例,介紹自動答疑系統的總體

設計、主要算法和基于Visual-Prolog的實現技術。

一 自動答疑系統的總體設計

1 系統功能

系統由自動答疑、在線答疑(人工)、知識庫管理、用戶管理和使用幫助5個功能模塊組成。采用B/S架構,用戶通過Web瀏覽器使用系統。

2 基本流程

答疑過程包括四個主要環節:中文自動分詞、關鍵詞提取與同義詞變換、建立候選問題集和問句相似度計算,如圖2所示。問題庫中存儲大量的“標準問句—答案”對。系統允許用戶使用自然語言提問,在獲取問句后,通過檢索問題庫,向用戶返回準確或相近的答案。系統提供三種檢索答案的模式:①精確檢索,如果用戶提出的問句與標準問句完全相同,或它們在語義上很相似(相似度≥70%),則系統返回標準問句對應的答案;②模糊檢索,系統返回與用戶提出的問句在語義上有一定關聯(相似度≥40%)的標準問句對應的答案;③全面檢索,系統返回相似度大于零,且相似度較高的幾個標準問句對應的答案,并將問題提交專業教師進行解答。

3 用戶分類

系統共有管理員、教師、學生和匿名用戶4種,每種用戶擁有不同權限。管理員用戶擁有最高權限,可以對用戶、問題庫及詞典進行管理。教師用戶可以進行在線答疑,對問題庫、專業詞典進行簡單維護。學生用戶可以使用自動答疑和在線答疑功能。匿名用戶只能使用自動答疑功能。

二 自動答疑系統的主要算法

1 中文自動分詞

系統采用基于詞典的字符串最大匹配分詞法。因為用戶問句中的疑問詞短語和專業詞匯對問題檢索非常重要,所以采用疑問詞短語和專業詞匯優先切分的原則,并將詞典分成疑問詞典、專業詞典和通用詞典。首先,用疑問詞典和專業詞典將問句切分成疑問詞短語、專業詞匯和待切分子串的序列S。然后,分別用正/逆向最大匹配法結合通用詞典對S中每個待切分子串進行切分。當出現切分歧義時,使用最小切分原則[1]進行確定,選用切出詞數少的切分方案。若存在切分詞數相同的歧義切分,則根據詞頻消除歧義。對于一個歧義片段,設一種切分結果為M=M1M2…Mn,另一種切分結果為N=N1N2…Nn,分別計算它們的頻率積fq(M)=f(M1)×…×f(Mn)和fq(N)=f(N1)×…×f(Nn),并選用頻率積大的切分結果,其中f(W)是詞匯W在某個大規模語料庫中出現的頻率。當詞頻消歧仍不能排除歧義時,優先選用逆向最大匹配法的切分方案。

2 關鍵詞提取與同義詞變換

問句包含的關鍵詞描述了問句的主要語義。除了關鍵詞,問句一般還包含若干檢索意義不大的停用詞[2],如“的、呢、嗎”等。因為問句通常比較簡短,其中包含的詞匯較少,所以系統把問句中標點符號和停用詞之外的詞匯作為關鍵詞。

如果問題庫中存在和用戶提出的問題相同(近)的問題,但其標準問句中的關鍵詞與用戶問句中的關鍵詞不相同,并且它們是同(近)義詞,則直接用于檢索會降低檢索的正確率。例如:用戶問句X為“算法的定義是什么?”,問題庫中對應的標準問句Y為“算法的概念是什么?”,由于X中使用“定義”,Y中卻使用“概念”,所以需要對它們進行同義詞變換。同義詞變換需要使用同義詞典,可以在《同義詞詞林》的基礎上構建同義詞典?!啊锻x詞詞林》收錄了近7萬詞,將詞語分為12個大類,94個中類,1428個小類,小類下面再根據近義原則劃分為詞群(或原子詞群),每一個詞群(或原子詞群)以一個標題詞命名”[3],如:詞群“定義、概念、界說”的標題詞是“定義”。對關鍵詞進行同義詞變換,就是利用同義詞典,將關鍵詞替換成對應詞群(或原子詞群)的標題詞,如:將“算法/概念/是什么”變換為“算法/定義/是什么”。

3 建立候選問題集

建立候選問題集的目的是縮小查找范圍,使后續處理都在候選問題集這個相對較小的范圍內進行。[4]問題庫中每個“標準問句–答案”對是六元組Q=,其中:①ID是Q在問題庫中的唯一標識;②標準問句是Q的提問部分;③問句關鍵詞是標準問句經過分詞、關鍵詞提取、同義詞變換后得到的詞序列;④答案是對標準問句的解答;⑤專業詞匯知識點是標準問句包含的專業詞匯所屬的知識點;⑥疑問詞類型,根據標準問句包含的疑問詞短語將問題分成概念、原因、關系等類型,例如“賦值語句與賦值表達式有什么區別?”包含疑問詞短語“什么區別”,屬于關系類型的問題。

設用戶問句關鍵詞序列為K,待建立的候選問題集為QL,建立候選問題集的過程為:①根據K分別建立疑問詞短語集合A和專業詞匯集合B;②根據A建立疑問詞類型集合C;③根據B建立專業詞匯知識點集合D;④根據C和D分別從問題庫檢索出問題集合Q1和Q2,合并Q1、Q2成為QL。

4 問句相似度計算[5] [6]

自動答疑系統從關鍵詞相似度、問句長度相似度和關鍵詞詞序相似度3個方面,計算用戶問句與候選問題集中標準問句的相似度,并根據檢索模式抽取相似度符合要求的答案集。

設有用戶問句X和標準問句Y,L(X)表示X的關鍵詞數,L(Y)表示Y的關鍵詞數,S(X,Y)表示X與Y的相同關鍵詞數,Sim(X,Y)表示X與Y的問句相似度,則有1≥Sim(X,Y)≥0,1表示X與Y完全相同,0表示它們完全不同,Sim(X,Y)越大表示它們越相似。

(1)關鍵詞相似度

X與Y的關鍵詞相似度KSim(X,Y)可用公式⑴計算。

KSim(X,Y)=2×S(X,Y)/(L(X)+L(Y)) ⑴

(2)問句長度相似度

X與Y的問句長度相似度LSim(X,Y)可用公式⑵計算。

LSim(X,Y)=1-abs(L(X)-L(Y))/(L(X)+L(Y)) ⑵

(3)關鍵詞詞序相似度

Y與X的相同關鍵詞在X中的位置構成一個自然數序列,用Seq(Y)表示,Rev(X,Y)表示Seq(Y)的逆序數,MaxRev(X,Y)表示數量為S(X,Y)的自然數序列的最大逆序數。X與Y的關鍵詞詞序相似度OSim(X,Y)可用公式⑶計算。

OSim(X,Y)=1-Rev(X,Y)/MaxRev(X,Y)⑶

若X與Y沒有相同關鍵詞,則OSim(X,Y)取0。

(4)問句相似度

Sim(X,Y)可用公式⑷計算。

Sim(X,Y)=λ1×KSim(X,Y)+λ2×LSim(X,Y)+λ3×OSim(X,Y)⑷

其中:λ1+λ2+λ3=1,且λ1≥0.6≥λ2≥λ3>0比較合適,例如λ1=0.6,λ2=0.2,λ3=0.2。

三 基于Visual-Prolog的實現技術

1 開發工具及運行平臺

用Visual-Prolog7.1開發自動答疑模塊(該模塊實現了中文自動分詞、關鍵詞提取與同義詞變換、建立候選問題集和問句相似度計算);用Visual Studio 2005開發基于ASP.NET2.0的在線答疑、用戶管理、知識庫管理和使用幫助模塊;用SQLServer2005存儲問題庫;用IIS6.0作為WEB服務器。

2 知識庫的構建

自動答疑系統的知識庫包括語言知識庫和問題庫,語言知識庫包含進行自然語言處理的語言知識。語言知識庫主要由通用詞典、專業詞典、疑問詞典和同義詞典四個部分組成。因為自然語言處理需要頻繁地訪問語言知識庫,對訪問速度要求很高,且語言知識在系統運行期間一般不需要人工維護,所以語言知識庫的構建采用Visual-Prolog 7.1內置的鏈式數據庫(ChainDB)技術,該技術用B+樹管理數據,查詢性能很高。采用SQL Server2005構建問題庫,并通過Visual-Prolog的ODBC技術進行數據訪問。

3 主要數據結構

定義論域wc、wi和wl,分別表示詞性、詞條和分詞方案。

domains

wc=string*.

wi=wi(string V,integer F,wc C)./*V代表詞,F代表詞頻,C代表詞性*/

wl=wi*.

定義論域qi和ql,分別表示候選問題和候選問題集。

domains

ql=qi*.

qi=qi(integer ID,string Q,string_list K)./*ID代表候選問題在問題庫中的唯一標識,Q代表標準問句,K代表問句關鍵詞*/

定義論域ai和ail,分別表示抽取的答案和答案集。

domains

ail=ai*.

ai=ai(string Q,string A,real XSD)./*Q代表標準問句,A代表答案,XSD代表Q與用戶問句的問句相似度*/

4 系統的主要謂詞

編寫自動答疑系統四個主要算法對應的謂詞,謂詞聲明及說明見表1。

5 Web應用程序的構建

Visual-Prolog7.1支持CGI和ISAPI兩種Web應用程序的開發,其中ISAPI的運行性能較高但調試較麻煩,而CGI調試較方便但運行性能相對較低。自動答疑系統以CGI應用程序形式實現。CGI應用程序是一個控制臺程序,與普通控制臺程序不同的是需要進行一系列初始化。簡化后的主程序如下:

run():-

console::init(),

IS=console::getConsoleInputStream(),/*獲取控制臺輸入流*/

IS:setMode(stream::ansi(ansi())),/*設置輸入流模式為stream::ansi(ansi())*/

OS=console::getConsoleOutputStream(),/*獲取控制臺輸出流*/

OS:setMode(stream::ansi(core::ansi)),/*設置輸出流模式為stream::ansi(ansi())*/

L=toTerm(environment::getVariable(

\"CONTENT_LENGTH\")),/*由環境變量CONTENT_LENGTH得到客戶端請求字符串長度*/

RequestString=IS:readString(L),/*讀取客戶端請求字符串*/

urlDecode(RequestString,Request),/*對RequestString進行URL解碼,得到Request,算法參見文獻[7]*/

core:string(Q)=namedValue::tryMapLookup(

Request,\"qt\"), /*獲取網頁表單提交的問句qt */

core::string(M)=namedValue::tryMapLookup(

Request,\"md\"),/*獲取網頁表單提交的檢索模式md*/

stdio::write(\"Content-type:text/html\\\"), /*開始一個頁面生成*/

fc(Q,W),

getKW(W,K),

getQL(K,QL),

calcXSD(K,QL,A),

showAnswers(A,M), /*根據檢索模式M輸出答案*/

stdio::write(\"\"),/*結束一個頁面生成*/

succeed().

四 測試分析

在千兆帶寬的校園局域網中,用40個客戶端并發訪問自動答疑系統,從準確率和響應時間兩方面對系統進行測試,測試數據(部分)見表2,系統返回答案的界面如圖3所示。

由表2可得:⑴系統的答疑準確率較高。若表述基本一致,則能返回準確答案;若表述存在較大差異,但語義基本相同,則能檢索到相近答案。⑵系統的響應時間較短。

五 結論與今后的工作

自動答疑系統利用自然語言處理技術分析用戶提出的問題,自動返回準確或相近的答案,提高了遠程答疑的效率和質量。闡述了自動答疑系統的總體設計、主要算法和基于Visual-Prolog的實現技術。測試結果表明,系統的答疑準確率較高,響應速度較快。

今后工作的重點是在現有基礎上完善系統詞典,改進算法,并解決詞性標注中的兼類詞問題,進一步提高系統性能。

參考文獻

[1] 王曉龍,王開鑄,李仲榮,等.最少分詞問題及其解法[J].科學通報,1989,(13):1030-1032.

[2] 化柏林.知識抽取中的停用詞處理技術[J].現代圖書情報技術,2007,(8):48-51.

[3] 江銘虎.自然語言處理[M].北京:高等教育出版社,2006:117.

[4] 秦兵,劉挺,王洋等.基于常問問題集的中文問答系統研究[J].哈爾濱工業大學學報.2003,(10):1119-1182.

[5] 崔桓,蔡東風,苗雪雷.基于網絡的中文問答系統及信息抽取算法研究[J].中文信息學報.2004,18(3):24-31.

[6] 周法國,楊炳儒.句子相似度計算新方法及在問答系統中的應用[J].計算機工程與應用.2008,44(1):165-178.

[7] 黃東軍.CGI程序設計中的URL編碼與解碼[J].微型機與應用.2000,(9):18-19,30.

[8] Prolog Development Center(PDC).Visual-Prolog online document[EB/OL].

主站蜘蛛池模板: 欧美 国产 人人视频| 国产精品亚洲日韩AⅤ在线观看| 国产内射在线观看| 国产美女人喷水在线观看| 中文字幕人妻av一区二区| 国产成人精品视频一区二区电影| 亚洲福利视频网址| 久久天天躁狠狠躁夜夜2020一| 九九热免费在线视频| 在线不卡免费视频| AV色爱天堂网| 又污又黄又无遮挡网站| 激情国产精品一区| 成人va亚洲va欧美天堂| 国产大片喷水在线在线视频| 国产成人精品2021欧美日韩| 国产第一色| 国产福利免费在线观看| 国产aaaaa一级毛片| 免费看黄片一区二区三区| 国产午夜看片| 97综合久久| 99国产精品免费观看视频| 婷婷中文在线| 色综合天天视频在线观看| 亚洲一区精品视频在线| 国产精品欧美激情| 成人福利在线视频免费观看| 操操操综合网| 国产人成在线视频| 国产网站黄| 久久香蕉国产线看精品| 波多野结衣一区二区三区四区视频| 激情五月婷婷综合网| 91久久国产热精品免费| 国产一区免费在线观看| 国产美女精品一区二区| 成人自拍视频在线观看| 中文字幕无码制服中字| 天堂成人在线| 丰满人妻中出白浆| 国内嫩模私拍精品视频| 97成人在线视频| 自拍欧美亚洲| 国产原创第一页在线观看| 国产拍揄自揄精品视频网站| 日本免费精品| a级毛片毛片免费观看久潮| 久久国产精品麻豆系列| 91麻豆精品视频| 四虎永久在线精品国产免费| 波多野结衣亚洲一区| 有专无码视频| 国产成+人+综合+亚洲欧美| 久久99蜜桃精品久久久久小说| 亚洲国产天堂在线观看| 国产99视频精品免费观看9e| a天堂视频| 精品国产成人三级在线观看| 亚洲精品动漫| 日本在线国产| 国产成人免费观看在线视频| 97精品久久久大香线焦| 欧美日韩国产精品综合| a级毛片在线免费| 91青青视频| 婷婷六月激情综合一区| 亚欧成人无码AV在线播放| 亚洲青涩在线| 国产真实二区一区在线亚洲| 亚洲国产欧洲精品路线久久| 91外围女在线观看| 午夜欧美理论2019理论| 久久久久免费看成人影片| 日本草草视频在线观看| 久久人人妻人人爽人人卡片av| 国产又爽又黄无遮挡免费观看 | 久久超级碰| 精品久久久久久久久久久| 欧洲高清无码在线| 不卡无码h在线观看| 亚洲中字无码AV电影在线观看|