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

短文本聚合在元器件供方匹配中的應用與研究

2022-08-02 01:44:38魏自強班元郎王文璽
計算機技術與發展 2022年7期

魏自強,班元郎,徐 偉,王文璽

(貴州航天計量測試技術研究所,貴州 貴陽 550009)

0 引 言

工業化和信息化的深度融合,信息技術在軍工企業產業鏈中的應用越來越廣。簡潔的短文本,已然成為適應人們快速高效工作的信息載體[1]。例如元器件供方簡稱就常作為供方名稱的短文本替代出現航天各個業務系統中。由于航天元器件信息來源于ERP、TDM等多個平臺,其中元器件的廠商名稱即供方名稱是定義唯一一個元器件的標準之一。但各系統的供方定義標準不同、不同人員對供方數據的理解不同導致同一條供方數據出現多條不同的記錄。最終導致在采購流程中,不同業務部門所提交的采購單中同一元器件供方信息數據出現不一致的情況。因此,在采購流程中,對供方數據和合格供方目錄進行匹配是必要步驟之一。

供方數據和合格供方目錄都是短文本數據。供方數據匹配可以看作是文本匹配問題。在對現有的Jaro-Winkler算法以及Levenshtein(編輯距離)算法進行測試后,發現這兩個算法在供方匹配應用中有各自的優勢,但都不能很好地滿足供方匹配需求。該文根據供方數據的特征,將Jaro-Winkler算法與Levenshtein(編輯距離)算法進行結合與改進。改進的算法結合了兩種算法的優勢,在計算元器件供方名稱與合格供方目錄的相似度時,提高了匹配的準確率,滿足了供方匹配應用的需求。

1 研究現狀

1.1 短文本聚合模型

加入短文本聚合模型的定義(1到2句話)在短文本聚合模型中,采用相似度算法對文本進行相似度匹配。計算兩個字符串相似度算法主要可分三類[2]:基于字面、基于語義、基于統計關聯的相似度算法。基于字面的相似度算法有編輯距離的方法和相同字或詞的方法,代表性的有Jaro-Winkler[3-4]、Levenshtein[5-6]算法、最長公共子串算法[LCS][7-8]、余弦相似度算法[9]。文獻[10]通過計算前后非相鄰字符間的交換操作,改進了編輯距離算法,實現了編輯操作的最小化。

1.2 Jaro-Winkler算法

Jaro-Winkler算法是用來計算2個字符串的相似度,由Jaro改進而來。該算法適合計算兩個較短的字符序列的相似度,運算結果在0到1范圍內。0表示完全不匹配,1表示完全匹配[11],運算的值越大表示相似度越高。

(1)Jaro算法。

(1)

其中,|s1|和|s2|分別為字符串s1和s2的字符串長度,m為匹配字符串個數,t為換位數目。

(2)匹配窗口MW(matching window)計算公式:

(2)

其中,|s1|和|s2|分別為s1和s2的字符串長度,當字符串s1中的一個字符在字符串s2中,但位置不同,需要換位操作時,如果這2個字符的距離小于等于MW,則表示這兩個字符為匹配字符。統計所有能匹配的字符的所有換位操作數,記為tj,則換位的字符數目t,記為:

(3)

(3)Jaro-Winkler計算公式。

Jaro-Winkler算法的相似度計算公式為:

dw=dj+(lp(1-dj))

(4)

式中,p范圍為(0~0.25),默認值為0.1;l是字符串s1和s2的前綴部分匹配長度。

1.3 Levenshtein(編輯距離)算法

編輯距離于1965年被提出[12],編輯距離[13]是由原字符串S轉換成目標字符串T最少需要進行的編輯操作次數。編輯操作包含3種操作,分別是字符的替換、添加、刪除,這3種操作次數的總和記為這2個字符串的編輯距離。編輯距離越小,相似度越高。

設字符串S=s1s2…sm,T=t1t2…tn,建立S和T的(m+1)×(n+1)階匹配關系矩陣LD:

LD(m+1)×(n+1)={dij}(0≤i

(5)

按公式(6)初始填充矩陣LD:

(6)

其中,

(7)

矩陣LD,右下角元素dm,n即為字符串S和字符串T之間的Levenshtein距離,也叫編輯距離,記為ld。

根據編輯距離ld,定義字符串S和T的相似度為[14]:

(8)

式中,Sim為最終的相似度計算結果。越相似的2個字符串,Sim的值將越大。

2 改進Jaro-Winkler算法

2.1 供方數據特征

供方數據主要來源于貴州航天計量測試技術研究所的ERP、TDM等系統。在對多源數據進行匯集后,發現同一供方的名稱數據有大量不一致的情況。

在航天元器件數據中,元器件供方名稱和合格供方名稱存在不一致問題,典型特征如下:

(1)合格供方名稱和元器件供方名稱,存在全稱和簡稱情況。例如“中國電子科技集團有限公司第四十九研究所”和“中電四十九所”,“天水天光半導體有限責任公司”和“天水天光”。

(2)合格供方名稱和元器件供方名稱,存在總公司和子公司信息。例如“易訊科技股份有限公司”和“易訊科技股份有限公司哈爾濱分公司”,“中國航天科工集團有限公司”和“中國航天科工集團第二研究院”。

(3)合格供方名稱和元器件供方名稱,一個可以區分類別詞、一個沒有,例如“施耐德電氣有限公司”和“施耐德”。

(4)合格供方名稱和元器件供方名稱相似但不是同一家公司。例如“中國航天科工集團有限公司”和“中國航天科技集團有限公司”。

(5)合格供方名稱和元器件供方名稱相似,但類別詞不同。例如“深圳海瑞達電子有限公司”和“深圳海瑞達時頻設備有限公司”。

(6)合格供方名稱和元器件供方名稱字面很相似,但順序不一致。例如“聯創電子有限公司”和“創聯電子有限公司”。

前三種情形為正例,名稱有差異,但是應該匹配成功。后三種情況為反例,名稱相似,但不應該匹配成功。

2.2 算法改進

Jaro-Winkler算法中缺乏對相同字符在原字符串中的間隔問題的考慮[14],因此對相對相似的兩個名稱不能夠有效地拒絕匹配,對于前綴部分相同的兩字符,Jaro-Winkler匹配效果相對比較好。因此Jaro-Winkler算法對特征(4)中的名稱很相似的不同公司,錯誤的匹配成功;對特征(6)中公司名稱明顯錯位,但依然匹配成正例。

Levenshtein算法對2個字符串的長度、位序等相對比較敏感,因此對相似的反例能較準確匹配,而對長度差異相對較大的正例易出現匹配錯誤。因此Levenshtein算法對特征(4)到(6)的反例,容易匹配正確;因為全稱和簡稱、總公司和子公司字符串的長度差異大,因此容易對特征(1)到(3)的正例拒絕匹配。

由于Jaro-Winkler算法能對前綴部分相同的字符串加分,因此Jaro-Winkler相似度算法對正例匹配效果比較好,但對字符位序、對相同字符之間的間隔沒有處理,所以對反例的匹配效果并不好。而Levenshtein算法考慮了字符串的長度、位序等情況。因此,考慮通過引入調整閾值及系數融合Jaro-Winkler和Levenshtein算法,以提高整體的匹配正確率,計算公式如下:

ana=?dw+βsim (?+β=1)

(9)

其中,dw為Jaro-Winkle算法計算的距離,sin為Levenshtein算法計算的相似度。

3 改進算法在航天元器件合格供方中的應用

3.1 供方名稱清洗及映射

采購單中的元器件數據來源于不同系統,而不同系統中的元器件供方名稱的字段長度、類型存在不一致的問題。在對供方名稱進行處理時,先對數據進行清洗能有效提高匹配正確率。數據清洗的對象主要是相似的記錄、異常值等。以建立供方名稱映射表方式,在不改變原始數據的情況下對供方名稱進行清洗。映射表部分數據如表1所示。

表1 供方名稱映射表部分數據

3.2 建立停用詞字典

在匹配供方數據時,供方名稱中的部分后綴文本屬于冗余數據,如有限公司、研究院等。這些冗余數據在匹配過程中會影響匹配的準確率。通過建立停用詞表,可減少冗余數據對匹配準確率造成的干擾。在匹配供方時,去除供方和合格供方名稱中的停用詞,可有效提升匹配的正確率。通過對供方數據的分析與梳理,構建了停用詞表。停用詞表部分數據如表2所示。

表2 停用詞表部分數據

續表2

3.3 合格供方匹配過程

首先對TDM、ERP等系統數據進行抽取,在將供方數據匯集到數據倉庫過程中,對相似的、異常的供方名稱值進行標記,形成供方名稱映射表。采購部門用戶導入采購單,系統對采購單進行分解,提取供方數據。然后系統對供方和合格供方數據按照供方名稱映射表進行清洗。清洗完成后對供方和合格供方數據進行停用詞處理。處理停用詞后,利用改進的算法對供方和合格供方進行匹配。最后利用堆排序,對每個供方選擇出匹配度最高的5個合格供方,供專業人員對其進行判斷,如圖1所示。

圖1 合格供方匹配過程

3.4 閾值及系數的確定

在進行供方匹配時,需要針對供方名稱和合格供方名稱按照相似度算法計算相似度,然后將結果與一個選擇設定的相似度閾值進行比較,如果大于閾值,則認為該供方為合格供方,否則,判定為不合格供方。文獻[1]對Jaro-Winkle和Levenshtein的最優閾值進行了分析,其中Jaro-Winkle的最優閾值為0.709,其精確率為85.9%,Levenshtein的最優閾值為0.662,其精確率約為62.2%。因此設定改進算法的閾值為Jaro-Winkle的最優閾值和Levenshtein的最優閾值的平均值0.68。

為了確定?與β的值,隨機從供方數據集中抽取三組數據,每組數據有100條數據,計算每組數據在不同?與β值情況下的相似度。調整?的步長為0.1,0

圖2 相似度-閾值曲線

對三組數據精確率進行判斷,其中第一組數據中62個正例58個匹配正確,38個反例28個拒絕匹配;其中第二組數據中66個正例60個匹配正確,34個反例28個拒絕匹配;其中第三組數據中58個正例51個匹配正確,42個反例34個拒絕匹配;三組平均精確率為86.3%。因此改進的算法閾值設定為0.68,系數設定為?=0.6,β=0.4時,精確率略高于Jaro-Winkle算法,如表3所示。

表3 改進算法的匹配情況

3.5 合格供方匹配結果分析

在業務系統中測試合格供方匹配功能,結果如圖3所示。用戶導入的采購單中有500條隨機選取供方數據。導入完畢后系統自動進行匹配工作,匹配結果正確率相對較高。因此,改進的算法能夠很好地完成合格供方匹配。

圖3 合格供方匹配

4 結束語

建立供方名稱清洗表、停用詞表,基于Jaro-Winkler算法并對其改進,改進后算法能很好地實現供方名稱和合格供方名稱的匹配,實現批量合格供方匹配的自動化,能極大地提高匹配效率,有助于航天元器件的采購工作,有效保證航天元器件的可靠性。

主站蜘蛛池模板: 波多野结衣在线一区二区| 一级毛片基地| 国产性爱网站| 国产一区二区三区视频| 最新国语自产精品视频在| 欧美黄色网站在线看| 九九精品在线观看| 午夜天堂视频| 亚洲视频色图| 狠狠色丁香婷婷| 亚洲天堂啪啪| 三上悠亚在线精品二区| 国产超薄肉色丝袜网站| 欧美高清三区| 无码一区二区三区视频在线播放| Aⅴ无码专区在线观看| 无码国产伊人| 青青青亚洲精品国产| 98超碰在线观看| 国产伦片中文免费观看| 综合社区亚洲熟妇p| 国产在线八区| 亚洲天堂视频网站| 国产午夜一级淫片| 亚洲国产成人久久77| 国产亚洲精久久久久久久91| 怡红院美国分院一区二区| 蜜桃臀无码内射一区二区三区 | 欧亚日韩Av| 性欧美精品xxxx| 97se亚洲综合在线天天| 91网站国产| 国产美女主播一级成人毛片| 永久在线精品免费视频观看| 999精品视频在线| 最新加勒比隔壁人妻| 啦啦啦网站在线观看a毛片| 亚洲手机在线| 国产日韩精品一区在线不卡| 国产网友愉拍精品视频| 国产对白刺激真实精品91| 浮力影院国产第一页| 国产福利拍拍拍| 无码福利视频| 久久女人网| 国内精品久久久久鸭| 亚洲欧美h| 激情無極限的亚洲一区免费| 免费在线播放毛片| 极品国产一区二区三区| 伊人福利视频| 国产欧美日韩精品综合在线| 国产乱码精品一区二区三区中文| 日韩成人在线一区二区| 国产成人免费观看在线视频| av午夜福利一片免费看| 午夜精品区| 97色伦色在线综合视频| 日韩毛片免费观看| 亚洲高清国产拍精品26u| 国产乱子伦视频三区| 国产成人综合久久精品尤物| 久久鸭综合久久国产| Jizz国产色系免费| 欧美三级不卡在线观看视频| 一级成人欧美一区在线观看| 在线综合亚洲欧美网站| 免费av一区二区三区在线| 欧美精品不卡| 日韩成人免费网站| 亚洲第一成网站| 亚洲91在线精品| 欧美高清国产| 欧美日韩国产综合视频在线观看 | 欧美国产在线精品17p| www成人国产在线观看网站| 人妻免费无码不卡视频| 香蕉久久国产精品免| 久久国产毛片| 亚洲福利一区二区三区| 国产成人精品一区二区免费看京| 日本一区二区三区精品国产|