梁 蕾,宋慶明,沈思遠(yuǎn),吳 敏
(上海飛機(jī)制造有限公司制造工程技術(shù)中心, 上海 201324)
自動(dòng)或智能的工藝設(shè)計(jì)一直是計(jì)算機(jī)輔助工藝設(shè)計(jì)系統(tǒng)(CAPP)的目標(biāo)。實(shí)現(xiàn)工藝設(shè)計(jì)的智能化,需要給工藝設(shè)計(jì)軟件賦能,使之具有設(shè)計(jì)問題理解、設(shè)計(jì)結(jié)果生成、設(shè)計(jì)知識(shí)學(xué)習(xí)等能力。上述能力的核心是工藝設(shè)計(jì)知識(shí),涉及知識(shí)如何獲得、表達(dá)、更新以及在特定條件下觸發(fā)應(yīng)用。而工藝知識(shí)的獲取即工藝知識(shí)庫構(gòu)建一直是關(guān)鍵問題?,F(xiàn)有工藝知識(shí)庫的構(gòu)建方法為人工構(gòu)建,包括本體及產(chǎn)生式規(guī)則等方法。
本體通常由概念集、關(guān)系集、屬性集、實(shí)例集和規(guī)則集構(gòu)成,各工藝知識(shí)研究略有差異,但都包括概念集與關(guān)系集。文獻(xiàn)[1]建立涵蓋工藝參數(shù)、刀具、機(jī)床、零件、零件特征與材料等概念的本體,可解析基于特征類型、基本參數(shù)以及零件材料的屬性等。文獻(xiàn)[2]利用本體描述了裝配對(duì)象、屬性與工藝適用條件。文獻(xiàn)[3]面向零件裝配問題,設(shè)計(jì)并構(gòu)建了幾何特征增強(qiáng)的本體模型,使用本體對(duì)3D 模型中關(guān)鍵的幾何特征進(jìn)行了標(biāo)注。文獻(xiàn)[4]利用本體標(biāo)注工藝案例,采用了一種層次表示法對(duì)產(chǎn)品結(jié)構(gòu)、裝配關(guān)系(精度)信息等進(jìn)行表達(dá)。產(chǎn)生式的基本形式為“IF P THEN Q”。P 是產(chǎn)生式的前提,也稱為前件,給出了該產(chǎn)生式可否使用的先決條件,由事實(shí)的邏輯組合來構(gòu)成。文獻(xiàn)[5]特別針對(duì)企業(yè)工藝信息是文本描述的特點(diǎn),對(duì)工藝文本進(jìn)行話語分析從而生成規(guī)則。該文給出的示例是用于機(jī)床設(shè)備的選擇。文獻(xiàn)[6]分別建立了零件特征族集與工序序列族集,采用產(chǎn)生式規(guī)則建立二者間的關(guān)系。文獻(xiàn)[7]定義了偏好關(guān)系,并建立了典型的工藝條件屬性,建立了屬性與工序序列間的邏輯關(guān)系,以典型的工藝條件屬性為規(guī)則前件,加工工藝鏈為規(guī)則后件。
無論是本體還是產(chǎn)生式規(guī)則,皆由人工構(gòu)建,對(duì)構(gòu)建人員的專業(yè)能力及信息技術(shù)能力要求極高,一方面能夠匯總、歸納與分析工藝現(xiàn)象與工藝方法,總結(jié)形成知識(shí)庫;另一方面需要掌握本體與產(chǎn)生式規(guī)則的表示方法與管理方法。再者,人工構(gòu)建本體及產(chǎn)生式等知識(shí)庫是復(fù)雜的工程過程,在多人協(xié)助的情況下,難以保證規(guī)則無沖突、本體概念理解一致、規(guī)則與概念覆蓋充分等要求。特別是,面向飛機(jī)等復(fù)雜產(chǎn)品,構(gòu)建工藝知識(shí)庫是極具挑戰(zhàn)性的難題?,F(xiàn)今,深度學(xué)習(xí)等人工智能技術(shù)發(fā)展迅速,基于深度學(xué)習(xí)方法的語義分析技術(shù)已經(jīng)在分詞、命名實(shí)體識(shí)別、機(jī)器翻譯等領(lǐng)域得到了廣泛的應(yīng)用。本文基于深度學(xué)習(xí)方法的語義分析方法,提出了基于語義分析的工藝知識(shí)庫構(gòu)建方法。該方法能夠自動(dòng)地從歷史工藝數(shù)據(jù)中歸納出工藝知識(shí),極大地降低了人工投入,能夠保證工藝知識(shí)庫的覆蓋度,并且知識(shí)與歷史應(yīng)用情境關(guān)聯(lián),實(shí)現(xiàn)在相同情境匹配下知識(shí)的推送重用。在某型號(hào)支線客機(jī)航電與電氣專業(yè)上構(gòu)建了工藝知識(shí)庫并實(shí)現(xiàn)了工藝知識(shí)推送軟件。
本文所構(gòu)建的工藝知識(shí)庫為工序名稱庫、工序語句庫及工藝過程庫。工序名稱是簡(jiǎn)要表明本步工序的操作內(nèi)容的詞語或短語。工序語句描述了本步工序的操作內(nèi)容,包括:遵照規(guī)范、圖紙、操作對(duì)象、所需零件、參數(shù)、操作等。工藝過程是由工序名稱及語句構(gòu)成,描述了一類零件工序過程。各知識(shí)庫示例如表1 所示。工序語句中的“【圖紙】”與“【位置】”等為變量槽,由工藝員依據(jù)設(shè)計(jì)任務(wù)填寫。變量槽能夠擴(kuò)大語句的應(yīng)用情境,能夠應(yīng)用于相同操作方法的不同工況下,變量槽總共設(shè)計(jì)了12種。
表1 工藝知識(shí)庫中知識(shí)條目的示例
本文所提出的基于語義分析的工藝知識(shí)庫構(gòu)建方法是一種自底向上的歸納式構(gòu)建方法。該方法能夠保留各類知識(shí)條目的應(yīng)用情境,從而通過情境匹配實(shí)現(xiàn)知識(shí)的重用。工藝知識(shí)庫構(gòu)建過程分為語義化表達(dá)、聚類分析、工藝模板構(gòu)建,輸入為歷史裝配大綱數(shù)據(jù),輸出為各類工藝知識(shí)庫(見圖1)。
圖1 工藝知識(shí)庫的構(gòu)建過程
其中,語義化表達(dá)通過自然語言處理技術(shù)實(shí)現(xiàn)工序語句的理解,形成可計(jì)算的語義向量。聚類分析,分為工序名稱的聚類分析及工序語句的聚類分析,在獲得語義向量的基礎(chǔ)上,利用層次聚類算法對(duì)語義向量進(jìn)行聚類。聚類所形成的每個(gè)類簇則為語義最相近的工序名稱或是工序語句的集合,即表達(dá)同種工藝方法或是操作方法。工藝知識(shí)確認(rèn),由人工分析聚類結(jié)果,擬定每個(gè)類簇所代表的工藝方法或操作方法的標(biāo)準(zhǔn)表達(dá)方法,并將工序語句內(nèi)參數(shù)替代為參數(shù)槽,形成最終的工藝知識(shí)庫。工藝過程庫是依據(jù)工序名稱與工序語句和情境的關(guān)聯(lián)關(guān)系,反向替換原裝配大綱中的語句和名稱獲得。本文將重點(diǎn)介紹語義分析方法。
工序名稱及工序語句是由自然語言描述的非結(jié)構(gòu)化數(shù)據(jù),是不可計(jì)算的。自然語言處理計(jì)算是實(shí)現(xiàn)語言可計(jì)算并使得計(jì)算理解自然語言的技術(shù)。目前,最常用的自然語言處理技術(shù)是基于深度神經(jīng)網(wǎng)絡(luò)的方法,被廣泛地應(yīng)用于中文分詞、命名實(shí)體識(shí)別、機(jī)器翻譯等。本文提出基于深度神經(jīng)網(wǎng)絡(luò)的工藝語言分析方法,具體為基于雙向長(zhǎng)短時(shí)記憶網(wǎng)絡(luò)(Bi-directional Long-Short Term Memory Network,BiLSTM)的自編碼器(autoencoder)。該方法以工序名稱或工序語句為輸入,以實(shí)數(shù)向量為輸出。該實(shí)數(shù)向量便為工序名稱或工序語句的語義編碼,用于后續(xù)的聚類分析。
基于雙向長(zhǎng)短時(shí)記憶網(wǎng)絡(luò)的自編碼器模型結(jié)構(gòu)如圖2 所示,由編碼器與解碼器兩部分構(gòu)成。編碼器輸出語義表示向量,語義表示向量再輸入到解碼器中。若解碼器的輸出能夠還原編碼器的輸入,則表明語義表示向量完全包含了輸入語句的信息。具體地,編碼器首先將每個(gè)字采用隨機(jī)實(shí)數(shù)向量表示,作為編碼器輸入,然后將該向量輸入到LSTM 網(wǎng)絡(luò)中。LSTM 的具體結(jié)構(gòu)可參見文獻(xiàn)[15],此處不再詳述。采用兩層LSTM 結(jié)構(gòu),即從句首至句尾和從句尾到句首的兩層,從而建模整句的語義信息。之后,為由Sigmoid 函數(shù)構(gòu)成的輸出層。最后將輸出層向量拼接為語義向量。解碼器的過程與編碼器相反,以語義向量為輸入,但模型結(jié)構(gòu)完全相同,不再贅述。模型參數(shù)的訓(xùn)練采用輸入與輸出的差為損失,采用反向傳播算法獲得。
圖2 雙向長(zhǎng)短時(shí)記憶網(wǎng)絡(luò)的自編碼器模型
本文采用某型號(hào)支線客機(jī)的電氣與航電專業(yè)535 份裝配大綱為基礎(chǔ)數(shù)據(jù),驗(yàn)證了本文所提出方法。在基礎(chǔ)數(shù)據(jù)中包含558 種工序名稱和1153 種工序語句,這顯然是不合理的,存在了大量的不同名稱相同工藝方法與不同語句相同操作的歧義現(xiàn)象,是由工藝人員間個(gè)體論述方式的差異造成的。
雙向長(zhǎng)短時(shí)記憶網(wǎng)絡(luò)的自編碼器模型字的隨機(jī)向量設(shè)置維度為100 維,LSTM 網(wǎng)絡(luò)窗口設(shè)置為5,輸出維度設(shè)置為50 維度,Sigmoid 層輸出也為50 維度,語義向量的維度為5(窗口)×50(輸入維度)=250維。
通過語義分析、聚類分析及工藝知識(shí)確定的過程,形成了工序名稱庫含工序名稱152 項(xiàng),工序內(nèi)容語句庫152 項(xiàng),基礎(chǔ)數(shù)據(jù)的覆蓋度為97.1%;形成工藝過程庫含工藝過程247項(xiàng)。
表2 工序語句庫示例
由于本文所構(gòu)建的工藝知識(shí)庫的知識(shí)關(guān)聯(lián)了歷史工藝數(shù)據(jù),能夠表達(dá)工藝知識(shí)的應(yīng)用情境,因此能夠?qū)崿F(xiàn)在工藝設(shè)計(jì)任務(wù)的情況下,推送與知識(shí)應(yīng)用情境相同的工藝知識(shí)。因此,研發(fā)了基于工藝知識(shí)庫的工藝知識(shí)推送軟件,應(yīng)用效果如圖3所示。
圖3 工藝知識(shí)推送軟件示例
表3 工序內(nèi)容庫示例
表4 工藝過程庫示例
續(xù)表4
本文提出了基于語義分析的工藝知識(shí)庫構(gòu)建方法。該方法基于語義分析技術(shù)能降低人工構(gòu)建知識(shí)庫的成本與周期,并且所構(gòu)建的知識(shí)庫攜帶應(yīng)用情境信息,能夠?qū)崿F(xiàn)基于情境匹配的工藝知識(shí)推送,從而實(shí)現(xiàn)知識(shí)的重用,提升工藝設(shè)計(jì)效率和質(zhì)量。具體構(gòu)建過程為:通過雙向長(zhǎng)短時(shí)記憶網(wǎng)絡(luò)的自編碼器模型的方法實(shí)現(xiàn)工序內(nèi)容的理解,形成可計(jì)算的語義向量;再通過層次聚類算法,形成語義最相近的工序名稱或是工序語句的集合;最后,由人工分析聚類結(jié)果,擬定每個(gè)類簇所代表的工藝方法或操作方法的標(biāo)準(zhǔn)表達(dá)方法,反向替換原裝配大綱中的語句和名稱獲得。在某型號(hào)支線客機(jī)的航電與電氣專業(yè)的數(shù)據(jù)及工藝設(shè)計(jì)任務(wù)上進(jìn)行了驗(yàn)證與實(shí)例分析,證明了本文所提出的方法。