国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

一種基于形式化規(guī)則的航電需求規(guī)范化方法

2021-08-24 03:32:06沈翔宇王立松康介祥高忠杰仇智鵬
關(guān)鍵詞:陳述句笛卡爾謂語(yǔ)

沈翔宇,王立松,康介祥,高忠杰,王 輝,尹 偉,仇智鵬

1(南京航空航天大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,南京 211106) 2(中國(guó)航空無(wú)線電電子研究所 軟件部,上海 200233)

1 引 言

近年來(lái),隨著航空電子顯控系統(tǒng)功能的不斷增強(qiáng)和需求的日益增加,傳統(tǒng)的自然語(yǔ)言需求分析受到了很大的挑戰(zhàn).在軟件需求分析階段,自然語(yǔ)言需求中描述的任何事物的解釋和理解都可能受到地理、心理和個(gè)人等因素的影響.需求分析人員的工作是檢查并修復(fù)需求規(guī)范文檔中的歧義、不一致等問(wèn)題.但是,分析人員由于缺乏相關(guān)專(zhuān)業(yè)背景知識(shí),在閱讀自然語(yǔ)言需求[1]描述時(shí)可能會(huì)忽略自然語(yǔ)言需求自身的缺陷,如表述模糊、不可驗(yàn)證等問(wèn)題,這將會(huì)導(dǎo)致需求表征出多種解釋和出現(xiàn)難以恢復(fù)隱式需求等狀況,造成需求分析人員、開(kāi)發(fā)編程人員、具體用戶(hù)三者對(duì)需求理解不一致,導(dǎo)致項(xiàng)目成果和用戶(hù)需求相違背,增加工程成本.

相對(duì)于系統(tǒng)是使用非規(guī)范化需求對(duì)其記錄的情況,規(guī)范化需求則使用嚴(yán)格的方法對(duì)系統(tǒng)進(jìn)行原型設(shè)計(jì)[2].在需求開(kāi)發(fā)過(guò)程中,由于用戶(hù)和需求分析人員共同承擔(dān)需求分析的責(zé)任,所以強(qiáng)制使用規(guī)范化的語(yǔ)言來(lái)描述需求是不可能的.為了增強(qiáng)軟件開(kāi)發(fā)團(tuán)隊(duì)對(duì)待開(kāi)發(fā)軟件的了解,將自然語(yǔ)言需求[3]自動(dòng)轉(zhuǎn)換為規(guī)范化需求的規(guī)范化過(guò)程就顯得尤為重要.

本文的主要工作是設(shè)計(jì)并實(shí)現(xiàn)一個(gè)面向航空電子顯示系統(tǒng)領(lǐng)域的自然語(yǔ)言需求的規(guī)范化方法.該方法借助Stanford Parser詞法分析器[4,5]相應(yīng)的規(guī)則實(shí)現(xiàn)自然語(yǔ)言需求到規(guī)范化需求的轉(zhuǎn)換.因而能夠有效避免用自然語(yǔ)言描述需求出現(xiàn)的問(wèn)題,提高項(xiàng)目開(kāi)發(fā)成果的準(zhǔn)確性,降低工程成本.

2 相關(guān)工作

需求形式化是一項(xiàng)艱巨的任務(wù),要求需求分析人員需同時(shí)具備形式化方法方面的專(zhuān)業(yè)知識(shí)和相關(guān)需求的領(lǐng)域知識(shí).因此,形式化過(guò)程既耗時(shí)又容易出錯(cuò).針對(duì)將指定軟件的自然語(yǔ)言需求轉(zhuǎn)換為正式規(guī)范需求的研究難點(diǎn),很多相關(guān)人員對(duì)其進(jìn)行了研究,研究的方法主要包括:

1)基于自然語(yǔ)言處理技術(shù)的方法:文獻(xiàn)[6]回顧了將自然語(yǔ)言(NL)需求形式化為離散時(shí)間的時(shí)間邏輯的現(xiàn)有方法和潛在方法.證明自然語(yǔ)言語(yǔ)法結(jié)構(gòu)的限制以及處理其歧義性仍是目前面臨的重要問(wèn)題.該方法主要是使用需求語(yǔ)句的語(yǔ)法結(jié)構(gòu)從原始需求中獲得正式規(guī)范需求.

2)基于規(guī)則的方法:文獻(xiàn)[7]是對(duì)機(jī)器翻譯中語(yǔ)義網(wǎng)絡(luò)技術(shù)(SWT)使用的調(diào)查.這項(xiàng)調(diào)查工作表明,SWT技術(shù)處理需求中的歧義效果顯著.文獻(xiàn)[8]主要研究與需求形式化相關(guān)的自然語(yǔ)言(NL)處理方法,包括從自然語(yǔ)言需求以及形式化過(guò)程中生成本體和統(tǒng)一建模語(yǔ)言(UML)類(lèi)圖的方法.文獻(xiàn)[9]提出了一種通過(guò)識(shí)別文本中的完整三元組和部分三元組來(lái)指導(dǎo)本體填充需求識(shí)別過(guò)程的方法,同時(shí)使用訓(xùn)練語(yǔ)料庫(kù)中的循環(huán)句法語(yǔ)義形式形成提取規(guī)則,提取其中與屬性實(shí)例相對(duì)應(yīng)的三元組術(shù)語(yǔ),得到形式化結(jié)果需求.基于規(guī)則的方法主要使用人工智能理論從原始需求中衍生出正式規(guī)范需求,不需要語(yǔ)義分析.

上述方法雖然都能夠完成非規(guī)范需求轉(zhuǎn)換為規(guī)范化需求的形式化過(guò)程,但是都沒(méi)有考慮將規(guī)則和自然語(yǔ)言處理兩種方法結(jié)合共同處理原始自然語(yǔ)言需求.

3 規(guī)則中符號(hào)的基本定義

本節(jié)主要定義了出現(xiàn)在轉(zhuǎn)換規(guī)則中的符號(hào)的含義.利用符號(hào)表示自然語(yǔ)言需求語(yǔ)句[10]以及語(yǔ)句中的成分,為后續(xù)工作提供便利.

定義1.自然語(yǔ)言需求語(yǔ)句

自然語(yǔ)言需求語(yǔ)句是使用某種自然地跟隨文化演化的語(yǔ)言(如:漢語(yǔ)、英語(yǔ)等)描述利益相關(guān)者對(duì)工程的要求,一條自然語(yǔ)言需求語(yǔ)句用小寫(xiě)字母r表示.

定義2.自然語(yǔ)言需求

自然語(yǔ)言需求是由自然語(yǔ)言需求語(yǔ)句(r)組成的集合,不同的自然語(yǔ)言需求語(yǔ)句(r)使用不同的自然數(shù)下標(biāo)進(jìn)行區(qū)分.其中,自然語(yǔ)言需求用大寫(xiě)字母R表示.即自然語(yǔ)言需求集合R表示為:R={r1,r2,r3,……}.

定義3.自然語(yǔ)言需求語(yǔ)句的主語(yǔ)

自然語(yǔ)言需求語(yǔ)句(r)的主語(yǔ)是需求語(yǔ)句中表達(dá)和描述的人或物,是需求敘述的主體.本文中使用小寫(xiě)字母s表示需求語(yǔ)句中的主語(yǔ),不同的主語(yǔ)(s)使用不同的自然數(shù)下標(biāo)進(jìn)行區(qū)分.需求語(yǔ)句中所有的主語(yǔ)組成主語(yǔ)集合,用大寫(xiě)字母S表示.即主語(yǔ)集合S表示為:S={s1,s2,s3…}.

定義4.自然語(yǔ)言需求語(yǔ)句的謂語(yǔ)

自然語(yǔ)言需求語(yǔ)句(r)的謂語(yǔ)是說(shuō)明主語(yǔ)執(zhí)行的動(dòng)作或者面對(duì)的狀態(tài).謂語(yǔ)可以由動(dòng)詞擔(dān)任,一般位于主語(yǔ)的后面.對(duì)于自然語(yǔ)言需求中出現(xiàn)情態(tài)動(dòng)詞和動(dòng)詞組合的情況,本文中規(guī)定將情態(tài)動(dòng)詞和動(dòng)詞作為整體分析,如在需求語(yǔ)句:“I can open the door.”中,規(guī)定該需求語(yǔ)句中只有一個(gè)謂語(yǔ)動(dòng)詞“can open”.需求中的謂語(yǔ)使用小寫(xiě)字母v表示.不同的謂語(yǔ)(v)使用不同的自然數(shù)下標(biāo)進(jìn)行區(qū)分,需求中所有的謂語(yǔ)組成謂語(yǔ)集合,用大寫(xiě)字母V表示.即謂語(yǔ)集合V表示為:V={v1,v2,v3,…}.

定義5.自然語(yǔ)言需求語(yǔ)句的賓語(yǔ)

自然語(yǔ)言需求語(yǔ)句(r)的賓語(yǔ)是動(dòng)作的對(duì)象或者承受者,經(jīng)常位于及物動(dòng)詞或者介詞的后面.賓語(yǔ)可以由名詞、代詞、數(shù)詞、賓語(yǔ)從句等來(lái)?yè)?dān)任.本文使用小寫(xiě)字母o表示需求語(yǔ)句中所有的賓語(yǔ).不同的賓語(yǔ)(o)使用不同的自然數(shù)下標(biāo)進(jìn)行區(qū)分.采用大寫(xiě)字母O表示需求語(yǔ)句中所有的賓語(yǔ)組成賓語(yǔ)集合,即:O={o1,o2,o3,…}.

定義6.規(guī)范化的自然語(yǔ)言需求語(yǔ)句和規(guī)范化的自然語(yǔ)言需求

規(guī)范化需求語(yǔ)句是一條具有完整的單主語(yǔ)、單謂語(yǔ)和單賓語(yǔ)的需求語(yǔ)句.本文使用小寫(xiě)符號(hào)fr表示規(guī)范化需求語(yǔ)句,對(duì)于不同的規(guī)范化需求語(yǔ)句(fr)使用不同的自然數(shù)下標(biāo)進(jìn)行區(qū)分.所有的規(guī)范化自然語(yǔ)言需求語(yǔ)句組成的集合稱(chēng)為一個(gè)系統(tǒng)的規(guī)范化需求,用大寫(xiě)符號(hào)FR表示.本文將規(guī)范化需求定義如下:

FR={fr1,fr2,fr3,…}?S×V×O

其中,S×V×O表示主語(yǔ)集合S、謂語(yǔ)集合V和賓語(yǔ)集合O的笛卡爾積.其中FR定義為主語(yǔ)集合S、謂語(yǔ)集合V和賓語(yǔ)集合O的子集的形式,本文的第4節(jié),將會(huì)在不同的需求語(yǔ)句模式下對(duì)FR詳細(xì)分析.另外,對(duì)于主語(yǔ)、賓語(yǔ)是由主語(yǔ)從句、賓語(yǔ)從句擔(dān)任的情況,只需要主語(yǔ)和賓語(yǔ)從句符合規(guī)范化需求的條件,即判定主語(yǔ)和賓語(yǔ)部分符合規(guī)范化需求,并且將一條主語(yǔ)或賓語(yǔ)從句視為需求語(yǔ)句的一個(gè)主語(yǔ)或賓語(yǔ).當(dāng)需求語(yǔ)句中出現(xiàn)多條主語(yǔ)或賓語(yǔ)從句時(shí),需求語(yǔ)句具有多主語(yǔ)或多賓語(yǔ).

4 自然語(yǔ)言需求到規(guī)范化需求的轉(zhuǎn)換

本節(jié)主要定義了自然語(yǔ)言需求語(yǔ)句的模式情形并根據(jù)需求語(yǔ)句的模式定義相應(yīng)的轉(zhuǎn)換規(guī)則.

4.1 自然語(yǔ)言需求語(yǔ)句模式情形定義

傳統(tǒng)的自然語(yǔ)言需求語(yǔ)句由陳述句組成.但為了滿足需求表述的完整性,利益相關(guān)者會(huì)在需求語(yǔ)句中添加獨(dú)立成句的約束條件,通常由“在以下情況下”(In the following cases)、“當(dāng)…時(shí)”(when)等連接句連接.針對(duì)上述情形,本文將自然語(yǔ)言需求分為陳述句和含有條件語(yǔ)句的兩種模式,同時(shí)將兩種模式劃分成六種情形,每種情形使用特定的符號(hào)表示.表1列舉了所有自然語(yǔ)言需求語(yǔ)句出現(xiàn)的情形以及符號(hào)定義等屬性.

表1 自然語(yǔ)言需求語(yǔ)句情形定義及符號(hào)表示

4.2 自然語(yǔ)言需求是陳述語(yǔ)句形式的轉(zhuǎn)換規(guī)則

4.2.1 陳述句為(s1,v1,o1o2…on)的情形

當(dāng)陳述句由單主語(yǔ)、單謂語(yǔ)、多賓語(yǔ)組成時(shí),將主語(yǔ)、謂語(yǔ)、賓語(yǔ)放入相應(yīng)的主語(yǔ)集合S、謂語(yǔ)集合V和賓語(yǔ)集合O中,例如集合:S={s1},V={v1},O={o1,o2,o3},對(duì)集合S、集合V和集合O使用笛卡爾積運(yùn)算,獲取此類(lèi)情形的規(guī)范化需求語(yǔ)句集合FR,即:

FR=S×V×O={(s1,v1,o1),(s1,v1,o2),(s1,v1,o3)}

4.2.2 陳述句為(s1s2…sn,v1,o1)的情形

當(dāng)陳述句由多主語(yǔ)、單謂語(yǔ)、單賓語(yǔ)組成時(shí),將主語(yǔ)放入主語(yǔ)集合S,謂語(yǔ)和賓語(yǔ)放入謂語(yǔ)集合V和賓語(yǔ)集合O中,例如集合:S={s1,s2,s3},V={v1},O={o1},對(duì)集合S、集合V和集合O使用笛卡爾積運(yùn)算,獲取此類(lèi)情形的規(guī)范化需求語(yǔ)句集合FR,即:

FR=S×V×O={(s1,v1,o1),(s2,v1,o1),(s3,v1,o1)}

4.2.3 陳述句為(s1s2…sn,v1,o1o2…on)的情形

當(dāng)陳述句由多主語(yǔ)、單謂語(yǔ)、多賓語(yǔ)組成時(shí),將主語(yǔ)放入主語(yǔ)集合S,謂語(yǔ)和賓語(yǔ)放入謂語(yǔ)集合V和賓語(yǔ)集合O中,例如集合:S={s1,s2},V={v1},O={o1,o2},對(duì)集合S、集合V和集合O使用笛卡爾積運(yùn)算,獲取此類(lèi)情形的規(guī)范化需求語(yǔ)句集合FR,即:

FR=S×V×O={(s1,v1,o1),(s1,v1,o2),(s2,v1,o1),(s2,v1,o2)}

4.3 自然語(yǔ)言需求是含有條件語(yǔ)句形式的轉(zhuǎn)換規(guī)則

此情形的需求語(yǔ)句規(guī)范化過(guò)程是將初始的需求語(yǔ)句按照條件句和條件滿足后執(zhí)行的動(dòng)作分成兩個(gè)單獨(dú)的部分,并將兩部分分割成多條獨(dú)立的語(yǔ)句,且每條語(yǔ)句都應(yīng)是陳述句,再按照對(duì)應(yīng)的模式規(guī)則進(jìn)行規(guī)范化處理.

4.3.1 需求語(yǔ)句為(r1r2…rn,fr1fr2…frn)的情形

此情形中,需求語(yǔ)句由非規(guī)范化語(yǔ)句和規(guī)范化語(yǔ)句組成.非規(guī)范化語(yǔ)句按照陳述句中的某種模式相應(yīng)的轉(zhuǎn)換規(guī)則完成規(guī)范化.例如:自然語(yǔ)言需求是(r1,fr1)的情形.將非規(guī)范化的自然語(yǔ)言需求語(yǔ)句(r1)按照陳述句中的某種規(guī)則規(guī)范化得到規(guī)范化需求語(yǔ)句fr1.原始需求中另一條需求語(yǔ)句(fr1)即規(guī)范化需求語(yǔ)句fr2.對(duì)fr1、fr2使用笛卡爾積運(yùn)算,獲取此類(lèi)情形的規(guī)范化需求的集合FR,即:

FR={fr1,fr2}

4.3.2 需求語(yǔ)句為(r1r2…rn)的情形

此情形中,需求語(yǔ)句由多條非規(guī)范化語(yǔ)句組成.在規(guī)范化過(guò)程中,本文將非規(guī)范化需求語(yǔ)句分開(kāi),分別按照陳述句中某種模式的轉(zhuǎn)換規(guī)則進(jìn)行規(guī)范化.例如:自然語(yǔ)言需求是(r1r2)的情形.將需求語(yǔ)句分開(kāi)得到非規(guī)范化需求語(yǔ)句r1和r2,分別按照陳述句中的某種規(guī)則規(guī)范化得到規(guī)范化需求語(yǔ)句fr1、fr2,對(duì)其使用笛卡爾積運(yùn)算,獲取此類(lèi)情形的規(guī)范化需求的集合FR,即:

FR={fr1,fr2}

4.3.3 需求語(yǔ)句為(fr1fr2…frn)的情形

此情形中,需求語(yǔ)句由多條規(guī)范化語(yǔ)句組成.本文將這類(lèi)需求語(yǔ)句拆分開(kāi),形成規(guī)范化短句即可完成規(guī)范化轉(zhuǎn)換過(guò)程.例如:需求語(yǔ)句是由兩條規(guī)范化需求語(yǔ)句fr1、fr2組成的情形(fr1fr2).將需求語(yǔ)句拆開(kāi)得到規(guī)范化需求語(yǔ)句fr1和fr2,對(duì)其使用笛卡爾積運(yùn)算,獲取此類(lèi)情形的規(guī)范化需求的集合FR,即:

FR={fr1,fr2}

為證明上述情形的規(guī)則的準(zhǔn)確性,設(shè)置規(guī)則準(zhǔn)確性定理如下:

定理1.設(shè)需求語(yǔ)句在經(jīng)過(guò)詞法分析之后得到主語(yǔ)集合S、謂語(yǔ)集合V和賓語(yǔ)集合O,并且經(jīng)過(guò)規(guī)則轉(zhuǎn)換之后滿足S×V×O?FR,則認(rèn)為此條規(guī)則的規(guī)范化轉(zhuǎn)換正確.

證:1)設(shè)需求語(yǔ)句是(s1s2…sn,v1,o1o2…on)情形的條件下,S×V×O?{s1,s2,…,sn}×{v1}×{o1,o2,…,on}?{(s1,v1,o1),(s2,v1,o1),…,(sn,v1,on)}?{fr11,fr12,…,frnn}=FR.故在此情形中該規(guī)則的準(zhǔn)確性滿足條件.由于(s1,v1,o1o2…on)情形和(s1s2…sn,v1,o1)情形包含于(s1…sn,v1,o1o2…on)情形,所以上述陳述句規(guī)則的準(zhǔn)確性均滿足條件.

2)設(shè)需求語(yǔ)句是(r1r2…rn)情形的條件下,根據(jù)陳述句中的規(guī)則定義可得到前提:r1?fr1,r2?fr2,…,rn?frn,∴{fr1}×{fr2}×…×{frn}?{fr1,fr2,…,frn}=FR.故在此情形中該規(guī)則的準(zhǔn)確性滿足條件.由于(r1r2…rn,fr1fr2…frn)情形和(fr1fr2…frn)情形包含于(r1r2…rn)情形,所以上述含有條件句的轉(zhuǎn)換規(guī)則的準(zhǔn)確性均滿足條件.

綜上所述,無(wú)論需求語(yǔ)句處于何種情形,上述情形的規(guī)則的準(zhǔn)確性均滿足條件,證畢.

5 基于自然語(yǔ)言處理(NLP)的自然語(yǔ)言需求語(yǔ)句的語(yǔ)法分解和模式判定

本節(jié)結(jié)合具體航空電子顯控系統(tǒng)的需求語(yǔ)句,根據(jù)Stanford Parser解析器輸出的語(yǔ)法樹(shù)提取語(yǔ)句中的主語(yǔ)、謂語(yǔ)、賓語(yǔ)等信息進(jìn)行模式判定.

5.1 Stanford Parser簡(jiǎn)介

Stanford Parser是一款基于Java實(shí)現(xiàn)的開(kāi)源句法解析的工具[11],主要是基于優(yōu)化的概率模型和詞匯依存的語(yǔ)法分析方法.概率模型用于從輸入語(yǔ)句的眾多分析結(jié)果中選擇概率最大的分析結(jié)果.詞匯依存的語(yǔ)法分析方法提供語(yǔ)句內(nèi)各成分之間的結(jié)構(gòu)依賴(lài)分析結(jié)果,即在短語(yǔ)結(jié)構(gòu)樹(shù)的基礎(chǔ)之上加入了中心詞分析.通過(guò)這兩個(gè)功能部件,Stanford Parser可以獲取語(yǔ)句中各成分的句法功能和結(jié)構(gòu),能有效提取需求語(yǔ)句的組成成分,為需求分析人員減輕壓力.

5.2 自然語(yǔ)言需求語(yǔ)法分解和需求語(yǔ)句模式判定

本章節(jié)利用Stanford Parser解析器,以陳述句中(s1s2…sn,v1,o1)的情形和含有條件句模式中(r1r2…rn,fr1fr2…frn)的情形需求語(yǔ)句為例(注:其他陳述句情形和其他含有條件句模式的情形與本文列舉的兩例的處理方式類(lèi)似).將它們作為輸入,根據(jù)輸出的語(yǔ)法樹(shù)判斷需求語(yǔ)句的模式,再利用相應(yīng)的模式規(guī)則進(jìn)行算法設(shè)計(jì).

5.2.1 需求語(yǔ)句是(s1s2…sn,v1,o1)的情形

在此情形中,結(jié)合航空電子顯控系統(tǒng)的自然語(yǔ)言需求舉例如下所示:When reverser deployed in flight or When reverser didn′t commanded should activate the FDAs alert ′reverse deployment′.經(jīng)過(guò)Stanford Parser分析后得到該條需求語(yǔ)句的語(yǔ)法樹(shù),語(yǔ)法樹(shù)輸出如圖1所示.

圖1 (s1s2…sn,v1,o1)情形的語(yǔ)法樹(shù)

根據(jù)語(yǔ)法樹(shù)判斷該條需求語(yǔ)句總共有3條分支.第1條分支是帶有when從句(SBAR)的分支,從葉子節(jié)點(diǎn)獲取需求語(yǔ)句的主語(yǔ)是由or連接的兩個(gè)when引導(dǎo)的從句充當(dāng).第2條分支是包含兩條子樹(shù)的動(dòng)詞短語(yǔ)(VP),一條顯示情態(tài)動(dòng)詞和動(dòng)詞構(gòu)成的謂語(yǔ).另一條顯示由名詞短語(yǔ)(NP)和動(dòng)詞短語(yǔ)(VP)分支構(gòu)成的賓語(yǔ).第3條分支代表該條需求結(jié)束.綜合以上分析,判斷出該需求語(yǔ)句是屬于(s1s2,v1,o1)情形.

5.2.2 需求語(yǔ)句是(r1r2…rn,fr1fr2…frn)的情形

在此情形中,結(jié)合航空電子顯控系統(tǒng)的自然語(yǔ)言需求舉例如下所示:When the display and control system fails in the module or equipment,the system configuration can realize that the functions of the display and control system will not be degraded in a certain degree.經(jīng)過(guò)Stanford Parser分析得到這條需求的語(yǔ)法樹(shù),語(yǔ)法樹(shù)輸出如圖2所示.

圖2 (r1r2…rn,fr1fr2…frn)情形的語(yǔ)法樹(shù)

根據(jù)語(yǔ)法樹(shù)判斷該條需求總共有5條分支.從葉子節(jié)點(diǎn)獲取第1條分支是由when從句(SBAR)構(gòu)成的主語(yǔ)、動(dòng)詞短語(yǔ)(VP)構(gòu)成謂語(yǔ)和由介詞or連接多個(gè)名詞短語(yǔ)(NP)構(gòu)成的賓語(yǔ).因此第1個(gè)分支是(s1,v1,o1o2…on)情形的不規(guī)范的需求.第3條分支的葉子節(jié)點(diǎn)表示由名詞短語(yǔ)(NP)構(gòu)成的主語(yǔ),第4條分支是由情態(tài)動(dòng)詞(MD)和動(dòng)詞短語(yǔ)(VB)構(gòu)成的謂語(yǔ).最后一條分支是由that引導(dǎo)的規(guī)范化從句(SBAR)充當(dāng)賓語(yǔ).這3條分支組成一條規(guī)范化需求.綜上,此需求語(yǔ)句是(r1,fr1)情形.

6 基于規(guī)則的需求規(guī)范化處理

自然語(yǔ)言需求語(yǔ)句經(jīng)過(guò)上述的步驟分析,能夠清晰地獲取需求語(yǔ)句的模式.本節(jié)將根據(jù)需求對(duì)應(yīng)的模式規(guī)則進(jìn)行算法設(shè)計(jì),最終實(shí)現(xiàn)自然語(yǔ)言需求到規(guī)范化需求語(yǔ)句的自動(dòng)轉(zhuǎn)換.

6.1 需求語(yǔ)句是(s1s2…sn,v1,o1)的情形

結(jié)合5.2.1節(jié)的自然語(yǔ)言需求內(nèi)容,進(jìn)行算法設(shè)計(jì)如下所述:將需求輸入Stanford Parser詞法解析器得到語(yǔ)法樹(shù)并進(jìn)行遍歷.由于該模式是多主語(yǔ)、單謂語(yǔ)、單賓語(yǔ)的情形,遍歷時(shí)提取需求語(yǔ)句中的主語(yǔ)、謂語(yǔ)和賓語(yǔ),放入相應(yīng)的語(yǔ)集合中.利用對(duì)應(yīng)的規(guī)則,將謂語(yǔ)集合和賓語(yǔ)集合中的元素使用笛卡爾積運(yùn)算,獲取規(guī)范化需求的謂語(yǔ)和賓語(yǔ),再和主語(yǔ)集合使用笛卡爾積運(yùn)算并輸出,即可得到整條需求語(yǔ)句的規(guī)范化需求.自然語(yǔ)言需求語(yǔ)句轉(zhuǎn)化為規(guī)范化需求語(yǔ)句的算法,如算法1所示.

算法1.(s1s2…sn,v1,o1)情形的算法

輸入:需求語(yǔ)句的解析樹(shù)

輸出:FR規(guī)范化后的需求

1.S←R//遍歷語(yǔ)法樹(shù)的主語(yǔ)分支存入集合S

2.V←R//遍歷語(yǔ)法樹(shù)的謂語(yǔ)分支存入集合V

3.O←R//遍歷語(yǔ)法樹(shù)的賓語(yǔ)部分存入集合O

4.//將集合V和O的元素使用笛卡爾積組成規(guī)范化需求的謂語(yǔ)和賓語(yǔ)

5.(v,o)←V×O

6.//將主語(yǔ)取出與謂語(yǔ)和賓語(yǔ)結(jié)合

7.foralls∈Sdo

8. add(s,v,o)toFR

9.endfor

10.returnFR

遍歷語(yǔ)法分析樹(shù),將需求語(yǔ)句中的主語(yǔ)、謂語(yǔ)和賓語(yǔ)提取到相應(yīng)的集合中,并使用笛卡爾積輸出該條需求語(yǔ)句的規(guī)范化需求.表2表示這種情形的自然語(yǔ)言需求語(yǔ)句結(jié)構(gòu)分析以及規(guī)范化過(guò)程,圖3則表示最后規(guī)范化需求的結(jié)果.

表2 (s1s2…sn,v1,o1)情形的規(guī)范化過(guò)程

圖3 (s1s2…sn,v1,o1)情形的規(guī)范化結(jié)果

同時(shí)對(duì)本例的自動(dòng)轉(zhuǎn)換進(jìn)行準(zhǔn)確性證明如下:根據(jù)第4節(jié)的定理1和語(yǔ)法樹(shù)的判斷,可得主語(yǔ)S={s1,s2},謂語(yǔ)V={v1},賓語(yǔ)O={o1}.

flight”,s2=“reverserdidn′t commanded”,v1=“should activate”,o1=“the FDAs alert ′reverse deployment′”代入上式即可,證畢.

6.2 需求語(yǔ)句是(r1…rn,fr1…frn)的情形

結(jié)合5.2.2節(jié)的自然語(yǔ)言需求內(nèi)容,進(jìn)行算法設(shè)計(jì)如下所示:將需求輸入Stanford Parser詞法解析器得到語(yǔ)法樹(shù)進(jìn)行遍歷.由于該模式是由規(guī)范化語(yǔ)句和自然需求語(yǔ)句組成,遍歷語(yǔ)法樹(shù)時(shí)提取需求語(yǔ)句中的規(guī)范化需求語(yǔ)句,放入規(guī)范化需求語(yǔ)句的集合.同時(shí)提取出非規(guī)范化需求語(yǔ)句中的主語(yǔ)、謂語(yǔ)和賓語(yǔ),放入相應(yīng)的集合.利用規(guī)則,將非規(guī)范化需求語(yǔ)句使用笛卡爾積運(yùn)算,得到規(guī)范化需求.最后將得到的規(guī)范化需求和提煉出的規(guī)范化需求使用笛卡爾積運(yùn)算并輸出,即可得到該條需求語(yǔ)句的規(guī)范化需求.自然語(yǔ)言需求語(yǔ)句轉(zhuǎn)化為規(guī)范化需求語(yǔ)句的算法,如算法2所示.

算法2.(r1…rn,fr1…frn)情形的算法

輸入:需求語(yǔ)句的解析樹(shù)

輸出:FR規(guī)范化后的需求

1.S←R//將非規(guī)范化需求語(yǔ)句的主語(yǔ)存入集合S

2.V←R//將非規(guī)范化需求語(yǔ)句的謂語(yǔ)存入集合V

3.O←R//將非規(guī)范化需求語(yǔ)句的賓語(yǔ)存入集合O

4.fr←R//將規(guī)范化需求語(yǔ)句部分賦值給fr

5.//取出主語(yǔ)謂語(yǔ)和賓語(yǔ)與fr結(jié)合

6.foralls∈S,v∈V,o∈Odo

7. add(s,v,o,fr)toFR

8.endfor

9.returnFR

遍歷語(yǔ)法分析樹(shù),將需求語(yǔ)句中非規(guī)范化需求部分的主語(yǔ)、謂語(yǔ)和賓語(yǔ)提取到相應(yīng)的集合中,同時(shí)將規(guī)范化需求賦值給規(guī)范化需求中的元素.將主語(yǔ)、謂語(yǔ)和賓語(yǔ)集合和規(guī)范化需求運(yùn)用笛卡爾積運(yùn)算,輸出該條需求語(yǔ)句的規(guī)范化需求.表3和圖4分別表示這種情形的自然語(yǔ)言需求語(yǔ)句結(jié)構(gòu)分析以及規(guī)范化過(guò)程和最后規(guī)范化需求的結(jié)果.

圖4 (r1…rn,fr1…frn)情形的規(guī)范化結(jié)果

表3 (r1…rn,fr1…frn)情形的規(guī)范化過(guò)程

同時(shí)對(duì)本例的自動(dòng)轉(zhuǎn)換進(jìn)行準(zhǔn)確性證明如下:根據(jù)第4節(jié)的定理1和語(yǔ)法樹(shù)的判斷.可知非規(guī)范化需求語(yǔ)句r1是(s1,v1,o1o2)情形,且主語(yǔ)S={s1},謂語(yǔ)V={v1},賓語(yǔ)O={o1,o2}.

在相關(guān)的研究中,將原始的自然語(yǔ)言需求經(jīng)過(guò)Stanford Parser詞法分析器輸出語(yǔ)法樹(shù)之后,采用UML類(lèi)圖輔助需求分析,解決自然語(yǔ)言需求中出現(xiàn)的二義性等問(wèn)題[12,13].本文以(r1…rn,fr1…frn)情形為例,畫(huà)出此情形的UML類(lèi)圖和狀態(tài)機(jī)圖如圖5所示.

圖5 (r1..rn,fr1..frn)的UML類(lèi)圖和狀態(tài)機(jī)圖

在圖5中使用狀態(tài)機(jī)圖表示when從句(條件句),UML類(lèi)圖表示主句.通過(guò)程序生成的UML類(lèi)圖可知UML類(lèi)圖生成方法繁瑣,耗時(shí)長(zhǎng)效率低,分析自然語(yǔ)言需求中的對(duì)象及其關(guān)系的準(zhǔn)確率、需求表達(dá)語(yǔ)義的清晰度不高,甚至相關(guān)工作中有些都沒(méi)有考慮帶從句的自然語(yǔ)言需求的解決方法等問(wèn)題,且程序只能生成UML類(lèi)圖,對(duì)于UML類(lèi)圖無(wú)法表示的自然語(yǔ)言需求不予考慮,給需求分析工作帶來(lái)了極大的不便.本文采用基于笛卡爾積的規(guī)則,能夠快速的對(duì)自然語(yǔ)言需求進(jìn)行自動(dòng)轉(zhuǎn)換,輸出準(zhǔn)確率高的、符合原始需求表達(dá)的語(yǔ)義的規(guī)范化需求.表4具體地列出相關(guān)研究中使用UML類(lèi)圖和使用規(guī)則分析、規(guī)范化需求的相同點(diǎn)和不同點(diǎn).

表4 使用規(guī)則和UML類(lèi)圖規(guī)范需求的對(duì)比

7 總 結(jié)

本文結(jié)合規(guī)則的方法和自然語(yǔ)言處理技術(shù)的方法提出了基于形式化轉(zhuǎn)換規(guī)則的需求規(guī)范化方法.主要利用自然語(yǔ)言處理[14]技術(shù)對(duì)航空電子顯控系統(tǒng)的自然語(yǔ)言需求進(jìn)行分析,再結(jié)合形式化轉(zhuǎn)換規(guī)則規(guī)范化處理分析結(jié)果.在轉(zhuǎn)換規(guī)則中,利用集合論和笛卡爾積的思想,將自然語(yǔ)言需求語(yǔ)句中的組成成分——主語(yǔ)、謂語(yǔ)和賓語(yǔ)用集合表述,使用笛卡爾積運(yùn)算組成輸出規(guī)范化需求,避免了自然語(yǔ)言語(yǔ)句[15]中出現(xiàn)的表述模糊等問(wèn)題.本文的實(shí)驗(yàn)部分借助Stanford Parser解析器輸出的語(yǔ)法樹(shù),根據(jù)不同的需求模式制定相應(yīng)的算法,實(shí)現(xiàn)從自然語(yǔ)言需求到規(guī)范化需求的自動(dòng)轉(zhuǎn)換,為后續(xù)自動(dòng)提取SCR方法中的變量提供了便利.

在基于規(guī)則的規(guī)范化需求中,這些規(guī)則具有很強(qiáng)的形式描述和生成能力,能夠有效地處理自然語(yǔ)言描述需求時(shí)出現(xiàn)的各種問(wèn)題.基于規(guī)則的轉(zhuǎn)換方法[16]具有普適性,不會(huì)因?yàn)檎Z(yǔ)種的不同而失去效應(yīng),同時(shí)這些方法也適用于其他語(yǔ)言表述的自然語(yǔ)言需求.尤其是在需要豐富的語(yǔ)言學(xué)知識(shí)支持的航空領(lǐng)域當(dāng)中,基于規(guī)則的需求轉(zhuǎn)換方法是必不可少的.

猜你喜歡
陳述句笛卡爾謂語(yǔ)
詞句練習(xí)
非謂語(yǔ)動(dòng)詞
滿文簡(jiǎn)單句式之陳述句
笛卡爾的解釋
笛卡爾浮沉子
非謂語(yǔ)動(dòng)詞
西夏語(yǔ)陳述句到一般疑問(wèn)句的轉(zhuǎn)換方式
西夏學(xué)(2020年2期)2020-01-24 07:43:34
非謂語(yǔ)動(dòng)詞題不難答 石娟
笛卡爾乘積圖的圈點(diǎn)連通度
從廣義笛卡爾積解關(guān)系代數(shù)除法
皮山县| 河南省| 海兴县| 陈巴尔虎旗| 许昌市| 广灵县| 咸阳市| 诸城市| 海兴县| 临西县| 乡城县| 呼图壁县| 桃源县| 四平市| 闽清县| 枣庄市| 龙陵县| 桑日县| 康马县| 福泉市| 梁平县| 钟祥市| 内黄县| 泊头市| 恩平市| 武平县| 绥德县| 霞浦县| 龙里县| 安新县| 微山县| 开远市| 扎赉特旗| 沅江市| 长治市| 福安市| 潼关县| 怀柔区| 阿勒泰市| 梁河县| 阳江市|