專利名稱::自由格式數(shù)據(jù)處理的方法和設(shè)備的制作方法
技術(shù)領(lǐng)域:
:本發(fā)明一般涉及自由格式數(shù)據(jù)形式的信息的處理、存儲(chǔ)和分析,特別涉及(但不僅限于)用于解譯自由格式文本的方法和設(shè)備。
背景技術(shù):
:對(duì)于計(jì)算機(jī)系統(tǒng)來說,其主要的目的之一就是對(duì)信息進(jìn)行管理。這種信息管理是通過計(jì)算機(jī)內(nèi)部的數(shù)據(jù)管理系統(tǒng)來實(shí)現(xiàn)的。總的來說,數(shù)據(jù)管理系統(tǒng)可分為兩大類1)數(shù)據(jù)庫管理系統(tǒng);和2)文本搜索與檢索系統(tǒng)。第一類的數(shù)據(jù)管理系統(tǒng)將數(shù)據(jù)以特定的格式存入計(jì)算機(jī)內(nèi)部,以便這些數(shù)據(jù)得以保存下來和進(jìn)一步的編輯。在需要的時(shí)候,這些系統(tǒng)將對(duì)數(shù)據(jù)以特定的格式進(jìn)行表達(dá)以便人類讀取數(shù)據(jù)或由其他的系統(tǒng)使用數(shù)據(jù)。這一類的數(shù)據(jù)管理系統(tǒng)包括分級(jí)、網(wǎng)絡(luò)、關(guān)聯(lián)、對(duì)象數(shù)據(jù)庫系統(tǒng)以及智能型管理系統(tǒng)。在分級(jí)網(wǎng)絡(luò)關(guān)聯(lián)數(shù)據(jù)庫中,關(guān)于一個(gè)實(shí)體的信息(一項(xiàng)交易、庫存項(xiàng)目、一個(gè)人、一個(gè)公司、一個(gè)地址等)通常被叫做一項(xiàng)“記錄”(盡管有時(shí)候,一項(xiàng)記錄可能會(huì)包括多個(gè)實(shí)體的信息),在每一項(xiàng)記錄中,實(shí)體的各個(gè)“屬性”通常又被分成“字段”。對(duì)于對(duì)象數(shù)據(jù)庫管理系統(tǒng)和智能型管理系統(tǒng)來說,這些基本的單元可能會(huì)有不同的叫法,比如“對(duì)象”,并且關(guān)于對(duì)象的信息可能被叫做“槽(slot)”或“成分”。每一個(gè)屬性字段/槽均有一種格式,可能是,例如,整數(shù)、實(shí)數(shù)、布爾邏輯或字符等。其他為記錄/對(duì)象。某些字段/槽具有特定的格式(例如,日期、時(shí)間),然而,還有一些則為自由格式文本。數(shù)據(jù)庫一旦建立后,可用來實(shí)現(xiàn)以下的操作·添加一項(xiàng)記錄/對(duì)象·放置和修改一項(xiàng)記錄/對(duì)象·放置和刪除一項(xiàng)記錄/對(duì)象·檢索信息這些操作將被稱為“正常的數(shù)據(jù)庫操作”。在字段/槽中,對(duì)于實(shí)體信息的存儲(chǔ)適用于多種類型數(shù)據(jù)。然而,還有某些類的數(shù)據(jù)不存在適用的標(biāo)準(zhǔn)結(jié)構(gòu)。沒有標(biāo)準(zhǔn)結(jié)構(gòu)數(shù)據(jù)的一個(gè)最好的例子便是“地址”數(shù)據(jù)。由于大多數(shù)的數(shù)據(jù)庫是在一個(gè)、兩個(gè)或三個(gè)自由格式字段存儲(chǔ)人的地址信息的,按地址的單個(gè)屬性來實(shí)現(xiàn)基本的數(shù)據(jù)庫操作非常困難。注意,“屬性”這個(gè)術(shù)語在這里指的是數(shù)據(jù)某個(gè)“元素”的特性。例如,自由格式數(shù)據(jù)“悉尼北部皮特街35號(hào)”就有多個(gè)“元素”。每一個(gè)元素有一個(gè)關(guān)聯(lián)的“屬性”?!氨辈俊边@一元素的“屬性”為“地理指示”。元素“12”的“屬性”為一個(gè)“號(hào)碼(number)”。值得注意的是,“低等級(jí)”的元素與數(shù)據(jù)的“令牌(tokens)”相對(duì)應(yīng),也就是說,元素“北部”是數(shù)據(jù)的一個(gè)“令牌”。然而,數(shù)據(jù)還包含高等級(jí)元素,例如,“悉尼北部”就是一個(gè)包含兩個(gè)令牌的元素,這一元素的屬性為“城鎮(zhèn)”。整個(gè)數(shù)據(jù)“悉尼北部皮特街12號(hào)”的屬性,也就是總的“元素”為一個(gè)“地址”。對(duì)于元素的另一個(gè)叫法為“組件”。對(duì)于這種自由格式數(shù)據(jù)的每一個(gè)元素為其關(guān)聯(lián)的屬性設(shè)有其自己的字段將會(huì)大大的增大數(shù)據(jù)庫的大小和復(fù)雜性,即使對(duì)于這個(gè)簡(jiǎn)單的地址實(shí)例亦是如此。對(duì)于那些包括人員以及其地址信息的數(shù)據(jù)庫,為了避免過于復(fù)雜,特別是對(duì)于老的數(shù)據(jù)庫,地址數(shù)據(jù)可存儲(chǔ)在一個(gè)標(biāo)有“地址”的單個(gè)字段中。在這一字段中包含自由格式的地址,并且,對(duì)于當(dāng)前的數(shù)據(jù)庫技術(shù)來說,對(duì)地址的各個(gè)元素實(shí)現(xiàn)基本的數(shù)據(jù)庫操作是不可能的-那些元素是不可以單獨(dú)進(jìn)行訪問的(那些構(gòu)成地址的元素集合在一塊,作為一個(gè)“地址”整體可被訪問的情況除外)。在一定程度上,這一問題受到數(shù)據(jù)庫清掃/清潔科學(xué)界的重視。這一商業(yè)化奮斗的領(lǐng)域?qū)⒔馕鲞^程應(yīng)用到自由格式文本,以便生成自由格式文本屬性的新的數(shù)據(jù)庫字段并且跨入完全標(biāo)準(zhǔn)化數(shù)據(jù)的區(qū)域。這一數(shù)據(jù)的標(biāo)準(zhǔn)化過程包括將所有的拼寫變量轉(zhuǎn)化成一個(gè)一致的設(shè)定。(例如,“街道(street)→“st”)。該實(shí)例將會(huì)生成以下的結(jié)果從此,這些新的數(shù)據(jù)庫字段將被用來進(jìn)行基本的數(shù)據(jù)庫操作。整個(gè)工業(yè)已完全的投入到這一領(lǐng)域,使用龐大的、復(fù)雜和貴重的軟件包提取存儲(chǔ)在數(shù)據(jù)庫中的信息,分析和處理這些信息以為這些信息記錄屬性生成包括更多字段的新的數(shù)據(jù)庫,從此為這些記錄的操作提供更強(qiáng)的靈活性。關(guān)于清潔/清掃數(shù)據(jù)庫領(lǐng)域,已有很多著作(參閱,例如,1996年9月,DBMS雜志上的“處理糟雜數(shù)據(jù)”一文)。這一過程十分昂貴-對(duì)于一個(gè)龐大的數(shù)據(jù)庫進(jìn)行清潔操作會(huì)花費(fèi)成千上百萬的費(fèi)用,原因在于這一過程消耗時(shí)間非常多,并且所開發(fā)的用于清潔數(shù)據(jù)庫的軟件包也非常的復(fù)雜-其實(shí),即使這樣,在基本的操作方面,即,就某個(gè)元素進(jìn)行數(shù)據(jù)庫操作上仍存在著局限性,一個(gè)元素必須有一個(gè)自己的字段。這就將我們帶入到第二個(gè)主要的問題,這一問題一直困擾著如何在商業(yè)化數(shù)據(jù)庫中存儲(chǔ)計(jì)算機(jī)化的信息。事實(shí)上,所有的商業(yè)數(shù)據(jù)均存儲(chǔ)在分級(jí)式的、關(guān)聯(lián)式的數(shù)據(jù)庫或平面數(shù)據(jù)文件中,這些文件具有在設(shè)計(jì)時(shí)就已確定的具體的結(jié)構(gòu),然而,從這些信息的本質(zhì)上看將是非常復(fù)雜的,并且甚至具有無限數(shù)量的不同屬性。要生成一個(gè)用于每一個(gè)和所有的不同類型的信息的每一和所有屬性的字段的數(shù)據(jù)庫,事實(shí)上是不實(shí)際的。假定是有可能的話,要生成一個(gè)包含用于人類所需的所有類型信息的字段的數(shù)據(jù)庫,從成本上講,也是不實(shí)際的。既使一個(gè)費(fèi)用不大的(但很重要的)例子就足以說明問題的難度。讓我們考慮一下國際地址問題,也就是,世界上所有的地址。盡管四或五個(gè)自由格式字段就可以包含任何地址,要設(shè)計(jì)一個(gè)包括所有的國際地址的所有可能的屬性的數(shù)據(jù)字段這樣的一個(gè)數(shù)據(jù)庫將需要不是上千個(gè)也會(huì)是上百個(gè)這樣的數(shù)據(jù)字段。英國有多個(gè)縣;美國和澳大利亞有多個(gè)州;日本有多個(gè)區(qū),并且各個(gè)不同的地址又有各自不同的表達(dá)習(xí)慣等等。數(shù)據(jù)庫清潔/清掃的研究是迄今為止僅有的部分方案。然而,對(duì)于每一數(shù)據(jù)屬性,它仍然需要相同的基本的數(shù)據(jù)庫結(jié)構(gòu)。人們可以建立越來越多的復(fù)雜的數(shù)據(jù)庫,但是這一問題終不會(huì)徹底的解決,并且會(huì)大大地限制計(jì)算機(jī)對(duì)信息的處理。自然語言處理系統(tǒng)是通過使用“語義語法”對(duì)語義信息編碼使其成為一種依據(jù)造句法的語法。這些系統(tǒng)主要用來向其他的系統(tǒng),例如數(shù)據(jù)庫管理系統(tǒng),提供自然語言接口。以下的內(nèi)容摘自由D.W.皮特森(Patterson,D.W.)寫的一本書“人工智能和專家系統(tǒng)”?!啊鼈儾捎脽o終端的語義成分使用與上下文無關(guān)的改寫規(guī)則。這些成分為類別或元符號(hào),例如,屬性、對(duì)象、呈現(xiàn)(如出現(xiàn)在顯示器上的或打印機(jī)上的)、和船舶(ship),而不是NP(名詞狀態(tài))、VP(動(dòng)詞狀態(tài))、N(名詞)、V(動(dòng)詞)等等?!跒閿?shù)不多的應(yīng)用中,語義語法已被證明是成功的,這些應(yīng)用包括LIFER,有(美國)海軍發(fā)布的一個(gè)數(shù)據(jù)庫查詢系統(tǒng)…,和用于指導(dǎo)電路故障診斷的,名為SOPHIE的指南系統(tǒng)。從根本上講,用于這些系統(tǒng)中的改寫規(guī)則使用以下的格式S→什么是<CIRCUIT-PART>的<OUTPUT-PROPERTY>?OUTPUT-PROPERTY→該<OUTPUT-PROP>OUTPUT-PROPERTY→<OUTPUT-PROP>CIRCUIT-PART→C23CIRCUIT-PART→D12OUTPUT-PROP→電壓OUTPUT-PROP→電流在LIFER系統(tǒng)中,有處理大量的查詢問題的格式,例如最靠近紐約的通信公司(carriers)的名字是什么?誰指揮肯尼迪?等等。分析這些句子并把單詞對(duì)照為辭典詞條中的元符號(hào)。例如,輸入句子“打印計(jì)劃的長(zhǎng)度”(’printthelengthoftheEnterprise’)將與<LTG>-><PRESENT>the<ATTRIBUTE>of<SHIP>相配其中,print與<PRESENT>相配;length與<ATTRIBUTE>相配;Enterprise與<SHIP>的LIFER頂層語法規(guī)則相配。與<ATTRIBUTE>相配的其他典型的辭典詞條包括等級(jí)、指揮官、燃料、類型、梁和長(zhǎng)度等等(CLASS,COMMANDER,FUEL,TYPE,BEAM,LENGTH)。這些類型的系統(tǒng)以特定結(jié)構(gòu)的或自由格式的形式接收數(shù)據(jù)并將其轉(zhuǎn)化為系統(tǒng)自己的表達(dá)形式。盡管其接口具有一定的靈活性,并且與之連接的數(shù)據(jù)庫具有固定的結(jié)構(gòu)形式,然而,這些系統(tǒng)仍無法對(duì)數(shù)據(jù)的原文(人類可讀的)進(jìn)行轉(zhuǎn)化。的確,以前是有多個(gè)系統(tǒng),它可向具有特定結(jié)構(gòu)的數(shù)據(jù)庫提供“自然語言”的接口。不過,所有的這類系統(tǒng)均是將“自然語言”翻譯成某些特定結(jié)構(gòu)數(shù)據(jù)的格式。這同樣存在前面所述的同樣的問題。作為這類系統(tǒng)的一個(gè)實(shí)例,請(qǐng)參閱美國專利4787035,波恩,“數(shù)據(jù)譯員”和美國專利5454106,波斯,瑪哈托,A.,“使用自然語言展示…可讀元素的數(shù)據(jù)庫檢索系統(tǒng)”。正如前面所討論的,有一種數(shù)據(jù)庫管理系統(tǒng)是智能型的數(shù)據(jù)庫管理系統(tǒng)(KBMS)。這些系統(tǒng)對(duì)對(duì)象采用屬性“槽”的概念。這些槽就對(duì)象提供或是轉(zhuǎn)換信息,進(jìn)行直接的存儲(chǔ)或是間接的經(jīng)過處理。一個(gè)簡(jiǎn)單的“槽”的實(shí)例就可以說明問題一個(gè)“正方形”對(duì)象有兩個(gè)屬性槽,“長(zhǎng)度”和“面積”?!懊娣e”槽的值不需要進(jìn)行存儲(chǔ),因?yàn)樗梢酝ㄟ^“長(zhǎng)度”值的平方而求得。盡管這類的系統(tǒng)不需要固定的數(shù)據(jù)庫結(jié)構(gòu),然而,它們卻需要將原始數(shù)據(jù)轉(zhuǎn)化成內(nèi)部數(shù)據(jù)表示方法,這就需要一套非常復(fù)雜的“語言生成”過程以便生成人類可讀的信息。如果要求這類的系統(tǒng)保留原始數(shù)據(jù)以便其他的系統(tǒng)或人類使用,一個(gè)小小的轉(zhuǎn)化就需要整個(gè)的文本串重新生成。數(shù)據(jù)管理系統(tǒng)的文本搜索和檢索類別不是輸入數(shù)據(jù),而是建立可搜索的指向原始數(shù)據(jù)的索引。這些類別包括文件存儲(chǔ)與檢索系統(tǒng);以及互聯(lián)網(wǎng)搜索引擎。這類的系統(tǒng)之所以非常成功,原因在于它們將原始信息保留成人類可讀的形式。運(yùn)一基本的原則意味著,它不同于前面提到的原始的數(shù)據(jù)庫系統(tǒng),其根本的數(shù)據(jù)可以輕松的與該類很多的系統(tǒng)共享。其成功的另一個(gè)原因在于,在不需要對(duì)原始數(shù)據(jù)進(jìn)行轉(zhuǎn)化的情況下即可進(jìn)行技術(shù)方面的革新。數(shù)據(jù)轉(zhuǎn)換不僅十分昂貴,而且也是數(shù)據(jù)出錯(cuò)的主要原因。然而,與上面所述的數(shù)據(jù)庫系統(tǒng)相比,在使用這類系統(tǒng)管理數(shù)據(jù)時(shí),它也存在著諸多的缺點(diǎn)。主要的缺陷是數(shù)據(jù)無法操縱-它不可修改,什么樣就是什么樣。難于進(jìn)行操作的數(shù)據(jù)庫功能還有·對(duì)數(shù)據(jù)進(jìn)行交互檢查和確認(rèn)·將數(shù)據(jù)與數(shù)據(jù)庫系統(tǒng)集成·對(duì)文本數(shù)據(jù)進(jìn)行分類和分級(jí)從這些局限性上我們可以看到,該類數(shù)據(jù)管理系統(tǒng)適合于不需要進(jìn)行轉(zhuǎn)換的未結(jié)構(gòu)化的數(shù)據(jù)。在文本搜索與檢索系統(tǒng)中,眾所周知,在對(duì)文件庫進(jìn)行處理時(shí),需要找出每一個(gè)文件的特定的屬性,比如,“主題”詞。使用這樣的系統(tǒng)進(jìn)行處理的文件類型包括書、報(bào)紙、報(bào)告、手冊(cè)和電子郵件。然而,大多數(shù)這類系統(tǒng)只尋找單個(gè)的字進(jìn)行匹配,而不是按上下文找多個(gè)字。還有一些其他的系統(tǒng)通過識(shí)別名詞卻不對(duì)名詞進(jìn)行分類。這兩種系統(tǒng)均不適合諸如地址數(shù)據(jù)這樣的數(shù)據(jù),因?yàn)樗淮蟛糠值膶S忻~。另外,在上下文中,原始數(shù)據(jù)無法更改。關(guān)于這一領(lǐng)域的詳細(xì)情況,請(qǐng)參閱蓋拉德·薩敦的著作。請(qǐng)注意,不要把在下文中將使用的“文本對(duì)象”這個(gè)術(shù)語與描述在計(jì)算機(jī)系統(tǒng)之間通過壓縮文本串對(duì)一項(xiàng)項(xiàng)的文本數(shù)據(jù)進(jìn)行存儲(chǔ)和轉(zhuǎn)換的軟件技術(shù)中使用的術(shù)語“文本對(duì)象”相混淆。使用“文本對(duì)象”這一術(shù)語的技術(shù)從用于蘋果機(jī)操作系統(tǒng)的“串”對(duì)象(其中的對(duì)象主要包含兩字節(jié)“長(zhǎng)度”值的導(dǎo)引和文本串)到X-Windows操作系統(tǒng)中使用的“復(fù)合串”對(duì)象(其中的對(duì)象對(duì)一項(xiàng)信息的多重編碼、語言轉(zhuǎn)換、和字體進(jìn)行壓縮)均有使用。發(fā)明概述本發(fā)明的第一方面提供了一種對(duì)存儲(chǔ)在計(jì)算機(jī)系統(tǒng)中的自由格式數(shù)據(jù)的處理方法。它包括對(duì)數(shù)據(jù)元素的內(nèi)容進(jìn)行檢查的步驟,以便確定數(shù)據(jù)的屬性,通過檢查各個(gè)元素的內(nèi)容以及各個(gè)元素之間的上下文關(guān)系,來確定有關(guān)數(shù)據(jù)的語義和造句信息(屬性),生成與這些信息相關(guān)聯(lián)的附加的數(shù)據(jù),并以文本對(duì)象的形式表示,這包括指針裝置,它意味著可對(duì)自由格式數(shù)據(jù)的元素進(jìn)行訪問,并且,可以通過查詢處理裝置訪問附加數(shù)據(jù),以便提供與數(shù)據(jù)的語義和造句信息有關(guān)的查詢的答案,和/或訪問數(shù)據(jù)并對(duì)數(shù)據(jù)進(jìn)行操作。在此說明書中使用的術(shù)語“文本對(duì)象”并不象前面所述的那樣對(duì)文本串進(jìn)行壓縮。在本發(fā)明中的文本對(duì)象這一術(shù)語提供了一個(gè)實(shí)際文本數(shù)據(jù)和例如一個(gè)需要訪問和/或處理文本數(shù)據(jù)的應(yīng)用軟件系統(tǒng)之間的“語義層”。按其最簡(jiǎn)單的格式,如前面所說的,文本對(duì)象即為附加數(shù)據(jù),與通過對(duì)數(shù)據(jù)元素的檢查所得到的語義和造句信息相關(guān)聯(lián),并且指針裝置為(例如一個(gè)關(guān)鍵碼(key)),它可以帶回到自由格式數(shù)據(jù)的元素(例如,查索形成自由格式數(shù)據(jù)的文本串)。附加數(shù)據(jù)最好允許通過對(duì)數(shù)據(jù)的檢查所得到的數(shù)據(jù)的屬性。例如,在前言部分給出的那個(gè)例子-“悉尼北部皮特街12號(hào)”中,該數(shù)據(jù)具有各不相同的屬性,例如,“街道(street)”等于“皮特街12號(hào)”;“街道號(hào)碼(streetnumber)”等于“12”;“城鎮(zhèn)(town)”等于“悉尼北部”,等等。這些屬性由附加數(shù)據(jù)進(jìn)行辨識(shí),并且,指針裝置最好允許對(duì)這些數(shù)據(jù)的元素進(jìn)行訪問,這些數(shù)據(jù)的元素又與那些屬性相關(guān)聯(lián)。附加數(shù)據(jù)有效的提供了一些“虛擬數(shù)據(jù)字段”-這些數(shù)據(jù)字段不像他們?cè)谝话愕臄?shù)據(jù)庫中那樣真實(shí)的存在,并有一欄目字段前端用于放置每一項(xiàng)屬性。不過,基于一個(gè)一個(gè)的屬性的基礎(chǔ)上,使用本發(fā)明便可對(duì)自由格式數(shù)據(jù)進(jìn)行訪問,猶如那些屬性字段真實(shí)地存在著一樣。本發(fā)明優(yōu)選的體現(xiàn)方法是生成“虛擬數(shù)據(jù)字段”,它最好允許對(duì)自由格式文本的一般的數(shù)據(jù)庫操作,而沒有必要生成自由格式文本的真實(shí)的數(shù)據(jù)字段。自由格式文本能夠在其同樣的位置保持其原樣存儲(chǔ)(通常為數(shù)據(jù)庫)。當(dāng)有人考慮對(duì)多個(gè)自由格式數(shù)據(jù)記錄進(jìn)行處理時(shí),如國際地址數(shù)據(jù),本發(fā)明的重要性將顯而易見。正如上面所討論的,盡管四到五個(gè)地址字段便可存儲(chǔ)自由格式形式的所有的國際地址數(shù)據(jù),然而,每項(xiàng)數(shù)據(jù)記錄會(huì)有多個(gè)屬性,而且與其他的地址相比,其屬性又各不相同,比如,英國有縣,而美國有州。因此,為所有的國際地址的所有的屬性生成真實(shí)的傳統(tǒng)的數(shù)據(jù)庫字段簡(jiǎn)直就是一項(xiàng)幾乎是不可能的任務(wù)。然而,對(duì)于本發(fā)明來講,自由格式數(shù)據(jù)的每一項(xiàng)記錄均可以實(shí)現(xiàn)并且進(jìn)行處理,并繼而以文本對(duì)象的形式為該特定的記錄生成一個(gè)數(shù)量不大的虛擬數(shù)據(jù)字段。然后,通過恰當(dāng)?shù)牟樵兲幚硌b置對(duì)于每一項(xiàng)記錄的文本對(duì)象進(jìn)行單獨(dú)的查詢,以便對(duì)于該項(xiàng)記錄提供所有的一般數(shù)據(jù)庫操作。數(shù)據(jù)本身可保留其原位。由于為每一個(gè)記錄生成了一個(gè)單獨(dú)的文本對(duì)象,對(duì)于每一個(gè)記錄提供不同的虛擬數(shù)據(jù)字段是不成問題的。我們沒有必要生成帶有多個(gè)字段的龐大的數(shù)據(jù)庫,我們只需使數(shù)據(jù)庫記錄保留其原樣并且生成多個(gè)文本對(duì)象,每個(gè)記錄生成一個(gè),總體上給出多個(gè)虛擬字段,然而,對(duì)于每個(gè)文本對(duì)象沒有幾個(gè)虛擬字段。檢查的步驟包括對(duì)自由格式數(shù)據(jù)的解析過程。一個(gè)文本對(duì)象最好能夠使數(shù)據(jù)處理,進(jìn)行所有一般的數(shù)據(jù)庫操作,例如,修改記錄、存放記錄的元素、從記錄中檢索信息等等。由文本對(duì)象所提供的信息最好包括數(shù)據(jù)元素的信息。在優(yōu)選的實(shí)現(xiàn)方式中,信息也可能包括其匹配信息(例如語音),以幫助數(shù)據(jù)的一項(xiàng)記錄與數(shù)據(jù)的另一項(xiàng)記錄之間進(jìn)行比較,篩選出優(yōu)先的信息以更加有效地對(duì)自由格式文本等進(jìn)行處理。有理由相信,這一新的方法將使計(jì)算機(jī)能夠幾乎像人類那樣對(duì)自由格式數(shù)據(jù)進(jìn)行處理。一旦數(shù)據(jù)庫的恰當(dāng)?shù)臋谀棵Q被確定下來,就沒有必要根據(jù)數(shù)據(jù)記錄的屬性分解數(shù)據(jù)記錄,并將每一屬性類型的標(biāo)準(zhǔn)值放入數(shù)據(jù)庫中適當(dāng)?shù)淖侄沃?如傳統(tǒng)的做法那樣)。每一項(xiàng)數(shù)據(jù)記錄的每一個(gè)文本對(duì)象均提供了計(jì)算機(jī)所需的所有的處理方法和信息,以便進(jìn)行一般的數(shù)據(jù)庫操作。比如說,國際地址的屬性類型是可以比較,處理的,等,沒有必要提供一個(gè)帶有多個(gè)字段的復(fù)雜的數(shù)據(jù)庫。文本對(duì)象包括可訪問的屬性類型標(biāo)識(shí)符和指針。前者用來對(duì)自由格式數(shù)據(jù)的屬性進(jìn)行識(shí)別;后者用來對(duì)具有特定屬性的數(shù)據(jù)元素進(jìn)行定位。在優(yōu)選的實(shí)施例中,文本對(duì)象包括“元素節(jié)點(diǎn)”式的多個(gè)組件。更可取的是,多個(gè)元素節(jié)點(diǎn)按照事先確定的層次在文本對(duì)象中是相互關(guān)聯(lián)的。例如,這些元素節(jié)點(diǎn)可被看作是以“文本節(jié)點(diǎn)樹”的形式“筑巢”在一起,該樹有許許多多的樹枝,它又將多個(gè)不同的元素節(jié)點(diǎn)按預(yù)定的層次相互關(guān)聯(lián)在一起,每一個(gè)元素節(jié)點(diǎn)可包括·一個(gè)屬性類型標(biāo)識(shí)符(對(duì)與該元素節(jié)點(diǎn)相關(guān)聯(lián)的自由格式數(shù)據(jù)的屬性進(jìn)行分級(jí));·一個(gè)指針,指向文本對(duì)象串內(nèi)的次級(jí)串的開始(也就是說,與元素節(jié)點(diǎn)相關(guān)聯(lián)的元素的開始點(diǎn))?!ひ粋€(gè)整數(shù),包含(數(shù)據(jù))元素次級(jí)串的字符長(zhǎng)度。·零、一或多個(gè)其他的元素節(jié)點(diǎn)(在這個(gè)元素節(jié)點(diǎn)內(nèi)筑巢或與該元素節(jié)點(diǎn)關(guān)聯(lián)在一起以便可通過該元素節(jié)點(diǎn)對(duì)其他的元素節(jié)點(diǎn)進(jìn)行訪問),最好以隊(duì)列的形式存儲(chǔ)?!ひ粋€(gè)匹配程度(matchingweight)(在與其他的文本對(duì)象進(jìn)行比較時(shí),表示該元素的相對(duì)重要性);·一個(gè)布爾邏輯變量,表示該屬性類型標(biāo)識(shí)符是否是一個(gè)低等級(jí)的匹配元素,和·取決于時(shí)間/空間上的考慮,一個(gè)或多個(gè)值,以便于匹配處理過程。(對(duì)此,請(qǐng)參閱下面的“文本串操作”部分)·一個(gè)解析優(yōu)先級(jí)值(對(duì)與元素節(jié)點(diǎn)相關(guān)聯(lián)的自由格式數(shù)據(jù)的元素給出一個(gè)概念性的優(yōu)先級(jí),以便對(duì)優(yōu)先級(jí)進(jìn)行分配,并在出現(xiàn)沖突的情況下,可使用這個(gè)優(yōu)先級(jí)來確定對(duì)自由格式文本的最佳的解釋)。從形體上看,其他的元素節(jié)點(diǎn)可能不是在元素節(jié)點(diǎn)內(nèi)筑巢,而是每個(gè)元素節(jié)點(diǎn)可能只包含一列指針指向從屬的元素節(jié)點(diǎn),以便從屬的元素節(jié)點(diǎn)在包含該列指針的元素節(jié)點(diǎn)中被識(shí)別出來。更為可取的是,每一元素節(jié)點(diǎn)與自由格式數(shù)據(jù)的一個(gè)特定的屬性相關(guān)聯(lián),正如被元素節(jié)點(diǎn)中屬性類型標(biāo)識(shí)符所識(shí)別出來的那樣。那些層次相對(duì)高的元素節(jié)點(diǎn)可包含或指向多個(gè)其他的元素節(jié)點(diǎn),而那些層次最低的元素節(jié)點(diǎn)可不包含或指向任何其他的元素節(jié)點(diǎn),因?yàn)楸绕鋵哟卧俅渭?jí)的便是自由格式數(shù)據(jù)的關(guān)聯(lián)元素了。層次是由自由格式數(shù)據(jù)的解析過程確定的。例如,一項(xiàng)地址數(shù)據(jù)記錄的某個(gè)屬性可能是<街道>,也就是說,“皮特街12號(hào)”。<街道>元素的次級(jí)屬性是<街道號(hào)碼>“12”、<街道名稱>“皮特”和<街道類型>“街道”。<街道>元素節(jié)點(diǎn)將由此列出三個(gè)其他的次級(jí)元素節(jié)點(diǎn),具有屬性類型標(biāo)識(shí)符<街道號(hào)碼>、<街道名稱>和<街道類型>。更為可取的是,每一個(gè)元素節(jié)點(diǎn)可被看作是文本對(duì)象本身。這一遞歸特點(diǎn)使得本發(fā)明的文本對(duì)象的所有的功能可應(yīng)用于每一項(xiàng)屬性。文本對(duì)象也可包含其他的數(shù)據(jù)結(jié)構(gòu),用于特定元素節(jié)點(diǎn)的快速定位。這種結(jié)構(gòu)的一個(gè)實(shí)例就是一個(gè)查閱表,它含有所有的屬性類型標(biāo)識(shí)符和指針指向與它們相關(guān)聯(lián)的元素節(jié)點(diǎn)。更可取的是,查詢處理裝置是一套應(yīng)用軟件引擎,通過對(duì)其配置,它能夠使用文本對(duì)象回答有關(guān)數(shù)據(jù)的問題和訪問數(shù)據(jù)以便對(duì)其進(jìn)行處理(例如,有錯(cuò)誤時(shí)進(jìn)行糾正)。更可取的是,這種方法還包含準(zhǔn)備進(jìn)一步的“索引”的功能,這可更有利于對(duì)自由格式數(shù)據(jù)的多項(xiàng)記錄的元素進(jìn)行比較。更可取的是,索引是以一個(gè)表格的形式形成的(發(fā)明人稱之為“文本對(duì)象索引”),它包括,欄目、欄對(duì)象題和數(shù)據(jù)。除了它是從附加數(shù)據(jù)中為多個(gè)數(shù)據(jù)記錄的每一個(gè)數(shù)據(jù)記錄準(zhǔn)備的以外,就像傳統(tǒng)的數(shù)據(jù)庫的方式是一樣的。更可取的是,文本對(duì)象索引包含一個(gè)表格,表格中有一個(gè)屬性類型標(biāo)識(shí)符的欄目,一個(gè)代表值關(guān)鍵碼的欄目,和一個(gè)用戶提供的記錄標(biāo)識(shí)符的欄目。代表值關(guān)鍵碼提供與恰當(dāng)?shù)脑仡愋蜆?biāo)識(shí)符關(guān)聯(lián)的元素的特性的代表值,例如,專有名詞元素(例如,史密斯)的語音值或普通詞(比如,街道)的數(shù)字標(biāo)識(shí)符。下面的關(guān)于文本串匹配的內(nèi)容更為詳細(xì)的介紹有關(guān)代表值的情況。用戶提供的記錄標(biāo)識(shí)符將為用戶辨識(shí)哪一個(gè)自由格式數(shù)據(jù)記錄將被比較或訪問,也就是一個(gè)指針,它使得對(duì)該記錄進(jìn)行訪問成為可能。在準(zhǔn)備了文本對(duì)象索引的地方,擁有多個(gè)元素節(jié)點(diǎn)、這些節(jié)點(diǎn)含有屬性類型標(biāo)識(shí)符和其他數(shù)據(jù)的文本對(duì)象不是十分必要。所有的訪問數(shù)據(jù)和進(jìn)行數(shù)據(jù)庫操作所需的只是查詢處理引擎和文本對(duì)象索引。文本對(duì)象索引可從對(duì)數(shù)據(jù)的檢查中直接準(zhǔn)備,并且,文本對(duì)象索引包括多項(xiàng)記錄的文本對(duì)象(也就是說,附加數(shù)據(jù)加上指向記錄的指針)。作為一個(gè)獨(dú)立的“元素節(jié)點(diǎn)結(jié)構(gòu)”,文本對(duì)象因而可被分配,或者作為一個(gè)獨(dú)立的整體,不是非需要不可的。事實(shí)上,它是作為附加數(shù)據(jù)和指針與文本對(duì)象索引合成一體的。在文本對(duì)象包含對(duì)于自由格式文本的低等級(jí)元素的“匹配”值的地方,對(duì)包含用不同的語言書寫的記錄的元素進(jìn)行比較是完全可能的。例如,通過對(duì)其各自的匹配值進(jìn)行比較,一個(gè)包含用日本漢字書寫的街道名稱這樣的自由格式記錄完全可以與用阿拉伯語書寫的街道名稱的自由格式記錄進(jìn)行比較。對(duì)于每一項(xiàng)記錄中的街道名稱可能是相同的,然而,在自由格式數(shù)據(jù)中,只是用不同的語言表達(dá)出來。由本發(fā)明的該方面所提供的這一匹配信息因而能夠使得用不同語言表達(dá)的自由格式文本元素可進(jìn)行比較。匹配值可在對(duì)文本對(duì)象處理的過程中生成,并且沒有必要在文本對(duì)象中存儲(chǔ)。也就是說,它們是通過由查詢處理引擎指定的程序以“飛行式(onthefly)”方式生成的。隨后有詳細(xì)的介紹。在本發(fā)明的這一方法中,更可取的是,檢查數(shù)據(jù)的元素以確定元素的步驟包括按照域?qū)ο蟮恼Z法規(guī)則解析自由格式數(shù)據(jù)的步驟。域?qū)ο笫怯捎驑?gòu)造過程建立的。該過程使用的輸入數(shù)據(jù)為字符定義數(shù)據(jù)、正規(guī)表達(dá)定義數(shù)據(jù)和語法數(shù)據(jù)。文本節(jié)點(diǎn)樹的元素節(jié)點(diǎn)的層次優(yōu)選由那個(gè)特定的域?qū)ο蟮恼Z法規(guī)則來確定。本發(fā)明的一種實(shí)現(xiàn)方法可由一套應(yīng)用軟件來實(shí)現(xiàn),該軟件包含一個(gè)域?qū)ο蠛鸵粋€(gè)查詢處理裝置。通過對(duì)域?qū)ο蟮陌才?,來檢查自由格式數(shù)據(jù),以便生成文本對(duì)象,然后它將被查詢處理裝置使用來對(duì)自由格式數(shù)據(jù)庫進(jìn)行操作。自由格式數(shù)據(jù)可以任何的方式進(jìn)行存儲(chǔ),例如計(jì)算機(jī)系統(tǒng)上的傳統(tǒng)的數(shù)據(jù)庫。無格式數(shù)據(jù)也可作為一個(gè)數(shù)據(jù)串存儲(chǔ)于文本目標(biāo)中。包含域?qū)ο蠛筒樵兲幚硪娴膽?yīng)用軟件可被用來處理數(shù)據(jù),而不會(huì)影響數(shù)據(jù)庫中的存儲(chǔ)。因此,其他的應(yīng)用軟件可以通常的方式與數(shù)據(jù)庫進(jìn)行接口,也就是說,就其操作這一方面而言,數(shù)據(jù)庫完全不受任何的影響,只是域?qū)ο蠛筒樵兲幚硌b置可被用來增強(qiáng)數(shù)據(jù)庫的能力,因?yàn)樗鼈兲峁┝藢?duì)自由格式數(shù)據(jù)的所有元素進(jìn)行訪問的能力。沒有數(shù)據(jù)清潔和準(zhǔn)備具有更多字段的新的數(shù)據(jù)庫,對(duì)自由格式數(shù)據(jù)字段的數(shù)據(jù)進(jìn)行訪問在以前是不可能的。除此之外,本發(fā)明還具有大大的潛力,來對(duì)數(shù)據(jù)進(jìn)行將來的構(gòu)建和定制。例如,利用本發(fā)明可大大的降低所需的用來在數(shù)據(jù)庫中存儲(chǔ)數(shù)據(jù)的字段的數(shù)目。就以上那個(gè)國際名稱和地址的實(shí)例來看,目前不可能有一個(gè)數(shù)據(jù)庫在僅僅一個(gè)字段內(nèi)來處理國際地址數(shù)據(jù)。這是因?yàn)閲H地址數(shù)據(jù)擁有多個(gè)不同的屬性。然而,使用本發(fā)明,國際地址可儲(chǔ)放在僅僅一個(gè)自由格式字段中,該字段包含了所有的國際地址記錄。通過本發(fā)明的處理方法可向每一個(gè)國際地址記錄提供其自己的一套虛擬數(shù)據(jù)字段,在其中,通過對(duì)每一數(shù)據(jù)記錄所有元素信息的查詢處理裝置、處理和訪問并與其他的記錄進(jìn)行比較。確實(shí),它可提供用于所有國際地址的僅僅一個(gè)域?qū)ο?。任何的自由格式?shù)據(jù)均可以這樣的方式進(jìn)行處理。本發(fā)明并不僅限于地址數(shù)據(jù)。從進(jìn)一步的方面看,本發(fā)明提出了一種能夠訪問在計(jì)算系統(tǒng)中存儲(chǔ)的自由格式數(shù)據(jù)的方法,包括多個(gè)自由格式數(shù)據(jù)記錄,存儲(chǔ)對(duì)于每一數(shù)據(jù)記錄中數(shù)據(jù)的、與語義和造句信息(屬性)相關(guān)聯(lián)的附加數(shù)據(jù)的步驟,附加數(shù)據(jù)采用的是與每一個(gè)數(shù)據(jù)記錄相關(guān)聯(lián)的文本對(duì)象的形式。文本對(duì)象包括指針裝置,憑借該指針能夠訪問每一個(gè)自由格式數(shù)據(jù)的元素。附加數(shù)據(jù)可通過查詢處理裝置進(jìn)行訪問,以便提供與數(shù)據(jù)的語義和造詞信息相關(guān)聯(lián)的查詢的答案,和/或訪問數(shù)據(jù)并對(duì)其進(jìn)行處理。更為可取的是,文本對(duì)象包括任何或所有的文本對(duì)象的特性,正如在本發(fā)明的第一個(gè)方面中所討論的那樣,文本對(duì)象是通過檢查屬性特點(diǎn)而生成的,這已在上面進(jìn)行了討論。本發(fā)明進(jìn)一步提出了一種能夠訪問在計(jì)算系統(tǒng)中存儲(chǔ)的自由格式數(shù)據(jù)的方法,包括多個(gè)自由格式數(shù)據(jù)記錄,該方法包括存儲(chǔ)對(duì)于每一數(shù)據(jù)記錄中數(shù)據(jù)的、與語義和造句信息(屬性)相關(guān)聯(lián)的附加數(shù)據(jù)的步驟,附加數(shù)據(jù)采用的是文本對(duì)象索引的形式,它包括,對(duì)于每一個(gè)數(shù)據(jù)記錄的元素的屬性類型標(biāo)識(shí)符和指針指向每一數(shù)據(jù)記錄。文本對(duì)象索引可通過查詢處理裝置進(jìn)行查詢,以提供與數(shù)據(jù)的語義和造詞信息相關(guān)聯(lián)的問題的答案,和/或訪問數(shù)據(jù)并對(duì)其進(jìn)行處理。更為可取的是,文本對(duì)象包括任何或所有的文本對(duì)象索引的特性,正如在本發(fā)明的第一個(gè)方面中所討論的那樣。文本對(duì)象是通過處理步驟而生成的,這已在上面進(jìn)行了討論。從更進(jìn)一步的方面看,本發(fā)明提供了一個(gè)處理系統(tǒng),用以處理存儲(chǔ)在計(jì)算系統(tǒng)中的自由格式數(shù)據(jù)。該設(shè)備包括檢查數(shù)據(jù)元素以確定數(shù)據(jù)的屬性的裝置,通過檢查元素的內(nèi)容以及元素之間的上下文關(guān)系來確定有關(guān)數(shù)據(jù)的語義和造句信息(屬性);以及與該信息相關(guān)聯(lián)的附加數(shù)據(jù)的生成方法,并以文本對(duì)象的形式表示出來,它包括指針裝置,它能夠用來訪問自由格式數(shù)據(jù)的元素,和一個(gè)查詢處理裝置,通過該裝置可對(duì)附加數(shù)據(jù)進(jìn)行訪問以便提供與數(shù)據(jù)的語義和造詞信息相關(guān)聯(lián)的查詢的答案,和/或訪問數(shù)據(jù)并對(duì)其進(jìn)行處理。根據(jù)任何一個(gè)或所有的特性,通過應(yīng)用同樣的檢查方法。檢查裝置和生成裝置用來生成一個(gè)文本對(duì)象,這在前面已進(jìn)行了討論。本發(fā)明又進(jìn)一步提供了一個(gè)處理系統(tǒng),它能夠?qū)Υ鎯?chǔ)在計(jì)算系統(tǒng)中的自由格式數(shù)據(jù)進(jìn)行訪問,這包括多個(gè)自由格式數(shù)據(jù)記錄,處理系統(tǒng)包括與每個(gè)數(shù)據(jù)記錄的數(shù)據(jù)的語義和造句信息(屬性)相關(guān)聯(lián)的附加數(shù)據(jù),這可通過處理系統(tǒng)進(jìn)行存儲(chǔ)和訪問。附加數(shù)據(jù)以與每個(gè)數(shù)據(jù)記錄相關(guān)聯(lián)的文本對(duì)象的形式表示,文本對(duì)象包括指針裝置,憑此可對(duì)每個(gè)自由格式數(shù)據(jù)記錄的元素進(jìn)行訪問,和一個(gè)查詢處理裝置,用來訪問附加數(shù)據(jù),以便提供與數(shù)據(jù)的語義和造詞信息相關(guān)聯(lián)的問題的答案,和/或訪問數(shù)據(jù)并對(duì)其進(jìn)行處理。本發(fā)明又進(jìn)一步提供了一個(gè)處理系統(tǒng),它能夠?qū)Υ鎯?chǔ)在計(jì)算系統(tǒng)中的自由格式數(shù)據(jù)進(jìn)行訪問,這包括多個(gè)自由格式數(shù)據(jù)記錄,處理系統(tǒng)包括與每個(gè)數(shù)據(jù)記錄的自由格式數(shù)據(jù)的語義和造句信息(屬性)相關(guān)聯(lián)的附加數(shù)據(jù)。附加數(shù)據(jù)以文本對(duì)象索引的形式表示,文本對(duì)象索引包括每一數(shù)據(jù)記錄的元素的屬性類型標(biāo)識(shí)符,和指針裝置,指向每一數(shù)據(jù)記錄,和一個(gè)查詢處理裝置,用來訪問附加數(shù)據(jù),以便提供與數(shù)據(jù)的語義和造詞信息相關(guān)聯(lián)的問題的答案,和/或訪問數(shù)據(jù)并對(duì)其進(jìn)行處理。本發(fā)明又進(jìn)一步提供了一種設(shè)備,包括域?qū)ο?,用來處理自由格式?shù)據(jù)從而生成文本對(duì)象,文本對(duì)象包括任何一個(gè)或所有的文本對(duì)象的特性,這在本發(fā)明的前面的幾個(gè)方面中進(jìn)行了說明。在優(yōu)選的實(shí)施例中,訪問文本對(duì)象的過程包括對(duì)一個(gè)或多個(gè)文本對(duì)象查詢其屬性,并取得與查詢的屬性相匹配的元素的值。例如,在自由格式數(shù)據(jù)為名稱和街道數(shù)據(jù)的地方,某人可能要查詢其文本對(duì)象或多個(gè)對(duì)象,以便了解是否存在一個(gè)<街道>的元素,并且,如果是的話,找到該元素的值(例如,“皮特街12號(hào)”)。這一點(diǎn)是目前的數(shù)據(jù)庫難以做到的,因?yàn)椤敖值馈弊侄蝺H僅包括以自由格式形式的所有的<街道>。其他的一些老的系統(tǒng)提供的是搜索工具,用它來尋找特定的文本串,而不考慮要搜索文本的語義。這些系統(tǒng)只能夠通過搜索該文本串用來尋找名稱為“皮特”的所有的地址。當(dāng)要搜索的文本可以不同的方式使用時(shí),這就出現(xiàn)了問題。檢查一下在附圖的圖2中的地址的例子,系統(tǒng)用戶想在這一數(shù)據(jù)內(nèi)確定所有的在“包克斯路”上的地址。如果用戶查找“包克斯路”,系統(tǒng)將返還記錄201,但丟掉了記錄205和207。如果用戶改變對(duì)應(yīng)“包克斯”的文本,系統(tǒng)將返還所有需要的記錄,但仍錯(cuò)誤地返還記錄202、203、204和206。既使用戶在每次查詢中指定了“路”的每個(gè)改變,也不會(huì)得到正確的結(jié)果。如果系統(tǒng)用戶希望考慮到數(shù)據(jù)中的錯(cuò)誤,問題將變得更加困難,例如,當(dāng)制訂“包克斯路”時(shí),返還記錄206。另一個(gè)例子是,當(dāng)“街道名稱”具有與“城鎮(zhèn)名稱”同樣的名稱時(shí),在不考慮語義的情況下,進(jìn)行串搜索時(shí)將會(huì)出現(xiàn)錯(cuò)結(jié)果,比如說,“墨爾本悉尼大街123號(hào)”。串搜索將不會(huì)只找到只帶“悉尼”的記錄作為它們的城鎮(zhèn)名稱。訪問文本對(duì)象的過程也可包括對(duì)兩個(gè)文本對(duì)象的比較并且認(rèn)定和提供一個(gè)可信的值,該值標(biāo)明了這兩個(gè)文本對(duì)象相匹配的程度。例如,通過比較各自的文本對(duì)象,來對(duì)兩個(gè)街道地址進(jìn)行比較,取決于它們相匹配的程度,一個(gè)信任值(以百分?jǐn)?shù))便可給定。訪問過程也可包括對(duì)與某個(gè)特定的元素相關(guān)聯(lián)的值的修改的過程。通常的例子有,結(jié)婚后修改一位婦女的姓,和,錯(cuò)誤發(fā)生后,修改街道或城鎮(zhèn)的名稱。也由許多政府改變街道,郵政編碼,例如澳大利亞的北部地區(qū)修改了其郵政編碼,從5800-5999變?yōu)?800-0899,甚至改變整個(gè)城市的名稱的情況,例如城市列寧格勒變?yōu)槠ぬ夭?。本發(fā)明能夠修改文本原件的特定元素的值的能力具有其優(yōu)勢(shì)所在,即,直接使用數(shù)據(jù)(也就是說,不使用文本對(duì)象)的傳統(tǒng)的計(jì)算機(jī)的操作將不會(huì)受到影響。然而,從再進(jìn)一步的方面看,本發(fā)明提供了一個(gè)處理系統(tǒng),它能夠訪問根據(jù)權(quán)利要求1-19中的任何一種方法處理的自由格式數(shù)據(jù),該處理系統(tǒng)包括查詢處理裝置,用來訪問附加數(shù)據(jù),并提供與數(shù)據(jù)的語義和造詞信息相關(guān)聯(lián)的問題的答案,和/或訪問數(shù)據(jù)并對(duì)其進(jìn)行處理。檢查裝置包括按照以上給出的任何或所有的方法步驟訪問文本對(duì)象。本發(fā)明然而又進(jìn)一步提供了一種處理系統(tǒng),用于處理存儲(chǔ)在計(jì)算系統(tǒng)中的自由格式數(shù)據(jù),這包括,檢查數(shù)據(jù)的元素的裝置,以便確定數(shù)據(jù)的屬性,通過檢查元素的內(nèi)容和元素相互之間的上下文關(guān)系,來確定數(shù)據(jù)的語義和造句信息(屬性),和一個(gè)查詢處理裝置,以便利用這些信息提供與數(shù)據(jù)的語義和造詞信息相關(guān)聯(lián)的問題的答案,和/或訪問數(shù)據(jù)并對(duì)其進(jìn)行處理。檢查裝置包括一個(gè)域?qū)ο?,它用來檢查元素,并提供虛擬數(shù)據(jù)(這些數(shù)據(jù)是一些與數(shù)據(jù)的語義和造句信息相關(guān)聯(lián)的數(shù)據(jù)),這些數(shù)據(jù)將被查詢處理裝置使用,來訪問數(shù)據(jù)并得到有關(guān)數(shù)據(jù)屬性的信息。本發(fā)明然而又進(jìn)一步提供了一種處理裝置,用于處理存儲(chǔ)在計(jì)算系統(tǒng)中的自由格式數(shù)據(jù),這包括,檢查數(shù)據(jù)的元素的步驟,以便確定數(shù)據(jù)的屬性,通過檢查元素的內(nèi)容和元素相互之間的上下文關(guān)系,來確定數(shù)據(jù)的語義和造句信息(屬性),并利用這些信息查詢這些數(shù)據(jù)提供與數(shù)據(jù)的語義和造詞信息相關(guān)聯(lián)的查詢的答案,和/或訪問數(shù)據(jù)并對(duì)其進(jìn)行處理。再進(jìn)一步,本發(fā)明提供了一種處理多個(gè)存儲(chǔ)在計(jì)算系統(tǒng)中的自由格式數(shù)據(jù)記錄的方法,對(duì)于每一項(xiàng)記錄檢查其數(shù)據(jù)的元素以確定數(shù)據(jù)的屬性,通過檢查元素的內(nèi)容和元素相互之間的上下文關(guān)系來確定數(shù)據(jù)的語義和造詞信息(屬性),并且生成虛擬數(shù)據(jù)字段,能夠?qū)@些信息進(jìn)行訪問,并且生成了與每一數(shù)據(jù)記錄匹配的元素,在此,每一項(xiàng)記錄均被提供了匹配的虛擬數(shù)據(jù)字段,從而能夠訪問語義和造詞信息,以及訪問相關(guān)聯(lián)的元素。在此,“虛擬數(shù)據(jù)字段”這個(gè)術(shù)語與前面提到的具有同樣的含義。不同于以前的傳統(tǒng)的數(shù)據(jù)庫,它們需要處理信息并生成真實(shí)的數(shù)據(jù)字段,這里,沒有必要生成獨(dú)立的數(shù)據(jù)字段。數(shù)據(jù)可在數(shù)據(jù)庫中保持其原樣,而是為其語義和造詞信息屬性生成一個(gè)相關(guān)聯(lián)的“虛擬字段”,并可對(duì)虛擬字段進(jìn)行查詢,而得到所需的記錄的所有信息,并且,最好是,所有正常的數(shù)據(jù)庫操作可以被實(shí)現(xiàn)。本發(fā)明又進(jìn)一步提供了一種處理系統(tǒng),用于處理多個(gè)存儲(chǔ)在計(jì)算系統(tǒng)中的自由格式數(shù)據(jù)記錄,它包括,對(duì)每個(gè)記錄的數(shù)據(jù)的元素檢查以確定數(shù)據(jù)的屬性的裝置,通過檢查元素的內(nèi)容和元素相互之間的語義關(guān)系,來確定每項(xiàng)記錄的語義和造詞信息(屬性),和生成與每一個(gè)記錄相關(guān)聯(lián)的虛擬數(shù)據(jù)字段以便能夠?qū)@些信息以及與其相關(guān)聯(lián)的元素進(jìn)行訪問的裝置,在此,為每一項(xiàng)記錄提供了相關(guān)的虛擬數(shù)據(jù)字段,以便能夠?qū)υ撚涗浀恼Z義和造詞信息以及相關(guān)聯(lián)的元素進(jìn)行訪問。優(yōu)選實(shí)施例的詳細(xì)描述參照附圖,通過實(shí)例的方式,對(duì)本發(fā)明的實(shí)施例進(jìn)行說明,其特點(diǎn)和優(yōu)勢(shì)會(huì)變得顯而易見。其中圖1是根據(jù)本發(fā)明的實(shí)施例對(duì)自由格式數(shù)據(jù)進(jìn)行處理的系統(tǒng)的結(jié)構(gòu);圖2說明了樣例“地址”數(shù)據(jù);圖3是一個(gè)更為詳細(xì)的自由格式文本實(shí)例的結(jié)構(gòu)圖,是由本發(fā)明對(duì)自由格式數(shù)據(jù)操作實(shí)施例生成的;圖4說明了樣例“地址”格式;圖5是一個(gè)流程圖,用以說明從本發(fā)明的文本對(duì)象中獲得特定類型的次級(jí)元素的方法;圖6說明了獲得次級(jí)元素方法的結(jié)果;圖7是一個(gè)流程圖,用以說明修改本發(fā)明的文本對(duì)象的次級(jí)元素的方法;圖8說明了修改本發(fā)明的文本對(duì)象的技巧;圖9、10、和11提供了修改本發(fā)明的文本對(duì)象的實(shí)例;圖9給出了編輯之前的文本對(duì)象;圖10給出了替換的文本對(duì)象;圖11給出了圖9中的文本對(duì)象在編輯之后的文本對(duì)象;圖12是一個(gè)流程圖,用于說明被其他方法使用的節(jié)點(diǎn)匹配子程序;圖13說明了本發(fā)明實(shí)施例的文本對(duì)象的實(shí)例,以展示本發(fā)明實(shí)施例的文本對(duì)象比較的方法;圖14是一個(gè)流程圖,用來說明被其他方法使用的“調(diào)整節(jié)點(diǎn)”子程序;圖15是一個(gè)示意圖,說明圖1的域?qū)ο罂虻慕Y(jié)構(gòu);圖16更詳細(xì)的說明了圖1的域構(gòu)造過程;圖17提供了兩個(gè)標(biāo)準(zhǔn)音譯表的實(shí)例,一個(gè)是日本片假名,一個(gè)是希臘語;圖18是一些表格,用來說明正規(guī)表達(dá)定義數(shù)據(jù);圖19說明了演示語法數(shù)據(jù)文件;圖20和21為圖1的域?qū)ο髽?gòu)造過程框圖的流程圖;圖22說明了在SQL相關(guān)數(shù)據(jù)庫系統(tǒng)中本發(fā)明實(shí)施的實(shí)例。盡管以下的描述使用的是英文的名稱和地址,本發(fā)明適用于任何域的自由格式文本。正如在本發(fā)明說明書的前言中所討論的,本發(fā)明是關(guān)于處理計(jì)算機(jī)化的信息的一個(gè)全新的概念和方法,特別是對(duì)于自由格式數(shù)據(jù)。正如前面所說,它是從自由格式數(shù)據(jù)中產(chǎn)生“文本對(duì)象”,它可以存儲(chǔ)在計(jì)算機(jī)中,并且可以用來獲得關(guān)于自由格式數(shù)據(jù)的信息,對(duì)自由格式數(shù)據(jù)記錄進(jìn)行比較并予以處理。這一點(diǎn)可以在不生成帶有多個(gè)字段的復(fù)雜的數(shù)據(jù)庫的前提下而實(shí)現(xiàn)。圖1是本發(fā)明的實(shí)施例中的整個(gè)“虛擬數(shù)據(jù)”系統(tǒng)的配置圖。它包括一個(gè)用戶接口101和一個(gè)處理器102。處理器102可以是標(biāo)準(zhǔn)的計(jì)算機(jī)系統(tǒng),并具有通常的配置,如CPU,計(jì)算機(jī)內(nèi)存,和大的存儲(chǔ)裝置。用戶接口101可以是一個(gè)標(biāo)準(zhǔn)的鍵盤和視頻顯示裝置(VDU),和/或是一個(gè)與另一計(jì)算機(jī)系統(tǒng)的接口。像這樣的用戶接口以及其他的類似的接口是非常常見的。對(duì)于本發(fā)明的內(nèi)部存儲(chǔ)要求,在計(jì)算機(jī)內(nèi)存和存儲(chǔ)裝置之間沒有明顯的區(qū)別,通稱為存儲(chǔ)器。裝入處理器102的存儲(chǔ)器中的是標(biāo)準(zhǔn)的系統(tǒng)軟件,這對(duì)于本領(lǐng)域技術(shù)人員來說都是非常了解的,熟悉諸如操作系統(tǒng)和數(shù)據(jù)系統(tǒng)(沒展示出);一個(gè)或多個(gè)應(yīng)用軟件系統(tǒng)103,比如,計(jì)算軟件包或文字處理器;以及本發(fā)明的一個(gè)實(shí)施例104,它用來從自由格式數(shù)據(jù)中生成文本對(duì)象105。系統(tǒng)104中包含一個(gè)域構(gòu)建過程106,它用來讀取多個(gè)輸入數(shù)據(jù)107(在這一以數(shù)據(jù)文件形式的例子中),并且建立一個(gè)域?qū)ο?08,它用來生成文本對(duì)象105。每一個(gè)“域”將均包括那個(gè)特定域的自由格式數(shù)據(jù)需要的所有的語法和句法規(guī)則。例如,一個(gè)域可能是國際名稱和地址,并將包括所有的用于分析自由格式的國際名稱和地址從而生成文本對(duì)象的信息。另一個(gè)域可能是貨物說明信息庫,另外一個(gè)可能是運(yùn)輸業(yè)信息庫。生成域后可用來處理任何的自由格式數(shù)據(jù)。根據(jù)特定的域類型在信息庫(輸入文件)的基礎(chǔ)上,域構(gòu)建過程106可生成該域類型的域?qū)ο?08。再來看一下圖1,通過對(duì)多個(gè)文本對(duì)象105的處理,文本對(duì)象索引109便可生成,這將在下面進(jìn)行說明。值的注意的是,正如在圖1中所展示的,發(fā)明的實(shí)施例104提供了一個(gè)介于普通的應(yīng)用軟件系統(tǒng)103和它們的存儲(chǔ)數(shù)據(jù)110之間的層面。不同于上面所說的“智能型管理系統(tǒng)”,本發(fā)明使得其自由格式數(shù)據(jù)仍能保留其原位,并允許老的應(yīng)用軟件使用原來的訪問路徑111進(jìn)行操作。文本對(duì)象結(jié)構(gòu)為了更好的說明這一概念,圖3示出了本發(fā)明實(shí)施例的文本對(duì)象實(shí)例的詳細(xì)結(jié)構(gòu)圖。在圖3中進(jìn)行說明的自由格式數(shù)據(jù)實(shí)例是一個(gè)街道地址,“悉尼北部皮特街12號(hào)”(參考標(biāo)號(hào)為301)。在傳統(tǒng)的數(shù)據(jù)庫中,這一信息可被存儲(chǔ)在僅一個(gè)“地址”字段內(nèi),也可能被分成多個(gè)與不同的屬性相關(guān)聯(lián)的不同的獨(dú)立的字段,也就是說,街道號(hào)碼、街道名稱、街道類型和城鎮(zhèn)。對(duì)于其他的通常的澳大利亞地址格式的實(shí)例,請(qǐng)參閱圖4。正如在前言中所討論的,傳統(tǒng)數(shù)據(jù)庫對(duì)于每一屬性需要一個(gè)獨(dú)立的字段的格式要求大大增加了復(fù)雜性,并且,對(duì)于復(fù)雜的信息,為自由格式數(shù)據(jù)的每一屬性都生成一個(gè)字段不僅成本昂貴而且?guī)缀跏遣豢赡艿?。在圖1中說明的文本對(duì)象包含多個(gè)元素節(jié)點(diǎn)302-312。文本對(duì)象可以文本節(jié)點(diǎn)樹的形式表示出來,它有樹枝(例如313),元素節(jié)點(diǎn)302-312按預(yù)定的層次排列出來?!白畹偷摹睂哟挝挥谖谋竟?jié)點(diǎn)樹的底部,而“最高的”層次位于文本節(jié)點(diǎn)樹的頂部。位于節(jié)點(diǎn)樹的頂部的節(jié)點(diǎn)302被叫做“根”節(jié)點(diǎn)。值的一提的是,文本目錄的元素可在處理裝置的存儲(chǔ)器中以任何傳統(tǒng)的方式存儲(chǔ),能夠相互按照某種方式筑巢在一起。文本對(duì)象可以文本節(jié)點(diǎn)樹的形式進(jìn)行表示,但是這并不意味著它是以這樣的方式在存儲(chǔ)器中存儲(chǔ)的。只要文本對(duì)象的元素可以這樣的方式進(jìn)行處理,即元素就像如圖中所示的文本節(jié)點(diǎn)樹那樣,這就足夠了。值的注意的是,每一個(gè)元素節(jié)點(diǎn)302-312可被認(rèn)為是文本對(duì)象自身。這種遞歸的特點(diǎn)使得本發(fā)明的所有的功能可被用到每一個(gè)元素上。每一個(gè)節(jié)點(diǎn)302-312的結(jié)構(gòu)包括·一個(gè)屬性類型標(biāo)識(shí)符(在該實(shí)施例中為一個(gè)整數(shù)),用它來識(shí)別與文本對(duì)象相關(guān)聯(lián)的自由格式數(shù)據(jù)301的屬性類型。例如,元素節(jié)點(diǎn)303包括屬性類型標(biāo)識(shí)符<街道>,這表明這一元素節(jié)點(diǎn)303是與給出<街道>的自由格式數(shù)據(jù)的元素相關(guān)聯(lián)的,即“皮特街12號(hào)”。元素節(jié)點(diǎn)302是在圖3中說明的文本對(duì)象的主要元素節(jié)點(diǎn),并且包括屬性類型標(biāo)識(shí)符<街道>。因此,元素節(jié)點(diǎn)302是與這里的整個(gè)自由格式數(shù)據(jù)記錄相關(guān)聯(lián)的,也就是“悉尼北部皮特街12號(hào)”,這是一個(gè)地址。值的注意的是元素節(jié)點(diǎn)302要比元素303在文本節(jié)點(diǎn)樹中的層次要高些;在其中,<地址>元素包括<街道>元素。在文本節(jié)點(diǎn)樹中,元素節(jié)點(diǎn)302-312的層次事實(shí)上是由元素節(jié)點(diǎn)的屬性類型標(biāo)識(shí)符和確定其屬性應(yīng)是較低或較高的層次的語法規(guī)則確定的?!ひ粋€(gè)指針,指向與元素節(jié)點(diǎn)相關(guān)聯(lián)的自由格式數(shù)據(jù)的真實(shí)元素次級(jí)串的開始位置。自由格式數(shù)據(jù)以串的形式在存儲(chǔ)器中存儲(chǔ),并且指針指向字符串的開頭。在實(shí)例中,元素節(jié)點(diǎn)303應(yīng)指向地址的數(shù)“1”·一個(gè)整數(shù)用以標(biāo)明元素字符的長(zhǎng)度。在實(shí)例中,元素節(jié)點(diǎn)303的長(zhǎng)度應(yīng)為“14”(包括“12”和“皮特”后的空格),其實(shí)際指到“街道(street)”的最后一個(gè)字母t?!ひ粋€(gè)次級(jí)元素節(jié)點(diǎn)的序列。例如,對(duì)于元素節(jié)點(diǎn)303、節(jié)點(diǎn)306、307、308均直接為次級(jí)層次,而節(jié)點(diǎn)311、312為間接的次級(jí)層次。這一序列使得元素節(jié)點(diǎn)在文本節(jié)點(diǎn)樹結(jié)構(gòu)中相互關(guān)聯(lián)。·一個(gè)布爾邏輯變量,說明這一屬性類型標(biāo)識(shí)符是否是用于“低等級(jí)”匹配元素?!罢?guī)表達(dá)”的術(shù)語,如<字(word)>和<號(hào)碼(nbr)>相互之間并不匹配。這些術(shù)語的匹配是在層次上的下一層實(shí)現(xiàn)的(例如,<街道名稱>307)。如果某個(gè)節(jié)點(diǎn)是位于字典中的文字(例如節(jié)點(diǎn)308、309)或是含有“正規(guī)表達(dá)”的術(shù)語,這樣的節(jié)點(diǎn)被標(biāo)示為低等級(jí)匹配元素。·一個(gè)整數(shù),用來標(biāo)明元素的匹配程度。這就指明了每一元素在文本對(duì)象之間進(jìn)行比較時(shí)它的相對(duì)重要性。例如,當(dāng)把“皮特街45號(hào)3層”與“皮特街45號(hào)3樓”進(jìn)行比較時(shí),元素“層”和“樓”不相等并不重要。“匹配程度值”是由用來構(gòu)建域?qū)ο蟮恼Z法規(guī)則來確定的。·取決于時(shí)間/空間上的考慮,還有其他一些可選數(shù)據(jù)項(xiàng)目用來幫助“匹配”過程。詳細(xì)情況請(qǐng)參閱下面的“文本串操作”部分。·一個(gè)整數(shù),用來表示解析的優(yōu)先權(quán)。這將在下面說明?!ひ粋€(gè)布爾邏輯值,用來說明該元素節(jié)點(diǎn)是否對(duì)刪除或移動(dòng)它指向的文本負(fù)責(zé)。一個(gè)元素對(duì)其文本負(fù)責(zé)的兩個(gè)條件是1)當(dāng)一個(gè)外部的程序請(qǐng)求文本對(duì)象管理整個(gè)的文本串時(shí),文本對(duì)象“根”節(jié)點(diǎn)被標(biāo)示為對(duì)文本串負(fù)責(zé)。2)當(dāng)一個(gè)暗示的值產(chǎn)生時(shí)。詳情請(qǐng)參閱下面的內(nèi)容。·一個(gè)整數(shù)值,它代表在存放自由格式文本的緩沖區(qū)的后面可用的空閑空間。這個(gè)值是在文本對(duì)象生成的過程中計(jì)算出來的,并且通常僅用于文本對(duì)象的“根”節(jié)點(diǎn)。在文本節(jié)點(diǎn)樹中,層次的尾部是一個(gè)元素節(jié)點(diǎn),用來處理自由格式數(shù)據(jù)的每一個(gè)帶號(hào)的元素。在這里的情況下,是<號(hào)碼>311、<字>312、<街道類型>308、<地理術(shù)語>309、<字>310。在層次中進(jìn)一步向上是更多個(gè)用于普通的屬性類型標(biāo)識(shí)符的元素節(jié)點(diǎn)。例如,有<街道名稱>307用于字“皮特”、<街道>303用于三個(gè)令牌<皮特街12號(hào)>、<城鎮(zhèn)>305用于令牌“悉尼北部”和,在這一特定的自由格式數(shù)據(jù)記錄的層次的頂部的屬性類型標(biāo)識(shí)符<街道>302。屬性類型標(biāo)識(shí)符應(yīng)理解,屬性類型標(biāo)識(shí)符可以任何形式進(jìn)行存儲(chǔ),也就是說,它們沒有必要以整數(shù)的形式進(jìn)行存儲(chǔ),然而可以以任何的表示方法進(jìn)行存儲(chǔ)。這里提供了一個(gè)程序引擎,能夠訪問文本節(jié)點(diǎn)樹,并且,該引擎擁有識(shí)別存儲(chǔ)的屬性類型標(biāo)識(shí)符所需的信息。解析的優(yōu)先權(quán)為了幫助處理不明確的自由格式數(shù)據(jù),每一個(gè)元素節(jié)點(diǎn)均含有一個(gè)整數(shù),用以標(biāo)明元素的“解析”優(yōu)先權(quán)。這些值是在文本對(duì)象構(gòu)建過程中被指定的,并用來在不明確的自由格式文本中存在多個(gè)文本節(jié)點(diǎn)樹的情況下,選擇最佳的文本節(jié)點(diǎn)樹。例如,“悉尼北部皮特街12號(hào)”中包含兩種解釋。盡管“悉尼北部皮特街12號(hào)”是一個(gè)有效的街道地址,它卻有著比“悉尼北部”比較較低的優(yōu)先權(quán),因此將不被選中。這些“解析優(yōu)先權(quán)”的值是根據(jù)用于構(gòu)建域?qū)ο蟮恼Z法規(guī)則來確定的(參閱下面的內(nèi)容)。暗示的字段本發(fā)明的另一個(gè)特點(diǎn)是生成在文本對(duì)象中的額外的暗示的次級(jí)字段,它是對(duì)于那些在原文本中并不明確的信息,以額外的元素節(jié)點(diǎn)的方式生成的。例如,“瓊.史密斯先生”就由一個(gè)暗示的次級(jí)字段“性別”,帶有一個(gè)值“男性”。能夠創(chuàng)建帶有額外的元素節(jié)點(diǎn)的文本對(duì)象,該額外元素處理這一元素并且具有一個(gè)屬性類型標(biāo)識(shí)符“性別”。通常情況下,這些暗示的字段是在解析過程中生成的,并按語法規(guī)則進(jìn)行說明,然而他們可在需要時(shí)以人工的方式加入。請(qǐng)參閱下面的“加入次級(jí)元素”函數(shù)部分的說明。接口文本對(duì)象就像一個(gè)“虛擬接口”,能夠訪問自由格式數(shù)據(jù)和對(duì)自由格式數(shù)據(jù)的正常的數(shù)據(jù)庫操作。用戶沒有“看到”文本對(duì)象的內(nèi)部情況,但能夠通過有關(guān)的程序引擎(查詢處理裝置)對(duì)文本對(duì)象進(jìn)行查詢,并且,憑借存儲(chǔ)的文本對(duì)象的結(jié)構(gòu)、屬性類型標(biāo)識(shí)符和其他的節(jié)點(diǎn)中的數(shù)據(jù),可對(duì)自由格式文本記錄進(jìn)行所有的正常的數(shù)據(jù)庫操作。以下的所有的操作均需要對(duì)文本節(jié)點(diǎn)樹搜索其特定的屬性類型。這種搜索是由引擎使用遞歸過程調(diào)用來完成的。在計(jì)算機(jī)科學(xué)界這一技術(shù)是眾所周知的。詳細(xì)情況,請(qǐng)參閱由羅伯特.克魯斯寫的書“數(shù)據(jù)結(jié)構(gòu)與程序設(shè)計(jì)”關(guān)于遞歸的描述。本發(fā)明的另一實(shí)施例可通過執(zhí)行上面的處理加速上面的進(jìn)程,并且生成一個(gè)包含所有的次級(jí)屬性的并由屬性類型標(biāo)識(shí)符分類的查閱表。該技術(shù)對(duì)本領(lǐng)域技術(shù)人員是公知的。函數(shù)概觀(FunctionOverview)·“取得次級(jí)元素(GetSub-component)”請(qǐng)求文本對(duì)象為各自的屬性類型提供(0、1或多個(gè))值。·“比較文本對(duì)象(CompareTextObjects)”對(duì)兩個(gè)文本對(duì)象進(jìn)行比較并報(bào)告一個(gè)信任值,說明它們相互匹配的程度?!ぁ鞍?containscomponent)”測(cè)試一個(gè)特定的文本對(duì)象是否包含某個(gè)特定元素的一個(gè)特定的值,并返還一個(gè)信任值,例如,可得到包括作為<街道>的皮特街的所有的自由格式數(shù)據(jù)記錄。這將是一種方式,用來查詢?cè)谝粋€(gè)數(shù)據(jù)庫中有多少人生活在皮特街,在此,該數(shù)據(jù)庫包括一個(gè)地址字段內(nèi)的自由格式數(shù)據(jù)并且沒有使用串搜索(這通常導(dǎo)致錯(cuò)誤)。·“修改次級(jí)元素(ModifySub-component)”將文本對(duì)象的一個(gè)特定的元素的值修改為一個(gè)特定值。例如,將“皮特”改為“王(king)”·“加入元素(AddComponent)”通過添加一個(gè)新的次級(jí)元素節(jié)點(diǎn)到各自的節(jié)點(diǎn)對(duì)文本對(duì)象加入額外的數(shù)據(jù)。進(jìn)一步的操作將參閱這一信息。取得次級(jí)元素當(dāng)對(duì)“文本對(duì)象”進(jìn)行查詢時(shí),將提供一個(gè)屬性類型標(biāo)識(shí)符并且0、1或多個(gè)“次級(jí)元素節(jié)點(diǎn)”將被返還。這些“次級(jí)元素節(jié)點(diǎn)”指向所需的元素的文本。圖5說明了這一方法。從501開始,在文本對(duì)象的“根”節(jié)點(diǎn)處開始這一遞歸過程,確定這一節(jié)點(diǎn)的屬性類型是否與所需的屬性類型一致(502)。如果是的話,指向這一節(jié)點(diǎn)的指針便被添加到第503步處的結(jié)果清單上。從第504步繼續(xù),在步驟505,對(duì)于由這一節(jié)點(diǎn)引用的每一個(gè)次級(jí)元素節(jié)點(diǎn)遞歸調(diào)用這一程序。然后返回到調(diào)用者506。圖6說明了“費(fèi)萊德先生”和“瑪麗.史密斯夫人”的節(jié)點(diǎn)樹。對(duì)樹進(jìn)行搜索查找?guī)в袑傩灶愋?amp;lt;姓>的節(jié)點(diǎn),將返還一個(gè)清單,它含有指針,指向兩個(gè)節(jié)點(diǎn)601、602。這些節(jié)點(diǎn)分別指向次級(jí)串“費(fèi)萊德”、“瑪麗”。這一操作的另一個(gè)方法是把一個(gè)文本串當(dāng)作一個(gè)參數(shù)。只有那些含有同樣的屬性類型和同樣的文本串(不理睬的情況)的節(jié)點(diǎn)將被加入到清單中。例如,用一個(gè)屬性類型<姓>和文本串<費(fèi)萊德>調(diào)用這一函數(shù)將返還一個(gè)含有一個(gè)節(jié)點(diǎn)的清單。然而,這一操作的另外一種方法是把文本串和信任級(jí)作為參數(shù)。只有那些節(jié)點(diǎn),它包含同樣的屬性類型和具有一個(gè)文本串,能與所提供的串相匹配并具有比所提供的信任級(jí)高的信任級(jí),才被加入到清單中。比較文本對(duì)象這一操作對(duì)兩個(gè)文本對(duì)象進(jìn)行比較然后返還一個(gè)信任級(jí),用來說明它們之間相匹配的程度。1.確定兩個(gè)文本對(duì)象的“根”節(jié)點(diǎn)是否具有同樣的屬性類別。如否,向調(diào)用者返還一個(gè)0信任級(jí)。2.相反的話,用兩個(gè)文本對(duì)象的“根”節(jié)點(diǎn),調(diào)用“匹配節(jié)點(diǎn)”子程序(下面說明),并向調(diào)用者返還操作的結(jié)果。例如,通過兩個(gè)以下的文本對(duì)象將返還一個(gè)100%的信任級(jí)。<地址>“2000悉尼NSW州皮特街12/34號(hào)”<地址>“2000悉尼N.S.W.州皮特街34號(hào)第12單元”包含次級(jí)元素這一操作搜索一個(gè)文本對(duì)象找出一個(gè)次級(jí)元素,能夠與第二個(gè)文本對(duì)象相匹配。如能夠找到的話,將返還調(diào)用者一個(gè)信任級(jí),標(biāo)明它們的匹配程度。這一操作通過首先調(diào)用“取得元素”函數(shù)(上面已說明),來驗(yàn)證第二個(gè)文本對(duì)象的元素類型。如果是成功的話,它將通過第二個(gè)文本對(duì)象的“根”節(jié)點(diǎn)和“取得元素”函數(shù)的結(jié)果中的節(jié)點(diǎn),調(diào)用“匹配節(jié)點(diǎn)”子程序(下面將介紹)。例如通過了以下的兩個(gè)文本對(duì)象將返還一個(gè)約為80%的信任級(jí)(取決于串匹配程序的設(shè)置)。<街道>“凱森街”<地址>“杜布凱瑟倫街12-14號(hào)”加入次級(jí)元素本操作將一個(gè)額外的元素節(jié)點(diǎn)加入到文本對(duì)象中。盡管本元素的值在原自由格式文本中沒有包括,但對(duì)于文本對(duì)象的查詢可返還正確的結(jié)果。例如指向一個(gè)包含“凱里斯.史密斯先生”的記錄的文本對(duì)象將需要進(jìn)行修改以便標(biāo)示出該人為女性。調(diào)用包含性別屬性類型并帶有“女性”值的加入元素函數(shù)將會(huì)把相關(guān)的元素節(jié)點(diǎn)添加到文本對(duì)象中。修改次級(jí)元素圖8說明了“修改”操作的技巧。將要被修改的文本對(duì)象標(biāo)為801。真實(shí)的文本數(shù)據(jù)包括要被更換的次級(jí)串805,和前面次級(jí)串804及后面的次級(jí)串806。在主文本對(duì)象801中,次級(jí)樹803代表要被替換的次級(jí)串805。替換文本串807由另一個(gè)文本對(duì)象802代表。圖7是一個(gè)“修改”程序的流程圖。從701開始,調(diào)用“取得元素”函數(shù)(上面已介紹)在第702步定位所需的元素節(jié)點(diǎn)。這一函數(shù)調(diào)用的結(jié)果被測(cè)試(703步)以保證有一個(gè)且只有一個(gè)元素節(jié)點(diǎn)被返還。如果0個(gè)或多于一個(gè)節(jié)點(diǎn)被返還,在704步建立出錯(cuò)條件,并且在714步程序返回到調(diào)用者。否則,程序?qū)⑼ㄟ^計(jì)算要被替換的次級(jí)串805和新的替換次級(jí)串807的長(zhǎng)度差,從705步繼續(xù)進(jìn)行。如果這個(gè)差值不是0(也就是說串具有不同的長(zhǎng)度),在707步,調(diào)用“調(diào)節(jié)節(jié)點(diǎn)變量”子程序(以下介紹)。如果子程序707不成功,在711步建立出錯(cuò)條件,并在714步返回到調(diào)用者。從第708步繼續(xù),把新的替換串807拷入老串805的位置。在710步,用新的次級(jí)樹802替換老的節(jié)點(diǎn)次級(jí)樹803。在713步,通過添加新的次級(jí)串的起始點(diǎn),對(duì)于在712步新的次級(jí)樹中的每一個(gè)節(jié)點(diǎn),調(diào)節(jié)節(jié)點(diǎn)的“文本開始地址”變量。然后終止這一程序并在714步返回到調(diào)用者。圖9、10、11提供了“修改”操作的實(shí)例。圖9說明的是修改前的文本對(duì)象。圖10說明了替換的文本對(duì)象,圖11中的文本對(duì)象是圖9中的文本對(duì)象修改后的情況。以上介紹的“取得次級(jí)元素”操作的額外版也同樣適合這一操作。子程序以下介紹的操作可被上面介紹的文本對(duì)象程序進(jìn)行調(diào)用。匹配節(jié)點(diǎn)(MatchNode)該程序?qū)τ趦蓚€(gè)具有同樣屬性類型的元素進(jìn)行比較并且返還一個(gè)信任級(jí),用來說明它們相匹配的程度。圖12畫出了一個(gè)“匹配節(jié)點(diǎn)”操作的流程圖。從1201開始,在1202步確定進(jìn)行比較的節(jié)點(diǎn)是否是低等級(jí)匹配元素。這兩個(gè)節(jié)點(diǎn)如果是低等級(jí)匹配元素,在第1203步進(jìn)行“串比較”程序(下面介紹)并在1210步返回到調(diào)用者。否則,在1204步,如果這兩個(gè)節(jié)點(diǎn)分別包含次級(jí)元素節(jié)點(diǎn),使用具有同樣的屬性類型的所有的次級(jí)元素對(duì)組合,在1205步,調(diào)用這一程序。在1206步,記下每一次的最高的信任級(jí),在1207步,用各相應(yīng)的匹配程度值1207乘以每一節(jié)點(diǎn)的信任級(jí)。在1208步,把所有的結(jié)果加到一個(gè)信任值中。在1209步,再用匹配程度值的和除以那個(gè)值并在1210步返回到調(diào)用者。圖13是一個(gè)說明匹配過程的實(shí)例。在文本對(duì)象的節(jié)點(diǎn)樹中有三種類型的元素節(jié)點(diǎn)1)含有次級(jí)元素節(jié)點(diǎn)的節(jié)點(diǎn)。2)靠近節(jié)點(diǎn)樹尾部的低等級(jí)的匹配元素,和3)在低等級(jí)匹配元素內(nèi)的節(jié)點(diǎn),并代表簡(jiǎn)單的“正規(guī)表達(dá)”術(shù)語。(詳細(xì)情況請(qǐng)參閱有關(guān)語法文件的介紹)。這些節(jié)點(diǎn)在匹配過程中并不使用。在本文本對(duì)象實(shí)例中,節(jié)點(diǎn)1301、1302、1313和1314含有次級(jí)元素節(jié)點(diǎn)。節(jié)點(diǎn)1304、1305、1306、1307、1308、1309、1315、1316、1317和1318為低等級(jí)匹配節(jié)點(diǎn)。節(jié)點(diǎn)1309、1310、1311、1312、1319、1320、和1321為簡(jiǎn)單的“正規(guī)表達(dá)”術(shù)語。在下面的計(jì)算中,在園括號(hào)中的第一個(gè)數(shù)字是指該元素的匹配程度值。第二個(gè)數(shù)字是該節(jié)點(diǎn)從節(jié)點(diǎn)匹配程序中得到的最佳結(jié)果。頂部的數(shù)字是它在圖13中的節(jié)點(diǎn)參考標(biāo)簽。對(duì)于“街道”元素計(jì)算匹配信任級(jí)13041305130613071308(20*100)+(0*0)+(10*0)+(60*80)+(10*100)+131613171318(30*100)+(60*80)+(10*100)=15400(20+0+10+60+10+30+60+10)=20015400/200=77%要計(jì)算“地址”的匹配信任值,我們對(duì)“街道”和“城鎮(zhèn)”元素使用同樣的程序13021303(60*77)+(40*100)+13141315(60*77)+(40*100)=862060+40+60+40=10017240/200=86.2%這個(gè)值標(biāo)明兩個(gè)文本相匹配的“接近”。那些大于90%的值表示相匹配的“非常接近”。通過應(yīng)用“模糊邏輯”以上的過程可以得到改善。對(duì)于模糊邏輯,本領(lǐng)域技術(shù)人員都十分了解,并且有好多的參考書。調(diào)節(jié)節(jié)點(diǎn)變量(AdjustNodeVariables)這一子程序可由上面介紹的“修改元素”程序調(diào)用。運(yùn)一子程序的目的是,調(diào)節(jié)真實(shí)的自由格式文本和所有相應(yīng)的次級(jí)元素節(jié)點(diǎn),在節(jié)點(diǎn)被更換后定位以便新的更換次級(jí)串與次級(jí)樹準(zhǔn)確的相配。如果老的次級(jí)串與新的替換次級(jí)串具有相同的長(zhǎng)度,這一子程序?qū)⒉槐徽{(diào)用。圖14畫出了所需步驟的流程圖。在1401步開始,在1402步確定在當(dāng)前的文本緩沖區(qū)中是否有足夠的空間容納修改結(jié)果。這可通過調(diào)用文本對(duì)象“根”節(jié)點(diǎn)的可供使用的“空閑空間”而實(shí)現(xiàn)。如果沒有足夠的空間,在1403步,可調(diào)用“重新定位文本數(shù)據(jù)”子程序,以便在文本對(duì)象中生成空閑空間。在1404步,如果這一子程序不成功,在1415步建立出錯(cuò)條件,程序終止,并在1416步返回到調(diào)用者。否則,在1405步程序?qū)⒗^續(xù),并通過從新的替換次級(jí)樹的容量中減去被替換的老的次級(jí)樹的容量,計(jì)算修改后的文本對(duì)象的額外空間要求。0或負(fù)值表示文本對(duì)象具有充足的空間來放置修改結(jié)果。在1406步,如果文本對(duì)象需要更大的空間,在1407步調(diào)用“重新定位文本對(duì)象”子程序以便在文本對(duì)象中生成空閑空間。如果在1408步這一子程序不成功,在1415步建立出錯(cuò)條件,程序?qū)⒔K止,并在1416步返回到調(diào)用者。如果以上的過程是成功的,程序從第1409步繼續(xù),并且,根據(jù)老的次級(jí)串805和新的替換次級(jí)串807的差值,移動(dòng)在圖8中的“后繼”串806。在1410步對(duì)于在替換節(jié)點(diǎn)后定位的元素的每一個(gè)節(jié)點(diǎn),在1411步,把這一差值添加到節(jié)點(diǎn)的起始地址變量上。在1412步,對(duì)于作為次級(jí)元素具有替換節(jié)點(diǎn)的每一個(gè)節(jié)點(diǎn),在1413步,將這一差值加到節(jié)點(diǎn)長(zhǎng)度變量上。在1414步,通過減去差值,調(diào)節(jié)文本對(duì)象的“空閑空間”,并在1416步返回調(diào)用者。重新定位文本數(shù)據(jù)(RelocateTextData)這一子程序由“調(diào)節(jié)節(jié)點(diǎn)變量”程序調(diào)用,用來把當(dāng)前的自由格式文本移動(dòng)到一個(gè)足夠大的空間放置所需的修改結(jié)果。該程序進(jìn)行這一操作的能力取決于文本數(shù)據(jù)存儲(chǔ)的位置。典型的情況是,自由格式文本,如“地址”信息,存儲(chǔ)在固定長(zhǎng)度的數(shù)據(jù)庫區(qū)域中,并且不能進(jìn)行重新定位。如果是這樣的話,該程序?qū)⒔⒁粋€(gè)出錯(cuò)條件并返回到調(diào)用者。然而,如果文本對(duì)象是作為非永久性對(duì)象存儲(chǔ)在可移動(dòng)的存儲(chǔ)器中,如計(jì)算機(jī)的內(nèi)存中,或用面向?qū)ο蟮臄?shù)據(jù)庫存儲(chǔ),該程序?qū)⒅匦露ㄎ晃谋緮?shù)據(jù)并按文本數(shù)據(jù)的新的地址返回到調(diào)用者。重新定位文本對(duì)象(RelocateTextObject)該子程序由“調(diào)節(jié)節(jié)點(diǎn)變量”程序調(diào)用,來把當(dāng)前的文本對(duì)象移動(dòng)到一個(gè)足夠大的空間中,以定位所需的修改后的結(jié)果。這一程序進(jìn)行這項(xiàng)操作的能力取決于本發(fā)明如何實(shí)現(xiàn)。如果文本對(duì)象是作為非永久性對(duì)象存儲(chǔ)在可移動(dòng)的存儲(chǔ)器中,如計(jì)算機(jī)的內(nèi)存中,或用面向?qū)ο蟮臄?shù)據(jù)庫存儲(chǔ),該程序?qū)⒅匦露ㄎ晃谋緮?shù)據(jù)并按文本數(shù)據(jù)的新的地址返回到調(diào)用者。關(guān)于面向?qū)ο髷?shù)據(jù)庫的介紹和對(duì)象永久性的介紹,請(qǐng)參閱SetragKhoshafian的書“面向?qū)ο蟮臄?shù)據(jù)庫”。取得關(guān)鍵碼(GetKeys)該操作僅僅被下面將介紹的“文本對(duì)象索引”使用。它提供的是更新和查詢文本對(duì)象索引使用的關(guān)鍵碼信息。它通過遞歸方式搜索文本對(duì)象樹并返還一個(gè)被標(biāo)為低等級(jí)匹配元素的所有節(jié)點(diǎn)的清單。關(guān)于低等級(jí)匹配元素,請(qǐng)參閱上面的定義。關(guān)于這一函數(shù)的輸出實(shí)例,請(qǐng)參閱下面的對(duì)文本對(duì)象索引的介紹。文本對(duì)象優(yōu)勢(shì)的總結(jié)很多自由格式文本的記錄均可按照本發(fā)明的實(shí)施例進(jìn)行處理,以生成各種情況下的文本對(duì)象。不同的文本對(duì)象可能有不同的屬性類型識(shí)別符,但是,對(duì)于每一個(gè)屬性類型來講,沒有必要生成一個(gè)具有一個(gè)獨(dú)立的字段的復(fù)雜數(shù)據(jù)庫結(jié)構(gòu)。自由格式文本可按其原樣進(jìn)行存儲(chǔ),與其相關(guān)聯(lián)的文本對(duì)象提供了所有需要的手段以便對(duì)自由格式數(shù)據(jù)進(jìn)行傳統(tǒng)的數(shù)據(jù)庫操作。十分重要的是,它使得計(jì)算機(jī)對(duì)信息的處理就幾乎像人類那樣進(jìn)行。文本對(duì)象構(gòu)建綜述文本對(duì)象是通過使用對(duì)自然語言的處理技術(shù)對(duì)自由格式數(shù)據(jù)進(jìn)行檢查而生成的,例如解析,這在以前已被人們所熟知。這一語言處理技術(shù)已被應(yīng)用于“情潔”和“清掃”數(shù)據(jù)庫中,并且大且復(fù)雜的軟件系統(tǒng)已被應(yīng)用。在以前的技術(shù)的每一種情況下,自然與原處理技術(shù)被用來分析數(shù)據(jù),以能夠生成新的數(shù)據(jù)庫字段。保持自由格式數(shù)據(jù)的原樣并生成一個(gè)自由格式對(duì)象的想法是一個(gè)全新的概念。在本發(fā)明的這一實(shí)施例中,對(duì)自由格式文本的每一項(xiàng)的處理以生成文本對(duì)象的過程包括,首先,是詞匯分析,在分析中,正規(guī)表達(dá)分析器閱讀自由格式文本,并把文本的各個(gè)項(xiàng)目用與它們相關(guān)聯(lián)的屬性類型標(biāo)識(shí)符的令牌進(jìn)行分組,(例如,字、號(hào)碼、逗號(hào)等)。每一令牌對(duì)照字典進(jìn)行檢查用于其他的可用的屬性類型表示符(如,街道類型、州等)。然后使用造句分析,并且在本實(shí)施例中,對(duì)自由格式數(shù)據(jù)中的每一令牌的位置進(jìn)行分析,以提供屬性類型標(biāo)識(shí)符。例如,在圖5的例子中,“皮特”是一個(gè)在字典中找不到的普通詞,并且有可能是一個(gè)專有名詞。通過對(duì)其與自由格式數(shù)據(jù)的其他元素的位置關(guān)系的分析,然而,這一實(shí)現(xiàn)方式“暗示”它是一個(gè)<街道名稱>。因此,“皮特街12號(hào)”可從令牌的相對(duì)位置關(guān)系中被劃分為<街道>。域?qū)ο笥驅(qū)ο?08(如圖1所示)的主要功能是生成文本對(duì)象105。該功能將在下面予以詳細(xì)說明。域?qū)ο笏鸬钠渌饔檬菍?duì)屬性類型表進(jìn)行維護(hù)。該表中包含了本域中所定義的所有屬性類型的信息。結(jié)構(gòu)圖15更為詳細(xì)的說明了域?qū)ο?08的結(jié)構(gòu)。它包括一系列的“查閱表”,該表包括符號(hào)表(例如,<街道名稱>NB,術(shù)語“符號(hào)”相當(dāng)于術(shù)語“屬性類型標(biāo)識(shí)符”)1502,和解析表1504(包括使用語法的規(guī)則)。它也包括一個(gè)詞典1503,1503包括一個(gè)字符定義表1505,正規(guī)表達(dá)分析器1506和字典1507(例如,NSW,VIC,SA)。所有的這些部分由一個(gè)修改的“Tomita解析器”(下面將予以介紹)用來處理自由格式數(shù)據(jù)以生成文本對(duì)象。文本對(duì)象結(jié)構(gòu)圖16給出了域?qū)ο?08操作的總體圖,它用來生成圖1的文本對(duì)象105。在操作中,域?qū)ο?605使用屬性類型1608來放置各自的解析規(guī)則,然后,“解析”自由格式數(shù)據(jù)1607并且生成一個(gè)文本對(duì)象1606。解析是一項(xiàng)公知的用于分析自由格式數(shù)據(jù)的技術(shù),并且本領(lǐng)域技術(shù)人員能夠進(jìn)行有效的解析操作。解析器類型解析器包括所有的非確定性的解析器。下面列出了常用的解析技術(shù)·從上至下回退式解析器·從下至上回退式解析器·從上至下圖解式解析器·從下至上圖解式解析器·擴(kuò)張式轉(zhuǎn)換網(wǎng)絡(luò)式解析器·帶有回退的變位削減式解析器·Tomita圖解變位削減式解析器在本發(fā)明的實(shí)現(xiàn)方式中采用Tomita圖解變位削減式解析器的原因有·已有詳細(xì)的運(yùn)算規(guī)則說明?!ぴ撨\(yùn)算方法能有效的處理模糊的文本數(shù)據(jù)。·作為結(jié)果的數(shù)據(jù)結(jié)構(gòu)以一種高效的方式表示模糊的文本數(shù)據(jù)。解析過程和操作在由Tomita的書中有詳細(xì)的介紹,書名為“對(duì)自然語言有效的解析”,Kluwer,1986。這也在本文的附錄中進(jìn)行了概括式的介紹。對(duì)Tomita解析方法的修改除了由Tomita描述的生成元素節(jié)點(diǎn)樹以外,對(duì)于文本對(duì)象還需要一系列的改進(jìn)。這些改進(jìn)能夠使文本對(duì)象提供“虛擬數(shù)據(jù)”字段。本發(fā)明對(duì)Tomita圖解變位削減式解析器所作的改進(jìn)有·向從詞匯分析器中返回的令牌和解析表中的規(guī)則指派解析優(yōu)先權(quán)。通過這些優(yōu)先權(quán)相加對(duì)于給定的自由格式文本而得到最為恰當(dāng)?shù)脑毓?jié)點(diǎn)樹。所有的這些優(yōu)先權(quán)在輸入語法文件1603中進(jìn)行了說明(圖16)?!⒃炀錁涞脑毓?jié)點(diǎn)分為可見的或不可見的。低等級(jí)的“正規(guī)表達(dá)”術(shù)語,如<字>被劃分為不可見的?!?duì)于所有的元素節(jié)點(diǎn)指派匹配程度值。這些值在語法數(shù)據(jù)中進(jìn)行了說明,并被用來確定每個(gè)元素的相對(duì)重要性。程序圖16給出了域?qū)ο?08操作的總體圖,用來生成圖1中的文本對(duì)象105。這一程序利用一個(gè)自由格式文本串1607和一個(gè)屬性類型標(biāo)識(shí)符1608,生成一個(gè)文本對(duì)象1606。1.利用屬性類型標(biāo)識(shí)符1608,查閱符號(hào)表1502(圖15),而得到相應(yīng)的解析表。2.調(diào)用解析器生成一個(gè)“共享解析樹林”,如Tomita的書中第2.4部分所述。共享解析樹林被用來代表那一結(jié)構(gòu)內(nèi)的模糊解析樹。它是通過允許樹與通用的次級(jí)樹共享來實(shí)現(xiàn)的。3.通過遞歸,堆積每一節(jié)點(diǎn)的所有的次級(jí)元素節(jié)點(diǎn)的所有“解析優(yōu)先級(jí)”。4.基于上步中的值,選出最佳的解析樹。5.用選出的解析樹,生成一個(gè)新的文本對(duì)象。6.通過遞歸,搜索解析樹,對(duì)特定節(jié)點(diǎn)進(jìn)行定位,并將其標(biāo)記為“低等級(jí)匹配元素”。(定義參見上面的內(nèi)容)一個(gè)簡(jiǎn)單的文本對(duì)象的實(shí)例,請(qǐng)參見圖3。域?qū)ο蟮臉?gòu)建圖16給出了對(duì)象構(gòu)建過程的一個(gè)總體圖。對(duì)于域構(gòu)建過程1604的輸入文件如下字符定義文件1601這用來定義域的所有有效的字符并對(duì)其用法進(jìn)行規(guī)定。用法范圍通常包括字母、數(shù)字、標(biāo)點(diǎn)符號(hào)、空格。它同樣說明了進(jìn)行“文本串匹配”所需要的所有信息,這將在下面介紹。在本發(fā)明的最佳實(shí)施例中,該文件對(duì)每一個(gè)字符包含一個(gè)記錄,并且每一記錄包含·所及的字符·字符的類型(字母、數(shù)字、等)·對(duì)于格和語音符號(hào)匹配的基本字符·一個(gè)標(biāo)記,標(biāo)明字符的重要性(significance)(例如,元音被認(rèn)為是不重要的)·用于標(biāo)準(zhǔn)的國際音譯的一個(gè)或多個(gè)字符。(實(shí)例表見圖17)該文件也能夠定義字符組合如何被翻譯成語音表示法(例如,“PH”→“F”)。語音學(xué)是人們熟知的技術(shù),本領(lǐng)域技術(shù)人員能夠編制恰當(dāng)?shù)姆g表格。正規(guī)表達(dá)定義1602這用來定義系統(tǒng)的基礎(chǔ)令牌的結(jié)構(gòu)。例如·一個(gè)字含有兩個(gè)或多個(gè)字母符號(hào)。這些令牌在語法中以術(shù)語“字(word)”表示。·一個(gè)號(hào)碼(number)含有一個(gè)或多個(gè)數(shù)字符號(hào)。這在語法中以術(shù)語“號(hào)碼(nbr)”代表。正規(guī)表達(dá)定義的結(jié)構(gòu)是一個(gè)基本的“狀態(tài)轉(zhuǎn)換表“。在計(jì)算機(jī)科學(xué)界,這一技術(shù)人人皆知。圖18給出了一個(gè)示例。語法1603語法文件的最基本的前提就是為在這里的語言域中生成的文本對(duì)象生成所有可能的樹結(jié)構(gòu)。語法文件包含多個(gè)“A->B1B2B3…”形式的語法規(guī)則。每一語法規(guī)則包括一個(gè)LHS符號(hào)<A>和0、1或多個(gè)RHS符號(hào)<Bn>。LHS符號(hào)<A>是元素類型的名稱,RHS符號(hào)<Bn>對(duì)其次級(jí)元素進(jìn)行定義。每一個(gè)RHS符號(hào)<Bn>可為以下之一·另外一個(gè)元素類型名稱·一個(gè)文字(用引號(hào)擴(kuò)起來)·一個(gè)保留的字保留的字代表簡(jiǎn)單的“正規(guī)表達(dá)”術(shù)語,如下·“字(word)”-一個(gè)或多個(gè)字母符號(hào)·“號(hào)碼(nbr)”-一個(gè)或多個(gè)數(shù)字符號(hào)·“A”-一個(gè)字母符號(hào)·“9”-一個(gè)數(shù)字符號(hào)另外,每一個(gè)屬性類型(即LHS符號(hào))可被指派一個(gè)“匹配程度調(diào)節(jié)器”。這用來調(diào)節(jié)默認(rèn)匹配程度。在匹配信任值計(jì)算中,當(dāng)比較文本對(duì)象,說明兩個(gè)次級(jí)元素的相對(duì)重要性時(shí),使用匹配程度。另外,每一個(gè)語法規(guī)則可被指定一個(gè)“解析優(yōu)先級(jí)”。當(dāng)兩個(gè)或多個(gè)模糊結(jié)構(gòu)出現(xiàn)時(shí),在文本對(duì)象構(gòu)建過程中,使用這一方法來幫助選擇文本對(duì)象的最佳結(jié)構(gòu)。在規(guī)則的層次的最低等級(jí)處的所有分支和由語法確定的屬性類型名稱必須以文字或保留字結(jié)束。圖19給出了語法實(shí)例。程序圖20和21給出了域?qū)ο髽?gòu)建過程的流程圖。從2001開始,在2002,字符定義數(shù)據(jù)被裝入存儲(chǔ)器中。然后,正規(guī)表達(dá)定義在2003步裝載。在2004步,通過閱讀語法定義數(shù)據(jù)和用于語法中的每一規(guī)則,處理繼續(xù)進(jìn)行,通過在2102步在臨時(shí)規(guī)則表生成一個(gè)新的規(guī)則,在2005步,處理語法規(guī)則。使用規(guī)則的LHS符號(hào)在符號(hào)表中生成一個(gè)新的符號(hào)/元素類型,假如它事先不存在的話。然后對(duì)于規(guī)則的RHS上的每一個(gè)符號(hào)(第2104步),在2105步,如果它是一個(gè)文字,然后在2106步將其添加到字典中。在2107步,如果它是可識(shí)別的“正規(guī)表達(dá)”術(shù)語,如“字”、“號(hào)碼”,在2108步,不做什么,否則,它是屬性/符號(hào),并且如果它不存在的話,在第2109步,把它作為一個(gè)新的符號(hào)/屬性類型添加到符號(hào)表中。在對(duì)所有的語法規(guī)則進(jìn)行處理后,通過在2007步檢查添加到符號(hào)表中的每個(gè)符號(hào)/屬性類型是否均被定義,也就是說,在第2006步處理繼續(xù)進(jìn)行。在語法規(guī)則LHS上至少出現(xiàn)一次。如果任何一個(gè)是沒有定義的符號(hào)/屬性類型,在第2011步建立一個(gè)出錯(cuò)條件,程序終止,并在2012步返回到調(diào)用者。否則,程序在2008步繼續(xù)。對(duì)于添加到符號(hào)表中的每一個(gè)符號(hào)/屬性類型,在2009步生成一個(gè)解析表,并在相應(yīng)的符號(hào)表?xiàng)l目中記錄下對(duì)應(yīng)這個(gè)新解析表的參考號(hào)。在所有的所需的解析表生成后,在2012步程序結(jié)束并返回到調(diào)用者。在計(jì)算機(jī)科學(xué)界,建立解析表是一項(xiàng)十分常見的技術(shù)。最初,解析表用于編程語言。建立“解析表”的運(yùn)算法則在Aho,A.V.和Ullman,J.D.的書中可以找到,書名為“編譯器設(shè)計(jì)原理”AddisonWesley,1977。Tomita通過建立非確定性的解析表將這些技術(shù)應(yīng)用到“自然語言處理”中,在這些表中,每一條目具有一個(gè)以上作用。值的注意的是,域?qū)ο?605可被存儲(chǔ)在存儲(chǔ)器中或被裝載來對(duì)自由格式數(shù)據(jù)記錄進(jìn)行操作。文本對(duì)象索引“文本對(duì)象索引”109(如圖1)被用作一種工具,用來對(duì)多個(gè)文本對(duì)象和與它們相關(guān)聯(lián)的自由格式文本的“虛擬數(shù)據(jù)”字段進(jìn)行傳統(tǒng)的數(shù)據(jù)庫操作,文本對(duì)象索引的基本概念類似于在JohnR.Anderson(Wiley1973)的書中概念,書名為“人性化的存儲(chǔ)器”。該書表述了一個(gè)句子中的名詞如何用來與命名的對(duì)象的數(shù)據(jù)庫相關(guān)聯(lián),然后使這些對(duì)象間的“關(guān)系”與原句中所暗示的關(guān)系相匹配。這些關(guān)系遵從“作用者-對(duì)象-作用”模式。盡管是類似,文本對(duì)象索引與這一方法在兩個(gè)方面有所不同。1)自由格式文本的所有組成部分均被分類并用于參照索引。(也就是說,不僅僅是名詞)。2)在對(duì)象之間沒有關(guān)系連接。從另一個(gè)角度看文本對(duì)象索引,可以把文本對(duì)象索引看成是一個(gè)序列,該序列有無限的尺寸,每一尺寸即為一個(gè)上面所描述的低等級(jí)匹配屬性類型。從自由格式文本串生成的文本對(duì)象將提供低等級(jí)匹配元素,這些元素被用來查詢文本對(duì)象索引。所以,位于所供的元素的交集中的其他文本對(duì)象的所有的參照被返還回來。通過對(duì)這一過程應(yīng)用“模糊邏輯”技術(shù),可得到這一概念的性能的改善。模糊邏輯技術(shù)對(duì)于本領(lǐng)域技術(shù)人員熟知,并且有很多的參考書。在本發(fā)明的最佳實(shí)施例中,文本對(duì)象索引的主要部分是一個(gè)帶有以下內(nèi)容的三欄的表·屬性類型標(biāo)識(shí)符·表示值關(guān)鍵碼·用戶提供的記錄標(biāo)識(shí)符這一簡(jiǎn)單的結(jié)構(gòu)使得文本對(duì)象索引可利用計(jì)算機(jī)中的數(shù)據(jù)庫技術(shù)予以實(shí)施。以下的例子用來演示如何使用三欄表。在文本對(duì)象索引后面的基本的概念是,所有匹配的自由格式文本具有相同的低等級(jí)匹配屬性。例如,假定下面的記錄已被添加到文本對(duì)象索引中,并帶有“用戶參照”號(hào)123。“2000悉尼N.S.W.州皮特街34號(hào)第12單元”在得到各自的文本對(duì)象的低等級(jí)匹配屬性之后,下面的條目便可添加到索引中<單元號(hào)(UnitNumber)>“12”123<街道號(hào)(StreetNumber)>“34”123<街道名稱(StreetName)>“皮特”123<街道類型(StreetType)>“街道”123<城鎮(zhèn)名稱(TownName)>“悉尼”123<州(State)>“NSW”123<郵政編碼(Postcode)>“2000”123實(shí)例1進(jìn)行查詢檢查下面的地址是否在數(shù)據(jù)庫中存在。“悉尼NSW州皮特街12/34號(hào)”通過對(duì)這一輸入生成一個(gè)文本對(duì)象并建立低等級(jí)匹配屬性<單元號(hào)>“12”<街道號(hào)>“34”<街道名稱>“皮特”<街道類型>“街道”<城鎮(zhèn)名稱>“悉尼”<州>“NSW”對(duì)使用上述的屬性類型標(biāo)識(shí)符和值檢索到的所有的索引條目的交集進(jìn)行分析,將生成在本節(jié)開始部分的記錄。實(shí)例2進(jìn)行查詢查找包含街道的所有地址“皮特街”對(duì)這一輸入建立文本對(duì)象,并生成索引關(guān)鍵碼組<街道名稱>“皮特”<街道類型>“街道”在此,對(duì)使用上述的屬性類型標(biāo)識(shí)符和值檢索到的所有的索引條目的交集進(jìn)行分析,將生成正確的記錄的次級(jí)組,包括在本節(jié)開始部分的記錄。以上的例子十分的簡(jiǎn)單,目的在于演示概念。在實(shí)際系統(tǒng)中,低等級(jí)匹配關(guān)鍵碼組一旦生成,在“關(guān)鍵詞搜索”中所有的技術(shù)均可用于每一個(gè)屬性類型次級(jí)組。關(guān)于“關(guān)鍵詞搜索”技術(shù)的詳細(xì)情況,參見由GeraldSalton出版的書和雜志文章。適用于本發(fā)明的“關(guān)鍵詞搜索”技術(shù)有·在高速緩沖存儲(chǔ)器中存儲(chǔ)非常普通的術(shù)語,并且使用這一方法可以避免對(duì)帶有將返回太多條目的術(shù)語的索引的搜索?!な褂靡粋€(gè)或多個(gè)代表值關(guān)鍵碼可照顧到普通的拼寫錯(cuò)誤。最為典型地,這是原始值,元音和雙拼寫已去掉。·使用一個(gè)或多個(gè)代表值關(guān)鍵碼,它將原始值編成一個(gè)或多個(gè)語音標(biāo)識(shí)符?!な褂靡粋€(gè)代表值關(guān)鍵碼,它將原始值編成一個(gè)國際標(biāo)準(zhǔn)的音譯標(biāo)識(shí)符。(參閱圖17,希臘和日語片假名的字譯表)·對(duì)照一個(gè)同義字典檢察原始值,找到代表全套同音字的值。接口/操作以下的操作可由文本對(duì)象索引提供。文本對(duì)象索引的接口被設(shè)計(jì)成能夠反映SQL的標(biāo)準(zhǔn)命令。SQL是相關(guān)數(shù)據(jù)庫的“標(biāo)準(zhǔn)查詢語言”,并且,在計(jì)算機(jī)領(lǐng)域中十分常見。插入文本對(duì)象(InsertTextObject)正如前面的例子所示,本操作將對(duì)文本對(duì)象索引作所有必要的更改,以便使用任何類似的自由格式文本或那里的次級(jí)元素可對(duì)有關(guān)的文本對(duì)象參照進(jìn)行定位。本操作要求的步驟有1.調(diào)用相關(guān)文本對(duì)象的“得到關(guān)鍵碼”函數(shù),達(dá)到它的所有的低等級(jí)匹配元素。2.對(duì)于每一個(gè)低等級(jí)匹配元素,在文本對(duì)象索引的三欄表中添加一個(gè)條目。3.根據(jù)當(dāng)前計(jì)算機(jī)系統(tǒng)技術(shù)上的考慮,選擇性地保存相應(yīng)的文本對(duì)象。選擇文本對(duì)象(SelectTextObject)該操作對(duì)自由格式文本返還所有的參照(通常是由系統(tǒng)用戶提供的記錄標(biāo)識(shí)符),它包括所提供的自由格式文本。例如定位所有包括“包克斯路”的記錄。該操作按以下的步驟進(jìn)行1.從查詢輸入數(shù)據(jù)建立一個(gè)文本對(duì)象。2.調(diào)用文本對(duì)象的“得到關(guān)鍵碼”函數(shù),以獲得它的所有的低等級(jí)匹配元素。3.利用每一元素節(jié)點(diǎn)的屬性類型標(biāo)識(shí)符和代表值,利用任何普通的低等級(jí)匹配項(xiàng)目檢索所有的參照。4.對(duì)從上步得到的參照值的交集進(jìn)行分析,選擇包含查詢數(shù)據(jù)所有的重要的低等級(jí)匹配元素的自由格式文本。5.獲得原始的文本對(duì)象。6.對(duì)每一項(xiàng)進(jìn)行“文本比較”函數(shù),已獲得信任值。7.按信任值進(jìn)行分類。8.將結(jié)果返還調(diào)用者。刪除文本對(duì)象(DeleteTextObject)該操作使用用戶提供的參照關(guān)鍵碼并且用刪除具有那個(gè)參照關(guān)鍵碼的記錄。更新文本對(duì)象(UpdateTextObject)通過使用“插入”操作,首先刪除所有的以前的條目,然后重新插入新的條目,該操作可對(duì)修改了的文本對(duì)象的條目進(jìn)行更新。文本串操作在計(jì)算機(jī)領(lǐng)域中,用來對(duì)兩個(gè)文本串進(jìn)行比較從而得到一個(gè)匹配信任值的技術(shù)人人皆知。本節(jié)用來說明文本串比較的有關(guān)內(nèi)容。一個(gè)典型的匹配程序通常包括以下的步驟1.不考慮大小寫,檢查準(zhǔn)確的字符匹配。2.通過刪除元音和雙寫字母,檢查普通拼寫錯(cuò)誤,然后對(duì)結(jié)果進(jìn)行比較。3.照顧到字符刪除、插入、和音譯,通過比較功能檢查任何拼寫錯(cuò)誤。4.在標(biāo)準(zhǔn)國際音譯之后檢查相近性。音譯表請(qǐng)參閱圖17。5.在把串譯成標(biāo)準(zhǔn)語音標(biāo)識(shí)符后,檢查語音的相近性。在本發(fā)明中,文本串匹配是在低等級(jí)匹配元素節(jié)點(diǎn)上進(jìn)行的。在上面的程序中的第1、2、3、4和5步中使用的值是在每次完成串比較后生成的,或者是,在生成文本對(duì)象并在相應(yīng)的元素節(jié)點(diǎn)內(nèi)存儲(chǔ)時(shí)生成的。這些值也可以作為上面介紹的文本對(duì)象索引中的“代表值關(guān)鍵碼”被使用。上面程序的第4和5步使得本發(fā)明比較外國語如日本漢字的自由格式數(shù)據(jù)。一個(gè)語音值可為日本漢字符號(hào)存儲(chǔ)起來,并用來進(jìn)行日本漢字和可能不是日本漢字的其他自由格式數(shù)據(jù)的元素之間的比較。換句話說,這一功能能夠?qū)τ猛鈬Z言書寫的自由格式數(shù)據(jù)進(jìn)行處理。參見圖17和前面的說明。發(fā)明的應(yīng)用實(shí)例圖22給出了一個(gè)實(shí)例,用來說明本發(fā)明在SQL相關(guān)數(shù)據(jù)庫操作中的應(yīng)用。SQL語句的說明如下1.生成一個(gè)域?qū)ο螅Q為“US_ADDRESS”2.用一種語言定義對(duì)其初始化(這包括上面介紹過的字符定義和正規(guī)表達(dá)定義和語法定義)。3.生成一個(gè)文本對(duì)象級(jí),稱為“ADDRESS”4.把它的域設(shè)定為“US_ADDRESS”和類型設(shè)定為“ADDRESS”(類型名稱必須在語法中定義)5.生成一個(gè)數(shù)據(jù)庫表,稱為“PERSONS”,其中一個(gè)元素是“ADDRESS”文本對(duì)象,稱為“Home_Addr”。6.在表中插入一個(gè)記錄。7.用一個(gè)特定的地址,在“PERSONS”表中選擇所有的記錄。8.在“PERSONS”表中,選擇在“Home_Addr”欄中有數(shù)據(jù)的所有記錄,但這個(gè)“Home_Addr”欄包含次級(jí)元素“State”并帶有一個(gè)與“California”匹配的值。9.在“PERSONS”表中,選擇在“Home_Addr”欄中有數(shù)據(jù)的所有記錄,這個(gè)“Home_Addr”欄包含有一個(gè)大于80%的信任等級(jí)的匹配“KathieSt”的次級(jí)元素“Street”。結(jié)論通過應(yīng)用本發(fā)明,使用恰當(dāng)?shù)挠驑?gòu)建程序構(gòu)建恰當(dāng)?shù)挠?,和設(shè)計(jì)恰當(dāng)?shù)妮斎胛募?,可?duì)任何自由格式數(shù)據(jù)記錄進(jìn)行分析。通過這種方式,使用計(jì)算機(jī)可對(duì)所有的數(shù)據(jù)進(jìn)行分析,為所有的自由格式文本生成文本對(duì)象。應(yīng)理解,根據(jù)本發(fā)明的實(shí)施例,有許多處理自由格式數(shù)據(jù)的步驟。在系統(tǒng)初始化過程中,這些步驟可一次性地設(shè)定并且結(jié)果被保存下來。或者,在當(dāng)需要時(shí)(如,每次進(jìn)行查詢時(shí)),這些程序也可在計(jì)算機(jī)運(yùn)行過程中進(jìn)行。關(guān)于這些程序的總結(jié)如下·域?qū)ο蟮慕??!の谋緦?duì)象文本節(jié)點(diǎn)樹的建立?!の谋緦?duì)象額外的暗示的次級(jí)字段的建立。除此之外,還有從多個(gè)文本對(duì)象生成文本對(duì)象索引的其他的有關(guān)步驟。本領(lǐng)域技術(shù)人員應(yīng)理解,在沒有脫離這里描述的本發(fā)明的精神或范圍的情況下,在具體的實(shí)施例中,可對(duì)本發(fā)明做出多樣的變更和/或改進(jìn)。因此,這里的實(shí)施方法只不過是說明性的,并且不是限定性的。附錄本附錄用來說明在本發(fā)明的最佳的實(shí)施例所使用解析運(yùn)算方法?!耙?hào)”中的說明是從Tomita的書中引用的,書名為,自然語言有效的解析方法,Kluwer1986。一般術(shù)語(GeneralTerms)符號(hào)代表一個(gè)或多個(gè)具體的令牌串。一個(gè)符號(hào)包(symbol)括以下的數(shù)據(jù)項(xiàng)目代表符號(hào)標(biāo)識(shí)符(symbol_id)的一個(gè)整數(shù);指示這一符號(hào)是否是可見的一個(gè)邏輯變量;指示這一符號(hào)是否是低等級(jí)匹配元素的邏輯變量;一個(gè)代表匹配程度的整數(shù);一個(gè)說明誰是相應(yīng)的解析表的整數(shù)。所有的這些信息均在語法定義數(shù)據(jù)中進(jìn)行說明。規(guī)則(rule)代表指定一組符號(hào)怎樣精簡(jiǎn)(reduce)成一個(gè)高等級(jí)符號(hào)的語法規(guī)則。一項(xiàng)規(guī)則包括以下的數(shù)據(jù)項(xiàng)目一個(gè)表示規(guī)則標(biāo)識(shí)符(rule_id)的整數(shù)(規(guī)則-標(biāo)識(shí)符);一個(gè)指向LHS符號(hào)的指針;一個(gè)矢量,它包括任何數(shù)量的代表規(guī)則的RHS的指針;一組暗示的次級(jí)字段;一個(gè)說明規(guī)則的解析優(yōu)先級(jí)的整數(shù)。所有這些信息在語法定義數(shù)據(jù)中進(jìn)行說明。節(jié)點(diǎn)(node)代表輸入文本串的一個(gè)元素?!案?jié)點(diǎn)”代表整個(gè)的輸入文本串。一個(gè)節(jié)點(diǎn)包含以下的數(shù)據(jù)項(xiàng)目一個(gè)指向元素起始點(diǎn)的指針;一個(gè)指向元素終止點(diǎn)的指針;一個(gè)表示元素符號(hào)標(biāo)識(shí)符(元素類型)的整數(shù);一個(gè)次級(jí)節(jié)點(diǎn)序列;一個(gè)選擇性的用于匹配的文本串;一個(gè)表示解析優(yōu)先級(jí)的整數(shù);一個(gè)表示該元素對(duì)于系統(tǒng)用戶是否可見的的邏輯變量;一個(gè)表示該符號(hào)是否是低等級(jí)匹配元素的的邏輯變量;一個(gè)表示匹配程度的整數(shù)。次級(jí)節(jié)點(diǎn)用來表示對(duì)輸入文本串進(jìn)行解釋的模糊方法。在模(subnode)糊文本串中,每一個(gè)元素節(jié)點(diǎn)將具有僅僅一個(gè)在其次級(jí)節(jié)點(diǎn)序列中的次級(jí)節(jié)點(diǎn)。每一個(gè)次級(jí)節(jié)點(diǎn)包含一個(gè)節(jié)點(diǎn)序列。令牌變量(Token用來說明一組與相關(guān)的令牌的一解釋相關(guān)的數(shù)據(jù)variable)項(xiàng)目。一個(gè)令牌變量包含以下的數(shù)據(jù)項(xiàng)目一個(gè)表示令牌符號(hào)標(biāo)識(shí)符的整數(shù);一個(gè)說明該令牌解析優(yōu)先級(jí)的整數(shù);一個(gè)用于匹配的文本串;一組暗示的次級(jí)字段。所有這些信息在語法定義數(shù)據(jù)中進(jìn)行說明。暗示的次級(jí)字段用來說明生成一個(gè)額外的文本節(jié)點(diǎn)所需的信息。它包含以下的數(shù)據(jù)項(xiàng)目一個(gè)表示次級(jí)字段符號(hào)標(biāo)識(shí)(Implied符的整數(shù);一個(gè)表示次級(jí)字段值的文本串。例如subfield)符的整數(shù);一個(gè)表示次級(jí)字段值的文本串。例如一個(gè)稱謂“先生”具有一個(gè)暗示的次級(jí)字段,性別=“男性”。所有這些信息在語法定義數(shù)據(jù)中進(jìn)行說明。全局變量(Globalvariables)解析表要建立一個(gè)解析表,我們利用一個(gè)“解析運(yùn)算方法,(Parsetable)它使用的是標(biāo)準(zhǔn)的LR解析表。該解析表可通過任何現(xiàn)有的方法得到?!晌覀兊慕馕銎魉鞯奈ㄒ坏男薷氖潜碇械拿恳粋€(gè)條目應(yīng)是一組動(dòng)作,而不是一個(gè)動(dòng)作。當(dāng)出現(xiàn)沖突時(shí),也就是說,當(dāng)在表中的一個(gè)條目中兩個(gè)或兩個(gè)以上的動(dòng)作需要存儲(chǔ)時(shí),傳統(tǒng)的表格構(gòu)建程序或者停止或者報(bào)告‘錯(cuò)誤’,或者只存儲(chǔ)一個(gè)任意選定的動(dòng)作并發(fā)出警告。我們的表格構(gòu)建程序作為一組動(dòng)作對(duì)所有的動(dòng)作進(jìn)行存儲(chǔ)”。該運(yùn)算方法可從Aho,A.V.andUllman,J.D.的書中找到,書名為,編程器設(shè)計(jì)原理,AddisonWesley,1977。該運(yùn)算規(guī)則為每一個(gè)標(biāo)為可見的語法符號(hào)生成一個(gè)解析表。注意可見符號(hào)有兩種使用方法1)代表一個(gè)自由格式文本串2)代表一個(gè)自由格式文本串,該文本串是一個(gè)用于查詢操作的輸入?yún)?shù)。圖形堆?!啊且粋€(gè)引導(dǎo)的非循環(huán)式的圖形,它具有僅僅一(Graph-stack)葉頂點(diǎn)‘vo’,狀態(tài)號(hào)標(biāo)為0。專用頂點(diǎn)‘vo’被稱為圖形堆棧底。所有的距離‘vo’的距離為偶數(shù)(2*n,這里n為正整數(shù))的頂點(diǎn)被稱為狀態(tài)頂點(diǎn),并用狀態(tài)號(hào)標(biāo)出。所有的距離‘vo’的距離為奇數(shù)的稱為符號(hào)頂點(diǎn),它們用語法符號(hào)標(biāo)出?!硗猓瑺顟B(tài)頂點(diǎn)通常用變量‘v’‘w’‘u’表示,而符號(hào)頂點(diǎn)也用變量‘x’‘y’‘z’表示”。頂點(diǎn)清單‘U[i]’“當(dāng)解析a[i]時(shí)(也就是說,在輸入串中的第i個(gè)(vertexlist令牌)時(shí),生成的在圖形堆棧中的一組頂點(diǎn)。把最‘U[i]’)后移動(dòng)的a[i]設(shè)為該令牌,那么,U[i]即為一組最高的定點(diǎn)”。有效清單“在U[i]中將要處理的一組有效的頂點(diǎn)。…(ActiveList“在標(biāo)準(zhǔn)的LR解析中,任何時(shí)候它的元素的數(shù)量不‘A’)超過一個(gè)”。精簡(jiǎn)清單‘R’“要精簡(jiǎn)的一組頂部邊緣。每一元素均是一個(gè)3(Reducelist元組元素<v,x,p>,其中,‘v’∈U[i](就是說,‘R’)是要精簡(jiǎn)的路徑的一個(gè)起始頂點(diǎn))x∈SUCCESSORS(v)(也就是說,被直接連接到‘v’。并且,‘p’是生成(語法規(guī)則)。在精簡(jiǎn)清單‘R’中<v,x,p>的存在含義為‘精簡(jiǎn)p’將應(yīng)用到用邊緣<v,x>開始的所有路徑上。移動(dòng)清單‘Q’“一組將要移動(dòng)的頂點(diǎn)。在標(biāo)準(zhǔn)的LR解析中,其元(ShiftList‘Q’)素的個(gè)數(shù)不超過一個(gè)。每一元素均是兩元元素<v,s>,其中,v∈U[i](也就是要移動(dòng)的頂點(diǎn))及s是狀態(tài)號(hào)。在‘Q’中<v,s>的存在含義為對(duì)‘v’使用‘移動(dòng)s’”。對(duì)移動(dòng)條目的修改是一附加令牌變量組。詳細(xì)內(nèi)容參閱下面的介紹。令牌變量清單‘T’這是對(duì)Tomita的解析器的修改,它可以使多重的符(TokenVariable號(hào)標(biāo)識(shí)符分配給一個(gè)令牌。在這一清單中的每一個(gè)List‘T’)條目包括符號(hào)標(biāo)識(shí)符、解析優(yōu)先級(jí)、匹配串、和任何數(shù)量的次級(jí)定義。函數(shù)CreateTextObject(Parser)(生成文本對(duì)象(解析器))·為輸入符號(hào)取得相應(yīng)的解析表·在圖形堆棧中生成初始頂點(diǎn)·把令牌位置“i”設(shè)成1·一直重復(fù)直到?jīng)]有令牌剩余·GetnextTokenanditsvariablelist·Parsetoken·Shifttoken·對(duì)令牌位置“i”增量·Parse“endofinput”·如果根節(jié)點(diǎn)已設(shè)置(也就是說,串已被接受)·返還一個(gè)出錯(cuò)信息·對(duì)每一個(gè)元素節(jié)點(diǎn)的解析優(yōu)先級(jí)進(jìn)行分析以取得最佳的解析樹·用節(jié)點(diǎn)樹和輸入串生成一個(gè)新的文本對(duì)象·返還新的文本對(duì)象GetnextTokenanditsvariablelist(取得下一個(gè)令牌和它的變量清單)·在當(dāng)前的解析位置對(duì)串應(yīng)用“正規(guī)表達(dá)分析程序”以取得一個(gè)令牌·使用結(jié)果令牌查閱字典·對(duì)于每一個(gè)匹配字典條目·向令牌變量清單‘T’添加條目·對(duì)令牌變量清單‘T’添加正規(guī)表達(dá)變量·將當(dāng)前的解析位置更新到該令牌的末端后的一個(gè)字符ParseToken(解析令牌)·有效清單“A”<=頂點(diǎn)清單U[i]·復(fù)位精簡(jiǎn)清單“R”和移動(dòng)清單“Q”·一直重復(fù),直到有效清單“A”和精簡(jiǎn)清單“R”均空·如果有效清單“A”沒空·Actor·否則·如果精簡(jiǎn)清單沒空·ReducerActor(動(dòng)作器)·從有效清單“A”中移出一個(gè)頂點(diǎn)“v”·從頂點(diǎn)“v”中取得當(dāng)前狀態(tài)·在令牌變量表中對(duì)于每個(gè)條目·從變量列表的當(dāng)前的條目中得到符號(hào)標(biāo)識(shí)符·使用當(dāng)前的狀態(tài)和符號(hào)標(biāo)識(shí)符查閱解析表·如果解析表?xiàng)l目已空,然后從令牌變量表的下一個(gè)條目開始繼續(xù)·如果解析表?xiàng)l目指示“接受”狀態(tài)·把當(dāng)前頂點(diǎn)的節(jié)點(diǎn)設(shè)為造句樹的根節(jié)點(diǎn)·對(duì)于解析表?xiàng)l目中的每一“移動(dòng)”·向移動(dòng)清單“Q”添加一個(gè)條目·對(duì)于解析表?xiàng)l目中的每一個(gè)“精簡(jiǎn)”條目·向精簡(jiǎn)表“R”添加一個(gè)條目Reducer(精簡(jiǎn)器)·從精簡(jiǎn)表“R”中移出一個(gè)精簡(jiǎn)條目·從精簡(jiǎn)條目中得到當(dāng)前的精簡(jiǎn)規(guī)則“p”·從精簡(jiǎn)條目中得到當(dāng)前的符號(hào)頂點(diǎn)“x”·得到“p”右側(cè)(RHS)的長(zhǎng)度·搜索圖形堆棧,找出所有的符號(hào)頂點(diǎn)“y”,該頂點(diǎn)具有到當(dāng)前符號(hào)頂點(diǎn)“x”的路徑,其長(zhǎng)度為2*(規(guī)則“p”的RHS的長(zhǎng)度)-2·對(duì)于找到的每一字符頂點(diǎn)“y”·Createnode·對(duì)每一連接到符號(hào)頂點(diǎn)“y”的狀態(tài)頂點(diǎn)“w”·UpdatetablesCreatenode(生成節(jié)點(diǎn))·生成一個(gè)新的節(jié)點(diǎn)“q”·生成一個(gè)次級(jí)節(jié)點(diǎn)“r”,它含有到符號(hào)頂點(diǎn)“y”路徑上的每一符號(hào)節(jié)點(diǎn)頂點(diǎn)的節(jié)點(diǎn)·如果精簡(jiǎn)規(guī)則“p”的RHS長(zhǎng)度為1·Createsinglenode·否則·Createmulti-node·從規(guī)則“p”的LHS令牌分配符號(hào)屬性·CreatesubfieldsCreatesinglenode(生成單個(gè)節(jié)點(diǎn))·從次級(jí)節(jié)點(diǎn)“r”中的單個(gè)節(jié)點(diǎn)中拷貝文本指針·把次級(jí)節(jié)點(diǎn)“r”添加到新節(jié)點(diǎn)“q”中Createmulti-node(生成多重節(jié)點(diǎn))·從次級(jí)節(jié)點(diǎn)“r”中的第一個(gè)節(jié)點(diǎn)得到文本起始指針·從次級(jí)節(jié)點(diǎn)“r”中的最后一個(gè)節(jié)點(diǎn)得到文本結(jié)束指針·把次級(jí)節(jié)點(diǎn)“r”添加到新的節(jié)點(diǎn)“q”中Createsubfields(生成次級(jí)字段)·對(duì)于令牌變量中的每一個(gè)暗示的次級(jí)字段·生成一個(gè)新的節(jié)點(diǎn)·從暗示的次級(jí)字段分配符號(hào)屬性·從暗示的次級(jí)字段文本串生成文本串·把新節(jié)點(diǎn)起始指針設(shè)到該文本串的起始點(diǎn)·把新節(jié)點(diǎn)的終止指針設(shè)到該文本串的結(jié)束點(diǎn)Updatetables(更新表格)·從狀態(tài)頂點(diǎn)“w”中得到以前的狀態(tài)·取得當(dāng)前的生成規(guī)則“p”的左側(cè)(LHS)的符號(hào)·從這一符號(hào)得到符號(hào)標(biāo)識(shí)符“N”·使用先前的狀態(tài)和符號(hào)標(biāo)識(shí)符“N”查閱解析表·從解析表?xiàng)l目中得到新的狀態(tài)“s”·搜索頂點(diǎn)清單U[i]查找具有同樣解析狀態(tài)“s”的狀態(tài)頂點(diǎn)·如果找到·如果從該狀態(tài)頂點(diǎn)“u”到當(dāng)前的狀態(tài)頂點(diǎn)“w”已存在路徑長(zhǎng)度2(即直接路徑)·從這些狀態(tài)頂點(diǎn)之間得到符號(hào)頂點(diǎn)“z”·將當(dāng)前的次級(jí)節(jié)點(diǎn)添加到該符號(hào)頂點(diǎn)“z”節(jié)點(diǎn)上·否則,·Reducewithnewsymbolvertex·如果沒有找到·ReducewithallnewReducewithnewsymbolvertex(用新符號(hào)頂點(diǎn)精簡(jiǎn))·生成新的符號(hào)頂點(diǎn)“z”·把當(dāng)前的節(jié)點(diǎn)指派給這一符號(hào)頂點(diǎn)“z”·將狀態(tài)頂點(diǎn)“w”連接到新的符號(hào)頂點(diǎn)“z”·將新的符號(hào)頂點(diǎn)“z”連到具有同樣的解析狀態(tài)“u”的被發(fā)現(xiàn)的狀態(tài)頂點(diǎn)·如果該狀態(tài)頂點(diǎn)“u”不在有效清單中·從狀態(tài)頂點(diǎn)“u”中得到新的解析狀態(tài)·從精簡(jiǎn)條目中得到符號(hào)標(biāo)識(shí)符·使用新的解析狀態(tài)和符號(hào)標(biāo)識(shí)符查閱解析表·如果解析表沒有空·對(duì)于解析表?xiàng)l目中的每一個(gè)精簡(jiǎn)條目·向精簡(jiǎn)清單添加一個(gè)條目Reducewithallnew(用所有新的精簡(jiǎn))·生成一個(gè)新的狀態(tài)點(diǎn)“u”·將狀態(tài)頂點(diǎn)“u”的解析狀態(tài)設(shè)為狀態(tài)“s”·生成一個(gè)新的符號(hào)頂點(diǎn)“x”·把當(dāng)前的節(jié)點(diǎn)分配給新的符號(hào)頂點(diǎn)“z”·將狀態(tài)頂點(diǎn)“w”連接到新的符號(hào)頂點(diǎn)“x”·將新的符號(hào)頂點(diǎn)“x”連接到新的狀態(tài)頂點(diǎn)“u”·將狀態(tài)頂點(diǎn)“u”添加到有效清單“A”·將狀態(tài)頂點(diǎn)“u”添加到頂點(diǎn)清單“U[i]”Shifttoken(移動(dòng)令牌)·初始化頂點(diǎn)清單“U[i+1]”·用符號(hào)標(biāo)識(shí)符,然后用解析狀態(tài)“s”,再后用狀態(tài)頂點(diǎn)“v”對(duì)移動(dòng)清單“Q”分類·對(duì)于所有的具有同樣的符號(hào)標(biāo)識(shí)符的移動(dòng)清單的所有條目·從令牌和令牌變量清單生成一個(gè)新的節(jié)點(diǎn)·對(duì)于在字典條目中的每一個(gè)暗示的次級(jí)字段·將新的次級(jí)字段節(jié)點(diǎn)添加到如上的新的節(jié)點(diǎn)上·對(duì)于在符號(hào)標(biāo)識(shí)符次級(jí)組中的每一個(gè)獨(dú)特的解析狀態(tài)“S”·生成一個(gè)新的符號(hào)頂點(diǎn)“w”·把狀態(tài)頂點(diǎn)“w”的解析狀態(tài)設(shè)為解析狀態(tài)“s”·生成一個(gè)新的符號(hào)頂點(diǎn)“x”·把該新的節(jié)點(diǎn)指派給新的符號(hào)頂點(diǎn)“x”·將新的符號(hào)頂點(diǎn)“x”連接到新的頂點(diǎn)“w”·將狀態(tài)頂點(diǎn)“w”添加到頂點(diǎn)清單“U[I+1]”中·對(duì)于在解析狀態(tài)次級(jí)組中的每一個(gè)移動(dòng)條目·從移動(dòng)條目中得到狀態(tài)頂點(diǎn)“v”·將新的符號(hào)頂點(diǎn)“x”連到狀態(tài)頂點(diǎn)“v”Parse“endofinput”(解析“輸入結(jié)束點(diǎn)”)·生成一個(gè)帶有一個(gè)令牌變量的令牌·將符號(hào)標(biāo)識(shí)符設(shè)為“輸入結(jié)束點(diǎn)”符號(hào)·解析令牌權(quán)利要求1.一種處理存儲(chǔ)在計(jì)算系統(tǒng)中的自由格式數(shù)據(jù)的方法,它包括對(duì)數(shù)據(jù)元素的檢查以確定數(shù)據(jù)的屬性的步驟,通過檢查元素的內(nèi)容和元素之間的上下文關(guān)系來確定數(shù)據(jù)的語義和造句信息(屬性),生成與這些信息相關(guān)聯(lián)的附加數(shù)據(jù),并以文本對(duì)象的形式表現(xiàn)出來,文本對(duì)象包括指針裝置,用它可對(duì)自由格式數(shù)據(jù)的元素進(jìn)行訪問,并且附加數(shù)據(jù)可以通過查詢處理裝置進(jìn)行訪問,用來向與數(shù)據(jù)的語義和造句有關(guān)的查詢提供回答,和/或訪問數(shù)據(jù)并進(jìn)行處理。2.如權(quán)利要求1所述的方法,其中自由格式數(shù)據(jù)作為一個(gè)記錄存儲(chǔ)在數(shù)據(jù)庫自由格式字段中。3.如權(quán)利要求1或2所述的方法,其中,數(shù)據(jù)在計(jì)算系統(tǒng)中按其原樣進(jìn)行存儲(chǔ),在此,它們可被其他的應(yīng)用程序進(jìn)行訪問。4.如前述任何一項(xiàng)權(quán)利要求所述的方法,其中,文本對(duì)象包括一個(gè)屬性類型標(biāo)識(shí)符,用來表示數(shù)據(jù)元素的屬性類型。5.如前述任何一項(xiàng)權(quán)利要求所述的方法,其中,文本對(duì)象包括一個(gè)標(biāo)識(shí)數(shù)據(jù)元素字符長(zhǎng)度的值。6.如權(quán)利要求4或5所述的方法,其中,文本對(duì)象包括一個(gè)這樣的值,它用來表示一個(gè)元素是其造句層次中的一個(gè)低等級(jí)的元素還是高等級(jí)的元素,當(dāng)與按該方法處理的其它數(shù)據(jù)進(jìn)行匹配數(shù)據(jù)時(shí),該值用于匹配目的。7.如前述任何一項(xiàng)權(quán)利要求所述的方法,其中,文本對(duì)象包括一個(gè)數(shù)據(jù)元素的匹配程度值,它可被用來確定與其它的自由格式數(shù)據(jù)進(jìn)行匹配時(shí)元素的重要性。8.如前述任何一項(xiàng)權(quán)利要求所述的方法,其中,文本對(duì)象包括多個(gè)按自由格式數(shù)據(jù)的語義結(jié)構(gòu)安排的元素節(jié)點(diǎn),這些元素節(jié)點(diǎn)按自由格式數(shù)據(jù)的語義結(jié)構(gòu)相應(yīng)的層次排列,并且每一個(gè)元素節(jié)點(diǎn)包括與自由格式數(shù)據(jù)的相應(yīng)元素相關(guān)的附加數(shù)據(jù)。9.如前述任何一項(xiàng)權(quán)利要求所述的方法,包括進(jìn)一步的步驟生成匹配值,用于將根據(jù)本發(fā)明方法處理的其他的一自由格式數(shù)據(jù)元素與一自由格式數(shù)據(jù)元素的比較。10.如權(quán)利要求9所述的方法,其中的匹配值是一個(gè)語音值,用來語音比較自由格式數(shù)據(jù)元素。11.如前述任何一項(xiàng)權(quán)利要求所述的方法,其中,文本對(duì)象包括與從自由格式數(shù)據(jù)中暗示得到的信息相匹配的暗示數(shù)據(jù)。12.如前述任何一項(xiàng)權(quán)利要求所述的方法,其中,多個(gè)自由格式數(shù)據(jù)記錄被處理,并且生成一個(gè)與每個(gè)自由格式數(shù)據(jù)記錄相關(guān)聯(lián)的文本對(duì)象。13.如權(quán)利要求12所述的方法,其中,文本對(duì)象被存儲(chǔ)在計(jì)算機(jī)系統(tǒng)中,可用于通過查詢處理裝置對(duì)于有關(guān)自由格式數(shù)據(jù)記錄的查詢。14.如權(quán)利要求12所述的方法,它包括進(jìn)一步的步驟生成文本對(duì)象索引,文本對(duì)象索引包括對(duì)于每一個(gè)數(shù)據(jù)記錄的元素的屬性類型標(biāo)識(shí)符,以及指向每一數(shù)據(jù)記錄的指針,從而,可按數(shù)據(jù)的語義和造句信息對(duì)索引進(jìn)行查詢,或通過索引對(duì)數(shù)據(jù)進(jìn)行訪問。15.如權(quán)利要求14所述的方法,其中,文本對(duì)象索引的每一個(gè)條目,包括一個(gè)代表值關(guān)鍵碼,它給出一個(gè)值,表示與屬性類型標(biāo)識(shí)符關(guān)聯(lián)的元素的特點(diǎn)。16.如前述任何一項(xiàng)權(quán)利要求所述的方法,其中,包括進(jìn)一步的步驟進(jìn)行域構(gòu)建,以便從域定義數(shù)據(jù)文件中構(gòu)建域?qū)ο螅驅(qū)ο罂筛鶕?jù)語法規(guī)則通過解析自由格式數(shù)據(jù)進(jìn)行檢查過程。17.如權(quán)利要求16所述的方法,其中,域定義數(shù)據(jù)文件包括字符定義數(shù)據(jù)、正規(guī)表達(dá)定義數(shù)據(jù)和語法數(shù)據(jù)。18.如前述任何一項(xiàng)權(quán)利要求所述的方法,其中,自由格式數(shù)據(jù)為郵政地址數(shù)據(jù)。19.如前述任何一項(xiàng)權(quán)利要求所述的方法,其中,查詢處理裝置可以通過附加數(shù)據(jù)對(duì)數(shù)據(jù)進(jìn)行正常的數(shù)據(jù)庫操作。20.一種處理存儲(chǔ)在計(jì)算系統(tǒng)中的自由格式數(shù)據(jù)的處理系統(tǒng),其設(shè)備包括通過檢查數(shù)據(jù)的元素來確定數(shù)據(jù)的屬性的裝置,通過檢查元素的內(nèi)容和元素之間的上下文關(guān)系,來確定關(guān)于數(shù)據(jù)的語義和造詞信息(屬性),以文本對(duì)象的形式,生成與這些信息關(guān)聯(lián)的附加數(shù)據(jù)的裝置,文本對(duì)象包括指針裝置,可用來對(duì)自由格式數(shù)據(jù)的元素進(jìn)行訪問;以及查詢處理裝置,它可用來訪問附加數(shù)據(jù)以便提供與數(shù)據(jù)的語義和造詞信息有關(guān)的查詢的答案,或/和訪問數(shù)據(jù)并進(jìn)行處理。21.如權(quán)利要求20所述的處理系統(tǒng),其中,自由格式數(shù)據(jù)在數(shù)據(jù)庫的自由格式字段作為一個(gè)記錄被存儲(chǔ)的。22.如權(quán)利要求20或21所述的處理系統(tǒng),其中,檢查裝置不影響數(shù)據(jù)的存儲(chǔ)。23.如權(quán)利要求20-22任何一項(xiàng)所述的處理系統(tǒng),其中,文本對(duì)象包括一個(gè)屬性類型標(biāo)識(shí)符用來表示數(shù)據(jù)元素的屬性類型。24.如權(quán)利要求20-23任何一項(xiàng)所述的處理系統(tǒng),其中,文本對(duì)象包括一個(gè)說明數(shù)據(jù)元素字符長(zhǎng)度的值。25.如權(quán)利要求23或24所述的處理系統(tǒng),其中,文本對(duì)象包括一個(gè)值,指示元素的屬性類型是在造句層次中的低等級(jí)還是高等級(jí),從而當(dāng)與按照該系統(tǒng)處理的其它自由格式數(shù)據(jù)比較時(shí),該值用于匹配目的。26.如權(quán)利要求20-25任何一項(xiàng)所述的處理系統(tǒng),其中,文本對(duì)象包括一個(gè)數(shù)據(jù)元素的匹配程度值,它可用來確定該元素與其它的自由格式數(shù)據(jù)匹配時(shí)該元素的重要性。27.如權(quán)利要求20-26任何一項(xiàng)所述的處理系統(tǒng),其中,文本對(duì)象包括多個(gè)根據(jù)自由格式數(shù)據(jù)語音結(jié)構(gòu)排列的元素節(jié)點(diǎn),這些元素節(jié)點(diǎn)根據(jù)自由格式數(shù)據(jù)的語音結(jié)構(gòu)按層次排列,并且每一元素節(jié)點(diǎn)包含與自由格式數(shù)據(jù)相應(yīng)的元素相關(guān)聯(lián)的附加數(shù)據(jù)。28.如權(quán)利要求20-27任何一項(xiàng)所述的處理系統(tǒng),文本對(duì)象含義為,生成匹配值,用來進(jìn)行由該處理系統(tǒng)處理的其他自由格式數(shù)據(jù)的一元素與該自由格式數(shù)據(jù)的一元素之間的比較。29.如權(quán)利要求28所述的處理系統(tǒng),其中,匹配值是語音值,用于語音比較自由格式數(shù)據(jù)。30.如權(quán)利要求20-29任何一項(xiàng)所述的處理系統(tǒng),其中,文本對(duì)象包括與自由格式數(shù)據(jù)所含的信息相關(guān)聯(lián)的暗示的數(shù)據(jù)。31.如權(quán)利要求20-30任何一項(xiàng)所述的處理系統(tǒng),其中,該系統(tǒng)用來進(jìn)行多個(gè)自由格式數(shù)據(jù)記錄的處理,并且生成與每一個(gè)自由格式數(shù)據(jù)記錄相關(guān)聯(lián)的文本對(duì)象。32.如權(quán)利要求31所述的處理系統(tǒng),其中,設(shè)置生成附加數(shù)據(jù)的裝置用來生成文本對(duì)象索引,該文本對(duì)象索引包括每一數(shù)據(jù)記錄元素的屬性類型標(biāo)識(shí)符,和指向每一數(shù)據(jù)記錄的指針,并且其中,查詢處理裝置用來訪問文本對(duì)象索引,以便向與數(shù)據(jù)的語義和造句信息相關(guān)聯(lián)的查詢提供回答,和/或訪問數(shù)據(jù)并進(jìn)行處理。33.如權(quán)利要求32所述的處理系統(tǒng),其中,文本對(duì)象索引包括各條目的代表值關(guān)鍵碼,它給出與該條目的屬性類型標(biāo)識(shí)符相關(guān)聯(lián)的元素的特性的表示值,以便與按本系統(tǒng)處理的其他的自由格式數(shù)據(jù)進(jìn)行匹配。34.如權(quán)利要求20-33任何一項(xiàng)所述的處理系統(tǒng),進(jìn)一步包括域?qū)ο?,它用來通過按照語法規(guī)則解析自由格式數(shù)據(jù)進(jìn)行檢查處理。35.如權(quán)利要求34所述的處理系統(tǒng),其中,域?qū)ο笥捎驑?gòu)建程序從域定義數(shù)據(jù)文件中生成。36.如權(quán)利要求35所述的處理系統(tǒng),進(jìn)一步包括域生成器,用于進(jìn)行域構(gòu)建處理。37.如權(quán)利要求35或36項(xiàng)所述的處理系統(tǒng),其中,域定義數(shù)據(jù)文件包括字符定義數(shù)據(jù)、正規(guī)表達(dá)定義數(shù)據(jù)和語法數(shù)據(jù)。38.如權(quán)利要求20-37任何一項(xiàng)所述的處理系統(tǒng),其中,自由格式數(shù)據(jù)是郵政地址數(shù)據(jù)。39.如權(quán)利要求20-38任何一項(xiàng)所述的處理系統(tǒng),其中,查詢處理裝置用來通過附加數(shù)據(jù)對(duì)數(shù)據(jù)進(jìn)行傳統(tǒng)的數(shù)據(jù)庫操作。40.一種能夠訪問存儲(chǔ)在計(jì)算系統(tǒng)中的自由格式數(shù)據(jù)的方法,它包括多個(gè)自由格式數(shù)據(jù)記錄,并且包括步驟存儲(chǔ)與數(shù)據(jù)的語義和造詞信息(屬性)相關(guān)聯(lián)的附加數(shù)據(jù)用于每一數(shù)據(jù)記錄,附加數(shù)據(jù)是以與每個(gè)數(shù)據(jù)記錄相關(guān)的文本對(duì)象的形式表示的,文本對(duì)象包括指針裝置,用來訪問每一個(gè)自由格式數(shù)據(jù)記錄的元素,附加數(shù)據(jù)可由查詢處理裝置進(jìn)行訪問,以便提供與數(shù)據(jù)的語義和造詞信息相關(guān)的查詢的回答,和/或訪問數(shù)據(jù)并進(jìn)行處理。41.一種處理系統(tǒng),能夠訪問存儲(chǔ)在計(jì)算系統(tǒng)中的自由格式數(shù)據(jù),包括多個(gè)自由格式數(shù)據(jù)記錄,處理系統(tǒng)包括用于每一數(shù)據(jù)記錄的與數(shù)據(jù)的語義和造詞信息(屬性)相關(guān)聯(lián)的附加數(shù)據(jù),并被存儲(chǔ)及可由處理系統(tǒng)進(jìn)行存儲(chǔ)和訪問,附加數(shù)據(jù)是與每一數(shù)據(jù)記錄相關(guān)聯(lián)的文本對(duì)象的形式,文本對(duì)象包括指針裝置,用來訪問每一自由格式數(shù)據(jù)記錄的元素,以及查詢處理裝置,它可對(duì)附加數(shù)據(jù)進(jìn)行訪問,以便提供與數(shù)據(jù)的語義和造詞信息相關(guān)的查詢的回答,和/或訪問數(shù)據(jù)并進(jìn)行處理。42.一種能夠訪問存儲(chǔ)在計(jì)算系統(tǒng)中的自由格式數(shù)據(jù)的方法,包括多個(gè)自由格式數(shù)據(jù)記錄,包括存儲(chǔ)與每一數(shù)據(jù)記錄中的數(shù)據(jù)的語義和造詞信息(屬性)相關(guān)的附加數(shù)據(jù)的步驟,附加數(shù)據(jù)是以文本對(duì)象索引的形式,包括每一數(shù)據(jù)記錄元素的屬性類型標(biāo)識(shí)符,和指向每一數(shù)據(jù)記錄的指針,文本對(duì)象索引可由查詢處理裝置訪問,以便提供與數(shù)據(jù)的語義和造詞信息相關(guān)的查詢的回答,和/或訪問數(shù)據(jù)并進(jìn)行處理。43.一種能夠訪問存儲(chǔ)在計(jì)算系統(tǒng)中的自由格式數(shù)據(jù)的處理系統(tǒng),包括多個(gè)自由格式數(shù)據(jù)記錄,該處理系統(tǒng)包括用于每一數(shù)據(jù)記錄的自由格式數(shù)據(jù)的語義和造詞信息(屬性)相關(guān)的附加數(shù)據(jù),附加數(shù)據(jù)是以文本對(duì)象索引的形式,包括每一個(gè)數(shù)據(jù)記錄的元素的屬性類型標(biāo)識(shí)符,和指向每一數(shù)據(jù)記錄的指針,和查詢處理裝置,用來訪問附加數(shù)據(jù),以便提供與數(shù)據(jù)的語義和造詞信息相關(guān)的查詢的回答,和/或訪問數(shù)據(jù)并進(jìn)行處理。44.一種訪問按照權(quán)利要求1-19任何一項(xiàng)方法處理的自由格式數(shù)據(jù)的方法,包括步驟訪問附加數(shù)據(jù),以便提供與數(shù)據(jù)的語義和造詞信息相關(guān)的查詢的回答,和/或訪問數(shù)據(jù)并進(jìn)行處理。45.一種訪問按照權(quán)利要求1-19任何一項(xiàng)方法處理的自由格式數(shù)據(jù)的處理系統(tǒng),該處理系統(tǒng)包括查詢處理裝置,用來訪問附加數(shù)據(jù),以便提供與數(shù)據(jù)的語義和造詞信息相關(guān)的查詢的回答,和/或訪問數(shù)據(jù)并進(jìn)行處理。46.一種處理存儲(chǔ)在計(jì)算系統(tǒng)中的自由格式數(shù)據(jù)的處理系統(tǒng),該處理系統(tǒng)包括對(duì)數(shù)據(jù)元素的檢查以確定數(shù)據(jù)的屬性的裝置,通過檢查元素的內(nèi)容和元素之間的上下文關(guān)系以確定數(shù)據(jù)的語義和造詞信息(屬性),以及查詢處理裝置,用于利用這些信息以便提供與數(shù)據(jù)的語義和造詞信息相關(guān)的查詢的回答,和/或訪問數(shù)據(jù)并進(jìn)行處理。47.如權(quán)利要求46所述的處理系統(tǒng),其中,檢查裝置保持自由格式數(shù)據(jù)如同存儲(chǔ)在計(jì)算機(jī)系統(tǒng)中,不影響數(shù)據(jù)。48.一種處理存儲(chǔ)在計(jì)算系統(tǒng)中的自由格式數(shù)據(jù)的方法,包括檢查數(shù)據(jù)元素以便確定數(shù)據(jù)的屬性的步驟,通過檢查元素的內(nèi)容和元素之間的上下文關(guān)系以確定數(shù)據(jù)的語義和造詞信息(屬性),以及利用這些信息查詢數(shù)據(jù),以便提供與數(shù)據(jù)的語義和造詞信息相關(guān)的查詢的回答,和/或訪問數(shù)據(jù)并進(jìn)行處理。49.如權(quán)利要求48所述的處理自由格式數(shù)據(jù)的方法,其中,自由格式數(shù)據(jù)不會(huì)受檢查過程的影響,并以其原樣在計(jì)算系統(tǒng)中存放。50.一種存儲(chǔ)指令的計(jì)算機(jī)可讀存儲(chǔ)器,所述指令用于按照權(quán)利要求1到19任何一項(xiàng)所述的方法,控制計(jì)算機(jī)對(duì)計(jì)算機(jī)系統(tǒng)中存儲(chǔ)的自由格式數(shù)據(jù)進(jìn)行處理。51.一種存儲(chǔ)指令的計(jì)算機(jī)可讀存儲(chǔ)器,所述指令用于按照權(quán)利要求48所述的方法,控制計(jì)算機(jī)對(duì)計(jì)算機(jī)系統(tǒng)中存儲(chǔ)的自由格式數(shù)據(jù)進(jìn)行處理。52.一種處理存儲(chǔ)在計(jì)算機(jī)系統(tǒng)中的多個(gè)自由格式數(shù)據(jù)的方法,包括步驟對(duì)每一數(shù)據(jù)記錄,進(jìn)行數(shù)據(jù)元素的檢查,以確定數(shù)據(jù)的屬性,通過檢查元素的內(nèi)容和元素之間的上下文關(guān)系,確定每一項(xiàng)記錄的語義和造詞信息(屬性),并且生成與每一項(xiàng)記錄相關(guān)聯(lián)的虛擬數(shù)據(jù)字段,使能夠?qū)υ撔畔⒑拖嚓P(guān)元素進(jìn)行訪問,從而可為每一記錄提供相關(guān)聯(lián)的虛擬數(shù)據(jù)字段,以便訪問該記錄的語義和造詞信息以及也對(duì)關(guān)聯(lián)元素訪問。53.一種處理存儲(chǔ)在計(jì)算系統(tǒng)中的自由格式數(shù)據(jù)記錄的處理系統(tǒng),包括對(duì)每一記錄的數(shù)據(jù)元素檢查,以確定數(shù)據(jù)的屬性的裝置,通過檢查元素的內(nèi)容和元素之間的上下文關(guān)系以便確定數(shù)據(jù)的語義和造詞信息(屬性),以及生成與每一記錄相關(guān)聯(lián)的虛擬字段的裝置,能夠?qū)@些信息和相關(guān)聯(lián)的元素進(jìn)行訪問,由此可為每一記錄提供相關(guān)聯(lián)的虛擬數(shù)據(jù)字段,以便對(duì)該記錄的語義和造詞信息進(jìn)行訪問以及也對(duì)相關(guān)聯(lián)的元素訪問。全文摘要本發(fā)明提供了一種處理自由格式數(shù)據(jù)(301)的方法和設(shè)備,以生成與自由格式數(shù)據(jù)相關(guān)聯(lián)的“文本對(duì)象”。文本對(duì)象包括多個(gè)“元素節(jié)點(diǎn)”(302-312),這些節(jié)點(diǎn)包括自由格式文本元素的屬性類型標(biāo)識(shí)符,和幫助對(duì)文本對(duì)象的訪問、取得信息和/或修改或添加自由格式數(shù)據(jù)的其它數(shù)據(jù)。這樣的配置消除了對(duì)信息的每一個(gè)元素構(gòu)建獨(dú)立的數(shù)據(jù)庫字段的要求,這樣,自由格式數(shù)據(jù)可按照人性化處理自由格式數(shù)據(jù)的方式進(jìn)行處理。通過構(gòu)建的文本對(duì)象可以訪問所有的元素。文檔編號(hào)G06F17/27GK1315020SQ98814202公開日2001年9月26日申請(qǐng)日期1998年4月22日優(yōu)先權(quán)日1997年4月22日發(fā)明者格雷格·赫瑟林頓申請(qǐng)人:格雷格·赫瑟林頓