亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

結(jié)構(gòu)化自然語言查詢和知識(shí)系統(tǒng)的制作方法

文檔序號(hào):6400618閱讀:182來源:國知局
專利名稱:結(jié)構(gòu)化自然語言查詢和知識(shí)系統(tǒng)的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及面向?qū)ο蠛蛯ο笙嚓P(guān)的數(shù)據(jù)庫領(lǐng)域,特別涉及結(jié)構(gòu)化自然語言數(shù)據(jù)庫查詢和知識(shí)系統(tǒng)。
背景技術(shù)
相關(guān)數(shù)據(jù)庫已廣泛應(yīng)用了許多年。相關(guān)數(shù)據(jù)庫把數(shù)據(jù)編排在包含字段的表中,包含相同字段的兩張表互相相關(guān),與“平面文件”法(它把所有數(shù)據(jù)存在單個(gè)文件中)相比,表的相關(guān)法更具可塑性。
大多數(shù)相關(guān)數(shù)據(jù)庫系統(tǒng)遵循結(jié)構(gòu)化查詢語言(SQL)標(biāo)準(zhǔn)。商業(yè)售主生產(chǎn)SQL為基礎(chǔ)的數(shù)據(jù)庫系統(tǒng),例如,Oracle,Sybase,Informix,Progress和Microsoft Access。這些系統(tǒng)使用SQL形式查詢語言。下面是形式查詢的例子,用于顯示工資超過10萬美元的雇員的名字和薪金For each employee where employee.salary>100000Display employee.name employee.salary.
EndOrSelect name,salaryFrom employeeWhere employee.salary>100000在上述查詢中,“employee”是表的名稱,“name”和“Salary”是“employee”表的字段,“Where employee.Salary>100000”是條件,也是限定,“Display employee.name employee.salary”和“Select name,salary”是指令。限定是條件或由邏輯連接符連接的一組條件,如“與”,“或”,“與非”或“或非”。
面向?qū)ο蟮臄?shù)據(jù)庫把數(shù)據(jù)編排成對象,對象可以有屬性,它也是對象。對象的遞歸特性使操作容易。對象能從別的對象繼承特征,使更容易根據(jù)已有的對象創(chuàng)建新的對象。對象能與一組流程(方法)相聯(lián)系,來操作其數(shù)據(jù)。
已經(jīng)作了把相關(guān)數(shù)據(jù)庫與面向?qū)ο蟮臄?shù)據(jù)庫聯(lián)合起來以產(chǎn)生對象相關(guān)數(shù)據(jù)庫的努力,例如,美國國家標(biāo)準(zhǔn)研究所(ANSI)SQL-99擴(kuò)展了一般的SQL查詢語言,使表和字段可作為對象來操作。典型的ANSI SQL-99查詢表示為Select argumentsFrom type var,…type varWhere condition and condition…and condition條件是帶有用于變量的方法的變元的方法“Select”指令的變元可以是變量、變量的屬性或帶有其用于變量的變元的方法。用附加的方法,SQL-99的范圍比常規(guī)SQL的范圍更寬。
然而,ANSI SQL-99仍然有許多限制,如在下面的詳細(xì)說明,ANSISQL-99只允許“rang”(范圍)型變量,不允許“set”(集合),“bag”(元包)或時(shí)間變量。變量的范圍由其類型(通常是相關(guān)表或?qū)ο箢?確定,且不能是任意的對象集。此外,SQL-99下的條件不允許由方法產(chǎn)生的值,不論是作為其返回值或作為其參數(shù)用于其它條件中。還有,不返回邏輯“真”或“假”值的方法不允許成為條件。因此,需要引入更通用和更強(qiáng)有力的對象相關(guān)查詢語言。
常規(guī)的相關(guān)代數(shù)也有重要的限制,在相關(guān)代數(shù)下,表達(dá)式簡單地是一種相關(guān),如平面文件或記錄集,它的字段是簡單值,如整數(shù),浮點(diǎn)數(shù)和文本串。此外,“select”(選擇)操作的條件限于1.兩個(gè)簡單值之間比較,例如等于,大于,小于,大于或等于,小于或等于,不等于;2.原語值與電子查詢產(chǎn)生的原語值集之間的比較,例如“是成員,”“大于所有成員,”“大于任何成員,”等等。
3.電子查詢產(chǎn)生的兩組原語值之間比較,例如,“是超集”或“是子集”;和4.對原語值集的測試,例如“是空集”。
此外,方法典型地不允許是相關(guān)代數(shù)下的表達(dá)式。因此,需要引入更通用和更強(qiáng)有力的對象相關(guān)代數(shù)。
常規(guī)的數(shù)據(jù)庫使用數(shù)據(jù)完整性約束和事件觸發(fā)器,來強(qiáng)化對數(shù)據(jù)庫的規(guī)則。但是,這些規(guī)則的范圍受一般數(shù)據(jù)庫所用查詢語言的范圍所限制。因而需要知識(shí)系統(tǒng)來提供更有力和更可塑的規(guī)定規(guī)則的方法。
最后,在常規(guī)相關(guān)或?qū)ο笙嚓P(guān)數(shù)據(jù)庫中,缺少偏程技術(shù)的用戶決不可能編排復(fù)雜的數(shù)據(jù)庫查詢,必須依賴程序員寫的程序來搜索和顯示數(shù)據(jù)。因此用戶的選項(xiàng)常常非常有限。因而希望能允許這種用戶寫自然語言型指令來實(shí)時(shí)操作相關(guān)、面向?qū)ο蠡驅(qū)ο笙嚓P(guān)數(shù)據(jù)庫。

發(fā)明內(nèi)容
為了概括本發(fā)明的目的,在這里描述了本發(fā)明的某些方面、優(yōu)點(diǎn)和新穎特征。應(yīng)了解,無需所有這些方面、優(yōu)點(diǎn)和特包含在任一特殊的實(shí)施例中。
本發(fā)明提供了一種結(jié)構(gòu)化自然語言查詢和知識(shí)系統(tǒng),允許缺乏編程技術(shù)的用戶,以結(jié)構(gòu)化自然語言句子的形式來指定數(shù)據(jù)庫查詢。用戶也能以結(jié)構(gòu)化自然語言句子的形式指定規(guī)則。也引入了經(jīng)改進(jìn)的對象相關(guān)查詢語言和對象相關(guān)代數(shù)。在優(yōu)選實(shí)施例中,結(jié)構(gòu)化自然語言是由對象相關(guān)查詢語言和對象相關(guān)代數(shù)來定義的。
本發(fā)明的一個(gè)方面涉及計(jì)算機(jī)實(shí)現(xiàn)的編排結(jié)構(gòu)化自然語言數(shù)據(jù)庫查詢的方法。用戶被提示從一組定義的指令中選擇指令,并指定一個(gè)或多個(gè)用于該指令的變元。被選的指令和變元聯(lián)合起來形成動(dòng)詞短語。用戶也被提示從一組定義的條件中選擇零個(gè)、一個(gè)或更多條件,并對每一選定的條件指定零個(gè)、一個(gè)或更多變元。每一選定的條件和其指定的參數(shù)組合成形容詞短語。動(dòng)詞短語和選定的形容詞短語組合到結(jié)構(gòu)化自然語言數(shù)據(jù)庫查詢中。
結(jié)構(gòu)化自然語言查詢自動(dòng)翻譯到由形式查詢處理模塊執(zhí)行的形式查詢文本,分析結(jié)構(gòu)化自然語言查詢以識(shí)別動(dòng)詞短語和零個(gè)、一個(gè)或多個(gè)形容詞短語。在找到相應(yīng)于通過的動(dòng)詞短語確定的指令查詢文本和找到相應(yīng)于每一通過的形容詞短語確定的限定查詢文本之后,把找到的查詢文本組合到要由查詢處理模塊處理的被翻譯的形式查詢文本中。
本發(fā)明的另一方面涉及由計(jì)算機(jī)實(shí)現(xiàn)的為數(shù)據(jù)庫創(chuàng)建對象相關(guān)查詢的方法。第一個(gè)變量可定義作范圍變量,第二個(gè)變量可定義作集變量。指令和限定也被定義。定義的指令、限定和變量組合起來,形成對象相關(guān)查詢。變量也可定義作時(shí)間變量或元包變量。
本發(fā)明的另一方面涉及基于代數(shù)表達(dá)式,由計(jì)算機(jī)實(shí)現(xiàn)的對象相關(guān)查詢。查詢是依據(jù)一個(gè)或多個(gè)表達(dá)式建立的,表達(dá)式是對象集。這樣,作為輸出對象集返回的一般方法是表達(dá)式。根據(jù)限定從對象集中選擇子集的選擇操作器也是表達(dá)式。因?yàn)橐话惴椒ǖ淖冊梢允菍ο蠹?,一般方法可被嵌套來產(chǎn)生另一種表達(dá)式。
本發(fā)明的另一方面涉及由計(jì)算機(jī)實(shí)現(xiàn)的,表示成經(jīng)改進(jìn)的對象相關(guān)查詢語言或?qū)ο笙嚓P(guān)代數(shù)的處理查詢方法,用于相關(guān)、對象相關(guān)或面向?qū)ο蟮臄?shù)據(jù)庫系統(tǒng)。
本發(fā)明的另一方面涉及由計(jì)算機(jī)實(shí)現(xiàn)的,分組結(jié)構(gòu)化自然語言查詢,結(jié)構(gòu)化自然語言規(guī)則或查詢和規(guī)則兩者成為宏指令的方法,它同時(shí)可用作對別的查詢或規(guī)則的指令或條件。


附圖和有關(guān)的說明用來說明本發(fā)明的實(shí)施例,并不限制本發(fā)明的范圍。
圖1是結(jié)構(gòu)化自然語言系統(tǒng)的一個(gè)例子。
圖2是定義指令的方法的一個(gè)例子。
圖3是定義條件的方法的一個(gè)例子。
圖4是編排結(jié)構(gòu)化自然語言查詢的方法的一個(gè)例子。
圖5是用戶界面屏幕的例子,它提示用戶或編程員定義對象變量。
圖6A是用戶界面屏幕的例子,它提示用戶選擇指令。
圖6B是用戶界面屏幕的另一例子,它提示用戶選擇指令。
圖7是提示用戶選擇指令變元和選擇指定結(jié)果的屏幕例子。
圖8A是提示用戶選擇條件的屏幕的例子。
圖8B是提示用戶選擇條件的另一屏幕的例子。
圖9是提示用戶對選擇的條件指定參數(shù)的屏幕例子。
圖10是顯示編排的查詢的屏幕例子。
圖11是提示用戶打印結(jié)構(gòu)化自然語言句子的屏幕例子。
圖12是顯示在結(jié)構(gòu)化自然語言中的規(guī)則的屏幕例子。
具體實(shí)施例方式
下列各節(jié)描述結(jié)構(gòu)化自然語言查詢和知識(shí)系統(tǒng)、改進(jìn)的對象相關(guān)查詢語言,和對象相關(guān)代數(shù),它示出了各種發(fā)明的特征。如將認(rèn)識(shí)到的,這些特征中的數(shù)多特征可在給定的系統(tǒng)中實(shí)現(xiàn)而無需其它系統(tǒng)。例如,結(jié)構(gòu)化自然語言查詢系統(tǒng)可連同一般數(shù)據(jù)平臺(tái)一起實(shí)現(xiàn),不需要用改進(jìn)的對象相關(guān)查詢語言或用對象相關(guān)代數(shù)來實(shí)現(xiàn)。此外,各種發(fā)明特征可用不同于這里描述的方法來實(shí)現(xiàn)。這樣,下列說明只用來說明而不是限制本發(fā)明的范圍。
A.結(jié)構(gòu)化自然語言查詢和知識(shí)系統(tǒng)圖1是結(jié)構(gòu)化自然語言查詢和知識(shí)系統(tǒng)100的一個(gè)實(shí)施例。結(jié)構(gòu)化自然語言查詢系統(tǒng)100允許沒有編程能力的用戶以優(yōu)先實(shí)時(shí)操作創(chuàng)建結(jié)構(gòu)化自然語言查詢來操作數(shù)據(jù)庫。系統(tǒng)100也允許用戶把相關(guān)數(shù)據(jù)庫變換成面向?qū)ο蟮臄?shù)據(jù)庫。結(jié)構(gòu)化自然語言查詢可包括動(dòng)詞作為指令和零個(gè)、一個(gè)或多個(gè)形容詞短語作為限定??勺兊亩x短語也可包括在結(jié)構(gòu)化自然語言查詢內(nèi)。詞“查詢”在這里被廣泛定義為不僅包括指令,它選擇或顯示數(shù)據(jù),也包括創(chuàng)建、更新或刪除數(shù)據(jù)的指令。系統(tǒng)100的一個(gè)實(shí)施例以Java編程。系統(tǒng)100也可用C,C++或其它的語言,操作平臺(tái)或應(yīng)用軟件包編程。
如圖1所示,系統(tǒng)100包括動(dòng)詞短語定義模塊110和形容詞短語定義模塊120。動(dòng)詞短語定義模塊110允許編程員定義相應(yīng)于形式查詢文本的動(dòng)詞短語,形容詞短語定義模塊120允許編程員定義相應(yīng)于形式查詢文本的形容詞短語。形式查詢文本可以是方法、功能、子程序,過程,SQL查詢文本,或上述的組合。系統(tǒng)100也包括結(jié)構(gòu)化自然語言編排模塊130,它允許用戶用定義的動(dòng)詞短語和形容詞短語編排結(jié)構(gòu)化自然語言查詢。系統(tǒng)100進(jìn)一步包括翻譯模塊140,以把結(jié)構(gòu)化自然語言查詢變成形式查詢文件,和形式查詢處理模塊150,它處理變換的形式查詢文本為從基本數(shù)據(jù)庫160返回查詢結(jié)果,后者可以是商業(yè)數(shù)據(jù)庫系統(tǒng)。
系統(tǒng)100也包括可選的對象模式定義模塊101。模塊101允許用戶或程序員定義對象類,包括屬性號(hào)和對對象類的每一屬性類型。如果用于系統(tǒng)100的基本數(shù)據(jù)庫160是相關(guān)數(shù)據(jù)庫,對象模式定義模塊101允許用戶或程序員把對象類與相關(guān)數(shù)據(jù)庫中的表聯(lián)系起來,這樣,允許用戶或程序員依照對象定義相關(guān)數(shù)據(jù)庫表之間的相互關(guān)系。
例如,程序員或用戶可定義類“polygon(多邊形)”與相關(guān)數(shù)據(jù)庫中的表“POLYGON”相聯(lián)系。表“POLYGON”包括“VERTICES”列,類“polygon”從文本串型的“ID”屬性和“頂點(diǎn)集”型的“vertices”屬性定義。另一類“vertex”與相關(guān)數(shù)據(jù)庫中的表“VERTEX”相聯(lián)系。類“頂點(diǎn)”以文本串型的“名稱”屬性,數(shù)字型的“X座標(biāo)”屬性,和數(shù)字型的“Y座標(biāo)屬性”定義。對象模型定義模塊101儲(chǔ)存相互關(guān)系,它表示“POLYGON”表中“垂直”列的每一單元是“VERTEX”表中行的名稱。一組“VERTEX”元組和“POLYGON”元組可作為分層的結(jié)構(gòu)化“多邊形”對象類一起處理。于是程序員或用戶可定義與“多邊形”對象類相關(guān)的動(dòng)詞短語和形容詞短語。如果在這些表之間沒有結(jié)構(gòu)的相互關(guān)系,那么,每一表作為獨(dú)立的對象類處理,以每一相關(guān)元組作為沒有分層結(jié)構(gòu)的“平面”對象。在任何事件中,用戶仍然可以在結(jié)構(gòu)化自然語言中定義動(dòng)詞短語和形容詞短語。
如果用于系統(tǒng)100的基本數(shù)據(jù)庫是對象相關(guān)或面向?qū)ο蟮臄?shù)據(jù)庫,那么對象模型定義可簡單地從下面的數(shù)據(jù)庫導(dǎo)入。
關(guān)于結(jié)構(gòu)化自然語言查詢,一個(gè)例句是Create a group from rangel whose name is“cc”(查詢A1)Who are diagnosed to have disease“mild AD”and who respond tomedication“aericept”。
在上面的查詢例中,“Create a group from rangel whose name is‘cc’”是查詢的動(dòng)詞短語,“Who are diagnosed to have disease‘mild AD’”是查詢的形容詞短語,“who respond to medication‘a(chǎn)ericept’”是查詢的另一形容詞短語。在動(dòng)詞短語內(nèi),“create a group”是指令,“from range 1”是指令的變元,“whose name is‘cc’”是指令操作的結(jié)果名。在每一形容詞短語內(nèi),“Who are diagnosed to have disease”和“who respond to medication”是條件,“mildAD”和“aericept”是條件的參數(shù)。
查詢和知識(shí)系統(tǒng)100也可包括結(jié)構(gòu)化自然語言規(guī)則編排模塊131,規(guī)則翻譯模塊141,和形式規(guī)則處理模塊151。模塊131,141和151聯(lián)系規(guī)則在下面說明。
在圖1中,每一模塊101-151優(yōu)先用由一個(gè)或多個(gè)通用計(jì)算機(jī)執(zhí)行的軟件來實(shí)現(xiàn)。一些或全部模塊可在規(guī)定應(yīng)用的硬件內(nèi),整體或部分交替實(shí)現(xiàn)。我們將了解到,這些模塊并不需要在同一計(jì)算機(jī)上運(yùn)轉(zhuǎn)或駐留。例如,模塊101-141可集成在用戶端的部件中,它在用戶計(jì)算機(jī)上運(yùn)轉(zhuǎn),而形式處理模塊150和151可在遠(yuǎn)地服務(wù)器上運(yùn)轉(zhuǎn),它提供網(wǎng)絡(luò)為基礎(chǔ)的對數(shù)據(jù)庫的訪問。此外,翻譯模塊140和141可作為服務(wù)器端的部件實(shí)現(xiàn),它翻譯在網(wǎng)絡(luò)上從用戶收到的自然語言查詢和規(guī)則。系統(tǒng)100的模塊可以以相同的或不同的計(jì)算語言,操作平臺(tái)或應(yīng)用軟件包來實(shí)現(xiàn)。
圖2是計(jì)算機(jī)實(shí)現(xiàn)的定義動(dòng)詞短語的方法的一個(gè)例子。在方塊210,系統(tǒng)100提示程序員定義指令名稱。指令名稱是文本串,如“創(chuàng)建組”,“聯(lián)合兩個(gè)組”,“從兩個(gè)組中尋找類似的起源”,“表示組的單元”,“儲(chǔ)存”,等等。指令優(yōu)先以自然語言短語的外形定義,這樣容易為沒有編程技術(shù)的用戶所理解。
在塊220,提示程序員對指令定義變元數(shù)目,例如,“創(chuàng)建組”指令典型地有1個(gè)參數(shù),“從兩個(gè)組中尋找相似的起源”指令典型地有2個(gè)變元。程序員也可對每一變元定義選擇范圍,例如,對于病人名的一個(gè)變元可以是任何用戶輸入的文本串,對指定保險(xiǎn)人名字的另一變元必須是預(yù)先確定的數(shù)值表中的值。在方塊230,提示程序員定義每一指令變元的數(shù)據(jù)類型。數(shù)據(jù)類型可以是原語數(shù)據(jù)型,如整數(shù),浮點(diǎn)數(shù),日期或文本串,或其它由用戶或程序員確定的數(shù)據(jù)類型。新的數(shù)據(jù)類型可以定義作給定數(shù)據(jù)類型的對象集。例如,給定定義的數(shù)據(jù)類型“頂點(diǎn)”,新數(shù)據(jù)類“頂點(diǎn)集”可這樣定義,使“頂點(diǎn)集”數(shù)據(jù)類型的每一對象是頂點(diǎn)集。從方塊230,優(yōu)先于方塊240處理,那里提示程序員創(chuàng)建相應(yīng)于定義的動(dòng)詞短語的形式查詢文本。
詞“形式查詢文本”被廣泛地應(yīng)用于本發(fā)明中,以包括查詢語言格式的文本,計(jì)算機(jī)碼的集合名(例如方法),功能,過程或子程序,或宏指令名。例如對于條件“(一種基因)類似于(另一種基因)”,方法,功能,過程或子程序可以是“Var0.similar(Var1)”,“Var0”和“Var1”分別代表?xiàng)l件的兩個(gè)參數(shù)。作為另一個(gè)例子,對于指令“從兩個(gè)組中尋找類似的基因”。方法,功能,過程或子程序可以是“find similar genes(argument1,argument2),”“argument1”和“argument2”分別代表指令的兩個(gè)變元。計(jì)算機(jī)碼的集合存儲(chǔ)在程序庫(未示出)。如下面所述,宏指令是對查詢組、規(guī)則組、或一個(gè)或多個(gè)查詢組和一個(gè)或多個(gè)規(guī)則的邏輯單元。
示于圖2的處理過程可以別的次序來實(shí)現(xiàn),例如,在一個(gè)實(shí)施例中,程序員首先被提示對要定義的動(dòng)詞短語創(chuàng)建形式查詢文本,系統(tǒng)100分析該形式查詢文本,并確定對動(dòng)詞短語的變元數(shù)和對每一變元的數(shù)據(jù)類型,然后程序員被提示來定義對動(dòng)詞短語的指令名。
圖3是計(jì)算機(jī)實(shí)現(xiàn)的定義條件的方法的一個(gè)例子。在方塊310,系統(tǒng)100提示程序員定義條件名,條件名的例子包括“誰要看病”和“誰負(fù)責(zé)藥物”。然后,過程推進(jìn)到方塊320,那里,程序員被提示定義對該條件的參數(shù)數(shù)目。在方塊330,提示程序員定義對每一參數(shù)的數(shù)據(jù)類型,例如文本,整數(shù)等等。程序員還被提示定義參數(shù)是否是輸入?yún)?shù)或輸出參數(shù)。在方塊340,提示程序員創(chuàng)建相應(yīng)于所定義條件的形式查詢文本,例如在查詢語言中打印文本,指定宏指令名,或指定計(jì)算機(jī)碼集合名,例如方法名,功能名,過程或子程序名。計(jì)算機(jī)碼集合存入系統(tǒng)程序庫中。
例如,對于條件“誰要看病”,形式查詢文本的例子可以是“<argument1>.diagnosed(<parameter)”或“<argument1>.diagnosed=<parameter>”。在這一例中,“<argument1>”代表有關(guān)動(dòng)詞短語的指令變元,“<parameter>”代表要由用戶輸入的條件參數(shù)值。
圖3的方法可以以別的次序來實(shí)現(xiàn),例如,在一個(gè)實(shí)施例中,首先提示程序員創(chuàng)建對要定義的條件的形式查詢文本,然后系統(tǒng)100分列形式查詢文本并確定對該條件的參數(shù)數(shù)和每一參數(shù)的數(shù)據(jù)類型,然后提示程序員定義條件名。
動(dòng)詞短語和形容詞短語可定義為對應(yīng)復(fù)雜查詢,例如,條件“誰要看所有的病”可定義作包括一組參數(shù),它列出疾病表。用這一條件查詢是尋找要看疾病表中各種病的病人。另一條件“誰至少要看一種病”可定義作包括一組參數(shù),它列出疾病表,用這一條件查詢是尋找要看疾病表中至少一種病的病人。在另一安排中,只定義條件“誰要看病”,并包括只允許一種病名的參數(shù)。如果用戶要找到有兩種病A和B的病人,用戶要把兩種這樣的形容詞短語“誰要看A病”和“誰要看B病”聯(lián)合起來。
應(yīng)注意到,動(dòng)詞短語和形容詞短語在一定范圍內(nèi)可互相交換定義和使用,例如附加指定的動(dòng)詞短語“找要看病的病人”可以作為附加的一般動(dòng)詞短語“找病人”和形容詞短語“誰要看病”的組合來達(dá)到同樣目的。如果查詢須常由用戶來實(shí)行,那么優(yōu)先定義作為動(dòng)詞短語查詢,并不需要附加的形容詞短語。定義專門的和一般的動(dòng)詞短語兩者也是可行的,且允許用戶既可使用專門的動(dòng)詞短語,也可使用結(jié)合形容詞短語的動(dòng)詞短語。
在一實(shí)施例中,結(jié)構(gòu)化自然語言查詢可以以問題的形式創(chuàng)建,例如,“哪些病人要看‘mild AD’病和誰負(fù)責(zé)治療‘a(chǎn)ericept’?’”。它等效于查詢“顯示要看‘mild AD’病的病人和誰負(fù)責(zé)治療‘a(chǎn)ericept’”。在以問題形式查詢中,“哪些病人”或“哪些病人是”作為動(dòng)詞短語。
結(jié)構(gòu)化自然語言查詢可以包括變量定義短語。例如,如下面B節(jié)中所描述的,如果B節(jié)中改進(jìn)的對象相關(guān)查詢語言與系統(tǒng)100結(jié)合使用,變量定義短語可以是“range of<Variable>is polygonabc”。它意味著<Variable>的值從名為“abc”的對象集合中獲得,集合的元素限制于類型“polygon”??勺兌x短語可包括一個(gè)或多個(gè)可變定義。
雖然非程序員用戶也可定義動(dòng)詞短語和條件,但詞“程序員”與圖2和圖3聯(lián)系使用,因?yàn)閯?chuàng)建相應(yīng)于動(dòng)詞短語或條件的形式查詢文本可能并不需要某些編程技術(shù)。
圖4表示編排結(jié)構(gòu)化自然語言查詢計(jì)算機(jī)實(shí)現(xiàn)方法的一個(gè)例子,在優(yōu)選例中,查詢用B節(jié)中描述的改進(jìn)的對象相關(guān)查詢語言編排。在方塊410,該方法確定變量是否由用戶定義。如果要定義變量,則該方法進(jìn)入方塊420,那里,該方法提示用戶指定變量定義短語。應(yīng)理解,變量定義短語,指令和條件無需以任何特殊的次序指定,換句話說,變量定義短語無需在指定指令之前指定,指令無需在指定條件之前指定。
圖5是屏幕例,它提示用戶或程序員指定變量定義短語。如圖5所示,在根據(jù)下面B節(jié)中描述的改進(jìn)的對象相關(guān)查詢語言的實(shí)施例中,用戶或程序員被提示在“對象名”部分510創(chuàng)建對象名。用戶或程序員也在“類型”部分520被提示識(shí)別創(chuàng)建的對象的變量類型,這些創(chuàng)建的對象是從類型表,如“range”,“temp”,“set”和“bag”中選擇。用戶或程序員被進(jìn)一步提示識(shí)別從“對象表”部分530選擇的對象而創(chuàng)建的對象的數(shù)據(jù)類型,以繼承被選對象的數(shù)據(jù)類型,或從原語數(shù)據(jù)型的“原語表”部分540選擇。用戶或編程員被提示在“數(shù)據(jù)源單元”部分550中指定用于創(chuàng)建的對象的數(shù)據(jù)源單元。數(shù)據(jù)源單元是同一類型的對象集。
在另一實(shí)施例中,使用C節(jié)的對象相關(guān)代數(shù),方塊410-430沒有了,用戶不被提示定義變量,變量是由程序員預(yù)先定義的,用戶直接進(jìn)到方塊440。為了說明兩種選項(xiàng),圖6A和8A作為屏幕例示出,它并不顯示變量的定義,而圖6B和8B作為顯示變量定義的屏幕例示出。
變量定義短語也能根據(jù)所選的指令和條件自動(dòng)產(chǎn)生。在下面B節(jié)所述的兩個(gè)對象類“多邊形”和“頂點(diǎn)”中,條件“包含”要求兩個(gè)多邊形作為輸入,且如果第一個(gè)多邊形包含第二個(gè)多邊形,則返回真值。系統(tǒng)100儲(chǔ)存規(guī)范,它表示“包含”條件要求二個(gè)多邊形類的輸入?yún)?shù)。當(dāng)條件“包含”由用戶選擇時(shí),系統(tǒng)100產(chǎn)生變量定義短語,以定義兩個(gè)作為多邊形類范圍變量的輸入?yún)?shù)。在另一例子中,條件“相交”要求多邊形類的兩個(gè)輸入?yún)?shù)和作為兩個(gè)輸入多邊形的相交多邊形的輸出參數(shù)。當(dāng)用戶選擇“相交”條件時(shí),系統(tǒng)100自動(dòng)產(chǎn)生變量定義短語,以定義兩個(gè)輸入?yún)?shù)和輸出參數(shù)。兩個(gè)輸入?yún)?shù)優(yōu)先定義作范圍變量,輸出參數(shù)優(yōu)先定義成臨時(shí)變量。如果輸出參數(shù)用作另一條件的輸入?yún)?shù),那么,其它條件的輸入?yún)?shù)并不需要再定義。
在方塊440,提示用戶從定義的指令表中選擇指令。在一個(gè)實(shí)施例中,提示用戶從定義的指令表中選擇,它可用于變量定義短語中定義的對象。例如,如果變量定義短語定義變量“多邊形”,那么用戶可從用于“多邊形”變量的指令中選擇,例如“放大”,“縮小”,“旋轉(zhuǎn)”,“測量面積”,等等。圖6A和圖6B是用戶界面屏幕的例子,它提示用戶從指令表610選擇指令。與圖6A相比,圖6B包括附加的部分620,它顯示定義的變量。定義的變量也顯示在句子部分630中。
返回參看圖4,從方塊440,過程推進(jìn)至方塊450,那里提示用戶為選擇的指令選擇一個(gè)或多個(gè)變元。在方塊460,在優(yōu)先使用C節(jié)的對象相關(guān)代數(shù)的一個(gè)例中,用戶被提示有選擇地指定所選指令的結(jié)果名。指令、變元和選擇結(jié)果名形成動(dòng)詞短語,圖7是屏幕例,它提示用戶選擇指令變元和選擇的名字結(jié)果。依據(jù)對指令定義的變元的數(shù)目和類型,可提示用戶識(shí)別一個(gè)或多個(gè)變元。如圖7所示,在根據(jù)C節(jié)中所述的對象相關(guān)代數(shù)的一個(gè)實(shí)施例中,對指令“創(chuàng)建組”,用戶被提示從部分710選擇數(shù)據(jù)類型,從部分720選擇數(shù)據(jù)源單元,和在部分730中選擇性地命名指令的結(jié)果。
再回到圖4,如果用戶要想選擇條件,那么過程從方塊470推進(jìn)到方塊480,那里提示用戶從定義的條件表中選擇條件。在一個(gè)實(shí)施例中,用戶被提示從可用于變量定義短語中定義的對象所定義的條件表中選擇,例如,對于變量“多邊形”,像“包含”,“相交”和“是方形”這些條件都可用于“多邊形”變量。圖8A是屏幕例,它提示用戶從條件表中選擇。定義的動(dòng)詞短語顯示在部分810,且作為句子部分830中的結(jié)構(gòu)化自然語言句子的一部分。用戶從部分820中的條件表選擇條件。圖8B是提示用戶從條件表中選擇的另一屏幕例,與圖8A相比,圖8B包括附加的部分840,它顯示定義的變量。該定義的變量定義短語和動(dòng)詞短語,作為句子部分830中的一部分顯示。
再回到圖4,在方塊490,提示用戶指定所選條件的參數(shù)。在一個(gè)實(shí)施例中,允許多個(gè)條件共享同樣的條件名,但有不同的參數(shù)數(shù)目。圖9是提示用戶指定所選條件參數(shù)數(shù)的屏幕例。如圖9所示,對于條件“誰被診斷有”,用戶可在部分910鍵入疾病名,或從部分920的疾病表中選擇。被選的條件和參數(shù)形成形容詞短語。在一個(gè)實(shí)施例中,編排模塊130自動(dòng)地在指令變元指定的值、命名結(jié)果和條件參數(shù)旁加引號(hào)。如果該條件有一個(gè)或多個(gè)輸出參數(shù),則用戶也可通過定義初始條件的輸出參數(shù)作為附加條件的輸入?yún)?shù)來指定附加的條件。于是,附加條件根據(jù)初始條件產(chǎn)生的輸出來評估條件。
再回到圖4,在方塊495,提示用戶指出是否有更多的條件輸入。如果有更多的條件輸入,那么過程回到方塊480,否則過程進(jìn)入端塊498。如果過程回到方塊480來指定另一個(gè)形容詞短語,那么用戶也被提示指定連接器,如“與”,“或”或“與非”,來連接兩個(gè)形容詞短語。
如上所述,圖5-9是一個(gè)實(shí)施例的屏幕例,它提示用戶從定義的指令和條件表中選擇。用戶選擇圖6A和6B中的指令,對圖7中的該指令選擇變元,選擇在圖8A或圖8B中的條件,對圖9中的該條件指定參數(shù)。在另一實(shí)施例中,用戶或程序員也定義圖5中的變量。
指定的動(dòng)詞短語和形容詞短語形成編排的結(jié)構(gòu)化自然語言查詢。圖10是屏幕例,它表示在部分1040中編排的結(jié)構(gòu)化自然語言查詢句子,包括部分1020中的動(dòng)詞短語和部分1030中的形容詞短語。在圖10中,查詢以強(qiáng)制性句子的優(yōu)先形式出現(xiàn)。查詢也可包括變量定義短語,如示于部分1010和1040的短語“范圍1的范圍是情況情況”。也可給用戶直接鍵入結(jié)構(gòu)化自然語言查詢于系統(tǒng)100中的選擇,如圖11的句子部分1110所示。有經(jīng)驗(yàn)的用戶可優(yōu)先這種選擇。用戶也可使用直接鍵入和屏幕選擇的聯(lián)合,例如鍵入他們熟悉的條件或指令并從菜單選擇其它條件或指令。然后,編排的查詢被送到翻譯模塊140翻譯。
翻譯模塊140分列編排的查詢,以識(shí)別動(dòng)詞短語,形容詞短語和選擇的變量定義短語。在優(yōu)先例中,翻譯模塊140尋找指示定義的動(dòng)詞短語和形容詞短語的關(guān)鍵詞。例如,在一個(gè)實(shí)施例中,所有條件都以詞“誰”和“誰的”開頭,翻譯模塊140搜索詞“誰”和“誰的”,并識(shí)別任何表有該開頭的這種形容詞短語詞。但是,如果詞“誰”和“誰的”封閉在編排好查詢的問號(hào)內(nèi),那么就要考慮代替這種條件的開頭,用參數(shù),命名結(jié)果或參數(shù)值來代表。翻譯模塊140也搜索邏輯連接器“與”,“或”,“或非”和“與非”。邏輯連接器指示一個(gè)形容詞短語結(jié)束和另一個(gè)形容詞短語開始。借助于搜索條件標(biāo)號(hào)和邏輯連接器,模塊140就能識(shí)別形容詞短語,與查詢的其它內(nèi)容分開,且與別的形容詞短語分開。
翻譯模塊140所定義條件的關(guān)鍵詞以識(shí)別條件,例如,翻譯模塊140搜索如“看病”或“負(fù)責(zé)”這樣的關(guān)鍵詞,作為識(shí)別條件“誰看病”或“誰負(fù)責(zé)診斷”。
翻譯模塊140也搜索所定義的指令的關(guān)鍵詞以識(shí)別指令,例如,模塊140搜索如“創(chuàng)建組”或“把單元加入組中”的關(guān)鍵詞,以識(shí)別相應(yīng)的指令。模塊140也可搜索關(guān)鍵詞“從”,以標(biāo)記指令參數(shù),和關(guān)鍵詞“誰的名字是”,以標(biāo)記命名的結(jié)果。
如果指令和條件不由用戶鍵入,但從定義的指令和條件表選擇,那么分析過程可簡化。因?yàn)橄到y(tǒng)100把定義的指令和條件與其相應(yīng)的形式查詢文本相聯(lián)系,相應(yīng)的形式查詢文本可在用戶選擇指令或條件的同時(shí)儲(chǔ)存。所存的相應(yīng)形式查詢文本(或它們的識(shí)別符)由翻譯模塊140組合,以形成轉(zhuǎn)換的形式查詢文本。另一方面,如果用戶用鍵入代替從表選擇輸入結(jié)構(gòu)化自然語言查詢,那么,分析過程首先識(shí)別動(dòng)詞短語和形容詞短語,然后組合其相應(yīng)的形式查詢文本。
在優(yōu)先例中,翻譯模塊140檢測在查詢中的錯(cuò)誤,并自動(dòng)糾正錯(cuò)誤或提議對錯(cuò)誤糾正。查詢錯(cuò)誤可包括拼音錯(cuò)誤(例如“diagnosed”誤寫成“diaghoised”),少字(例如“who respond to medication”輸入成“whorespond to”),結(jié)構(gòu)次序出錯(cuò)(例如形容詞短語在動(dòng)詞短語前出現(xiàn)),或其它語法錯(cuò)誤。翻譯模塊140糾正這些錯(cuò)誤,并把其變成正確的查詢。在一個(gè)布置中,翻譯模塊140向用戶返回檢測的錯(cuò)誤和提議的糾正的查詢,并要求用戶確認(rèn)糾正的查詢是否是用戶想要的查詢。
翻譯模塊把相應(yīng)的動(dòng)詞短語的形式查詢文本與結(jié)構(gòu)化自然語言查詢的形容詞短語聯(lián)合起來,以形成轉(zhuǎn)換的形式查詢文本,用戶指定的指令參數(shù)值和條件參數(shù)值結(jié)合到轉(zhuǎn)換的形式查詢文本中。形式查詢處理模塊150接收翻譯的形式查詢文本并在基本數(shù)據(jù)庫上處理該文本以得到結(jié)果。
基本數(shù)據(jù)庫160可以是相關(guān)、面向?qū)ο蠡驅(qū)ο笙嚓P(guān)。對于相關(guān)基本數(shù)據(jù)庫,如果翻譯的形式查詢文本已經(jīng)是一個(gè)或多個(gè)SQL查詢,那么形式查詢處理模塊150直接在基本相關(guān)數(shù)據(jù)庫上執(zhí)行SQL查詢。如果翻譯的形式查詢文本不是SQL查詢格式,那么,形式查詢處理模塊1 50把翻譯的查詢文本變成一個(gè)或多個(gè)變換的SQL查詢,并在基本相關(guān)數(shù)據(jù)庫上執(zhí)行翻譯的查詢。同樣,對于對象或?qū)ο笙嚓P(guān)基本數(shù)據(jù)庫,查詢處理模塊150直接執(zhí)行翻譯的查詢文本,或把翻譯的查詢文本變成一個(gè)或多個(gè)變換的查詢,它能直接在基本數(shù)據(jù)庫上執(zhí)行。
如果查詢處理模塊150不能直接執(zhí)行翻譯的查詢文本和不能變換翻譯的查詢語境,那么查詢處理模塊150仍然處理翻譯的查詢文本,以返回從基本數(shù)據(jù)庫160查詢的結(jié)果。例如,在一個(gè)有相關(guān)基本數(shù)據(jù)庫的實(shí)施例中,用B節(jié)描述的改進(jìn)的對象相關(guān)查詢語言,第一變量“t”定義作五個(gè)多邊形對象的第一數(shù)據(jù)源單元的范圍變量,第二變量“s”定義作三個(gè)多邊形對象的第二數(shù)據(jù)源單元的范圍變量。對于限定“t和s何處相交”,翻譯的查詢文本“t.intersect(s)”不可能直接在相關(guān)基本數(shù)據(jù)庫上執(zhí)行。查詢處理模塊150例舉兩種數(shù)據(jù)源單元的多邊形對象的15種組合來確定哪一種限定是真。除了所有可能組合的平滑估計(jì)以外,最佳化方法,如重新布置限定中條件的次序,也可被采用。
在一個(gè)優(yōu)先例中,結(jié)構(gòu)化自然語言系統(tǒng)100結(jié)合改進(jìn)的對象相關(guān)查詢語言(B節(jié)中所描述的)工作。例如,圖10中用戶創(chuàng)建變量定義短語“范圍1的范圍是情況情況”,來作為B節(jié)中改進(jìn)的查詢語言的范圍變量定義范圍1。第一個(gè)“情況情況”中的“情況”代表數(shù)據(jù)類型,第二個(gè)“情況”代表數(shù)據(jù)源單元。另外,系統(tǒng)100提示用戶從數(shù)據(jù)類型表,數(shù)據(jù)源單元表中選擇定義變量作為范圍,時(shí)間,集或元包變量。但是,結(jié)構(gòu)化自然語言系統(tǒng)100也能與一般相關(guān),面向?qū)ο螅蛯ο笙嚓P(guān)數(shù)據(jù)庫一起工作。改進(jìn)的對象相關(guān)查詢語言或?qū)ο笙嚓P(guān)代數(shù)將擴(kuò)大允許查詢的范圍,但不是對結(jié)構(gòu)化自然語言系統(tǒng)的先決條件。
規(guī)則也可以結(jié)構(gòu)化自然語言形式編排,并用于系統(tǒng)100用于數(shù)據(jù)集成和其它目的。例如,規(guī)則可以以這樣的形式來表示“On<event>If<qualification>then<command>”,“On<event>If<qualification>then<command>otherwise<command2>,或On<event>If<qualification>then<qualifcation2>”。作為醫(yī)療應(yīng)用的計(jì)算機(jī)系統(tǒng)的一個(gè)例子,規(guī)則可用來保證輸入該系統(tǒng)的病人年齡大于零,如果知道病人對青霉素過敏,就不能用青霉素,兩種有相反作用的藥物不能用于同一病人,等等。規(guī)則的范圍可定義作應(yīng)用于單個(gè)對象,一類的所有對象,或所有對象。在一個(gè)實(shí)施例中,結(jié)構(gòu)化自然語言系統(tǒng)100允許用戶用指定規(guī)則的限制和指令來定義規(guī)則。當(dāng)事件發(fā)生時(shí)(例如,當(dāng)病人體溫變化時(shí)),如果限定(例如,病人體溫超過102華氏度)被滿足,那么指令(例如,發(fā)警告給護(hù)士或內(nèi)科醫(yī)生)按規(guī)則激活。在某些實(shí)施例中,事件和限制可交互便用。
結(jié)構(gòu)化自然語言查詢和結(jié)構(gòu)化自然語言規(guī)則典型地用于不同的語境中,例如,系統(tǒng)的全天候監(jiān)視限定和規(guī)則的可選事件,并當(dāng)滿足限定和事件時(shí)執(zhí)行規(guī)則的指令。另一方面,查詢典型地依據(jù)用戶指令執(zhí)行。此外,規(guī)則總是以“if qualification…then command[else command2]”或“ifqualification1 then qualification2”的形式顯示,而查詢總是以“command[qualification]”的形式顯示。但是,因?yàn)榻Y(jié)構(gòu)化自然語言規(guī)則和結(jié)構(gòu)化自然語言查詢每個(gè)都包括指令和限定,因而交互使用規(guī)則和查詢是很方便的。在一個(gè)實(shí)施例中,用戶選擇定義的查詢作為規(guī)則,或選擇定義的規(guī)則作為查詢。
圖12表示以結(jié)構(gòu)化自然語言句子的形式顯示規(guī)則的屏幕例。規(guī)則包括可選的變量定義短語,動(dòng)詞短語(指令)和一個(gè)或多個(gè)形容詞短語(限定)。規(guī)則也可包括一個(gè)或多個(gè)事件。規(guī)則可以有相應(yīng)于當(dāng)限定為假時(shí)行動(dòng)的第二動(dòng)詞短語。在圖12中,部分1220顯示限定“any ofPatient.CurrentVisit treatments interact”,和部分1230顯示指令“displaymessage string‘treatment checkinteract’”。部分1210顯示形式查詢文本,它相應(yīng)于規(guī)則。限定和指令不由用戶指定,例如圖6A-9的屏幕。
一組規(guī)則可組成稱為“宏指令”的邏輯單元。用戶或程序員能指定宏指令內(nèi)規(guī)則之間的相關(guān),使用在標(biāo)號(hào)后的“goto”陳述來調(diào)用其它規(guī)則。標(biāo)號(hào)識(shí)別其它要調(diào)用的規(guī)則,例如,批準(zhǔn)或拒絕借款申請的宏指令可包括下列規(guī)則。
ifhouse-or-rent=“house”then goto(rule-house);else goto(rule-rent);rule-houseif house-value >500,000 and income >40,000 thenreturn(true);else goto(rule-house2);rule-house2if house-value >5,000,000 then return(true);elsereturn(false).
Rule-rentif income >60,000 then return(true);else return(false).
在上面例中,“goto(rule-house)”代表評估由標(biāo)號(hào)“rule-house”識(shí)別的另一規(guī)則,“Return(true),”代表返回批準(zhǔn)借款申請的決策。代替返回“真”或“假”邏輯值,規(guī)則也可返回對象或數(shù)據(jù)源單元(DSE)作為輸出。
在實(shí)際應(yīng)用中,規(guī)則可遠(yuǎn)比上面的例子復(fù)雜得多,宏指令和“goto”允許用戶或程序員指定規(guī)則間的相互關(guān)系。用戶或程序員被提示對宏觀指令簽宏觀指令名。此外,規(guī)則或看指令也可作為條件或查詢中的指令或它們規(guī)則使用。
一組查詢,或一個(gè)或多個(gè)規(guī)則和一個(gè)或多個(gè)查詢的聯(lián)合也可組合到宏指令中。查詢可由標(biāo)號(hào)識(shí)別,標(biāo)號(hào)后的“goto”可用來調(diào)用其它查詢或規(guī)則,宏指令可與對象或?qū)ο箢愊噙B系。
類似于編排結(jié)構(gòu)化自然語言查詢的狀態(tài),用戶可以以結(jié)構(gòu)化自然語言形式編排規(guī)則,類似于查詢句子,規(guī)則句子有一個(gè)或多個(gè)形容詞短語,來指定規(guī)則限定,動(dòng)詞短語,來指定當(dāng)限定為真時(shí)采取的行動(dòng)。規(guī)則句子可有相應(yīng)于當(dāng)限定為假時(shí)采取行動(dòng)的第二動(dòng)詞短語。規(guī)則句子還有一個(gè)或多個(gè)可選事件短語,每個(gè)相應(yīng)于一事件。
參考圖1,規(guī)則編排模型131提示用戶選擇一個(gè)或多個(gè)形容詞短語作為限定,一個(gè)或多個(gè)運(yùn)行短語作為指令,和選擇性形容詞短語作為事件來編排規(guī)則。用戶也可以指定規(guī)則和/或查詢的宏指令,并指定宏指令內(nèi)規(guī)則和/或查詢之間的相互關(guān)系。規(guī)則翻譯模塊141把規(guī)則翻譯成形式查詢文本。在一個(gè)實(shí)施例中,規(guī)則翻譯模塊141也能直接把規(guī)則轉(zhuǎn)換成系統(tǒng)100的主機(jī)編程語言中的功能、過程或子程序,這種語言如Java,C,C++,等等。規(guī)則處理模塊151評估限定并隨后執(zhí)行相應(yīng)于限定的指令。此外,模塊151監(jiān)視規(guī)則可選事件的發(fā)生。
B.改進(jìn)的對象相關(guān)查詢語言在改進(jìn)的對象相關(guān)查詢語言下的查詢或規(guī)則可表示成如下形式Variable specifier…variable specifiercommand[where qualification]對于變量說明符中定義的每一可能變量值,如果它滿足限定,那么執(zhí)行指令。方括號(hào)[]指示限定是可選的。限定包括一個(gè)或多個(gè)條件(每一條件由方法或宏指令代表)和條件的參數(shù)。指令包括方法或宏指令和指令的變元。變元可以是常量或變量。返回布爾真或假值的方法是邏輯法。返回布爾真或假值的宏指令是邏輯宏指令。另外,方法/宏指令被稱為通用方法或通用宏指令。方法或宏指令可有一個(gè)或多個(gè)輸入?yún)?shù)或輸出參數(shù)。如果通用方法/宏指令用作條件,那么該條件一旦被執(zhí)行就被認(rèn)為是真,與由方法/宏指令返回的值無關(guān)。在最簡單情況下,限定由一個(gè)帶有參數(shù)的方法或宏指令組成,該限定可循環(huán)建立如下如果α或β是限定,那么(α和β)是限定。
如果α和β是限定,那么(α和β)是限定。
如果α是限定,那么(非α)是限定。
(a)Range of<variable-id>is<data-type><DSE>
(b)Temp of<variable-id>is<data-type>
(c)Set of<variable-id>is<data-type><DSE>
(d)Bag of<variable-id>is<data-type><DSE>
(e)Set Temp of<variable-id>is<data-type>
(f)Bag Temp of<variable-id>is<data-type>
上述形式中“Data-type”代表數(shù)據(jù)值的格式,例如整數(shù),浮點(diǎn),邏輯,文本,日期,和用戶定義的數(shù)據(jù)格式?!癉SE”代表“數(shù)據(jù)源單元”。數(shù)據(jù)源單元可以是用戶定義的對象,表,類,電子表格文件等集,后者包括一組數(shù)據(jù)行,其值為集的對象的屬性,返回對象集的方法,如上面(c)所示的集變量,如上面(d)所示的元組變量,前面查詢的結(jié)果,如下面C節(jié)詳細(xì)說明的對象相關(guān)表達(dá)式,等等。
此外,DSE可以是一組結(jié)構(gòu)化數(shù)據(jù),例如樹,不對稱圖形(DAG)或半結(jié)構(gòu)化數(shù)據(jù)集,例如擴(kuò)展的標(biāo)志語言(XML)文件。數(shù)據(jù)類型可以各種方法限于DSE。DSE的子集可作為結(jié)合數(shù)據(jù)類型的另一DSE來形成。例如,假定樹“T”有兩個(gè)稱為“人”和“組織”的子集,結(jié)合人T可定義“T”的人節(jié)點(diǎn)的集合作為新DSE。數(shù)據(jù)類型也可借助于標(biāo)簽的使用限于XML文本。例如,結(jié)合類A(a整數(shù),b數(shù)據(jù)串)于下面的XML文件中,導(dǎo)致A型對象A1的DSE,A型對象的值是(10,“America”)。標(biāo)簽<A1>和</A1>可以不管,因?yàn)閷ο驛1可以從屬性a和b導(dǎo)出。
<ROOT>
<A>
<A1>
<a>10</a>
<b>America</b>
</A1>
</A>
</ROOT>
此外,數(shù)據(jù)源單元可動(dòng)態(tài)產(chǎn)生,以包含從一個(gè)或多個(gè)前面的查詢中得到的結(jié)果。以上述(a)形式定義的變量是范圍變量,以(b)形式定義的變量是臨時(shí)變量,以(c)形式定義的變量是集變量,以(d)形式定義的變量是元組變量,以(e)形式定義的變量是臨時(shí)集變量,以(f)形式定義的變量是臨時(shí)元組變量。
范圍變量從它有關(guān)的DSE中獲得其可能的值,元組集變量的值是由有關(guān)DSE識(shí)別的集,與只含有特殊值(如{1,2,3,4})的集不同,元組可包含重復(fù)值,例如{1,2,3,4,1,3}。集變量和元組變量可用來建立范圍變量域或臨時(shí)變量域。集和元組變量也可用于聚集對象以形成需要集或元組作為參數(shù)的方法的參數(shù)。臨時(shí)變量典型地用作通用方法的輸出變量。臨時(shí)變量的值在相應(yīng)于對查詢的方法或宏指令評估的同時(shí)計(jì)算,臨時(shí)集或元組變量的值是由有關(guān)的DSE識(shí)別的集,并在相應(yīng)于對查詢的方法或宏指令評估的同時(shí)計(jì)算。
上述形式說明改進(jìn)的對象相關(guān)查詢語言的優(yōu)先語法。其它語法形式也可使用而不背離本發(fā)明的精神和范圍。例如,在其它語法形式中,變量用下列形式說明<variable-id>datatype<data-type>,variabletype<variable-type>,dse<DSE>
<variable-type>指示范圍、臨時(shí),集、元組,臨時(shí)集或臨時(shí)元組變量的變量類型。
下面的一些例子更清楚地說明本發(fā)明?;氐絻?yōu)先語法,數(shù)據(jù)庫例以兩類定義,“頂點(diǎn)”和“多邊形”,多邊形對象由標(biāo)點(diǎn)集定義,頂點(diǎn)對象由兩個(gè)坐標(biāo)定義。
Class vertex(namestring,xinteger,yinteger)keynameClass polygon(namestring,verticesset of vertex)keyname與類多邊形有關(guān),定義兩個(gè)條件,“相交”和“含有”?!跋嘟弧睏l件取兩個(gè)多邊形作為輸入,且如果輸入多邊形對相互相交,則返回真值?!昂小睏l件取兩個(gè)多邊形作為輸入,且如果第一個(gè)多邊形含有第二個(gè)多邊形,則返回真值。
下面給出了用改進(jìn)的對象相關(guān)查詢語言查詢的一些例子。下面的查詢從數(shù)據(jù)源單元abc尋找所有多邊形的頂點(diǎn)Range of t is polygonabcRetrieve(t.name,t.vertices) (查詢B1)下面的查詢從數(shù)據(jù)源單元abc尋找一個(gè)多邊形包含另一多邊形的所有多邊形對Range of t is polygonabcRange of s is polygonabcRetrieve(t.name,s.name)Where t.contains(s) (查詢B2)在上述查詢中,“Where t.contains(s)”是限定。對于這一限定,“s”是條件“包含”的參數(shù)。
下面的查詢表示數(shù)據(jù)源單元abc中包含在多邊形C內(nèi)的所有多邊形,且它們與多邊形E不相交,其大小超過5Range of t is polygonabcRange of s is polygonabcRange of r is polygonabcVar u is floats.show() (查詢B3)Where t.name.eq(“C”)和t.contains(s)和r.name.eq(“E”)和(notr.intersect(s))和s.size(u)和u.gt(5)。
下面的查詢表示數(shù)據(jù)源單元abc與多邊形E相交的所有多邊形,相交點(diǎn)是一個(gè)正方形,其大小超過5,頂點(diǎn)包括一個(gè)正方形,其大小超過10∶
Range of t is polygonabc (查詢B4)Range of s is polygonabcSet u is vertexSet w is vertexs.verticesVar u is floats.show()Where t.name.eq(“E”)和s.intersection(t,u,v)和is-square(u)和v.gt(5)和.is-suqare(w)和w.size(x)和x.gt(10)。
在上面的查詢中,交點(diǎn)是與多邊形有關(guān)的通用方法。它提取另一個(gè)多邊形作為輸入,并返回交點(diǎn)(一組頂點(diǎn))和交點(diǎn)的區(qū)域作為輸出。限定“t.name.eq(“E”)和s.intersection(t,u,v)和is-square(u)和v.gt(5)和.is-suqare(w)和w.size(x)和x.gt(10)”包括由邏輯連接符“and”連接的幾種條件。條件“is-square”應(yīng)用到一組頂點(diǎn),確定頂點(diǎn)的集合是否形成正方形。
改善的對象相關(guān)語言在某些方面類似于ANSI SQL-99。例如,查詢3可寫成SQL-99的形式Select s.show()From t abc,s abc,r abcWhere t,name=“C”and r.name=“E”and t.contains(s) and notr.intersect(s) and s.size() >5.
但是,改進(jìn)的對象相關(guān)語言比ANSI SQL-99有許多優(yōu)點(diǎn),例如,查詢B4在SQL-99中不能重寫。與改進(jìn)的對象相關(guān)語言相比,ANSI SQL-99只允許“范圍”型變量,不允許集,元組,臨時(shí),臨時(shí)集或臨時(shí)元組變量。在SQL-99下,變量范圍是由其“范圍”類型確定的,且不能是任意數(shù)據(jù)源單元。此外,SQL-99下的條件不能產(chǎn)生任何不同于邏輯真或假值的值,所以,通用方法不能用作條件或變元。改進(jìn)的對象相關(guān)語言沒有了這些限制。
改進(jìn)的對象相關(guān)查詢語言可表示成如下形式variable specifier…
variable specifier[On event][if qualification then]command[else command2].
Orvariable specifier…variable specifier[On event][if qualification 1 then]qualification2在第二種形式中表示的規(guī)則“[On event][if qualification1 then]qualification2”等效于第一種形式的規(guī)則“[On event][if qualification then]command[else command2]”。但是,第二種形式在某些情況對用戶更友好,例如,第二種形式的下列規(guī)則If the patient has prescription x then the patient cannot have prescriptiony等效于第一種形式的規(guī)則If the patient has prescription x and the patient has prescription y thenreport(“constraint violation”)可選擇地,規(guī)則也包括標(biāo)記,它用來識(shí)別規(guī)則,一個(gè)或多個(gè)輸入?yún)?shù)和一個(gè)或多個(gè)輸出參數(shù)。輸入?yún)?shù)是其值用在規(guī)則限定中的值。輸出參數(shù)是其值由規(guī)則的指令或條件計(jì)算返回的值。在改進(jìn)的對象相關(guān)查詢語言中宏指令可表示成如下形式[On event][Object Type]Macro Macro-Name ([parameter],…[parameter])global Variable specifier…global variable specifier[label1]rule/query1;…[label2]rule/query2;在上述例中,“objecttype”涉及可選返回值的數(shù)據(jù)類型。“parameter”涉及宏指令的輸入或輸出參數(shù)?!發(fā)abel1”代表標(biāo)號(hào),它識(shí)別規(guī)則或查詢,“rule/query1”,“l(fā)abel2”代表識(shí)別規(guī)則或查詢“rule/query2”的標(biāo)號(hào)。事件可以是附加的新對象,對象的刪除或修改,或用戶定義的事件。由標(biāo)號(hào)識(shí)別的規(guī)則或查詢可被有“goto”陳述的其它規(guī)則或查詢調(diào)用。
C.對象相關(guān)代數(shù)對象相關(guān)代數(shù)優(yōu)先具有如下特點(diǎn)1.DSE是對象相關(guān)表達(dá)式(此后“表達(dá)式”用在C節(jié)中)2.表達(dá)式是“類型約束”的,如果表達(dá)式的所有單元具有同樣的非原語型的話。另外它是“無類型”的。無類型表達(dá)式代表像平面文件或一組記錄的關(guān)系,其字段是原語值,如整數(shù),浮點(diǎn)數(shù)和文本串。
3.如果E是類型的約束表達(dá)式,那么σP(E)是約束類型表達(dá)式,其中P是限定。操作符σ(稱為“選擇”操作符)返回E中滿足P的結(jié)果對象。P可包括與表達(dá)式類型有關(guān)的條件,與表達(dá)式對象的屬性有關(guān)的條件,或兩者。如果E是無類型表達(dá)式,那么σP(E)是無類型表達(dá)式,其中P是限定。操作符σ(稱為“選擇”操作符)作為結(jié)果返回E中滿足P的對象。
4.如果E是表式,那么IIS(E)是無類型表達(dá)式,其中S是屬性集。操作符II(稱為“項(xiàng)目”操作符且來自E的項(xiàng)目)把滿足S中指定屬性的E對象從每個(gè)E對象中移走,并作為結(jié)果返回不滿足S中指定屬性的其它E對象。在極少情況下,IIS(E)可以是類型約束表達(dá)式5.如果E和F是表達(dá)式,那么E×F是表達(dá)式。操作符(卡笛爾乘積)計(jì)算集{(x,y)|x∈E,y∈F};E∪F是表達(dá)式,操作符(合并)計(jì)算兩表達(dá)式的合并;和E-F是表達(dá)式,操作符(差)計(jì)算兩表達(dá)式之差。
6.如果E是表達(dá)式,那么SGA(E)是無類型表達(dá)式。操作符G(稱為“聚合”操作符)根據(jù)S中指定的屬性集(其形式為attribute,attribute,……)把E對象聚集起來,并對每一聚集以aggregate-function(attribute)或aggregate-function(object)的形式計(jì)算聚集功能集。聚集功能可包括原語功能,如最小,最大,平均,方差,中值,和計(jì)數(shù),它可用于一組原語值。聚集功能也能包括由用戶或程序員定義的通用功能,它可用于非原語對象組。通用功能是用戶或程序員定義的非原語功能,在非原語對象集上操作。例如,用戶或程序員可定義“最佳圖像”普通功能,來處理視覺圖像文件的集合,并作為輸出返回有最佳信噪比的視覺圖像。當(dāng)通用功能調(diào)來操作時(shí),通用功能典型地調(diào)用程序,過程,查詢。原語功能的集合,原語和通用功能的集合,或其它通用功能的集合。在極少情況下,SGA(E)可以是類型約束表達(dá)式。
7.如果f是方法或宏指令,它把DES作為其結(jié)果返回,那么f(arguments)是表達(dá)式。f(arguments)是否是無類型或類型約束的,由DSE中的單元類型確定。如果DSE的所有單元屬于同一類型,且該類型不是原語的,則該表達(dá)式是類型約束的;否則是無類型的。
一些對象相關(guān)表達(dá)式的例子與對象類別“病人”和被定義的數(shù)據(jù)源單元“醫(yī)院”一起表示于下面。
為檢索要看輕AD病的醫(yī)院病人和誰負(fù)責(zé)治療“Aericept”,調(diào)用集S1S1 σP1(hospital),where P1=diagnosed(“mild AD”)andrespond_to(“Aericept”) (查詢C1)為了檢索要看中度AD病的醫(yī)院病人和誰負(fù)責(zé)治療“Aericept”調(diào)用集S2S2 σP2(hospital),where P2=diagnosed(“moderate AD”)andrespond_to(“Aericept”) (查詢C2)為了計(jì)算S1和S2的和,調(diào)用結(jié)果SSS1∪S2 (查詢C3)為了求S中男、女性病人的平均年齡genderGavg(age)(S)(查詢C4)為了提取S1中病人的基因檔案,調(diào)用G1G1 IIgene-profile(S1) (查詢C5)為了提取S2中病人的基因檔案,調(diào)用G2G2 IIgene-profile(S2) (查詢C6)為了比較G1和G2,并畫出結(jié)果Compare_profile_and_plot(G1,G2) (查詢G7)查詢可以以多種方法聯(lián)合起來,例如,查詢C1至C4可聯(lián)合成一種查詢,如genderGavg(age)(σP1(hospital)) (查詢C8)
與一般的相關(guān)代數(shù)相比,對象相關(guān)代表能操作復(fù)雜的對象。在相關(guān)代數(shù)下,數(shù)據(jù)源單元是簡單的相關(guān),例如平面文件或其字段為原語值的記錄。此外,如上面背景技術(shù)部分所述,“選擇”操作符的條件被限于原語值的簡單比較。此外,方法不允許是相關(guān)代數(shù)下的表達(dá)式。最后,一般相關(guān)代數(shù)下的聚集功能限于像最小、最大、中值、方差、和、計(jì)數(shù)等功能,它只可用于原語值。對象相關(guān)代數(shù)把這些限制取消,并提供比一般相關(guān)代數(shù)有效的優(yōu)點(diǎn)。
雖然本發(fā)明以某些優(yōu)先例的形式作為描述,業(yè)內(nèi)人士明白還可有其它的實(shí)施例。此外,有其它組合、省略、替代和修改也是明顯的。例如,結(jié)構(gòu)化自然語言查詢系統(tǒng)100的模塊可聯(lián)合起來或分成或多或少的模塊,流程圖中的某些行為可平行執(zhí)行、依次執(zhí)行或不同次序執(zhí)行。因此,本發(fā)明并不限于所描述的實(shí)施例,而取決于權(quán)利要求書的內(nèi)容。
下表列出了本系統(tǒng)的一個(gè)實(shí)施例中某些樣本方法。應(yīng)理解,它不是本發(fā)明系統(tǒng)中所需的所有方法,并可以定義附加的方法,系統(tǒng)提供的方法樣本邏輯方法


樣本通用方法



關(guān)于日期的樣本邏輯方法

附加的樣本方法



權(quán)利要求
1.一種結(jié)構(gòu)化自然語言數(shù)據(jù)庫查詢系統(tǒng),系統(tǒng)包括指令定義模塊,用于提示用戶定義一組指令和對每一定義的指令定義相應(yīng)的形式查詢文本;條件定義模塊,用于提示用戶定義一組條件和對每一定義的條件定義相應(yīng)的形式查詢文本;結(jié)構(gòu)化自然語言編排模塊,用于提示用戶用定義的指令和條件編排結(jié)構(gòu)化自然語言查詢;翻譯模塊,用于把編排的結(jié)構(gòu)化自然語言查詢翻譯成形式查詢文本;查詢處理模塊,用于在基本數(shù)據(jù)庫上處理翻譯的形式查詢文本,以從基本數(shù)據(jù)庫返回?cái)?shù)據(jù)結(jié)果。
2.根據(jù)權(quán)利要求1所述的系統(tǒng),其特征在于基本數(shù)據(jù)庫是相關(guān)數(shù)據(jù)庫,并進(jìn)一步包括對象模式定義模塊,用于提示用戶定義對象類,并把定義的對象類與基本相關(guān)數(shù)據(jù)庫中的表相關(guān)聯(lián)。
3.根據(jù)權(quán)利要求1所述的系統(tǒng),其特征在于所述查詢處理模塊用于把翻譯的形式查詢文本變成變換的查詢文本,并在基本數(shù)據(jù)庫上直接執(zhí)行變換的查詢文本。
4.一種編排結(jié)構(gòu)化自然語言數(shù)據(jù)庫查詢的計(jì)算機(jī)實(shí)現(xiàn)方法,方法包括提示用戶從至少一組定義的指令中選擇指令;提示用戶對選擇的指令指定一個(gè)或多個(gè)參數(shù);把選擇的指令和指定的一個(gè)或多個(gè)參數(shù)組合到動(dòng)詞短語中;提示用戶從至少一組定義的條件中選擇一個(gè)或多個(gè)條件;提示用戶對每一選擇的條件指定一個(gè)或多個(gè)參數(shù);對每一個(gè)或多個(gè)選擇的條件,把選擇的條件與其指定的一個(gè)或多個(gè)參數(shù)組合到形容詞短語中,從而產(chǎn)生一個(gè)或多個(gè)形容詞短語;把動(dòng)詞短語和一個(gè)或多個(gè)形容詞短語組合到結(jié)構(gòu)化自然語言數(shù)據(jù)庫查詢中。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于還包括提示用戶定義包括一個(gè)或多個(gè)結(jié)構(gòu)化自然語言數(shù)據(jù)庫查詢的宏指令。
6.根據(jù)權(quán)利要求4所述的方法,其特征在于每個(gè)定義的指令與相應(yīng)的形式查詢文本相關(guān)聯(lián)。
7.根據(jù)權(quán)利要求4所述的方法,其特征在于每個(gè)定義的條件與相應(yīng)的形式查詢文本相關(guān)聯(lián)。
8.根據(jù)權(quán)利要求4所述的方法,其特征在于結(jié)構(gòu)化自然語言數(shù)據(jù)庫查詢是自然語言強(qiáng)制性句子的形式。
9.根據(jù)權(quán)利要求4所述的方法,其特征在于提示用戶選擇包括提示該用戶從一組定義的指令和另一組定義的宏指令中選擇指令的指令。
10.根據(jù)權(quán)利要求4所述的方法,其特征在于提示用戶一個(gè)或多個(gè)包括提示該用戶從一組定義的條件和另一組定義的宏指令中選擇一個(gè)或多個(gè)條件的條件。
11.一種實(shí)現(xiàn)權(quán)利要求4所述方法的計(jì)算機(jī)程序。
12.一種編排結(jié)構(gòu)化自然語言數(shù)據(jù)庫查詢規(guī)則的計(jì)算機(jī)實(shí)現(xiàn)方法,方法包括提示用戶從至少一組定義的條件中選擇一個(gè)或多個(gè)條件;提示用戶對每一選擇的條件指定一個(gè)或多個(gè)參數(shù);對每一個(gè)或多個(gè)選擇的條件,把選擇的條件與其指定的一個(gè)或多個(gè)參數(shù)組合到形容詞短語中,從而產(chǎn)生一個(gè)或多個(gè)形容詞短語;提示用戶從至少一組定義的指令中選擇第一指令;提示用戶對選擇的第一指令指定一個(gè)或多個(gè)參數(shù);把選擇的第一指令與指定的一個(gè)或多個(gè)參數(shù)組合到第一動(dòng)詞短語;和把第一動(dòng)詞短語與一個(gè)或多個(gè)形容詞短語組合到結(jié)構(gòu)化自然語言數(shù)據(jù)庫規(guī)則。
13.根據(jù)權(quán)利要求12所述的方法,其特征在于還包括提示用戶從至少一組定義的指令中選擇第二指令;提示用戶對每一選擇的第二指令指定一個(gè)或多個(gè)參數(shù);把選擇的第二指令與指定的一個(gè)或多個(gè)參數(shù)組合到第二動(dòng)詞短語;和把第一動(dòng)詞短語,第二動(dòng)詞短語和一個(gè)或多個(gè)形容詞短語組合成結(jié)構(gòu)化自然語言數(shù)據(jù)庫規(guī)則。
14.根據(jù)權(quán)利要求12所述的方法,其特征在于還包括提示用戶定義一個(gè)或多個(gè)事件短語,每個(gè)事件短語包括事件,并把動(dòng)詞短語、一個(gè)或多個(gè)形容詞短語和一個(gè)或多個(gè)事件短語組合成結(jié)構(gòu)化自然語言數(shù)據(jù)庫規(guī)則。
15.根據(jù)權(quán)利要求12所述的方法,其特征在于還包括提示用戶定義包括一個(gè)或多個(gè)結(jié)構(gòu)化自然語言規(guī)則的宏指令。
16.根據(jù)權(quán)利要求15所述的方法,其特征在于提示用戶選擇包括提示用戶從至少一組定義的指令和另一組定義的宏指令中選擇第一指令的第一指令。
17.根據(jù)權(quán)利要求15所述的方法,其特征在于提示用戶選擇包括提示用戶從至少一組定義的條件和另一組定義的宏指令中選擇一個(gè)或多個(gè)條件的一個(gè)或多個(gè)條件。
18.一種把結(jié)構(gòu)化自然語言句子翻譯成形式查詢文本的計(jì)算機(jī)實(shí)現(xiàn)方法,方法包括分列結(jié)構(gòu)化自然語言數(shù)據(jù)庫查詢句子,以識(shí)別句子的動(dòng)詞短語和一個(gè)或多個(gè)句子的形容詞短語;識(shí)別相應(yīng)于分列的動(dòng)詞短語定義的指令查詢文本;識(shí)別相應(yīng)于分列的形容詞短語定義的限定查詢文本;把識(shí)別的查詢文本與識(shí)別的一個(gè)或多個(gè)限定查詢文本組合成翻譯的形式查詢文本。
19.一種在對象相關(guān)查詢語言中創(chuàng)建查詢的計(jì)算機(jī)實(shí)現(xiàn)方法,方法包括接收用戶輸入定義的第一變量作為范圍變量;接收用戶輸入定義的第二變量作為集變量;接收用戶輸入定義的指令;接收用戶輸入定義的條件;把定義的第一變量、第二變量、指令和條件組合起來,從而為數(shù)據(jù)庫創(chuàng)建對象相關(guān)查詢。
20.根據(jù)權(quán)利要求19所述的方法,其特征在于還包括接收用戶輸入定義的第三變量作為臨時(shí)變量。
21.根據(jù)權(quán)利要求19所述的方法,其特征在于還包括接收用戶輸入定義的第三變量作為元組變量。
22.根據(jù)權(quán)利要求19所述的方法,其特征在于還包括接收用戶輸入定義的第三變量作為臨時(shí)集變量。
23.根據(jù)權(quán)利要求19所述的方法,其特征在于還包括接收用戶輸入定義的第三變量作為臨時(shí)元組變量。
24.根據(jù)權(quán)利要求19所述的方法,其特征在于還包括接收用戶輸入定義的變量作為屬于對象相關(guān)表達(dá)式。
25.根據(jù)權(quán)利要求19所述的方法,其特征在于接收用戶輸入定義的條件包括作為通用方法接收用戶定義的條件。
26.根據(jù)權(quán)利要求19所述的方法,其特征在于接收用戶輸入定義的條件包括作為通用宏指令接收用戶輸入定義的條件。
27.一種在對象相關(guān)代數(shù)中創(chuàng)建查詢的計(jì)算機(jī)實(shí)現(xiàn)方法,方法包括定義作為第一表達(dá)式的通用方法,第一表達(dá)式包括第一組數(shù)據(jù)對象;定義選擇操作符和與選擇操作符相關(guān)的限定,其中,選擇操作符用于為數(shù)據(jù)庫定義對象相關(guān)查詢,該查詢作為從第一組滿足限定的對象中選擇的第二表達(dá)式。
28.根據(jù)權(quán)利要求27所述的方法,其特征在于第一表達(dá)式是數(shù)據(jù)源單元。
29.根據(jù)權(quán)利要求27所述的方法,其特征在于還包括定義對象相關(guān)查詢的結(jié)果作為數(shù)據(jù)源單元。
30.根據(jù)權(quán)利要求27所述的方法,其特征在于通用方法第一表達(dá)式包括用于通用方法的變元,其中,變元是第三表達(dá)式。
31.根據(jù)權(quán)利要求27所述的方法,其特征在于還包括定義項(xiàng)目操作符和與該操作符相關(guān)的屬性集,其中,項(xiàng)目操作符用于定義另外的查詢,作為根據(jù)屬性集來自第一表達(dá)式的項(xiàng)目。
32.根據(jù)權(quán)利要求27所述的方法,其特征在于還包括定義卡笛爾乘積操作符,其中,卡笛爾乘積操作符用于定義另外的查詢,作為第一表達(dá)式和另一表達(dá)式的卡笛爾乘積。
33.根據(jù)權(quán)利要求27所述的方法,其特征在于還包括聚合操作符,與該操作符有關(guān)的屬性集,和聚合功能集,其中,聚合操作符用于定義另外的查詢,它把第一表達(dá)式根據(jù)屬性集分開成一個(gè)或多個(gè)組,且進(jìn)一步用于對每個(gè)組應(yīng)用一種聚合功能。
全文摘要
一種結(jié)構(gòu)化自然語言查詢和知識(shí)系統(tǒng),允許缺乏編程經(jīng)驗(yàn)的用戶輸入數(shù)據(jù)庫查詢或以結(jié)構(gòu)化語言句子的形式輸入規(guī)則。句子的范圍優(yōu)先由改進(jìn)的對象相關(guān)查詢語言,對象相關(guān)代數(shù),或兩者來定義。在自然語言形式中出現(xiàn)的條件以相應(yīng)的形式查詢文本定義。用戶被提示用定義的指令和條件編排結(jié)構(gòu)化自然語言句子。用戶選擇的指令及其參數(shù)作為結(jié)構(gòu)化自然語言句子的動(dòng)詞短語出現(xiàn)。用戶選擇的條件及其參數(shù)作為形容詞短語出現(xiàn)。句子被分列并改變成翻譯的形式查詢文本,用于數(shù)據(jù)庫查詢和規(guī)則處理。
文檔編號(hào)G06F17/30GK1691013SQ200410038528
公開日2005年11月2日 申請日期2004年4月29日 優(yōu)先權(quán)日2004年4月29日
發(fā)明者北澤敦, 許承瑜 申請人:Nec軟件有限公司, 必茂股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會(huì)獲得點(diǎn)贊!
1