專利名稱:可訓(xùn)練可擴(kuò)充的自動(dòng)數(shù)據(jù)-知識(shí)轉(zhuǎn)換器的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計(jì)算機(jī)系統(tǒng),具體地說(shuō),本發(fā)明涉及將數(shù)據(jù)轉(zhuǎn)換為知識(shí)的計(jì)算機(jī)系統(tǒng)。
背景技術(shù):
許多諸如決策支持系統(tǒng)的產(chǎn)品需要知識(shí)來(lái)做出明智的決策。決策支持系統(tǒng)是基于計(jì)算機(jī)的系統(tǒng),它結(jié)合了知識(shí)、分析工具和模型來(lái)幫助決策人。決策支持系統(tǒng)通常包括知識(shí)數(shù)據(jù)庫(kù)或知識(shí)儲(chǔ)存庫(kù)。從知識(shí)數(shù)據(jù)庫(kù)或儲(chǔ)存庫(kù)析取知識(shí),并利用分析工具和模型進(jìn)行分析,以幫助決策。為了對(duì)決策支持系統(tǒng)有用,必須在將數(shù)據(jù)存儲(chǔ)到知識(shí)數(shù)據(jù)庫(kù)之前對(duì)數(shù)據(jù)進(jìn)行分析、轉(zhuǎn)換和組織,使其成為結(jié)構(gòu)化有意義的知識(shí)。
通常來(lái)說(shuō),數(shù)據(jù)以人類可讀文件的形式存在,而對(duì)決策支持系統(tǒng)來(lái)說(shuō)卻是未系統(tǒng)化無(wú)意義的數(shù)據(jù)。數(shù)據(jù)是指信息、原始事實(shí)等。數(shù)據(jù)可以多種形式,如紙件文件或數(shù)字化文件存在。數(shù)據(jù)本身對(duì)決策支持系統(tǒng)沒(méi)有任何意義。為了使決策支持系統(tǒng)處理數(shù)據(jù),數(shù)據(jù)必須首先轉(zhuǎn)換成決策支持系統(tǒng)能處理的形式。
本文所用的知識(shí)是指可由決策支持系統(tǒng)處理的信息。知識(shí)集合稱為知識(shí)庫(kù)或知識(shí)儲(chǔ)存庫(kù)。諸如標(biāo)準(zhǔn)通用置標(biāo)語(yǔ)言(SGML)或可擴(kuò)展標(biāo)記語(yǔ)言(XML)的均勻結(jié)構(gòu)化數(shù)據(jù)格式可能不適用于決策支持系統(tǒng),這是因?yàn)椴⒎撬械乃柚R(shí)都可由置標(biāo)標(biāo)記。人工進(jìn)行數(shù)據(jù)到知識(shí)的轉(zhuǎn)換是費(fèi)力、昂貴且易出錯(cuò)的;尤其對(duì)于定期更新的數(shù)據(jù)源更是如此。專用知識(shí)庫(kù)結(jié)構(gòu)程序通常因太生硬而無(wú)法直接應(yīng)用,或者是太昂貴而無(wú)法為新型數(shù)據(jù)和/或知識(shí)儲(chǔ)存庫(kù)進(jìn)行修改。
所需的是一種將非結(jié)構(gòu)化無(wú)意義的數(shù)據(jù)如人類可使用的信息轉(zhuǎn)換為結(jié)構(gòu)化有意義的知識(shí)、即機(jī)器可使用知識(shí)的方法。
發(fā)明概要描述了一種可訓(xùn)練可擴(kuò)充的自動(dòng)數(shù)據(jù)-知識(shí)轉(zhuǎn)換器。本發(fā)明的一個(gè)方面包括一種具有至少一個(gè)儲(chǔ)存庫(kù)和至少一個(gè)處理模塊的計(jì)算機(jī)化系統(tǒng),其中所述儲(chǔ)存庫(kù)存儲(chǔ)對(duì)計(jì)算機(jī)化系統(tǒng)處理數(shù)據(jù)進(jìn)行管理的用戶指定規(guī)則,所述處理模塊根據(jù)這些規(guī)則來(lái)處理數(shù)據(jù),并從數(shù)據(jù)產(chǎn)生知識(shí)。本發(fā)明的另一方面是一種將數(shù)據(jù)轉(zhuǎn)換成知識(shí)的計(jì)算機(jī)化方法。計(jì)算機(jī)化方法包括提供用戶指定規(guī)則來(lái)管理計(jì)算機(jī)化系統(tǒng),用于將數(shù)據(jù)轉(zhuǎn)換成知識(shí),以及根據(jù)這些規(guī)則來(lái)處理數(shù)據(jù)以產(chǎn)生知識(shí)的行為。本發(fā)明的再一個(gè)方面是一種計(jì)算機(jī)可讀媒體,其上存儲(chǔ)了計(jì)算機(jī)可執(zhí)行指令,以執(zhí)行將數(shù)據(jù)轉(zhuǎn)換成知識(shí)的方法。計(jì)算機(jī)化方法包括接收非結(jié)構(gòu)化形式的數(shù)據(jù),將數(shù)據(jù)轉(zhuǎn)換成中立形式,根據(jù)用戶指定規(guī)則處理數(shù)據(jù)以將數(shù)據(jù)從中立形式轉(zhuǎn)換為知識(shí),以及將知識(shí)輸出到知識(shí)儲(chǔ)存庫(kù)。
附圖簡(jiǎn)介
圖1A是根據(jù)本發(fā)明一個(gè)實(shí)施例的數(shù)據(jù)-知識(shí)轉(zhuǎn)換系統(tǒng)的高級(jí)方框圖。
圖1B、1C和1D是D2K轉(zhuǎn)換系統(tǒng)的備選實(shí)施例的高級(jí)方框圖。
圖2是實(shí)現(xiàn)圖1所示數(shù)據(jù)-知識(shí)轉(zhuǎn)換(D2K)系統(tǒng)的物理體系結(jié)構(gòu)的例示性實(shí)施例的方框圖。
圖3是根據(jù)本發(fā)明一個(gè)實(shí)施例的訓(xùn)練D2K轉(zhuǎn)換器的過(guò)程的流程圖。
圖4是通過(guò)根據(jù)本發(fā)明一個(gè)實(shí)施例的D2K轉(zhuǎn)換器來(lái)分析數(shù)據(jù)源以構(gòu)建知識(shí)庫(kù)的過(guò)程的流程圖。
圖5是圖2所示分組的分組數(shù)據(jù)結(jié)構(gòu)的一個(gè)實(shí)施例更詳細(xì)的視圖。
圖6顯示了將應(yīng)用于本發(fā)明一個(gè)實(shí)施例的輸入過(guò)濾器、如圖2所示的輸入過(guò)濾器的例示性源數(shù)據(jù)。
圖7顯示了將應(yīng)用于圖6的例示性源數(shù)據(jù)的例示性輸入過(guò)濾規(guī)則。
圖8顯示了通過(guò)將圖7所示的例示性輸入過(guò)濾規(guī)則應(yīng)用于圖6所示的樣本源數(shù)據(jù)而產(chǎn)生的第一分組的例示性實(shí)施例。
圖9顯示了通過(guò)將圖7所示的例示性輸入過(guò)濾規(guī)則應(yīng)用于圖6所示的樣本源數(shù)據(jù)而產(chǎn)生的第二分組的例示性實(shí)施例。
圖10顯示了通過(guò)將圖7所示的例示性輸入過(guò)濾規(guī)則應(yīng)用于圖6所示的樣本源數(shù)據(jù)而產(chǎn)生的圖8所示第一分組的另一例示性實(shí)施例。
圖11顯示了由圖2所示分組調(diào)度器所使用的例示性專利匹配說(shuō)明規(guī)則。
圖12是將由圖2所示文本析取模塊處理的樣本輸入文本。
圖13是文本析取模塊規(guī)則集合的分級(jí)表示。
圖14為樣本輸入文本,其中文本析取模塊識(shí)別由圖13所示例示性文本析取規(guī)則所定義的設(shè)備號(hào)(EquipmentNumber)實(shí)體。
圖15為樣本輸入文本,其中文本析取模塊識(shí)別由圖13所示例示性文本析取規(guī)則所定義的文件參考(DocumentReference)(參考文件)實(shí)體。
圖16顯示了DocumentReference產(chǎn)生(如圖13所示例示性文本析取規(guī)則所定義)的按箱分類的令牌值。
圖17顯示了通過(guò)對(duì)圖16所示的箱執(zhí)行完全擴(kuò)展而形成的令牌值集合。
圖18顯示了通過(guò)將匹配產(chǎn)生的卷和書(shū)簽格式應(yīng)用到圖17所示的值的集合而得到的字段標(biāo)記和值。
圖19顯示了根據(jù)圖18所示的字段標(biāo)記和值創(chuàng)建的分組的例示性實(shí)施例。
圖20是樣本輸入文本,其中文本析取模塊識(shí)別由圖13所示例示性文本析取規(guī)則所定義的錯(cuò)誤(Fault)實(shí)體。
圖21顯示了Tem錯(cuò)誤實(shí)體分組和Tem文件參考實(shí)體及Tem設(shè)備號(hào)實(shí)體分組之間的關(guān)系。
圖22是顯示分組輸出到的樣本知識(shí)庫(kù)的數(shù)據(jù)庫(kù)模式的方框圖。
圖23是將例示性實(shí)體映射到例示性表格的分組輸出規(guī)則的圖形表示。
圖24是在輸出了圖19所示的Tem文件參考實(shí)體分組后的例示性表格。
圖25顯示了在輸出圖19所示分組后的五個(gè)例示性表格。
圖26是用于萬(wàn)維網(wǎng)執(zhí)行(Web Executive)的用戶接口的例示性實(shí)施例。
圖27是輸入過(guò)濾編輯器的一個(gè)實(shí)施例的屏幕捕獲。
圖28是輸入過(guò)濾編輯器的搜索對(duì)話框的一個(gè)實(shí)施例。
圖29是輸入過(guò)濾編輯器的分組結(jié)構(gòu)屬性對(duì)話框的一個(gè)實(shí)施例。
圖30是輸入過(guò)濾編輯器的“下一個(gè)(Next)”菜單的一個(gè)實(shí)施例。
圖31是輸入過(guò)濾編輯器的“書(shū)簽”菜單的一個(gè)實(shí)施例。
圖32是輸入過(guò)濾器用戶接口的非模態(tài)“當(dāng)前分組信息”窗的一個(gè)實(shí)施例。
圖33是分組調(diào)度器用戶接口的處理器和分組選擇屏的一個(gè)實(shí)施例。
圖34是分組調(diào)度器用戶接口的匹配說(shuō)明屏的一個(gè)實(shí)施例。
圖35是分組調(diào)度器用戶接口的一個(gè)實(shí)施例的“匹配說(shuō)明屬性”對(duì)話框。
圖36是文本析取用戶接口的對(duì)話條的一個(gè)實(shí)施例。
圖37是規(guī)則屏的一個(gè)實(shí)施例的屏幕捕獲。
圖38是注釋屏的一個(gè)實(shí)施例的屏幕捕獲。
圖39是表格屏的一個(gè)實(shí)施例的屏幕捕獲。
圖40是知識(shí)儲(chǔ)存庫(kù)模式輸入控制的一個(gè)實(shí)施例的屏幕捕獲。
圖41是分組輸出選擇屏的一個(gè)實(shí)施例的屏幕捕獲。
圖42是圖解屏的一個(gè)實(shí)施例的屏幕捕獲。
圖43是顯示了分組、分組字典、處理模塊和分組調(diào)度規(guī)則數(shù)據(jù)庫(kù)之間的關(guān)系的方框圖。
圖44是文本析取規(guī)則數(shù)據(jù)庫(kù)的一個(gè)實(shí)施例的模式的實(shí)體關(guān)系圖。
圖45顯示了代表“一對(duì)多”關(guān)系的兩種方法。
圖46是可實(shí)施本發(fā)明的例示性實(shí)施例的計(jì)算機(jī)化系統(tǒng)的方框圖。
實(shí)施例描述在以下對(duì)優(yōu)選實(shí)施例的詳細(xì)描述中,將參考構(gòu)成本發(fā)明一部分的附圖,在附圖中通過(guò)圖示顯示了可實(shí)施本發(fā)明的特定實(shí)施例。應(yīng)該理解,可以采用其它實(shí)施例并進(jìn)行結(jié)構(gòu)改動(dòng),并不脫離本發(fā)明的范圍。
系統(tǒng)級(jí)概述圖1A是根據(jù)本發(fā)明一個(gè)實(shí)施例的數(shù)據(jù)-知識(shí)轉(zhuǎn)換系統(tǒng)100的高級(jí)框圖。由于在數(shù)據(jù)輸入格式和知識(shí)輸出要求方面具有很大差異,本發(fā)明的數(shù)據(jù)-知識(shí)(D2K)系統(tǒng)的一個(gè)實(shí)施例的邏輯體系結(jié)構(gòu)為隔離了數(shù)據(jù)源輸入和知識(shí)儲(chǔ)存庫(kù)輸出的三層系統(tǒng),如圖1A所示。第一層102中的軟件成分將源數(shù)據(jù)101輸入為中立格式。一旦數(shù)據(jù)為中立格式,第二層104中的軟件成分就對(duì)數(shù)據(jù)進(jìn)行分析、組織和處理。最終,第三層106中的軟件成分將處理后的數(shù)據(jù)(知識(shí))輸出到知識(shí)儲(chǔ)存庫(kù)108,其中,如果需要,還可進(jìn)行進(jìn)一步的處理。通過(guò)減小將工具應(yīng)用到特定數(shù)據(jù)格式或完全不同的域中所需的開(kāi)發(fā)量,此三層體系結(jié)構(gòu)使D2K系統(tǒng)的可擴(kuò)充性最大化。各層由意義明確的接口隔開(kāi),使得對(duì)一層進(jìn)行的內(nèi)部變化并非一定改變相鄰層。除了這三層之外,D2K系統(tǒng)還包括系統(tǒng)執(zhí)行程序110,它提供了全局功能,比如協(xié)調(diào)三層中各層內(nèi)及各層之間活動(dòng),以及與用戶的交互作用和錯(cuò)誤報(bào)告。
然而,D2K系統(tǒng)并不限于三層系統(tǒng)。在備選實(shí)施例中,可以在圖1所示的D2K轉(zhuǎn)換系統(tǒng)100的邏輯體系結(jié)構(gòu)中增加一個(gè)或多個(gè)附加層。在另一實(shí)施例中,邏輯體系結(jié)構(gòu)可減少作為兩層來(lái)操作,或甚至作為單層操作。
圖1B是D2K轉(zhuǎn)換系統(tǒng)100的備選實(shí)施例的高級(jí)方框圖。如圖1B所示,D2K轉(zhuǎn)換系統(tǒng)100包括至少一個(gè)儲(chǔ)存庫(kù)114,用于存儲(chǔ)管理計(jì)算機(jī)化系統(tǒng)100處理數(shù)據(jù)的用戶指定規(guī)則。D2K轉(zhuǎn)換系統(tǒng)100還包括至少一個(gè)處理模塊112,它根據(jù)所述規(guī)則來(lái)處理數(shù)據(jù)并根據(jù)數(shù)據(jù)產(chǎn)生知識(shí)。
圖1C是D2K轉(zhuǎn)換系統(tǒng)100的另一實(shí)施例的高級(jí)方框圖。如圖1C所示,D2K轉(zhuǎn)換系統(tǒng)100包括至少一個(gè)儲(chǔ)存庫(kù)114和至少一個(gè)處理模塊112。D2K系統(tǒng)還包括系統(tǒng)執(zhí)行程序110,它控制所述至少一個(gè)儲(chǔ)存庫(kù)和所述至少一個(gè)處理模塊。
圖1D是D2K轉(zhuǎn)換系統(tǒng)100的再一實(shí)施例的高級(jí)方框圖。如圖1D所示,D2K轉(zhuǎn)換系統(tǒng)100包括至少一個(gè)儲(chǔ)存庫(kù)114、至少一個(gè)處理模塊112以及系統(tǒng)執(zhí)行程序110。D2K轉(zhuǎn)換系統(tǒng)還包括用戶接口,它允許用戶創(chuàng)建、修改和刪除用戶指定規(guī)則。
源數(shù)據(jù)101存在多種數(shù)據(jù)格式。非結(jié)構(gòu)化數(shù)據(jù)的形式可以為文件、圖片、數(shù)據(jù)庫(kù)、圖表、簡(jiǎn)圖等,但它并不限于此。由于通常并非總可能(或方便)將數(shù)據(jù)轉(zhuǎn)換成單一格式,因此D2K系統(tǒng)支持多種源數(shù)據(jù)格式。第一層102中的部件處理處于其原始格式的數(shù)據(jù),將相關(guān)信息轉(zhuǎn)換成中立格式。換句話說(shuō),輸入層(第一層)102在處理層(第二層)104的處理部件中去掉了源數(shù)據(jù)格式的細(xì)節(jié)和復(fù)雜特征。第二層104中的例程分析、組織和處理輸入數(shù)據(jù)。處理例程104將非結(jié)構(gòu)化無(wú)意義的數(shù)據(jù)轉(zhuǎn)換成結(jié)構(gòu)化有意義的知識(shí)。處理部件采用多種技術(shù),如正規(guī)表達(dá)式搜索引擎、自然語(yǔ)言處理算法和圖形識(shí)別算法。第三層106中的部件將知識(shí)輸出到知識(shí)儲(chǔ)存庫(kù)108。正如數(shù)據(jù)可處于多種源格式那樣,知識(shí)也可以多種儲(chǔ)存庫(kù)格式來(lái)表示。因此,輸出層106(第三層)在處理例程中去掉了知識(shí)儲(chǔ)存庫(kù)格式的細(xì)節(jié)和復(fù)雜特征。總之,輸入層102和輸出層104部分允許處理層106部分執(zhí)行其任務(wù)而無(wú)須考慮數(shù)據(jù)源或知識(shí)儲(chǔ)存庫(kù)的格式。
例示性實(shí)施例的物理體系結(jié)構(gòu)圖2是用于實(shí)現(xiàn)圖1所示D2K系統(tǒng)的物理體系結(jié)構(gòu)的例示性實(shí)施例的方框圖。圖2所示矩形202、206、212、210、216表示轉(zhuǎn)換部件。轉(zhuǎn)換部件接收某種類型的輸入,將其轉(zhuǎn)換并產(chǎn)生某種類型的輸出。圖2所示信封表示數(shù)據(jù)結(jié)構(gòu),在本文稱為“分組”。分組是轉(zhuǎn)換部分用來(lái)相互通信的接口機(jī)制。圖2所示圓柱表示儲(chǔ)存庫(kù),這些儲(chǔ)存庫(kù)存儲(chǔ)諸如D2K系統(tǒng)的配置、管理轉(zhuǎn)換部分行為的規(guī)則、訓(xùn)練數(shù)據(jù)、錯(cuò)誤消息等各種信息。最后,圖2所示的人表示圖形用戶接口(GUI)。用戶通過(guò)GUI相互作用,從而定制D2K系統(tǒng)的行為。
圖2所示的例示性物理體系結(jié)構(gòu)如下所述地映射到圖1所示的邏輯體系結(jié)構(gòu)中。輸入過(guò)濾器202和輸入過(guò)濾規(guī)則庫(kù)204包括如圖1所示的輸入層(第一層)。文本析取模塊206和文本析取規(guī)則庫(kù)208及客戶處理模塊210包括圖1所示的處理層(第二層)。分組輸出模塊212和分組輸出規(guī)則庫(kù)214包括圖1所示的輸出層(第三層)。分組調(diào)度器216和分組分配規(guī)則數(shù)據(jù)庫(kù)218、GUI及配置模塊(未示出)包括圖1所示的系統(tǒng)執(zhí)行程序。分組是便利在圖1所示的三個(gè)層之間和內(nèi)部進(jìn)行通信的接口對(duì)象。
圖2所示的D2K系統(tǒng)200的例示性實(shí)施例的數(shù)據(jù)流如下所述。輸入過(guò)濾器202讀取數(shù)據(jù)源201并根據(jù)輸入過(guò)濾規(guī)則204將其離散化為分組。然后,輸入過(guò)濾器202將這些分組傳送給分組調(diào)度器216,其根據(jù)分組調(diào)度規(guī)則218將分組調(diào)度給適當(dāng)?shù)奶幚砟K。處理模塊處理分組。一些處理模塊,如分組輸出模塊212為不創(chuàng)建附加分組的終端處理模塊。其它處理模塊,如文本析取模塊206創(chuàng)建若干更高分辨率的分組。這些非終端處理模塊將它們創(chuàng)建的分組傳送給分組調(diào)度器216,后者又將這些分組調(diào)度到適當(dāng)?shù)奶幚砟K,同時(shí)此循環(huán)繼續(xù)。在一個(gè)實(shí)施例中,至少一個(gè)終端處理模塊將分組輸出到知識(shí)儲(chǔ)存庫(kù)。在圖4中顯示了此過(guò)程。圖4所示過(guò)程繼續(xù)到分析了整個(gè)數(shù)據(jù)源為止。
例示性實(shí)施例的系統(tǒng)部件此部分對(duì)圖2所示例示性實(shí)施例的下述系統(tǒng)部件進(jìn)行更詳細(xì)地描述分組、分組字典、分組工廠、輸入過(guò)濾器、分組調(diào)度器、分組處理模塊、文本析取模塊、分組輸出模塊、計(jì)算機(jī)圖形元文件(CGM)處理模塊和消息記錄。
分組。圖2所示的分組是信息的一般集合。圖5是圖2所示的分組數(shù)據(jù)結(jié)構(gòu)的更詳細(xì)圖。分組500是含有如圖5所示的類型、內(nèi)容和上下文字段的數(shù)據(jù)結(jié)構(gòu)。分組的類型502為實(shí)體或?qū)ο竺Q。類型通常為分組內(nèi)容的描述。分組的內(nèi)容504包括零個(gè)或多個(gè)標(biāo)記,各標(biāo)記具有零個(gè)或多個(gè)相關(guān)值。內(nèi)容標(biāo)記是實(shí)體或?qū)ο蟮南嚓P(guān)屬性。內(nèi)容值通常由分組處理模塊處理和/或輸出到知識(shí)儲(chǔ)存庫(kù)。另一方面,分組上下文506包括零個(gè)或多個(gè)標(biāo)記,各標(biāo)記具有零個(gè)或多個(gè)相關(guān)值。上下文值包含增加內(nèi)容意義或描述內(nèi)容如何產(chǎn)生的信息。與內(nèi)容值類似,上下文值也可以輸出到知識(shí)儲(chǔ)存庫(kù)。
當(dāng)處理模塊創(chuàng)建子分組時(shí),它通常復(fù)制父上下文并將其分配給子上下文。換句話說(shuō),子上下文繼承了父上下文。因此,如果需要用唯一標(biāo)識(shí)符識(shí)別分組,則可以將標(biāo)識(shí)符存儲(chǔ)為上下文。由于子上下文將繼承其父的唯一標(biāo)識(shí)符,因此可在父和子分組之間創(chuàng)建某種關(guān)系。
作為示例,考慮如何將食譜表示為分組。由于分組類型是分組內(nèi)容的描述,而且分組表示食譜,因此詞“食譜”是分組類型的明顯選擇。所有食譜的相關(guān)屬性為名稱、成分表和準(zhǔn)備/烹制說(shuō)明。因此,我們的食譜分組將包括名稱、成分和說(shuō)明內(nèi)容。名稱內(nèi)容將含有單個(gè)值,即食譜的名稱。另一方面,成分和說(shuō)明內(nèi)容將包含多個(gè)值。換句話說(shuō),各成分和說(shuō)明步驟將作為成分和說(shuō)明內(nèi)容的單獨(dú)值來(lái)分別存儲(chǔ)。最后,可將諸如用餐人數(shù)、每份食物的卡路里數(shù)和營(yíng)養(yǎng)信息的信息存儲(chǔ)為上下文。
在一個(gè)實(shí)施例中,分組由諸如圖2所示輸入過(guò)濾器202的輸入過(guò)濾器來(lái)創(chuàng)建。輸入過(guò)濾器將分組傳送給諸如圖2所示的分組調(diào)度器216的分組調(diào)度器。分組調(diào)度器將分組發(fā)送給分組處理模塊,后者又可創(chuàng)建信息更詳細(xì)的另外分組。調(diào)度器還可將分組存儲(chǔ)在諸如圖2所示的分組儲(chǔ)存庫(kù)220的分組儲(chǔ)存庫(kù)中。最后,所有的小分組均被發(fā)送給諸如圖2所示分組輸出模塊212的終端分組處理模塊,其將分組輸出到知識(shí)儲(chǔ)存庫(kù),或輸出到將刪除分組的空處理器。
分組字典。在一個(gè)實(shí)施例中,諸如圖2所示分組字典222的分組字典維護(hù)合法分組的主清單。若干D2K系統(tǒng)功能采用分組字典來(lái)減輕數(shù)據(jù)破壞。例如,在一些實(shí)施例中,訓(xùn)練用戶接口采用分組字典來(lái)限制列表框的選擇,以便禁止用戶生成無(wú)效的訓(xùn)練規(guī)則,而在其它實(shí)施例中,分組工廠采用分組字典來(lái)保證只創(chuàng)建合法分組。
在D2K系統(tǒng)輸入過(guò)濾器和分組處理模塊登記期間提供分組字典。在一個(gè)實(shí)施例中,產(chǎn)生分組的任何D2K系統(tǒng)部件登記其能創(chuàng)建的每一類分組的原型。在概念上,分組原型是沒(méi)有任何值的分組。換句話說(shuō),分組原型指定對(duì)于給定分組類型來(lái)說(shuō)哪些內(nèi)容和上下文標(biāo)記是合法的。
分組工廠。分組工廠的目的是提供一組與諸如從分組儲(chǔ)存庫(kù)讀取分組和將分組寫(xiě)入分組儲(chǔ)存庫(kù)的服務(wù)有關(guān)的分組。另外,分組工廠提供對(duì)存于分組儲(chǔ)存庫(kù)中的分組進(jìn)行具體例示的服務(wù),并將它們傳送給內(nèi)容調(diào)度器,從而能夠?qū)⑺鼈儼l(fā)送給分組處理模塊。最后,分組工廠提供若干服務(wù)來(lái)建立分組以及一種衍生分組的上下文,以便創(chuàng)建繼承其父上下文的新的子分組的機(jī)制。
輸入過(guò)濾器。在一個(gè)實(shí)施例中,輸入過(guò)濾器和輸入過(guò)濾規(guī)則庫(kù)包括圖1的第一層。諸如圖2所示輸入過(guò)濾器202的輸入過(guò)濾器的目的是處理數(shù)據(jù)格式的復(fù)雜特征,從而使這些細(xì)節(jié)不出現(xiàn)在處理模塊。輸入過(guò)濾器將相關(guān)源數(shù)據(jù)離散化為分組,這些分組是D2K系統(tǒng)的中立數(shù)據(jù)格式。進(jìn)行此處理的機(jī)制隨數(shù)據(jù)源而不同。例如,對(duì)于分級(jí)結(jié)構(gòu)化數(shù)據(jù),如SGML或XML,分組結(jié)構(gòu)規(guī)則可與層次的各節(jié)點(diǎn)相關(guān)。在另一例示性實(shí)施例中,對(duì)于存儲(chǔ)在Microsoft Word文件中的數(shù)據(jù)來(lái)說(shuō),可編寫(xiě)Visual Basic for Application腳本來(lái)創(chuàng)建分組。
在數(shù)據(jù)庫(kù)中捕獲并存儲(chǔ)數(shù)據(jù)結(jié)構(gòu)的輪廓。在SGML文件的情況中,輪廓與文件標(biāo)記定義(DTD)的相似之處在于,其含有元素和屬性的層次。但是,在一個(gè)實(shí)施例中,輪廓只包含在實(shí)際文件中實(shí)現(xiàn)的DTD的部分。
一旦概括出數(shù)據(jù)結(jié)構(gòu),根據(jù)本發(fā)明的一個(gè)實(shí)施例,將分組結(jié)構(gòu)規(guī)則應(yīng)用到層次中的各節(jié)點(diǎn)中。分組結(jié)構(gòu)規(guī)則允許用戶對(duì)與節(jié)點(diǎn)對(duì)應(yīng)的數(shù)據(jù)作下述工作。
1.忽略數(shù)據(jù)。
2.忽略數(shù)據(jù)并創(chuàng)建新分組。
3.創(chuàng)建新分組并將數(shù)據(jù)作為內(nèi)容插入到分組中。
4.將數(shù)據(jù)作為內(nèi)容插入當(dāng)前分組中。
5.將數(shù)據(jù)作為內(nèi)容附加到當(dāng)前分組上。
6.將數(shù)據(jù)作為上下文插入到當(dāng)前分組中。
在一個(gè)實(shí)施例中,用戶還可根據(jù)規(guī)則來(lái)指定分組類型、內(nèi)容標(biāo)記和/或上下文標(biāo)記。此外,這六項(xiàng)規(guī)則可能不適用于層次中的每一節(jié)點(diǎn)。例如,對(duì)不具有創(chuàng)建分組的父輩的節(jié)點(diǎn)處來(lái)說(shuō),將數(shù)據(jù)作為內(nèi)容插入到當(dāng)前分組中是無(wú)效的(注意,用戶無(wú)須認(rèn)知所有這些約束,因?yàn)樵谝粋€(gè)實(shí)施例中,輸入過(guò)濾器訓(xùn)練用戶接口將不允許用戶違背任何約束)。
如上所述,一旦數(shù)據(jù)源的輪廓被存儲(chǔ)在數(shù)據(jù)庫(kù)中,就將分組結(jié)構(gòu)規(guī)則與層次中的每一節(jié)點(diǎn)相關(guān)。規(guī)則類型取決于輸入過(guò)濾規(guī)則庫(kù)中的現(xiàn)有信息。如果在規(guī)則庫(kù)中已存在給定節(jié)點(diǎn),則它就被分配與現(xiàn)有節(jié)點(diǎn)相同的規(guī)則。如果數(shù)據(jù)庫(kù)中還不存在節(jié)點(diǎn),則它就被分配“忽略數(shù)據(jù)”規(guī)則。大體上,用戶可以合并若干數(shù)據(jù)源的結(jié)構(gòu)而不丟失過(guò)去的訓(xùn)練,即規(guī)則到節(jié)點(diǎn)的應(yīng)用。另外,為用戶提供刪除任何存在于規(guī)則庫(kù)中但不存在于最近概括出的數(shù)據(jù)源中的節(jié)點(diǎn)的能力。這兩種機(jī)制允許用戶將若干數(shù)據(jù)源的分組結(jié)構(gòu)規(guī)則儲(chǔ)存在一個(gè)或多個(gè)規(guī)則庫(kù)中,同時(shí)使訓(xùn)練要求最小。
在一個(gè)實(shí)施例中,在訓(xùn)練了輸入過(guò)濾器后,登記該輸入過(guò)濾器。輸入過(guò)濾器的登記為分組字典提供了輸入過(guò)濾器所能創(chuàng)建的分組原型,同時(shí)對(duì)數(shù)據(jù)源進(jìn)行分析。在一個(gè)實(shí)施例中,在用戶通過(guò)輸入過(guò)濾器用戶接口訓(xùn)練了輸入規(guī)則后,GUI自動(dòng)地登記輸入過(guò)濾器。一旦登記了輸入過(guò)濾器,輸入過(guò)濾器就可通過(guò)將分組結(jié)構(gòu)規(guī)則應(yīng)用于結(jié)構(gòu)分組中來(lái)分析數(shù)據(jù)源。
作為示例,考慮如圖6所示的樣本SGML文本。圖6顯示了將應(yīng)用于本發(fā)明的輸入過(guò)濾器的例示性源數(shù)據(jù)。圖7顯示了將應(yīng)用于圖6所示的例示性源數(shù)據(jù)的例示性輸入過(guò)濾規(guī)則。如圖7所示,用加框字母“E”標(biāo)識(shí)元素;而用加框字母“A”標(biāo)識(shí)屬性。元素和屬性名稱緊隨于加框字母之后,并且輸入過(guò)濾規(guī)則跟在省略號(hào)后面。沒(méi)有明確規(guī)則的項(xiàng)暗示用“忽略數(shù)據(jù)”規(guī)則。
SGML輸入過(guò)濾器通過(guò)應(yīng)用合適的輸入過(guò)濾規(guī)則(也稱為“分組結(jié)構(gòu)規(guī)則”)來(lái)逐個(gè)元素地分析樣本文本。在圖6所示的樣本SGML文本中,輸入過(guò)濾器首先分析主錯(cuò)誤表(MSTFLTAB)元素。由于圖7中對(duì)應(yīng)于此元素的規(guī)則是忽略元素的數(shù)據(jù),因此輸入過(guò)濾器繼續(xù)到分析錯(cuò)誤行(FLTROW)元素。圖7中對(duì)應(yīng)于此元素的規(guī)則指示輸入過(guò)濾器創(chuàng)建類型為錯(cuò)誤代碼(Fault Code)的分組。接著,輸入過(guò)濾器分析FLTROW元素的屬性。圖7中與章號(hào)(CHAPNBR)、節(jié)號(hào)(SECTNBR)和唯一關(guān)鍵字(KEY)屬性對(duì)應(yīng)的規(guī)則引導(dǎo)輸入過(guò)濾器向錯(cuò)誤代碼分組中增加三個(gè)上下文標(biāo)記-值對(duì)。CHAPNBR、SECTNBR和KEY屬性的值,即“29”、“24”和“EN29240001-00001001”分別成為段號(hào)、節(jié)號(hào)和唯一關(guān)鍵字上下文的值,如圖8的分組所示。圖8是在輸入過(guò)濾器分析圖6的SGML文本的錯(cuò)誤描述(FLTDESC)元素之前的錯(cuò)誤代碼分組的快照。由于與下三個(gè)元素對(duì)應(yīng)的規(guī)則指示分析器忽略元素的數(shù)據(jù),因此輸入過(guò)濾器繼續(xù)到分析錯(cuò)誤描述(FLTDESC)元素。
圖7中對(duì)應(yīng)于FLTDESC元素的規(guī)則指示輸入過(guò)濾器創(chuàng)建類型為錯(cuò)誤現(xiàn)象的第二分組。接著,輸入過(guò)濾器將類別(CATEG)屬性的值作為錯(cuò)誤現(xiàn)象類型的內(nèi)容插入到圖9所示的錯(cuò)誤現(xiàn)象分組。然后,錯(cuò)誤類型(FLTYPE)屬性的值被附加到錯(cuò)誤現(xiàn)象類型的內(nèi)容的當(dāng)前值上。如果對(duì)應(yīng)于FLTYPE屬性的規(guī)則指示輸入過(guò)濾器將屬性數(shù)據(jù)插入而不是附加到錯(cuò)誤現(xiàn)象類型的內(nèi)容中,則輸入過(guò)濾器將插入此數(shù)據(jù)作為第二值。在分析了FLTDESC元素及其屬性后,輸入過(guò)濾器分析錯(cuò)誤消息(FLTMSG)和ATA ECAM(ATAECAM)元素。輸入過(guò)濾器將這些元素的值插入到錯(cuò)誤現(xiàn)象分組中,作為錯(cuò)誤現(xiàn)象文本和ECAMATA內(nèi)容,如圖9所示。接著,輸入過(guò)濾器遇到FLTDESC終止標(biāo)記。因此,它衍生錯(cuò)誤現(xiàn)象的父分組、即錯(cuò)誤代碼分組的上下文,并將錯(cuò)誤現(xiàn)象分組傳送給分組調(diào)度器。圖9是在輸入過(guò)濾器遇到圖6所示的樣本SGML文本中的錯(cuò)誤描述(FLTDESC)終止標(biāo)記后錯(cuò)誤現(xiàn)象分組的快照。
一旦從分組調(diào)度器返回,輸入過(guò)濾器就分析圖6所示SGML文本的任務(wù)參考(TASKREF)元素。輸入過(guò)濾器將此元素的值作為如圖10所示的FIP K12參考內(nèi)容插入到錯(cuò)誤代碼分組中。輸入過(guò)濾器忽略下一元素,然后遇到FLTROW終止標(biāo)記。一旦遇到此標(biāo)記,輸入過(guò)濾器就將錯(cuò)誤代碼分組傳送給內(nèi)容調(diào)度器。一旦從分組調(diào)度器返回,輸入過(guò)濾器就遇到MSFLTAB終止標(biāo)記并結(jié)束。圖10是在輸入過(guò)濾器遇到圖6的樣本SGML文本中的錯(cuò)誤行(FLTROW)終止標(biāo)記后錯(cuò)誤代碼分組的快照??傊?,將圖7的分組結(jié)構(gòu)規(guī)則應(yīng)用到圖6的樣本SGML文本產(chǎn)生如圖10所示的錯(cuò)誤代碼分組和如圖9所示的錯(cuò)誤現(xiàn)象分組。
分組調(diào)度器。諸如圖2所示分組調(diào)度器216的分組調(diào)度器是D2K系統(tǒng)的前半部分(即輸入層)和后半部分(即處理層和輸出層)之間的鉸鏈點(diǎn),并作為分組的“交通警察”。在一個(gè)實(shí)施例中,分組調(diào)度器以三種模式進(jìn)行操作。在其正常操作模式中,分組調(diào)度器根據(jù)分組匹配說(shuō)明規(guī)則將分組傳送給分組處理模塊,并將其儲(chǔ)存在諸如圖2所示分組調(diào)度規(guī)則數(shù)據(jù)庫(kù)218的分組調(diào)度規(guī)則數(shù)據(jù)庫(kù)中。在第二種模式中,用戶可以無(wú)法進(jìn)行分組調(diào)度并將分組調(diào)度器配置成僅將分組存儲(chǔ)在諸如圖2所示分組儲(chǔ)存庫(kù)220的分組儲(chǔ)存庫(kù)中。在第三種模式中,用戶可將分組調(diào)度器配置成將分組調(diào)度給分組處理模塊并將分組存儲(chǔ)在分組儲(chǔ)存庫(kù)中。最后一種模式作為調(diào)試輔助是有用的,并為用戶提供了分組的檢查跟蹤。
在一個(gè)實(shí)施例中,分組調(diào)度器支持輸入過(guò)濾器、分組調(diào)度器和分組處理模塊之間排序的兩種模式單線程和多線程。在單線程模式中,輸入過(guò)濾器產(chǎn)生分組并將其傳送給分組調(diào)度器,后者將分組傳送給適當(dāng)?shù)姆纸M處理模塊。分組處理模塊處理分組,還可產(chǎn)生另外的分組,這些另外的分組被稱為子分組。接著,分組處理模塊順序地將各子分組傳送給分組調(diào)度器,后者將其傳送給適當(dāng)?shù)奶幚砟K。這個(gè)循環(huán)繼續(xù)到原始信息中所有的相關(guān)信息被處理和輸出為止。這時(shí),輸入過(guò)濾器能夠自由地重新開(kāi)始分析輸入數(shù)據(jù)以產(chǎn)生另一分組。總之,在單線程操作模式中,一旦輸入過(guò)濾器產(chǎn)生了分組,它就開(kāi)始等候,直到此分組及其所有子分組被處理后它才能重新開(kāi)始其分析輸入數(shù)據(jù)的任務(wù)。在多線程模式中,輸入過(guò)濾器不必等待調(diào)度器處理分組就可以重新開(kāi)始它的處理。原始分組在分組調(diào)度器中排隊(duì)并由第二執(zhí)行線程順序地進(jìn)行處理。這就允許輸入過(guò)濾器連續(xù)地工作。多線程操作在D2K系統(tǒng)安裝在多處理器計(jì)算機(jī)系統(tǒng)中時(shí)很有利。
如上所述,分組調(diào)度器根據(jù)存儲(chǔ)在分組調(diào)度規(guī)則數(shù)據(jù)庫(kù)中的分組匹配說(shuō)明規(guī)則來(lái)將分組傳遞給分組處理模塊。在一個(gè)實(shí)施例中,分組匹配說(shuō)明規(guī)則將分組匹配說(shuō)明(這里稱為matchspec)映射到分組處理模塊(這里稱為分組處理器)中。Matchspec包括分組類型、可選的處理參數(shù)和零個(gè)或多個(gè)上下文標(biāo)記-值對(duì)。Matchspec除下述兩個(gè)例外以外與分組類似。
·Matchspec包含分組處理器參數(shù)。
·Matchspec不包含內(nèi)容。
在一個(gè)實(shí)施例中,除了空處理器模塊之外,分組處理模塊由它們的全局唯一標(biāo)識(shí)符(GUID)來(lái)指定。不帶GUID的處理模塊被假定為空處理器模塊。
圖11顯示了由分組調(diào)度器使用的例示性專利匹配說(shuō)明規(guī)則。在圖11中,三個(gè)matchspec 1102、1104、1106被映射到兩個(gè)分組處理器1108、1110。第一matchspec 1102表示空模塊1108可處理所有類型為“錯(cuò)誤主題”的分組。第二matchspec 1104表示帶有參數(shù)“錯(cuò)誤”的文本析取模塊1110可處理錯(cuò)誤主題類型上下文等于錯(cuò)誤隔離(FAULT ISOLATION)的類型為“錯(cuò)誤主題”的分組。第三matchspec1106表示帶有參數(shù)“可能原因(possible Causes)”的文本析取模塊1110能處理所有類型為可能原因的分組。在一個(gè)實(shí)施例中,對(duì)matchspec應(yīng)用下述準(zhǔn)則·matchspec必須映射到一個(gè)且只能映射到一個(gè)分組處理器。
·若干matchspec可映射到相同的分組處理器。
·帶有相同分組類型的matchspec可映射到不同分組處理器,只要它們具有不同的上下文標(biāo)記-值對(duì)。
為了確定哪些分組處理器應(yīng)處理分組,分組調(diào)度器首先確定哪些matchspec與分組匹配。然后,分組調(diào)度器根據(jù)此清單確定最佳的matchspec。為了將matchspec與分組匹配,必須滿足兩個(gè)要求。首先,matchspec必須和分組為相同類型。其次,matchspec如果存在上下文的話,則它的上下文必須出現(xiàn)在分組中。進(jìn)程語(yǔ)句不表示分組必須具有與matchspec相同的所有上下文以便匹配matchspec。上下文不出現(xiàn)在matchspec中的分組仍將與matchspec匹配,只要分組具有由matchspec指定的上下文。換句話說(shuō),分組的上下文必須是matchspec的上下文的父集才能匹配。一旦分組調(diào)度器確定與分組相匹配的所有matchspec的清單,它就將具有最多上下文的matchspec選擇為最佳的。一旦確定了最佳matchspec,分組調(diào)度器就將分組及相應(yīng)的處理參數(shù)傳送給映射到最佳matchspec的分組處理器。
例如,考慮如圖11所示的圖示。具有“錯(cuò)誤主題”類型上下文等于“錯(cuò)誤確認(rèn)”(FAULT CONFIRMATION)的類型為“錯(cuò)誤主題”的分組將只由第一matchspec 1102匹配。之后,這些分組將被分配給空模塊1108?!板e(cuò)誤主題類型”上下文等于“錯(cuò)誤隔離”的類型為“錯(cuò)誤主題”的分組將由第一matchspec 1102和第二matchspec 1104匹配。分組調(diào)度器將此分組調(diào)度給帶有參數(shù)“錯(cuò)誤”的文本析取模塊1110,這是因?yàn)榈诙atchspec 1104比第一matchspec具有更多的上下文標(biāo)記-值對(duì)。
分組處理模塊。分組處理模塊也被稱為分組處理器,其目的是用于分析、組織和處理數(shù)據(jù)。在一個(gè)實(shí)施例中,分組處理器可分成兩組通用分組處理器和定制分組處理器。通用分組處理器是能夠不管數(shù)據(jù)源類型而使用的那些處理器。另一方面,定制分組處理器是數(shù)據(jù)源專用的。另外,分組處理器也可分成終端或非終端的。終端分組處理器是分組消耗者。它們處理分組但不產(chǎn)生子分組。非終端分組處理器是分組生產(chǎn)者。它們處理分組且產(chǎn)生子分組。
在本發(fā)明的一個(gè)實(shí)施例中,存在三種通用分組處理器文本析取模塊、分組輸出模塊和空模塊。文本析取模塊和分組輸出模塊將在下面的部分中詳細(xì)地描述。空處理器是終端分組處理器。空處理器不處理分組。其目的只是消耗分組。在一個(gè)實(shí)施例中,空處理器的獨(dú)特之處還在于其沒(méi)有實(shí)現(xiàn)。分組調(diào)度器可有效地執(zhí)行其功能。分組調(diào)度器并不將分組發(fā)送給物理空處理器,而只是簡(jiǎn)單地將分組破壞。
在一個(gè)實(shí)施例中,在分組處理器能分析、組織和處理分組之前,對(duì)分組處理器進(jìn)行登記。分組處理器登記完成兩件事情。首先,如果尚不存在記錄,就將與分組處理器相對(duì)應(yīng)的一個(gè)記錄插入到處理模塊儲(chǔ)存庫(kù)中。其次,分組處理器可產(chǎn)生的分組原型被登記在分組字典中。第一項(xiàng)功能使諸如分組調(diào)度器的其它部件能夠知道分組處理器本身。第二項(xiàng)功能使其它部件知道分組處理器可產(chǎn)生的分組。
文本析取模塊。諸如圖2所示文本析取模塊206的文本析取模塊(TEM)為通用非終端分組處理器。文本析取模塊的目的是識(shí)別并格式化用戶指定文本實(shí)體。在一個(gè)涉及定向維護(hù)域的實(shí)施例中,文本實(shí)體的示例包括文件參考、部件號(hào)、觀察和錯(cuò)誤。和所有分組處理器一樣,TEM傳遞的是分組和處理器參數(shù)。處理參數(shù)器指定對(duì)輸入文本應(yīng)該應(yīng)用哪個(gè)文本析取規(guī)則的集合。輸入文本包括用戶指定的分組內(nèi)容的值。
TEM在處理分組時(shí)進(jìn)行下述動(dòng)作。首先,TEM識(shí)別由文本析取規(guī)則指定的實(shí)體。其次,TEM根據(jù)文本析取格式化規(guī)則對(duì)實(shí)體進(jìn)行格式化。最后,TEM為其已經(jīng)識(shí)別并格式化了的各實(shí)體輸出一個(gè)或多個(gè)分組。
TEM如下所述地識(shí)別實(shí)體。首先,TEM對(duì)輸入文本執(zhí)行詞法分析,以將輸入文本轉(zhuǎn)換為令牌表。令牌由一個(gè)或多個(gè)擴(kuò)充的正規(guī)表達(dá)式或先前指定實(shí)體來(lái)指定。然而,令牌說(shuō)明不必窮舉。用戶不必為對(duì)識(shí)別實(shí)體無(wú)直接貢獻(xiàn)的文本指定正規(guī)表達(dá)式。因此,令牌化以兩個(gè)步驟來(lái)進(jìn)行。TEM找出用戶指定的所有令牌,然后通過(guò)將用戶指定過(guò)濾器應(yīng)用到用戶指定令牌間的文本來(lái)創(chuàng)建缺省令牌。一旦輸入文本令牌化,TEM對(duì)令牌化輸入文本進(jìn)行第二詞法分析,以便識(shí)別實(shí)體。實(shí)體由一個(gè)或多個(gè)產(chǎn)品指定。產(chǎn)品是小單元為令牌的擴(kuò)充正規(guī)表達(dá)式??傊瑢?shí)體識(shí)別過(guò)程是兩次詞法分析。第一次分析通過(guò)字符的擴(kuò)充正規(guī)表達(dá)式將輸入文本轉(zhuǎn)換為令牌表。第二次分析通過(guò)令牌的擴(kuò)充正規(guī)表達(dá)式識(shí)別出令牌化輸入文本中的實(shí)體。
考慮圖12所示的樣本輸入文本和圖13所示的實(shí)體、令牌和正規(guī)表達(dá)式。圖12是將由文本析取模塊處理的樣本輸入文本。圖13是文本析取模塊規(guī)則的集合的層次表示。圖13中的加框字母識(shí)別規(guī)則級(jí)中的項(xiàng)。字母“C”表示此項(xiàng)為集合,“E”表示實(shí)體,“T”表示令牌,“R”表示正規(guī)表達(dá)式,“P”表示產(chǎn)品,以及“F”表示格式。例如,為了識(shí)別圖12中樣本文本的設(shè)備號(hào)(Equipment Number)實(shí)體,TEM首先找出在設(shè)備號(hào)實(shí)體中定義的令牌。在此示例中,設(shè)備號(hào)實(shí)體只定義一個(gè)帶有單一正規(guī)表達(dá)式[A-Z]
{2,}的EquipNum(設(shè)備編號(hào))令牌,此表達(dá)式為一個(gè)字母后面跟兩個(gè)或多個(gè)數(shù)字。在圖12所示的樣本文本中,TEM識(shí)別出三個(gè)EquipNum令牌W121、W122和W123。接著,TEM采用在設(shè)備號(hào)實(shí)體項(xiàng)目上指定的字符過(guò)濾器來(lái)過(guò)濾剩余文本。在此示例中,字符過(guò)濾器包含空格“”、開(kāi)括號(hào)“(”、閉括號(hào)“)”和逗號(hào)“,”。通過(guò)從文本中的剩余決中去除過(guò)濾器中具有的前置和后置字符來(lái)進(jìn)行過(guò)濾。施行過(guò)濾后,文本的剩余塊成為缺省令牌。
例如,在圖12中考慮EquipNum令牌W122和W123之間的文本,即一個(gè)逗號(hào)和一個(gè)空格。由于這二個(gè)字符存在于過(guò)濾器中,從而將它們?nèi)コ虼嗽谶@些EquipNum令牌之間不存在缺省令牌。另一方面,在圖12中考慮EquipNum令牌W123和輸入文本末尾之間的文本,即“)(DOC 21-51-11,-22,-23).”TEM首先去除過(guò)濾器中的前置字符。由于第一字符是閉括號(hào)(過(guò)濾器中存在的字符),因此去除此字符并檢查下一字符。由于下一字符為空格,因此它也被去除。這一直持續(xù)到文本析取模塊遇到過(guò)濾器中不存在的字符為止。第一個(gè)這種字符為字母“D”。然后TEM去除過(guò)濾器中存在的后置字符。由于最后一個(gè)字符為句號(hào),是過(guò)濾器中不存在的字符,因此這個(gè)字符保留,查尋結(jié)束。如果最后一個(gè)字符存在于過(guò)濾器中,TEM將去除此字符并檢查倒數(shù)第二個(gè)字符。此過(guò)程繼續(xù)到TEM遇到過(guò)濾器中不存在的字符為止。由于在過(guò)濾了前置和后置字符后還存在著文本“DOC 21-51-11,-22,-23).”,因此它成為缺省令牌。下面的表1提供了從文本析取模塊進(jìn)行詞法分析以識(shí)別出樣本文本中的設(shè)備號(hào)實(shí)體而得到的EquipNum令牌和缺省令牌表。
表1令牌及其值的表令牌 值缺省 如果問(wèn)題仍存在,替換L(R,C)WIDGETFINW121FINW122FINW123缺省 DOC 21-51-11,-22,-33).
這里,樣本輸入文本被令牌化成為五個(gè)令牌缺省、FIN、FIN、FIN和缺省。接著,TEM進(jìn)行第二詞法分析,以查找設(shè)備號(hào)實(shí)體的產(chǎn)品。在此示例中,只存在一個(gè)產(chǎn)品FIN+,它與一個(gè)或多個(gè)EquipNum令牌匹配(FIN是EquipNum的縮寫(xiě))。結(jié)果,文本析取模塊找出一個(gè)實(shí)體、三個(gè)EquipNum令牌,如圖14所示。
一旦在輸入文本中識(shí)別出實(shí)體,它就被格式化成一個(gè)或多個(gè)字段。然后,該實(shí)體被包裝成分組并傳送給分組調(diào)度器。TEM如下對(duì)實(shí)體格式化。首先,TEM將匹配產(chǎn)品的令牌根據(jù)其類型放入箱中。其次,TEM對(duì)箱中的令牌進(jìn)行完全或分級(jí)擴(kuò)充。第三,TEM為各個(gè)匹配產(chǎn)品的格式生成字段。最后,TEM創(chuàng)建分組并將所述字段作為內(nèi)容插入到分組中。
同樣,讓我們考慮樣本輸入文本和文件參考(DocumentReference)實(shí)體的規(guī)則。在進(jìn)行兩級(jí)詞法分析時(shí),TEM識(shí)別出一個(gè)章節(jié)令牌(CS)、三個(gè)主題令牌(SUB)和兩個(gè)分隔符令牌(SEP),如圖15所示。另外,TEM識(shí)別與第二產(chǎn)品相匹配的一個(gè)實(shí)體VOL?CS SS(SEPSS)*,如圖15所示。匹配產(chǎn)品的六個(gè)令牌為CS、SUB、SEP、SUB、SEP和SUB?,F(xiàn)在,TEM將所列令牌的值根據(jù)其類型放入到箱中。在一個(gè)實(shí)施例中,在將值放入箱之前,TEM首先核實(shí)該箱存在空間。
圖16顯示了文件參考產(chǎn)品(如圖13所示例示文本析取規(guī)則所定義的)分選到箱的令牌值。例如,第一令牌的值為“21-51”且其類型為章節(jié)(CS)。由于CS令牌定義沒(méi)有指定箱的深度,因此假定深度為無(wú)限。因此,值“21-51”被插入到CS箱1602中。第二令牌的值為“-11”且其類型為主題(SUB)。由于主題箱的深度也是無(wú)限的,因此值“-11”被插入到SUB箱1604中。第三令牌的值為“,”且其類型為分隔符(SEP)。由于分隔符的箱深度為零,如圖13所示,因此TEM不會(huì)將此令牌值插入到SEP箱1606中。因?yàn)槿绻菢幼龅脑挄?huì)使箱中值的數(shù)量超出其深度。在TEM嘗試將所有的令牌值放入箱中后,它再檢查是否有任何箱是空的。如果某個(gè)箱是空的且其相應(yīng)的令牌規(guī)則指定某個(gè)缺省值,則將該缺省值插入到箱中。在當(dāng)前示例中,卷(VOL)和分隔符(SEP)箱1600、1606是空的。由于VOL令牌指定缺省值“DOC”,因此將“DOC”插入VOL箱1600中,如圖16所示。
在如圖16所示地將匹配產(chǎn)品的令牌值插入箱中后,TEM對(duì)箱的內(nèi)容進(jìn)行分級(jí)或完全擴(kuò)充。圖17列出了通過(guò)對(duì)圖16所示的箱進(jìn)行完全擴(kuò)充而形成的令牌值集合。在分級(jí)擴(kuò)充中,TEM將各箱中的第i個(gè)值組合到一個(gè)集合中,其中編號(hào)i的范圍在任何箱中為從1到值的最大數(shù)量。前面的陳述只適用于包含多個(gè)值的箱。對(duì)于包含單個(gè)值的箱來(lái)說(shuō),第一個(gè)值被組合到各集合中。如果對(duì)具有不等數(shù)量的值的多值箱的值進(jìn)行擴(kuò)充,則一些集合將缺一些值。在完全擴(kuò)充過(guò)程中,TEM將值的所有組合都組合到集合中。在當(dāng)前示例中,匹配產(chǎn)品規(guī)則指定完全擴(kuò)充。因此,TEM形成如圖17所示的三個(gè)組。
在匹配產(chǎn)品的令牌值被組合到集合中之后,各集合被格式化成一個(gè)或多個(gè)字段。圖18顯示了通過(guò)將匹配產(chǎn)品的卷和書(shū)簽格式應(yīng)用到圖17所示的值的集合所得到的字段標(biāo)記和值。匹配產(chǎn)品的格式的數(shù)量決定了字段的數(shù)量。格式包含標(biāo)記和格式說(shuō)明。在一個(gè)實(shí)施例中,格式說(shuō)明具有下述語(yǔ)法。
“前綴”TOK1“后綴”‖“前綴”TOK2“后綴”‖...‖“前綴”TOKn“后綴”垂直線之間的信息被認(rèn)為是令牌格式組。各組必須用其縮寫(xiě)來(lái)指定令牌并可包含可選前綴和后綴。此令牌被稱為格式令牌。前綴和后綴是引號(hào)內(nèi)的文本。TEM如下所述地對(duì)各個(gè)令牌值集合施行格式化。對(duì)于各令牌格式組,TEM檢查集合是否包含格式令牌的值。如果包含,則TEM將令牌格式組的前綴文本、格式令牌的值和令牌格式組的后綴附加到字段緩沖區(qū)。應(yīng)該注意,格式說(shuō)明不必具有用于產(chǎn)品中各令牌的令牌格式組。有限態(tài)機(jī)器將格式說(shuō)明分析成適于應(yīng)用上述算法的形式。在圖17中列出此機(jī)器的有限狀態(tài)。
例如,考慮匹配產(chǎn)品的書(shū)簽格式,即VOL“”‖CS‖SS以及圖17中的值的第一集合。第一令牌格式組包含VOL格式令牌和后綴。由于集合包含VOL格式令牌的值,因此將值“DOC”和后綴“”附加到字段緩沖區(qū)中。剩余的二個(gè)令牌格式組包含令牌CS和SUB。這些組不包含前綴或后綴。由于集合包含CS和SUB格式令牌的值,因此將值“21-51”和“-11”附加到字段緩沖區(qū)。在進(jìn)行格式化之后,字段緩沖區(qū)包含文本“DOC 21-51-11”。將匹配產(chǎn)品的卷和書(shū)簽格式應(yīng)用到圖17所示的值的集合將產(chǎn)生如圖18所示的三個(gè)字段集合。
最后,在TEM創(chuàng)建了格式化字段集合(如圖18所示)后,它如下創(chuàng)建各字段集合的分組。首先,TEM連接文本“Tem”、實(shí)體名和文本“實(shí)體(Entity)”以形成分組類型。其次,TEM加入標(biāo)記為“實(shí)體ID(EntityId)”且值是此類型分組的唯一標(biāo)識(shí)符的內(nèi)容標(biāo)記-值對(duì)。第三,TEM為各格式化字段增加內(nèi)容標(biāo)記-值對(duì)。內(nèi)容標(biāo)記為字段標(biāo)記,內(nèi)容值為字段值。第四,TEM從內(nèi)容為輸入文本的輸入分組將上下文標(biāo)記-值對(duì)衍生到實(shí)體分組。最后,TEM加入四個(gè)另外的上下文標(biāo)記-值對(duì)。這些上下文被標(biāo)記為“Tem父分組類型”、“Tem父內(nèi)容標(biāo)記”、“Tem集合名稱”和“Tem實(shí)體名稱”?!癟em父分組類型”和“Tem父內(nèi)容標(biāo)記”上下文的值是分組類型和內(nèi)容為輸入文本的分組的內(nèi)容標(biāo)記。“Tem集合名稱”和“Tem實(shí)體名稱”上下文的值是其規(guī)則用于識(shí)別和格式化實(shí)體的集合和實(shí)體的名稱。在圖19中顯示了與樣本文本中的文件參考實(shí)體相對(duì)應(yīng)的分組1902、1904、1906。圖19顯示了從圖18所示的字段標(biāo)記和值中創(chuàng)建的例示分組。在圖18中的例示性實(shí)施例中,假定樣本文本來(lái)自“錯(cuò)誤隔離元素”分組的“錯(cuò)誤隔離文本”內(nèi)容。還假定“錯(cuò)誤隔離元素”分組具有“章號(hào)”和“節(jié)號(hào)”上下文。
在處理輸入文本時(shí),TEM搜索由處理參數(shù)指定的實(shí)體集合。在一個(gè)實(shí)施例中,以集合中指定的實(shí)體順序來(lái)搜索實(shí)體。在當(dāng)前示例中,TEM首先識(shí)別設(shè)備號(hào)實(shí)體,然后是文件參考實(shí)體,最后是錯(cuò)誤實(shí)體,如圖13所示。在文件參考實(shí)體的設(shè)備號(hào)中,所有令牌由一個(gè)或多個(gè)正規(guī)表達(dá)式來(lái)指定。但是,如圖13所示的錯(cuò)誤實(shí)體并非如此。在這四個(gè)令牌中,其中一個(gè)即動(dòng)作(Action)令牌與設(shè)備號(hào)和文件參考令牌的相似之處在于,動(dòng)作令牌由正規(guī)表達(dá)式來(lái)指定。然而其余令牌是不同的。EquipNum和DocRef令牌分別由設(shè)備號(hào)和文件參考實(shí)體指定;而EquipDesc令牌為缺省令牌。EquipNum和DocRef令牌將與先前識(shí)別出的設(shè)備號(hào)和文件參考實(shí)體匹配。在當(dāng)前示例中,EquipNum令牌與文本“W121(W122,W123)”匹配,而DocRef令牌與文本“21-51-11,-22,-33”匹配。EquipDesc與動(dòng)作和EquipNum令牌之間的過(guò)濾文本、即如圖20所示的“L(R,C)WIDGET”匹配。圖20為樣本輸入文本,其中文本析取模塊識(shí)別圖13的例示性文本析取規(guī)則定義的錯(cuò)誤實(shí)體。注意,如果錯(cuò)誤實(shí)體沒(méi)有指定EquipDesc令牌,則EquipDesc令牌的值是將為缺省令牌的文本。為了避免模糊,一個(gè)實(shí)體只可將其一個(gè)令牌指定為缺省令牌。
與設(shè)備號(hào)和文件參考實(shí)體的情況一樣,TEM為圖21所示的錯(cuò)誤實(shí)體創(chuàng)建Tem錯(cuò)誤實(shí)體分組。由于匹配產(chǎn)品指定四個(gè)格式項(xiàng),因此Tem錯(cuò)誤實(shí)體除了出現(xiàn)在TEM創(chuàng)建的每個(gè)分組中的通用實(shí)體Id內(nèi)容之外,還包含動(dòng)作、設(shè)備描述、設(shè)備號(hào)和修理程序的內(nèi)容。如所期望的,動(dòng)作和設(shè)備描述內(nèi)容的值分別為“替換”和“L(R,C)WIDGET”。然而,設(shè)備號(hào)和修理程序內(nèi)容的值不是“W121(W122,W123)”和“21-51-11,-22,-33”。相反,設(shè)備號(hào)和修理程序的內(nèi)容具有三個(gè)值,它們對(duì)應(yīng)于先前創(chuàng)建的Tem設(shè)備號(hào)實(shí)體和Tem文件參考實(shí)體分組的實(shí)體Id內(nèi)容的值。因此,由先前定義的實(shí)體所指定的令牌值為相應(yīng)分組的實(shí)體Id內(nèi)容的值。此特征提供了將TEM創(chuàng)建的分組相互鏈接的方法。例如,圖21表示了Tem錯(cuò)誤實(shí)體分組與Tem文件參考實(shí)體以及Tem設(shè)備號(hào)實(shí)體分組之間的關(guān)系。注意,Tem錯(cuò)誤實(shí)體分組的設(shè)備號(hào)和修理程序內(nèi)容雖然顯示為由逗號(hào)分隔的表,但它們具有三個(gè)值。
分組輸出模塊。分組輸出模塊(PEM)是通用終端分組處理器。換句話說(shuō),此模塊不產(chǎn)生任何子分組,也不指定特定知識(shí)儲(chǔ)存庫(kù)模式。分組輸出模塊的目的是將分組輸出到知識(shí)儲(chǔ)存庫(kù),后者為開(kāi)放式數(shù)據(jù)庫(kù)連接(ODBC)兼容的。輸入過(guò)濾器和PEM共享許多相同屬性。輸入過(guò)濾器為可訓(xùn)練的,在訓(xùn)練前需要輸入數(shù)據(jù)源的結(jié)構(gòu),并保護(hù)分組處理模塊免于數(shù)據(jù)源的復(fù)雜特征。相似的,PEM為可訓(xùn)練的,在訓(xùn)練前需要輸入知識(shí)儲(chǔ)存庫(kù)的結(jié)構(gòu)(模式),并保護(hù)分組處理模塊免于知識(shí)儲(chǔ)存庫(kù)的復(fù)雜特征。
PEM的行為由分組輸出規(guī)則管理,此規(guī)則將分組內(nèi)容和上下文映射到數(shù)據(jù)庫(kù)表的字段。就象輸入數(shù)據(jù)的結(jié)構(gòu)必須在訓(xùn)練分組結(jié)構(gòu)規(guī)則之前被概括并輸入到輸入過(guò)濾規(guī)則庫(kù)中一樣,知識(shí)儲(chǔ)存庫(kù)的模式必須在訓(xùn)練分組輸出規(guī)則之前被分析并輸入到分組輸出規(guī)則庫(kù)中。
例如,考慮如圖22所示數(shù)據(jù)庫(kù)模式的樣本知識(shí)儲(chǔ)存庫(kù)。圖22是顯示分組將輸出到的樣本知識(shí)庫(kù)的數(shù)據(jù)庫(kù)模式的框圖。圖22所示的樣本知識(shí)儲(chǔ)存庫(kù)包括五個(gè)表格。PemDocRef 2202、PemEquipNum2204和PemFault(Pem錯(cuò)誤)2206表格分別將信息儲(chǔ)存在Tem文件參考實(shí)體、Tem設(shè)備號(hào)實(shí)體和Tem錯(cuò)誤實(shí)體分組中。PemFaultHasDocRefs 2208和PemFaultHasEquipNum 2210是多對(duì)多的關(guān)系表,它將關(guān)系信息存儲(chǔ)在Tem錯(cuò)誤實(shí)體分組中。在知識(shí)儲(chǔ)存庫(kù)的數(shù)據(jù)庫(kù)模式被輸入到分組輸出規(guī)則后,用戶可指定分組輸出規(guī)則。如果知識(shí)庫(kù)的數(shù)據(jù)庫(kù)模式被修改,則之后重新輸入,PEM標(biāo)記先前和當(dāng)前模式之間的差異。進(jìn)行輸入的方式應(yīng)保存現(xiàn)有分組輸出規(guī)則。
圖23是圖21所示的分組和圖22所示的數(shù)據(jù)庫(kù)表之間的樣本映射。由于分組內(nèi)容可具有多個(gè)值,而數(shù)據(jù)庫(kù)表的字段可存儲(chǔ)最多一個(gè)值,因此必須對(duì)分組值進(jìn)行擴(kuò)充,以便將這些值組合到輸出到知識(shí)庫(kù)的集合中。這些擴(kuò)充方法與文本析取模塊將令牌箱中的值組合到集合中所采用的擴(kuò)充方法相似。
考慮映射到一個(gè)數(shù)據(jù)庫(kù)表的所有分組內(nèi)容和上下文的值。對(duì)于分級(jí)擴(kuò)充,PEM將來(lái)自各個(gè)多值分組內(nèi)容的第i個(gè)值和各單值內(nèi)容的值和所有上下文組合到集合中并將這些值輸出到知識(shí)儲(chǔ)存庫(kù)。對(duì)于完全擴(kuò)充,PEM將分組內(nèi)容和上下文值的每一組合組合到集合中,并將這些值輸出到知識(shí)儲(chǔ)存庫(kù)。
注意到樣本分組輸出規(guī)則中其邊上帶圓圈的字母“R”的分組內(nèi)容和上下文。此圖標(biāo)表示這些內(nèi)容和上下文需要有值,以輸出這些值中的任何一個(gè)。換句話說(shuō),若映射到單個(gè)數(shù)據(jù)庫(kù)表中所需內(nèi)容和上下文中的任一個(gè)不包含至少一個(gè)值,則PEM將不輸出任何值的集合給該數(shù)據(jù)庫(kù)表。現(xiàn)在考慮當(dāng)不包含任何值的非必要內(nèi)容或上下文輸出到數(shù)據(jù)庫(kù)表的字段中時(shí)PEM所做的工作。如果字段可空,即字段可存儲(chǔ)空值,則PEM輸出空值。如果字段不可空,則PEM在字段存儲(chǔ)數(shù)值數(shù)據(jù)時(shí)輸出0或在字段存儲(chǔ)文本時(shí)輸出零長(zhǎng)字符串。若字段不可空且不能存儲(chǔ)零長(zhǎng)字符串,則PEM發(fā)出分組輸出錯(cuò)誤消息。
作為示例,考慮PEM如何采用圖23所示的分組輸出規(guī)則來(lái)將圖21所示的分組輸出到模式如圖22所示的知識(shí)儲(chǔ)存庫(kù)。首先,考慮Tem文件參考實(shí)體分組。分組的實(shí)體Id、卷和書(shū)簽內(nèi)容被映射到PemDocRef表的實(shí)體Id、卷和書(shū)簽字段;而分組的章號(hào)和節(jié)號(hào)上下文被映射到PemDocRef表的章號(hào)和節(jié)號(hào)字段。分組輸出規(guī)則還表明(i)分組中的值將被分級(jí)擴(kuò)充到集合并作為數(shù)據(jù)庫(kù)記錄輸出,以及(ii)只輸出各映射分組內(nèi)容和上下文包含值的集合(第二觀察是需要各分組內(nèi)容和上下文的結(jié)果)。由于圖21的Tem文件參考實(shí)體分組的所有內(nèi)容為單值,因此分級(jí)擴(kuò)充價(jià)值不大。各分組產(chǎn)生作為記錄輸出到如圖24所示的PemDocRef表的值的單一集合。注意Id字段的值是自動(dòng)地生成,因?yàn)榇俗侄螢樽詣?dòng)號(hào)類型。
現(xiàn)在考慮圖21中剩下的分組。由于Tem設(shè)備號(hào)實(shí)體和Tem文件參考實(shí)體分組以相同方式輸出到知識(shí)儲(chǔ)存庫(kù),因此這里集中討論Tem錯(cuò)誤實(shí)體分組。根據(jù)分組輸出規(guī)則,Tem錯(cuò)誤實(shí)體分組被映射到三個(gè)表格PemFault(Pem錯(cuò)誤)、PemFaultHasDocRefs和PemFaultHasEquipNums。Tem錯(cuò)誤實(shí)體到PemFault的映射與Tem文件參考到PemDocRef的映射相似,只有一處例外。不需要Tem錯(cuò)誤實(shí)體的設(shè)備描述內(nèi)容;因此,PEM將一組值作為T(mén)emFault記錄輸出到知識(shí)儲(chǔ)存庫(kù),即使分組不包含設(shè)備描述值也是如此。換句話說(shuō),如果TemFault分組具有設(shè)備描述內(nèi)容,它的值將與其它值一起輸出。然而,如果TemFault分組不具有設(shè)備描述內(nèi)容,則其它值將被輸出并且設(shè)備描述字段將為空值或零長(zhǎng)字符串。
最后,考慮Tem錯(cuò)誤實(shí)體到PemFaultHasDocRefs的映射。分組的實(shí)體Id和修理程序內(nèi)容分別被映射到PemFaultHasDocRef表的FaultKey(錯(cuò)誤關(guān)鍵字)和DocRefKey(文件參考關(guān)鍵字)字段。圖21的Tem錯(cuò)誤實(shí)體分組的實(shí)體Id和修理程序內(nèi)容的值分別為1以及1、2和3(實(shí)體Id內(nèi)容有一個(gè)值,而修理程序內(nèi)容有三個(gè)值)。分組輸出規(guī)則指定這些值應(yīng)完全擴(kuò)充,以創(chuàng)建作為記錄輸出到PemFaultHasDocRefs表的集合,如圖25所示,創(chuàng)建并輸出了三個(gè)值的集合。
總之,當(dāng)采用圖23所示分組輸出規(guī)則將圖21的分組輸出到知識(shí)儲(chǔ)存庫(kù)時(shí),PEM創(chuàng)建下述數(shù)據(jù)庫(kù)記錄。
·三個(gè)PemDocRef記錄,每一記錄來(lái)自一個(gè)Tem文件參考分組;·三個(gè)PemEquipNum記錄,每一記錄來(lái)自一個(gè)Tem設(shè)備號(hào)實(shí)體分組;·來(lái)自Tem錯(cuò)誤實(shí)體分組的一個(gè)Pem錯(cuò)誤記錄、三個(gè)PemFaultHasDocRef以及三個(gè)PemFaultHasEquipNum分組。
CGM處理模塊。除了純文本數(shù)據(jù),D2K工具還可以處理計(jì)算機(jī)圖形元文件(CGM)格式的圖形文件。CGM文件是圖形元素的集合,各元素含有標(biāo)識(shí)它的操作碼和定義它的一些數(shù)據(jù)。在一個(gè)實(shí)施例中,D2K中的CGM處理通過(guò)三層處理完成。在底層,CGM分析器模塊在識(shí)別到新的圖形元素時(shí)載入CGM圖形文件并激發(fā)回叫。在此最底層,分析器不進(jìn)行任何數(shù)據(jù)處理;它只計(jì)算文件的圖形內(nèi)容。在中間層,軟件模塊采用底層計(jì)算內(nèi)容,但此時(shí)它保持所有的文本元素和形成線段的框。一旦存儲(chǔ)了所有那些項(xiàng)目,模塊就嘗試將文本和它們的邊界矩形相關(guān)。此中間層提供了允許頂層計(jì)算這些方框和方框包含的文本的接口。最上層從稱做錯(cuò)誤隔離表的CGM圖形創(chuàng)建D2K分組。錯(cuò)誤隔離表是圖形的如果/則,其中結(jié)論或動(dòng)作列出在頁(yè)面右側(cè)的框內(nèi)。此最上層用中間層處理文件。然后,它計(jì)算最右邊列中的框并創(chuàng)建包含那些框內(nèi)文本的分組。然后,這些分組由D2K處理,就象它們始于輸入過(guò)濾器一樣。
萬(wàn)維網(wǎng)執(zhí)行程序。圖26是網(wǎng)絡(luò)執(zhí)行程序的用戶接口的例示性實(shí)施例。如圖26所示,標(biāo)題幀顯示應(yīng)用徽標(biāo)。導(dǎo)航幀包含按鍵組,壓下按鍵時(shí)可用相應(yīng)網(wǎng)頁(yè)更新主幀。主幀中的網(wǎng)頁(yè)和其上的控件顯示指令,提供了一種用戶可與D2K交互作用的機(jī)制并管理諸如錯(cuò)誤報(bào)告、選項(xiàng)設(shè)定和配置裝載/保存的全局功能。
在一個(gè)實(shí)施例中,導(dǎo)航幀包含五組按鍵執(zhí)行程序、輸入過(guò)濾器、分組調(diào)度器、文本析取模塊和分組輸出模塊。執(zhí)行程序組中的按鍵載入允許用戶瀏覽文件、裝載和保存配置、指定數(shù)據(jù)庫(kù)和設(shè)置并運(yùn)行工具的網(wǎng)頁(yè)。其余組中的按鍵載入允許用戶訓(xùn)練輸入過(guò)濾器、分組調(diào)度器、文本析取模塊和分組輸出模塊的網(wǎng)頁(yè)。
在一個(gè)實(shí)施例中,位于網(wǎng)頁(yè)上的部件在客戶端運(yùn)行。但是,可以修改D2K部件以使其在服務(wù)器端運(yùn)行,使得客戶簡(jiǎn)單地接收和顯示HTML流。這就允許用戶從能夠運(yùn)行萬(wàn)維網(wǎng)瀏覽器的任何機(jī)器上與D2K交互作用。
用戶接口。下述部分描述D2K用戶接口。首先將討論輸入過(guò)濾器用戶接口。在這個(gè)討論后為關(guān)于分組調(diào)度器用戶接口、文本析取用戶接口以及最后的分組輸出用戶接口的討論。
輸入過(guò)濾器用戶接口。在一個(gè)實(shí)施例中,用戶通過(guò)輸入過(guò)濾器用戶接口訓(xùn)練輸入過(guò)濾器。用戶接口允許用戶創(chuàng)建、修改和刪除諸如SGML文件的分級(jí)結(jié)構(gòu)化數(shù)據(jù)源的分組結(jié)構(gòu)規(guī)則。輸入用戶接口的一個(gè)優(yōu)點(diǎn)在于它允許用戶將數(shù)據(jù)源的分級(jí)結(jié)構(gòu)直觀化。用戶接口包括主編輯器窗口和顯示所選分組中的分組的非模態(tài)窗口。將對(duì)這些窗口中的各個(gè)窗口進(jìn)行更詳細(xì)地討論。
圖27是輸入過(guò)濾器編輯器的一個(gè)實(shí)施例的屏幕捕獲。輸入過(guò)濾器編輯器顯示樹(shù)狀分級(jí)結(jié)構(gòu)化數(shù)據(jù),如圖27所示。數(shù)據(jù)源的元素顯示為文件夾;而屬性顯示為文件。例如,用戶右擊節(jié)點(diǎn)(或者說(shuō)選擇一個(gè)節(jié)點(diǎn))以改變其動(dòng)作。元素和屬性名稱顯示在圖標(biāo)后面。省略號(hào)(...)和分組結(jié)構(gòu)規(guī)則跟在名稱后面。為了避免混亂,如果分組結(jié)構(gòu)規(guī)則是“忽略數(shù)據(jù)”,則不顯示該規(guī)則。
用戶可通過(guò)調(diào)用顯示于圖28中的搜索對(duì)話框來(lái)搜索文本樹(shù)。為了這樣做,用戶在編輯器中右擊并從彈出菜單中選擇“搜索...”命令。
“文本位置”控件允許用戶指定他們是否對(duì)限制他們對(duì)屬性、元素、分組類型、內(nèi)容或上下文的搜索感興趣。用戶還可搜索所有上述項(xiàng)。另外,用戶可以通過(guò)“搜索節(jié)點(diǎn)”控件來(lái)搜索樹(shù)的所有節(jié)點(diǎn)或只搜索當(dāng)前節(jié)點(diǎn)的子節(jié)點(diǎn)。在輸入了所需搜索參數(shù)后,用戶按壓“搜索”按鍵來(lái)執(zhí)行搜索。之后,搜索結(jié)果顯示在查看列表中。用戶可雙擊表中的某一元素以將其選擇到輸入過(guò)濾器編輯器、即主窗口中。搜索窗口可重新調(diào)整大小和移動(dòng);對(duì)話框的大小和位置在使用之間保持。
如圖30所示,除了搜索文本,用戶還可調(diào)用彈出菜單中諸如清除、編輯、下一個(gè)和書(shū)簽的其它命令。用戶可通過(guò)選擇“清除”命令來(lái)清除當(dāng)前所選節(jié)點(diǎn)及其子節(jié)點(diǎn)的所有動(dòng)作。此命令將所有受影響節(jié)點(diǎn)的動(dòng)作復(fù)位為“忽略”。用戶可通過(guò)選擇“編輯”命令來(lái)編輯當(dāng)前所選節(jié)點(diǎn)的規(guī)則?!熬庉嫛泵钫{(diào)用顯示于圖29中的“分組結(jié)構(gòu)屬性”對(duì)話框。圖29是輸入過(guò)濾器編輯器的分組結(jié)構(gòu)屬性對(duì)話框的一個(gè)實(shí)施例。此對(duì)話框也可由雙擊某一節(jié)點(diǎn)來(lái)調(diào)用。
用戶可編輯規(guī)則的動(dòng)作并根據(jù)規(guī)則來(lái)編輯其相關(guān)分組類型、內(nèi)容標(biāo)記和上下文標(biāo)記。分組內(nèi)容和上下文與分組類型保持一致,并可通過(guò)從下拉組合框中選擇項(xiàng)來(lái)選擇。為創(chuàng)建新的分組類型、內(nèi)容標(biāo)記或上下文標(biāo)記,用戶可簡(jiǎn)單地在適當(dāng)?shù)慕M合框中鍵入新名稱。
除了導(dǎo)航樹(shù)形圖的傳統(tǒng)方法之外,用戶可選擇顯示于圖30中的“下一個(gè)”菜單。圖30是輸入過(guò)濾器編輯器的“下一個(gè)”菜單的一個(gè)實(shí)施例。“下一個(gè)”菜單中的命令允許用戶選擇具有指定動(dòng)作的下一節(jié)點(diǎn),或具有指定不同標(biāo)志的下一節(jié)點(diǎn)。例如,通過(guò)選擇下一個(gè)|創(chuàng)建分組命令,用戶可快速地定位其規(guī)則創(chuàng)建了分組的下一節(jié)點(diǎn)。
最后,用戶可對(duì)樹(shù)形圖中的節(jié)點(diǎn)標(biāo)記書(shū)簽,允許它們?cè)谥匾?jié)點(diǎn)之間快速導(dǎo)航。如果當(dāng)前所選節(jié)點(diǎn)未被標(biāo)記書(shū)簽,用戶可以選擇顯示于圖31中的書(shū)簽子菜單上的“設(shè)置”命令。圖31是輸入過(guò)濾器編輯器的“書(shū)簽”菜單的一個(gè)實(shí)施例。如果當(dāng)前所選節(jié)點(diǎn)之前已標(biāo)記了書(shū)簽,用戶可以通過(guò)選擇“清除”命令來(lái)清除標(biāo)記。為了去掉所有書(shū)簽,用戶可選擇“全部清除”命令。書(shū)簽可保持在編輯會(huì)話之間。因此,用戶可能希望不時(shí)地清除不再需要的書(shū)簽,尤其是在創(chuàng)建不同數(shù)據(jù)源的分組結(jié)構(gòu)規(guī)則時(shí)。如果用戶已經(jīng)對(duì)超過(guò)9個(gè)節(jié)點(diǎn)標(biāo)記了書(shū)簽,則只對(duì)前9個(gè)編號(hào)。
標(biāo)題為“當(dāng)前分組信息”的非模態(tài)窗口顯示當(dāng)前所選模式的分組原型。圖32是輸入過(guò)濾器用戶接口的非模態(tài)“當(dāng)前分組信息”窗口的一個(gè)實(shí)施例。此窗口允許用戶使輸入過(guò)濾器將通過(guò)應(yīng)用當(dāng)前所選分組結(jié)構(gòu)規(guī)則及其可用的相鄰規(guī)則產(chǎn)生的分組的結(jié)構(gòu)直觀化。這個(gè)非模態(tài)窗口可重新調(diào)整大小并且可定位于電腦上的任何位置。
輸入過(guò)濾器編輯器還提供使分組結(jié)構(gòu)直觀化的另一方法。通過(guò)將鼠標(biāo)光標(biāo)在樹(shù)形圖中的任何節(jié)點(diǎn)上懸停,可臨時(shí)出現(xiàn)一個(gè)彈出提示窗口。此提示窗口的內(nèi)容顯示輸入過(guò)濾器通過(guò)應(yīng)用與鼠標(biāo)光標(biāo)選擇的節(jié)點(diǎn)相關(guān)的規(guī)則來(lái)部分創(chuàng)建的分組的結(jié)構(gòu)。
分組調(diào)度器用戶接口。用戶可通過(guò)分組調(diào)度器用戶接口訓(xùn)練分組調(diào)度器。接口被分成兩個(gè)屏,其間為大小可調(diào)的劃分條。各屏將進(jìn)行更詳細(xì)地討論。
圖33是分組調(diào)度器用戶接口的處理器和分組選擇屏的一個(gè)實(shí)施例。處理器和分組選擇屏由圖33所示的樹(shù)形圖實(shí)現(xiàn)。此屏包含所有的登記處理模塊。通過(guò)使鼠標(biāo)在特定處理器上懸停,用戶可看到映射到其上的所有分組(及其相應(yīng)的分組處理參數(shù))。因此,樹(shù)形圖包含所有的登記分組類型及其合法上下文標(biāo)記。通過(guò)使鼠標(biāo)在特定分組類型上懸停,用戶可看到分組映射到的所有處理器。為創(chuàng)建新的匹配說(shuō)明(matchspec),用戶可拖動(dòng)分組類型并將其放在處理器上。這個(gè)動(dòng)作將在匹配說(shuō)明屏上插入新的matchspec,這將在下文中討論。
圖34是分組調(diào)度器用戶接口的匹配說(shuō)明屏的一個(gè)實(shí)施例。匹配說(shuō)明屏由圖34所示的查看列表實(shí)現(xiàn)。查看列表顯示所有的匹配說(shuō)明(matchspec),即,將分組映射到分組處理模塊的分組調(diào)度規(guī)則。用戶可根據(jù)分組類型、處理器、參數(shù)或上下文通過(guò)點(diǎn)擊相應(yīng)的列標(biāo)題來(lái)對(duì)matchspec分類。第二次點(diǎn)擊同一列可以將此列以相反方向分類。用戶可通過(guò)右擊并選擇“查看”來(lái)改變查看列表的格式。
為創(chuàng)建matchspec,用戶可從處理器和分組選擇屏將處理器、分組類型或分組上下文拖動(dòng)到匹配說(shuō)明屏中的一個(gè)空列。此動(dòng)作將創(chuàng)建一個(gè)包含下拉項(xiàng)的新matchspec。另一方面,如果用戶從處理器和分組選擇屏將項(xiàng)目拖動(dòng)到匹配說(shuō)明屏中的一個(gè)matchspec,則matchspec就將通過(guò)結(jié)合此下拉項(xiàng)而被修改。用戶還可右擊或雙擊一個(gè)元素以得到映射特性對(duì)話框。
用戶可通過(guò)雙擊matchspec來(lái)調(diào)用顯示于圖35中的“匹配說(shuō)明屬性”對(duì)話框以編輯matchspec?;蛘撸脩艨捎覔鬽atchspec,以調(diào)用彈出菜單和選擇“屬性...”命令。通過(guò)“匹配說(shuō)明屬性”對(duì)話框,用戶可設(shè)置matchspec的處理器、參數(shù)和分組類型。另外,用戶可使用“增加...”和“刪除”按鍵來(lái)將分組上下文值對(duì)插入到匹配說(shuō)明中。如果用戶改變具有上下文值對(duì)的matchspec的分組類型,則編輯器將去除任何無(wú)效對(duì)、即對(duì)新的分組類型無(wú)效的對(duì)。
最后,用戶可通過(guò)右擊匹配說(shuō)明屏中的matchspec并從彈出菜單中選擇“刪除”命令來(lái)刪除matchspec。或者,用戶只簡(jiǎn)單地選擇matchspec并按下刪除鍵。
文本析取用戶接口。用戶可通過(guò)文本析取用戶接口來(lái)訓(xùn)練文本析取模塊(TEM)。用戶接口允許用戶創(chuàng)建、修改和刪除文本析取規(guī)則,如集合、實(shí)體、令牌、正規(guī)表達(dá)式、產(chǎn)品和格式。文本析取用戶接口的一個(gè)優(yōu)點(diǎn)在于它允許用戶馬上“看到”他們實(shí)時(shí)地創(chuàng)建、修改或刪除任何規(guī)則所帶來(lái)的影響。用戶接口包括對(duì)話條、規(guī)則屏、注釋屏和表格屏。這些部分中的每一個(gè)將進(jìn)行更詳細(xì)地討論。
顯示于圖36中的文本析取用戶接口對(duì)話條位于用戶接口控件的上方并包含10個(gè)按鍵,允許用戶執(zhí)行下述功能·在分組內(nèi)容的“頁(yè)”之間導(dǎo)航,·從文件模式切換到分組模式,·從文本析取模塊規(guī)則數(shù)據(jù)庫(kù)重新載入規(guī)則,
·保存在當(dāng)前會(huì)話中完成的改變,·從分組模式切換到文件模式,以及·調(diào)用幫助。
前四個(gè)按鍵,即箭頭鍵允許用戶前進(jìn)到分組內(nèi)容的第一個(gè)、上一個(gè)、下一個(gè)和最后一個(gè)“頁(yè)”。從分組數(shù)據(jù)庫(kù)讀分組內(nèi)容(分組數(shù)據(jù)庫(kù)通過(guò)運(yùn)行帶有所選“將分組保存到數(shù)據(jù)庫(kù)中”的處理選項(xiàng)的工具而提供)。可在注釋窗格中顯示“頁(yè)”并通過(guò)在規(guī)則窗格中顯示當(dāng)前選擇的實(shí)體的識(shí)別令牌和產(chǎn)品來(lái)進(jìn)行注解。第五個(gè)按鍵“再裝入分組”將注釋窗格從文件模式切換到分組模式,即從分組數(shù)據(jù)庫(kù)中讀注釋窗格中的文本。第六個(gè)按鍵“再裝入數(shù)據(jù)庫(kù)”從文本析取規(guī)則儲(chǔ)存庫(kù)中再裝入文本析取規(guī)則。用戶會(huì)被警告當(dāng)前的改變將被放棄。第七個(gè)按鍵“存儲(chǔ)數(shù)據(jù)庫(kù)”確認(rèn)文本析取規(guī)則的改變并將它們寫(xiě)入文本析取規(guī)則儲(chǔ)存庫(kù)。第八個(gè)按鍵“打開(kāi)文件”將注釋窗格從分組模式切換到文件模式,即從用戶選擇文件讀注釋窗格中的文本。第九個(gè)按鍵“關(guān)于”顯示關(guān)于文本析取用戶接口的相關(guān)信息。最后,第十個(gè)按鍵“幫助”運(yùn)行文本析取的用戶接口的幫助應(yīng)用。
規(guī)則屏顯示如圖37所示的分級(jí)樹(shù)形圖中的文本析取規(guī)則。樹(shù)節(jié)點(diǎn)可以是集合、實(shí)體、令牌、正規(guī)表達(dá)式、產(chǎn)品或格式。代表這些節(jié)點(diǎn)之一的圖標(biāo)是框內(nèi)的黑體大寫(xiě)字母。字母對(duì)應(yīng)于節(jié)點(diǎn)類型的第一個(gè)字母,例如C為集合,E為實(shí)體等。另外,樹(shù)中還顯示了指定那些集合處理哪一分組內(nèi)容的節(jié)點(diǎn)??騼?nèi)的黑色圓點(diǎn)表示這些節(jié)點(diǎn)。
節(jié)點(diǎn)的文本取決于它的類型。集合節(jié)點(diǎn)的文本為集合名稱,之后為圓括號(hào)內(nèi)它的縮寫(xiě)。實(shí)體節(jié)點(diǎn)的文本為實(shí)體名稱,之后為圓括號(hào)內(nèi)它的縮寫(xiě)。類似的,令牌節(jié)點(diǎn)的文本為令牌名稱,之后為圓括號(hào)內(nèi)它的縮寫(xiě)。然而,如果令牌是指先前識(shí)別的實(shí)體,則后面跟有參考實(shí)體名稱和縮寫(xiě)的文本“實(shí)體”被括號(hào)括起來(lái)并附在令牌文本上。正規(guī)表達(dá)式節(jié)點(diǎn)的文本是正規(guī)表達(dá)式本身;而產(chǎn)品節(jié)點(diǎn)的文本是產(chǎn)品的語(yǔ)法。格式節(jié)點(diǎn)的文本是格式標(biāo)記的名稱。最后,“集合處理分組內(nèi)容”節(jié)點(diǎn)的文本是用句號(hào)隔開(kāi)的分組類型和內(nèi)容標(biāo)記。
用戶可以執(zhí)行規(guī)則屏中諸如創(chuàng)建規(guī)則、刪除規(guī)則、復(fù)制規(guī)則或移動(dòng)規(guī)則等若干操作。用戶可以通過(guò)拖動(dòng)規(guī)則節(jié)點(diǎn)并將其放在另一節(jié)點(diǎn)上來(lái)復(fù)制或移動(dòng)規(guī)則。如果用戶從一個(gè)集合拖動(dòng)某節(jié)點(diǎn)并將其放在某個(gè)不同集合中,則節(jié)點(diǎn)及其衍生節(jié)點(diǎn)被復(fù)制。如果用戶從一個(gè)集合拖動(dòng)節(jié)點(diǎn)并將其放在相同集合中的不同位置,則通過(guò)彈出對(duì)話提示用戶他/她是否希望復(fù)制或移動(dòng)此節(jié)點(diǎn)及其子節(jié)點(diǎn)。如果在鼠標(biāo)不在節(jié)點(diǎn)上時(shí)用戶右擊規(guī)則屏,則出現(xiàn)一個(gè)彈出菜單,允許用戶創(chuàng)建集合。然而,如果當(dāng)鼠標(biāo)在節(jié)點(diǎn)上時(shí)用戶右擊,則出現(xiàn)一個(gè)彈出菜單,允許用戶刪除“已選”節(jié)點(diǎn)或創(chuàng)建子節(jié)點(diǎn)。例如,如果當(dāng)鼠標(biāo)在實(shí)體上時(shí)用戶右擊,則出現(xiàn)一個(gè)彈出菜單,允許用戶刪除該實(shí)體、創(chuàng)建令牌或創(chuàng)建產(chǎn)品。如果當(dāng)鼠標(biāo)在正規(guī)表達(dá)式節(jié)點(diǎn)上時(shí)用戶右擊,則出現(xiàn)一個(gè)彈出菜單,允許用戶只刪除此正規(guī)表達(dá)式。
注釋屏是如圖38所示的可滾動(dòng)視圖,其通過(guò)識(shí)別當(dāng)前實(shí)體的令牌和產(chǎn)品來(lái)對(duì)樣本文本進(jìn)行注解。如果當(dāng)前所選規(guī)則視圖中的項(xiàng)是實(shí)體,則當(dāng)前實(shí)體為所選項(xiàng)。如果當(dāng)前所選規(guī)則視圖中的項(xiàng)不是實(shí)體,則當(dāng)前實(shí)體為其父項(xiàng)是所選項(xiàng)的實(shí)體。樣本文本可從文本文件讀取或從分組儲(chǔ)存庫(kù)中的數(shù)據(jù)中載入。如果樣本文本包含多行,則注釋窗格在不同頁(yè)中顯示注釋文本。用戶可通過(guò)對(duì)話條“Dialog Bar”上的按鍵在頁(yè)面間導(dǎo)航。
為樣本文本中的每一行進(jìn)行當(dāng)前實(shí)體的令牌和產(chǎn)品的注釋。令牌和產(chǎn)品分別通過(guò)文本上、下的水平括弧來(lái)標(biāo)識(shí)。令牌通過(guò)將其縮寫(xiě)名稱顯示在括弧上方來(lái)進(jìn)一步注釋。如果縮寫(xiě)無(wú)法安在令牌上,則顯示一個(gè)星號(hào)。通過(guò)將鼠標(biāo)懸停在星號(hào)上,用戶可調(diào)用顯示縮寫(xiě)的提示窗口。產(chǎn)品可以類似方式通過(guò)在括弧下方顯示所選實(shí)體名稱來(lái)進(jìn)一步注釋。通過(guò)將鼠標(biāo)懸停在實(shí)體名稱上,用戶可調(diào)用顯示產(chǎn)品格式標(biāo)記和值的提示窗口。
用戶可通過(guò)表格屏來(lái)創(chuàng)建、修改和刪除規(guī)則。表格屏包含多個(gè)行和列,如圖39所示。表格的第一行顯示規(guī)則視圖中當(dāng)前所選節(jié)點(diǎn)的內(nèi)容。表格的中間行顯示當(dāng)前所選節(jié)點(diǎn)的同胞節(jié)點(diǎn)的內(nèi)容。標(biāo)有星號(hào) 的表格的最后一行是空的,允許用戶創(chuàng)建新規(guī)則。列和列標(biāo)題的數(shù)目取決于當(dāng)前所選節(jié)點(diǎn)的類型。
為了創(chuàng)建新規(guī)則,用戶必須將合適的信息輸入到最后一行的各列中并操縱鼠標(biāo)到另一行。用戶可編輯表格上任意列的內(nèi)容。當(dāng)前編輯的行被標(biāo)上記號(hào)。為了更改某一行,用戶必須通過(guò)鼠標(biāo)或箭頭鍵操縱鼠標(biāo)到另一行。為了刪除規(guī)則,用戶必須通過(guò)點(diǎn)擊最左邊的(不可編輯的)列來(lái)選擇此行并按壓刪除鍵。一旦用戶確認(rèn),此行(及相應(yīng)的規(guī)則)將被刪除。
分組輸出用戶接口。用戶可通過(guò)分組輸出用戶接口來(lái)訓(xùn)練分組輸出模塊(PEM)。用戶接口允許用戶創(chuàng)建、修改和刪除分組輸出規(guī)則,例如在分組內(nèi)容/上下文到數(shù)據(jù)庫(kù)表字段之間的映射。分組輸出用戶接口的一個(gè)優(yōu)點(diǎn)在于它允許用戶以有意義的方式將分組輸出規(guī)則直觀化。用戶接口包括兩個(gè)屏選擇屏和圖形屏;以及一個(gè)狀態(tài)條。各屏將進(jìn)行更詳細(xì)地討論。另外,還將討論允許用戶將知識(shí)儲(chǔ)存庫(kù)模式輸入到分組輸出規(guī)則數(shù)據(jù)庫(kù)的控件。
在將分組內(nèi)容/上下文映射到數(shù)據(jù)庫(kù)表字段之前,用戶通過(guò)知識(shí)儲(chǔ)存庫(kù)模式輸入控件來(lái)將數(shù)據(jù)庫(kù)模式輸入到分組輸出規(guī)則數(shù)據(jù)庫(kù)。輸入控件包含兩個(gè)按鍵和兩個(gè)窗格。為了將知識(shí)儲(chǔ)存庫(kù)模式輸入到分組輸出規(guī)則數(shù)據(jù)庫(kù),用戶應(yīng)按壓輸入按鍵。知識(shí)儲(chǔ)存庫(kù)的表顯示于左窗格中,而當(dāng)前所選表的字段顯示于右窗格中,如圖40所示。用戶可通過(guò)鼠標(biāo)和箭頭鍵選擇適當(dāng)?shù)谋韥?lái)瀏覽任何表的字段。數(shù)據(jù)庫(kù)表和字段可通過(guò)狀態(tài)圖標(biāo)來(lái)進(jìn)行。新的表和字段,即在上次輸入中沒(méi)有出現(xiàn)在知識(shí)儲(chǔ)存庫(kù)中的那些由綠色加號(hào)圖標(biāo)標(biāo)記。廢棄表和字段,即從上次輸入以來(lái)從知識(shí)儲(chǔ)存庫(kù)刪除的那些由紅色字母“x”圖標(biāo)標(biāo)記。修改字段,即從上次輸入以來(lái)其類型和/或?qū)傩砸迅淖兊哪切┯牲S色校驗(yàn)標(biāo)記圖標(biāo)標(biāo)記。為了刪除廢棄表和字段的廢棄模式,用戶應(yīng)按壓清除按鍵。
選擇屏顯示樹(shù)形圖中的兩個(gè)列表,如圖41所示。第一列表顯示系統(tǒng)已知的分組,即已在分組字典中登記的分組。第二列表顯示知識(shí)儲(chǔ)存庫(kù)表。為了在圖形屏中顯示分組或表,用戶應(yīng)雙擊樹(shù)形圖中的相應(yīng)項(xiàng)。如果用戶雙擊具有將其映射到一個(gè)或多個(gè)表的規(guī)則的分組,則映射表和映射規(guī)則一起均顯示于圖形屏中。
如圖42所示的圖形屏為畫(huà)布,分組輸出規(guī)則可以在其上創(chuàng)建、修改或刪除。分組表示為窗口。分組類型顯示于窗口的標(biāo)題條中。內(nèi)容和上下文標(biāo)記列于窗口內(nèi)。內(nèi)容和上下文標(biāo)記通過(guò)不同的圖標(biāo)進(jìn)行。知識(shí)儲(chǔ)存庫(kù)表以相似的方式表示為窗口。表格名稱顯示于窗口的標(biāo)題欄中同時(shí)表格字段列于窗口內(nèi)。
為了在畫(huà)布中增加分組或表,雙擊選擇屏中的相應(yīng)項(xiàng)。如果用戶雙擊具有將其映射到一個(gè)或多個(gè)表的規(guī)則的分組,則映射表格和映射規(guī)則一起顯示于圖形屏中。為了從畫(huà)布中去掉分組或表,點(diǎn)擊分組或表窗口的右上角的小“x”按鍵。如果從畫(huà)布中去掉了分組,則所有映射到其上的規(guī)則也被去掉。只有在沒(méi)有映射到其上的規(guī)則時(shí)才能去掉表的窗口;因此,一個(gè)映射首先去掉映射到表窗口的分組窗口。從畫(huà)布去掉窗口和規(guī)則并沒(méi)有刪除它們。相應(yīng)分組輸出規(guī)則仍存在于分組輸出規(guī)則數(shù)據(jù)庫(kù)中。
為了在分組和數(shù)據(jù)庫(kù)表之間創(chuàng)建新的分組輸出(映射)規(guī)則,用戶必須首先通過(guò)點(diǎn)擊分組窗口中的內(nèi)容或上下文標(biāo)記來(lái)選擇它然后通過(guò)點(diǎn)擊數(shù)據(jù)庫(kù)表窗口中的字段來(lái)選擇它。一旦進(jìn)行了上述程序,分組輸出用戶接口就在兩個(gè)所選項(xiàng)之間畫(huà)一條線來(lái)表示映射規(guī)則。為了用最近所選上下文或內(nèi)容標(biāo)記來(lái)創(chuàng)建另一輸出規(guī)則,雙擊分組窗口中的標(biāo)記然后選擇新的數(shù)據(jù)庫(kù)表字段。
當(dāng)用戶在映射規(guī)則即線上點(diǎn)擊鼠標(biāo)左鍵或右鍵時(shí),線顯示為粗體以表示此規(guī)則已經(jīng)被選擇。這就使用戶可改變規(guī)則的屬性或刪除此規(guī)則。創(chuàng)建規(guī)則時(shí),它們的擴(kuò)充方法設(shè)定為“分級(jí)”而且不需要分組內(nèi)容/上下文來(lái)將記錄集輸出到知識(shí)儲(chǔ)存庫(kù)。但是,如果規(guī)則映射的相應(yīng)分組和數(shù)據(jù)庫(kù)表已經(jīng)具有規(guī)則,即它們之間已經(jīng)畫(huà)有線,則擴(kuò)充等級(jí)被設(shè)為現(xiàn)有規(guī)則的等級(jí)。在一個(gè)實(shí)施例中,擴(kuò)充方法為“分級(jí)”的規(guī)則用一種顏色畫(huà)出;而擴(kuò)充方法為“完全”的規(guī)則用另一顏色畫(huà)出。當(dāng)用戶改變映射分組和數(shù)據(jù)庫(kù)的規(guī)則的擴(kuò)充方法時(shí),此分組和數(shù)據(jù)庫(kù)表之間的所有規(guī)則的擴(kuò)充方法都改變了。最后,如果用戶在畫(huà)布上除分組窗口、數(shù)據(jù)庫(kù)表窗口和規(guī)則之外的任意位置上右擊,則出現(xiàn)彈出菜單允許用戶將映射規(guī)則保存到分組輸出規(guī)則數(shù)據(jù)庫(kù)中。
儲(chǔ)存庫(kù)。在下面部分中將以下述順序來(lái)討論D2K數(shù)據(jù)庫(kù)輸入過(guò)濾規(guī)則儲(chǔ)存庫(kù)、分組字典儲(chǔ)存庫(kù)、處理模塊儲(chǔ)存庫(kù)、分組調(diào)度規(guī)則、分組儲(chǔ)存庫(kù)、文本析取規(guī)則儲(chǔ)存庫(kù)、分組輸出規(guī)則儲(chǔ)存庫(kù)、消息記錄儲(chǔ)存庫(kù)和知識(shí)庫(kù)。各數(shù)據(jù)庫(kù)將簡(jiǎn)單地加以介紹。
在一個(gè)實(shí)施例中,用戶不直接編輯存儲(chǔ)在D2K數(shù)據(jù)庫(kù)中的數(shù)據(jù)。相反,用戶與D2K用戶接口相互作用,用戶接口又將修改數(shù)據(jù)庫(kù)的內(nèi)容。
輸入過(guò)濾規(guī)則儲(chǔ)存庫(kù)。_動(dòng)作(Action)表存儲(chǔ)分組結(jié)構(gòu)規(guī)則動(dòng)作,即忽略數(shù)據(jù)、忽略數(shù)據(jù)并創(chuàng)建新分組、創(chuàng)建新分組和將數(shù)據(jù)作為內(nèi)容插入到分組中、將數(shù)據(jù)作為內(nèi)容插入到當(dāng)前分組中、將數(shù)據(jù)作為內(nèi)容附加到當(dāng)前分組中,以及將數(shù)據(jù)作為上下文插入到當(dāng)前分組中。
_字段類型(FieldType)表存儲(chǔ)了數(shù)據(jù)字段的全名和縮寫(xiě)名稱。在SGML輸入過(guò)濾器的情況下,數(shù)據(jù)字段是元素或?qū)傩浴?br>
在輸入過(guò)濾規(guī)則輸入數(shù)據(jù)結(jié)構(gòu)和登記分組的過(guò)程中創(chuàng)建_ID映射(IdMap)、_衍生(Lineage)和_工作區(qū)(Workspace)表。_衍生表高速緩存各節(jié)點(diǎn)的派生節(jié)點(diǎn)圖以便進(jìn)行上下文的繼承。
分組類型(PacketType)、上下文標(biāo)記(ContextLabel)和內(nèi)容標(biāo)記(ContentLabel)表存儲(chǔ)分組的分組類型、內(nèi)容標(biāo)記和上下文標(biāo)記,它們由分組結(jié)構(gòu)規(guī)則創(chuàng)建。
文件結(jié)構(gòu)(DocumentStructure)表是臨時(shí)緩沖器,其中存儲(chǔ)并處理數(shù)據(jù)源的結(jié)構(gòu)。
分組結(jié)構(gòu)(PacketConstruction)表存儲(chǔ)分組結(jié)構(gòu)規(guī)則。表中的數(shù)據(jù)由輸入數(shù)據(jù)源結(jié)構(gòu)的過(guò)程創(chuàng)建并由輸入過(guò)濾器用戶接口修改。
分組字典儲(chǔ)存庫(kù)。在一個(gè)實(shí)施例中,分組字典數(shù)據(jù)庫(kù)包括六個(gè)表,其中一個(gè)為臨時(shí)工作區(qū)。主表是分組類型、內(nèi)容標(biāo)記、上下文標(biāo)記、分組允許內(nèi)容(PacketAllowsContent)和分組允許上下文(PacketAllowsContext)。這些表中的數(shù)據(jù)指定合法分組的原型。幾個(gè)重要的D2K功能采用分組字典。例如,D2K訓(xùn)練用戶接口采用分組字典來(lái)限制所選的列表框以便阻止用戶產(chǎn)生無(wú)效的訓(xùn)練規(guī)則,同時(shí)分組工廠采用分組字典來(lái)保證只創(chuàng)建合法分組。另外,幾個(gè)其它數(shù)據(jù)庫(kù)包含與分組字典表的鏈接,如圖43所示。
_原型登記(PrototypeRegistration)表為工作區(qū),其被若干D2K部件用以構(gòu)建分組原型。然后,分組原型在分組字典進(jìn)行登記。
分組類型、內(nèi)容標(biāo)記、和上下文標(biāo)記表存儲(chǔ)合法分組類型、內(nèi)容標(biāo)記和上下文標(biāo)記。分組允許內(nèi)容和分組允許上下文表指定哪些內(nèi)容和上下文標(biāo)記位于哪些分組中。
處理模塊儲(chǔ)存庫(kù)。處理模塊儲(chǔ)存庫(kù)存儲(chǔ)已登記處理模塊和調(diào)用它們所需的信息的列表。此信息存儲(chǔ)在處理器表中。另外,儲(chǔ)存庫(kù)存儲(chǔ)各處理模塊能產(chǎn)生的哪些分組。此信息存儲(chǔ)在處理器登記內(nèi)容(ProcessorRegisteredContent)和處理器登記上下文(ProcessorRegisteredContext)表中。在一個(gè)實(shí)施例中,雖然輸入過(guò)濾器不是處理模塊,但此儲(chǔ)存庫(kù)還存儲(chǔ)了輸入過(guò)濾器能產(chǎn)生哪些分組。
分組調(diào)度器規(guī)則儲(chǔ)存庫(kù)。分組調(diào)度器規(guī)則儲(chǔ)存庫(kù)存儲(chǔ)分組調(diào)度規(guī)則。匹配說(shuō)明(matchspec)被存儲(chǔ)在MatchSpec和MatchSpec-HasContext表中。工作區(qū)表是分組調(diào)度器接口使用的臨時(shí)工作區(qū)。
分組儲(chǔ)存庫(kù)。分組儲(chǔ)存庫(kù)是可保存分組的數(shù)據(jù)庫(kù)。分組調(diào)度器將分組保存在儲(chǔ)存庫(kù)中。用戶在執(zhí)行網(wǎng)頁(yè)上設(shè)定“將分組保存在數(shù)據(jù)庫(kù)中”復(fù)選框。分組存儲(chǔ)在四個(gè)表中分組(Packet)、分組具有內(nèi)容(PacketHasContent)、內(nèi)容具有值(ContentHasValues)和分組具有上下文(PacketHasContext)。
文本析取規(guī)則儲(chǔ)存庫(kù)存儲(chǔ)文本析取規(guī)則,文本析取規(guī)則模式如圖44所示。要注意令牌和實(shí)體之間的關(guān)系。各令牌均具有和其父項(xiàng)的關(guān)系。直線表示此關(guān)系。然而,回想令牌可由一個(gè)或多個(gè)正規(guī)表達(dá)式組成或者它們可以為之前的四個(gè)實(shí)體。如果令牌為后一種情況,則可選關(guān)系即曲線將為非空的并且參考之前發(fā)現(xiàn)的實(shí)體。
由于集合具有一個(gè)或多個(gè)實(shí)體,實(shí)體具有一個(gè)或多個(gè)令牌,令牌具有一個(gè)或多個(gè)正規(guī)表達(dá)式等,因此必須確定如何實(shí)現(xiàn)這些一對(duì)多關(guān)系。圖45中顯示了兩種通用表示法。為了說(shuō)明這些表示法,考慮令牌和正規(guī)表達(dá)式實(shí)體。令牌可具有一個(gè)或多個(gè)正規(guī)表達(dá)式。即文件容量令牌可具有正規(guī)表達(dá)式如“FIM”、“(MM)|(AMM)”和“(WM)|(WDM)”。上述示例表示一對(duì)多的映射,如圖45中選項(xiàng)A所示。另一種映射是各正規(guī)表達(dá)式與一個(gè)令牌相關(guān),如圖45中選項(xiàng)B所示。第一種方法的優(yōu)點(diǎn)在于正規(guī)表達(dá)式可被不同令牌重復(fù)使用;而缺點(diǎn)在于另外的數(shù)據(jù)庫(kù)表無(wú)法存儲(chǔ)這些關(guān)系。第二種方法的優(yōu)點(diǎn)在于這些關(guān)系無(wú)須存儲(chǔ)在單獨(dú)的數(shù)據(jù)庫(kù)表中;而這種方法的缺點(diǎn)在于數(shù)據(jù)庫(kù)可能包含由超過(guò)一個(gè)令牌引用的同一正規(guī)表達(dá)式的復(fù)制。發(fā)明人因非技術(shù)性限制而選擇了后一種方法,即選項(xiàng)B。
_箱擴(kuò)充方法(BinExpansionMethod)表為查找表,它包含箱擴(kuò)充類型的合法值,即“分級(jí)”和“完全”。
_原型(ProtoType)表為工作區(qū),由文本析取模塊用于構(gòu)建其可以產(chǎn)生的分組原型。
集合、實(shí)體、令牌、正規(guī)表達(dá)式、產(chǎn)品和格式表分別存儲(chǔ)集合、實(shí)體、令牌、正規(guī)表達(dá)式、產(chǎn)品和格式。
實(shí)體名稱(EntityName)和TokenName(令牌名稱)表存儲(chǔ)實(shí)體和令牌名稱。實(shí)體和令牌表分別從這些表中引用實(shí)體和令牌。這些名稱被分到它們自身的表格中,以便支持實(shí)體對(duì)集合和令牌名稱的實(shí)體名稱精確地重用。
集合處理分組內(nèi)容(CollectionProcessesPacketContent)表存儲(chǔ)哪一集合處理哪一分組內(nèi)容的列表。為了更精確,文本析取模塊根據(jù)指定的規(guī)則集合來(lái)處理指定分組內(nèi)容的值。
分組輸出規(guī)則儲(chǔ)存庫(kù)。分組輸出規(guī)則儲(chǔ)存庫(kù)存儲(chǔ)分組輸出規(guī)則。分組輸出模塊的行為由這些規(guī)則管理,后者將分組內(nèi)容和上下文映射到數(shù)據(jù)庫(kù)表字段。正如輸入數(shù)據(jù)的結(jié)構(gòu)必須在訓(xùn)練分組結(jié)構(gòu)規(guī)則之前概括并輸入到輸入過(guò)濾規(guī)則儲(chǔ)存庫(kù),知識(shí)儲(chǔ)存庫(kù)的模式也必須在訓(xùn)練分組輸出規(guī)則之前被分析并輸入到分組輸出規(guī)則儲(chǔ)存庫(kù)。
_擴(kuò)充方法(ExpansionMethod)表為查找表,它包括箱擴(kuò)充類型的合法值,即“分級(jí)”和“完全”。
緩沖區(qū)數(shù)據(jù)庫(kù)字段(BufDBField)和緩沖區(qū)數(shù)據(jù)庫(kù)表(BufDBTable)表是臨時(shí)緩沖區(qū),其中存儲(chǔ)并處理知識(shí)庫(kù)的模式。將這些表中的數(shù)據(jù)和數(shù)據(jù)庫(kù)表及數(shù)據(jù)庫(kù)字段中的數(shù)據(jù)相比較以確定從最后一次輸入知識(shí)儲(chǔ)存庫(kù)模式以來(lái)哪些表和/或字段被增加、刪除和修改。
名為數(shù)據(jù)庫(kù)表和數(shù)據(jù)庫(kù)字段的表存儲(chǔ)知識(shí)庫(kù)的模式。這兩個(gè)表具有被增加的(IsAdded)和被去除的(IsRemoved)字段以標(biāo)識(shí)模式輸入之間的差異。另外,數(shù)據(jù)庫(kù)字段表還具有被修改的(IsModified)字段。
名為“將分組類型映射到數(shù)據(jù)庫(kù)表(MapPacketType2DBTable)”和“將分組信息映射到數(shù)據(jù)庫(kù)字段(MapPacketInfo2DBField)”的表存儲(chǔ)分組輸出映射規(guī)則。表“將分組類型映射到數(shù)據(jù)庫(kù)表”存儲(chǔ)哪些分組映射到哪些數(shù)據(jù)庫(kù)表的列表。另外,值擴(kuò)充方法也被存儲(chǔ)在此表中。表“將分組信息映射到數(shù)據(jù)庫(kù)字段”存儲(chǔ)什么分組內(nèi)容/上下文映射到那些數(shù)據(jù)庫(kù)表字段的列表。另外,指明是否需要將內(nèi)容或上下文值輸出到記錄集的標(biāo)記也存儲(chǔ)在此表中。
消息記錄儲(chǔ)存庫(kù)。D2K將錯(cuò)誤、警告和調(diào)試消息保存在消息記錄儲(chǔ)存庫(kù)中。消息記錄具有三個(gè)表。模塊類型(ModuleType)表存儲(chǔ)D2K中可產(chǎn)生消息的部件的列表。嚴(yán)重性(Severity)表存儲(chǔ)諸如致命、錯(cuò)誤、警告、消息和調(diào)試等錯(cuò)誤類別列表。最后,消息記錄(MessageLog)表存儲(chǔ)消息。
知識(shí)庫(kù)。知識(shí)儲(chǔ)存庫(kù)的模式對(duì)各D2K應(yīng)用是特定的。在訓(xùn)練分組輸出模塊之前,知識(shí)儲(chǔ)存庫(kù)模式被輸入到分組輸出規(guī)則儲(chǔ)存庫(kù)。一旦輸入,用戶就可訓(xùn)練分組輸出模塊以輸出記錄集,后者包括分組內(nèi)容和上下文的值。
硬件和操作環(huán)境圖46是計(jì)算機(jī)化系統(tǒng)的方框圖,此計(jì)算機(jī)化系統(tǒng)可實(shí)現(xiàn)本發(fā)明的例示性實(shí)施例。計(jì)算機(jī)90包括處理器92、隨機(jī)存取存儲(chǔ)器(RAM)94、只讀存儲(chǔ)器(ROM)96以及一個(gè)或多個(gè)存儲(chǔ)裝置98,如硬盤(pán)驅(qū)動(dòng)器、軟盤(pán)驅(qū)動(dòng)器(可插入軟盤(pán))、光盤(pán)驅(qū)動(dòng)器、盒式磁帶驅(qū)動(dòng)器等。RAM 94和ROM 96統(tǒng)稱為計(jì)算機(jī)的存儲(chǔ)器。存儲(chǔ)器、硬驅(qū)動(dòng)器、軟盤(pán)、CD-ROM等是計(jì)算機(jī)可讀媒體的類型。計(jì)算機(jī)可讀媒體存儲(chǔ)處理器92執(zhí)行的指令。指令通過(guò)總線提供給處理器92。本發(fā)明并不限于任何類型的計(jì)算機(jī)90。這些計(jì)算機(jī)的結(jié)構(gòu)和操作在本領(lǐng)域內(nèi)已眾所周知。
在一個(gè)實(shí)施例中,數(shù)據(jù)-知識(shí)(D2K)轉(zhuǎn)換器被結(jié)合于諸如計(jì)算機(jī)90的計(jì)算機(jī)上執(zhí)行的軟件中。在一個(gè)實(shí)施例中,D2K系統(tǒng)以利用C++計(jì)算機(jī)語(yǔ)言的軟件實(shí)現(xiàn),并封裝成構(gòu)件對(duì)象模型(COM)部分的集合,它可在萬(wàn)維網(wǎng)瀏覽器中例示并通過(guò)嵌入在HTML網(wǎng)頁(yè)中的MicrosoftVisual Basic和Java腳本連接。然而本領(lǐng)域的技術(shù)人員將認(rèn)識(shí)到,在不脫離本發(fā)明的范圍的前提下,也可以采用其它相當(dāng)?shù)挠布途幊陶Z(yǔ)言。
雖然這里說(shuō)明和描述了特定實(shí)施例,但本領(lǐng)域的普通技術(shù)人員將理解,可以用任何能達(dá)到相同目的的配置來(lái)代替所示的特定實(shí)施例。本申請(qǐng)計(jì)劃覆蓋本發(fā)明的任何修改和變型。因此,顯然本發(fā)明只由下面的權(quán)利要求書(shū)及其等效物限定。
權(quán)利要求
1.一種計(jì)算機(jī)化系統(tǒng),它包括至少一個(gè)儲(chǔ)存庫(kù),它存儲(chǔ)對(duì)所述計(jì)算機(jī)化系統(tǒng)處理數(shù)據(jù)進(jìn)行管理的用戶指定規(guī)則;以及至少一個(gè)處理模塊,它根據(jù)所述規(guī)則處理數(shù)據(jù)并從所述數(shù)據(jù)產(chǎn)生知識(shí)。
2.如權(quán)利要求1所述的計(jì)算機(jī)化系統(tǒng),其特征在于它還包括控制所述至少一個(gè)儲(chǔ)存庫(kù)和所述至少一個(gè)處理模塊的系統(tǒng)執(zhí)行程序。
3.如權(quán)利要求1所述的計(jì)算機(jī)化系統(tǒng),其特征在于它還包括允許用戶創(chuàng)建、修改和刪除所述用戶指定規(guī)則的用戶接口。
4.如權(quán)利要求3所述的計(jì)算機(jī)化系統(tǒng),其特征在于,所述用戶指定規(guī)則為分組結(jié)構(gòu)規(guī)則。
5.如權(quán)利要求3所述的計(jì)算機(jī)化系統(tǒng),其特征在于,所述用戶指定規(guī)則為文本析取規(guī)則。
6.如權(quán)利要求3所述的計(jì)算機(jī)化系統(tǒng),其特征在于,所述用戶指定規(guī)則為分組輸出規(guī)則。
7.如權(quán)利要求3所述的計(jì)算機(jī)化系統(tǒng),其特征在于,所述用戶指定規(guī)則為分組調(diào)度規(guī)則。
8.如權(quán)利要求1所述的計(jì)算機(jī)化系統(tǒng),其特征在于,所述至少一個(gè)處理模塊為文本析取模塊。
9.如權(quán)利要求1所述的計(jì)算機(jī)化系統(tǒng),其特征在于,所述至少一個(gè)處理模塊為分組輸出模塊。
10.如權(quán)利要求1所述的計(jì)算機(jī)化系統(tǒng),其特征在于它還包括將數(shù)據(jù)轉(zhuǎn)換成中立格式的輸入過(guò)濾器。
11.如權(quán)利要求1所述的計(jì)算機(jī)化系統(tǒng),其特征在于它還包括將所述知識(shí)輸出給知識(shí)儲(chǔ)存庫(kù)的輸出模塊。
12.一種將數(shù)據(jù)轉(zhuǎn)換為知識(shí)的計(jì)算機(jī)化方法,所述計(jì)算機(jī)化方法包括提供用戶指定規(guī)則,以管理用于將數(shù)據(jù)轉(zhuǎn)換為知識(shí)的計(jì)算機(jī)化系統(tǒng)的行為;以及根據(jù)所述規(guī)則處理數(shù)據(jù)以產(chǎn)生知識(shí)。
13.如權(quán)利要求12所述的計(jì)算機(jī)化方法,其特征在于,它還包括根據(jù)額外規(guī)則的數(shù)據(jù),并不改變所述現(xiàn)有處理部件。
14.如權(quán)利要求12所述的計(jì)算機(jī)化方法,其特征在于,所述用戶指定規(guī)則為分組結(jié)構(gòu)規(guī)則。
15.如權(quán)利要求12所述的計(jì)算機(jī)化方法,其特征在于,所述用戶指定規(guī)則為分組調(diào)度規(guī)則。
16.如權(quán)利要求12所述的計(jì)算機(jī)化方法,其特征在于,所述用戶指定規(guī)則為文本析取規(guī)則。
17.如權(quán)利要求12所述的計(jì)算機(jī)化方法,其特征在于,所述用戶指定規(guī)則為分組輸出規(guī)則。
18.如權(quán)利要求12所述的計(jì)算機(jī)化方法,其特征在于,根據(jù)所述規(guī)則處理數(shù)據(jù)還包括從所述數(shù)據(jù)析取文本。
19.如權(quán)利要求12所述的計(jì)算機(jī)化方法,其特征在于,根據(jù)所述規(guī)則處理數(shù)據(jù)還包括將所述知識(shí)輸出給知識(shí)儲(chǔ)存庫(kù)。
20.如權(quán)利要求12所述的計(jì)算機(jī)化方法,其特征在于,根據(jù)所述規(guī)則處理數(shù)據(jù)還包括將數(shù)據(jù)轉(zhuǎn)換成中立格式。
21.一種計(jì)算機(jī)可讀媒體,它具有存于其上用于執(zhí)行將數(shù)據(jù)轉(zhuǎn)換為知識(shí)的方法的計(jì)算機(jī)可執(zhí)行指令,所述計(jì)算機(jī)化方法包括接收未結(jié)構(gòu)化形式的數(shù)據(jù);將所述數(shù)據(jù)轉(zhuǎn)換成中立形式;根據(jù)用戶指定規(guī)則處理數(shù)據(jù),以將所述數(shù)據(jù)從所述中立形式轉(zhuǎn)換成知識(shí);以及將所述知識(shí)輸出給知識(shí)儲(chǔ)存庫(kù)。
22.如權(quán)利要求21所述的計(jì)算機(jī)可讀媒體,其特征在于,將所述數(shù)據(jù)轉(zhuǎn)換成中立形式包括對(duì)所述數(shù)據(jù)應(yīng)用用戶指定分組結(jié)構(gòu)規(guī)則。
23.如權(quán)利要求21所述的計(jì)算機(jī)可讀媒體,其特征在于,根據(jù)用戶指定規(guī)則處理數(shù)據(jù)包括對(duì)所述數(shù)據(jù)應(yīng)用用戶指定分組調(diào)度規(guī)則以將所述分組發(fā)送給分組處理模塊。
24.如權(quán)利要求21所述的計(jì)算機(jī)可讀媒體,其特征在于,根據(jù)用戶指定規(guī)則處理數(shù)據(jù)包括對(duì)所述數(shù)據(jù)應(yīng)用用戶指定文本析取規(guī)則。
25.如權(quán)利要求21所述的計(jì)算機(jī)可讀媒體,其特征在于,將所述數(shù)據(jù)輸出給所述知識(shí)儲(chǔ)存庫(kù)包括對(duì)所述數(shù)據(jù)應(yīng)用用戶指定分組輸出規(guī)則。
全文摘要
描述了一種可訓(xùn)練可擴(kuò)充的自動(dòng)數(shù)據(jù)-知識(shí)轉(zhuǎn)換器。本發(fā)明的一個(gè)方面包括具有至少一個(gè)儲(chǔ)存庫(kù)和至少一個(gè)處理模塊的計(jì)算機(jī)化系統(tǒng),所述至少一個(gè)儲(chǔ)存庫(kù)用于存儲(chǔ)對(duì)計(jì)算機(jī)化系統(tǒng)處理數(shù)據(jù)進(jìn)行管理的用戶指定規(guī)則,所述至少一個(gè)處理模塊用于根據(jù)這些規(guī)則處理數(shù)據(jù)并從數(shù)據(jù)產(chǎn)生知識(shí)。本發(fā)明的另一方面是將數(shù)據(jù)轉(zhuǎn)換成知識(shí)的計(jì)算機(jī)化方法。計(jì)算機(jī)化方法包括提供用戶指定規(guī)則來(lái)管理計(jì)算機(jī)化系統(tǒng)將數(shù)據(jù)轉(zhuǎn)換成知識(shí)并根據(jù)這些規(guī)則處理數(shù)據(jù)以產(chǎn)生知識(shí)的行為。本發(fā)明還有一個(gè)方面是一種計(jì)算機(jī)可讀媒體,它具有存于其上的計(jì)算機(jī)可執(zhí)行指令以執(zhí)行將數(shù)據(jù)轉(zhuǎn)換成知識(shí)的方法。計(jì)算機(jī)化方法包括接收未結(jié)構(gòu)化形式的數(shù)據(jù),將數(shù)據(jù)轉(zhuǎn)換成中立形式,根據(jù)用戶指定規(guī)則處理數(shù)據(jù)并將數(shù)據(jù)從中立形式轉(zhuǎn)換為知識(shí),以及將知識(shí)輸出給知識(shí)儲(chǔ)存庫(kù)。
文檔編號(hào)G06N5/00GK1650327SQ01809022
公開(kāi)日2005年8月3日 申請(qǐng)日期2001年3月9日 優(yōu)先權(quán)日2000年3月10日
發(fā)明者K·M·克拉默, H·C·沃格斯, S·C·蓋特詹斯 申請(qǐng)人:霍尼韋爾國(guó)際公司