- 相關(guān)推薦
應用電子技術(shù)的論文
本文由goodboysk貢獻
doc文檔可能在WAP端瀏覽體驗不佳。建議您優(yōu)先選擇TXT,或下載源文件到本機查看。
基于語句結(jié)構(gòu)及語義相似度計算主觀題評分算法的研究
賈電如,李陽明 (燕山大學 信息科學與工程學院,河北 秦皇島 066004) 2009-05-15 摘 要:文字類主觀題的自動評分是實現(xiàn)遠程教育中在線考試系統(tǒng)的一個關(guān)鍵技術(shù),由于其自動評判具 有相當難度,使自動評分系統(tǒng)中在對語句結(jié)構(gòu)、關(guān)鍵字匹配、詞性、詞義以及語義方面的判斷還存在很多 問題。通過對已有的算法分析,提出了一種方法,采用淺層次句法結(jié)構(gòu)分析和深層次語義分析相結(jié)合的算 法計算相似度,該方法可以提高主觀題自動評分的效率和準確度,具有一定的實用價值。 關(guān)鍵詞: 關(guān)鍵詞:自動評分;動態(tài)規(guī)劃;語句相似度;語義相似度
目前,在線考試系統(tǒng)正在逐漸代替?zhèn)鹘y(tǒng)的考試系統(tǒng),能否實現(xiàn)主觀題自動評分是在線考試系統(tǒng)中一個 重要環(huán)節(jié)。對于主觀題的考查,由于它的答題涉及到人工智能、模式識別以及自然語言理解等方面的理論 知識,評閱時就需要解決很多技術(shù)上的問題,因而成為阻礙在線考試系統(tǒng)發(fā)展的一個技術(shù)難點。 當前的主觀題自動評分算法中, 多數(shù)使用的是對學生答案和標準答案中關(guān)鍵字匹配來計算語句相似度, 如基于向量空間模型 TF-IDF 方法、詞性詞序相結(jié)合的方法以及基于語義依存樹等
[1-4]
。已有的這些方法要
么從句子的表層結(jié)構(gòu)信息進行匹配而忽略了語句語義分析,要么就是從語義分析而影響了整體語句的相似 性,這些都會影響到自動評分計算的精確度。由于漢語語言的結(jié)構(gòu)和語義的復雜性,一種意思可以用多種 形式和多種關(guān)鍵字表達,單從一方面很難對語句的意思作出準確的判斷,因此提出了一種新的主觀題自動 評分算法策略,主要思想是采用淺層次句法結(jié)構(gòu)分析和深層次語義分析相結(jié)合的算法計算相似度,將這兩 種思想結(jié)合起來使用可以互補不足,提高了主觀題自動評分的準確度。 1 語句相似度計算算法 在主觀題自動批改系統(tǒng)中,語句相似度是用來評價學生答案和標準答案的接近程度。針對漢語的特殊 性和機器翻譯領(lǐng)域內(nèi)一些對語句相似度的研究,采用動態(tài)規(guī)劃法來計算語句相似度,主要思想是對語句進 行層次句法分析。首先用正向最大匹配(MM)和基于詞頻統(tǒng)計的方法對句子分詞,將分詞后得到的語句視 為詞的向量,分別對各個關(guān)鍵詞進行匹配。然后在此基礎(chǔ)上利用動態(tài)規(guī)劃算法求出最優(yōu)路徑及語句相似度
[5]
。
1.1 相關(guān)定義 令 P 表示標準答案中的某一語句,Q 表示學生答案中的某一語句
。P 和 Q 分別表示如下: P={P1,P2,…,Pm},Q={Q1,Q2,…,Qm},其中 Pi 表示 P 語句中的一個關(guān)鍵詞,Qj 表示語句 Q 語句中的一個關(guān)鍵詞, 且 Pi=Pmi U Pgi, Qj=Qmj U Qgj,其中 Pmi 表示語句 P 中第 i 個詞的詞義集合,Pgi 表示語句 P 中第 i 個詞的詞性 集合;同理 Qmj 表示語句 Q 中第 j 個詞的詞義集合,Qgj 表示語句 Q 中第 j 個詞的詞性集合。為了便于進一步 討論給出以下幾個定義: 定義 1:詞義、詞性相似度。詞義、詞性相似度可分別表示為:SMij=SM(Pmi,Qmj),SGij=SM(Pgi,Qgj)。 定義 2:關(guān)鍵詞相似度。關(guān)鍵詞相似度 Wij=a×SMij+β×SGij 其中 a、β分別為詞義、詞性相似度的權(quán)值。 定義 3:詞向量的相似矩陣。用定義 2 計算出語句 P 和 Q 的所有關(guān)鍵詞的相似度 Wij(i=1,2,…,m;j=1,2,j=i=1,2,…,n),形成一個 m×n 矩陣 M,稱該矩陣為語句向量的相似矩陣。
定義 4: 拓展詞向量相似矩陣,對矩陣 M 進行如下拓展, 形成矩陣 M',令 M'0,0=0, M'i,0, M'0,j=0(i=1,2,…,m; j=1,2,…,n),則 M'i,j=max{M'i-1,j-1+Wij, M'i,j-1+γ,M'i-1,j+γ},其中,γ表示詞位置不對應時的懲罰系數(shù)。 1.2 語句相似度求解算法 (1)利用動態(tài)規(guī)劃法先求出 M'矩陣 。 (2)M'矩陣的初始化 創(chuàng)建一個(m+1,n+1)矩陣,矩陣的行表示標準答案語句 P 的每個詞,矩陣的列表示學生答案語句 Q 的每 個詞,利用定義 4 進行初始化,將 M'矩陣的 M'i,0,M'0,j 設(shè)置為 0.其中 i=0,1,2,…,m; j=0,1,2,…,n。 (3)利用定義 1、2、3、4 依次求解 M'矩陣中的每個元素 M'i,j。 (4)求解最優(yōu)相似矩陣 先從點(m,n)開始,到(1,1)結(jié)束。在點(i,j)上選擇 M'i-1,j-1+Wij,M'i,j-1+γ,M'i-1,j+γ最大者為最優(yōu)點, 所對應的 Mx, y 作為路徑的前一個節(jié)點(x,y)。如果出現(xiàn)三者中兩部分值相同且最大時,若該值在斜路徑上則 選擇斜路徑上(i-1,j-1)作為路徑的前一個節(jié)點;若不在斜路徑上,優(yōu)選水平方面(i-1,j)作為路徑的前一 個節(jié)點;依次遞推則選擇一條最優(yōu)路徑。這樣得到的路徑上就是一條最優(yōu)的路徑,路徑上最后一個點的值 M'm,n 表示了語句中所以詞的相似度之和。 設(shè) L 是標準答案語句的詞數(shù),則語句相似度為 Sim=M’m,n/L。 2 語義相似度計算算法 Dekang Lin 認為任何兩個事物的相似度取決于它們的共性(Commonality)和個性(Differentces),然 后從信息理論的角度給出任意兩個事物相似度的通用公式:
[7] [6]
其中分子是描述 A、B 共性所需要的信息量的大小;分母是完整地描述出 A、B 所需要的信息量大小。劉 群 認為兩個詞語的相似度是它們在不同的上下文中可以互相替換且不改變文本的句法語義結(jié)構(gòu)的可能性 大小。在本文中計算語義相似度是利用《知網(wǎng)》中詞語相似度的定義[9],可以把詞語語義相似度的計算歸 結(jié)為
“概念”相似度的計算;“概念”的相似度由描述它的“義原”的相似度得到。詞語存在著一詞多義的 現(xiàn)象,知網(wǎng)中的一詞多義表現(xiàn)為單個詞語有多個概念,每個概念由一項定義來描述。比如:“打”在“打架”, “打太極”,“打獵”中的意義各不相同,知網(wǎng)中對應的概念描述分別是: DEF = fight| 爭斗 DEF = exercise| 鍛煉,sport| 體育 DEF = catch| 捉住, # animal| 獸 詞語語義相似度的計算,嚴格來講應該是計算概念之間的語義相似度。本文中采用劉群的思路,認為兩 個詞語的語義相似度是其所有概念之間相似度的最大值。 Sim(c1,c2)=maxSim(C1i,C2j)(i=1,2,…,m;j=1,2,…,n) 其中, C1i 是詞 C1 的 m 項概念,C2j 是 C2 的 n 項概念。這樣就把兩個詞語之間的相似度問題歸結(jié)到了兩個 概念之間的相似度問題。本文利用語句相似度中分詞方法將詞語標注為概念,然后再對概念計算相似度。
[8]
2.1 義原相似度的計算 由于所有的概念都最終歸結(jié)于用義原來表示, 詞語整體相似度由部分相似度合成的,所以義原的相似 度計算是概念相似度計算的基礎(chǔ)。 所有的義原根據(jù)上下位關(guān)系構(gòu)成了一個樹狀的義原層次體系,這里采用劉 群的公式計算語義相似度的方法。
其中,S1、S2 表示兩個義原, distance(S1, S2)表示它們的路徑長度,a 是一個可調(diào)節(jié)的參數(shù)。在知網(wǎng) 的知識描述語言中,在一些義原出現(xiàn)的位置都可能出現(xiàn)一個具體詞(概念),并用圓括號( )括起來。所以本文 在計算相似度時還要考慮到具體詞和具體詞、具體詞和義原之間的相似度計算。理想的做法應該是先把具 體詞還原成知網(wǎng)的語義表達式,然后再計算相似度。 這樣做將導入函數(shù)的遞歸調(diào)用,有可能導致死循環(huán),反而 使算法變得很復雜。由于具體詞在知網(wǎng)的語義表達式中只占很小的比例,因此可以作如下處理:具體詞與義 原的相似度定義為一個比較小的常數(shù)γ。具體詞和具體詞的相似度按兩個詞相同則為 1 否則為 0。 2.2 概念相似度的計算 由義原相似度可以計算概念相似度,詞語整體相似要建立在部分相似的基礎(chǔ)上。把一個復雜的整體分 解成部分,通過計算部分之間的相似度得到整體的相似度。假設(shè)兩個整體 A 和 B 都可以分解成以下部分:A 分解成 A1, A2,…, An, B 分解成 B1, B2,…,Bm ,那么這些部分之間的對應關(guān)系就有 m ×n 種。但并不是這些 部分之間的相似度都對整體的相似度發(fā)生影響,所以應該選擇那些發(fā)生影響的部分之間的相似度,選擇出來 后再進一步得到整體的相似度。 在比較兩個整體的相似性時,首先要做的工作是對這兩個整體的各個部分之 間建立起一一對應的關(guān)系,然后在這些對應的部分之間進行比較。 如果某一部分的對應物為空則
將任何義原 (或具體詞)與空值的相似度定義為一個比較小的常數(shù)δ;其他整體的相似度通過部分的相似度加權(quán)平均得 到
[10]
。對于實詞概念的語義表達式,可以將其分成四個部分:
第一獨立義原描述式:將兩個概念的這一部分的相似度記為 Sim1(S1,S2); 其他獨立義原描述式:語義表達式中除第一獨立義原以外的所有其他獨立義原(或具體詞),將兩個概念 的這一部分的相似度記為 Sim2(S1,S2); 關(guān)系義原描述式:語義表達式中所有的關(guān)系義原描述式,將兩個概念的這一部分的相似度記為 Sim3(S1,S2); 符號義原描述式:語義表達式中所有的符號義原描述式,將兩個概念的這一部分的相似度記為 Sim4(S1,S2)。 于是兩個概念語義表達式的整體相似度記為:
其中,βi(1≤i≤4)是可調(diào)節(jié)的參數(shù),且有β1+β2+β3+β4=1,β1≥β2≥β3≥β4 。后者反映了 Sim1 到 Sim4 對于總體相似度所起到的作用依次遞減。由于第一獨立義原描述式反映了一個概念最主要的特征,所 以應該將其權(quán)值定義得相對比較大,一般應在 0.5 以上。 3 實驗測試與分析 以《操作系統(tǒng)》課程為實驗素材,選取 2006 級計算機專業(yè)學生的 90 份考卷中 4 道簡答題為例。每道 試題的分數(shù)是 10 分, 分別通過計算機自動評分和人工閱卷, 所得到的評分結(jié)果進行分析, 得到如下表所示:
其中誤差為自動評分與人工評分所得分數(shù)之差。由于系統(tǒng)中分詞詞典中缺少某些專用詞匯或由于語句 繁瑣較長, 可能導致得分的偏差。 但是對于主觀題來說,在人工評閱時, 也受到教師情緒等諸多因素的影響, 因此認為只要誤差小于 1 分的就認為得到了正確的評分。
本文綜合運用了語句層次結(jié)構(gòu)、句法、詞性、語義等特征來計算相似度,不僅考慮詞語的局部相似, 還從語句的整體出發(fā),考查了語句語義整體相似性,大大提高了相似度計算性能,降低了計算的時間復雜 度,同時也提高了主觀題自動評分的準確性,具有一定的實用價值。
1
【應用電子技術(shù)的論文】相關(guān)文章:
電工電子技術(shù)及應用教案04-25
應用電子技術(shù)求職信12-06
物聯(lián)網(wǎng)應用論文09-14
汽車電子技術(shù)的應用與發(fā)展趨勢淺析04-27
電力電子技術(shù)在電能傳輸領(lǐng)域中的應用04-27
應用電子技術(shù)專業(yè)求職信02-28