• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于改進(jìn)音形碼與HowNet的中文詞相似度檢測(cè)算法

      2022-09-28 09:55:06王華敏黃夢(mèng)醒馮文龍馮思玲
      計(jì)算機(jī)仿真 2022年8期
      關(guān)鍵詞:筆順字形編碼

      王華敏,黃夢(mèng)醒,馮文龍,馮思玲

      (海南大學(xué),海南 海口 570228)

      1 引言

      目前存在許多基于字符相似度匹配的算法,比如edit distance,affine gap distance,Simth-Waterman distance,Jaro distance metric和Q-gram distance[1]或者在此基礎(chǔ)上改進(jìn)的算法,在處理拉丁文字的字符串匹配時(shí),都能起到良好的效果。它們最先的設(shè)計(jì)目地也是為了處理拉丁文字遇到的字符匹配問(wèn)題,因此在面對(duì)漢字的時(shí)候,效果往往差強(qiáng)人意。

      針對(duì)漢字相似度匹配問(wèn)題,在主流算法的啟發(fā)下,許多研究者意識(shí)到可以將漢字先進(jìn)行統(tǒng)一編碼,編碼時(shí)體現(xiàn)漢字特征的差異性,然后再將傳統(tǒng)的拉丁字符匹配算法應(yīng)用于漢字編碼,可以大大提高準(zhǔn)確率。

      字形上,王東[2]等人把漢字表示為漢字結(jié)構(gòu)、字首部件、和字尾部件三元組。祁俊輝[3]等人提出了基于特征向量和筆順編碼的字形相似算法,充分利用漢字結(jié)構(gòu)、輪廓、筆畫、書寫順序等特征來(lái)識(shí)別漢字。缺點(diǎn)在于組建漢字特征向量庫(kù)后期還需要投入大量的工作,不過(guò)組建筆順編碼數(shù)據(jù)庫(kù)值得借鑒。

      發(fā)音上,已經(jīng)有處理拉丁文字的Soundex算法,但是漢字種類繁多,且受方言影響,此算法無(wú)法滿足要求。

      音形結(jié)合上,俞榮華[4]等人在處理多語(yǔ)言文本的相似重復(fù)記錄時(shí),利用漢字的拼音序、筆劃序、部首序?qū)h字進(jìn)行排序處理,缺點(diǎn)是這種方法對(duì)漢字的特征差異描述還較為粗略。陳鳴[5]等人歸納出音形碼,但拼音碼沒(méi)有體現(xiàn)出拼音發(fā)音的漸進(jìn)變化,因此存在一個(gè)字對(duì)與之相近的發(fā)音字,與不相近發(fā)音字求出來(lái)的距離是一樣的,而字形部分采用四角編碼,只能粗略描述漢字的字形。周昊[6]等人在陳鳴的基礎(chǔ)上改進(jìn)了音形碼的編碼方式,將音形碼按照發(fā)音以及字形的漸進(jìn)變化編碼,最后檢測(cè)的結(jié)果更符合實(shí)際。但是其字形描述仍然采用四角編碼,仍然無(wú)法將字形細(xì)致的描述,從而體現(xiàn)差異性。

      基于語(yǔ)義的方法主要是利用釋義詞典或者一些大規(guī)模的本體[7]對(duì)詞匯進(jìn)行語(yǔ)義上的相似度計(jì)算[8],可以將完全不一樣的文字,但表述相同語(yǔ)義的詞語(yǔ)相似度正確計(jì)算出來(lái)。其缺點(diǎn)是被檢測(cè)詞語(yǔ)必須完全準(zhǔn)確,不能存在錯(cuò)別字。

      本文針對(duì)中文檢測(cè)算法音碼對(duì)漢字拼音描述不全,對(duì)漢字字形描述不夠精確,僅僅做意思檢測(cè)又太片面等缺點(diǎn)做出補(bǔ)充與改進(jìn),提出結(jié)合改進(jìn)音形碼與Hownet的算法。該算法基于中文的音形義特征,較為全面的檢測(cè)相似度,大大提高了準(zhǔn)確度。

      具體工作:①改進(jìn)音碼,重新考慮了拼音可能存在聲母缺失的情況。②改進(jìn)形碼,將四角號(hào)碼改為筆順編碼,更加詳細(xì)描述漢字的結(jié)構(gòu)。③改進(jìn)中文字符串相似度距離計(jì)算方法,在加權(quán)編輯距離的基礎(chǔ)上,考慮漢字可能存在字序改變而意思不變的情況。④設(shè)計(jì)了結(jié)合音形義的中文字符串相似度檢測(cè)算法。

      2 相關(guān)工作

      2.1 音碼

      漢字拼音由聲母、韻母和聲調(diào)組成,其次,有些拼音中間還有一個(gè)韻母,如,“chuang”中的‘u’,因此還將考慮添加一位韻母補(bǔ)碼,最終生成的音碼應(yīng)該包含聲母碼、韻母碼、音調(diào)碼、韻母補(bǔ)碼四個(gè)部分。

      設(shè)計(jì)音碼時(shí),想要充分體現(xiàn)拼音發(fā)音的差異性,需要了解哪些拼音特性會(huì)影響到需要表達(dá)的漢字,然后針對(duì)性的進(jìn)行設(shè)計(jì)。我國(guó)省市眾多,不同的地方有著不一樣的方言,尤其南方的語(yǔ)言變化更多,南方人的發(fā)音更容易帶有方言特色,較為容易混淆。如,‘l’和‘n’,常常會(huì)有人將‘劉’和‘?!煜虼怂惴ㄔO(shè)計(jì)上可認(rèn)為是發(fā)音相似;又如,‘a(chǎn)ng’和‘a(chǎn)n’,容易將‘床’和‘傳’混淆等。根據(jù)這些特性,得出容易混淆的發(fā)音具有更高的相似度。陳鳴[5]等人在設(shè)計(jì)音碼時(shí),根據(jù)這個(gè)特征將拼音的四個(gè)部分對(duì)應(yīng)轉(zhuǎn)為數(shù)字或者字母,其中容易混淆的聲母或者韻母轉(zhuǎn)化為同一個(gè)數(shù)字或者字母。

      而周昊[6]等人在陳鳴的基礎(chǔ)上改進(jìn)音碼的編碼方式,采用格雷碼表示聲母和韻母,然后計(jì)算其漢明距離體現(xiàn)相似度,其結(jié)果能充分體現(xiàn)出拼音發(fā)音習(xí)慣的差異。

      要用格雷碼完全表示聲母和韻母,一共需要5+5+5個(gè)二進(jìn)制位,即聲母碼、韻母碼、韻母補(bǔ)碼。而音調(diào)只有四聲,因此,一聲 (00),二聲 (01),三聲(10),四聲 (11)。最后一共可以用17個(gè)二進(jìn)制位表示音碼。

      2.2 形碼

      用來(lái)表達(dá)一個(gè)漢字的字形特征需要知道漢字的結(jié)構(gòu),筆畫以及按字形的編碼,因此字形部分需要包括這三個(gè)部分[6]。由此,陳鳴等人對(duì)應(yīng)設(shè)計(jì)了結(jié)構(gòu)碼,筆畫碼以及應(yīng)用四角號(hào)碼對(duì)漢字字形進(jìn)行編碼。其中四角號(hào)碼根據(jù)漢字四個(gè)角按順序?qū)h字編碼,分別是左上角、右上角 、左下角 、右下角,具體的取角規(guī)則可參考徐祖友[9]。

      考慮到結(jié)構(gòu)與結(jié)構(gòu)之間,有些存在相似性,可以在計(jì)算時(shí)加入考慮,周昊[6]等人根據(jù)這個(gè)特點(diǎn)改進(jìn)了形碼,設(shè)計(jì)了針對(duì)結(jié)構(gòu)漸進(jìn)變化的編碼方式,使得相似結(jié)構(gòu)間漢明距離相近。

      2.3 HowNet

      漢語(yǔ)博大精深,一個(gè)中文詞語(yǔ)通??赡苡卸嘀匾馑?,而一個(gè)意思通常也可以用不同的詞語(yǔ)去描述,而由此產(chǎn)生的相似度問(wèn)題是基于音形設(shè)計(jì)的算法無(wú)法解決的。因此,一些研究人員花費(fèi)數(shù)十年的時(shí)間從各種詞典和語(yǔ)言知識(shí)庫(kù)篩選詞義,并用這些詞義對(duì)詞語(yǔ)進(jìn)行注釋,以構(gòu)建基于詞義的語(yǔ)言知識(shí),HowNet[10]就是此類最著名的知識(shí)庫(kù)之一[11]。而自從HowNet發(fā)布以來(lái),引起了廣泛的關(guān)注,吸引了各種相關(guān)研究,如葛斌[12]等人,劉群[13]等人對(duì)基于知網(wǎng)的詞匯語(yǔ)義相似度計(jì)算方法進(jìn)行研究。其中劉群等人的詞語(yǔ)相似度檢測(cè)算法,是最具影響力的研究之一。

      HowNet考慮到每個(gè)詞語(yǔ)的多義性,為其注釋了不同的含義,每個(gè)含義用中英文表達(dá)。如,對(duì)于“蘋果”這個(gè)詞的注釋,它包括“電腦”、“電話”、“水果”、“樹(shù)”這四種含義,每個(gè)含義下面又有相應(yīng)的解釋。

      HowNet從提出至今不斷完善,最新版本取名OpenHowNet,包含了HowNet的核心數(shù)據(jù),并提供免費(fèi)下載,此外還提供了OpenHowNet API,包含了詞語(yǔ)的相似度計(jì)算接口,其算法基于[14]提出。本文詞語(yǔ)語(yǔ)義相似度計(jì)算使用的便是OpenHowNet API。

      3 音形碼的改進(jìn)

      3.1 漢字音碼的改進(jìn)

      在音形碼的基礎(chǔ)上,通過(guò)實(shí)驗(yàn)研究,發(fā)現(xiàn)有些拼音是沒(méi)有聲母的,如‘額’的拼音“e”,而它與“de”,“l(fā)e”都有較高的相似度,所以缺少時(shí),可以用一個(gè)相對(duì)與“00000”、“11111”有差不多漢明距離的編碼。同理,聲母和韻母中間不存在補(bǔ)碼的,也取與兩端差不多距離的編碼。改進(jìn)后的拼音編碼見(jiàn)表1、表2。

      表1 拼音聲母編碼

      表2 拼音韻母編碼

      聲母碼、韻母碼、韻母補(bǔ)碼一共占有15個(gè)二進(jìn)制位,音調(diào)只有四聲,一聲 (00),二聲 (01),三聲(10),四聲 (11)。最后一共可以用5+5+5+2個(gè)二進(jìn)制位表示音碼。

      因此,基于音碼的漢字相似度計(jì)算公式為

      (1)

      其中,h(a,b)為漢字a,b的音碼漢明距離,len(a)為a的音碼長(zhǎng)度,即17。

      改進(jìn)后的音碼可以補(bǔ)充拼音缺少韻母和聲母的情況,提高音碼相似度檢測(cè)的準(zhǔn)確率。

      3.2 漢字形碼的改進(jìn)

      陳鳴[5]等人的形碼是基于結(jié)構(gòu)碼,筆畫碼以及應(yīng)用了四角號(hào)碼表示。考慮到四角號(hào)碼是根據(jù)字的左上角、右上角 、左下角 、右下角取碼,存在無(wú)法細(xì)致描述字形的情況,因此本文采用筆順編碼代替。

      根據(jù)漢字編碼規(guī)則,任何漢字的結(jié)構(gòu)都可以分成橫、豎、撇、捺、折,即五筆結(jié)構(gòu)。按照這個(gè)思路,可以將每個(gè)漢字的書寫筆畫對(duì)應(yīng)相應(yīng)的五筆編碼,然后根據(jù)筆畫出現(xiàn)的順序,依次記下編碼,即得到筆順編碼,其中筆畫數(shù)即筆順編碼的字符長(zhǎng)度。而筆順編碼是比較成熟的漢字表示方式,比較容易得到。按照編碼規(guī)則對(duì)任意漢字生成的編碼字符串,簡(jiǎn)稱漢字筆順編碼。漢字筆畫編碼規(guī)則見(jiàn)表3。

      表3 漢字筆畫編碼規(guī)則

      如,‘優(yōu)’由撇、豎、橫、撇、豎彎鉤、點(diǎn)組成,根據(jù)對(duì)照表,對(duì)照生成筆順編碼“321354”。

      筆順編碼反映了漢字的組成,相同的的編碼說(shuō)明有相同的筆畫順序組成,在一定程度上可以反映漢字的相似程度,再加上漢字的結(jié)構(gòu),這樣從組成因素和組成方式大致描述了漢字字形,由這兩部分編碼計(jì)算出來(lái)的相似度,可以描述出漢字的直觀形狀。

      最終本文采用陳鳴的結(jié)構(gòu)碼,筆畫碼,而用筆順編碼代替四角號(hào)碼。改進(jìn)后的形碼可以比較細(xì)致的區(qū)分字形差異。

      4 中文字符串相似度檢測(cè)算法

      4.1 改進(jìn)形碼的漢字相似度檢測(cè)算法

      生成包含結(jié)構(gòu)碼、筆畫碼、筆順編碼后的形碼后,漢字字形相似度便可以基于此形碼考慮。

      漢字的直觀形狀受到結(jié)構(gòu)的影響,本文結(jié)構(gòu)碼采用周昊[6]等人在陳鳴基礎(chǔ)上提出的結(jié)構(gòu)碼,其優(yōu)勢(shì)在于體現(xiàn)漢字結(jié)構(gòu)的漸進(jìn)變化。

      筆畫在一定程度可以反饋漢字的復(fù)雜程度,筆畫越多通常字形越復(fù)雜,筆畫數(shù)差異越大則可以體現(xiàn)字形相似度越小。

      不同漢字的筆順編碼并不是等長(zhǎng)的,所以其相似度可以根據(jù)編碼的最長(zhǎng)公共子串來(lái)度量,最長(zhǎng)公共子串便是兩個(gè)相似的字形筆畫組成部分,相似筆畫越多,即最長(zhǎng)公共子串占比越多,字形越相似。相似筆畫所在的位置也是影響字形相似度的一大因素。如,‘時(shí)’的筆順編碼為“2511124”,而‘如’的筆順編碼為“531251”,可知兩個(gè)字的筆順編碼最長(zhǎng)公共子串為“251”,根據(jù)人們看漢字字形相似的習(xí)慣,字形的相似很大程度受到相似結(jié)構(gòu)位置的影響,由編碼“251”可知,他們相似的結(jié)構(gòu)分別為少最后一筆的‘日’以及‘口’。按照習(xí)慣,完全不會(huì)將這兩個(gè)字聯(lián)系在一起。因此需要考慮最長(zhǎng)公共子串在筆順編碼里的位置差,差值越小,相似度越高。

      綜合考慮漢字筆順編碼最長(zhǎng)公共子串占比、漢字筆順編碼最長(zhǎng)公共子串位置差、漢字筆畫、漢字結(jié)構(gòu)碼四個(gè)因素,設(shè)計(jì)基于改進(jìn)形碼的漢字相似度檢測(cè)算法。

      算法1:改進(jìn)的的單個(gè)漢字字形相似度計(jì)算

      輸入:漢字a、b

      輸出:漢字a、b的字形相似度Simxing(a,b)。

      Step1:生成a、b對(duì)應(yīng)的筆順編碼,字形結(jié)構(gòu)碼,筆畫數(shù)。

      Step2:考慮筆順編碼公共子串。由于公式計(jì)算需要,要先判斷a、b漢字哪個(gè)筆順編碼較短和較長(zhǎng),d=Min(len a,len b),s=Max(len a,len b),計(jì)算最長(zhǎng)公共子串長(zhǎng)度為L(zhǎng)cs_len,則公共子串占比

      (2)

      Step3:考慮漢字筆畫。計(jì)算漢字筆畫差c=|len a-len b|,計(jì)算筆畫差對(duì)相似度的貢獻(xiàn)比

      (3)

      Step4:考慮筆順編碼最長(zhǎng)公共子串的位置差。先得出最長(zhǎng)公共子串在各自的位置。得到a的筆順編碼最長(zhǎng)公共子串位置為a_p,b的為b_p,其中a_p和b_p分別為子串第一位在筆順編碼中的位置,計(jì)算差值p=|a_p-b_p|,最后得到位置對(duì)相似度的貢獻(xiàn)比

      (4)

      Step5:考慮漢字結(jié)構(gòu)。計(jì)算結(jié)構(gòu)碼的漢明距離ham,然后根據(jù)漢明距離計(jì)算結(jié)構(gòu)因素

      (5)

      Step6:考慮到相似度不超過(guò)1,且分別需要考慮筆順編碼最長(zhǎng)公共子串、漢字筆畫數(shù)、筆順編碼最長(zhǎng)公共子串所處的位置差異、漢字結(jié)構(gòu)差異。設(shè)置貢獻(xiàn)參數(shù):α,β,i,j。本文分別設(shè)置為0.6,0.2,0.1,0.1,得到相似度計(jì)算公式

      (6)

      4.2 漢字音碼或形碼單個(gè)特征的中文字符串相似度檢測(cè)算法

      文獻(xiàn)[15]提出將中文相似度計(jì)算分為一階相似度計(jì)算和二階相似度計(jì)算,即漢字相似度計(jì)算和中文字符串相似度計(jì)算。其中二階相似度計(jì)算采用加權(quán)編輯距離,這種計(jì)算方式替換、刪除的操作代價(jià)不單純用0,1表示,而是利用單個(gè)漢字對(duì)比后的相似度表示。由于中文詞語(yǔ)存在改變字的順序而意思不變的情況,如,“互相-相互”,“察覺(jué)-覺(jué)察”等,按照此方法,沒(méi)法識(shí)別這些詞其實(shí)是同一個(gè)詞,所以不能單純按照字序分別比對(duì)詞語(yǔ)中漢字的相似度。

      基于加權(quán)編輯距離,將詞語(yǔ)中的每個(gè)漢字轉(zhuǎn)換編碼后,分別比對(duì),找出相互能夠匹配的最高精度詞語(yǔ),然后計(jì)算其位置代價(jià)。如果詞語(yǔ)中的每個(gè)漢字都能找到自己精確匹配的漢字,則不計(jì)算位置代價(jià)。如,“不好-好壞”,顯然兩個(gè)字符串都有共同的漢字‘好’,首先將各自最高精度的字符相互匹配,則得到“不好-壞好”,然后再用加權(quán)編輯進(jìn)行計(jì)算相似度,最后考慮位置替換代價(jià)。但是如果單純按照順序比對(duì),則無(wú)法將這兩個(gè)字符串聯(lián)系在一起。而“互相-相互”,則各自能完全匹配,這時(shí)則不計(jì)位置代價(jià),可以得到其相似度為1。

      算法2:改進(jìn)的基于漢字音或形單個(gè)特征的中文字符串加權(quán)編輯距離相似度算法

      輸入:中文字符串s1、s2。

      輸出:s1、s2的音或形相似度Sim(s1,s2)。

      Step1:min_s=Min(s1,s2),max_s=Max(s1,s2),將min_s和max_s中的所有漢字轉(zhuǎn)為音碼或者形碼。

      Step2:將min_s中的所有漢字與max_s中的所有漢字遍歷進(jìn)行相似度計(jì)算,min_s中每個(gè)字對(duì)應(yīng)max_s中的相似度最近的一個(gè)字,將max_s重新排序。如:“教師-你教的師”,則變成“教師-教師你的”;“相互-互相”,計(jì)算后得到“相互-相互”。

      Step3:然后比較min_s與max_s的長(zhǎng)度,如果等長(zhǎng)且完全匹配,即每個(gè)漢字匹配組相似度都為1,則執(zhí)行Step 4,不考慮位置因素,否則Step 5,把位置因素考慮進(jìn)去。

      Step 4:

      (7)

      返回相似度,算法結(jié)束。其中sum_sim為對(duì)應(yīng)位置每組漢字的相似度和。

      Step5:考慮位置因素。由于匹配時(shí),max_s的字符位置發(fā)生交換,則計(jì)算出交換前后的位置差,然后計(jì)算絕對(duì)值,設(shè)各個(gè)差值絕對(duì)值和為sum_position,則位置影響因素。

      (8)

      Step6:將發(fā)生位置交換的max_s與min_s用加權(quán)編輯距離算法求編輯距離,即lds(max_s,min_s)。

      (9)

      Step7:得到字符串相似度

      (10)

      4.3 結(jié)合改進(jìn)音形碼與Hownet的中文字符串相似度檢測(cè)算法

      音、形、義是漢字的三大特征[15],也是漢字相似度考慮的主要因素。主流中文詞語(yǔ)相似度檢測(cè)大多分別從音形或者詞義研究漢語(yǔ)相似度,對(duì)于結(jié)合二者的研究相對(duì)較少,而二者皆有各自優(yōu)缺點(diǎn)。如,“西紅柿”與“番茄”,光考慮音形,無(wú)法確定其相似度;而“彬彬”與“杉杉”光從詞義也無(wú)法確定其相似度。針對(duì)此問(wèn)題,提出結(jié)合改進(jìn)音形碼與HowNet的算法,從音形義三個(gè)方面綜合考慮中文字符串的相似度。

      在此算法設(shè)計(jì)中,需要考慮以下幾種情況:①相同的意思,完全不同的詞表達(dá)。設(shè)置閾值為t,如果單個(gè)特征相似度大于t,可以認(rèn)為單個(gè)特征高度相似,則不考慮其他兩個(gè)特征。②當(dāng)詞語(yǔ)存在錯(cuò)別字時(shí),詞語(yǔ)本身是無(wú)意義的,要判定它的相似度,必須要將其轉(zhuǎn)換成與其最為相似而有意義的詞語(yǔ),再進(jìn)行相似度比較。③當(dāng)三個(gè)特征相似度都較低時(shí),可以針對(duì)應(yīng)用場(chǎng)景,分別設(shè)置各個(gè)特征的貢獻(xiàn)參數(shù)。

      由此,設(shè)計(jì)算法3。其中,算法3出現(xiàn)的基于音碼的中文字符串相似度檢測(cè)(Simyin)和基于形碼的中文字符串相似度檢測(cè)(Simyi)算法皆是算法2。

      算法3:基于音形義的中文字符串相似度檢測(cè)算法

      輸入:中文字符串s1、s2。

      輸出:s1、s2的相似度Simzong(s1,s2)。

      Step 1:先將s1,s2進(jìn)行意思檢測(cè),看看是否都有意義,如果有,先進(jìn)行賦值操作,s1_change=s1,s2_change=s2,num=0,然后執(zhí)行Step 3;如沒(méi)有意義,則直接執(zhí)行Step 2。

      Step2:將無(wú)意義的字符串進(jìn)行單個(gè)相似漢字替換,數(shù)據(jù)庫(kù)為漢字同音詞或者形近詞庫(kù),替換后的詞語(yǔ)再進(jìn)行意思檢測(cè),循環(huán)到找到最接近相似度詞語(yǔ)為止,然后設(shè)置替換懲罰參數(shù)f,被替換字?jǐn)?shù)為num。根據(jù)實(shí)驗(yàn)經(jīng)驗(yàn),這里的f設(shè)置為0.1。替換后的字符串分別對(duì)應(yīng)為s1_change、s2_change。

      Step3:分別計(jì)算s1_change、s2_change的意思相似度

      simyi(s1,s2)=simyi(s1_change,s2_change)-f×num

      (11)

      Srep4:計(jì)算s1、s2的音形相似度,根據(jù)貢獻(xiàn)值a、b、c求最后相似度,其中a+b+c=1。如果單個(gè)特征相似度大于t,則以此特征為準(zhǔn),而不考慮另外兩個(gè)特征的相似度。

      Simzong=simyin×a+simxing×b+simyi×c

      (12)

      5 實(shí)驗(yàn)結(jié)果與數(shù)據(jù)分析

      5.1 實(shí)驗(yàn)方案

      以陳鳴[5]提出的音形碼作為基礎(chǔ),用編輯距離計(jì)算字符串音形碼相似度作為方法1,以HowNet義原檢測(cè)作為方法2,以本文提出的基于音形義檢測(cè)算法作為方法3。各方法比較如圖1。

      圖1 各方法基于特征比較

      實(shí)驗(yàn)方案:

      方案1:選取12組典型中文字符串進(jìn)行實(shí)驗(yàn),比對(duì)音形義相似的情況。最后對(duì)結(jié)果進(jìn)行分析比較,如圖2。

      圖2 典型中文字符串相似度計(jì)算結(jié)果比較(方案1)

      方案2:分別用以上三個(gè)方法檢測(cè)近義詞大全[16],一共730組近義詞。閾值都設(shè)為0.6,分別比較篩選出近義詞的準(zhǔn)確率,比較結(jié)果如圖3。

      圖3 近義詞識(shí)別率比較(方案2)

      方案3(本文方法):分別用以上三個(gè)方法檢測(cè)高中語(yǔ)文錯(cuò)別字[17],截取前85組近形(音)詞。閾值分別設(shè)為0.6、0.7、0.8、0.9,比較三種算法篩選出近義詞的準(zhǔn)確率,比較結(jié)果如圖4。

      圖4 形(音)近詞識(shí)別率比較(方案3)

      方案4:任意找一段文本(共1000字左右)[18],隨機(jī)位置插入10個(gè)詞語(yǔ),分別為:相互、西紅柿、藩茄、教師、衰豪、倉(cāng)黃、徘回、悲創(chuàng)、宛轉(zhuǎn)、凜列,找出人工判別對(duì)應(yīng)相似的詞語(yǔ),分別為:互相、番茄、老師、哀嚎、蒼黃、徘徊、悲愴、婉轉(zhuǎn)、凜冽。用以上三個(gè)方法分別對(duì)文章進(jìn)行文本檢測(cè),閾值分別設(shè)置為0.6,0.7,0.8,分析詞語(yǔ)分類結(jié)果,如圖5。

      圖5 詞語(yǔ)檢測(cè)召回率比較(方案4)

      5.2 評(píng)判標(biāo)準(zhǔn)

      由于中文詞語(yǔ)相似度評(píng)價(jià)沒(méi)有通用標(biāo)準(zhǔn),受主觀因素影響,所以主要按照人工判別的方式去比較各種方法的優(yōu)劣。大致評(píng)價(jià)標(biāo)準(zhǔn):相似度小于0.5時(shí),為不相似;相似度為0.5-0.6,則說(shuō)明有關(guān)聯(lián)性;相似度0.6-0.8為比較相似;相似度0.8-0.9為相似;相似度0.9-1.0為非常相似。

      5.3 結(jié)果分析

      經(jīng)過(guò)多次實(shí)驗(yàn),4種方案實(shí)驗(yàn)結(jié)果以及結(jié)果分析如下。

      對(duì)圖2(方案1)分析如下:

      1)對(duì)于“相互-互相”這類詞語(yǔ),字序改變,詞義不變。方法1所得相似度沒(méi)有參考價(jià)值,而方法2和方法3的算法基于語(yǔ)義,可以有效識(shí)別。

      2)對(duì)于“西紅柿-番茄”這類詞語(yǔ),描述方法不一樣,而意思一樣的詞語(yǔ),方法1也沒(méi)有參考價(jià)值,而方法2、方法3則表現(xiàn)良好。

      3)對(duì)于“番茄-藩茄”這類詞語(yǔ),假設(shè)其中有錯(cuò)別字,而HowNet語(yǔ)料庫(kù)中是不可能存在這種錯(cuò)別字詞語(yǔ)的,因此返回Null,沒(méi)有參考價(jià)值。而基于音形碼的方法1和基于音形義的方法3則具有一定參考價(jià)值,其中,方法3可以識(shí)別“藩茄”可能描述的詞語(yǔ)為“番茄”,所以可以得出較高的相似度。

      4)對(duì)于“男人-和尚”,“男人-鯉魚”,顯然,“男人”和“和尚”有較高的關(guān)聯(lián),而方法1并不能體現(xiàn),而方法2則把前者的相似度計(jì)算的過(guò)于高了,方法3則體現(xiàn)其具有關(guān)聯(lián)性,比較符合實(shí)際。

      對(duì)圖3(方案2)分析如下:

      本次實(shí)驗(yàn)用三種方法從730組近義詞中進(jìn)行相似度計(jì)算,從而分析識(shí)別率。其中方法1識(shí)別組數(shù)為236組,識(shí)別率為32.3%,方法2識(shí)別組數(shù)為509組,識(shí)別率為69.7%,方法3,也就是本文提出的算法,識(shí)別組數(shù)為529組,識(shí)別率為72.5%??梢钥闯霰疚姆椒ㄏ鄬?duì)其他方法提高了識(shí)別率。

      對(duì)圖4(方案3)分析如下:

      由于錯(cuò)別字組成的詞語(yǔ),HowNet詞庫(kù)并未收錄,因此方法2基本失效,而當(dāng)相似度閾值設(shè)置為0.6時(shí),方法1與方法3效果相同,但是隨著閾值的不斷增加,方法1顯然效果大大減小,其相似度分散在0.6-08之間,應(yīng)用方法2在多組詞組中找相似詞組時(shí),容易受其他詞組的影響,而方法3,即本文方法,則可以在比較高的相似度下將形(音)近字篩選出來(lái),在干擾下篩選詞語(yǔ)的效果顯然會(huì)強(qiáng)于方法1。

      對(duì)圖5(方案4)分析如下:

      檢測(cè)隱藏在文本中的詞語(yǔ),當(dāng)閾值為0.6時(shí),方法1召回率為70%。方法2召回率為30%。本文方法召回率為100%;當(dāng)閾值為0.7時(shí),方法1召回率為50%。方法2召回率為30%。本文方法召回率為90%;當(dāng)閾值為0.8時(shí),方法1召回率為30%。方法2召回率為30%。本文方法召回率為70%。實(shí)驗(yàn)表明,在文本中檢測(cè)相似詞,本文方法效果明顯最好。

      以上結(jié)果表明,無(wú)論是從音形還是詞義檢測(cè)中文詞相似度,本文提出的算法都有更好的表現(xiàn)。

      6 結(jié)論

      1)通過(guò)完善拼音編碼,算法提高了中文近音詞檢測(cè)精度。

      2)通過(guò)優(yōu)化字形編碼方式,算法在近形詞檢測(cè)中表現(xiàn)更好。

      3)在近義詞檢測(cè)方面,算法可以允許被檢測(cè)詞出現(xiàn)錯(cuò)別字的情況,識(shí)別率提高2.8%。

      4)算法可滿足多種應(yīng)用場(chǎng)景,如,結(jié)構(gòu)化數(shù)據(jù)項(xiàng)重復(fù)性檢測(cè),特別是存在手工輸入錯(cuò)誤的情況;另外,也可應(yīng)用于存在利用別字隱藏敏感詞的文本檢測(cè)等。

      猜你喜歡
      筆順字形編碼
      基于SAR-SIFT和快速稀疏編碼的合成孔徑雷達(dá)圖像配準(zhǔn)
      《全元詩(shī)》未編碼疑難字考辨十五則
      子帶編碼在圖像壓縮編碼中的應(yīng)用
      電子制作(2019年22期)2020-01-14 03:16:24
      筆順游戲:用手指描畫
      孩子(2019年7期)2019-07-29 05:37:20
      甲骨文“黍”字形義考
      甲骨文中的字形直立化二則
      課本內(nèi)外
      Genome and healthcare
      最易寫錯(cuò)筆順的字
      復(fù)習(xí)生字字形的方法
      东阿县| 财经| 中方县| 东至县| 桃江县| 汉川市| 武威市| 塘沽区| 彭泽县| 郧西县| 陇川县| 宝应县| 安图县| 靖江市| 旺苍县| 大名县| 五河县| 桑植县| 连江县| 潍坊市| 和平县| 武山县| 扎鲁特旗| 庆云县| 信阳市| 浏阳市| 岳阳县| 五莲县| 桐柏县| 肥城市| 莱西市| 浦江县| 蚌埠市| 沙坪坝区| 忻城县| 黄梅县| 乐陵市| 泸西县| 蒲江县| 启东市| 新晃|