• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于本體的機構(gòu)信息智能檢索系統(tǒng)的設(shè)計與實現(xiàn)

      2009-07-15 09:54:02馮微峰
      現(xiàn)代情報 2009年3期

      馮微峰

      〔摘 要〕本文提出了一個基于本體的智能檢索系統(tǒng)的設(shè)計框架并實現(xiàn)了主要的功能模塊,該檢索系統(tǒng)對中科院圖情方向的機構(gòu)信息進行提取和加工,利用本體語言對中科院圖情方向的組織機構(gòu),主要研究人員,重大研究項目等之間的邏輯進行描述,構(gòu)建一個以機構(gòu)為主要對象的具有邏輯推理 性的功能本體,并通過自定義規(guī)則,加載泛化規(guī)則引擎來實現(xiàn)系統(tǒng)的智能檢索功能。

      〔關(guān)鍵詞〕智能檢索;機構(gòu)信息;推理規(guī)則;本體建模

      〔中圖分類號〕G35 〔文獻標(biāo)識碼〕B 〔文章編號〕1008-0821(2009)03-0170-06

      本體對領(lǐng)域和任務(wù)進行了良好的描述,具有較好的概念層次結(jié)構(gòu)和對邏輯推理的支持,從而在信息檢索,特別是在智能檢索中得到了很好的應(yīng)用。在基于本體的智能檢索系統(tǒng)中,通過對原始信息的加工提取和本體的語義推理機制,可以進一步提高檢索結(jié)果和檢索目標(biāo)的相關(guān)性,從而使得檢索結(jié)果更加符合人們的要求。

      起初,國內(nèi)外本體研究機構(gòu)[1]主要著力于頂層本體和領(lǐng)域本體的研究和探索,而現(xiàn)在隨著功能本體廣泛的應(yīng)用,對于功能本體的研究也越來越多了。比如說,對一個跨國機構(gòu)進行本體建模,利用本體對該機構(gòu)的組織、資源、技術(shù)等進行邏輯描述。與資源直接相關(guān)是人,通過本體的邏輯性就可以知道,需要資源的人是屬于哪個部門的,他具有什么樣的研究技能。通過對機構(gòu)的本體描述就可以優(yōu)化機構(gòu)的運作流程,促進信息溝通和便于協(xié)同管理。

      本文提出了基于功能本體的智能檢索系統(tǒng)的構(gòu)建模式和設(shè)計思想并且對系統(tǒng)的實現(xiàn)方案進行了解析和探索研究。

      1 智能檢索系統(tǒng)框架設(shè)計方案

      本文采用以Java環(huán)境下的Eclipse平臺加MySQL數(shù)據(jù)庫作為系統(tǒng)實現(xiàn)的基礎(chǔ),并使用Jena和JPowerGraph等Java開源包。系統(tǒng)的體系結(jié)構(gòu)如圖1所示。

      智能檢索系統(tǒng)是一個三層體系架構(gòu):

      1.1 表示層

      這一層主要是通過JSP給用戶提供UI接口。用戶需求輸入的表達方式主要有如下幾種:一是以自然語言方式表示,最典型的例子是關(guān)鍵字的方式;二是以特定的查詢語言表示,如SQL、RQL、SPARQL[2]等;三是以可視化的方式表示,例如通過菜單選擇查詢條件的方式。本文設(shè)計的用戶需求輸入的目標(biāo)就是在準(zhǔn)確表達用戶需求的同時,盡可能使得用戶的輸入操作簡單易行,因此一方面從服務(wù)器端取得本體的Schema,生成清晰的樹形結(jié)構(gòu),用戶可以通過點擊樹形結(jié)構(gòu)上的節(jié)點獲得所需信息,另一方面用戶可以根據(jù)需要選擇檢索的類型,比如“根據(jù)地區(qū)檢索”、“根據(jù)研究機構(gòu)檢索”、“根據(jù)研究人員檢索”、“根據(jù)研究項目”等等。也可以通過限制查詢條件和查詢范圍和特定關(guān)鍵詞來實現(xiàn)復(fù)雜查詢。

      結(jié)果語義輸出[3]是指把語義類、語義屬性和語義關(guān)系的實例進行可視化的輸出,對JPowerGraph開源包進行二次開發(fā),把相關(guān)的語義數(shù)據(jù)轉(zhuǎn)化為相關(guān)聯(lián)的節(jié)點和邊,動態(tài)的呈現(xiàn)給用戶。

      1.2 數(shù)據(jù)層

      數(shù)據(jù)層包含本體Schema、推理規(guī)則和OWL知識庫3部分。本文以網(wǎng)上公布的中科院圖情機構(gòu)相關(guān)信息作為原始材料進行語義提取,將最終結(jié)果轉(zhuǎn)化為OWL格式文件本體數(shù)據(jù),從本質(zhì)上來講,就是一組OWL文件和一系列推理規(guī)則(Rules)文件。本論文的智能檢索系統(tǒng)中所構(gòu)建的中科院組織結(jié)構(gòu)信息本體是從地區(qū)、機構(gòu)、人員、項目4個維度來定義的語義本體。

      首先通過討論確定語義類、語義屬性、語義關(guān)系以及傳遞、對稱、相反等規(guī)則。然后將討論結(jié)果定義為數(shù)據(jù)字典,數(shù)據(jù)字典包括名稱及其說明部分。最后在數(shù)據(jù)字典確定以后,通過Protégé手工創(chuàng)建OWL和推理規(guī)則文件。

      1.2.1 本體Schema

      本體的Schema是整個系統(tǒng)的概念基礎(chǔ),它提供了本體模型基本的類別層次結(jié)構(gòu),是定義推理規(guī)則的基礎(chǔ),是OWL知識庫中信息的結(jié)構(gòu)基礎(chǔ)。

      1.2.2 推理規(guī)則

      推理規(guī)則以Jena規(guī)則語法描述,是進行基于推理的查詢的基礎(chǔ)。

      1.2.3 OWL知識庫[4]

      用OWL描述的本體知識,是智能檢索系統(tǒng)的數(shù)據(jù)源,它不僅包含了實例化的本體本身,還包含了本體經(jīng)過描述邏輯推理(DL reasoning)[5]分類后的隱含信息以及本體推理引擎推理所獲得的蘊含知識。

      1.3 推理層

      推理層采用Jena[6]自帶的GenericRuleReasoner。該泛化規(guī)則引擎是基于規(guī)則的,并且支持用戶的自定義。該推理引擎支持前向鏈、后向鏈以及二者混合的推理執(zhí)行模型,更準(zhǔn)確地說,Jena有2個內(nèi)部規(guī)則引擎:前向鏈推理RETE[7]引擎和一個tabled da talog engine[7]。它們可以獨立運行,或者前向鏈作為后向鏈引擎的先導(dǎo),來完 成“查詢——問答”。泛化規(guī)則引擎可以自定義規(guī)則,因此具有強大的推理功能和靈活性, 并且易于擴展,因此本智能檢索系統(tǒng)的推理以基于靜態(tài)規(guī)則推理為主,采用GenericRuleRea soner,根據(jù)事實庫中的已有事實,加載規(guī)則庫中的規(guī)則,并將新的事實加入到OWL知識庫中 ,實現(xiàn)了OWL知識庫內(nèi)容的更新與擴充。

      2 智能檢索系統(tǒng)實現(xiàn)方案

      2.1 瀏覽器端

      對于瀏覽器端而言,采用Ajax框架實現(xiàn)瀏覽器端的主要功能。Ajax采取了JavaScript+DOM的方式來實現(xiàn)與瀏覽器的交互功能。另外,Ajax利用基于JavaScript的XmlHttpRequest組件提供Xml數(shù)據(jù)異步傳輸,它能夠?qū)崿F(xiàn)頁面無刷新的數(shù)據(jù)傳輸。瀏覽器端主要包括了以下3個方面的功能:

      2.1.1 本體知識的檢索

      本體檢索的界面如圖2所示。用戶可以采用簡單查詢和復(fù)雜查詢2種方式來進行本體知識檢 索。簡單查詢就是輸入關(guān)鍵詞進行查詢。復(fù)雜查詢一方面可以通過導(dǎo)入本體的Schema文件,采用Jtree這個插件生成清晰的本體檢索導(dǎo)航樹,用戶可以點擊相關(guān)節(jié)點進行查詢。另一方面用戶可以指定檢索條件和檢索關(guān)系來構(gòu)造復(fù)雜查詢。檢索條件包括地區(qū)名稱、機構(gòu)名稱等等。檢索關(guān)系包括所屬關(guān)系、擁有關(guān)系、合作關(guān)系等等。

      2.1.2 本體知識的添加

      本體知識的添加的界面如圖3所示。用戶通過添加各個類別的實例來實現(xiàn)OWL事實庫的初始化。本體的Schema和本體的初始事實庫是以后進行語義推理的知識基礎(chǔ)。用戶也可以直接添加本體事實描述,用戶首先選擇相關(guān)的本體類別,比如說用戶選擇了“Branch”類,則后面級聯(lián)的選擇框會自動彈出事實庫中已有的該類的實例,比如說用戶選擇了“國家科學(xué)圖書館北京分館”的實例,然后選擇“HasDepartment”關(guān)系,在最后的本體實例框中填寫了“信息技術(shù)部”,這樣用戶就添加了這樣一條本體事實:

      國家科學(xué)圖書館→HasDepartment→信息技術(shù)部

      2.1.3 結(jié)果語義可視化輸出

      結(jié)果語義可視化輸出如圖4所示,這個功能主要是通過JPowerGraph開源包來實現(xiàn)的。用戶在客戶端提交了檢索內(nèi)容后,服務(wù)器端通過語義推理將與檢索內(nèi)容相關(guān)聯(lián)的語義類、語義屬性和語義關(guān)系傳回給客戶端,客戶端再通過JPowerGraph可視化功能把獲得的相關(guān)聯(lián)的語義類、語義屬性和語義關(guān)系的實例轉(zhuǎn)化成節(jié)點和邊,動態(tài)的呈現(xiàn)給用戶。

      2.2 服務(wù)器端

      對于服務(wù)器端而言,包括數(shù)據(jù)層和推理層兩層結(jié)構(gòu),所以服務(wù)器端主要實現(xiàn)以下兩大功能模塊:

      2.2.1 本體知識庫的建立和持久化

      本文以中科院圖情機構(gòu)為例說明構(gòu)建機構(gòu)信息這個功能本體的基本流程。

      (1)機構(gòu)信息本體的建立

      因為機構(gòu)具有良好的層次性,所以采用自上而下的本體構(gòu)建法。首先標(biāo)識本體中最通用的概念,然后在通用層次上創(chuàng)建相應(yīng)的種類并逐步的細(xì)化本體??傮w而言只要包括以下3個步驟:

      ①分析機構(gòu)本體和定義數(shù)據(jù)字典

      該機構(gòu)本體是中科院圖情方向的機構(gòu)信息為基礎(chǔ),利用本體語言對該方向的組織機構(gòu)、主要研究人員、重大研究項目等進行邏輯描述。所以相關(guān)的實體主要包括:

      相關(guān)本體描述:

      1.房俊民老師是情報研究部的成員。

      2.房俊民老師的研究方向是競爭情報。

      3.……

      4.……

      圖4 語義結(jié)果可視化輸出

      機構(gòu):名稱,地址,簡介

      分支機構(gòu):名稱,地址,簡介

      部門:名稱,人員數(shù)目,簡介

      導(dǎo)師:姓名,職稱,性別

      學(xué)生:姓名,性別

      研究方向:名稱,簡介

      研究項目:名稱,時間段,經(jīng)費

      本文將機構(gòu)信息所用到的詞典整理出來,這些詞匯有可能是類或是屬性,將在后面幾個步驟中加以區(qū)分。表1是本文所制定的詞典。

      詞 匯Class/Property定 義OrganizationClass所有分支機構(gòu)的父類BranchClass分支機構(gòu)類DepartmentClass部門類InstructorClass導(dǎo)師類StudentClass學(xué)生類DirectionClass研究方向類ProjectClass研究項目類NameDatatype Property名稱AddressDatatype Property地址IntroductionDatatype Property簡介InstructorNumDatatype Property導(dǎo)師數(shù)目StudentNumDatatype Property學(xué)生數(shù)目PositionDatatype Property職稱SexDatatype Property性別PeriodDatatype Property時間段OutlayDatatype Property經(jīng)費HasBranchsObject Property機構(gòu)擁有的分支機構(gòu)HasDepartmentsObject Property分支機構(gòu)的部門HasInstructorsObject Property部門擁有的導(dǎo)師HasDirectionObject Property導(dǎo)師的研究方向 續(xù)表1

      詞 匯Class/Property定 義HasStudentsObject Property導(dǎo)師指導(dǎo)的學(xué)生InversezofzHasStudentsObject Property學(xué)生的指導(dǎo)導(dǎo)師HasProjectsObject Property導(dǎo)師的研究項目HasPartnerObject Property導(dǎo)師項目的合作老師

      ②建立類別、屬性和實例

      類別:

      該本體包括Organization、Branch、Department、Instructor、Student、Direction、Project等類別及其它們的子類別和父類別,本體的根節(jié)點是owl:Thing。

      屬性:

      在屬性方面可分為數(shù)據(jù)屬性(Datatype Property)和對象屬性(Object Property)。

      數(shù)據(jù)屬性:使用RDF(S)的數(shù)據(jù)類型,包括定義域(domain)、值域(range)和公理(axiom)。

      定義域:定義域限制該屬性在哪一個類別使用。

      值域:數(shù)據(jù)屬性的限制包含any、string、integer、boolean、float、symbol,可以使用xml schema datatype,在填入實例時只要符合其數(shù)據(jù)類型限制即可。

      公理:可以使用functional,如果一個屬性P被聲明為functional,那么對于每個個體,屬性最多只有1個值。

      該機構(gòu)信息本體的數(shù)據(jù)屬性如表2所示。Name使用的定義域包括Organization、Branch、Department、Instructor、Student、Direction、Project等類別,因為這些類別都會有一個特定的名字,所以Axiom是Functional的。其它幾項數(shù)據(jù)屬性也同樣具有Functional的特性。

      對象屬性:仍然包括定義域(domain)、值域(range)和公理(axiom)3個方面。

      定義域:限制該屬性在哪一個類別中使用。

      值域:對象屬性的值域是類的實例而不是具體的數(shù)值。

      公理:包含F(xiàn)unctional、InverseFunctional、Symmetric、transitive、Inverse等Axiom。

      該機構(gòu)信息本體的對象屬性如表3所示。

      HasBranch的Domain是Organization,Range是Branch類的實例,定義了Organization擁有的Branch。

      HasDepartment的Domain是Branch,Range是Department類的實例,定義了Branch擁有的Department。

      HasInstructors的Domain是Department,Range是Instructor類的實例,定義了Department擁有的Instructor。

      HasDirection的Domain是 Instructor,Range是Direction類的實例,定義了Instructor的Direction,因為中科院圖情方向的老師一般都只有1個研究方向,所以Axiom是Functional。

      HasStudents的Domain是Instructor,Range是Student類的實例,定義了Instructor擁有的Student。因為中科院圖情方向的老師一般都只有1個學(xué)生,所以Axiom是Functional。并且設(shè)定它與InversezofzHasStudents具有Inverse的關(guān)系。

      InversezofzHasStudents的Domain是Student,Range是Instructor類的實例,定義了Student的Instructor。它與HasStudents屬性具有Inverse的關(guān)系,并且HasStudents是Functional的,所以InversezofzHasStudents具有InverseFunctional屬性。

      HasProjects的Domain是Instructor,Range是Project類的實例,定義了Instructor擁有的Project。

      HasPartner的Domain是Instructor ,Range是Instructor類的實例,定義了Instructor擁有的Partner。因為對于同一個項目的導(dǎo)師而言他們是互為partner,因此Axiom是Symmetric。

      實例:

      在本體的Schema構(gòu)建完成后,Organization類、Branch類、Department類、Instructor類、Student類、Direction類、Project類的實例作為初始化的查詢條件,在本體規(guī)則基礎(chǔ)上經(jīng)過首次推理以后形成原始的OWL知識庫。

      (2)本體知識庫的持久化

      本體數(shù)據(jù)持久化有文件存儲和數(shù)據(jù)庫存儲2種方式,文件存儲是將本體庫以文件形式存儲在本地文件系統(tǒng)中,將數(shù)據(jù)從文件中讀入內(nèi)存,在內(nèi)存中對本體庫進行一系列的操作,操作完成后再將本體庫以文件形式寫回到文件中。

      以文件方式存儲本體庫輕便快捷,適合于小型的本體庫。因為它不需要過多的配置,而且便于備份、復(fù)制,還可以隨時編輯修改,而且查詢速度快。缺點在于不適合較大的本體庫,因為它每次都需要讀入內(nèi)存在做操作,因此耗用太多的內(nèi)存,如果再加入推理機將會占用大量 的內(nèi)存,而且對于模型的修改需要一次性保存全部模型,效率不高。

      而關(guān)系數(shù)據(jù)庫來持久化本體數(shù)據(jù)可以處理更大更復(fù)雜的本體模型,而且利用數(shù)據(jù)庫存儲本體模型,可以使得本體模型具有更大的靈活性和可擴展性,對于大多數(shù)本體應(yīng)用來說,數(shù)據(jù)庫方式是較好的選擇。

      因此本智能檢索系統(tǒng)采用關(guān)系數(shù)據(jù)庫來持久化本體數(shù)據(jù),Jena通過一個數(shù)據(jù)庫引擎接口實現(xiàn)了對本體模型的透明持久化,目前支持的數(shù)據(jù)庫主要包括3種:MySQL,Oracle,PostgreSQL and Microsoft SQL server。本系統(tǒng)采用MySQL作為本體數(shù)據(jù)庫。其核心代碼包括4個方面:

      ①創(chuàng)建數(shù)據(jù)庫的連接

      IDBConnection conn=new IDBConnection(MzDBzURL,MzDBzUSER,MzDBzPASSWD,MzDB);

      OntModelSpec spec=OntModelSpec.OWLzMEM;

      spec.setModelMaker(ModelFactory.createModelRDBMaker(conn));

      ②在已有數(shù)據(jù)庫連接的基礎(chǔ)上創(chuàng)建本體模型

      Model base=maker.createModel(″MyNameModel″);

      OntModel model=ModelFactory.createOntologyModel(spec,base);

      ③把本體本件轉(zhuǎn)化成三元組存儲到MySQL數(shù)據(jù)庫中

      URL url=ClassLoader.getSystemResource(″file:src-examples/data/test1.owl″);

      model.read(url.toString(),″RDF/XML-ABBREV″);

      ④從MySQL數(shù)據(jù)庫中獲取已存儲的本體數(shù)據(jù)

      Model m=

      ModelFactory.createModelRDBMaker(conn.openModel(″MyNameModel″));

      2.2.2 本體推理規(guī)則庫的建立和推理引擎的加載

      (1)建立推理規(guī)則庫[8]

      在基于規(guī)則的推理機中,規(guī)則被定義為一個Java的Rule對象,該對象由body terms(前提)的list,head terms(結(jié)論)list以及可選的名字和可選的方向來定義。每一個term或者ClauseEntry是一個三元模式(triple pattern),一個擴展的三元模式(extended triple pattern)或者一個內(nèi)嵌過程原語的調(diào)用。

      規(guī)則文件支持一些額外的宏命令:

      @prefix pre:http:∥domain/url#。

      定義一個前綴pre,前綴對規(guī)則文件來說是局部的。

      @include

      包含在一個給定文件中定義的規(guī)則。不管@include出現(xiàn)在哪里,包含的規(guī)則都將出現(xiàn)在用戶定義的規(guī)則前面。規(guī)則文件可以包含預(yù)定義的規(guī)則,例如RDFS和OWL等,這時urlToRuleFile被關(guān)鍵字RDFS,OWL,OWLMicro,OWLMini取代。

      下面是包含RDFS預(yù)定義規(guī)則的一個規(guī)則文件的完整例子:

      # Example rule file

      @prefix ins:.

      @prefix rel:.

      @include.

      [rule1:(?f ins:hasproject?a)(?u ins:hasproject?a)->(?f rel:haspartner?u)]

      這條規(guī)則是指如果導(dǎo)師f有項目a,導(dǎo)師u也有項目a,推出導(dǎo)師f和導(dǎo)師u是合作者。

      (2)加載規(guī)則推理引擎[9]

      規(guī)則文件的加載和分析是這樣進行的:

      List rules=Rule.rulesFromURL(″file:myfile.rules″);

      或者

      BufferedReader br=/*open reader*/;

      List rules=Rule.parseRules(Rule.rulesParserFromReader(br));

      或者

      String ruleSrc=/*lists of rules in lines*/

      List rules=Rule.parseRules(rulesSrc);

      3 小 結(jié)

      本文以機構(gòu)信息為例著重闡述了基于本體的智能檢索系統(tǒng)框架設(shè)計和基本功能模塊的實現(xiàn)。本體推理模塊在本體的描述邏輯上加載了可以自定義規(guī)則的泛化規(guī)則引擎,提高了推理能力,從而可以獲得更加有意義的蘊含知識。本體數(shù)據(jù)持久化的模塊采用數(shù)據(jù)存儲與本體模型存儲相分離的方案,即:本體數(shù)據(jù)庫只存儲基本的數(shù)據(jù)信息,本體Schema采用單獨的文件保存。OWL知識庫的已有事實在加載本體Schema后,經(jīng)過推理獲得新的蘊含知識添加到OWL知識庫中,從而實現(xiàn)了OWL知識庫的更新與擴充。這種方式的本體數(shù)據(jù)存儲的數(shù)據(jù)結(jié)構(gòu)設(shè)計更加簡單,本體模型也具有更好的遷移性。而對于如何做好本體的可重用性和面向特定領(lǐng)域之間的平衡,以及推理規(guī)則的優(yōu)化和大規(guī)模本體存儲的數(shù)據(jù)結(jié)構(gòu)設(shè)計是今后研究工作的重點和難點所在。

      參考文獻

      [1]鄧志鴻,唐世渭,張銘,等.Oniology研究綜述[J].北京大學(xué)學(xué)報:自然科學(xué)版,2002,38(5):730-738.

      [2]SPARQL Query Language for RDF[EB/OL].http:∥www.w3.org/TR/rdf-sparql-query,2008-05-10.

      [3]董慧,余傳明,楊寧,等.基于本體的數(shù)字圖書館檢索模型研究——體系結(jié)構(gòu)解析[J].情報學(xué)報,2006,25(3):269-275.

      [4]Zhijun Zhang.Ontology Query Languages for the Semantic Web:A Performance Evaluation.Masters Thesis,2005:5-34.

      [5]F.Baader,D.Calvanese,D.MeGuinnes,The Description Logic Handbook:Theory,Implementation and Applications,Cambridge University Press,2003.

      [6]Jena-A Semantic Web Framework for Java[EB/OL].http:∥jena.sourceforge.net,2008-03-15,2008-09-10.

      [7]袁方,王濤.基于本體的推理機研究[J].計算機工程與應(yīng)用,2006,(9):158-165.

      [8]侯冕,廖樂健.基于語義Web本體語言的推理機引擎的實現(xiàn)[J].軍民兩用技術(shù)與產(chǎn)品,2005.7:41-43.

      [9]韓亞洪,劉永革.本體的查詢與推理機制研究[J].計算機工程與應(yīng)用,2005.9:82-85.

      崇明县| 监利县| 安龙县| 瓮安县| 巴彦县| 全椒县| 垫江县| 威信县| 南郑县| 尉犁县| 石渠县| 策勒县| 台北县| 南涧| 若羌县| 广水市| 临清市| 江源县| 乌什县| 台江县| 盘锦市| 阿拉善右旗| 仪征市| 通辽市| 和田县| 德化县| 丹东市| 温泉县| 兴文县| 宜兴市| 西乌| 桐柏县| 布尔津县| 阳谷县| 六枝特区| 温州市| 宽城| 二连浩特市| 嵩明县| 苗栗县| 巴楚县|