知識圖譜資料庫
⑴ 知識圖譜需要多少數據
需要根據你的應用場景和數據情況來決定。
如果數據量比較小,且圖譜節點之間關系較少且不太需要多跳查詢,其實mysql就能搞定問題。
如果數據量比較小,且會進行多跳查詢,比如「姚明老婆的女兒叫什麼?」,這種用圖數據neo4j比較合適(它的開源版本是單機版,如果要支持分布式需要用收費版)
如果數據量比較大,且會進行多跳查詢,可以考慮用titan,我們是用公司自己研發的分布式圖資料庫。
RDF存儲的那種jena系統,沒有見到有工業界同事使用,不做評價。
PS:有時候單一的存儲無法滿足所有需求,可能需要幾個系統搭配使用。比如我們使用圖資料庫來查多跳查詢,使用elasticsearch來進行模糊搜索和相關度排序。
⑵ 知識圖譜可以用python構建嗎
知識圖譜可以用python構建嗎?
答案當然是可以的!!!
那麼如何使用python構建
什麼是知識圖譜
從Google搜索,到聊天機器人、金融風控、物聯網場景、智能醫療、自適應教育、推薦系統,無一不跟知識圖譜相關。它在技術領域的熱度也在逐年上升。
互聯網的終極形態是萬物的互聯,而搜索的終極目標是對萬物的直接搜索。傳統搜索引擎依靠網頁之間的超鏈接實現網頁的搜索,而語義搜索是直接對事物進行搜索,如人物、機構、地點等。這些事物可能來自文本、圖片、視頻、音頻、IoT設備等各種信息資源。而知識圖譜和語義技術提供了關於這些事物的分類、屬性和關系的描述,使得搜索引擎可以直接對事物進行索引和搜索。
知識圖譜是由Google公司在2012年提出來的一個新的概念。從學術的角度,我們可以對知識圖譜給一個這樣的定義:「知識圖譜本質上是語義網路(Semantic Network)的知識庫」。但這有點抽象,所以換個角度,從實際應用的角度出發其實可以簡單地把知識圖譜理解成多關系圖(Multi-relational Graph)。
那什麼叫多關系圖呢? 學過數據結構的都應該知道什麼是圖(Graph)。圖是由節點(Vertex)和邊(Edge)來構成,但這些圖通常只包含一種類型的節點和邊。但相反,多關系圖一般包含多種類型的節點和多種類型的邊。
本項目利用pandas將excel中數據抽取,以三元組形式載入到neo4j資料庫中構建相關知識圖譜。
運行環境
基於Neo4j能夠很容易構建知識圖譜,除了用neo4j自帶的cypher,也支持Python包py2neo創建節點和關系從而構建知識圖譜。本項目是基於發票信息,將發票數據中結構化數據抽象成三元組,分別創建節點和關系從而構建成知識圖譜。
具體包依賴可以參考文件requirements.txt
neo4j-driver==1.6.2numpy==1.15.3pandas==0.23.4parso==0.3.1pickleshare==0.7.5pluggy==0.8.0prompt-toolkit==1.0.15py==1.7.0py2neo==3Pygments==2.2.0pytest==3.9.3python-dateutil==2.7.5wcwidth==0.1.7wincertstore==0.2xlrd==1.1.0
將所需依賴安裝到pyton中:pip install -r requirements.txt
Pandas抽取excel數據
python中pandas非常適用於數據分析與處理,可以將excel文件轉換成dataframe格式,這種格式類似於Spark中的Dataframe結構,可以用類sql的形式對數據進行處理。
Excel數據結構如下
通過函數data_extraction和函數relation_extrantion分別抽取構建知識圖譜所需要的節點數據以及聯系數據,構建三元組。
數據提取主要採用pandas將excel數據轉換成dataframe類型
invoice_neo4j.py
建立知識圖譜所需節點和關系數據
DataToNeo4jClass.py
具體代碼請移步到GitHub上下載
詳細內容請到github下載,項目名neo4j-python-pandas-py2neo-v3
更多Python知識,請關註:Python自學網!!
⑶ 企業知識圖譜可以解決哪些問題
企業知識圖譜是從技術層面幫助企業解決各類數據的處理問題,並對業務需求進行精準計算,企業知識圖譜可以解決的問題主要有以下三點:
1、對非標准數據的處理存在較高的技術難度:傳統的產品和方案聚焦於對企業內部單一系統的數據進行處理,但外部數據的處理缺乏統一的標准,影響企業工作效率。當需要處理的數據規模較大、較復雜時,就需要利用人工智慧技術和語義工程技術搭建企業知識圖譜加以解決。
2、對非結構化數據的處理存在較高的技術難度:傳統的產品和方案通常用來處理結構化數據,也就是資料庫內已存儲的,計算好的數據。但現實中存在大量的非結構化數據,如語音、PDF等。要先針對業務場景的需求將這些數據結構化,再進行處理。這種針對業務需求將非結構化文本結構化的工作,只有企業知識圖譜可以勝任。
3、傳統的搜索技術無法針對業務需求進行精準計算:在對非標准和非結構化數據進行處理時,傳統的產品和方案通常採取搜索的方式來進行處理,將企業對大量數據進行分析計算的需求,轉化為使用若干關鍵詞進行近似查找。但這種方式無法滿足在生產環節中對結果的精度和召回率要求,知識圖譜技術可以完美解決這一問題。
⑷ 知識圖譜的商業價值有哪些
知識圖譜是用節點和關系所組成的圖譜,為真實世界的各個場景直觀地建模,運用「圖」這種基礎性、通用性的「語言」,「高保真」地表達這個多姿多彩世界的各種關系,並且非常直觀、自然、直接和高效,不需要中間過程的轉換和處理。
目前知識圖譜產品的客戶行業,分類主要集中在:社交網路、人力資源與招聘、金融、保險、零售、廣告、物流、通信、IT、製造業、傳媒、醫療、電子商務和物流等領域。
相比傳統數據存儲和計算方式,知識圖譜的優勢顯現在以下幾個方面:
(1)關系的表達能力強
傳統資料庫通常通過表格、欄位等方式進行讀取,而關系的層級及表達方式多種多樣,且基於圖論和概率圖模型,可以處理復雜多樣的關聯分析,滿足企業各種角色關系的分析和管理需要。
(2)像人類思考一樣去做分析
基於知識圖譜的交互探索式分析,可以模擬人的思考過程去發現、求證、推理,業務人員自己就可以完成全部過程,不需要專業人員的協助。
(3)知識學習
利用互動式機器學習技術,支持根據推理、糾錯、標注等交互動作的學習功能,不斷沉澱知識邏輯和模型,提高系統智能性,將知識沉澱在企業內部,降低對經驗的依賴。
(4)高速反饋
圖式的數據存儲方式,相比傳統存儲方式,數據調取速度更快,圖庫可計算超過百萬潛在的實體的屬性分布,可實現秒級返回結果,真正實現人機互動的實時響應,讓用戶可以做到即時決策。
⑸ 圖資料庫的應用場景
圖資料庫技術的應用場景比較多,包括但不限於以下幾種場景:
1. 欺詐檢測
無論面對詐騙集團、勾結團伙還是高知罪犯,圖資料庫技術可以實時揭露各種重要詐騙模式。所以越來越多的公司使用圖數據技術來解決各種關聯數據問題,包括欺詐檢測。
2. 實時推薦引擎
圖技術能夠根據用戶購買、交互和評論有效跟蹤這些關系,以提供對客戶需求和產品趨勢最有意義的深刻見解。Ebay等購物網站就在使用圖技術給用戶推薦產品。
3.知識圖譜
將圖技術用於知識圖譜能夠精確搜索查詢,消除搜索查詢的歧義,並且能夠適應不斷增長的數據資產規模。
⑹ 知識圖譜一般存儲在什麼資料庫中
專家推薦用圖資料庫。
⑺ 知識圖譜是什麼有哪些應用價值
知識圖譜 (Knowledge Graph) 是當前的研究熱點。自從2012年Google推出自己第一版知識圖譜以來,它在學術界和工業界掀起了一股熱潮。各大互聯網企業在之後的短短一年內紛紛推出了自己的知識圖譜產品以作為回應。比如在國內,互聯網巨頭網路和搜狗分別推出」知心「和」知立方」來改進其搜索質量。那麼與這些傳統的互聯網公司相比,對處於當今風口浪尖上的行業 - 互聯網金融, 知識圖譜可以有哪方面的應用呢?
目錄
1. 什麼是知識圖譜?
2. 知識圖譜的表示
3. 知識圖譜的存儲
4. 應用
5. 挑戰
6. 結語
1. 什麼是知識圖譜?
知識圖譜本質上是語義網路,是一種基於圖的數據結構,由節點(Point)和邊(Edge)組成。在知識圖譜里,每個節點表示現實世界中存在的「實體」,每條邊為實體與實體之間的「關系」。知識圖譜是關系的最有效的表示方式。通俗地講,知識圖譜就是把所有不同種類的信息(Heterogeneous Information)連接在一起而得到的一個關系網路。知識圖譜提供了從「關系」的角度去分析問題的能力。
知識推理
推理能力是人類智能的重要特徵,使得我們可以從已有的知識中發現隱含的知識, 一般的推理往往需要一些規則的支持【3】。例如「朋友」的「朋友」,可以推理出「朋友」關系,「父親」的「父親」可以推理出「祖父」的關系。再比如張三的朋友很多也是李四的朋友,那我們可以推測張三和李四也很有可能是朋友關系。當然,這里會涉及到概率的問題。當信息量特別多的時候,怎麼把這些信息(side information)有效地與推理演算法結合在一起才是最關鍵的。常用的推理演算法包括基於邏輯(Logic) 的推理和基於分布式表示方法(Distributed Representation)的推理。隨著深度學習在人工智慧領域的地位變得越來越重要,基於分布式表示方法的推理也成為目前研究的熱點。如果有興趣可以參考一下這方面目前的工作進展【4,5,6,7】。
大數據、小樣本、構建有效的生態閉環是關鍵
雖然現在能獲取的數據量非常龐大,我們仍然面臨著小樣本問題,也就是樣本數量少。假設我們需要搭建一個基於機器學習的反欺詐評分系統,我們首先需要一些欺詐樣本。但實際上,我們能拿到的欺詐樣本數量不多,即便有幾百萬個貸款申請,最後被我們標記為欺詐的樣本很可能也就幾萬個而已。這對機器學習的建模提出了更高的挑戰。每一個欺詐樣本我們都是以很高昂的「代價」得到的。隨著時間的推移,我們必然會收集到更多的樣本,但樣本的增長空間還是有局限的。這有區別於傳統的機器學習系統,比如圖像識別,不難拿到好幾十萬甚至幾百萬的樣本。
在這種小樣本條件下,構建有效的生態閉環尤其的重要。所謂的生態閉環,指的是構建有效的自反饋系統使其能夠實時地反饋給我們的模型,並使得模型不斷地自優化從而提升准確率。為了搭建這種自學習系統,我們不僅要完善已有的數據流系統,而且要深入到各個業務線,並對相應的流程進行優化。這也是整個反欺詐環節必要的過程,我們要知道整個過程都充滿著博弈。所以我們需要不斷地通過反饋信號來調整我們的策略。
6. 結語
知識圖譜在學術界和工業界受到越來越多的關注。除了本文中所提到的應用,知識圖譜還可以應用在許可權管理,人力資源管理等不同的領域。在後續的文章中會詳細地講到這方面的應用。
參考文獻
【1】De Abreu, D., Flores, A., Palma, G., Pestana, V., Pinero, J., Queipo, J., ... & Vidal, M. E. (2013). Choosing Between Graph Databases and RDF Engines for Consuming and Mining Linked Data. In COLD.
【2】User Behavior Tutorial
【3】劉知遠 知識圖譜——機器大腦中的知識庫 第二章 知識圖譜——機器大腦中的知識庫
【4】Nickel, M., Murphy, K., Tresp, V., & Gabrilovich, E. A Review of Relational Machine Learning for Knowledge Graphs.
【5】Socher, R., Chen, D., Manning, C. D., & Ng, A. (2013). Reasoning with neural tensor networks for knowledge base completion. In Advances in Neural Information Processing Systems (pp. 926-934).
【6】Bordes, A., Usunier, N., Garcia-Duran, A., Weston, J., & Yakhnenko, O. (2013). Translating embeddings for modeling multi-relational data. In Advances in Neural Information Processing Systems (pp. 2787-2795).
【7】Jenatton, R., Roux, N. L., Bordes, A., & Obozinski, G. R. (2012). A latent factor model for highly multi-relational data. In Advances in Neural Information Processing Systems(pp. 3167-3175).
⑻ 學習數據挖掘知識圖譜需要哪些知識基礎
看看演算法、語義相關的
比如分類、聚類、相似度等演算法
⑼ 知識圖譜有什麼用處
「知識圖譜的應用涉及到眾多行業,尤其是知識密集型行業,目前關注度比較高的領域:醫療、金融、法律、電商、智能家電等。」基於信息、知識和智能形成的閉環,從信息中獲取知識,基於知識開發智能應用,智能應用產生新的信息,從新的信息中再獲取新的知識,不斷迭代,就可以不斷產生更加豐富的知識圖譜,更加智能的應用。
如果說波士頓動力的翻跟頭是在幫機器人鍛煉筋骨,那麼知識圖譜的「繪制」則是在試圖「創造」一個能運轉的機器人大腦。
「目前,還不能做到讓機器理解人的語言。」中國科學院軟體所研究員、中國中文信息學會副理事長孫樂說。無論是能逗你一樂的Siri,還是會做詩的小冰,亦或是會「懸絲診脈」的沃森,它們並不真正明白自己在做什麼、為什麼這么做。
讓機器學會思考,要靠「譜」。這個「譜」被稱為知識圖譜,意在將人類世界中產生的知識,構建在機器世界中,進而形成能夠支撐類腦推理的知識庫。
為了在國內構建一個關於知識圖譜的全新產學合作模式,知識圖譜研討會日前召開,來自高校院所的研究人員與產業團隊共商打造全球化的知識圖譜體系,建立世界領先的人工智慧基礎設施的開拓性工作。
技術原理:把文本轉化成知識
「對於『姚明是上海人』這樣一個句子,存儲在機器里只是一串字元。而這串字元在人腦中卻是『活』起來的。」孫樂舉例說。比如說到「姚明」,人會想到他是前美職籃球員、「小巨人」、中鋒等,而「上海」會讓人想到東方明珠、繁華都市等含義。但對於機器來說,僅僅說「姚明是上海人」,它不能和人類一樣明白其背後的含義。機器理解文本,首先就需要了解背景知識。
那如何將文本轉化成知識呢?
「藉助信息抽取技術,人們可以從文本中抽取知識,這也正是知識圖譜構建的核心技術。」孫樂說,目前比較流行的是使用「三元組」的存儲方式。三元組由兩個點、一條邊構成,點代表實體或者概念,邊代表實體與概念之間的各種語義關系。一個點可以延伸出多個邊,構成很多關系。例如姚明這個點,可以和上海構成出生地的關系,可以和美職籃構成效力關系,還可以和2.26米構成身高關系。
「如果這些關系足夠完善,機器就具備了理解語言的基礎。」孫樂說。那麼如何讓機器擁有這樣的「理解力」呢?
「上世紀六十年代,人工智慧先驅麻省理工學院的馬文·明斯基在一個問答系統項目SIR中,使用了實體間語義關系來表示問句和答案的語義,劍橋語言研究部門的瑪格麗特·瑪斯特曼在1961年使用Semantic Network來建模世界知識,這些都可被看作是知識圖譜的前身。」孫樂說。
隨後的Wordnet、中國的知網(Hownet)也進行了人工構建知識庫的工作。
「這里包括主觀知識,比如社交網站上人們對某個產品的態度是喜歡還是不喜歡;場景知識,比如在某個特定場景中應該怎麼做;語言知識,例如各種語言語法;常識知識,例如水、貓、狗,教人認的時候可以直接指著教,卻很難讓計算機明白。」孫樂解釋,從這些初步的分類中就能感受到知識的海量,更別說那些高層次的科學知識了。
構建方式:從手工勞動到自動抽取
「2010年之後,維基網路開始嘗試『眾包』的方式,每個人都能夠貢獻知識。」孫樂說,這讓知識圖譜的積累速度大大增加,後續網路、互動網路等也採取了類似的知識搜集方式,發動公眾使得「積沙」這個環節的時間大大縮短、效率大大增加,無數的知識從四面八方趕來,迅速集聚,只待「成塔」。
面對如此大量的數據,或者說「文本」,知識圖譜的構建工作自然不能再手工勞動,「讓機器自動抽取結構化的知識,自動生成『三元組』。」孫樂說,學術界和產業界開發出了不同的構架、體系,能夠自動或半自動地從文本中生成機器可識別的知識。
孫樂的演示課件中,有一張生動的圖畫,一大摞文件紙吃進去,電腦馬上轉化為「知識」,但事實遠沒有那麼簡單。自動抽取結構化數據在不同行業還沒有統一的方案。在「網路知識圖譜」的介紹中這樣寫道:對提交至知識圖譜的數據轉換為遵循Schema的實體對象,並進行統一的數據清洗、對齊、融合、關聯等知識計算,完成圖譜的構建。「但是大家發現,基於維基網路,結構化半結構化數據挖掘出來的知識圖譜還是不夠,因此目前所有的工作都集中在研究如何從海量文本中抽取知識。」孫樂說,例如谷歌的Knowledge Vault,以及美國國家標准與技術研究院主辦的TAC-KBP評測,也都在推進從文本中抽取知識的技術。
在權威的「知識庫自動構建國際評測」中,從文本中抽取知識被分解為實體發現、關系抽取、事件抽取、情感抽取等4部分。在美國NIST組織的TAC-KBP中文評測中,中科院軟體所—搜狗聯合團隊獲得綜合性能指標第3名,事件抽取單項指標第1名的好成績。
「我國在這一領域可以和國際水平比肩。」孫樂介紹,中科院軟體所提出了基於Co-Bootstrapping的實體獲取演算法,基於多源知識監督的關系抽取演算法等,大幅度降低了文本知識抽取工具構建模型的成本,並提升了性能。
終極目標:將人類知識全部結構化
《聖經·舊約》記載,人類聯合起來興建希望能通往天堂的高塔——「巴別塔」,而今,創造AI的人類正在建造這樣一座「巴別塔」,幫助人工智慧企及人類智能。
自動的做法讓知識量開始形成規模,達到了能夠支持實際應用的量級。「但是這種轉化,還遠遠未達到人類的知識水平。」孫樂說,何況人類的知識一直在增加、更新,一直在動態變化,理解也應該與時俱進地體現在機器「腦」中。
「因此知識圖譜不會是一個靜止的狀態,而是要形成一個循環,這也是美國卡耐基梅隆大學等地方提出來的Never Ending Learning(學無止境)的概念。」孫樂說。
資料顯示,目前谷歌知識圖譜中記載了超過35億事實;Freebase中記載了4000多萬實體,上萬個屬性關系,24億多個事實;網路記錄詞條數1000萬個,網路搜索中應用了聯想搜索功能。
「在醫學領域、人物關系等特定領域,也有專門的知識圖譜。」孫樂介紹,Kinships描述人物之間的親屬關系,104個實體,26種關系,10800個事實;UMLS在醫學領域描述了醫學概念之間的聯系,135個實體,49種關系,6800個事實。
「這是一幅充滿美好前景的宏偉藍圖。」孫樂說,知識圖譜的最終目標是將人類的知識全部形式化、結構化,並用於構建基於知識的自然語言理解系統。
盡管令業內滿意的「真正理解語言的系統」還遠未出現,目前的「巴別塔」還只是在基礎層面,但相關的應用已經顯示出廣闊的前景。例如,在網路輸入「冷凍電鏡」,右豎條的關聯將出現「施一公」,輸入「撒幣」,將直接在搜索項中出現「王思聰」等相關項。其中蘊含著機器對人類意圖的理解。