机器学习在本体中的应用研究文献综述
生活随笔
收集整理的這篇文章主要介紹了
机器学习在本体中的应用研究文献综述
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
機器學習在本體標注中的應用研究文獻綜述<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /> ? ????本設計是基于語義搜索引擎展開研究,針對這個新興的搜索引擎概念的提出,我們搜集了大量的資料并對此進行了一定的研究。 ????先來談談搜索引擎。作為入門而選擇現在的主流搜索引擎google。google最初起源于斯坦福大學的BackRub項目,當時是由學生Lany?Page和Sergey?Brin主要負責,到了1998年,BackRub更名為google,并且走出校園成為一個公司。認識google技術,從google黑板報---數學之美系列(科學與技術)入手,由google研究員吳軍2006年4月發表的第一篇?《統計語言模型》開始,接連發表了《隱含馬爾可夫模型在語言處理中的應用》、《簡單之美:布爾代數和搜索引擎的索引》、《信息論在信息處理中的應用》《談談中文分詞》《圖論和網絡爬蟲?(Web?Crawlers)》、《賈里尼克的故事和現代語言處理》、《如何確定網頁和查詢的相關性》、《矩陣運算和文本處理中的分類問題》、《馬爾可夫鏈的擴展-貝葉斯網絡》、《布隆過濾器(Bloom?Filter)》、《談談密碼學的數學原理》、《談談香農第一定律》,從這些文章,大致了解了主流搜索引擎的一些技術。 ????此外,Google?被評價的優點不僅僅在于去除無用的(廣告)標語構成單一頁面的功能、獨自的?Cache?系統、動態制成摘要信息、為實現高速檢索而設置的分散系統(數千臺規模的Linux群集器)等,而其中最大的優點正是它檢索結果的正確性。一種能夠自動判斷網頁重要性的技術「PageRank是(網頁等級)」就是為此而設計的一種技術。 ????PageRank,有效地利用了Web所擁有的龐大鏈接構造的特性。從網頁A導向網頁B的鏈接被看作是對頁面A對頁面B的支持投票,Google根據這個投票數來判斷頁面的重要性。可是?Google?不單單只看投票數(即鏈接數),對投票的頁面也進行分析。「重要性」高的頁面所投的票的評價會更高,因為接受這個投票頁面會被理解為「重要的物品」。 ????根據這樣的分析,得到了高評價的重要頁面會被給予較高的?Page?Rank(網頁等級),在檢索結果內的名次也會提高。PageRank是Google中表示網頁重要性的綜合性指標,而且不會受到各種檢索(引擎)的影響。倒不如說,PageRank就是基于對"使用復雜的算法而得到的鏈接構造"的分析,從而得出的各網頁本身的特性。 ????當然,重要性高的頁面如果和檢索詞句沒有關聯同樣也沒有任何意義。為此?Google?使用了精練后的文本匹配技術,使得能夠檢索出重要而且正確的頁面。? ????但是,對于搜索引擎這種技術,以上的信息還是遠遠不夠的,通過閱讀《搜索引擎---原理、技術與系統》首先了解到搜索引擎原理:現代大規模高質量搜索引擎一般采用如圖?2-2?所示的稱之為三段式的工作流程,即:網頁搜集、預處理和查詢服務。 網頁搜集:分為定期搜集和增量搜集。在具體搜集過程中,如何抓取一篇篇的網頁,也可以有不同的考慮。最常見的一種是所謂“爬取”:將?Web?上的網頁集合看成是一個有向圖,搜集過程從給定起始?URL?集合?S(或者說“種子”)開始,沿著網頁中的鏈接,按照先深、先寬、或者某種別的策略遍歷,不停的從S中移除URL,下載相應的網頁,解析出網頁中的超鏈接?URL,看是否已經被訪問過,將未訪問過的那些URL加入集合S。整個過程可以形象地想象為一個蜘蛛(spider)在蜘蛛網(Web)上爬行(crawl)。后面我們會看到,真正的系統其實是多個“蜘蛛”同時在爬。這種方式的好處除了概念很漂亮,一般實現起來也不困難外,還有很重要的一條是容易通過一定的策略,使搜集到的網頁相對比較“重要”。前面提過,任何搜索引擎是不可能將Web上的網頁搜集完全的,通常都是在其他條件的限制下決定搜集過程的結束(例如磁盤滿,或者搜集時間已經太長了)。因此就有一個盡量使搜到的網頁比較重要的問題,這對于那些并不追求很大的數量覆蓋率的搜索引擎特別重要。研究表明[Najork?and?Wiener,2001],按照先寬搜索方式得到的網頁集合要比先深搜索得到的集合重要(這里當然有一個重要性的指標問題)。這種方式的一個困難是要從每一篇網頁中提取出所含的URL。由于HTML的靈活性,其中出現URL的方式各種各樣,將這個環節做得徹底不容易(例如我們現在還沒有很好的簡單辦法從JavaScript腳本中提取URL)?。同時,由于Web的“蝴蝶結”形狀[Broder,?et?al.,2000],?這種方式搜集到的網頁不大會超過所有目標網頁數量的2/3。?? ????另外一種可能的方式是在第一次全面網頁搜集后,系統維護相應的?URL?集合S,往后的搜集直接基于這個集合。每搜到一個網頁,如果它發生變化并含有新的?URL,則將它們對應的網頁也抓回來,并將這些新?URL?也放到集合?S?中;如果?S?中某個?url?對應的網頁不存在了,則將它從?S?中刪除。這種方式也可以看成是一種極端的先寬搜索,即第一層是一個很大的集合,往下最多只延伸一層。? ????還有一種方法是讓網站擁有者主動向搜索引擎提交它們的網址(為了宣傳自己,通常會有這種積極性),系統在一定時間內(2天到數月不等)定向向那些網站派出“蜘蛛”程序,掃描該網站的所有網頁并將有關信息存入數據庫中。大型商業搜索引擎一般都提供這種功能。? 預處理主要包括四個方面,關鍵詞的提取,“鏡像網頁”(網頁的內容完全相同,未加任何修改)或“轉載網頁”?(near-replicas,主題內容基本相同但可能有一些額外的編輯信息等,轉載網頁也稱為“近似鏡像網頁”?)的消除,鏈接分析和網頁重要程度的計算。 查詢服務如上述,從一個原始網頁集合S開始,預處理過程得到的是對S的一個子集的元素的某種內部表示,這種表示構成了查詢服務的直接基礎。對每個元素來說,這種表示至少包含如下幾個方面:原始網頁文檔、URL和標題、編號、所含的重要關鍵詞的集合(以及它們在文檔中出現的位置信息)、其他一些指標(例如重要程度,分類代碼等)而系統關鍵詞總體的集合和文檔的編號一起構成了一個倒排文件結構,使得一旦得到一個關鍵詞輸入,系統能迅速給出相關文檔編號的集合輸出。 ????由此,可以進一步探索了搜索引擎的體系結構,如圖2-3 ????1983年3月,Web的創始人Tim?Berners-Lee提出分布式超文本系統圖,其中所包含的鏈接都是蘊含語義的,該圖最早提出了Web信息包含語義的思想。1994年5月第一屆國際WWW會議Tim?Berners-Lee在會議報告中特別強調了語義的重要性。這為搜索引擎的發展又注入了一種新的思想---語義網、語義搜索引擎。 ????先來看一個語義網層次模型(也稱為協議棧),如圖 ????從圖中可以看出語義網發展的層次結構。第一層是Unicode(統一編碼)和URI(Uniform?Resource?Identifier,統一資源定位器),它是整個語義網的基礎,Unicode處理資源的編碼,URI負責資源的標識。第二層是XML,用于表示數據的內容和結構。第三層是RDF(Resource?Description?Framework,資源描述框架),用于描述資源及其相互關系。第四層RDF-S,為RDF提供了類型定義機制,確定了RDF描述的資源所使用的領域詞匯。第五層是本體(ontology)和規則(Rule),本體用于描述領域概念以及概念之間的聯系;?規則用于描述領域知識中的前提和結論;?本體和規則構成領域知識層。覆蓋第四層和第五層的查詢語句SPARQL?提供了對OWL(Web?Ontology?Language,Web本體語言)和RIF(Rule?Interchange?Format,規則交換格式)文件的查詢功能。第六層是統一的邏輯(Unifying?Logic),在下面五層的基礎上進行邏輯推理操作。第七層是驗證(Proof),根據邏輯陳述進行驗證以得出結論。第八層是信任(Trust),在用戶間建立信任關系。第九層是應用層,是構建在語義Web之上的各種應用。概括地說,下面兩層是語義Web的基礎設施,中間從元數據發展到本體描述語言及其統一的邏輯是語義網的關鍵研究所在,上面的證明和信任及各層次貫穿的數字簽名技術是擴充,是對語義網成功應用的要求與展望。 ????關于語義網的更多詳細可以參見[url]http://en.wikipedia.org/wiki/Semantic_Web[/url].?對語義網看好的公司很多,如IBM的主頁中有個專為語義網建頁面---"web的將來是語義的",此外,還有很多公司開始在Tim?Berners-Lee的這個構想上建立語義搜索引擎,力圖改進現在搜索引擎技術及方式,如下圖是現在正在測試和設計中的語義搜索引擎: ?? ? ????其中以twine最為引人注目,但所有這些標明是語義搜索引擎的搜索引擎現在都還在測試階段,當然,可以通過了解正在作測試工作的twine的公司網站[url]http://www.radarnetworks.com/[/url]?及[url]http://www.twine.com/[/url]了解語義搜索引擎的使用及不同,以及能為今后的網絡搜索帶來的不同體驗。 ????因此,還在不能肯定Tim?Berners-Lee提出的語義網、語義搜索引擎已經實現。在由上面給出的語義網層次模型,去進一步了解語義網及語義網實現的真正意圖。 ???《頂級專家Frank?van?Harmelen揭秘語義網》所謂“語義”就是文本的含義。語義需要理解文本的意思和結構,而與顯示方式無關。簡單地說,語義網(Semantic?Web)是一種能理解人類語言的智能網絡,它不但能夠理解人類的語言,而且還可以使人與電腦之間的交流變得像人與人之間交流一樣輕松。? ????雖然語義網和人工智能(AI)所用的工具有一些相同(比如本體、推理、邏輯等)?,但它們的目標是完全不同的。實際上,語義網的目標是更為適度的:語義網并不是要構建一個通用的、綜合性的、基于Internet的智能系統,而是要實現Web上數據集(datasets)間的互操作(無論數據是結構化、非結構化還是半結構化的)——這一目標更具實踐性,更為適度。?? ????語義網技術主要是基礎設施技術(Infrastructure?Technology)而基礎設施技術是存在于背后、并非用戶直接可見的。你所能感受到的,只是諸如:網站變得更人性化了(因為背后存在語義網技術,你的個人興趣概要(Pro?le)可以與網站的數據源進行互操作)?、搜索引擎對結果的聚類(Clusterinof?Results)做得更好了(因為搜索引擎在背后采用具有含義的本體來對搜索結果加以分類)以及桌面搜索工具能夠把文檔作者的姓名與你的地址簿里的Email地址關聯起來了(因為這些數據格式在背后通過暴露其語義來實現互操作)等,但這些應用不會在其界面上注明“語義網技術”。語義網技術就像是發動機汽缸壁上的Nikasil涂層:雖然很少有司機知道它,但司機們能夠察覺到燃料消耗的減少、最高時速的提升以及引擎壽命的延長等等。語義網技術就是目前正在開發著的、下一代人類友好的計算機應用的Nikasil涂層。 ????本體技術是語義網實現的基礎,在《元素據與知識本體》中對元數據和知識本體(ontology)進行了解釋,其中所說的知識本體即本體。本體(ontology)被賦予了太多的含義,直觀地,我們可以把本體看成是“領域知識規范的抽象和描述,表達、共享、重用知識的方法。”? ????如果把每一個知識領域抽象成一套概念體系,再具體化為一個詞表來表示,包括每一個詞的明確定義、詞與詞之間的關系以及該領域的一些公理性知識的陳述等,并且能夠在這些知識領域的專家之間達成某種共識,即能夠共享這套詞表,所有這些就構成了該知識領域的一個“本體”。最后,為了便于計算機理解和處理,需要用一定的編碼語言(例如RDF/OWL)明確表達上述體系(詞表、此表關系、關系約束、公理、推理規則等)。在這個意義上,知識本體已經成為一種提取,理解和處理領域知識的工具,可以被應用于任何具體的學科和專業領域。 ????OWL,這種本體描述語言,可以用來描述Web文檔和應用中內在的類和關系。OWL是語義網活動的一個組成部分。這項工作的目的是通過對增加關于那些描述或提供網絡內容的資源的信息,從而使網絡資源能夠更容易地被那些自動進程訪問。由于語義網絡固有的分布性,OWL必須允許信息能夠從分布的信息源收集起來。其中,允許本體間相互聯系,包括明確導入其他本體的信息,能夠部分實現這樣的功能。 ????另外,OWL提出了一個開放世界的假設。也就是說,對資源的描述并不局限于在一個簡單的文件或范圍內。類C1本來是由本體O1定義出來的,然而,它也可以是由其他的本體擴展出來的。對C1進行這樣的假設的結果是單調的。新的信息不能否定之前的信息。新的信息可以是和舊的信息矛盾的,但是事實和推導只能被增加而不能被刪減。 ????當設計一個本體的時候,設計者必須考慮到這種矛盾的可能性。一種期望是,工具的支持將幫助偵測到這樣的情況。 ????為了能寫出一個能被唯一翻譯的而且能被軟件(代理)使用的本體,我們要求OWL有一個語法和正規的語義。OWL是RDF的一個詞匯擴充[RDF語義([url]http://www.w3.org/TR/rdf-mt/[/url])]。在OWL網絡本體語言語義和簡明語法中,有OWL的語義定義。用于三個方面:1.通過定義類以及類的屬性來形式化某個領域;? 2.定義個體并說明它們之間的屬性;3.在OWL語言的形式化語義允許的層次上,對類和個體進行推理。 ????要進一步了解owl,《元數據與知識本體》給出了新的東西。本體有多種形式,元數據方案本身可以看成是本體的一種形式,或者一類簡單的本體。元數據方案的制定是對一個應用系統相關的實體進行分析并提取屬性的過程,如果在此基礎上繼續對所涉及的各種實體類型的關聯關系進行詳細分析,最終就能導出本體模型,元數據方案的制定過程就是一種本體的建立過程。? ????除此之外,許多敘詞表和分類表等本身就是領域知識的概念體系,包含豐富的關系,雖然許多關系可能不是非常嚴密,但它們也都可以看成是一類本體。上述兩種本體的初級形式經過規范化和形式化之后,都可能成為計算機可以操作的本體工具。? ????目前支持本體開發的工具多大數十種,功能各不相同,對于本體語言的支持能力、表達能力、邏輯支持能力以及可擴展性、靈活性、易用性等都相差很大,其中較著名的有Protégé?、OntoEdit、OilEd、Ontolingua等。Protégé是目前較活躍的本體工具,是可以免費獲得開放軟件,目前的版本是Protégé?4.0?alpha。他用Java語言開發,通過各類插件支持多種本體格式,甚至已經能夠支持剛剛發布的,也是目前最有前途的W3C的OWL格式。 ????Protégé?是由斯坦福大學開發的本體編輯和知識獲取軟件。因為是軟件,要使用才能進一步明白,可參考Protégé教程。利用Protégé可以建立本體,現在來看看怎么建立本體。 ????現在建立本體的普遍思路:先建立好領域本體,然后利用該本體中的類對文本進行標注,然后再對文本進行標注,然后在對標注后的文本利用本體進行相應的處理。 ????但是,針對本體進行語義標注,首先需要明確要標注的對象。從本體的角度來說,就是明確需要將本體中的哪些成份和現實世界建立聯系。者同時也是標注的粒度問題。本體標注的粒度由粗到細可以分為標注概念、標注概念的屬性、標注關系和標注實例。用本體進行標注,指出資源在語義層面上的特征圖書館里給書分類可以視為語義標注,它使用本體(分類法)為資源(書)賦予語義特征(分類號)為博客文章添標簽也可以視為語義標注,它使用本體(已有標簽集合)為資源(文章)賦予語義特征(標簽)語義標注的結果是語義元數據,如一本書的分類號是什么,一篇文章的標簽是什么都是語義元數據,可以用于檢索owl是本體表示語言。 ????語義標注就是在RDF和OWL之間為推理建立了聯系。標注通常是為某一資源?(如一段話或者一個詞)賦予一個標識,如在書中將某個概念用紅筆畫出來;語義標注是基于某個本體對數據源進行標注,這種標注不是劃線或者劃個圈,而是給它一個標記,如<person>某某某</person>。 ????2007年8月28日,WSDL和XML?Schema的語義標注(SAWSDL)達到推薦狀態,成為“W3C標準”。 ????本體標注了解到了這里,Tom.M.Mitchell通過分析Tesanro1992.1995設計的世界上最好的西洋雙陸棋程序TD-GAMMON,使人們對機器學習有了一個全新的認識。西洋雙陸棋程序TD-GAMMON,它是通過一百萬次以上與自己對弈來學習起策略的,現在他的水平能與人類的世界冠軍相比。此程序使用人工神經元網絡表示學到的評估函數,考慮對棋局的完整描述,而不是棋盤的幾個參數。所以接下來要看看機器學習。 ???“機器學習”一般被定義為一個系統自我改進的過程,但是僅僅從這個定義來理解和實現機器學習是困難的,從最初的給予神經元模型以及函數逼近論的方法研究,到以符號演算為基礎的規則學習和決策樹學習的產生,和之后的認知心理學中歸納、理解、類比等概念的引入,至最新的計算學習理論和統計學的興起(當然還包括基于馬爾可夫過程的增強學習),機器學習一直都在相關科學的實踐應用中起著主導作用。 ????機器學習從很多學科吸收了成果和概念,包括統計學、人工智能、哲學、信息論、生物學、認知科學、計算復雜性和控制論等。 ????其中算法在機器學習中的應用極為重要。先來看看算法在機器學習中的實際應用:1.可以只簡單地存儲訓練樣例,然后對尋找保存的“最接近的”情形來匹配新的情況(最臨近算法);2.可以產生大量候選的西洋跳棋程序,并讓他們相互比賽,保留最成功的程序并進一步用模擬進化的方式培育或變異它們(遺傳算法);3.分析或向自己解釋比賽中碰到的某一次成敗的原因(基于解釋的學習)。 ????對于算法的了解,還參看了一些基礎的書籍,以輔助算法的學習及理解。《數據結構》、《標準C語言基礎教程》、《Java?大學基礎教程》、《計算機程序的構造和解釋》等。 ????此外為了輔助對機器學習及人工智能的理解選擇了《機器學習-實現人工智能的途徑》、《人工智能-理論與實踐》、《智能技術》等書籍。 ????此外關于建立好的本體的存儲有新的技術可以借鑒BigTable.BigTable?是Google?內部開發的一個用來處理大數據量的系統。這種系統適合處理半結構化的數據比如?RSS?數據源。根據Google的一貫做法,內部開發的BigTable是為跑在廉價的PC機上設計的,所以對于它的實用價值和普及性是很適合用于這個設計中。BigTable?讓Google在提供新服務時的運行成本降低,最大限度地利用了計算能力。BigTable?是建立在?GFS?,Scheduler?,Lock?Service?和?MapReduce?之上的。每個Table都是一個多維的稀疏圖?sparse?map。Table?由行和列組成,并且每個存儲單元?cell?都有一個時間戳。在不同的時間對同一個存儲單元cell有多份拷貝,這樣就可以記錄數據的變動情況。在他的例子中,行是URLs?,列可以定義一個名字,比如:contents。Contents?字段就可以存儲文件的數據。或者列名是:”language”,可以存儲一個“EN”的語言代碼字符串。為了管理巨大的Table,把Table根據行分割,這些分割后的數據統稱為:Tablets。每個Tablets大概有?100-200?MB,每個機器存儲100個左右的?Tablets。底層的架構是:GFS。由于GFS是一種分布式的文件系統,采用Tablets的機制后,可以獲得很好的負載均衡。比如:可以把經常響應的表移動到其他空閑機器上,然后快速重建。Tablets在系統中的存儲方式是不可修改的?immutable?的SSTables,一臺機器一個日志文件。當系統的內存滿后,系統會壓縮一些Tablets。 ?
轉載于:https://blog.51cto.com/designing/77706
總結
以上是生活随笔為你收集整理的机器学习在本体中的应用研究文献综述的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 关闭windows垃圾服务
- 下一篇: Total commander 之F3