一種基於相似性度量的模型比對方法
2023-06-11 09:36:46 3
專利名稱:一種基於相似性度量的模型比對方法
技術領域:
本發明涉及計算機科學資料庫領域,尤其涉及一種在半結構化模型上基於相似性度量的比對方法。
背景技術:
版本控制是對系統不同版本進行標識和跟蹤的過程,並且方便於對版本加以區分、檢索和跟蹤,以及表明各個版本之間的關係。而版本的比對則是版本控制中一個重要的模塊,其目的為了讓用戶對當前所用版本有進一步的認識,將當前版本與以前的版本實例進行對比,並且把兩個版本之間的明顯不同清晰的呈現給用戶。經過長時間的發展,傳統的版本比對工具已經比較成熟,傳統的版本比對方法多數是基於行的比對,即標記出相比較的文本某一行存在的差別。對於模型比對,現有的方法 是直接對模型中的文字和結構進行匹配來實現的。雖然相關技術也有了長足的進步,但是當前在建模工具中所用的模型比對方法卻顯得有些不盡如人意。在當前的建模工具的模型比對中,只對兩個模型進行非常簡單的比較,即只有在兩個模型在存儲層面相同時兩個模型才能被認同是相匹配的,而兩個模型中的細微的差別都可能導致比對結果的不同。而用戶所建立的模型往往是基於一些語義關係或者模型中的結構關係,而這些特點顯然不能被整個對比工具所認知,因此,現存的模型比對工具與用戶的需求仍然有一定的距離。而具體來說,當前模型比對方法的不足之處可以概括為如下幾
佔-
^ \\\ · (I)在模型比對時,不能對具有同義關係或相似的語義關係的兩個概念進行判別,很容易就將具有相似語義關係的兩個模型直接區別開來。例如兩個名稱分別為「防護飛彈」與「防禦飛彈」的模型,在用戶看來,它們是一致的,而在模型比對中則會被視為不同的兩個概念來處理。(2)缺乏對異構數據源中的兩個模型關係的認識。由於在建模過程中可能會出現多個團隊,因此,就很容易導致他們對某些模型的認識上存在一定的差異,在相同的模型的表述上存在不同。這樣就直接導致了所生成模型結構的不同。例如對某一圖書庫中的書本模型的表述可以分別是如圖I所示的三個模型。而以上三種表述方法,對用戶來說應當是相同的。(3)不能適用當前比較主流的建模工具的模型比對。在一般的建模工具中,模型在文件上都是以XML的方式進行存儲的,現在針對XML進行比對的方法也層出不窮,但是由於當前模型比對具備了一定建模領域的特點。因此,亟需一種基於相似性度量的模型比對方法以解決上述問題。
發明內容
本發明所要解決的技術問題之一是需要提供一種能夠使得模型比對的結果更加準確、客觀的基於相似性度量的模型比對方法。
為了解決上述技術問題,本發明提供了一種基於相似性度量的模型比對方法,該方法包括步驟10,確定待比對的模型;步驟20,分別從所述待比對的模型中獲取組成各個模型的節點;步驟30,計算所述待比對模型之間各個節點的節點相似度;步驟40,基於所述待比對模型之間各個節點的節點相似度計算得到所述待比對模型之間的模型相似度;步驟50,基於所述模型相似度以得到所述待比對模型之間的關係。根據本發明另一方面的基於相似性度量的模型比對方法,在所述步驟30中,通過計算所述待比對模型之間各個節點的節點文本相似度和節點標籤相似度、以得到所述待比對模型之間各個節點的節點相似度。根據本發明另一方面的基於相似性度量的模型比對方法,基於各個節點所對應的標籤之間的語義關係以得到所述待對比模型之間各個節點的節點標籤相似度。根據本發明另一方面的基於相似性度量的模型比對方法,基於各個節點之間的字符串編輯距離來得到所述待比對模型之間各個節點的節點文本相似度。根據本發明另一方面的基於相似性度量的模型比對方法,所述待比對模型之間各個節點利用以下表達式來得到節點文本相似度
權利要求
1.一種基於相似性度量的模型比對方法,其特徵在於,包括 步驟10,確定待比對的模型; 步驟20,分別從所述待比對的模型中獲取組成各個模型的節點; 步驟30,計算所述待比對模型之間各個節點的節點相似度; 步驟40,基於所述待比對模型之間各個節點的節點相似度計算得到所述待比對模型之間的模型相似度; 步驟50,基於所述模型相似度以得到所述待比對模型之間的關係。
2.根據權利要求I所述的方法,其特徵在於,在所述步驟30中, 通過計算所述待比對模型之間各個節點的節點文本相似度和節點標籤相似度、以得到所述待比對模型之間各個節點的節點相似度。
3.根據權利要求2所述的方法,其特徵在於, 基於各個節點所對應的標籤之間的語義關係以得到所述待對比模型之間各個節點的節點標籤相似度。
4.根據權利要求2所述的方法,其特徵在於, 基於各個節點之間的字符串編輯距離來得到所述待比對模型之間各個節點的節點文本相似度。
5.根據權利要求4所述的方法,其特徵在於, 所述待比對模型之間各個節點利用以下表達式來得到節點文本相似度
6.根據權利要求2至5任一項所述的方法,其特徵在於, 所述待比對模型之間各個節點利用如下表達式來得到所述待比對模型之間各個節點的節點相似度
7.根據權利要求I所述的方法,其特徵在於,在所述步驟40中,具體包括以下步驟 步驟41,基於所述各個節點的節點相似度計算得到所述待比對模型之間各個路徑的路徑相似度和各個層次的層次相似度; 步驟42,基於所述各個路徑的路徑相似度和所述各個層次的層次相似度以得到所述待比對模型之間的模型相似度, 其中,所述路徑為待比對模型的樹結構中從根節點到葉子節點所經由的節點組成的串。
8.根據權利要求7所述的方法,其特徵在於,在所述步驟41中,利用所述各個節點的節點相似度,基於最長公共子序列法和/或層次法得到所述待比對模型之間各個路徑的路徑相似度。
9.根據權利要求7或8任一項所述的方法,其特徵在於,在所述步驟41中, 利用以下表達式得到待比對模型之間各個層次的層次相似度
10.根據權利要求7所述的方法,其特徵在於,在所述步驟42中,具體包括以下步驟 步驟421,基於所述各個路徑的路徑相似度得到待比對模型之間的模型縱向相似度; 步驟422,基於所述各個層次的層次相似度得到待比對模型之間的模型橫向相似度; 步驟423,基於所述模型縱向相似度和/或模型橫向相似度以得到待比對模型之間的模型相似度。
11.根據權利要求10所述的方法,其特徵在於,在所述步驟421中, 所述待比對模型利用如下表達式得到待比對模型之間的模型縱向相似度
12.根據權利要求10所述的方法,其特徵在於,所述步驟422中, 利用以下表達式得到待比對模型之間的模型橫向相似度
13.根據權利要求7至12任一項所述的方法,其特徵在於,在所述步驟50中, 將所述模型相似度與設定閾值進行比較以得到待比對模型之間的關係。
全文摘要
本發明公開了一種基於相似性度量的模型比對方法,該方法包括步驟10,確定待比對的模型;步驟20,分別從所述待比對的模型中獲取組成各個模型的節點;步驟30,計算所述待比對模型之間各個節點的節點相似度;步驟40,基於所述待比對模型之間各個節點的節點相似度計算得到所述待比對模型之間的模型相似度;步驟50,基於所述模型相似度以得到所述待比對模型之間的關係。本發明方法因為在計算節點相似度時採用了文本相似度與標籤相似度相結合的手段,克服了僅僅考慮文本而忽略模型元素標籤特性的問題,進而使節點相似度更能反映模型的實際情況。
文檔編號G06F17/30GK102722556SQ20121017125
公開日2012年10月10日 申請日期2012年5月29日 優先權日2012年5月29日
發明者任博巖, 徐哲, 徐文華, 李金星, 王珍, 王瑤, 胡浩, 覃徵, 趙鳳飛 申請人:清華大學