趙書彬, 徐誠
(南京理工大學 機械工程學院, 江蘇 南京 210094)
工程設計知識是指與工程領域密切相關的知識,其提取與重用在工程設計中具有極其重要的作用。據(jù)估計,工程設計至少有大約75%是通過重用以前的設計知識和產(chǎn)品而得到的[1]。將存在于各個設計階段的知識進行提取、組織,并在之后的設計過程中實現(xiàn)重用,能夠很大程度上節(jié)約設計成本和時間;相反,會出現(xiàn)很多冗余、重復設計活動。同時,工程知識的表達必須順應專業(yè)領域的需要,并考慮工程設計思維方式和工程數(shù)據(jù)的特點[2]。
工程領域知識存在的形式多樣,表示方式也是多樣的。在本文中,將以各種形式描述、編制的,具有完備知識表達且不可再分割的知識基本單元稱為知識元。Owen等[3]認為產(chǎn)品知識元的表示可以分為圖示、符號、文本、虛擬和算法5類,具體到工程領域:圖形知識元包括工程圖、草繪、圖表等等;符號知識元主要指流程圖等具有邏輯的表達;文本知識元則指敘述性的設計規(guī)則;虛擬知識元的涵蓋范圍廣泛,包括各種計算機輔助設計(CAD)建模、仿真等;算法知識元則包括計算模型、流程,確定產(chǎn)品參數(shù)的計算原理及公式等。知識元通常是對設計對象及其各個特征的設計規(guī)則、經(jīng)驗、數(shù)據(jù)等的描述,它們構成了上層知識模型的基礎。針對知識元的多樣性,研究者們提出了不同的表示方式,并將它們集成到其他具有邏輯結構的知識模型中。孫林夫[2]提出對工程規(guī)范、設計手冊中存在的數(shù)據(jù)表、語言、案例、圖形等分別表示,而另一些研究[1,4-5]則將以上各種類型的知識元統(tǒng)一封裝至面向對象的模型中。此外,將底層各種類型知識通過上層概念建模組織起來,例如設計問題分解(或功能分解)結構[1,6-7]、語義網(wǎng)絡模型[8]、基于統(tǒng)一建模語言(UML)的概念建模[4]以及本體模型[9]等等,也是當前的研究熱門。這些方法的優(yōu)點在于不僅可以引導設計者明確設計對象和思路,在此基礎上還可以主動提供詳細的設計知識、數(shù)據(jù),能夠在實際設計活動中實現(xiàn)有效率的知識重用。其中,基于功能域、物理域之間的映射和分解完成設計對象的分析尤其適用于工程領域[10-11]。在系統(tǒng)工程理論中,將一個設計問題分解為一系列低層次的小問題,而對于這些小問題的解決往往是更加可控的,從整個問題的解決得到了簡化。因此,為了實現(xiàn)更好的知識重用,以輔助設計者進行設計決策,應當借鑒現(xiàn)有研究,采用一種集成的知識模型[1,6-7],既具有功能域與物理域之間的映射和分解關系,又能夠將離散的知識元同這種功能分解結構關聯(lián)起來。一些研究者在這方面做出了努力[7-8,12]。然而,目前研究的不足在于往往只能對某一種知識類型,比如產(chǎn)品相關信息進行提取,而集成知識模型的建立過程又十分依賴于專家經(jīng)驗,且耗時耗力。
在知識提取方面,隨著自然語言處理以及文本挖掘技術的成熟,研究者們逐漸采用自動化的方式從文本中提取信息,并建立知識模型。Lim等[13]提出從設計文檔中提取關鍵詞,并從關鍵詞的上下文識別出與它們高度相關的語義類,通過這些類將上下文中具有相同語義的詞句作為它們的語義標簽。這些標簽能夠有效地展示出文檔中關于這些關鍵詞進行了哪些方面的討論。同樣地,沈健等[14]提出根據(jù)生物領域知識元的功能和環(huán)境特征進行聚類,從而在知識重用過程中實現(xiàn)基于設計需求的聚類檢索。除文本知識元外,Setchi等[15]對圖片上下文中的關鍵詞進行提取,將它們與領域本體概念相匹配,利用本體模型中實體之間的關聯(lián)實現(xiàn)對圖片上下文的語義擴充,在此基礎上的圖片檢索取得了很好的實驗結果。更進一步,Liang等[16]提出在知識的提取過程中,采用文本挖掘的方法從設計文檔中自動提取設計問題、解決方案和它們之間的邏輯關系,進一步與底層的產(chǎn)品信息相關聯(lián)。由于這些方法的運用,知識提取過程中的人為工作大大減少,同時文本中的關聯(lián)信息、邏輯信息得到了保留,對研究有重要的啟示作用。然而在目前的方法中,關鍵信息的提取方式大多是基于高頻詞或者改進的高頻詞方法提取而進行的,對于關鍵詞的類型,尤其是專業(yè)領域的關鍵詞類型,傳統(tǒng)方法難以區(qū)分、識別。另外,以上的方法需要與其他知識模型相結合[1,4-9]才能更好地適應工程領域知識的特點以及工程設計的需要。
在總結分析現(xiàn)有研究成果的進展和不足的基礎上,本文結合工程設計知識的多樣化、結構化特點,借鑒功能分解結構[1,6]模型以及面向對象[4]的表示思路,研究、建立一種新的基于功能分解結構模型的工程知識提取與組織方法,在保留功能分解結構性的基礎上提高知識提取的自動化程度,最終基于面向對象的思路完成自動武器設計知識系統(tǒng)的初步建立,演示并驗證其有效性。

圖1 基于功能分解結構模型的知識提取總體框架圖Fig.1 Overall framework of knowledge acquisition based on functional decomposition structure model
在本文中,將經(jīng)由功能域向物理域的映射與分解而形成的自頂向下、由抽象到具體的,包含了不同層次的功能、產(chǎn)品零部件及其設計特征的模型,稱為功能分解結構模型。本文所提出的方法需經(jīng)過兩個階段,即由人工完成的功能分解結構生成以及基于該模型的自動化知識提取。
功能分解結構生成的方法與公理設計方法[17]大致相同,由領域內(nèi)富有設計經(jīng)驗的專家完成,目的是為后續(xù)的知識提取和組織提供結構化的框架,如圖1所示。具體方法在本文中不詳細闡述。在分解結構的基礎上,利用從設計文檔中提取的知識對其結構、內(nèi)容進行擴充,主要包括3個步驟:
1)文本的前處理。中文文本的前處理主要包含去除非文本字符、處理編碼問題、分詞、詞性標注等任務。
2)文本信息的提取。采用命名實體識別(NER)技術對設計文檔中的關鍵特征、參數(shù)以及圖片、表格、公式等各種形式的知識元進行識別,并在識別過程中盡可能地對其類型加以區(qū)分。
3)將以上文本信息補充至分解結構中。考慮以上提取的實體上下文文本中隱含的語義將它們與分解結構進行匹配,具體地,利用隱含狄利克雷分布(LDA)主題模型對文本進行聚類分析,并且根據(jù)文本在不同主題上的分布結果計算它們之間的匹配程度[18-19],從而充分發(fā)揮文本中語義信息的作用。完整的基于功能分解結構模型的知識提取與組織總體框架圖如圖1所示。
在軟件系統(tǒng)實現(xiàn)方面,基于Knowleworker平臺[20]進行二次開發(fā),以初步建立實現(xiàn)上述流程的原型系統(tǒng)。Knowleworker平臺是一種以可擴展標記語言(XML)為基礎、面向對象的產(chǎn)品方案智能設計系統(tǒng),依賴XML文件實現(xiàn)軟件各項功能組件的配置、產(chǎn)品數(shù)據(jù)的存儲及傳遞等。在該系統(tǒng)中實現(xiàn)面向對象的知識表達和組織的,以類、屬性和方法形式展現(xiàn)的UML模型框架圖如圖2所示。其中“功能”類與“產(chǎn)品零部件或特征”類之間關系由上述功能分解結構給出,而與分解結構相關聯(lián)的文本知識、其他各種類型的知識元則均面向零部件及其特征進行展開。

圖2 Knowleworker平臺中實現(xiàn)面向對象的知識表達與組織UML類圖Fig.2 UML class diagram of realizing object-oriented knowledge acquisition in Knowleworker platform
在設計知識提取流程時,主要考慮3方面的要素:首先,知識提取的結果應涵蓋哪些內(nèi)容;其次,該知識提取流程是否有利于提高以及如何提高工程知識提取的自動化程度和效率;最后,所建立的集成知識模型能否有效地實現(xiàn)知識重用。
如第1節(jié)所述,知識提取的目的是形成由上層的產(chǎn)品功能分解結構以及底層的與其相關聯(lián)的各種類型的知識元組成的集成知識模型。其中知識元將在原型系統(tǒng)設計中通過面向對象的方式進行統(tǒng)一表示,功能分解結構則由產(chǎn)品的功能需求以及具體零部件及其特征(主要是幾何特征,如“彈膛壁”、“閉鎖支撐面”等等)組成,以交叉分解的、由“節(jié)點”、“屬性”與“鏈接”構成的樹狀圖形式表示,如圖3所示。功能節(jié)點代表功能域的需求分解,反映的是設計者對于產(chǎn)品設計的不同層面理解,較為主觀、抽象,通常只能由富有經(jīng)驗的專家完成;而零部件或特征節(jié)點則體現(xiàn)產(chǎn)品物理層面的分解結構,是客觀的、具體的,既可以由設計者完成,也可以通過對設計文檔的知識提取補充。同時被補充到功能分解結構的還有關于零部件及其特征的關鍵設計參數(shù)以及各種類型的知識元,而該過程是通過算法自動實現(xiàn)的,如圖3所示。在知識提取以及補充的過程中,除了從設計文檔中提取零部件及其特征、參數(shù)以及相關知識元之外,還應對其類型加以區(qū)分,并按照功能分解結構的層次進行組織。具體地,知識元按照所面向的產(chǎn)品零部件或者特征、設計參數(shù),以知識模塊的形式進行組織,組織粒度遵循功能分解結構的層次劃分。不同類型的知識元在知識模塊中統(tǒng)一進行管理。

圖3 知識提取過程及集成知識模型的形成Fig.3 Knowledge acquisition process and the composition of integrated knowledge model
功能分解的樹狀結構在軟件系統(tǒng)中以XML語言表示,從而能夠直接被系統(tǒng)自動識別、解析成圖形的形式供設計者參考,并且以模板的形式存儲于知識庫中,方便以后設計中的重用。根據(jù)知識元類型的不同,分別以設計計算程序、網(wǎng)頁知識、產(chǎn)品數(shù)據(jù)庫等形式表示,并集成在知識系統(tǒng)中。這些知識將在設計過程中根據(jù)產(chǎn)品零部件及其參數(shù)設計的需求被分別訪問,形成集成的知識管理與重用方法,有利于提高產(chǎn)品設計的效率。
在文本挖掘領域,以往較為常用的關鍵信息提取方式是基于高頻詞或者改進的高頻詞提取[13, 21]。這類方法由于不能區(qū)分關鍵詞類型,因而往往適用于僅提取某一類型文本信息的場合,比如產(chǎn)品設計參數(shù)的識別。NER技術能夠很好地彌補上述不足,其目的是識別出文本中出現(xiàn)的專有名稱并進行歸類,而針對不同的應用場景采取不同的分類。條件隨機場(CRF)是一種比較新的、可以很好地實現(xiàn)NER的計算模型。工業(yè)界基于CRF的算法能夠針對人名、地名、機構名、日期、時間等實體類型取得了不錯的識別效果,這些實體類型構詞方式相對較為簡單[22],并且上下文中存在明顯的語法特征。而在特定的應用領域和語境下,通常需要針對該領域的語料庫訓練出特定的模型,才能在實際應用中發(fā)揮提取效果。例如在工程設計領域,設計者更關心的是文檔中出現(xiàn)的與設計相關的關鍵信息,比如所設計產(chǎn)品的零部件名稱及其特征、設計參數(shù)以及與其相關的設計知識等。因此,在語料庫準備階段,搜集包括設計手冊、設計規(guī)范、產(chǎn)品說明等在內(nèi)的文檔,對訓練語料中的實體進行標注,并且采用“BMEWO”標簽體系,最后利用CRF算法進行命名實體提取。在該標簽體系下,使用“B-*”、“M-*”、“E-*”組合(或者“B-*”、“E-*”組合,“*”視實體類型而定)標記實體的首和尾,實體以外的部分則以“O”補齊。考慮到工程領域文本知識形式的多樣性,對實體類型進行了如表1所示的劃分。其中設計要素是文檔中最常見的實體類型,包括了所設計產(chǎn)品的零部件名稱、特征或其設計參數(shù),在訓練過程中統(tǒng)一標注為“F”。設計要素所在的上下文文本,即描述型文本知識元,可以直接匹配在知識結構中;而以公式、圖、表、產(chǎn)品型號形式存在的知識元,分別以“E”、“P”、“T”、“A”標注,則需要通過其上下文的語境進行間接匹配。訓練過程中的樣本標注示范如表2所示,其中符號“m”、“k”、“x”、“n”、“d”、“p”、“uj”、“v”、“f”、“a”分別表示數(shù)詞、后接成分、非語素詞、名詞、副詞、介詞、助詞、動詞、方位詞、形容詞。

表1 NER標簽體系Tab.1 Labeling system of NER
在實驗過程中利用開源工具CRF++實現(xiàn)CRF算法,使用unigram特征編寫特征模板。考慮到語

表2 NER訓練樣本標注示范Tab.2 Demonstration of NER training sample labeling
料庫不大,制作了較為完整的模板,以字符本身及詞性分別作為特征;除當前字符外,還使用了前后3個字及其組合作為特征。CRF++軟件根據(jù)特征模版生成相關的特征函數(shù)。具體的訓練和識別步驟及參數(shù)設置如下:
1)對語料庫進行預處理和劃分,預處理包括去除非文本字符、停用詞、分詞、詞性標注等,其次對訓練語料進行“BMEWO”標簽標注。在實驗中將90%的語料作為訓練數(shù)據(jù)train.data,10%的語料作為測試數(shù)據(jù)test.data;
2)執(zhí)行訓練命令“crf_learn -a MIRA -p 1 -f 3 -c 4.0 template train.data model”,其中“-a”指定算法為邊界注入放松算法(MIRA),“-p”用于多個中央處理器(CPU)條件下多線程提升訓練速度,“-f”指定只識別訓練數(shù)據(jù)中至少出現(xiàn)3次的特征,“-c”是用于調(diào)整過度擬合和不擬合之間平衡度的超參, template為特征模板文件,該步驟輸出模型文件model;
3)執(zhí)行測試命令“crf_test -m model test.data >> result.txt”,其中“-m”指定模型文件model,該步驟將輸出結果保存在result文本文件中。
NER的作用是從文本中發(fā)現(xiàn)知識元及產(chǎn)品相關特征、設計參數(shù)等,而對于知識元本身,需要結合知識特點、采取方便檢索與訪問的方式進行表示和存儲。在本文原型系統(tǒng)的構建過程中,對基于模型與流程的參數(shù)設計計算知識元采用C#語言進行編程并設計用戶界面,對文本和圖形知識元均以html格式的知識網(wǎng)頁存儲,而產(chǎn)品數(shù)據(jù)及三維CAD模型則分別在外部數(shù)據(jù)庫和外部建模軟件中建立,并鏈接至本文的系統(tǒng)中。
在工程設計文檔中,設計知識元的提及往往是在一定的語境下進行的,其上下文的敘述中往往闡明了設計對象,所涉及的設計參數(shù)以及需要滿足的性能要求等等。從整個設計文檔的角度出發(fā),這些關鍵信息的出現(xiàn)并不是獨立的,而是具有一定的上下文邏輯,互相間具有關聯(lián)[23]。因此在知識組織的過程中假設知識元的上下文語境與其他文檔存在語義上的聯(lián)系,在經(jīng)過聚類分析之后,可以更好地進行檢索,或者將它們與功能分解結構模型中的節(jié)點相匹配。
知識元的語境文本與功能分解結構進行匹配的方法是借助基于LDA的主題提取,將各個文本以向量的形式表示,再進行向量之間的相似程度計算。在LDA主題模型中,每篇文檔的主題、每個主題所包含的詞都按照概率分布的形式給出。與其他文本向量化的方式,比如詞袋模型相比,該方法的好處在于向量的維度得到了降低,并且能夠充分發(fā)揮語境文本中潛在的語義,改善文本匹配的結果。基于LDA進行主題提取的過程本質上也是聚類過程。具體地,所整理的語料庫經(jīng)過文本切割后作為待分析的文檔集,進行主題聚類。LDA主題模型的圖形表示如圖4所示,其中α、β則是LDA主題模型算法的先驗超參數(shù),影響經(jīng)驗分布的平滑程度,θ代表每個文檔中主題的概率分布,z代表這篇文檔中每個詞的主題,φ代表每個主題的詞概率分布,w為所觀測的詞,K為主題的總數(shù),D為文檔的總數(shù),Nd對應第d個文檔中詞的總數(shù)。

圖4 LDA主題模型算法概念圖Fig.4 Concept diagram of LDA topic model
在本文中,采用Gibbs采樣求解LDA模型。K、α、β作為已知輸入,求解的目的是得到某一個詞w對應主題特征z的條件概率分布,以便進行Gibbs采樣。首先由狄利克雷多項分布得出主題和詞的聯(lián)合分布:

(1)
式中:k為主題編號;n為文檔中或者主題中的詞個數(shù)。將第d個文檔第n個詞記為二維下標i,并且以-i代表排除第i個詞,進而根據(jù)狄利克雷分布的期望公式可以得出一個詞w對應主題特征z的條件概率分布為

(2)

1)參數(shù)初始化:選擇合適的K、α、β,對文檔集中的每個詞w隨機賦予主題z;
2)重新掃描文檔集,對每個詞w根據(jù)Gibbs采樣重新采樣它的主題z并更新;
3)重復第2步直到Gibbs采樣收斂;
4)統(tǒng)計經(jīng)過更新的每個文檔的主題分布和每個主題的詞分布得到θ、φ.
經(jīng)過對樣本的估計,設定了不同的K值(10~20)比較實驗結果。對于α、β,在沒有主題分布的先驗知識情況下,保留其默認值,即1/K. 在實驗中還需考慮過頻繁詞的處理,在主題識別過程中對在大多數(shù)文檔中都出現(xiàn)而不太重要的詞進行屏蔽。LDA模型確定以后,對一篇新的文檔,同樣進行去停用詞、分詞等處理,再根據(jù)φ計算其主題分布θ. 至此,新的文檔和文檔集均根據(jù)主題的概率分布表示為向量,雖然分布各自不同,但具有相同的維度,因此可以直接計算它們之間的余弦距離作為關聯(lián)程度的衡量。
根據(jù)以上流程,可以獲得知識元與功能分解結構節(jié)點之間關于主題模型的關聯(lián)權重。同理,在NER過程中提取出的設計要素與節(jié)點間的關聯(lián)權重也可以得出。對這些權重進行排序,選出其中具有較高概率相關的知識元、設計要素對分解結構進行補充,從而使結構粒度細化、知識元組織層次化。在主題模型基礎上進行匹配的另一個好處在于可以充分發(fā)揮語境文本中的語義信息,從而彌補傳統(tǒng)的關鍵字檢索缺點。需要注意的是,盡管該方法大大提高了知識組織過程的自動化程度,但是在實際操作中仍會不可能避免地出現(xiàn)偏差。例如,一些對設計過程不是特別重要的實體被提取出來,并且被匹配至功能分解結構中,而一些關鍵的知識元或者被CRF算法忽略,或者被關聯(lián)至錯誤的節(jié)點。因此,在建立知識結構之后,利用專業(yè)知識進行人工補充、完善工作仍是必不可少的。
在完成工程設計知識提取與知識的集成表示之后,分析基于這種模型兩個方面的利用,分別是系統(tǒng)工程角度和信息檢索角度,對應工程設計的概念設計階段與詳細設計階段。首先,利用功能分解結構輔助設計者完成產(chǎn)品的方案設計。該步驟可以通過瀏覽、參考完整的產(chǎn)品功能分解結構模型,根據(jù)新的設計需求編輯、補充結構中的節(jié)點,并將它們與知識庫相鏈接。通過這種方式,設計問題分解為一系列低層次的小問題,從而整個問題的解決得到了簡化。在初步建立產(chǎn)品的設計方案后,合理安排設計流程,盡可能地避免設計過程中可能出現(xiàn)的耦合問題,以及冗余、重復工作。在設計進入詳細設計階段之后,該結構模型的作用體現(xiàn)在其節(jié)點與知識元的關聯(lián)上。對應于各個層次的零部件、特征及其設計參數(shù),可以訪問知識元進行參數(shù)計算、數(shù)據(jù)查詢、知識網(wǎng)頁瀏覽,實現(xiàn)高效的知識重用。集成知識模型的這種上下層之間“功能域”- “物理域”- “具體設計方法”關系所形成的設計規(guī)則,是該模型在實際設計過程中發(fā)揮作用的關鍵。
為了實現(xiàn)和驗證基于功能分解結構模型的知識獲取方法,結合本文所提出的提取、關聯(lián)方法基于Knowleworker平臺進行了二次開發(fā),建立了原型系統(tǒng)。開發(fā)過程是在Windows 10環(huán)境下,基于C#語言、XML語言和Access數(shù)據(jù)庫管理來實現(xiàn)的。由于篇幅限制,以自動武器的概念設計和閉鎖機構的設計為實驗目標進行說明,所采用的語料庫、計算模型、圖片等信息均來自于中國知網(wǎng)數(shù)據(jù)庫。
基于Knowleworker平臺開發(fā)的工作界面如圖5所示,共有3個分區(qū),分別是功能分解結構的樹狀圖形式、目錄樹形式,以及關于分解結構中某個零部件或其特征的知識元匯總列表(知識模塊)。其中樹狀圖和目錄樹均由產(chǎn)品功能分解結構的XML文件解析而成,前者為設計者提供交互界面,而后者可由設計者進行編輯。知識模塊中的節(jié)點代表知識元、鏈接至單獨選項卡或外部程序。XML文件除了用來配置功能分解結構外,還可以配置知識模塊以及知識模塊中各節(jié)點相關的知識元組件。圖6示例了研究中使用XML語言書寫功能分解結構、知識模塊組成以及與外部UG三維模型鏈接的配置文件,這些文件經(jīng)過知識系統(tǒng)的解析可以自動完成知識系統(tǒng)的構建工作。圖5中針對自動武器的概念設計完成了功能分解,并根據(jù)知識提取結果,初步建立了關于各個零部件及其特征的知識模塊。以下針對閉鎖機構的實驗結果及知識集成過程進行展示。

圖5 基于Knowleworker平臺的知識系統(tǒng)開發(fā)用戶界面Fig.5 User interface of knowledge system development based on Knowleworker platform

圖6 XML格式的知識系統(tǒng)開發(fā)配置文件示例Fig.6 Sample configuration files of knowledge system development in XML format
在語料庫訓練之前,考慮到所面向產(chǎn)品的專業(yè)性、所在領域的特殊性,在預處理的過程中引入了專用詞典,涵蓋了輕武器設計中常用的專業(yè)詞匯,這些專用詞匯在分詞過程中可以直接進行識別。在完成模型訓練后,對閉鎖機構設計相關資料(同樣檢索自中國知網(wǎng)數(shù)據(jù)庫)進行去停用詞、分詞等處理作為輸入,得到基于CRF的實體識別部分結果如表3所示。在知識元與功能分解結構的匹配實驗中,LDA算法的主題提取結果如圖7所示,其中從10個主題中隨機抽取了3個樣本。圖7中的橫軸為主題詞在詞典中的序號,縱軸為主題詞的出現(xiàn)頻率,右邊為主題詞及詞頻的具體數(shù)值,主題詞前的數(shù)字也代表了該詞在主題中所占的權重。在模型訓練中,為了提高運算速度、忽略詞庫中的冗余詞,根據(jù)詞頻排序將詞典的維度降至固定值2 000. 據(jù)此對圖7中的詞頻權重進行標準化,即可獲得概率意義上的主題- 詞分布,其值分布在[0,1]之間。在主題識別的基礎上,可以計算一個新的文本在所提取10個主題上的分布,如圖8所示,其中橫軸為主題序號,縱軸為文本在各個主題上概率分布。根據(jù)該分布以及其他的文本- 主題分布,獲得與其主題相匹配的文本排序。圖8右邊列舉了兩個與“閉鎖機構設計”查詢文本具有高相似性的兩個知識元語境文本片段,分別闡述了與閉鎖間隙相關的槍彈界限長度計算原理和閉鎖間隙的計算原理。
結合以上實驗結果,可根據(jù)圖2中UML類模型的實例化完成閉鎖機構的知識集成。圖9示例了實例化對象模型的部分結果,其中的文本知識對象、工程圖對象、設計計算程序對象等,均由算法自動提取并關聯(lián)至“閉鎖機構”對象;URL屬性規(guī)定了與該對象相關聯(lián)的數(shù)據(jù)、程序文件路徑,DSN、SQL屬性規(guī)定了數(shù)據(jù)庫的連接字符串、查詢語句,HTML()方法則規(guī)定了將文本知識元、工程圖知識元制成知識網(wǎng)頁形式的語言規(guī)范。同時被關聯(lián)的還有知識元語境文本中的設計要素,比如“閉鎖間隙”、“閉鎖強度”、“槍機框”等。基于這些提取和匹配結果可以在Knowleworker中對功能分解結構以及其中的“閉鎖機構”節(jié)點以子節(jié)點的形式進行細化補充,如圖5分區(qū)2、分區(qū)3所示。知識元根據(jù)所面向的零部件、特征及設計參數(shù)進行組織,其粒度與功能分解的層次一致,且不同類型的知識元在知識模塊中統(tǒng)一封裝,如圖10所示。在知識組織過程中可以發(fā)現(xiàn),“彈殼的軸向變形”、“槍彈的界限長度”等實體與“閉鎖機構”不存在字面上的相似性,但是由于采用了基于主題模型的匹配方法,這些實體所在的語境的語義被考慮,因而匹配至“閉鎖機構”節(jié)點及其子節(jié)點下。在圖10所示例的集成到“閉鎖機構”知識模塊的知識元中,以網(wǎng)頁形式表示的文本、圖形知識元以及與數(shù)據(jù)庫連接的電子表格知識元,均可在知識系統(tǒng)中以選項卡的形式直接打開;而設計計算程序知識元的用戶界面則已事先編寫完成,可通過外部鏈接的形式在知識系統(tǒng)中訪問計算程序庫;三維模型知識元同理,但在知識系統(tǒng)中除了可以訪問模型庫之外,還提供了模型參數(shù)的讀取、寫入接口,方便設計者進行參考、修改與保存。

圖7 基于LDA算法的主題提取結果示例Fig.7 Example of topic extraction results based on LDA algorithm

圖8 與查詢文本“閉鎖機構設計”匹配的語境文本片段Fig.8 Context fragments matched with query “Design of breech locking mechanism”

圖9 基于UML模型實例化的閉鎖機構知識集成對象圖(部分)Fig.9 Object diagram of breech locking mechanism knowledge integration based on UML model instantiation (part)

圖10 知識系統(tǒng)中集成至“閉鎖機構”知識模塊的各種類型知識元Fig.10 Various types of knowledge units integrated into “breech locking mechanism” knowledge module in the knowledge system
經(jīng)過以上的自動武器設計知識提取與組織過程而建立的集成知識模型,可以輔助設計者在不同的設計階段完成相應的設計任務。在概念設計階段,通過功能分解模型的補充、完善,完成自動武器的概念設計;在具體零部件及其特征的設計中,可以通過分解結構與知識元的匹配關系訪問相應的知識庫,進行相關設計參數(shù)的設計計算、設計知識的查詢,完成產(chǎn)品的詳細設計。
知識提取與組織對于工程領域設計知識的重用、設計決策的輔助有著至關重要的意義。本文提出一種人工與自動結合的知識提取方法,結合命名實體提取技術與基于主題模型的文本匹配技術,將設計文檔中的設計要素、知識元與功能分解結構模型充分匹配,完成其結構的、知識的豐富,將其知識集成化。基于這種功能分解基礎上的知識組織方法,在Knowleworker中建立了相應的原型系統(tǒng)。利用自動武器及其閉鎖機構的知識提取案例,示例了該領域語料庫的處理以及實體提取、文本匹配過程,在此基礎上提供了一部分知識提取以及知識系統(tǒng)建立的實驗結果,證實了該提取方法的有效性,為工程設計知識的重用提供了支持手段。