999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于模板和規則的聲明式代碼生成

2022-03-21 07:25:30北方工業大學馮俊輝劉晨郭浩然
數字技術與應用 2022年2期
關鍵詞:規則設備方法

北方工業大學 馮俊輝 劉晨 郭浩然

Drools是開源業務規則引擎,規范的Drools規則代碼具備簡短、聲明式、可讀性強等特性。目前,Drools規則代碼需人工編寫,缺少一套機制自動生成代碼。本文中,提出一套基于模板和規則的機制以生成聲明式Drools規則代碼,并針對物聯網環境,構建了7500條Drools規則。基于構建的規則集,對本文提出的系統架構進行了驗證,并取得了一定成果。

高級編程語言依據編程規范,分為命令式語言、聲明式語言。官方規范的Drools規則語言是聲明式的,包含命令式、條件式代碼的復雜規則可轉換為多條聲明式規則。Drools作為推理引擎,可用于物聯網環境,依據規則以及規則間的推理關系實現物聯網設備的自動控制。

但是,非技術人員無法編寫Drools規則代碼。為解決該問題,本文提出基于模板和規則的方法幫助用戶從受限自然語言生成Drools規則。基于模板的代碼生成(TBCG)是從高級規范生成代碼的合成技術,可根據模板計算動態部分,是模型驅動工程(MDE)中的流行技術。基于規則的代碼生成是開發人員依據經驗或者先驗知識、事實等制定的一種策略,為自然語言到自然語言、代碼之間的轉換提供了依據。

目前,自然語言到代碼生成的研究主要聚焦于TEXT2SQL任務,忽略了其他領域基于自然語言生成代碼的需求,本文正好彌補了這一缺陷。

1 Drools規則模板

Drools規則作為Drools引擎推理依據,由規則名、屬性、條件部分(LHS)、動作部分(RHS)組成。結合物聯網環境、Drools規則代碼特點,制定如圖1所示模板。

圖1 Drools規則模板Fig.1 Drools rule template

模板中:ruleName為規則名、ClassName為系統類名、instanceName為類實例對象名、Field為類屬性、Operator為操作符、Value為屬性值、AND|OR為邏輯符合、Method為方法名。

本文提出的架構結合Drools規則模板,可解析用戶輸入的受限自然語言以替換上述模板內容,自動生成Drools規則。

2 系統架構

本文基于模板和規則的方法提出如圖2所示框架。

圖2 Drools規則代碼自動生成框架Fig.2 Drools rule code automatic generation framework

框架以自然語句作為輸入,將復雜自然語句切為多條簡單自然語句。采用Semantic Analysis、Template Analysis,對簡單自然語句進行語法、模板分析,解析結果與Java類文件、類文件描述、Drools規則模板輸入Drools規則生成器。最終,由Drools規則生成器輸出自然語句對應的Drools規則。其中,Java文件則為系統類文件,Java描述文件則是對類、類方法、成員屬性進行功能描述的文件。

2.1 Split Statement

Split Statement負責切分復雜自然語句,將包含多個and、or復合邏輯的自然語句分割為僅包含單個and或or的簡單自然語句,也即Simple Nature Language。語句切分必要性包含兩點:簡化解析難度、符合Drools官方規范。

2.2 Semantic Analysis

Semantic Analysis模塊,采用NLP技術對自然語句進行解析。本文使用斯坦福大學提供的StanfordCoreNLP,通過Lemma化、依存分析、命名實體識別、part-of-speech信息和語法規則對簡單自然語句進行解析。如,針對自然語句“When the air-conditioning is turned on, then close the window.”,StanfordCoreNLP解析得到的Lemma化結果、依存樹結構分別如圖3、圖4所示。

圖3 語句Lemma化結果Fig.3 Lemma result of statement

圖4 依存樹示例Fig.4 Example of dependency tree

通過Lemma化結果,如“turned on”歸一為“turn on”,Lemma化的優勢在于可去除時態、三單等語法形式引入的復雜性。

通過依存樹的結構信息,可以分析各設備及其動作。自然語句中存在作為屬性值的數字等實體時,可結合實體分析和依存樹結構,判斷出屬性值的從屬關系。

針對Drools規則在物聯網環境下的特點,涉及的語法主要包括主系表、主謂賓、There be三種結構。

2.3 Template Analysis

Template Analysis通過解析模板對自然語句進行處理,以獲取簡單自然語句中的設備名、屬性、參數值。本文系統中,解析模板包含兩類:自動模板、人工模板。自動模板從小規模訓練集中提取,提取步驟如下:

(1)通過StanfordCoreNLP獲取簡單自然語句PosTags信息,將PosTags詞元形式作為模板,以提升其泛化能力;

(2)觀察簡單自然語句與對應的Drools規則,依據規則擦除PosTags中對應位置的信息,設備名、屬性、參數值分別采用正則表達式標識;

(3)模板入庫,人工模板由系統人員編寫,與自動模板相比,人工模板更具針對性、可靠性。本系統中,人工模板的解析優先級高于自動模板。

Semantic Analysis、Template Analysis解析結果格式如下:

when部分:{ 設備名, 屬性, 操作符, 參數值,邏輯符號 }

then部分:{ 設備名, 屬性, 動作, 參數值 }

2.4 Drools Rule Generator

Drools Rule Generator由5部分構成:

Class Component:將解析的設備名轉化為系統類名。類名解析首先判斷是否具備類名同設備名相同,不同時則計算類名與設備名相似度,超過相似度閾值時則解析結束。否則,將通過類描述文件判定包含關系以及相似度。經實驗表明,類描述文件是解析系統的有力補充模塊;

Method Component:將動作轉化類方法。通過StanfordCoreNLP獲取動作字段詞元,字段原形態、詞元形態分別記為a1、a2。遍歷方法注冊表,若a1、a2與方法描述語句存在匹配關系,則將方法納入候選集。遍歷結束,通過類名、屬性值對候選集進行二次過濾以獲取最終結果;

Field Component:將屬性轉化為類屬性。若屬性字段為空,則以設備名作為屬性。遍歷屬性描述文件,若與描述存在匹配關系或相似度超過閾值,則將屬性納入候選集。候選集中存在多個可能屬性時,通過設備名、設備名對應的類名對結果二次過濾,以獲取最終屬性;

Value Component:為類成員屬性賦值。在賦值操作中,主要將對參數值的類型以及成員屬性類型進行一致性校驗,校驗成功后進行賦值;

Validate Component:驗證生成的Drools規則語法是否正確。

基于模板和規則的方法,結合以上架構,可自動將用戶輸入的受限自然語句轉化為Drools規則代碼。

3 實驗

3.1 數據集

人工編寫7500條物聯網環境下的標準Drools規則,每條規則由自然語句、Drools規則構成,數據集結構如下:

(1)2500條每個規則僅包含與邏輯的數據集;

(2)2500條每個規則僅包含或邏輯的數據集;

(3)2500條每個規則同時包含與或邏輯的數據集;

(4)7500條混合數據集,由以上3部分數據集構成。

3.2 評價指標

自然語句到Drools規則自動生成采用BLEU(Bilingual Evaluation Understudy)、ROUGE(Recall-Oriented Understudy for Gisting Evaluation)作為評價標準。BLEU、ROUGE指標分別計算1-gram至4-gram評分,以評估生成代碼的準確度、流暢度。

BLEU評分范圍為0~1,分數越接近1,翻譯質量越高,計算公式如下:

其中,lc為機器譯文長度,lr為最短參考翻譯句子長度。BLEU需計算譯文1-gram--N-gram精確率,通常N取4。Pn為N-gram精確率,Wn為N-gram權重,BP為懲罰因子。算法中,1-gram表示譯文符合原文的程度,N-gram表示翻譯結果流暢度。

ROUGE主要基于召回率,是常用的機器翻譯和文章摘要評價指標,由Chin-Yew Lin提出,計算公式如下:

公式中,分母為參考譯文中N-gram個數,分子為參考譯文與機器譯文共有N-gram個數。

3.3 實驗結果

針對3.1部分提出的數據集,自然語句生成聲明式Drools規則代碼實驗結果如表1所示。

表1 Drools規則代碼生成實驗結果Tab.1 Experimental results of Drools rule code generation

根據實驗結果,7500條自然語句BLEU-1翻譯得分為0.9925、ROUGE-1為0.9870,表明生成的Drools規則與標準規則匹配度很高。2-gram至4-gram表示翻譯流暢度,其中4-gram含義最強。對于7500條自然語句翻譯結果,BLEU-4為0.9642,ROUGE-4為0.8888,表明生成的Drools規則與標準規則在流暢度方面表現較好。生成的Drools規則與標準規則之間的差異歸結為以下兩點:

(1)屬性值、方法值不同。自然語言解析階段無法獲得屬性值或方法值,是造成差異的原因之一。如針對“when the light is turned on”條件,規則代碼生成時可推理出該條件對應的類為Light、屬性為State,但無法得知State值為0或1。方法值不同亦是如此。

(2)屬性順序不同。自然語言翻譯領域,如漢英互譯時,主謂賓等語法順序的正確性決定了翻譯結果的準確性。但是,Drools規則代碼的條件屬性順序卻有所不同。如“AirConditionor(state==1,isOn==true)”和“AirConditionor(isOn==true,state==1)”,二者條件屬性順序不同,但條件含義、語法、執行結果均一致。由此,BLEU、ROUGE在計算N-gram時,無法準確體現結構不同的代碼在功能上是否一致。

4 結語

Drools作為成熟的商業引擎,同IFTTT一樣可用于物聯網環境。通過制定Drools規則,可依據環境狀態自動控制物聯網設備。本文提出的基于模板和規則的方法和系統架構,可依據受限自然語句自動生成聲明式Drools規則代碼。實驗結果表明,基于模板和規則的方法在實際應用過程中具備可實施性、高精準性。但是,本文架構中的語義解析、模板解析模塊還不夠完善,有些自然語言形式化表達字段還無法解析,未來工作將提出更完善的形式化表達字段解析方法。

猜你喜歡
規則設備方法
諧響應分析在設備減振中的應用
撐竿跳規則的制定
數獨的規則和演變
基于MPU6050簡單控制設備
電子制作(2018年11期)2018-08-04 03:26:08
讓規則不規則
Coco薇(2017年11期)2018-01-03 20:59:57
TPP反腐敗規則對我國的啟示
500kV輸變電設備運行維護探討
工業設計(2016年12期)2016-04-16 02:52:00
用對方法才能瘦
Coco薇(2016年2期)2016-03-22 02:42:52
四大方法 教你不再“坐以待病”!
Coco薇(2015年1期)2015-08-13 02:47:34
捕魚
主站蜘蛛池模板: 亚洲视频四区| 色综合天天操| 亚洲日韩精品欧美中文字幕 | 不卡色老大久久综合网| 欧美在线伊人| 青青久久91| jijzzizz老师出水喷水喷出| 不卡无码网| 无码免费视频| 亚洲av无码人妻| 亚洲男人天堂2018| 亚洲av无码专区久久蜜芽| 久热re国产手机在线观看| 日韩欧美国产精品| 在线精品亚洲国产| 99久久精品免费看国产电影| 一区二区三区国产精品视频| 视频在线观看一区二区| 亚洲天堂网在线观看视频| 欧美午夜精品| 日本免费福利视频| 国产精品久久久精品三级| 国产色伊人| 狠狠色噜噜狠狠狠狠色综合久| 中文精品久久久久国产网址 | 免费一极毛片| 国产微拍精品| 欧美亚洲欧美| 国产一区二区三区精品欧美日韩| 国模极品一区二区三区| 国产成人免费观看在线视频| 在线精品亚洲一区二区古装| 无码专区国产精品第一页| 亚洲侵犯无码网址在线观看| 91久久偷偷做嫩草影院电| 91麻豆国产视频| 国产一区二区视频在线| 亚洲天堂高清| 青青热久麻豆精品视频在线观看| 人妻少妇乱子伦精品无码专区毛片| 亚洲欧州色色免费AV| 青青久久91| 免费中文字幕在在线不卡| 在线欧美a| 国产尹人香蕉综合在线电影| 国产情精品嫩草影院88av| 国产农村精品一级毛片视频| 91在线播放免费不卡无毒| 亚洲男人在线| 永久毛片在线播| 亚洲精品另类| 亚洲色图综合在线| 一级在线毛片| 亚洲视频无码| 国产成熟女人性满足视频| 97久久免费视频| 日本亚洲欧美在线| 国产无人区一区二区三区| 久久综合九色综合97婷婷| 国产91精品调教在线播放| 日韩精品一区二区三区swag| 中文成人在线| 在线日本国产成人免费的| 婷婷五月在线| 久久精品人人做人人爽97| 久热中文字幕在线| 欧美v在线| 亚洲AV无码久久精品色欲| 国产成人久久综合一区| 成色7777精品在线| 2021国产精品自产拍在线| 国产福利小视频高清在线观看| 国产精品成人一区二区| 国产一区免费在线观看| 欧美区日韩区| 亚洲AV电影不卡在线观看| 中文字幕在线免费看| 国产成人午夜福利免费无码r| 欧美人人干| 四虎国产成人免费观看| 国产成人久久777777| 日本一本正道综合久久dvd|