黃 洪,豐 旭
(浙江工業(yè)大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,浙江 杭州 310023)
涉及地名的句子相似度計(jì)算方法的改進(jìn)
黃洪,豐旭
(浙江工業(yè)大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,浙江 杭州 310023)
摘要:在計(jì)算涉及地名的句子相似度時(shí),地名有著特別的重要性.如果不恰當(dāng)?shù)貙?duì)地名進(jìn)行處理,不體現(xiàn)出地名對(duì)于句子的重要性以及地名間的差異性,會(huì)導(dǎo)致相似度計(jì)算結(jié)果不甚合理.提出了一種改進(jìn)的句子相似度計(jì)算方法.該方法在計(jì)算地名詞語(yǔ)相似度時(shí)利用了地名在地理樹(shù)中的層次關(guān)系以及從百度地圖API獲得的經(jīng)緯度坐標(biāo),在計(jì)算非地名詞語(yǔ)相似度時(shí)則利用了HowNet知識(shí)庫(kù),通過(guò)對(duì)地名詞語(yǔ)和非地名詞語(yǔ)賦予不同的權(quán)重來(lái)體現(xiàn)地名的重要性,并計(jì)算出句子的整體語(yǔ)義相似度,再結(jié)合句子結(jié)構(gòu)的相似度計(jì)算出句子的綜合相似度.實(shí)驗(yàn)表明:改進(jìn)后的新方法對(duì)于計(jì)算涉及地名的句子相似度可以取得更理想的結(jié)果.
關(guān)鍵詞:句子相似度;地名;地理樹(shù);經(jīng)緯度
An improved calculation method for sentence similarity with
place names involved
HUANG Hong, FENG Xu
(College of Computer Science and Technology, Zhejiang University of Technology, Hangzhou 310023, China)
Abstract:Place names are of special importance when the similarity of sentences involving place names is calculated. The calculation results will not be reasonable if an algorithm improperly deal with place names. This paper proposes an improved method of Chinese sentence similarity calculation. This method uses the latitude and longitude coordinates obtained by Baidu map API and the hierarchical relationship in geographical tree when the similarity of place names is calculated. The HowNet is used to calculate the similarity between non-place names words. Then it gives different weights to place name words and non-place name words in order to obtain the semantic similarity of sentences. Finally the similarity of two Chinese sentences is calculated combining the sentences’ semantic similarity with structure similarity. Experiments show that this improved method can achieve better results for the calculation of the sentence similarity involving place names.
Key words:sentence similarity; place names; geographical tree; coordinates
相似度計(jì)算一直是人工智能和自然語(yǔ)言處理領(lǐng)域的一個(gè)研究熱點(diǎn)[1],句子相似度計(jì)算在自然語(yǔ)言處理的很多領(lǐng)域都有著十分廣泛的應(yīng)用,如:?jiǎn)柎鹣到y(tǒng)、文本分類(lèi)等,句子相似度主要是指兩個(gè)句子在語(yǔ)法、語(yǔ)義和語(yǔ)用等方面的相似程度.在理解涉及地名的句子時(shí),地名往往具有特別的重要性.由于地名間的天然關(guān)系,在計(jì)算涉及地名的句子相似度時(shí),也需要對(duì)地名進(jìn)行特殊處理.我們?cè)谘芯柯糜螁?wèn)答系統(tǒng)時(shí)發(fā)現(xiàn):地名間的相似度是反映句子相似度的一個(gè)重要因素.但是,在現(xiàn)有的句子相似度研究中,還沒(méi)有考慮到地名的特殊性和重要性.目前,中文句子相似度的計(jì)算方法大致可以分為以下幾類(lèi):第一類(lèi)為基于特征詞的方法,該方法從兩個(gè)句子中分別提取特征詞,通過(guò)它們的特征詞間的相似度來(lái)反映兩個(gè)句子的相似度,程志強(qiáng)等[2]提出建立領(lǐng)域特征集,利用向量空間模型的方法計(jì)算句子相似度.第二類(lèi)為基于語(yǔ)義詞典的方法,通過(guò)詞語(yǔ)相似度來(lái)反映句子相似度的,而詞語(yǔ)相似度的計(jì)算需要依賴于比較完備的大型語(yǔ)義詞典,秦兵等[3]提出利用HowNet知識(shí)庫(kù)對(duì)兩個(gè)句子中所有詞語(yǔ)兩兩之間進(jìn)行相似度計(jì)算,將相似度最高的兩個(gè)詞語(yǔ)作為最優(yōu)匹配對(duì),最后將所有最優(yōu)匹配的詞語(yǔ)對(duì)的相似度進(jìn)行加權(quán)平均得到句子語(yǔ)義相似度.第三類(lèi)為基于句法結(jié)構(gòu)的方法,通過(guò)對(duì)兩個(gè)句子進(jìn)行句法結(jié)構(gòu)分析來(lái)計(jì)算兩個(gè)句子在句法結(jié)構(gòu)上的相似性,HU Jinzhu等[4]認(rèn)為通過(guò)兩個(gè)句子的詞性序列獲得最優(yōu)匹配的相同詞性序列后,利用句子的詞性相似度和詞形相似度來(lái)反映句子結(jié)構(gòu)相似度.
在計(jì)算涉及地名的句子的相似度時(shí),三類(lèi)方法沒(méi)有很好地對(duì)地名進(jìn)行處理,例如:對(duì)于“南京有哪些好玩的地方”和“杭州有哪些好玩的地方”兩個(gè)句子,三類(lèi)方法的計(jì)算結(jié)果都為1.0,實(shí)際上“南京”和“杭州”在地理位置上比較接近,文化環(huán)境較為相似,因此兩個(gè)句子具有一定的相似性,但是并不完全相同,計(jì)算結(jié)果為1.0是不符合主觀判斷的.導(dǎo)致這種情況的原因主要有以下幾種:第一類(lèi)方法只考慮了詞語(yǔ)在句中出現(xiàn)的頻率,沒(méi)有考慮詞語(yǔ)的語(yǔ)義信息;第二類(lèi)方法雖然考慮了語(yǔ)義信息,但是在HowNet常識(shí)知識(shí)庫(kù)中地名的收集不夠全面,并且沒(méi)有對(duì)地名進(jìn)行明確的區(qū)分,使得已存在HowNet知識(shí)庫(kù)中的大部分地名間的相似度都為1.0,而不存在HowNet知識(shí)庫(kù)中的大部分地名間的相似度為0.0;第三類(lèi)方法只考慮了句子結(jié)構(gòu)的相似度,沒(méi)有考慮詞語(yǔ)語(yǔ)義信息,只要結(jié)構(gòu)相同,兩個(gè)句子相似度就相同.因此針對(duì)地名構(gòu)建了一個(gè)以中國(guó)為根節(jié)點(diǎn)的地理樹(shù),同時(shí)獲取所有地名的經(jīng)緯度坐標(biāo)作為對(duì)此地理樹(shù)的一個(gè)補(bǔ)充,最后提出了一種新的涉及地名的句子相似度計(jì)算方法.該方法通過(guò)句子的詞類(lèi)信息將句子分成地名詞語(yǔ)集合和非地名詞語(yǔ)集合,分別計(jì)算兩個(gè)句子對(duì)應(yīng)集合間的相似度,同時(shí)賦予地名詞語(yǔ)和非地名詞語(yǔ)不同的權(quán)重,獲得句子整體語(yǔ)義相似度,再結(jié)合句子的結(jié)構(gòu)相似度,最終得到句子的整體相似度.實(shí)驗(yàn)結(jié)果表明,該方法在計(jì)算涉及地名的句子相似度時(shí)更符合人們的主觀判斷.
1涉及地名的句子相似度算法的改進(jìn)
考慮到地名在句中的重要性和特殊性,將地名術(shù)語(yǔ)和非地名術(shù)語(yǔ)分離出來(lái),分別計(jì)算地名詞語(yǔ)相似度和非地名詞語(yǔ)相似度,同時(shí)考慮到句子結(jié)構(gòu)對(duì)于句子相似度存在一定的影響,將句子結(jié)構(gòu)相似度融入到句子相似度中.主要做了以下幾個(gè)方面的工作.
1.1地名詞語(yǔ)相似度計(jì)算
在自然語(yǔ)言處理的很多應(yīng)用中,經(jīng)常會(huì)出現(xiàn)許多地名術(shù)語(yǔ).如果利用基于HowNet的方法計(jì)算地名術(shù)語(yǔ)相似度,由于HowNet知識(shí)庫(kù)中存放的地名太少,且沒(méi)有具體區(qū)分,使得許多尚未記錄在HowNet知識(shí)庫(kù)中的地名間的相似度為0.0,而已存在HowNet知識(shí)庫(kù)中的地名間的相似度大部分為1.0,這樣的結(jié)果是不符合人的主觀判斷的;如果利用傳統(tǒng)的基于字符串匹配的方法計(jì)算這些術(shù)語(yǔ)的相似度則得到的結(jié)果大多為0.0,但是實(shí)際上,這些地名術(shù)語(yǔ)在地理位置、文化環(huán)境上都是存在一定相似性的.利用《中國(guó)地名錄》以及由數(shù)據(jù)堂提供的“全國(guó)地名地物詞典”等資料構(gòu)建了一個(gè)地理樹(shù),以中國(guó)為根節(jié)點(diǎn),利用地名間的下屬關(guān)系將每個(gè)地名表示成樹(shù)中的節(jié)點(diǎn),部分地理樹(shù)如圖1所示.
圖1 地理樹(shù)部分結(jié)構(gòu)圖Fig.1 The part of geography tree structure
在計(jì)算兩個(gè)地名間的相似度時(shí),由于考慮到地理樹(shù)中子節(jié)點(diǎn)是父節(jié)點(diǎn)的一個(gè)分支,兩節(jié)點(diǎn)間距離、公共節(jié)點(diǎn)深度以及兩節(jié)點(diǎn)深度差三個(gè)要素對(duì)兩地名節(jié)點(diǎn)間的相似度計(jì)算存在著重要的影響,地名gi和地名gj在地理樹(shù)中的相似度計(jì)算式為
(1)
式中:deep(gi∩gj)為地名gi和地名gj在地理樹(shù)中的最近公共父節(jié)點(diǎn)距離根節(jié)點(diǎn)的路徑長(zhǎng)度;deep(gi)為地名gi在地理樹(shù)中距離根節(jié)點(diǎn)的路徑長(zhǎng)度,假設(shè)初始根節(jié)點(diǎn)的路徑長(zhǎng)度deep(中國(guó))為1.
利用地理樹(shù)的層次關(guān)系計(jì)算兩地名間的相似度在一定程度上能達(dá)到較好的效果,但是對(duì)于計(jì)算同一父節(jié)點(diǎn)下的所有地名中任意兩地名間的相似度結(jié)果都相同,因此,在研究了相關(guān)地理信息系統(tǒng)GIS[5]后,考慮引入地名的經(jīng)緯度坐標(biāo)作為地理樹(shù)的一個(gè)重要補(bǔ)充.地名的經(jīng)緯度坐標(biāo)通??梢酝ㄟ^(guò)一些定位查詢軟件[6]進(jìn)行獲取,百度地圖API[7]是一套為開(kāi)發(fā)者免費(fèi)提供的基于百度地圖的應(yīng)用程序接口,提供基本地圖展現(xiàn)、搜索、定位、路線規(guī)劃、LBS云存儲(chǔ)與檢索等功能.通過(guò)利用百度地圖API的接口獲得每一個(gè)地名的經(jīng)緯度,最后將經(jīng)緯度作為地名gi和gj的向量坐標(biāo),利用余弦值來(lái)表示兩個(gè)地名在經(jīng)緯度上的相似度,計(jì)算式為
(2)
式中:xi為地名gi的經(jīng)度值;yi為地名gi的緯度值.
利用上述對(duì)地名術(shù)語(yǔ)相似度計(jì)算有著重要影響的兩個(gè)因素:地理樹(shù)層次關(guān)系以及地名經(jīng)緯度坐標(biāo),得到計(jì)算地名術(shù)語(yǔ)整體相似度的公式為
Sim(gi,gj)=αSimg(gi,gj)+βSiml(gi,gj)
(3)
式中α和β為調(diào)節(jié)參數(shù),α+β=1.經(jīng)多次實(shí)驗(yàn)發(fā)現(xiàn),當(dāng)α=0.6,β=0.4時(shí)計(jì)算結(jié)果能夠體現(xiàn)地名間的差異性,也較為符合人們主觀判斷.
如果待比較的句子中獲得的地名在地理樹(shù)中存在歧義,例如“海底世界有哪些好玩的東西”經(jīng)過(guò)分詞后會(huì)得到一個(gè)地名“海底世界”,但是句中并沒(méi)有其他地名明確指出這是哪個(gè)地名下的“海底世界”,那么這個(gè)“海底世界”可能是杭州的“海底世界”,也可能是南京的“海底世界”,或者其他地方的“海底世界”,即“海底世界”無(wú)法在地理樹(shù)中獲得一個(gè)惟一的值.考慮到人們主觀上通常詢問(wèn)的都是兩個(gè)較為相近的地名之間的比較,例如:“海底世界”和“杭州海洋公園”,主觀上人們會(huì)認(rèn)為詢問(wèn)的是“杭州海底世界”和“杭州海洋公園”的比較,因此可以通過(guò)以下方法來(lái)計(jì)算地名不惟一時(shí)兩個(gè)待比較的地名gi和gj的相似度:
1) 當(dāng)gi惟一,gj不惟一時(shí),即gi在地理樹(shù)中獲得相對(duì)應(yīng)的地名Gi,gj在地理樹(shù)中獲得若干個(gè)相對(duì)應(yīng)的地名{G1j,…,Gtj},通過(guò)式(3)將Gi和{G1j,…,Gtj}中的每一個(gè)地名進(jìn)行相似度計(jì)算,取相似度值最大的兩個(gè)地名的相似度作為gi和gj的相似度并用于句子的相似度計(jì)算.
2) 當(dāng)gi不惟一,gj也不惟一時(shí),取gi在地理樹(shù)中對(duì)應(yīng)的歧義地名集合{G1i,…,Gni},gj在地理樹(shù)中對(duì)應(yīng)的歧義地名集合{G1j,…,Gtj},通過(guò)式(3)將{G1i,…,Gni}中的每一個(gè)地名和{G1j,…,Gtj}中的每一個(gè)地名兩兩進(jìn)行相似度計(jì)算,取最大值作為gi和gj的相似度值并用于句子相似度的計(jì)算.
1.2非地名詞語(yǔ)相似度計(jì)算
國(guó)內(nèi)外對(duì)詞語(yǔ)相似度的計(jì)算方法大致可以分為兩類(lèi):基于統(tǒng)計(jì)的方法和基于語(yǔ)義詞典的方法.基于統(tǒng)計(jì)的方法是通過(guò)計(jì)算兩個(gè)詞語(yǔ)所處的上下文環(huán)境的相似度來(lái)度量?jī)蓚€(gè)詞語(yǔ)的相似度的,王石等[8]通過(guò)利用詞語(yǔ)的搭配詞作為其上下文來(lái)計(jì)算詞語(yǔ)的相似度,該方法建立在大規(guī)模語(yǔ)料庫(kù)的基礎(chǔ)上,屬于經(jīng)驗(yàn)主義方法.基于語(yǔ)義詞典的方法是利用已有的語(yǔ)義詞典中概念的上下位關(guān)系,通過(guò)計(jì)算兩個(gè)概念在樹(shù)狀層次體系中的距離來(lái)得到詞語(yǔ)相似度,屬于理性主義方法,例如:基于WordNet語(yǔ)義詞典,AHSAEEMG等[9]和KIMTANIDK等[10]通過(guò)計(jì)算兩個(gè)概念節(jié)點(diǎn)之間的最短路徑來(lái)計(jì)算詞語(yǔ)間的相似度;基于HowNet的語(yǔ)義詞典結(jié)構(gòu),劉群等[11]、江敏等[12]、王小林等[13]和崔淑潔等[14]提出了通過(guò)義原樹(shù)中的上下位關(guān)系計(jì)算相似度的方法;基于同義詞詞林,YUZhengtao等[15]和田久樂(lè)等[16]提出了利用樹(shù)形圖中的節(jié)點(diǎn)間路徑距離獲得相似度的方法.
直接使用劉群等[11]提出的利用HowNet計(jì)算詞語(yǔ)相似度的方法,計(jì)算詞語(yǔ)相似度公式為
(4)
式中:W1和W2為兩個(gè)詞語(yǔ);C1i為詞語(yǔ)W1中的某個(gè)義項(xiàng);C2j為詞語(yǔ)W2中的某個(gè)義項(xiàng),詞語(yǔ)相似度是利用兩個(gè)詞語(yǔ)的所有義項(xiàng)之間相似度的最大值來(lái)表示的.
1.3句子結(jié)構(gòu)相似度計(jì)算
句子結(jié)構(gòu)相似度反映了兩個(gè)句子在整體結(jié)構(gòu)上的相似程度,是影響句子相似度的一個(gè)重要因素.王榮波等[17]利用詞類(lèi)信息經(jīng)過(guò)正向匹配和反向匹配后獲得兩個(gè)句子結(jié)構(gòu)的詞類(lèi)最優(yōu)匹配序列,從而得到句子的結(jié)構(gòu)相似度;LANYanling等[18]將兩個(gè)句子的詞性信息組成詞性矩陣,利用對(duì)應(yīng)詞間距獲得結(jié)構(gòu)相似度.在計(jì)算句子結(jié)構(gòu)相似度時(shí)只考慮句長(zhǎng)相似度和詞序相似度.句長(zhǎng)相似度反映了句子在整體長(zhǎng)度上的相似程度,計(jì)算公式為
(5)
式中:S為長(zhǎng)句;T為短句;Len(S)為長(zhǎng)句S分詞后詞語(yǔ)的個(gè)數(shù);Len(T)為短句T分詞后詞語(yǔ)的個(gè)數(shù).詞序相似度反映了兩個(gè)句子的相同詞語(yǔ)在順序關(guān)系上的相似程度,計(jì)算公式為
(6)
式中:假設(shè)兩個(gè)句子的相同詞語(yǔ)在長(zhǎng)句S中的順序?yàn)檎?,則RevOrd為相同詞語(yǔ)序列在短句S中的逆序數(shù);MaxRevOrd為相同詞語(yǔ)序列的最大逆序數(shù).
1.4實(shí)現(xiàn)語(yǔ)句相似度改進(jìn)算法的具體步驟
定義1相似度矩陣:兩個(gè)句子對(duì)應(yīng)集合中所有詞語(yǔ)兩兩配對(duì)進(jìn)行詞語(yǔ)相似度計(jì)算,將計(jì)算結(jié)果存放到矩陣中,矩陣初始化為0.
首先,假設(shè)兩個(gè)句子S和T分詞后對(duì)應(yīng)的詞類(lèi)序列為SPOS和TPOS.
SPOS:S0,S1,S2,…,Si,…,Sn-1
TPOS:T0,T1,T2,…,Tj,…,Tm-1
式中:Si表示句子S中下標(biāo)為i的詞語(yǔ)的詞類(lèi),Tj表示句子T中下標(biāo)為j的詞語(yǔ)的詞類(lèi).
算法具體步驟如下:
1) 根據(jù)詞類(lèi)信息存放詞語(yǔ),去除修飾性地名術(shù)語(yǔ):遍歷句子T中每個(gè)詞類(lèi)Tj,判斷Tj是否屬于地名詞類(lèi)ns:如果不屬于ns,則將該詞類(lèi)Tj對(duì)應(yīng)的詞語(yǔ)存放到非地名集合中;如果屬于ns,則判斷該詞類(lèi)的下一個(gè)詞類(lèi)Tj+1是否屬于ns:如果Tj+1不屬于ns,則將Tj對(duì)應(yīng)的詞語(yǔ)存放到地名集合中,如果Tj+1屬于ns,則判斷Tj+1對(duì)應(yīng)的地名是否是Tj對(duì)應(yīng)的地名的下屬,如果不是其下屬,則將Tj對(duì)應(yīng)的詞語(yǔ)存放到地名集合中,如果是其下屬,則返回繼續(xù)遍歷下一個(gè)詞類(lèi)Tj+1.同理,對(duì)句子S進(jìn)行相同的步驟.
2) 對(duì)地名詞語(yǔ)進(jìn)行相似度計(jì)算:經(jīng)過(guò)步驟1)將句子分詞后的詞語(yǔ)分別存放到了地名集合和非地名集合中,利用公式(3)計(jì)算得到兩個(gè)句子對(duì)應(yīng)地名集合中每個(gè)地名術(shù)語(yǔ)之間兩兩配對(duì)的相似度矩陣,從相似度矩陣中獲得地名術(shù)語(yǔ)的最佳配對(duì)結(jié)果.
3) 對(duì)非地名詞語(yǔ)進(jìn)行相似度計(jì)算:利用公式(4)得到兩個(gè)句子對(duì)應(yīng)非地名集合中每個(gè)詞語(yǔ)之間兩兩配對(duì)的相似度矩陣,從中獲得詞語(yǔ)的最佳配對(duì)結(jié)果.
4) 經(jīng)過(guò)上述三個(gè)步驟后,對(duì)于兩個(gè)句子S和T,可以得到地名術(shù)語(yǔ)的最佳配對(duì)結(jié)果和非地名詞語(yǔ)的最佳配對(duì)結(jié)果,由這些最佳配對(duì)結(jié)果可以獲得句子整體的語(yǔ)義相似度,計(jì)算公式為
(7)
式中:n為兩個(gè)句子的地名集合中獲得的最佳配對(duì)地名的對(duì)數(shù);gi1為配對(duì)地名中句子S的地名;gi2為配對(duì)地名中句子T的地名;m為兩個(gè)句子的非地名集合中獲得的最佳配對(duì)詞語(yǔ)的對(duì)數(shù);Wj1為配對(duì)詞語(yǔ)中句子S的詞語(yǔ);Wj2為配對(duì)詞語(yǔ)中句子T的詞語(yǔ);w1為賦予地名詞語(yǔ)的權(quán)重;w2為賦予非地名詞語(yǔ)的權(quán)重,w1+w2=1.經(jīng)過(guò)多次實(shí)驗(yàn)發(fā)現(xiàn),當(dāng)w1=0.7,w2=0.3時(shí)獲得的相似度值能夠體現(xiàn)兩個(gè)句子在語(yǔ)義上的相似程度,較為符合人們的主觀判斷.
5) 根據(jù)式(5,6)計(jì)算句子的句長(zhǎng)相似度和詞序相似度,獲得句子的結(jié)構(gòu)相似度,計(jì)算公式為
Simstru(S,T)=w3SimLen(S,T)+w4SimOrd(S,T)
(8)
式中:w3為句子長(zhǎng)度相似的權(quán)重;w4為句子詞序相似的權(quán)重,w3+w4=1.經(jīng)過(guò)多次實(shí)驗(yàn)發(fā)現(xiàn),當(dāng)w3=0.6,w4=0.4時(shí)獲得的相似度值能夠體現(xiàn)兩個(gè)句子在結(jié)構(gòu)上的相似程度,也較為符合人們的主觀判斷.
6) 將句子整體的語(yǔ)義相似度與句子結(jié)構(gòu)相似度相結(jié)合,得到句子整體相似度,計(jì)算公式為
Sim(S,T)=λ1Simsem(S,T)+λ2Simstru(S,T)
(9)
式中:λ1為句子語(yǔ)義相似度的權(quán)重;λ2為句子結(jié)構(gòu)相似度的權(quán)重,λ1+λ2=1.經(jīng)過(guò)實(shí)驗(yàn)對(duì)比分析發(fā)現(xiàn),當(dāng)λ1=0.9,λ2=0.1時(shí)計(jì)算結(jié)果較為符合人們的主觀判斷.
2實(shí)驗(yàn)及結(jié)果分析
在實(shí)驗(yàn)中,使用中科院的分詞系統(tǒng)ICTCLAS2011對(duì)句子進(jìn)行分詞和詞性標(biāo)注處理,中科院的分詞系統(tǒng)ICTCLAS2011所使用的漢語(yǔ)詞性標(biāo)注集將詞類(lèi)分為22個(gè)一類(lèi)、66個(gè)二類(lèi)和11個(gè)三類(lèi),由于該分詞系統(tǒng)對(duì)于地名的識(shí)別還不是十分完整,筆者將整理出來(lái)的地理樹(shù)知識(shí)作為參考資料存放到系統(tǒng)的用戶導(dǎo)入文件中,以便于在分詞時(shí)能夠更好的識(shí)別出地名.由于目前還沒(méi)有可用于中文句子相似度測(cè)試的標(biāo)準(zhǔn)化測(cè)試集,鑒于本實(shí)驗(yàn)重點(diǎn)研究的是地名對(duì)于語(yǔ)句相似度的影響,而旅游領(lǐng)域問(wèn)答系統(tǒng)的問(wèn)句通常會(huì)涉及到地名,因此實(shí)驗(yàn)例句使用除地名不同外其他詞語(yǔ)都基本相同的旅游領(lǐng)域的典型句子.本次實(shí)驗(yàn)還邀請(qǐng)了35名學(xué)歷本科以上、身心健康的同學(xué)對(duì)這些實(shí)驗(yàn)例句進(jìn)行主觀評(píng)分,分?jǐn)?shù)取值為0到1之間的任意小數(shù),分?jǐn)?shù)越接近0說(shuō)明相似度越低,分?jǐn)?shù)越接近1說(shuō)明相似度越高,最后將所有同學(xué)的主觀數(shù)據(jù)進(jìn)行加權(quán)平均,得到的結(jié)果存放在表1的“主觀”一列中,作為標(biāo)準(zhǔn)數(shù)據(jù)用于和其他四種方法的計(jì)算結(jié)果進(jìn)行比較.方法1是基于特征詞的方法[2],方法2是基于HowNet語(yǔ)義詞典的方法[3],方法3是基于句法結(jié)構(gòu)的方法[4],方法4是筆者的方法.由于篇幅有限,部分實(shí)驗(yàn)結(jié)果如表1所示.
表1 部分句子相似度計(jì)算實(shí)驗(yàn)結(jié)果
表1給出了兩組實(shí)驗(yàn)例句,從表1中可以看出:相似句A5、A6和A8在方法1下與源句A的相似度計(jì)算結(jié)果都為1.0,但是實(shí)際上,“吳山廣場(chǎng)”和“上城區(qū)”只是同屬于杭州,“蘇州寒山寺”和“北京天壇”與“上城區(qū)”沒(méi)有關(guān)系,只是距離遠(yuǎn)近的區(qū)別,兩個(gè)地方距離越近,城市文化和氣候差異就越小.由此可以看出:相似句A5和源句A的相似度應(yīng)該高于相似句A6和源句A的相似度,相似句A8和源句A的相似度應(yīng)該最低,而且這些相似句和源句A都不相同,因此實(shí)驗(yàn)結(jié)果是不符合主觀判斷的.相似句B1、B3和B4在方法2下與源句B的相似度計(jì)算結(jié)果都為1.0,但是三個(gè)相似句與源句B都不是完全相同的,相似句B1比較的是“寒山寺”和“靈隱寺”,相似句B3比較的是“杭州”和“南京”,相似句B4比較的是“蘇州”、“杭州”和“揚(yáng)州”,所以相似句B4和源句B的相似度應(yīng)該高于相似句B1、B3和源句B的相似度,因?yàn)锽4中會(huì)包含源句B的“蘇州”和“杭州”的比較,故實(shí)驗(yàn)結(jié)果是不符合主觀判斷的.相似句A2和A3在方法3下與源句A的相似度計(jì)算結(jié)果都為0.96,但是相似句A2的地名“平海路”被包含在源句A的地名“上城區(qū)”中,相似句A3的地名“杭州”包含了源句A的地名“上城區(qū)”,因此A2和A3與源句A的相似度應(yīng)該是不同的,故實(shí)驗(yàn)結(jié)果并不符合主觀判斷.而且在第一組實(shí)驗(yàn)例句中,相似句A9與源句A最接近,相似度也應(yīng)該是最高的.可見(jiàn)三種典型算法都有著各自的缺點(diǎn),它們的計(jì)算結(jié)果不太符合主觀判斷.
但是,從方法4的計(jì)算結(jié)果中可以看出:相似句A5,A6,A8和源句A在方法4下的相似度計(jì)算結(jié)果互相比較時(shí),A5的相似度高于A6的相似度,A8相似度是最低的,這較好地體現(xiàn)了方法4的地名相似度計(jì)算中的經(jīng)緯度相似度計(jì)算對(duì)沒(méi)有包含關(guān)系的地名進(jìn)行了距離遠(yuǎn)近的區(qū)分.同理,相似句B3的相似度要高于相似句B2與源句B的相似度.同時(shí),相似句A1和源句A在方法4下的計(jì)算結(jié)果不為1.0,這也反映了方法4的地名相似度計(jì)算中的地理樹(shù)相似度計(jì)算對(duì)具有包含關(guān)系的地名的區(qū)分起到了一定的作用.相似句A9和源句A的相似度不為1.0,這說(shuō)明方法4還考慮到了句子結(jié)構(gòu)對(duì)于句子的影響.將四個(gè)方法的計(jì)算結(jié)果和主觀判斷結(jié)果進(jìn)行方差計(jì)算,得到的結(jié)果如表2所示.
表2 方差計(jì)算結(jié)果比較
從表2容易看出:方法4的計(jì)算結(jié)果在總體上是最接近主觀判斷結(jié)果的,而且在邀請(qǐng)的35名同學(xué)中有86%的同學(xué)都認(rèn)為方法4的計(jì)算結(jié)果是四個(gè)方法中最好的.
3結(jié)論
提出了一種改進(jìn)的涉及地名的句子相似度計(jì)算方法,通過(guò)構(gòu)建地名地理樹(shù)和獲取地名經(jīng)緯度來(lái)計(jì)算地名詞語(yǔ)間的相似度,在計(jì)算句子相似度時(shí)通過(guò)對(duì)地名詞語(yǔ)和非地名詞語(yǔ)賦予不同的權(quán)重來(lái)體現(xiàn)地名對(duì)于計(jì)算句子相似度的重要性,并考慮了句子結(jié)構(gòu)的因素.實(shí)驗(yàn)表明:改進(jìn)后的方法在計(jì)算涉及地名的句子相似度時(shí)比傳統(tǒng)方法更加合理,計(jì)算結(jié)果更符合人們的主觀判斷.
參考文獻(xiàn):
[1]徐彩虹,劉志,潘翔,等.一種基于實(shí)例學(xué)習(xí)的三維模型檢索匹配方法[J].浙江工業(yè)大學(xué)學(xué)報(bào),2012,40(3):326-330.
[2]程志強(qiáng),閔華松.一種基于向量詞序的句子相似度算法研究[J].計(jì)算機(jī)仿真,2014,31(7):419-424.
[3]秦兵,劉挺,王洋,等.基于常問(wèn)問(wèn)題集的中文問(wèn)答系統(tǒng)研究[J].哈爾濱工業(yè)大學(xué)學(xué)報(bào),2003,35(10):1179-1182.
[4]HU Jinzhu, XU Ting, SHU Jiangbo, et al. A kind of calculation method of Chinese sentence structure similarity[C]//International Conference on Advanced Computer Theory and Engineering(ICACTE). Chengdu: International Conference on IEEE,2010:344-347.
[5]劉俊萍,董飛龍,邵佳偉.GIS支持下的海塘工程信息管理[J].浙江工業(yè)大學(xué)學(xué)報(bào),2014,42(2):199-203.
[6]徐志江,莊壯,孟利民.一種基于Android智能手機(jī)的車(chē)載定位查詢軟件[J].浙江工業(yè)大學(xué)學(xué)報(bào),2013,41(6):655-659.
[7]百度.百度地圖API[EB/OL].[2015-06-10].http://developer.baidu.com/map/.
[8]王石,曹存根,裴亞軍,等.一種基于搭配的中文詞匯語(yǔ)義相似度計(jì)算方法[J].中文信息學(xué)報(bào),2013,27(1):7-14.
[9]AHSAEE M G, NAGHIBZADEH M, NAEINI S E Y. Semantic similarity assessment of words using weighted WordNet[J]. International Journal of Machine Learning and Cybernetics,2014,5(3):479-490.
[10]KIMTANI D K, CHOUDHURY J, CHAKRABARTY A. Improvement in word sense disambiguation by introducing enhancements in English WordNet structure[J]. International Journal on Computer Science and Engineering,2013,2(5):435-438.
[11]劉群,李素建.基于《知網(wǎng)》的詞匯語(yǔ)義相似度計(jì)算[J].中文計(jì)算語(yǔ)言學(xué),2002,7(2):59-76.
[12]江敏,肖詩(shī)斌,王弘蔚,等.一種改進(jìn)的基于《知網(wǎng)》的詞語(yǔ)語(yǔ)義相似度計(jì)算[J].中文信息學(xué)報(bào),2008,22(5):84-89.
[13]王小林,王義.改進(jìn)的基于知網(wǎng)的詞語(yǔ)相似度算法[J].計(jì)算機(jī)應(yīng)用,2011,31(11):3075-3077.
[14]崔淑潔.句子相似度算法研究及其在中文問(wèn)答系統(tǒng)中的應(yīng)用[D].杭州:浙江工業(yè)大學(xué),2014.
[15]YU Zhengtao, HU Lei, HUANG Li, et al. Similarity computation of Chinese question based on chunk[C]//Proceedings of the Fifth International Conference on Machine Learning and Cybernetics.Dalian:International Conference on IEEE,2006:17-22.
[16]田久樂(lè),趙蔚.基于同義詞詞林的詞語(yǔ)相似度計(jì)算方法[J].吉林大學(xué)學(xué)報(bào),2010,28(6):602-608.
[17]王榮波,池哲儒.基于詞類(lèi)串的漢語(yǔ)句子結(jié)構(gòu)相似度計(jì)算方法[J].中文信息學(xué)報(bào),2005,19(1):21-29.
[18]LAN Yanling, CHEN Jianchao. Chinese sentence structures similarity computation based on POS and POS dependency[J].Computer Engineering,2011,37(10):47-49.
(責(zé)任編輯:陳石平)
文章編號(hào):1006-4303(2015)06-0624-06
中圖分類(lèi)號(hào):TP391
文獻(xiàn)標(biāo)志碼:A
作者簡(jiǎn)介:黃洪(1964—),男,江西豐城人,教授,研究方向?yàn)檐浖_(kāi)發(fā)方法、智能電子商務(wù)和自然語(yǔ)言處理等,E-mail:huanghong@zjut.edu.cn.
收稿日期:2015-06-12