本技術(shù)涉及一種基于文本分類的區(qū)塊鏈應(yīng)用設(shè)計模式智能決策方法,屬于軟件工程設(shè)計模式。
背景技術(shù):
1、區(qū)塊鏈作為一種分布式賬本技術(shù),其核心是通過基于哈希指針的鏈?zhǔn)浇Y(jié)構(gòu),將數(shù)據(jù)區(qū)塊按時間順序連接,形成一個去中心化、安全且不可篡改的數(shù)據(jù)庫系統(tǒng)。隨著區(qū)塊鏈技術(shù)的快速發(fā)展,其應(yīng)用已廣泛擴(kuò)展至眾多領(lǐng)域,如金融領(lǐng)域中的跨境交易和減少中介依賴、電子健康記錄隱私保護(hù)、減少欺詐等。這些應(yīng)用提升了數(shù)據(jù)交換和商業(yè)流程的效率與安全性。
2、然而,大規(guī)模應(yīng)用區(qū)塊鏈技術(shù)面臨諸多挑戰(zhàn)。首先,開發(fā)人員可能對區(qū)塊鏈技術(shù)的復(fù)雜性感到陌生,導(dǎo)致代碼重復(fù)和潛在的安全漏洞,增加了系統(tǒng)的維護(hù)難度。其次,區(qū)塊鏈數(shù)據(jù)存儲的不可變性使得更新已部署的智能合約變得困難,修復(fù)錯誤也不易通過簡單的更新解決。
3、為了應(yīng)對這些挑戰(zhàn),相關(guān)研究提出了一系列適用于區(qū)塊鏈應(yīng)用的設(shè)計模式(blockchain-based?applications?design?patterns,badp)。這些設(shè)計模式經(jīng)過實踐驗證,具有可重用性,可提升代碼的可讀性、可維護(hù)性和可擴(kuò)展性,增強(qiáng)了區(qū)塊鏈系統(tǒng)的去中心化、安全性和互操作性。然而,選擇最適合的badp時,軟件架構(gòu)師可能面臨信息分散和匹配困難等問題。
4、決策模型在加速區(qū)塊鏈應(yīng)用開發(fā)中發(fā)揮著關(guān)鍵作用,特別是在提高選擇設(shè)計模式的效率方面。通過整合文獻(xiàn)和在線資源中的badp信息,決策模型利用明確的決策流程,指導(dǎo)開發(fā)人員進(jìn)行有效的選擇。盡管如此,實際應(yīng)用中仍面臨挑戰(zhàn),包括對設(shè)計問題的應(yīng)用場景缺乏清晰理解和需要開發(fā)人員具備專業(yè)知識等。
5、本文提出了一種基于文本分類的badp智能決策方法,通過系統(tǒng)性文獻(xiàn)綜述和數(shù)據(jù)集收集、利用lda和bert模型進(jìn)行語義特征提取以及改進(jìn)的模糊c-均值聚類算法進(jìn)行badp分類,旨在為開發(fā)人員提供精準(zhǔn)、高效的設(shè)計模式推薦。這一方法不僅解決了現(xiàn)有決策模式在處理復(fù)雜區(qū)塊鏈應(yīng)用場景時的局限性,還為區(qū)塊鏈應(yīng)用開發(fā)中的設(shè)計模式選擇提供了一種新的智能化解決方案。
技術(shù)實現(xiàn)思路
1、本發(fā)明實施例提供了一種基于文本分類的區(qū)塊鏈應(yīng)用設(shè)計模式智能決策方法。支持基于文本輸入lda-bert文本分析模型,根據(jù)解析出的結(jié)果進(jìn)行區(qū)塊鏈設(shè)計模式的智能決策。
2、為了實現(xiàn)上述目的,本發(fā)明的技術(shù)方案如下:基于文本分類的區(qū)塊鏈應(yīng)用設(shè)計模式智能決策方法,所述方法包括以下步驟:
3、步驟1:收集區(qū)塊鏈設(shè)計問題實例作為數(shù)據(jù)集;
4、步驟2:將目標(biāo)區(qū)塊鏈需求的特點作為文字描述,輸入lda-bert語義分析模型,進(jìn)而生成為文本向量;
5、步驟3:將文本向量輸入基于改進(jìn)的模糊c-均值聚類和余弦相似度的區(qū)塊鏈設(shè)計模式智能決策模型,得到推薦的區(qū)塊鏈設(shè)計模式。
6、步驟1中,從權(quán)威網(wǎng)站收集?48?篇論文并獲得?444?條具體的區(qū)塊鏈設(shè)計問題實例作為數(shù)據(jù)集。?由于基于文本分類的區(qū)塊鏈應(yīng)用設(shè)計模式智能決策模型可以直接基于文本分析,所以將問題整理即可作為模型的輸入。
7、?步驟2中,lda-bert語義分析模型,結(jié)合了lda?在處理文檔級別的主題分布時的高效和bert模型通過理解上下文和詞匯之間的關(guān)系的高效,具體如下:
8、步驟2-1:將文本數(shù)據(jù)的單詞詞組輸入lda模型以提取文檔的主題向量,這一步用于識別文檔整體的隱含主題,且作為智能決策模型輸入的一部分;
9、步驟2-2:將文本數(shù)據(jù)輸入bert模型生成文本語義向量,作為輸入的一部分輸入智能決策模型。
10、步驟3中,智能決策模型,基于改進(jìn)的模糊c-均值聚類和余弦相似度進(jìn)行區(qū)塊鏈設(shè)計模式的推薦,具體如下:
11、步驟3-1:將bert模型的生成文本語義向量輸入自動編碼器(autoencoder)進(jìn)行降維處理;
12、步驟3-2:對降維處理后的向量進(jìn)行聚類,聚類后得到文本-主題分布,與lda模型提取文檔到的主題向量共同構(gòu)建空間向量;
13、步驟3-3:當(dāng)新的問題數(shù)據(jù)輸入,根據(jù)與上一步構(gòu)建的空間向量的余弦相似度進(jìn)行對比,得到區(qū)塊鏈設(shè)計模式推薦的結(jié)果。
14、模糊c均值(fcm)聚類方法,允許每個數(shù)據(jù)點同時屬于多個簇,每個簇的隸屬度在0到1之間,fcm為每個數(shù)據(jù)點分配一個隸屬度矩陣,表示其屬于各簇的程度。
15、構(gòu)建空間向量,通過將的bert處理后的文本分類和lda獲取的主題詞概率分布構(gòu)建為空間向量步驟如下:
16、將處理后的bert獲取文本的語義向量的文本分類結(jié)果分別存儲為data和label,將data數(shù)據(jù)轉(zhuǎn)化為單詞數(shù)組。
17、利用lda模型獲得的文檔詞向量,獲取到各個主題的特征詞,計算單詞數(shù)組中每個詞屬于各個特征詞的概率,最終構(gòu)建空間向量模型。
18、每個數(shù)據(jù)點對類別中心的隸屬度決定了該加權(quán)的大小,隸屬度由數(shù)據(jù)點到類別中心的距離動態(tài)計算得出,公式如下:
19、,
20、其中,是數(shù)據(jù)點的總和,是群集的數(shù)量,是數(shù)據(jù)點屬于群集中心的隸屬度,是模糊化參數(shù),大于1,是群集中心。
21、余弦相似度有助于測量兩個向量之間的相關(guān)性。智能推薦模型會選擇與設(shè)計問題相似度最高的集群,設(shè)計問題與每個集群的余弦相似度計算方法在如下公式中,
22、,
23、其中,代表與集群的余弦相似度,和dpp分別是對badp的問題域和設(shè)計問題的描述,
24、在計算dpp與問題域中每個文章的相似度時,使用如下公式
25、,
26、其中,表示?dp4ba?或設(shè)計問題的文本,表示文本中某個單詞的權(quán)重值,描述badp和設(shè)計問題的語義特征向量,在使用以上兩個公式計算設(shè)計問題與智能合約類設(shè)計模式的特征向量之間的相關(guān)性,找到給定的設(shè)計問題和設(shè)計模式問題域之間的相似性之后,找到相似性最高的一個或多個設(shè)計模式作為推薦結(jié)果輸出。
27、本發(fā)明實現(xiàn)了一種基于文本的lda-bert文本分析模型,模型包括:
28、首先,在文本分類領(lǐng)域,潛在狄利克雷分配(lda)相較于詞頻-逆文檔頻率(tf-idf)表現(xiàn)出顯著優(yōu)勢。作為一個概率模型,lda能夠識別文檔中的隱含主題,通過這些主題深入表達(dá)文本內(nèi)容。lda基于主題的分析方法不僅關(guān)注詞匯頻率,還通過揭示文檔間共享的主題來捕捉更復(fù)雜的語義關(guān)聯(lián)。這超越了單純的詞匯頻率分析,為文本提供了更深層次的理解。
29、相對而言,tf-idf雖然能有效衡量單詞在文檔集中的重要性,但主要依賴于詞匯的表面出現(xiàn)頻率,沒有考慮詞匯背后的上下文或概念關(guān)系。因此,在處理含義豐富的文本數(shù)據(jù)時,其表現(xiàn)可能不如lda。lda通過揭示文檔的主題結(jié)構(gòu),提供了一種解決語義豐富文本的有效方法,尤其適用于需要深入分析文本內(nèi)容和結(jié)構(gòu)的場景。它能夠揭示隱藏在高維詞匯空間下的低維結(jié)構(gòu),從而在特征提取框架中提供更為精準(zhǔn)的文本分類和分析;
30、bert是一種預(yù)訓(xùn)練語言模型,通過在大量文本上進(jìn)行預(yù)訓(xùn)練,能夠捕捉深層次的語言特征,如語境含義和詞語間的關(guān)系。在文本語義提取方面,bert展現(xiàn)了極強(qiáng)的能力,能夠理解復(fù)雜的語言表達(dá)、識別句子中的隱含意義,以及理解不同詞語在不同上下文中的多重含義。因此,bert在文本分類、情感分析、命名實體識別和問答系統(tǒng)等自然語言處理任務(wù)中表現(xiàn)優(yōu)異。
31、lda模型雖然能捕獲文檔的高級主題信息,但忽略了文本中詞語的位置關(guān)系和語法結(jié)構(gòu),尤其在處理短文本時效果較差,因為短文本中的詞匯稀疏,語義特征不明顯。為了彌補(bǔ)這些不足,本方法采用lda-bert混合模型。模型的流程如下:
32、首先,通過文本清洗、字符串分詞、刪除標(biāo)點、詞性標(biāo)注、拼寫檢查、刪除停用詞的流程對輸入的文本進(jìn)行處理,通過這些步驟規(guī)范化處理原始文本,可以減少噪音和冗余信息,構(gòu)建出lda-bert語義分析模型的需要輸入的單詞序列,相比于普通輸入更易處理和分析。使用lda模型提取文檔的主題向量,重點在于識別文檔的整體隱含主題。接著,利用bert模型獲取更豐富和深層的全文語義向量,以便更好地理解文本中的上下文語義關(guān)系。然后,將lda得到的文檔主題向量與bert得到的全文語義向量進(jìn)行融合和拼接,形成一個綜合表示文本主題和語義內(nèi)容的向量。
33、為了降低高維度向量的復(fù)雜性,將融合后的向量輸入自動編碼器(autoencoder)進(jìn)行降維處理。最后,使用k-means算法對降維后的向量進(jìn)行聚類,實現(xiàn)文檔的主題分類。分類完成后,可以利用lda在每個識別出的主題下提取特征詞,這些特征詞有助于進(jìn)一步理解和解釋每個主題的內(nèi)容。通過上述步驟,結(jié)合lda的文檔主題分析能力和bert的上下文語義理解能力,能夠有效地提取和分類文本主題,同時保留文本的細(xì)粒度語義信息。
34、本發(fā)明實現(xiàn)了一種區(qū)塊鏈設(shè)計模式的改進(jìn)的模糊c-均值聚類方法:
35、模糊c均值(fcm)算法是一種軟聚類方法,允許每個數(shù)據(jù)點同時屬于多個簇,每個簇的隸屬度在0到1之間。與硬聚類方法如k-means不同,fcm為每個數(shù)據(jù)點分配一個隸屬度矩陣,表示其屬于每個簇的程度。隸屬度值越接近1,表示該點越可能屬于該簇;越接近0,則可能性越低。
36、fcm算法首先初始化隨機(jī)簇中心,并通過迭代優(yōu)化不斷更新這些中心,直至中心變化量低于某個閾值或達(dá)到預(yù)定的迭代次數(shù)。在每次迭代中,算法計算每個數(shù)據(jù)點與各簇中心的距離,并基于這些距離更新隸屬度矩陣。隸屬度的更新是通過考慮數(shù)據(jù)點與所有簇中心間距離的逆距離權(quán)重來計算的。隨后,利用這些隸屬度值更新簇中心,使其成為包含數(shù)據(jù)點的加權(quán)平均位置。通過這個過程,fcm能有效處理重疊的簇,并允許數(shù)據(jù)點共享多個簇。該種方法針對區(qū)塊鏈的某些設(shè)計模式存在的邊界模糊的問題做出很好的處理,將lda-bert文本分析模型得到的向量進(jìn)行模糊c-均值聚類后,當(dāng)新的問題來到時,使用基于文本分類的區(qū)塊鏈應(yīng)用設(shè)計模式智能決策方法進(jìn)行處理,可以得到相應(yīng)的建議。
37、相對于現(xiàn)有技術(shù),該方案的優(yōu)點如下:
38、相比于在軟件工程領(lǐng)域已經(jīng)存在一些設(shè)計模式自動化選擇方法,例如基于信息檢索、案例推理和文本分類等方法的自動化模式選擇。本發(fā)明的方法具有設(shè)計模式覆蓋度廣、構(gòu)建成本低、推薦速度快和正確率高的特點。
39、lda-bert語義分析模型結(jié)合了lda?在處理文檔級別的主題分布時的高效和bert模型通過理解上下文和詞匯之間的關(guān)系的高效。由于bert卓越的語義理解能力,它在無監(jiān)督的文本分類中被廣泛應(yīng)用。本模型中將文本數(shù)據(jù)輸入,生成文本空間向量模型,操作方便,對用戶使用門檻低。
40、autoencoder是一種通過神經(jīng)網(wǎng)絡(luò)實現(xiàn)的降維學(xué)習(xí)算法,相較于傳統(tǒng)的降維
41、方法,它通過多層神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),利用其編碼器內(nèi)部的多個線性變換和非線性激活函數(shù),將高維的輸入數(shù)據(jù)轉(zhuǎn)化為低維的編碼數(shù)據(jù)。這種低維表示不僅具有較高的表示能力,還能有效保留原始數(shù)據(jù)的重要特征信息,從而實現(xiàn)有效的降維和特征信息提取。因此,autoencoder?的編碼器成為處理高維?bert?語義向量的主流降維技術(shù),不僅可以將高維向量降維為低維特征向量,同時也保留了數(shù)據(jù)的深層語義信息。
42、模糊c均值(fcm)算法是一種軟聚類方法,允許每個數(shù)據(jù)點同時屬于多個簇。相比于傳統(tǒng)的聚類算法k-means,fcm為每個數(shù)據(jù)點分配一個隸屬度矩陣,表示其屬于各簇的程度。算法通過初始化隨機(jī)簇中心,并在迭代中計算數(shù)據(jù)點與簇中心的距離,更新隸屬度矩陣和簇中心位置,直至滿足停止條件。fcm能夠有效處理重疊簇,允許數(shù)據(jù)點共享多個簇。將此算法應(yīng)用于區(qū)塊鏈設(shè)計模式聚類,很適應(yīng)在區(qū)塊鏈設(shè)計模式種存在的邊界不清的問題。
43、余弦相似度通常用于計算測量兩個向量之間的相關(guān)性,并且與文檔長度無關(guān),因此本發(fā)明使用余弦相似度來計算設(shè)計問題特征向量與數(shù)據(jù)集構(gòu)建的空間問題域特征向量之間的相似性,計算簡單且效率較高。