999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

一種基于PowerBuilder環境字符串相似度算法

2017-05-17 12:56:47劉永海
數字技術與應用 2017年3期

劉永海

摘要:最小編輯距離能直接反映兩個字符串的相似程度,而字符串的相似度比較在數據挖掘和數據查詢方面多有應用。通過相似度比對,可更自動化地整理、規范文本,提高信息模糊查詢的命中率。本文詳細介紹了“LD”算法的原理,并完成了PowerBuilder環境下的具體編碼。

關鍵詞:LD算法;字符串相似度;PowerBuilder;源碼

中圖分類號:TP311.52 文獻標識碼:A 文章編號:1007-9416(2017)03-0140-02

引言

在數據挖掘中,經常需要分類整理相似字符串;在模糊檢索、文本智能糾錯等方面也要進行字符串相似度比對。常見的算法包括編輯距離、最長公共子串、RKR-GST等算法。本文介紹了最小編輯距離算法(下稱LD算法)在PowerBuilder環境中的實現。

1 算法分析

最小編輯距離算法最早是由俄羅斯科學家Levenshtein提出,因此也稱“LD”算法。該算法是計算兩個字符串之間,將一個字符串通過替換、插入、刪除等方式轉變為另一個字符串所需要的最少步驟數。如將“青島市衛計委”轉變為“青島衛生局”的編輯距離是3。本文中,字符串S、T的最小編輯距離用表示。(見表1)

編輯距離與最大字符串長度的比值同字符串的相似度成負相關。字符串的相似度定義為。

字符串S,T相似度越高,LD就越小,當完全相同時值最小:,相似度為100%;當完全不同時值最大,

,相似度為0%。因此,。

根據LD的原理,存在如下公式:

公式1:當一個字符串為空時,LD等于不為空字符串的長度,即;

公式2:兩個字符串位置對調不影響LD的值,即

公式3:同時在兩個字符串的“頭”或“尾”部連接相同的字符串,其LD不變,即

設S由組成,T由組成,長度分別為n和m。當S或T某一個為空時,根據公式1可計算LD值。當S和T都不為空時,引入i和k做為S和T的下標變量,取值范圍是。子字符串。若字符元素,依據公式3,子字符串;若,取增加、刪除和修改三種方式的最小LD值加1,由此得出:

公式4:時,;時,。

運用公式4,將i和k從1分別計算至n和m后,即可求出。

2 算法實現

根據上述分析,應構造矩陣進行計算。舉例說明,設S=“青島市衛計委”,T=“青島衛生局”,構造矩陣如下:

上圖將S和T字符串分別作為矩陣的列和行。其中,第一行是T為空時,的值;第一列是S為空時,的值。按照算法,首先計算,由于“青”字相同,因此

,將值填入對應位置;再計算,可以看到,,在圖中可以看出,分別是的“上側”、“左側”和“左上側”的值。這時最小值是0,因此,將值填入矩陣…;以此類推,計算完成整個矩陣后最右下角的數據即為的值。

上例。字符串的相似度為。

3 源代碼

構建計算矩陣一般使用數組實現。在PB中選用了特有的DataStore對象來實現。DataStore是PB中特有的數據容器,它數據操控方便,代碼維護量小,又是非可視對象,占用資源少,效率更高。具體算法如下:

//切分字符串為字符元素

Int li_1,mALen,mBLen

String ls_tmp,S,T//目標字符串S,T

Char mCharA[],mCharB[]

If Len(S)

ls_tmp=S;S=T;T=ls_tmp;

End If

For li_1=1 TomALen

mCharA[li_1]=Mid(S,li_1,1)

Next

For li_1=1 TomBLen

mCharB[li_1]=Mid(T,li_1,1)

Next

//動態創建數據存儲

Intli_ret=0

String ls_sql,err_syn,err_crt,new_syn

Datasore ds_1

ds_1=Create Datasore //創建實例

For li_1=1 To mBLen+1//組成SQL語句

ls_tmp=ls_tmp+0 as col+String(li_1)+,

Next

ls_tmp=Left(ls_tmp,Len(ls_tmp)-1)//去掉最后的逗號

ls_sql=Select + ls_tmp+From dual//Oracle用法

new_syn=sqlca.SyntaxFromSQL(ls_sql,style(type=grid),err_syn)

ds_1.Create(new_syn,err_crt)//創建實例

//在DataStore中進行LD計算

Long ll_row

Integer li_2,li_zs,li_left,ls_top,li_tmp

Dec ld_ret

ds_1.InsertRow(0)//新增第一行,填充0,1,2…

For li_1=1 TomBLen+1

ds_1.SetItem(1,li_1,li_1-1)

Next

For li_1=1 to mALen

ll_row=ds_1.InsertRow(0)//填充第一列數據

ds_1.SetItem(ll_row,1,li_1)

Next

//計算LD

For li_1=1 TomBLen

For li_2=1 TomALen

li_zs=ds_1.GetItemNumber(li_2,li_1)

If mCharB[li_1]<>mCharA[li_2] Thenli_zs++

li_left=ds_1.GetItemNumber(li_2+1,li_1)+1

li_top=ds_1.GetItemNumber(li_2,li_1+1)+1

li_tmp=Min(li_zs,li_left)//Min只能兩兩比較

li_tmp=Min(li_tmp,li_top)

ds_1.SetItem(li_2+1,li_1+1,li_tmp)//設置單元的值

Next

Next

ld_ret=1-li_tmp*1.0/mALen//得到相似度

4 總結

基于LD的字符串相似度算法實現比較簡單。在對比短長度的字符串時,其空間復雜度低,具有良好的實時性。測試表明,在普通PC機中PowerBuilder編寫的LD算法執行速度達到200~300對/秒(字符串長度在5~20之間)。在進行中文機構名稱和簡稱模糊匹配時,命中率接近80%。

但該算法也有明顯缺陷,它無語義關聯。例如進行“青島市衛計委”、“青島衛生局”、“青島市統計局”機構名稱匹配時,就得不到正確結果。因此,后期改進時,應考慮加入語義解析,比如用“分詞”技術先拆分成詞組,再用分詞字典對詞進行標準化轉換后再計算相似度時就可以得到正確結果。

參考文獻

[1]杜軍強,楊波.云計算中加密數據的模糊關鍵字搜索方法.計算機工程與應用,2015,51(5):146-152.

[2]黃林晟,鄧志鴻,唐世渭,王文清,陳凌.基于編輯距離的中文組織機構名簡稱-全稱匹配算法.山東大學學報(理學版),2012,47(5):46-51.

[3]米琳.基于q-gram的字符串相似性查詢研究.現代計算機,2014(4):12-16.

主站蜘蛛池模板: 日本在线国产| …亚洲 欧洲 另类 春色| 婷婷在线网站| 国产精品999在线| 亚洲国产综合精品中文第一 | 特级欧美视频aaaaaa| 亚洲av成人无码网站在线观看| 无码丝袜人妻| 日韩AV手机在线观看蜜芽| 精品福利视频导航| a级毛片毛片免费观看久潮| 中字无码精油按摩中出视频| 欧美亚洲国产日韩电影在线| 色爽网免费视频| 国产成人精品一区二区免费看京| 亚洲精品无码久久久久苍井空| 亚洲中文久久精品无玛| 成人亚洲国产| aa级毛片毛片免费观看久| 在线欧美一区| 一区二区三区毛片无码| 国产亚洲视频免费播放| 久久99国产综合精品1| 成人国产精品一级毛片天堂 | 91精品专区国产盗摄| 波多野结衣第一页| 亚洲国产精品不卡在线| 亚洲第一视频免费在线| 亚洲人成网站在线播放2019| 毛片网站观看| 免费人成网站在线高清| 国产呦视频免费视频在线观看 | 在线欧美日韩| 國產尤物AV尤物在線觀看| 手机看片1024久久精品你懂的| 国产免费久久精品44| 亚洲最新地址| 国产全黄a一级毛片| 国产产在线精品亚洲aavv| 亚洲日韩国产精品无码专区| 国产精品分类视频分类一区| 日本国产精品| 久久国产V一级毛多内射| 福利姬国产精品一区在线| 蜜芽国产尤物av尤物在线看| 精品国产自| 午夜综合网| 国产三级a| 国产小视频免费观看| 成人一级免费视频| 精品三级网站| 国产成人8x视频一区二区| 青草视频久久| 国产成人AV大片大片在线播放 | 久久精品女人天堂aaa| 国产一区二区免费播放| 免费一极毛片| 国产毛片网站| a在线亚洲男人的天堂试看| 亚洲aaa视频| 极品国产在线| 亚洲国产91人成在线| 亚洲中文字幕手机在线第一页| 国产成人福利在线| 欧美中日韩在线| 国产精品一区二区在线播放| 亚洲日韩国产精品综合在线观看| 亚洲精品综合一二三区在线| 久久精品中文字幕免费| 2018日日摸夜夜添狠狠躁| 国产视频只有无码精品| 国产成人精品免费av| 亚洲欧美在线看片AI| 亚洲成a人片在线观看88| 国产福利在线观看精品| 免费全部高H视频无码无遮掩| www中文字幕在线观看| 天天色综网| 国产精品永久久久久| 99热这里只有精品5| 日韩a级毛片| 福利在线免费视频|