倪子健,李文強,唐 忠
(1.四川大學機械工程學院,四川成都 610065;2.四川大學創(chuàng)新方法與創(chuàng)新設計四川省重點實驗室,四川成都 610065)
產品設計的目標是使產品具備相應功能,即功能是產品存在意義的體現(xiàn)[1]。對產品功能進行定義并建立相應的功能模型是產品概念設計的重要組成部分[2]。Gero[3]提出了可用于描述產品概念設計過程的FBS(function-behavior-structure,功能-行為-結構)模型,即將概念設計過程看作由功能層到行為層再到結構層的求解過程;殷習等[4]基于FBS模型研究了功能變更再設計的相關理論;為實現(xiàn)對產品功能的規(guī)范化描述,Stone等[5]建立了描述產品功能的語言——功能基,功能基為“作用方式+作用對象”的詞匯組合,如吸收能量、檢測信號等。
在產品概念設計階段,為實現(xiàn)產品的功能,設計人員須通過查閱大量已有的設計資料(如專利、書刊和網頁等)來獲取設計知識和設計靈感,其中跨領域的相關知識是激勵產品創(chuàng)新設計的關鍵。在知識的檢索與獲取過程中,本體是語義擴展的常用知識庫之一[6]。本體位于語義網的語義層,可描述客觀世界概念以及概念之間的關系[7],在語義網中具有重要地位。本體所提供的概念和概念間關系的形式化描述可為語義檢索提供有用的工具[8-11]。與關鍵詞檢索相比,基于本體的語義檢索可提供語義關聯(lián)的檢索結果。因此,利用本體進行語義檢索能夠跨越語義鴻溝,檢索到與檢索詞語義相關的資料。在產品設計領域,已有許多學者將本體用于語義檢索,以輔助產品的創(chuàng)新設計。例如:Zhang等[12]利用語義網和本體理論,提出了基于語義相似度的產品設計知識檢索聚類模型;Qin等[13]利用基于本體的語義檢索方法,構建了特征模型本體并進行本體推理,以輔助異構CAD(computer aided design,計算機輔助設計)模型的設計;Fang等[14]構造了領域本體,并利用Lucene本體推理機制進行了關鍵詞語義擴展,實現(xiàn)了工程文檔的檢索;Phan等[15]將本體運用于專利的檢索,通過挖掘專利內容與其分類的語義關系來提高檢索準確率;Mabkhot等[16]構建了基于本體的決策支持系統(tǒng),通過自動推理和相似度檢索來實現(xiàn)產品特征和制造工藝案例的選擇。
目前,基于本體的語義檢索方式大致分為2種:一種是根據(jù)本體中確定的語義關系,對輸入的檢索關鍵詞直接進行語義延伸,獲取與檢索關鍵詞語義相關的詞匯后基于語義距離進行語義相似度計算,并根據(jù)相似度排序得到檢索結果[6,12];另一種是根據(jù)本體中確定的語義關系,對輸入的檢索關鍵詞進行語義推理,得到滿足推理條件的檢索結果[13-16]。然而,無論是哪種檢索方式,檢索結果均取決于本體中確定的語義關系,這是因為上述語義檢索過程只能按照本體中確定的語義關系開展,而無法有效利用本體中隱含的語義關系。
在解決實際工程問題時,設計人員往往會運用具體的自然語言來描述產品的功能需求,這與高度抽象的功能基之間存在語義鴻溝。同時,各領域的設計知識與功能基之間也缺乏有效的對應關系。因此,如何從功能角度規(guī)范設計人員的自然描述語言并通過相應功能檢索到跨領域的設計知識,是有效支持產品創(chuàng)新設計的關鍵問題?;诖?,筆者通過挖掘本體概念之間隱含的語義關系來提高對跨領域設計資料的檢索能力,旨在為設計人員提供更多的跨領域設計知識,以激發(fā)其設計靈感。
為實現(xiàn)對本體隱含語義關系的挖掘,須針對產品功能建立合適的語義本體,其構建流程如圖1所示。首先,對語義資源中的概念實體進行提取,本文選用WordNet、HowNet以及《現(xiàn)代漢語詞典》語料庫作為語料資源,對其中描述功能的詞匯進行整合。然后,通過定義2種關系(基本關系和復雜關系)來構建語義本體,其中,基本關系初步決定了概念實體之間的語義親疏,如“上位、下位”等,通過定義基本關系得到樹狀結構的語義關系;復雜關系用于概念實體之間的動態(tài)關聯(lián),如“作用對象”“用于”“作用領域”等,通過定義復雜關系得到網狀結構的語義關系?;谶@種方式構建的語義本體在邏輯上包含了一定范圍內的功能語義,如機床-用于-制造、機床-作用對象-零件等?;诖怂诰虻玫降谋倔w隱含語義關系將會繼承這種功能語義,保證了概念實體之間是基于功能語義的關系,同時保證了各概念的連通性,避免了孤立概念群的存在以及其給網絡表示學習方法帶來的干擾。
圖1 語義本體構建流程Fig.1 Construction process of semantic ontology
網絡表示學習方法是將復雜網絡結構的數(shù)據(jù)節(jié)點表示成低維空間中連續(xù)、稠密的向量,從而方便計算機更好地處理網絡信息。目前,常用的網絡表示學習方法有 DeepWalk[17]、LINE(large-scale information network embedding,大規(guī)模信息網絡嵌入)[18]和struc2vec[19]。其中,DeepWalk 通過隨機游走的方式來獲取節(jié)點序列,該游走路徑即為節(jié)點之間的關系,這使得參與訓練的節(jié)點在邏輯上具有一定的關聯(lián)。該方法的核心思想是利用節(jié)點序列中的已知節(jié)點預測缺失節(jié)點[20]。因此,本文選擇DeepWalk對本體語義關系進行挖掘,以獲得隱含的語義關系。
語義本體可被看作是一個復雜的網狀結構數(shù)據(jù)集合,可表示為G=(V,E)。其中:V={v1,v2,…,vn},代表語義本體網絡的節(jié)點;E={e1,e2,…,em},代表語義本體網絡節(jié)點之間特定的語義關系。選取節(jié)點vi作為游走起點,沿著語義本體網絡中的邊隨機游走,可得到關于節(jié)點vi的步長為s的隨機游走序列。利用節(jié)點的隨機游走可得到大量游走序列,這些序列反映了語義本體網絡中的語義信息。
假設在語義本體網絡中得到的隨機游走序列為{v1,v2,…,v}i,則節(jié)點vi出現(xiàn)的概率可表示為P(vi|v1,v2,…,vi-1)。
引入映射關系φ(V)∈R(d維度為d)將節(jié)點映射到維度為d的向量空間中,則節(jié)點vi出現(xiàn)的概率可表示為P[vi|φ(v1),φ(v2),…,φ(vi-1)]。
隨著語義本體網絡復雜程度的提升以及隨機游走序列的增加,節(jié)點出現(xiàn)概率的計算會變得逐漸復雜。為避免這種問題出現(xiàn),采用skip-gram模型將基于已知序列預測缺失節(jié)點轉變?yōu)榛谛蛄兄行墓?jié)點預測周圍節(jié)點,即用一個窗口截取游走序列的一部分來限定所需預測的周圍節(jié)點的個數(shù)。若用一個長度為2w+1的窗口來截取游走序列,即用[vi-w,vi-w+1,…,vi-1,vi,vi+1,…,vi+w]來表示給定中心節(jié)點vi,則其左右兩側的2w個節(jié)點出現(xiàn)的概率為P[vi-w,…,vi-1,vi+1,…,vi+w|φ(vi)]。
根據(jù)網絡表示學習方法的原理,最終得到的結果應使中心節(jié)點周圍的2w個節(jié)點出現(xiàn)的概率最大,即min{- logP[vi-w,…,vi-1,vi+1,…,vi+w|φ(vi) ]}。
利用深度學習方法來訓練語義本體網絡,并采用隨機梯度下降方法來求取目標概率的極值,以得到最終期望的映射關系φ(V)。φ(V)是上述訓練網絡的隱含參數(shù),它是一個n×d維的矩陣。
圖2所示為語義本體網絡中的一個隨機游走序列,虛線橢圓框為假設的一個窗口截取游走序列的一部分。以節(jié)點v3為中心節(jié)點,基于節(jié)點v3預測其周圍節(jié)點(節(jié)點v1、v2、v4和v5)出現(xiàn)的概率并使概率最大,其本質上可以看作是以確定的語義關系為橋梁建立未連接節(jié)點之間隱含的語義關系,即對語義本體中確定的語義關系進行擴充。
圖2 隨機游走序列與隱含語義關系挖掘Fig.2 Random walk sequence and implicit semantic relationship mining
由此可知,在本文方法中,語義本體中的詞向量是通過確定的語義關系訓練而來的。與現(xiàn)有的基于大規(guī)模語料庫的詞向量訓練方法相比,語義本體網絡的節(jié)點之間具有更強的邏輯關系,而大規(guī)模語料庫依賴于文本中特征詞匯出現(xiàn)的頻率[21-23],計算量龐大且容易受到噪聲的干擾。因此,基于語義本體中確定的功能語義關系擴充得到的詞向量間的相似度能夠更好地量化與比較語義關系[24]。
基于所構建的語義本體以及通過訓練得到的語義關系,提出面向產品功能的語義檢索方法。以功能基為紐帶,通過功能語義匹配和設計資料檢索兩個過程,實現(xiàn)設計人員根據(jù)自然語言描述語句獲取跨領域設計資料的目的。在利用語義本體中確定語義關系擴充后得到的語義向量空間中,用對應的詞向量來表示功能的自然語言描述語句、跨領域知識和功能基,通過詞向量之間的運算得到對應的功能語義向量,以實現(xiàn)功能語義檢索任務。
與功能基的描述一致,采用“作用方式+作用對象”的詞匯組合來表達功能,其中“作用方式”為動詞,“作用對象”為名詞。為了計算隱含的功能語義關系向量,運用基于語義類比的向量運算進行計算。例如:詞語“King”和“Male”之間的關系與詞語“Queen”和“Female”之間的關系是類似的,基于語義的向量運算可表示為:c(King)-c(Male)+c(Female)≈c(Queen),即c(King)-c(Male)≈c(Queen)-c(Female)。 其 中c(word)表示該詞語所對應的詞向量。從向量相減的幾何意義可知,如果將詞向量看作是語義向量空間中的點,那么詞向量相減所得到的新向量即為連接這2個點的有向線段。而在語義向量空間中,連接2個點的有向線段為二者之間的語義關系。因此,隱含的功能語義關系向量c(F)可表示為:
基于語義類比的向量相減運算可迅速建立詞匯之間潛在的功能語義關系,這種方式能夠靈活地反映語義本體網絡中沒有連接的節(jié)點(尤其是距離很遠的節(jié)點)之間的語義關系。通過動詞和名詞向量相減運算得到的隱含的功能語義關系向量,從功能角度量化了語義關系,從而建立了設計人員需求描述自然語言、功能基以及多領域設計資料之間的統(tǒng)一表達形式,并以功能為共同橋梁跨越語義檢索過程中的語義鴻溝,可更好地實現(xiàn)有關功能語義的多領域知識檢索。
功能語義匹配與設計資料檢索是功能語義檢索的最終環(huán)節(jié)。產品功能語義匹配是將用戶對產品功能的自然語言描述語句轉換為規(guī)范化的功能基的過程,即完成從功能的自然語言描述語句到功能基的語義匹配,如圖3所示。
圖3 功能語義匹配流程Fig.3 Process of functional semantic match
由圖3可知,從功能的自然語言描述語句到功能基的語義匹配過程是根據(jù)詞匯之間的語義相似性來實現(xiàn)的。首先,將設計人員對產品功能的自然語言描述語句進行文本預處理,提取其中的檢索關鍵詞(包括關鍵動詞和關鍵名詞)。檢索關鍵詞提取過程的偽代碼(算法1)如下:
然后,在語義向量空間中,找到所提取的關鍵動詞和關鍵名詞對應的檢索關鍵詞向量。若一個功能的自然語言描述語句中含有多個動詞或名詞,則在將其全部提取后按照“動詞+名詞”的方式進行組合,并根據(jù)就近原則以及相應的語料資源,選取其中使用頻率較高的詞匯組合,以剔除干擾并減少計算量。完成篩選后,由詞匯組合中的詞向量構成檢索關鍵名詞和關鍵動詞矩陣,并通過向量運算得到對應的隱含語義關系向量,稱為功能描述向量,由功能描述向量構成功能描述矩陣。同時,對用向量表示的功能基進行向量運算,得到相應的功能基向量,由功能基向量構成功能基矩陣。最后,通過計算功能描述矩陣與功能基矩陣中對應詞向量之間的語義相似度,完成產品的功能語義匹配,將設計人員的設計需求匹配到相應的功能基。功能語義匹配過程的偽代碼(算法2)如下:
設計資料檢索流程如圖4所示。同樣地,先對跨領域的設計資料進行文本處理,得到設計關鍵詞(關鍵動詞和關鍵名詞),將其映射到語義向量空間中并通過向量運算得到隱含語義關系向量,稱為設計知識向量,由設計知識向量構成設計知識矩陣。由于與上文中處理自然語言描述語句的方式相同,采用算法1提取設計關鍵詞。然后,以功能基為索引,計算功能基矩陣與設計知識矩陣中對應詞向量之間的語義相似度,擴展得到對應功能的設計知識,完成相應功能語義的設計知識檢索任務。
圖4 設計資料檢索流程Fig.4 Process of design material retrieval
以“如何快速高效地采摘水果并且保護果實不受損傷”作為設計人員對產品功能需求的描述語句,利用本文方法進行多領域專利檢索,以從不同領域的專利中獲得靈感來輔助水果采摘裝置的創(chuàng)新設計。
步驟1:語義本體構建。
建立小型的語義本體是語義關系挖掘的基礎。運用本體構建工具Neo4j構建針對水果采摘裝置的語義本體,其對應網絡的具體參數(shù)如表1所示。
表1 語義本體網絡參數(shù)Table 1 Semantic ontology network parameters
將構建完成的語義本體網絡以鄰接表或鄰接矩陣的方式存儲,該本體網絡共有958個節(jié)點,則要構建一個958×958維的鄰接矩陣,如圖5所示。矩陣中的“1”表示對應行和對應列所在位置的節(jié)點相互連接,即存在確定語義關系;“0”表示沒有節(jié)點連接,即未定義語義關系。
圖5 語義本體網絡對應的鄰接矩陣Fig.5 Adjacency matrix corresponding to semantic ontology network
步驟2:隱含的語義關系挖掘。
運用DeepWalk對所構建的語義本體網絡進行訓練,訓練參數(shù)如表2所示。利用訓練得到的節(jié)點向量間接反映語義關系擴展后的語義本體,并基于此構建相應的語義向量空間。通過訓練得到的語義本體網絡的部分節(jié)點向量如圖6所示。
表2 DeepWalk的訓練參數(shù)Table 2 Training parameters of DeepWalk
圖6 語義本體網絡的部分節(jié)點向量Fig.6 Partial node vectors of semantic ontology network
通過訓練得到的節(jié)點向量的元素都反映了隱含語義關系挖掘后的擴充語義?;谒鶚嫿ǖ恼Z義本體網絡參數(shù),共獲得958×50個語義關系,這與原有稀疏的鄰接矩陣所表示的1 493個確定的語義關系相比,本體概念之間的語義聯(lián)系更為豐富。通過本體語義關系擴充所得到的語義本體網絡節(jié)點向量能夠在2個方面支持功能語義檢索:1)概念之間可以通過基于語義類比的向量運算建立隱含的功能語義關系;2)可以通過向量的相似度計算來比較概念之間的語義接近程度。
步驟3:文本預處理與檢索關鍵詞提取。
語義本體中的概念實體是以作用方式(動詞)和作用對象(名詞)的形式呈現(xiàn),因此須對自然語言描述語句文本進行預處理并提取其中與功能相關的檢索關鍵詞(動詞和名詞)。采用哈爾濱工業(yè)大學語言技術平臺(language technology platform,LTP)對設計人員的功能需求自然語言描述語句以及多領域專利文本摘要進行分詞和詞性標注,以便提取檢索關鍵詞。
對于本例中輸入的自然語言描述語句,根據(jù)分詞和詞性標注得到的結果為:如何(pronoun)、快速(adverb)、高效(noun-modifier)、地(auxiliary)、采摘(verb)、水果(noun)、并且(conjunction)、保護(verb)、果實(noun)、不(adverb)、受損傷(verb)。對其中的檢索關鍵詞進行提取后得到:采摘、保護、受損傷(關鍵動詞);水果、果實(關鍵名詞)。需要注意的是,關鍵動詞“受損傷”的前面有否定副詞“不”修飾,而在描述功能時應盡量避免由否定副詞修飾的動詞出現(xiàn),根據(jù)算法1,在提取檢索關鍵詞時去掉否定副詞后面的動詞。根據(jù)就近原則以及漢語語言使用規(guī)律,得到出現(xiàn)頻率最高的功能語義描述組合為“采摘水果”和“保護果實”。將得到的關鍵名詞和動詞按照相應的組合關系構成相應的檢索關鍵詞矩陣,例如[水果,果實]和[采摘,保護]。本次實驗隨機選取800個覆蓋51個功能基的發(fā)明專利文本摘要作為檢索樣本庫(部分專利包含多個功能),按照同樣的處理方式對專利文本的摘要進行分詞、詞性標注、關鍵詞提取以及篩選正確的功能語義描述組合,得到相應的設計知識矩陣。
步驟4:功能語義匹配與設計資料檢索。
在語義本體網絡中找到功能描述矩陣、功能基矩陣和設計知識矩陣中的詞匯,并將每個詞匯替換為基于DeepWalk得到的節(jié)點向量。通過算法2的計算得到功能語義匹配結果,如表3所示。結果表明,與設計人員對水果采摘裝置功能需求的自然語言描述語句最為接近的功能基為“分離物質”和“吸收能量”。
表3 基于語義相似度的水果采摘裝置功能語義匹配結果(部分)Table 3 Functional semantic matching results of fruit picking device based on semantic similarity(partial)
設計資料檢索過程與功能語義匹配過程類似。在檢索時,設計人員以基于語義匹配得到的功能基為索引,通過檢索獲得具有相關功能語義的設計資料。在本例中,通過語義匹配得到的功能基為“分離物質”和“吸收能量”,其中基于“分離物質”檢索得到的部分專利文本如表4所示。
表4 基于語義相似度的水果采摘裝置設計資料檢索結果(部分)Table 4 Design data retrieval results of fruit picking device based on semantic similarity(partial)
基于功能基“分離物質”,在預先準備的800個發(fā)明專利中檢索得到22個與水果采摘裝置高度關聯(lián)的發(fā)明專利(語義相似度大于0.5),其中包含機械、建筑等多領域的專利。由此說明,通過功能語義檢索,設計者人員能夠以功能基為紐帶,基于對功能需求的自然語言描述語句獲取相應的跨領域設計資料。
步驟5:初步設計方案確定。
在本例中,根據(jù)設計人員對功能需求的自然語言描述語句中的“采摘水果”得到功能基“分離物質”,進而檢索得到一系列關于“分離物質”的發(fā)明專利。根據(jù)功能語義相似度排序,選取前4個發(fā)明專利(對應裝置的結構如圖7所示)作為設計資料,對水果采摘裝置的創(chuàng)新設計方案進行初步確定。
圖7 4種物質分離裝置的結構示意Fig.7 Schematic diagram of structure of four kinds of substance separation device
根據(jù)發(fā)明專利的文本描述和對應裝置的結構示意圖可知,圖7(a)所示裝置采用電機帶動葉片旋轉擠壓棉花并利用離心力實現(xiàn)棉絮與棉殼的分離;圖7(b)所示裝置將多種拆裝機構結合為一體,適用于多種場合的機械零部件拆裝;圖7(c)所示裝置為常見的水果采摘裝置,利用電機驅動剪枝刀實現(xiàn)水果采摘;圖7(d)所示裝置通過搖柄控制刀架移動,實現(xiàn)復雜曲線的瓷磚切割。
本文水果采摘裝置的設計方案可以從圖7(c)所示的采摘裝置出發(fā),進行相應的改進。圖7(c)所示裝置采用剪切的方式來分離水果和枝干,可能會存在因剪力不足而無法切斷的情況。受到圖7(d)所示瓷磚切割器的啟發(fā),利用旋轉刀具來切割樹枝,實現(xiàn)分離功能,旋轉刀具的運動方式可參考圖7(a)所示的棉花分離裝置中電機帶動刀具旋轉的形式,并結合圖7(b)所示多功能拆裝器的組合思想,將旋轉切割刀具與圖7(c)所示水果采摘裝置的其他結構組合,由此初步形成一個水果采摘裝置的創(chuàng)新設計方案,其結構原理如圖8所示。
圖8 2種水果采摘裝置的結構原理對比Fig.8 Comparison of structural principles of two kinds of fruit picking devices
水果采摘裝置的新設計方案參考了4種專利的設計思想,體現(xiàn)了不同領域的設計資料對設計靈感的激勵和設計過程的支持。
本文針對現(xiàn)有的基于本體的語義檢索對本體概念之間的隱含語義關系缺乏有效利用的問題,提出了一種基于網絡表示學習的本體語義關系挖掘方法。在本體語義關系挖掘的基礎上,建立了面向產品功能的跨領域設計知識檢索方法:利用基于語義類比的向量運算建立了隱含的功能語義關系,并通過語義相似度計算實現(xiàn)了基于隱含語義關系的產品功能語義的匹配和跨領域設計資料的檢索。水果采摘裝置創(chuàng)新設計示例結果表明,設計人員可以利用本文提出的方法檢索得到與產品功能需求有關的多領域設計資料,有助于激發(fā)設計靈感和產生創(chuàng)新設計方案。