版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、2.4.1 最小編輯距離我們?nèi)绾握业阶钚〉木庉嬀嚯x?我們可以把它看作是一個(gè)搜索任務(wù),在這個(gè)任務(wù)中,我們?cè)趯ふ易疃搪窂綇囊粋€(gè)字符串到另一個(gè)字符串的編輯序列圖 2.13 將查找編輯距離視為搜索問(wèn)題所有可能編輯的空間是巨大的,所以我們不能簡(jiǎn)單地搜索。然而,許多不同 的編輯路徑最終會(huì)以相同的狀態(tài)(字符串)結(jié)束,所以我們不必重寫(xiě)所有這些路 徑,我們只需要記住到達(dá)每一狀態(tài)的最短路徑就可以。我們可以通過(guò)使用動(dòng)態(tài)規(guī) 劃來(lái)做到這一點(diǎn)。BELLMAN (1957)首先提出動(dòng)態(tài)規(guī)劃這類(lèi)算法,它使用表驅(qū)動(dòng) 將問(wèn)題分解為子問(wèn)題的方法來(lái)解決。動(dòng)態(tài)規(guī)劃師自然語(yǔ)言處理中最常用的一類(lèi)算 法,例如Viterbi和正向算法(CHA
2、P - 9)和CKY算法進(jìn)行解析(第12章)。從直觀上看,動(dòng)態(tài)規(guī)劃問(wèn)題是通過(guò)將復(fù)雜問(wèn)題分解為子問(wèn)題,再將子問(wèn)題的 解合并起來(lái)的方法來(lái)解決的。圖 2.14 中呈現(xiàn)的是字符串 intention 到 execution最小編輯距離的最短路徑。tent1oentonentionent勺o(hù)且enutioecut*o1n delete rnen* substitute n by cen substitute n by e substitute t by x * insert u假定一個(gè)字符串(比如exention)是最優(yōu)路徑中的一個(gè)節(jié)點(diǎn)。顯然,在動(dòng)態(tài) 規(guī)劃中,如果這個(gè)exention是最優(yōu)路徑中的一個(gè)節(jié)
3、點(diǎn),那么從源字符串(intention) 到該中間節(jié)點(diǎn)(exention)的最優(yōu)路徑一定是整體最優(yōu)路徑(從intention到execution)的一部分。為什么?如果從intention到exention存在一個(gè)更短的路 徑,那么我們可以使用這個(gè)更短的路徑替代原最優(yōu)路徑產(chǎn)生一個(gè)更短的全局路徑 顯然這是矛盾的,因?yàn)椴豢赡艽嬖诒茸顑?yōu)路徑更短的路徑。最小編輯距離算法首先做一些定義,假定源字符串X的長(zhǎng)度為n,目標(biāo)字符串的長(zhǎng)度為m,X1i表示字符串X前個(gè)字符,Y1j表示字符串Y的前j個(gè)字符。定義兩個(gè)字符 串X 1.i 和Y 1. j之間的最短編輯距離為D(i, j) 。D(n, m)為字符串X和Y之間
4、 的最短編輯距離。接下來(lái),我們使用動(dòng)態(tài)規(guī)劃,通過(guò)自底向上和子問(wèn)題的解來(lái)計(jì)算D(n, m)。兩種最簡(jiǎn)單的情況:假定源字符串X長(zhǎng)度為i,目標(biāo)字符串Y為空字符串,那么從 X到Y(jié)需要進(jìn)行i次刪除。同樣,假定源字符串X為空字符串,目標(biāo)字符串Y長(zhǎng)為 j,則需要進(jìn)行j次插入操作。計(jì)算D(i, j)需要依賴i、j前小字符串的計(jì)算結(jié)果。D(i, j)的值為以下三個(gè)可能路徑的最小值:(Di 1, j + del-cosDi. j min DiJ 1 + ins-costI Dp 1 J I + sub-wst(sourceijargetj )如果我們假設(shè)使用LevsHeTin距離的版本,其中插入和刪除每個(gè)都有1的
5、代價(jià)(ins-cost ( = del-cost ( = 1),并且替換的成本為2 (替換相同字母的成 本為0),d (i,j)的計(jì)算變?yōu)椋涸撍惴枋鲈趫D2.15中,圖2.16示出將算法應(yīng)用于i ntention和execution之間 的距離的結(jié)果,與LevsTei n的版本在等式2.2中的結(jié)果相同。function Mix- E)rr-DiS I a n,療妙f) rvturnsnLEGTW(soitrce)mr-仃TH(加書(shū)Create a distance matrix di stun cen +1hiifialization: the zeroth row and coiumn is
6、 the ilistancc from the empty stringD0、0| 二 0tor each row i From 1 to x doDli,O/1+ M-cosf(soi(rceli)tor each column j from I to m doQ刀D|()JJ I + ”倍少蹴加智機(jī)U|)Rec Lt i rtnce rclatiurt:for each row / frin I to n doir e(ich column j from 1 lo m doDi,MlN( Dj 1 j + del-cuat(souTVer.D|i I j1 + su b- cast( so
7、u rce i,ta rgel (/),DiJ 11 +)lerrtiifiafioitreturn Z(nTm圖2.15 最小編輯距離算法,一個(gè)動(dòng)態(tài)規(guī)劃算法的例子。各種成本是固定的(例如, x, ins-cost (x)二 1)。最小編輯距離不僅在拼寫(xiě)錯(cuò)誤修正算法上有用。還有另一種重要的用途;通過(guò)小的改變,它還可以提供兩個(gè)字符串之間的最小成本對(duì)齊。在語(yǔ)音和語(yǔ)言處理過(guò)程中,對(duì)齊兩個(gè)字符串是有用的。在語(yǔ)音識(shí)別中,使用最小編輯距離對(duì)齊來(lái)計(jì)算單詞錯(cuò)誤率(第31章)。對(duì)齊在機(jī)器翻譯中起著重要作用,其中平行語(yǔ)料庫(kù)中的句子(具有兩種語(yǔ)言的文本的語(yǔ)料庫(kù))需要相互匹配。為了擴(kuò)展編輯距離算法以產(chǎn)生對(duì)齊,我們可以
8、通過(guò)將對(duì)齊視為通過(guò)編輯距 離矩陣的路徑來(lái)開(kāi)始。圖2.17顯示了帶有黑體單元的路徑。每個(gè)黑體單元表示 兩個(gè)字符串中的一對(duì)字母的對(duì)齊。如果在同一行中出現(xiàn)兩個(gè)黑體單元,則從源 到目標(biāo)將有插入;同一列中的兩個(gè)黑體單元表示刪除。#eXecuton#01234567891WT2-Ht3M4i-t567 6 7n2+ 3T4x-r 6T7T甘t787t36%T73 87MS9I tse斗XT忙4%片5j 7hs-W9M 10T9n5T 4T 6T782t9j-T 1011Kt iot6t5、T6M7V8/-T 98 9J wT 1】K716XHt 7 t 85 9J-T 1019819-1008T79T L
9、O1Jt 10t989n9?8-t910XT1T 12THT 10T 9P8圖2.17 當(dāng)在每個(gè)單元格中輸入一個(gè)值時(shí),我們用箭頭標(biāo)記從哪個(gè)相鄰單元格計(jì) 算出的這個(gè)值,最多標(biāo)記三個(gè)箭頭。在表滿之后,我們使用回溯法計(jì)算對(duì)齊 (最小編輯路徑),從右下角的8開(kāi)始,然后返回箭頭。粗體單元的序列表示兩 個(gè)字符串之間的一個(gè)可能的最小成本對(duì)齊。圖2.17還直觀顯示了如何計(jì)算對(duì)齊路徑。計(jì)算分兩步進(jìn)行。在第一步中,我 們?cè)谧钚【庉嬀嚯x算法的每個(gè)存儲(chǔ)單元格中增加反向指針。單元格的反向指針 指向進(jìn)入該單元格的前一個(gè)單元格。圖2.17中顯示了這些反向指針的示意圖。 有些單元有多個(gè)反向指針,因?yàn)樽钚≈悼赡軄?lái)自多個(gè)前單元格
10、。在第二步中, 我們執(zhí)行回溯。在回溯中,我們從最后一個(gè)單元(在最后一行和列)開(kāi)始,并 跟隨指針通過(guò)動(dòng)態(tài)編程矩陣返回。最終單元和初始單元之間的每個(gè)完整路徑都 是最小距離對(duì)齊。練習(xí)2.7要求修改最小編輯距離算法來(lái)存儲(chǔ)指針并計(jì)算回溯以 輸出對(duì)齊。這里我們用簡(jiǎn)單的Levenshte in距離來(lái)處理示例。圖2.15中的算法允許在操作 上使用任意權(quán)重。例如,對(duì)于拼寫(xiě)校正,在鍵盤(pán)上彼此相鄰的字母之間更容易 發(fā)生替換。我們將在第5章討論如何估計(jì)這些權(quán)重。例如,維特比算法是使用操 作的概率定義的最小編輯距離的擴(kuò)展。Viterbi不是計(jì)算兩個(gè)字符串之間的“最小 編輯距離”,而是計(jì)算一個(gè)字符串與另一個(gè)字符串的“最大概率對(duì)齊”。我們將在 第9章中進(jìn)一步討論這一點(diǎn)。2.5 總結(jié)本章介紹了語(yǔ)言處理中的一個(gè)基本工具,正則表達(dá)式,并展示了如何執(zhí)行 基本的文本規(guī)范化任務(wù),包括分詞和歸一化、句子分割和詞干。我們還介紹了重要的最小編輯距離算法比較字符串。以下是我們對(duì)本章主要內(nèi)容的總結(jié):正則表達(dá)式語(yǔ)言是模式匹配的一個(gè)強(qiáng)大工具。正則表達(dá)式中的基本操作包括符號(hào)的連接、符號(hào)的析取(、和)、 計(jì)數(shù)器(*、+和n、m )、錨
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 教育研習(xí)計(jì)劃
- 高教版中職數(shù)學(xué)拓展模塊一下冊(cè):6.5 三角計(jì)算的應(yīng)用(教案)
- 2024-2025學(xué)年統(tǒng)編版語(yǔ)文九年級(jí)下冊(cè)第7課《溜索》任務(wù)驅(qū)動(dòng)型教學(xué)設(shè)計(jì)
- 【新課標(biāo)】Unit 6 In a nature park單元整體教學(xué)設(shè)計(jì)
- 【新教材】生物第一章 1.1 細(xì)胞是生命活動(dòng)的基本單位 教學(xué)設(shè)計(jì)(人教版)
- 《第五課 書(shū)山學(xué)海有捷徑》教學(xué)設(shè)計(jì)
- 《音樂(lè)與影視》說(shuō)課教案音樂(lè)
- DB6110-T 44-2024 薄殼山核桃栽培技術(shù)規(guī)范
- 2023-2024學(xué)年統(tǒng)編版語(yǔ)文七年級(jí)上冊(cè)第1課《春》教學(xué)設(shè)計(jì)
- 冀人版(2017秋)五年級(jí)科學(xué)上冊(cè) 3.13地殼的構(gòu)成(教案)
- 普速鐵路道口大修作業(yè)指導(dǎo)書(shū)
- 高中物理 人教版 選修一《動(dòng)量守恒定律》第五課時(shí)《彈性碰撞與非彈性碰撞》 課件
- 班主任工作量化考核表(完整版)資料
- 心理投影生幻覺(jué)注重心理描寫(xiě)和幻覺(jué)
- 城市規(guī)劃原理課件-經(jīng)濟(jì)與產(chǎn)業(yè)
- 單片機(jī)理論題庫(kù)(有答案)
- GB/T 18916.3-2002取水定額第3部分:石油煉制
- 冷鏈?zhǔn)称稧MP培訓(xùn)試題及答案
- GB/T 10001.2-2021公共信息圖形符號(hào)第2部分:旅游休閑符號(hào)
- GB 2707-2016食品安全國(guó)家標(biāo)準(zhǔn)鮮(凍)畜、禽產(chǎn)品
- 設(shè)備安全操作培訓(xùn)教程
評(píng)論
0/150
提交評(píng)論