亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

一種電子書構(gòu)建方法

文檔序號:6632418閱讀:337來源:國知局
一種電子書構(gòu)建方法【專利摘要】本發(fā)明公開了一種電子書構(gòu)建方法,包括:(1)構(gòu)建MP4對象,建立簡單關(guān)系;(2)構(gòu)建電子書靜態(tài)目錄;(3)顯示電子書動態(tài)目錄;(4)提供基于推理的知識學(xué)習(xí)與檢索方法;(5)構(gòu)建其他檢索方法;(6)構(gòu)建其他功能。本發(fā)明能夠使編撰的電子書更清晰,有利于建立電子書內(nèi)部知識之間的內(nèi)在關(guān)系,準確地表示作者所需要表示的知識和思想,同時使讀者能夠通過對知識內(nèi)在關(guān)系的追溯更容易、深刻地理解電子書的知識內(nèi)容,而對知識主干樹的靜態(tài)表達知識的學(xué)習(xí)又能增強知識的邏輯性,對這種邏輯性和流程知識的應(yīng)用對于電子書知識內(nèi)容的應(yīng)用也有較大的指導(dǎo)作用?!緦@f明】一種電子書構(gòu)建方法【
技術(shù)領(lǐng)域
】[0001]本發(fā)明屬于計算機【
技術(shù)領(lǐng)域
】,更具體地,涉及一種電子書構(gòu)建方法,能將復(fù)雜的多維的電子書內(nèi)容以層次化關(guān)聯(lián)、動態(tài)顯示方式組織起來?!?br>背景技術(shù)
】[0002]書籍是人類知識、文明繼承和傳播的重要媒體。傳統(tǒng)書籍的構(gòu)建方法是:采用自然語言或和其他語言對知識和思想進行描述,并用目錄對其進行組織,同時提供索引和其他檢索方法。[0003]隨著計算機技術(shù)的發(fā)展和進步,人們往往使用電子技術(shù)產(chǎn)品來記載知識和思想,從而產(chǎn)生了電子書。廣義地說,任何電子技術(shù)產(chǎn)品都是對知識的反映,也可以認為是對知識和思想的記載和應(yīng)用,但這里的電子書是狹義的,指的是在計算機中閱讀并獲取知識的產(chǎn)品,其主要目的是知識的學(xué)習(xí)和思想的理解。在本發(fā)明中討論的電子書尤指利用計算機技術(shù)對某領(lǐng)域知識和思想進行組織和關(guān)聯(lián)的電子產(chǎn)品,而且規(guī)定這些電子書一般情況下是不能由用戶進行修改的,只能做學(xué)習(xí)筆記。[0004]目前常用的電子書產(chǎn)品非常多,可以根據(jù)這些電子書的特征對其進行分類。主要包括以下幾種方式:[0005](I)傳統(tǒng)書籍的直接復(fù)制[0006]這種電子書一般僅僅將原有的書復(fù)制到電子產(chǎn)品中,基本上不作任何知識整理工作。例如,超星數(shù)字圖書館中的電子書大部分是將書籍進行掃描,然后按照封面、版權(quán)頁、前言頁、目錄、正文等結(jié)構(gòu)加以組織。除了增加一些關(guān)鍵字查詢和簡單的目錄索引外,不對原書掃描件做其他處理,即該書中的知識內(nèi)容之間實際上是不關(guān)聯(lián)的。[0007](2)傳統(tǒng)書籍的內(nèi)容的直接數(shù)字化[0008]將傳統(tǒng)書籍中的文字和圖形轉(zhuǎn)化成數(shù)字信息,形成一個類似于傳統(tǒng)書籍頁面形式的電子書。例如F1DF(PortableDocumentFormat)文件即是這種形式的電子書,超星數(shù)字圖書館中也有部分電子書的內(nèi)容屬于數(shù)字化書籍。PDF閱讀器提供了目錄和索引功能,還有豐富的閱讀筆記功能,幫助用戶更好地讀書。[0009](3)與傳統(tǒng)書籍結(jié)合的電子書[0010]這種電子書既保留傳統(tǒng)書籍的實物特點,同時又引入了電子技術(shù),使學(xué)習(xí)更加有趣、高效。例如點讀筆可以通過在特制的書籍上點擊某些圖案而發(fā)出聲音來介紹相關(guān)圖案的意義等。[0011](4)文檔編輯軟件[0012]由于常用的文檔編輯軟件均具有所見即所得的功能,所以這些軟件自然可以作為電子書使用。文檔編輯軟件功能強大,用戶可以通過對其進行直接交互操作而完成電子書的寫作。如果用戶具有對文檔編輯軟件的二次開發(fā)能力,將可以更有效地提高書籍撰寫能力。[0013](5)圖書管理和筆記系統(tǒng)[0014]這種電子書的重點是對大量的圖書進行管理。例如,超星閱覽器可以建立自己的圖書館,可以做標注、筆記等。[0015](6)文檔幫助軟件[0016]許多計算機系統(tǒng)都提供在線文檔幫助系統(tǒng),以幫助用戶在使用計算機系統(tǒng)時及時、準確地獲得相關(guān)的知識。文檔幫助軟件是計算機軟件系統(tǒng)中經(jīng)常采用的電子書,既可以減少或避免紙張的使用,同時方便知識的查詢,也容易保持電子書的內(nèi)容是最新的。[0017](7)人工智能系統(tǒng)[0018]因為人工智能系統(tǒng)特別是專家系統(tǒng)本身就是處理知識的,所以可用于電子書的構(gòu)建,但由于這些系統(tǒng)對知識的正確性、嚴密性要求太高,只能適合專業(yè)人員,主要是用于知識求解而不是知識學(xué)習(xí)。[0019]無論是傳統(tǒng)書籍還是電子書,其目的就是為了表示錯綜復(fù)雜的知識和思想,方便用戶的學(xué)習(xí)和應(yīng)用。顯然,對知識和思想的這種復(fù)雜關(guān)系表示得越清晰、方便,對知識的學(xué)習(xí)和應(yīng)用效果就越好。傳統(tǒng)書籍由于媒體本身的限制,不能有效地建立知識之間的聯(lián)系,而目前電子書雖然具有有效表示知識關(guān)聯(lián)關(guān)系的優(yōu)勢,但仍然存在一些不足之處,需要更充分、直觀、方便地表達知識之間的錯綜復(fù)雜關(guān)系,使知識的描述更科學(xué)、更全面、更有效率。[0020]顯然,最好方法就是采取更加嚴格的知識表示方法。因為人工智能技術(shù)的研究目的就是為了更好地表示和應(yīng)用知識,所以采用人工智能研究成果來進行電子書的構(gòu)建將更具有價值。[0021]在人工智能中,采用的知識表示方法有本體論、語義網(wǎng)絡(luò)、一階謂詞、框架、面向?qū)ο?、Petri網(wǎng)、產(chǎn)生式規(guī)則方法等等。在采用這些知識表示方法時,首先需要將領(lǐng)域知識進行各種抽象和整理,然后才能將其錄入并形成知識系統(tǒng)。這些知識系統(tǒng)對知識的要求是非常嚴格的,必須保證一定的正確性、完備性,而且知識系統(tǒng)一旦形成,進行維護是非常困難的,然而由于人類認識知識的特點決定了在任何時候均只能局部認識世界,需要不斷地對知識系統(tǒng)進行維護,所以這些知識系統(tǒng)實際上主要是作為知識應(yīng)用系統(tǒng)而不是學(xué)習(xí)系統(tǒng)存在的。[0022]在這些知識系統(tǒng)中,使用產(chǎn)生式規(guī)則知識表示方法構(gòu)建的專家系統(tǒng)對于知識的處理獲得了很大的成功,其原因在于專家系統(tǒng)減少了許多知識表示的束縛,而僅以非常簡單的形式描述知識,其經(jīng)典形式為:[0023]IF條件滿足THEN命題成立[0024]這種產(chǎn)生式規(guī)則描述的優(yōu)點是,既不要求對命題成立的深層次原因進行分析,也不要求對知識進行分割而使所有的知識點的顆粒大小保持一致,即將事物的產(chǎn)生規(guī)律簡單地轉(zhuǎn)化成一些規(guī)則。所以雖然專家系統(tǒng)在理論上沒有其他知識表示方法嚴格,但在知識系統(tǒng)應(yīng)用方面卻獲得了巨大的成功。[0025]但是,如果直接將基于產(chǎn)生式規(guī)則知識表示的專家系統(tǒng)用作學(xué)習(xí)系統(tǒng),則發(fā)現(xiàn)非常困難,這是由于該專家系統(tǒng)本身的一些弱點所決定的。主要體現(xiàn)在以下方法:[0026](I)知識轉(zhuǎn)化困難[0027]如果將一本書中所有的知識都用產(chǎn)生式表示中的條件和結(jié)論表示,則工作量將是巨大的。首先必須對該書中所有的語句進行分解和合并,得到各種概念、數(shù)量、性質(zhì)、關(guān)系等等,然后一條一條地將所有語句中的各種概念、數(shù)量、性質(zhì)、關(guān)系等等用產(chǎn)生式的規(guī)則加以描述。由于在使用自然語言描述知識時存在大量的模糊性、不一致性,甚至矛盾,其工作將是非常巨大而困難的。事實上,人工智能研究者很早就在做知識整理工作,希望能將人們?nèi)粘I钪械母鞣N知識整理成一個巨大的知識庫,從而得到一個巨大的專家系統(tǒng),但目前仍然無法實現(xiàn)。[0028](2)知識應(yīng)用困難[0029]即使我們能夠構(gòu)建一個包含一本書所有知識的規(guī)則庫,但是我們卻發(fā)現(xiàn)很難使用該知識庫,因為當(dāng)知識庫中的規(guī)則數(shù)比較大時,進行知識應(yīng)用時推理變得很困難,推理的運算量將急劇上升,很快超越了計算機的計算極限。這是因為在傳統(tǒng)的專家系統(tǒng)中,隨著問題規(guī)模的增大,對規(guī)則的搜索次數(shù)呈指數(shù)級增長?!?br/>發(fā)明內(nèi)容】[0030]為了克服上述問題,需要對傳統(tǒng)的專家系統(tǒng)進行改進,以便應(yīng)用于電子書的構(gòu)建。面向問題分析與決策(POAD,ProblemOrientedAnalysisandDecis1n)的專家系統(tǒng)有效地降低了上述問題的難度,將其應(yīng)用于電子書的構(gòu)建具有較大意義。面向問題分析與決策(POAD)的專家系統(tǒng)的基本概念如下:[0031](I)知識字典[0032]知識字典用于描述知識系統(tǒng)中的對象,主要包含三方面內(nèi)容:對象名稱、對象類型和對象描述。因此知識字典D可用三元組表示如下:[0033]D=(O,Τ,E)[0034]這里O表示對象,T表示對象的分類即通常所說的詞類,E表示對象O的語義解釋。[0035]在POAD中,常用的對象有5種:主體對象、問題對象、問題現(xiàn)象對象、原理知識對象和過程知識對象,分別用0M,0PB,Oph,Opl,Ope表示,這5種對象合稱為MP4對象。[0036](2)POAD知識單元[0037]POAD專家系統(tǒng)是一種以問題為核心、符合人類思維習(xí)慣方式構(gòu)建和應(yīng)用知識的系統(tǒng),采用支持問題分析與決策、以問題對象為中心的知識表示,其知識單元可以用圖1表/Jnο[0038]知識系統(tǒng)K可描述如下:[0039]K=(0M,0pb,0ph,0pl,Ope,R)[0040]這里R表示各種對象之間的關(guān)系,即:[0041]R=(O1,O2)[0042]這里O1,O2表示任意兩個對象。[0043]對象之間相關(guān)關(guān)系[0044]在POAD中將兩個對象之間的關(guān)系分為簡單相關(guān)關(guān)系和因果關(guān)系兩種。[0045]簡單相關(guān)關(guān)系Rs定義如下:[0046]Rs=(0PB,O2)[0047]式中O2表示Opb類型以外的其他對象。Rs在圖1中以單線表示。[0048]因果關(guān)系Rc定義如下:[0049]Rc=(0PB1,Opb2)[0050]因果關(guān)系表示的是問題對象之間的關(guān)系。因為常用樹來描述因果關(guān)系,所以稱為因果樹。因果樹T可以用下式表示:[0051]T=(0PB,Rc)[0052]&在圖1中用雙線表示。一般來說R。所表示的關(guān)系有“與”、“或”關(guān)系兩種。圖2中帶箭頭的線表示“或”的關(guān)系,而弧線連接的線段表示“與”的關(guān)系。例如問題A是由B、C、D共同決定,而H、1、J中只要有一個發(fā)生C就必然發(fā)生。[0053]因果關(guān)系是人們對自然根本原理的認識,體現(xiàn)出問題對象的可分解性。因果關(guān)系分解的終止條件與應(yīng)用有關(guān)。[0054]POAD與人類的思維習(xí)慣一致,使用POAD開發(fā)的專家系統(tǒng)POADES(ProblemOrientedAnalysisandDecis1nExpertSystem)具有開發(fā)容易、知識量不受限制、便于推理等優(yōu)點,因此不僅可以用于專家系統(tǒng)的開發(fā),而且可以應(yīng)用于電子書的構(gòu)建。[0055]為了使電子書更好地表達知識和思想,本發(fā)明提出一種基于面向問題分析與決策(POAD,ProblemOrientedAnalysisandDecis1n)專家系統(tǒng)的電子書構(gòu)建方法。該方法首先將電子書所要表示的內(nèi)容進行分析與綜合,并根據(jù)電子書的主要目標和核心問題進行知識單元的劃分,建立MP4對象及其描述,然后根據(jù)電子書主要目標構(gòu)建知識主干樹,將所有的知識圍繞知識主干樹聯(lián)接起來,該知識主干樹具有靜態(tài)的形式,能夠反映電子書的主干思想,同時也具有動態(tài)特性,能更深入、全面反映電子書知識的內(nèi)部關(guān)系,最后提供對電子書的內(nèi)容進行推理、檢索等功能。[0056]在下面的論述中,當(dāng)需要進行區(qū)分時,稱知識主干樹上的節(jié)點為模型節(jié)點,而在計算機屏幕上顯示的電子書目錄稱為目錄節(jié)點或樹節(jié)點。所述方法包括如下步驟:[0057]I)構(gòu)建MP4對象,建立簡單關(guān)系[0058]在對電子書所要表達的知識和思想進行分析、歸納、綜合的基礎(chǔ)上建立MP4對象,每個對象選擇合適的知識顆粒,并用Excel文件的5張表加以描述,然后錄入到知識字典中,同時加入問題對象和其他MP4對象之間的簡單關(guān)系;[0059]其主要步驟如下:[0060](1.1)打開Excel文件,對每張表進行如下操作。[0061](1.2)讀入一行,獲取MP4對象的名稱、類型和描述文件名等。[0062](1.3)查找知識字典,檢查該MP4對象是否存在。如果存在,則跳轉(zhuǎn)到(1.2);如果不存在,則跳轉(zhuǎn)到(1.4)。[0063](1.4)將該MP4對象加入到數(shù)據(jù)庫即知識字典中。重復(fù)(1.2)-(1.4),直到每行都處理完畢。[0064]2)構(gòu)建電子書靜態(tài)目錄[0065]根據(jù)電子書的主題將所有的問題對象按照因果關(guān)系組織起來形成知識主干樹,并用計算機樹狀結(jié)構(gòu)顯示方法顯示出來,成為該電子書的靜態(tài)目錄;[0066]其主要步驟如下:[0067](2.1)打開基本表。[0068](2.2)從基本表中一行一行地獲取當(dāng)前的問題對象名稱及其子問題對象名稱、與或關(guān)系類型等,并將其加入到電子書的知識庫中。[0069](2.3)將所有節(jié)點的節(jié)點標志設(shè)為未搜索,同時將根節(jié)點加入到當(dāng)前層中。[0070](2.4)取當(dāng)前層的一個節(jié)點,如果當(dāng)前節(jié)點標志為未搜索,則進入(2.5),否則進Λ(2.6);[0071](2.5)獲得當(dāng)前模型節(jié)點所有的子模型節(jié)點,將其顯示在樹窗口當(dāng)前節(jié)點對應(yīng)的樹節(jié)點的下面作為子節(jié)點;這些樹窗口的子節(jié)點記錄它們所對應(yīng)的模型節(jié)點的指針,同時將當(dāng)前模型節(jié)點的標志設(shè)置為已擴展,其值為對應(yīng)樹節(jié)點的句柄;[0072](2.6)取得下一個當(dāng)前層的模型節(jié)點,重復(fù)(2.4)-(2.6),直到當(dāng)前層全部模型節(jié)點都處理完畢,轉(zhuǎn)到(2.7);[0073](2.7)取得下一層的模型節(jié)點,重復(fù)(2.4)-(2.7),直到所有模型節(jié)點都處理完畢。[0074]3)顯示電子書動態(tài)目錄[0075]根據(jù)讀者對電子書目錄的操作進行動態(tài)目錄顯示的響應(yīng),對電子書目錄項的雙擊操作,其響應(yīng)步驟如下:[0076](3.1)獲得當(dāng)前被雙擊樹節(jié)點的句柄,根據(jù)該樹節(jié)點得到對應(yīng)的模型節(jié)點,然后根據(jù)模型節(jié)點獲得展開樹節(jié)點的句柄。[0077](3.2)如果當(dāng)前電子書采用無向圖描述,則轉(zhuǎn)(3.3),否則轉(zhuǎn)(3.4)。[0078](3.3)在樹窗口選擇當(dāng)前節(jié)點的展開節(jié)點并退出。[0079](3.4)將樹窗口中展開節(jié)點下所有子節(jié)點移動到當(dāng)前節(jié)點下,同時改寫模型節(jié)點中的展開樹節(jié)點句柄值,使其為當(dāng)前樹節(jié)點的句柄。[0080]對電子書目錄項的右鍵點擊操作,則根據(jù)模型中記錄的父子關(guān)系得到當(dāng)前節(jié)點所有的父節(jié)點,然后彈出一個對話框,顯示這些節(jié)點;[0081]4)提供基于推理的知識學(xué)習(xí)與檢索方法[0082]其步驟如下:[0083](4.1)根據(jù)輸入對象類型,在問題對象或現(xiàn)象對象集合中加入新的問題對象或問題現(xiàn)象對象。[0084](4.2)將所有與當(dāng)前新加入的問題對象或現(xiàn)象對象相關(guān)的問題對象加入到可能問題對象集合中。[0085](4.3)在可能問題對象集合中,如果一個問題所有的現(xiàn)象對象都在現(xiàn)象對象集合中存在,則該問題對象滿足;如果一個問題所有的子問題都在問題對象集合中存在,則該問題對象滿足。如果有新的問題對象滿足,則轉(zhuǎn)到(4.4);否則退出。[0086](4.4)將新產(chǎn)生的問題對象加入到已滿足的問題對象集合中。重復(fù)(4.2)-(4.4)。[0087]5)構(gòu)建其他檢索方法[0088]通過對MP4對象名稱及其內(nèi)容全文詞組建立索引關(guān)系構(gòu)建基于關(guān)鍵詞的檢索方法;[0089]6)構(gòu)建其他功能[0090]在每個MP4對象的附加字段里,記錄該對象相關(guān)的筆記文檔文件名,建立筆記文檔與MP4對象之間的聯(lián)系,以便采用其他文檔編輯器對筆記文檔進行查看和編輯。[0091]本發(fā)明所帶來的有益效果是,所提出的方法可以使編撰的電子書更清晰,有利于建立電子書內(nèi)部知識之間的內(nèi)在關(guān)系,準確地表示作者所需要表示的知識和思想,同時使讀者能夠通過對知識內(nèi)在關(guān)系的追溯更容易、深刻地理解電子書的知識內(nèi)容,而對知識主干樹的靜態(tài)表達知識的學(xué)習(xí)又能增強知識的邏輯性,對這種邏輯性和流程知識的應(yīng)用對于電子書知識內(nèi)容的應(yīng)用也有較大的指導(dǎo)作用?!緦@綀D】【附圖說明】[0092]圖1是POAD中的知識單元結(jié)構(gòu)圖;[0093]圖2是POAD中的因果樹圖;[0094]圖3是MP4對象入庫的流程圖;[0095]圖4是知識主干樹構(gòu)建流程圖;[0096]圖5是動態(tài)目錄顯示的響應(yīng)流程圖;[0097]圖6是知識推理流程圖?!揪唧w實施方式】[0098]為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下結(jié)合附圖及實施例,對本發(fā)明進行進一步詳細說明。應(yīng)當(dāng)理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。此外,下面所描述的本發(fā)明各個實施方式中所涉及到的技術(shù)特征只要彼此之間未構(gòu)成沖突就可以相互組合。[0099]在本發(fā)明中,假定電子書的構(gòu)建任務(wù)就是在已有的知識水平和相關(guān)資料條件下,將這些知識組織成為一本電子書供讀者閱讀,即是將已知的知識組成一個方便讀者使用的電子書。[0100]在下面的論述中,當(dāng)需要進行區(qū)分時,稱知識主干樹上的節(jié)點為模型節(jié)點,而在計算機屏幕上顯示的電子書目錄稱為目錄節(jié)點或樹節(jié)點。所述方法包括如下步驟:[0101]I)構(gòu)建MP4對象,建立簡單關(guān)系[0102]構(gòu)建電子書的最基礎(chǔ)工作是對該電子書所要表達的知識和思想進行整理,將它們分解成MP4對象。對于MP4對象,其知識顆粒大小的設(shè)定非常重要。顯然,電子書是不可能做成非常完備的知識系統(tǒng)的,它的知識顆粒不要求特別細致以求能夠?qū)崿F(xiàn)自動推理。在MP4對象中,蘊含了很多常識,這些常識顯然不能展開,否則這本電子書的構(gòu)建將陷于困境。[0103]本發(fā)明認為每一個MP4對象都是一個可以用某種文檔加以描述的,例如可以用HTML文檔來描述每個MP4對象的內(nèi)容。當(dāng)然,也可以用其他文檔,例如Office文檔,但HTML文檔簡單,適應(yīng)范圍強,而且更加便于建立文檔之間的鏈接關(guān)系。[0104]每一個MP4對象的名稱應(yīng)該具有一定的含義,是對該對象內(nèi)容的抽象。對象的名稱應(yīng)該能準確或者在一定的常識背景下代表該MP4對象的知識內(nèi)容。例如一個現(xiàn)象對象,如果它的名稱為“紅色”,在一般的知識背景下是非常清晰準確的,可以作為對象名稱。[0105]在POADES系統(tǒng)中,可以通過名稱來進行推理,而讀者閱讀文檔可以獲得對MP4對象的深入理解,從而克服了知識顆粒設(shè)定的困難。當(dāng)對象的名稱與文檔內(nèi)容一致時可以實現(xiàn)自動推理。[0106]在同一類MP4對象中,不能出現(xiàn)相同的命名,因為每個對象的名稱是唯一確定該對象的標識。不同類MP4對象,可以允許出現(xiàn)相同名稱,因為對象類型不同,所表達的意義不同,引用的文檔也不同。[0107]原理對象和流程對象特別適合于專家系統(tǒng),以對專家系統(tǒng)的知識做出額外的解釋和對知識的應(yīng)用作出執(zhí)行過程的指導(dǎo)。在專家系統(tǒng)中,原理知識和流程知識不直接參與知識的推理,這樣使專家系統(tǒng)具有一定的包容性,允許在專家系統(tǒng)中存在不一致的知識和不同的流程。對于電子書,其目的主要是幫助讀者學(xué)習(xí),而且在一本電子書中也需要保持知識的一致性,所以在本發(fā)明中不特別說明,其處理方法同問題對象即下面的方法是一樣的。[0108]本發(fā)明采用Excel文件方式對MP4對象予以記錄,以便有效地對電子書進行組織和錄入。描述MP4對象的Excel文件中共有5張表:主體對象表、基本表、現(xiàn)象對象表、原理對象表和流程對象表。其中現(xiàn)象對象表、主體對象表僅僅記錄對象名稱及其文件名,而原理對象表、流程對象表和基本表還記錄父子關(guān)系,其中基本表同時也記錄問題對象與其他MP4對象之間的關(guān)系,即基本表同時記錄簡單關(guān)系和因果關(guān)系。[0109]從Excel文件讀入數(shù)據(jù)并構(gòu)建MP4對象和簡單關(guān)系的主要步驟如下:[0110](1.1)打開Excel文件,對每張表進行如下操作。[0111](1.2)讀入一行,獲取MP4對象的名稱、類型和描述文件名等。[0112](1.3)查找知識字典,檢查該MP4對象是否存在。如果存在,則跳轉(zhuǎn)到(1.2);如果不存在,則跳轉(zhuǎn)到(1.4)。[0113](1.4)將該MP4對象加入到數(shù)據(jù)庫即知識字典中。重復(fù)(1.2)-(1.4),直到每行都處理完畢。[0114]其中,在建立MP4對象時,在將問題對象加入知識字典的過程中同時記錄該問題對象的簡單關(guān)系,從而對每個問題對象建立知識單元。[0115]2)構(gòu)建電子書靜態(tài)目錄[0116]任何種類的書籍,其核心是目錄,它實質(zhì)上表現(xiàn)的是整本書的知識體系。電子書的目錄是對電子書中知識關(guān)系的外在表現(xiàn),因為一般電子書的目錄一旦生成就不發(fā)生變化,所以稱之為靜態(tài)目錄,簡稱目錄。在POADES里,知識是以主干樹的形式存在的,即通過問題對象之間的關(guān)系構(gòu)成一棵樹。一棵主干樹,實際上表示的是圍繞某種關(guān)系形成的一種樹狀結(jié)構(gòu)。問題對象是與目錄對應(yīng)的,即POADES知識主干樹的每個節(jié)點稱為問題對象節(jié)點,與電子書的目錄是一致的。在知識主干樹中,所有的節(jié)點都是按照因果關(guān)系組成,即按照因果關(guān)系組成樹上的父子節(jié)點。這些因果關(guān)系是廣義的,可以包括分類、組成等等,其中分類和組成是最基本、最常用的關(guān)系,所以它們之間的關(guān)系可以抽象為與或關(guān)系。[0117]當(dāng)然,一本電子書也可能按照若干種關(guān)系組織,這樣就形成多棵樹,即森林。這里,一般將電子書的書名作為電子書的知識主干樹的根節(jié)點名稱,其他樹的根節(jié)點都連在該節(jié)點上,所以每本電子書仍然可以看成是一棵唯一的知識主干樹。[0118]描述和構(gòu)建主干樹的方法比較多,例如可以采用Excel文檔進行目錄的描述,也可以利用計算機應(yīng)用系統(tǒng)中的樹窗口開發(fā)專用的主干樹構(gòu)建系統(tǒng),甚至可以采用Word中的大綱樣式。[0119]在構(gòu)建電子書目錄時特別要注意的是,目錄中任何兩項都不能重復(fù),因為目錄中每一個項都是一個問題對象。在傳統(tǒng)的目錄編寫中,經(jīng)常在不同的父節(jié)點下存在相同名稱目錄項,以強調(diào)這些目錄項所表示的對象具有一定的相似性,但分屬不同的問題對象。在本發(fā)明中,可以推薦使用兩種方法解決這個問題,一種方法是在每個相同的目錄項名稱中附加一些詞用以區(qū)分不同的對象,例如增加章節(jié)號和定語等等;另一種方法是對這些對象進行進一步分解,抽取共同部分組成新的對象,然后再分別調(diào)用這些共同的對象即可。[0120]針對Excel文件的構(gòu)建電子書靜態(tài)目錄的主要步驟如下:[0121](2.1)打開基本表。[0122](2.2)從基本表中一行一行地獲取當(dāng)前的問題對象名稱及其子問題對象名稱、與或關(guān)系類型等,并將其加入到電子書的知識庫中。[0123](2.3)將所有節(jié)點的節(jié)點標志設(shè)為未搜索,同時將根節(jié)點加入到當(dāng)前層中。[0124](2.4)取當(dāng)前層的一個節(jié)點,如果當(dāng)前節(jié)點標志為未搜索,則進入(2.5),否則進入(2.6);[0125](2.5)獲得當(dāng)前模型節(jié)點所有的子模型節(jié)點,將其顯示在樹窗口當(dāng)前節(jié)點對應(yīng)的樹節(jié)點的下面作為子節(jié)點;這些樹窗口的子節(jié)點記錄它們所對應(yīng)的模型節(jié)點的指針,同時將當(dāng)前模型節(jié)點的標志設(shè)置為已擴展,其值為對應(yīng)樹節(jié)點的句柄;[0126](2.6)取得下一個當(dāng)前層的模型節(jié)點,重復(fù)(2.4)-(2.6),直到當(dāng)前層全部模型節(jié)點都處理完畢,轉(zhuǎn)到(2.7);[0127](2.7)取得下一層的模型節(jié)點,重復(fù)(2.4)-(2.7),直到所有模型節(jié)點都處理完畢。[0128]3)顯示電子書動態(tài)目錄[0129]無論是紙質(zhì)的書,還是電子書,目前都是采用靜態(tài)的目錄,即一本書的目錄一旦生成就不再變化。從理論上說,知識是一個網(wǎng)絡(luò)結(jié)構(gòu),可以用無向圖描述。因為無向圖用有向圖表示時存在圈,所以傳統(tǒng)的目錄僅僅表示了知識的一種狀態(tài)。知識網(wǎng)絡(luò)實際上是通過人腦的智力活動形成的。無論是傳統(tǒng)的目錄,還是根據(jù)步驟2)所得到的電子書目錄,都是電子書的靜態(tài)目錄,是對復(fù)雜知識網(wǎng)中核心部分的反映,只有知識主干樹才能表示電子書內(nèi)全部知識關(guān)系,即必須將知識主干樹表現(xiàn)出來才能反映電子書內(nèi)部的全部知識。[0130]在構(gòu)建知識主干樹時,主要依據(jù)分類和組成關(guān)系,所以它們之間的關(guān)系也可以理解為與或關(guān)系,即知識主干樹是一個與或圖,是由多個有向無圈圖構(gòu)成的樹結(jié)構(gòu)。與或圖和有向無圈圖最大的特點就是存在匯合節(jié)點,即一個節(jié)點可以存在多個父節(jié)點。因為目錄是一種樹狀結(jié)構(gòu),與或圖和有向無圈圖是用二維圖表示的結(jié)構(gòu),直接用靜態(tài)目錄表示是比較困難的。如果必須將每個節(jié)點的所有子節(jié)點都記錄在目錄中,則將出現(xiàn)大量重復(fù),目錄項數(shù)量大大增加,甚至引發(fā)目錄爆炸。[0131]為了反映電子書內(nèi)部的全部知識,本發(fā)明采用動態(tài)層次化的方法對知識主干樹進行動態(tài)顯示,得到可以發(fā)生變化的動態(tài)目錄。針對知識主干樹所表示的知識屬于無向圖還是與或圖,分成兩種動態(tài)目錄顯示方法。一種是基于無向圖的動態(tài)層次化方法,另一種是基于與或圖(包含有向無圈圖)的層次化顯示方法。[0132]基于無向圖的動態(tài)層次化方法的方法是,假定電子書的知識主干樹是無向圖,指定一個主題作為整個電子書的主題,并用寬度優(yōu)先搜索方法展開知識主干樹,其中已經(jīng)展開的部分不再展開,這樣就得到一個目錄。如果將無向圖理解成雙向的有向圖,則無向圖是有圈圖,采用靜態(tài)樹結(jié)構(gòu)比較合適,即基于無向圖的動態(tài)層次化得到的目錄是不變的,但是當(dāng)用戶雙擊一個未展開目錄項時,電子書系統(tǒng)將跳轉(zhuǎn)到已展開目錄項處。采用基于無向圖的動態(tài)層次化的優(yōu)點是比較容易建立固定的知識模式,便于知識的記憶和應(yīng)用,缺點是容易陷入僵化。[0133]基于與或圖的層次化顯示方法是,假定電子書的知識主干樹是與或圖,從根節(jié)點起用寬度優(yōu)先搜索方法展開知識主干樹,其中已經(jīng)展開的部分不再展開。與無向圖不同,當(dāng)用戶雙擊一個未展開目錄項時,電子書系統(tǒng)將該目錄項的子節(jié)點展開,而刪除已展開目錄項處的子節(jié)點,電子書的目錄形式發(fā)生了變化。采用基于與或圖的動態(tài)層次化的優(yōu)點是能動態(tài)展現(xiàn)知識系統(tǒng)的網(wǎng)絡(luò)結(jié)構(gòu),便于知識的展開和深入,缺點是有時難以掌握和記憶。[0134]兩種方法都大大減少了目錄的重復(fù)項,比傳統(tǒng)的靜態(tài)目錄僅僅是增加了一些未展開節(jié)點,一般不會出現(xiàn)目錄項數(shù)量的爆炸。[0135]無論知識主干樹采用無向圖還是與或圖,其構(gòu)建靜態(tài)目錄的步驟是一樣的,即按步驟2)獲得靜態(tài)目錄,而動態(tài)顯示目錄則與知識主干樹的類型有關(guān)。動態(tài)目錄顯示包括兩類方法,一類是對電子書目錄項雙擊操作的響應(yīng),另一類是對電子書目錄項右鍵點擊操作的響應(yīng)。[0136]對電子書目錄項雙擊操作的響應(yīng)步驟如下:[0137](3.1)獲得當(dāng)前被雙擊樹節(jié)點的句柄,根據(jù)該樹節(jié)點得到對應(yīng)的模型節(jié)點,然后根據(jù)模型節(jié)點獲得展開樹節(jié)點的句柄。[0138](3.2)如果當(dāng)前電子書采用無向圖描述,則轉(zhuǎn)(3.3),否則轉(zhuǎn)(3.4)。[0139](3.3)在樹窗口選擇當(dāng)前節(jié)點的展開節(jié)點并退出。[0140](3.4)將樹窗口中展開節(jié)點下所有子節(jié)點移動到當(dāng)前節(jié)點下,同時改寫模型節(jié)點中的展開樹節(jié)點句柄值,使其為當(dāng)前樹節(jié)點的句柄。[0141]對電子書目錄項的右鍵點擊操作,則根據(jù)模型中記錄的父子關(guān)系得到當(dāng)前節(jié)點所有的父節(jié)點,然后彈出一個對話框,顯示這些節(jié)點;[0142]4)提供基于推理的知識學(xué)習(xí)與檢索方法[0143]由于本發(fā)明構(gòu)建的電子書是采用POAD方法建立的,是一個具備知識推理能力的系統(tǒng),因此可以將POADES系統(tǒng)中所使用的知識推理方法應(yīng)用于知識的學(xué)習(xí)與檢索。基本的推理方法是:如果一個問題的所有現(xiàn)象都出現(xiàn)了,則該問題也產(chǎn)生了;如果產(chǎn)生一個問題的所有原因發(fā)生了,則這個問題就自然發(fā)生了。此外,還可以根據(jù)主體對象來尋找相關(guān)的問題對象。[0144]在POADES系統(tǒng)中,采用了以人為主導(dǎo)的推理,即使用者可以根據(jù)已經(jīng)發(fā)現(xiàn)的問題現(xiàn)象、相關(guān)的主體對象以及部分問題對象來決定選擇相關(guān)的問題或決定哪些問題可以發(fā)生。這種以人為主導(dǎo)的推理非常適合電子書的學(xué)習(xí)與應(yīng)用。[0145]基于推理的知識學(xué)習(xí)與檢索方法步驟如下:[0146](4.1)根據(jù)輸入對象類型,在問題對象或現(xiàn)象對象集合中加入新的問題對象或問題現(xiàn)象對象。[0147](4.2)將所有與當(dāng)前新加入的問題對象或現(xiàn)象對象相關(guān)的問題對象加入到可能問題對象集合中。[0148](4.3)在可能問題對象集合中,如果一個問題所有的現(xiàn)象對象都在現(xiàn)象對象集合中存在,則該問題對象滿足;如果一個問題所有的子問題都在問題對象集合中存在,則該問題對象滿足。如果有新的問題對象滿足,則轉(zhuǎn)到(4.4);否則退出。[0149](4.4)將新產(chǎn)生的問題對象加入到已滿足的問題對象集合中。重復(fù)(4.2)-(4.4)。[0150]5)構(gòu)建其他檢索方法[0151]基于知識推理的檢索雖然有利于正確查找電子書中的內(nèi)容,但是在許多情況下人們僅僅需要快速而簡便的檢索方式。常見的關(guān)鍵詞檢索就非常有價值。顯然,MP4對象的名稱作為關(guān)鍵詞進行檢索是非常有利的,所以系統(tǒng)提供基于MP4對象的檢索功能。如果在電子書中每種對象都采用可以解析的文檔表示其內(nèi)容,例如采用HTML文檔,則可以實現(xiàn)全文檢索,即可以對電子書正文中任何詞組進行檢索。[0152]為了使檢索功能更加強大,還可以采用層次化檢索方法,即采用嵌套的關(guān)鍵詞查詢方法對各種關(guān)鍵詞(包括MP4對象)進行層次化的檢索,使查詢的準確度更高。由于層次化檢索對用戶使用的要求高,而一本電子書的內(nèi)容又相對比較少,所以一般的電子書可以不使用層次化檢索功能。[0153]6)構(gòu)建其他功能[0154]可以對每個MP4對象附加一些信息來構(gòu)建其他功能。例如,可以構(gòu)建筆記功能,幫助讀者在閱讀電子書時記錄當(dāng)時的一些思想。[0155]其步驟是:在每個MP4對象的附加字段里,記錄該對象相關(guān)的筆記文檔文件名,建立筆記文檔與MP4對象之間的聯(lián)系,以便采用其他文檔編輯器對筆記文檔進行查看和編輯。[0156]下面以計算機實際開發(fā)過程為例,說明本發(fā)明電子書構(gòu)建方法的實現(xiàn)過程。本發(fā)明采用VC++6.0和Access系統(tǒng)進行開發(fā),以圖3?圖6所示的附圖作為說明對象,根據(jù)本發(fā)明所揭示的電子書構(gòu)建方法的流程和實現(xiàn)方案說明如下:[0157]步驟1:構(gòu)建MP4對象,建立簡單關(guān)系[0158]在Access中定義電子書中所需要的各種MP4對象結(jié)構(gòu)以創(chuàng)建知識字典。定義MP4對象數(shù)據(jù)結(jié)構(gòu)如下:[0159]LongID;//MP4對象的ID號[0160]StringName;//MP4對象名稱[0161]IntegerType;//MP4對象類型[0162]StringFilename;//MP4對象內(nèi)容文件名[0163]StringAuxFilename;//MP4對象附加內(nèi)容文件名[0164]對于問題對象、原理對象和流程對象,還需建立表示父子關(guān)系的數(shù)據(jù)結(jié)構(gòu)。其中問題對象的數(shù)據(jù)結(jié)構(gòu)包括兩張表Cause和CauseCom。表Cause用于記錄全部問題對象,其主要數(shù)據(jù)結(jié)構(gòu)如下:[0165]LongID;//問題對象的ID號[0166]LongQualityID;//問題對象在字典中的ID號[0167]IntegerAndOr;//問題對象的子節(jié)點之間的與或關(guān)系[0168]LongTreeItem;//問題對象在樹窗口顯示時已經(jīng)展開的樹節(jié)點句柄[0169]其中,TreeItem記錄的是問題對象在樹窗口顯示時已經(jīng)展開的樹節(jié)點句柄。一個問題對象只有一個樹節(jié)點展開其子節(jié)點。在構(gòu)建樹窗口之前,該值為O或空,所以TreeItem也稱為展開節(jié)點標志,或簡稱為節(jié)點標志,用于樹窗口構(gòu)建時作為是否展開子節(jié)點的判斷依據(jù)。[0170]表CauseCom用于記錄問題對象的父子關(guān)系,其數(shù)據(jù)結(jié)構(gòu)如下:[0171]LongCauseID;//問題對象的ID號[0172]LongQualityID;//該問題對象的一個子節(jié)點的ID號[0173]另外,還有幾張輔助表,用于記錄與當(dāng)前問題對象相關(guān)的其他MP4對象,其結(jié)構(gòu)與表CauseCom類似,即記錄當(dāng)前問題的ID和相關(guān)MP4對象的ID。[0174]為了構(gòu)建電子書,用戶必須采用文件或交互方式構(gòu)建MP4對象的結(jié)構(gòu)及編寫每個對象所對應(yīng)的文檔。本發(fā)明主要介紹文件構(gòu)建方式,即數(shù)據(jù)結(jié)構(gòu)采用Excel文件編寫,而文檔則采用HTML文件格式編寫。[0175]描述MP4對象的Excel文件中共有5張表:主體對象表、基本表、現(xiàn)象對象表、原理對象表和流程對象表。其中現(xiàn)象對象表、主體對象表僅僅記錄對象名稱及其文件名,而原理對象表、流程對象表和基本表還記錄父子關(guān)系,其中基本表同時也記錄問題對象與其他MP4對象之間的關(guān)系。[0176]假定描述MP4對象的5張表是正確的,在算法中不特別考慮正確性檢查,則讀入數(shù)據(jù)文件并創(chuàng)建知識字典和簡單關(guān)系的方法如下:[0177]依次掃描5張表,將所有的MP4對象全部掃描進知識字典,同時記錄簡單關(guān)系,其算法如圖3所示。各步驟說明如下:[0178]步驟301:開始。[0179]步驟302:打開Excel文件,對每張表進行如下操作。[0180]步驟303:讀入一行,獲取MP4對象的名稱、類型和描述文件名等。[0181]步驟304:查找知識字典,檢查該MP4對象是否存在。如果存在,則跳轉(zhuǎn)到步驟303;如果不存在,則跳轉(zhuǎn)到步驟305。[0182]步驟305:將該MP4對象加入到數(shù)據(jù)庫即知識字典中。[0183]步驟306:檢查是否將所有數(shù)據(jù)處理完成,到達文件尾部。如果還存在沒有處理的數(shù)據(jù),則跳轉(zhuǎn)到步驟303;如果到達文件尾部,則跳轉(zhuǎn)到步驟307。[0184]步驟307:退出。[0185]步驟2:構(gòu)建電子書靜態(tài)目錄[0186]掃描原理對象表、流程對象表和基本表獲得原理對象樹、流程對象樹和知識主干樹。圖4描述了對基本表進行掃描并構(gòu)建知識主干樹和目錄的算法,即描述了構(gòu)建電子書靜態(tài)目錄的過程。無論電子書中知識采用無向圖還是與或圖表示,都需要生成靜態(tài)目錄,其生成方式是一樣的,如圖4所描述的那樣,都需要從根節(jié)點開始進行寬度優(yōu)先搜索得到子節(jié)點,并從子節(jié)點遞歸重復(fù)該過程。值得注意的是,在生成靜態(tài)目錄時,已展開目錄項不再展開。[0187]圖4所示的算法步驟說明如下:[0188]步驟401:開始。[0189]步驟402:打開基本表。[0190]步驟403:從基本表中讀入一行,獲取當(dāng)前的問題對象名稱及其子問題對象名稱、與或關(guān)系類型等。[0191]步驟404:檢查各個對象是否都存在。如果有不存在的對象,則跳轉(zhuǎn)到步驟403;否則跳轉(zhuǎn)到步驟405。[0192]步驟405:在表CauseCom中加入父子關(guān)系數(shù)據(jù)。[0193]步驟406:檢查是否到達基本表尾部。如果沒有,則跳轉(zhuǎn)到步驟403;否則跳轉(zhuǎn)到步驟407。[0194]步驟407:進行搜索初始化,主要是設(shè)置節(jié)點標志為O或空。[0195]步驟408:將根節(jié)點加入到當(dāng)前層中,稱為搜索的起點或核心點。[0196]步驟409:檢查當(dāng)前層是否存在未處理的節(jié)點。如果沒有,則跳轉(zhuǎn)到步驟415;否則跳轉(zhuǎn)到步驟410。[0197]步驟410:從當(dāng)前層中取一個節(jié)點作為當(dāng)前節(jié)點。[0198]步驟411:檢查當(dāng)前節(jié)點的節(jié)點標志。如果當(dāng)前節(jié)點的節(jié)點標志不為O或非空,則跳轉(zhuǎn)到步驟409;否則跳轉(zhuǎn)到步驟412。[0199]步驟412:在樹窗口顯示該節(jié)點的所有子節(jié)點,建立模型節(jié)點與樹節(jié)點的對應(yīng)關(guān)系,主要包括:當(dāng)前模型節(jié)點的節(jié)點標志設(shè)置為對應(yīng)的樹節(jié)點句柄,樹上子節(jié)點記錄對應(yīng)的模型節(jié)點等等。[0200]步驟413:將當(dāng)前節(jié)點的所有子節(jié)點加入到下一層中,然后跳轉(zhuǎn)到步驟409。[0201]步驟414:將下一層設(shè)置為當(dāng)前層。[0202]步驟415:檢查是否到達最后一層。如果沒有到達最后一層,即下一層還存在節(jié)點,則跳轉(zhuǎn)到步驟414;否則跳轉(zhuǎn)到步驟416。[0203]步驟416:退出。[0204]原理對象樹和流程對象樹的處理方法同知識主干樹的處理方法完全一樣,這里不作進一步的介紹。[0205]步驟3:顯示電子書動態(tài)目錄[0206]顯示動態(tài)目錄的方式有兩種,一種是基于無向圖的動態(tài)層次化方法,另一種是基于與或圖(包含有向無圈圖)的層次化顯示方法。[0207]動態(tài)目錄顯示的差別主要在于對已生成的目錄項進行操作和響應(yīng)的方式不同,SP對樹窗口樹節(jié)點雙擊時的響應(yīng)程序不同。圖5描述了動態(tài)目錄顯示方法的響應(yīng)流程。對于無向圖的動態(tài)目錄顯示,其響應(yīng)操作是根據(jù)表Cause中的TreeItem值找到該樹節(jié)點的展開節(jié)點并選擇該節(jié)點為當(dāng)前節(jié)點,樹窗口軟件會自動調(diào)整樹的顯示區(qū)域;而對于與或圖的動態(tài)目錄顯示,其響應(yīng)操作是將該樹節(jié)點的展開節(jié)點下所有的子節(jié)點移動到當(dāng)前節(jié)點下面作為子節(jié)點,同時還需要修改TreeItem值為當(dāng)前節(jié)點值。[0208]圖5所示的算法步驟說明如下:[0209]步驟501:開始。[0210]步驟502:當(dāng)用戶雙擊樹窗口上的一個樹節(jié)點時,系統(tǒng)獲得該樹節(jié)點的句柄,根據(jù)該樹節(jié)點得到對應(yīng)的模型節(jié)點,然后根據(jù)模型節(jié)點的TreeItem值獲得展開樹節(jié)點的句柄。[0211]步驟503:檢查當(dāng)前電子書采用的圖描述方式。如果采用無向圖描述,則跳轉(zhuǎn)到步驟504;如果是采用有向無圈圖描述,則跳轉(zhuǎn)到步驟506。[0212]步驟504:在樹窗口選擇當(dāng)前節(jié)點的展開節(jié)點,系統(tǒng)將自動加亮該節(jié)點。[0213]步驟505:退出。[0214]步驟506:將樹窗口中展開節(jié)點下所有子節(jié)點移動到當(dāng)前節(jié)點下,同時改寫模型節(jié)點中的TreeItem值,使其為當(dāng)前樹節(jié)點的句柄。[0215]此外,還對樹節(jié)點的右鍵操作進行響應(yīng)。當(dāng)用戶點擊右鍵時,系統(tǒng)根據(jù)表CauseCom得到當(dāng)前節(jié)點所有的父節(jié)點,然后彈出一個對話框,顯示這些節(jié)點。[0216]步驟4:提供基于推理的知識學(xué)習(xí)與檢索方法[0217]提供根據(jù)知識推理來進行學(xué)習(xí)的方法,即根據(jù)知識的內(nèi)部關(guān)系進行知識的學(xué)習(xí)。知識的內(nèi)部關(guān)系就是MP4對象之間的關(guān)系,包括簡單關(guān)系和因果關(guān)系兩大類。主要推理方法是,對于簡單關(guān)系,當(dāng)用戶輸入主體對象和現(xiàn)象對象時,系統(tǒng)將顯示相關(guān)的問題對象,用戶可以選擇問題對象或現(xiàn)象對象。一旦一個問題對象所有的現(xiàn)象對象都出現(xiàn)時,則問題對象自動滿足;對于因果關(guān)系,系統(tǒng)將顯示該問題對象的所有子問題,當(dāng)一個問題的所有子問題滿足后該問題自動滿足。圖6是電子書的推理算法描述,其步驟說明如下:[0218]步驟601:開始。[0219]步驟602:根據(jù)對象類型,在問題對象或現(xiàn)象對象集合中加入新的問題對象或問題現(xiàn)象對象。[0220]步驟603:將所有與當(dāng)前新加入的問題對象或現(xiàn)象對象相關(guān)的問題對象加入到可能問題對象集合中。[0221]步驟604:在可能問題對象集合中,如果一個問題所有的現(xiàn)象對象都在現(xiàn)象對象集合中存在,則該問題對象滿足;如果一個問題所有的子問題都在問題對象集合中存在,則該問題對象滿足。如果有新的問題對象滿足,則跳轉(zhuǎn)到步驟606;否則跳轉(zhuǎn)到步驟605。[0222]步驟605:退出。[0223]步驟606:將新產(chǎn)生的問題對象加入到已滿足的問題對象集合中。[0224]實際上,電子書的知識推理也是以人為主導(dǎo)的,即讀者可以自主控制知識的學(xué)習(xí)過程。當(dāng)讀者對一個問題的某些子問題比較熟悉時,可以直接跨越過去,而不必一個一個地確認。[0225]步驟5:構(gòu)建其他檢索方法[0226]主要是提供MP4對象關(guān)鍵詞檢索和全文檢索方法。MP4對象關(guān)鍵詞檢索即根據(jù)讀者提供的關(guān)鍵詞及所屬的MP4對象類型,在數(shù)據(jù)庫知識詞典中尋找對應(yīng)的對象。全文檢索則首先在數(shù)據(jù)庫中根據(jù)倒排索引方法建立所有文檔正文的索引,然后根據(jù)讀者輸入的關(guān)鍵詞尋找包含該關(guān)鍵詞的正文所對應(yīng)的MP4對象,然后將其顯示出來。此外,還可以建立其他高級檢索方法,例如模糊檢索、層次化檢索等等。[0227]步驟6:構(gòu)建其他功能[0228]通過對MP4對象附加一些信息來構(gòu)建其他功能。例如,可以構(gòu)建一個筆記功能,其方法是:在每個MP4對象的AuxFilename字段里,記錄該對象相關(guān)的筆記文檔文件名。筆記文檔可以是簡單的筆記文檔,也可以是復(fù)雜的Office文檔。當(dāng)讀者需要查看和編輯筆記文檔時,系統(tǒng)可以自動找到處理該類文檔的軟件系統(tǒng)并打開該文檔。[0229]本具體實施步驟適合一般的電子書構(gòu)建。對本領(lǐng)域的普通技術(shù)人員而言,本發(fā)明所涉及的數(shù)據(jù)結(jié)構(gòu)和算法可以在一般的計算機系統(tǒng)中實現(xiàn),舉例而言,可以使用VC++、Java等任何高級程序設(shè)計語言加以實現(xiàn)。[0230]本領(lǐng)域的技術(shù)人員容易理解,以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)?!緳?quán)利要求】1.一種電子書構(gòu)建方法,其特征在于,所述方法包括如下步驟:(1)構(gòu)建MP4對象,建立簡單關(guān)系:在對電子書所要表達的知識和思想進行分析、歸納、綜合的基礎(chǔ)上建立MP4對象,所述MP4對象包括主體對象、問題對象、問題現(xiàn)象對象、原理知識對象和過程知識對象;分別對每個對象選擇合適的知識顆粒,并分別用Excel文件的5張表加以描述,所述5張表分別為主體對象表、基本表、現(xiàn)象對象表、原理對象表和流程對象表,其中現(xiàn)象對象表、主體對象表記錄對象名稱及其文件名,而原理對象表、流程對象表和基本表還記錄父子關(guān)系,其中基本表同時也記錄問題對象與其他MP4對象之間的關(guān)系,SP基本表同時記錄簡單關(guān)系和因果關(guān)系;然后錄入到電子書知識字典中,同時加入問題對象和其他MP4對象之間的簡單關(guān)系;(2)構(gòu)建電子書靜態(tài)目錄:根據(jù)電子書的主題將所有的問題對象按照因果關(guān)系組織起來形成知識主干樹,并用計算機樹狀結(jié)構(gòu)顯示方法顯示出來,成為該電子書的靜態(tài)目錄;(3)顯示電子書動態(tài)目錄:根據(jù)讀者對電子書目錄的操作進行動態(tài)目錄顯示的響應(yīng)。2.如權(quán)利要求1所述的方法,其特征在于,所述步驟(I)具體包括如下子步驟:(1.1)打開Excel文件,對每張表進行如下操作;(1.2)讀入一行,獲取MP4對象的名稱、類型和描述文件名;(1.3)查找知識字典,檢查該MP4對象是否存在;如果存在,則跳轉(zhuǎn)到(1.2);如果不存在,則跳轉(zhuǎn)到(1.4);(1.4)將該MP4對象加入到數(shù)據(jù)庫即知識字典中;重復(fù)(1.2)-(1.4),直到每行都處理完畢。3.如權(quán)利要求1或2所述的方法,其特征在于,所述步驟(2)具體包括如下子步驟:(2.1)打開基本表;(2.2)從基本表中一行一行地獲取當(dāng)前的問題對象名稱及其子問題對象名稱、與或關(guān)系類型,并將其加入到電子書的知識庫中;(2.3)將所有節(jié)點的節(jié)點標志設(shè)為未搜索,同時將根節(jié)點加入到當(dāng)前層中;(2.4)取當(dāng)前層的一個節(jié)點,如果當(dāng)前節(jié)點標志為未搜索,則進入(2.5),否則進入(2.6);(2.5)獲得當(dāng)前模型節(jié)點所有的子模型節(jié)點,將其顯示在樹窗口當(dāng)前節(jié)點對應(yīng)的樹節(jié)點的下面作為子節(jié)點;這些樹窗口的子節(jié)點記錄它們所對應(yīng)的模型節(jié)點的指針,同時將當(dāng)前模型節(jié)點的標志設(shè)置為已擴展,其值為對應(yīng)樹節(jié)點的句柄;(2.6)取得下一個當(dāng)前層的模型節(jié)點,重復(fù)(2.4)-(2.6),直到當(dāng)前層全部模型節(jié)點都處理完畢,轉(zhuǎn)到(2.7);(2.7)取得下一層的模型節(jié)點,重復(fù)(2.4)-(2.7),直到所有模型節(jié)點都處理完畢。4.如權(quán)利要求1或2所述的方法,其特征在于,所述步驟(3)具體為,對電子書目錄項的雙擊操作,其響應(yīng)步驟如下:(3.1)獲得當(dāng)前被雙擊樹節(jié)點的句柄,根據(jù)該樹節(jié)點得到對應(yīng)的模型節(jié)點,然后根據(jù)模型節(jié)點獲得展開樹節(jié)點的句柄;(3.2)如果當(dāng)前電子書采用無向圖描述,則轉(zhuǎn)(3.3),否則轉(zhuǎn)(3.4);(3.3)在樹窗口選擇當(dāng)前節(jié)點的展開節(jié)點并退出;(3.4)將樹窗口中展開節(jié)點下所有子節(jié)點移動到當(dāng)前節(jié)點下,同時改寫模型節(jié)點中的展開樹節(jié)點句柄值,使其為當(dāng)前樹節(jié)點的句柄。5.如權(quán)利要求1或2所述的方法,其特征在于,所述步驟(3)具體為,對電子書目錄項的右鍵點擊操作,則根據(jù)模型中記錄的父子關(guān)系得到當(dāng)前節(jié)點所有的父節(jié)點,然后彈出一個對話框,顯示這些節(jié)點。6.如權(quán)利要求1或2所述的方法,其特征在于,所述方法還包括,提供基于推理的知識學(xué)習(xí)與檢索方法,具體包括如下子步驟:(4.1)根據(jù)輸入對象類型,在問題對象或現(xiàn)象對象集合中加入新的問題對象或問題現(xiàn)象對象;(4.2)將所有與當(dāng)前新加入的問題對象或現(xiàn)象對象相關(guān)的問題對象加入到可能問題對象集合中;(4.3)在可能問題對象集合中,如果一個問題所有的現(xiàn)象對象都在現(xiàn)象對象集合中存在,則該問題對象滿足;如果一個問題所有的子問題都在問題對象集合中存在,則該問題對象滿足;如果有新的問題對象滿足,則轉(zhuǎn)到(4.4);否則退出;(4.4)將新產(chǎn)生的問題對象加入到已滿足的問題對象集合中;重復(fù)(4.2)-(4.4)。7.如權(quán)利要求1或2所述的方法,其特征在于,所述方法還包括:構(gòu)建其他檢索方法:通過對MP4對象名稱及其內(nèi)容全文詞組建立索引關(guān)系構(gòu)建基于關(guān)鍵詞的檢索方法。8.如權(quán)利要求1或2所述的方法,其特征在于,所述方法還包括:構(gòu)建其他功能:在每個MP4對象的附加字段里,記錄該對象相關(guān)的筆記文檔文件名,建立筆記文檔與MP4對象之間的聯(lián)系,以便采用其他文檔編輯器對筆記文檔進行查看和編輯。【文檔編號】G06F17/21GK104408029SQ201410598662【公開日】2015年3月11日申請日期:2014年10月30日優(yōu)先權(quán)日:2014年10月30日【發(fā)明者】尹文生,尹強申請人:華中科技大學(xué)
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1