李 玲 何聚厚
1(陜西師范大學計算機科學學院 陜西 西安 710119)2(陜西師范大學現代教學技術教育部重點實驗室 陜西 西安 710062)
?
基于語義依存分析的句子相似性度量算法及應用研究
李 玲1何聚厚2*
1(陜西師范大學計算機科學學院 陜西 西安 710119)2(陜西師范大學現代教學技術教育部重點實驗室 陜西 西安 710062)
問答系統在MOOC(Massive Open Online Course)學習平臺中占有很重要的地位,但由于MOOC課程學習中用戶多、問題多的特點,快速準確地找到某一問題的答案,成為提升MOOC平臺用戶體驗的一個挑戰。為此,構建了面向常問問題集的問答系統,通過計算問句的相似性實現系統的自動問答。在現有的句子相似性度量方法基礎上,設計了基于語義依存關系的度量方法,并結合了句長、詞形、詞義等多種特征度量句子之間的相似性。實驗結果表明,該方法能夠較好地反映句子之間的語義差別,是一種可行有效的方法,且提高了系統的響應準確率。該系統具有較高應答準確率,具有較強使用價值和廣闊的應用前景。
MOOC 自動響應 問答 句子相似度 語義依存分析
大規模在線開放課程MOOC是基于網絡和移動智能技術的新型在線學習課程形式。自2012年MOOC元年以來,它作為一種全新的學習方式,不僅推動了現代遠程教育,更是給傳統教育,尤其是給高等教育帶來了巨大變革[1]。但是,由于地理上的分離,基于網絡的MOOC學習中,師生之間缺乏直接的互動。而答疑工作,作為教學活動過程中的一項必不可少的環節,開展效果將直接影響到教學質量的高低。在現代MOOC教學中,大多數MOOC課程利用在討論區提問的方式進行答疑,如edX、學堂在線、中國大學MOOC等平臺,教師可根據學習者的反饋予以定期答疑,哈佛大學曾在edX上開設《China》課程[2],每周兩位主講教師會收集上周學習參與者們提出來的具有代表性的問題,專門制作一個答疑視頻(Office Hours),幫助師生的互動交流。一些MOOC課程會根據需要通過QQ、Facebook等社交、通信平臺進行交互,但要獲得及時答疑的前提是雙方同時在線,例如在愛丁堡大學的EDC MOOC[3]中,教師利用Google Hangout進行定期視頻答疑,要求學習者必須在規定的時間登錄到Google Hangout。也有少數教學平臺帶有自己的問答平臺,如網絡課程聯盟Coursera、中國的慕課網等,學生可以提出問題讓其他學生回答,據統計,Coursera的回答時間中間值為22分鐘[4]。就目前存在的答疑方式來看,學習者碰到的問題無法在第一時間得到教師的輔導,學習者缺乏及時的指導,難以達到好的學習效果。同時,MOOC課程最主要的特征是大規模和開放性[5],為數眾多的學習者導致教師沒有足夠的時間和精力回答每一個提問。如何快速準確地找到某一問題的答案,成為提升MOOC平臺用戶體驗的一個挑戰。
自動問答(Question Answering Track)系統的作用和搜索引擎相似,能夠為用戶提供相關問題的答案。不同的是,它既能夠讓學習者用自然語言提問,不需要將問句分解為關鍵字,又能夠返回一個簡潔、準確的答案,而不是一些相關的網頁,能夠比搜索引擎更準確地找出用戶所需要的答案,滿足用戶的檢索需求[7]。將自動問答技術應用于MOOC學習平臺,在一定范圍內自動回答學習者提出的問題,使學習者能夠及時解決疑難問題,以便后續學習,不僅提高了時效性和資源復用率,而且能夠幫助教師進行分析、統計,發現學習者的薄弱之處,改善教學中的不足,提高教學效果。為此,本文設計了面向常問問題集FAQ(Frequently Asked Question)的問答系統,常問問題集中保存了用戶經常問的問題及答案,當用戶提問時,系統首先在常用問題集中查找是否有相同或相似問題存在,如果有,那么直接給用戶提供該問題的答案,完成自動響應,方便快捷地解答了學習者學習過程中遇到的疑惑,具有較強的實用價值。
在FAQ問答系統中,系統能否高效地完成自動響應的核心是問句與問句之間的相似性度量是否合理,其中,計算方法的時間復雜度和結果的準確率對問答系統的效率有直接影響。目前,常用的句子間相似性度量方法有以下幾種。
1.1 基于相同詞的句子相似性度量方法
基于相同詞的句子相似性度量,也叫做詞形相似度,反映的是兩個句子包含的詞語在形態和結構上的相似程度,一般使用兩個句子含有的相同詞的個數作為衡量標準。這種方法計算簡單且效率高,但是由于沒有利用到句子的語義和語法信息,結果不是很準確。
1.2 基于語義詞典的句子相似性度量方法
基于語義詞典的相似性度量方法是以語義詞典作為語義分類體系得到詞語間相似度,在此基礎上進行句子相似性度量。語義詞典是詞語語義相似性度量的基礎,目前常用的英文語義詞典有WordNet、MindNet等,中文語義詞典有《知網》(HowNet)[8]、《同義詞詞林》等。利用語義詞典度量詞語相似性的主要思想是:首先利用語義詞典中概念間的多種語義關系(上下位、反義和同義等)計算得到概念與概念間的語義距離,再根據概念之間的語義距離計算得到概念之間的語義相似度,最后由概念之間的語義相似性計算得到詞語間的語義相似度。但是由于這一方法沒有考慮到句子的句法結構和詞與詞的相互作用關系,結果并不是很準確。
1.3 基于編輯距離的句子相似性度量方法
編輯距離是指從句子A變化成為句子B所需要的最少編輯操作次數。編輯操作指的是對句子進行的插入、刪除和替換操作,一般指定位置的單個字符操作被稱為一次編輯操作。編輯距離應用的成果較少,主要被用于句子的快速模糊匹配領域,文獻[21]將其應用到了句子檢索系統中,不僅使用了編輯距離算法進行句子檢索,同時利用語義詞典來彌補編輯距離在語義信息方面的缺失,并用實驗證明了方法的有效性。
1.4 基于依存句法的句子相似性度量方法
依存句法是1959年法國語言學家L.Tesniere最先提出的概念。它將句子分析成一顆依存句法樹,描述出各個語言單位之間的依存關系,指出了各個句子成分之間在句法上的搭配關系,這種搭配關系是和語義密切聯系的。依存句法分析能夠反映出句子當中各語義成分之間的相互修飾關系,與各成分在句中的物理位置無關,因此可以長距離搭配。如何找出句子中各成分的依存關系是使用依存結構度量句子相似性的核心問題。在利用句法結構進行相似性度量時,一般只考慮那些構成有效搭配對的相似程度,也就是整個句子的中心詞和直接和中心詞依存的有效詞(名詞、動詞和形容詞)組成的搭配對。文獻[25]獲取句子中的詞語搭配和構成特征時利用了依存句法理論,并進行了實驗對比,證明了該方法能夠可行有效地反應句子之間的語義差別。
1.5 基于角色標注的句子相似性度量方法
通常的句子相似性度量方法都很少包含語義信息,而基于語義角色標注的句子相似性度量不僅考慮了語法信息,同時將語義信息融入其中。語義角色標注作為句子深層語義分析的一個過度階段,將其應用到句子相似性度量中有很重要的作用。文獻[26]利用了語義角色來度量句子的相似性,將語義角色標注結構相似性引入到句子相似性度量中。本文在此基礎上將語義角色改為語義依存分析的結果,不僅包含語義角色,還包含句法結構和二級語義關系,后文用實驗證明了此算法的有效性。
2.1 基于語義依存分析的句子相似度
語義角色標注結構中包含著豐富的語義信息。文獻[19]和文獻[26]都提出了利用語義角色來度量句子的相似性,但語義角色只關注句子主要謂詞的論元及謂詞與論元之間的關系,而語義依存不僅關注謂詞與論元的關系,還關注謂詞與謂詞之間、論元與論元之間、論元內部的語義關系。語義依存分析對句子語義信息的刻畫更加完整全面,是句法和語義的進一步深化。因此本文在此基礎上提出一種基于語義依存分析的句子相似性度量方法,計算過程中使用哈工大社會計算與信息檢索研究中心研發的 “語言技術平臺(LTP)”[11]進行句法分析,利用分析結果進行計算。
語義依存關系包括:主要語義角色,每一種語義角色對應存在一個嵌套關系和反關系;事件關系,描述兩個事件間的關系;語義依附標記,標記說話者語氣等依附性信息[11]。正是由于語義依存分析包含如此豐富的信息,所以如何利用這些有用信息來計算句子的相似度就成為我們研究工作中的研究重點。衡量整個句子的語義時,通常情況下標點、語氣、連詞、介詞等因素對語義的影響較小,在計算時將這類標記忽略,只計算有實際含義的語義依存角色。計算過程如下:
(1) 相同語義依存角色的個數
(1)
SameRole(S1,S2)表示句子S1與句子S2中所包含的相同的語義依存角色數目,Role(S1)和Role(S2)表示句子S1和S2各自包含的語義依存角色數目。
(2) 相同語義依存角色在句子中的位置
(2)
(3)
其中,r1i與r2i表示句子S1與S2中第i個相同的語義角色,dis(r1i)和dis(r2i)表示該角色距離語義依存句法樹根結點的距離,距離越接近,句子越相似。
(3) 基于語義依存分析的句子相似度SdpSim(S1,S2)=αSdpSim1(S1,S2)+βSdpSim2(S1,S2)
(4)
經過實驗,α=0.2,β=0.8時,計算結果最為有效。
2.2 多因素的句子相似性度量
句子之間的相似性受到很多因素的影響,例如詞形、句長、詞序、詞語含義、句法結構等。兩個句子的相似程度不僅和句子的語義信息相關,也和句子的句法信息相關,要想取得理想的效果就不能單純考慮其中的單一方面。因此,我們在處理過程中把上面提到的這些因素分別看成句子的不同特征項,綜合利用這些特征項,根據重要性來配給不同的權重,得到句子的最終相似度。計算過程如下:
(1) 詞形相似度
根據兩句話中出現的相同詞語來衡量句子的相似性。句子S1和S2 的詞形相似度為:
(5)
其中,Len(S1)和Len(S2)分別表示兩個句子的詞數,SameWord是兩個句子包含的相同詞的個數。
(2) 句長相似度
句子長度在一定程度上也反映了句子之間的相似程度,長度越接近的兩個句子相似程度越大。設S1、S2為兩個句子,則S1和S2 的句長相似度為:
(6)
其中,和Len(S2)分別表示兩個句子的詞數。
(3) 語義相似度
本文采用《知網》作為語義詞典來度量句子之間的相似性。設S1、S2為兩個句子,S1包含的詞為A1,A2, …,Am,S2包含的詞為B1,B2, …,Bn,利用文獻[9]的方法計算出詞Ai(1≤i≤m)和Bj(1≤j≤n)之間的相似度為S(Ai,Bj),則句子S1與S2之間的語義相似度為:
(7)
其中:
ai=max(S(Ai,B1),S(Ai,B2),…,S(Ai,Bn))
(8)
bi=max(S(A1,Bj),S(A2,Bj),…,S(Am,Bj))
(9)
(4) 句子相似度
基于多因素的句子相似性度量模型的計算公式如下:
SenSim(S1,S2) =γ1WordSim(S1,S2)+
γ2LenSim(S1,S2)+
γ3SematicSim(S1,S2)+
γ4SdpSim(S1,S2)
(10)
其中:
γ1+γ2+γ3+γ4=1
3.1 系統處理流程
該問答系統數據庫包含了一個常用問題庫,為加快查找和計算效率,問題經過預處理,標注了分詞結果、詞性和語義依存關系。當用戶輸入問題時,系統首先判斷是否合法,如果不是,則提示用戶提問非法,用戶重新提問。
系統判斷是合法問句后,首先利用哈工大的 “語言技術平臺(LTP)” 為基礎對用戶問句進行詞法分析、命名實體識別、依存句法分析、語義角色標注,得到詞語信息的集合;查找計算之前,首先進行停用詞過濾處理,去除那些對句子整體意思影響不大的詞匯(如介詞、語氣詞等),提高相似性度量的準確性,降低向量空間模型的維度,提高查找效率。然后在數據庫中查找備選問題。將用戶輸入的問題和備選問題進行句子相似性度量,選擇計算結果相似性最大的問題,判斷是否大于閾值。大于則返回常問問題庫中對應問題的答案,小于則將問題提交給對應的教師或者管理員。MOOC學習平臺下的中文自動問答系統的處理流程如圖1所示。

圖1 問答系統處理流程
3.2 系統界面

圖2 問答系統聊天界面
3.3 對比實驗
結合本文應用場景為MOOC網絡學習平臺,實驗數據采用與《論語》課程相關的語料構造的問答庫,語料來源于互聯網綜合數據交易和服務網站“數據堂”。
(1) 計算結果對比

表1 加入語義依存分析前后對比實驗
從表1可以看出,基于詞形、句長、詞義和語義依存分析多重因素考慮句子之間的相似度,比單純基于語義詞典的相似性度量結果更為準確。
(2) 系統響應正確率
測試問題數為100條,其中20條在問題庫中有相應的問題和答案,60條是經過問句的變形提問并在問題庫中都有答案,剩余20條在問題庫中沒有對應提問和答案。經過實驗對比,查找問句時,設置閾值為0.7。選擇相似度最大的問句,若相似度大于等于0.7,將該問題對應的答案返回;若小于0.7,那么認為該問題集中沒有用戶所提問題的答案。實驗結果對比如表2所示。

表2 各因素不同權重的實驗對比
如表2所示,實驗組(1)中句子相似性度量只考慮基于語義詞典的詞義相似度;實驗組(2)和(3)在(1)的基礎上加入了詞形和句長的計算,句子查找的正確率有一定提高,但是效果不明顯;實驗組(4)、(5)、(6)在(2)、(3)的基礎上考慮了語義角色和句法結構,將基于語義依存分析的句子相似性度量結合進去,查找正確率明顯提高。從上圖的實驗結果來看,計算句子相似度時,詞形、句長、詞義和語義依存分析分別占權重為0.05、0.20、0.70、0.05時,系統的準確率最高。
MOOC作為全新的學習方式,在現代教育中應用越來越廣泛,但由于MOOC課程學習中用戶量大、問題多,快速準確地找到某一問題的答案,成為提升MOOC平臺用戶體驗的一個挑戰。自動問答技術是自然語言處理領域的研究熱點,被稱為“第二代搜索引擎”,擁有廣闊的應用前景。將自動問答技術應用在MOOC平臺中,可以有效解決師生交流的不及時和問答資源不能重復利用的問題。本文設計了基于依存句法分析的句子相似性度量方法,并結合詞形、句長、詞義多重因素度量句子之間的相似性,在此基礎上實現了原型系統并進行了實驗。實驗結果實驗證明,將語義依存分析應用到問答系統句子相似性度量中,能夠更加精確地反映問答數據的特征,使系統性能得到改善,有很高的研究和應用價值。今后的工作將繼續研究句子相似性度量的方法和效率,不斷提高問答系統的性能。
[1] 王文禮. MOOC的發展及其對高等教育的影響[J]. 江蘇高教,2013(2):53-57.
[2] 李青,王濤. MOOC:一種基于連通主義的巨型開放課程模式[J]. 中國遠程教育,2012(3):30-36.
[3] 馬武林,張曉鵬. 大規模開放課程(MOOCs)對我國大學英語課程設置的啟示研究——以英國愛丁堡大學EDC MOOC為例[J]. 電化教育研究,2014(1):52-57.
[4] 科勒.我們能從在線教育中學到什么?[OL].http://www.ted.com/talks/daphne_koller_what_we_re_learning_from_online_education.html.
[5] 陳肖庚,王頂明. MOOC的發展歷程與主要特征分析[J]. 現代教育技術,2013(11):5-10.
[6] 鄭實福, 劉挺, 秦兵. 中文自動問答系統綜述[J]. 中文信息學報, 2002, 6(16): 46-52.
[7] 毛先領, 李曉明. 問答系統研究綜述[J] . 計算機科學與探索, 2012,6(3):193-207.
[8] 董強,董振東. 知網簡介[EB/OL]. [2013-01-29]. http://www. keenage. com/.
[9] 劉群, 李素建. 基于《知網》的詞匯語義相似度計算[C]// 第三屆中文詞匯語義學研討會. 中國臺北, 2002.
[10] Huang Gaitai, Yao Hsiuhsen. Chinese question answering system[J].Journal of Computer Scienceand Technology, 2008, 19(4):479-488.
[11] Che Wanxiang, Li Zhenghua, Liu Ting. LTP: A Chinese Language Technology Platform[C]// COLING 2010, International Conference on Computational Linguistics, Demonstrations Volume, 23-27 August 2010, Beijing, China. DBLP, 2010:13-16.
[12] Zhu Z Y, Dong S J, Yu C L, et al. A text hybrid clustering algorithm based on HowNet semantics[C]// ICAMCS 2011: 2011 International Conference on Advanced Materials and Computer Science. Zurich: Trans Tech Publications Ltd, 2011:474-476.
[13] 張亮. 面向開放域的中文問答系統問句處理相關技術研究[D]. 南京:南京理工大學, 2006.
[14] 李歡. 問答系統中的文本信息抽取研究與應用[D].北京: 中國科學技術大學, 2009.
[15] 劉朝濤. 中文問答系統中的句型理論及其應用研究 [D]. 重慶:重慶大學, 2010.
[16] 吳全娥. 漢語句子相似度計算及其在自動問答系統中的應用[D]. 西南大學,2011.
[17] 王肖磊. 自動問答系統的研究與應用[D] . 北京: 北京郵電大學,2015.
[18] 邢超. 智能問答系統的設計與實現[D]. 北京: 北京交通大學,2015.
[19] 張祎挺. 語義角色標注及其在句子相似度計算上的應用[D]. 北京: 北京郵電大學,2008.
[20] 裴婧, 包宏. 漢語句子相似度計算在FAQ中的應用[J]. 計算機工程, 2009,35(17):46-48.
[21] 車萬翔, 劉挺, 秦兵, 等. 基于改進編輯距離的中文相似句子檢索[J]. 高技術通訊, 2004, 14(7):15-19.
[22] 劉寶艷, 林鴻飛, 趙晶. 基于改進編輯距離和依存文法的漢語句子相似度計算[J]. 計算機應用與軟件, 2008,25(7):33-34, 47.
[23] 薛慧芳. 句子相似度計算理論及應用研究[D]. 西安: 西北大學,2011.
[24] 李茹, 王智強, 李雙紅, 等. 基于框架語義分析的漢語句子相似度計算[J]. 計算機研究與發展, 2013, 50(8): 1728-1736.
[25] 吳佐衍, 王宇. 基于HNC理論和依存句法的句子相似度計算[J]. 計算機工程與應用, 2014,50(3):97-102.
[26] 王志青. 基于語義角色標注的句子相似度計算[D]. 北京: 北京郵電大學,2014.
[27] 鄭誠,李清,劉福君. 改進的VSM算法及其在FAQ中的應用[J]. 計算機工程,2012,38(17):201-204.
[28] 李春梅,徐慶生. 基于多特征的漢語句子相似度計算模型的研究[J]. 計算機技術與發展, 2014(6):136-139, 144.
[29] 張培穎,房龍云. 多特征結合的詞語相似度計算模型[J]. 計算機技術與發展, 2014(12):37-40.
CHINESE SENTENCE SIMILARITY COMPUTATION AND APPLICATION BASED ON SEMANTIC DEPENDENCY PARSING
Li Ling1He Juhou2*
1(SchoolofComputerScience,ShaanxiNormalUniversity,Xi’an710119,Shaanxi,China)2(KeyLaboratoryofModernTeachingTechnology,MinistryofEducation,ShaanxiNormalUniversity,Xi’an710062,Shaanxi,China)
Question answering system makes a big difference on MOOC learning platform, but since number of users and questions is so large that how to find the certain answer to a question quickly and accurately is a challenge to enhance user experience. So a frequently asked question system was designed to response question automatically. Based on the existing similarity calculation methods, this paper proposed a similarity calculation method according to semantic dependency parsing and multiple characteristics between sentences such as same words, sentence-length, and semantic of words. Test result shows that this method can reveal sentence difference better improve the accuracy of the response. This system has high response accuracy, has high practical value and wide application prospects.
MOOC Auto respond Question and answer Sentence similarity Semantic dependency parsing
2016-07-26。教育部-中國移動科研基金項目(MCM20150604)。李玲,碩士生,主研領域:網絡與遠程教育。何聚厚,副教授。
TP311
A
10.3969/j.issn.1000-386x.2017.07.045