1. 目前提供開放API的中文知識圖譜有哪些
中文知識圖譜(Chinese Knowledge Graph)[1] ,最早起源於Google Knowledge Graph。知識圖譜本質上是一種語義網路。其結點代表實體(entity)或者概念(concept),邊代表實體/概念之間的各種語義關系。中文知識圖譜的直接推動力來自於一系列實際應用,包括語義搜索、機器問答、情報檢索、電子閱讀、在線學習等等。網路[2] 、搜狗以及復旦大學GDM實驗室[1] 相繼推出了其中文知識圖譜。
●允許用戶搜索搜索引擎知道的所有事物,人物或者地方,包括地標,名人,城市, 球隊,建築,地理特徵,電影,天體,藝術作品等等,而且能夠顯示關於你的查詢的實時信息。它是邁向下一代搜索業務關鍵的第一步,使得搜索智能化,根據用戶的意圖給出用戶想要的結果。
●知識圖譜本質上是一種語義網路。其結點代表實體(entity)或者概念(concept),邊代表實體/概念之間的各種語義關系。
●知識圖譜相對於傳統的本體和語義網路而言,實體覆蓋率更高,語義關系也更加復雜而全面。
2. 零基礎學python應該學習哪些入門知識
關於零基礎怎麼樣能快速學好Python的問題,網路提問和解答的都很多,你可以網路下看看。我覺得從個人自學的角度出發,應從以下幾個方面來理解:
1 為什麼選擇學python?
據統計零基礎或非專業的人士學python的比較多,據HackerRank開發者調查報告2018年5月顯示(見圖),Python排名第一,成為最受歡迎編程語言。Python以優雅、簡潔著稱,入行門檻低,可以從事linux運維、Python Web網站工程師、Python自動化測試、數據分析、人工智慧等職位,薪資待遇呈上漲趨勢。
2 入門python需要那些准備?
2.1 心態准備。編程是一門技術,也可說是一門手藝。如同書法、繪畫、樂器、雕刻等,技藝純熟的背後肯定付出了長時間的反復練習。不要相信幾周速成,也不能急於求成。編程的世界浩瀚無邊,所以請保持一顆敬畏的心態去學習,認真對待寫下的每一行代碼,甚至每一個字元。收拾好自己的心態,向著編程的世界出發。第一步至關重要,關繫到初學者從入門到精通還是從入門到放棄。選一條合適的入門道路,並堅持走下去。
2.2 配置 Python 學習環境。選Python2 還是 Python3?入門時很多人都會糾結。二者只是程序不兼容,思想上並無大差別,語法變動也並不多。選擇任何一個入手,都沒有大影響。如果你仍然無法抉擇,那請選擇 Python3,畢竟這是未來的趨勢。
編輯器該如何選?同樣,推薦 pycharm 社區版,配置簡單、功能強大、使用起來省時省心,對初學者友好,並且完全免費!其他編輯器如:notepad++、sublimeText 3、vim 和 Emacs等不推薦了。
操作環境?Python 支持現有所有主流操作平台,不管是 windows 還是 mac 還是 linux,都能很好的運行 Python。並且後兩者都默認自帶 Python 環境。
2.3 選擇自學的書籍。我推薦的書的內容由淺入深,建議按照先後順序閱讀學習:
2.3.1《Python簡明教程》。這是一本言簡意賅的 Python 入門教程,簡單直白,沒有廢話。就算沒有基礎,你也可以像讀小說一樣,花兩天時間就可以讀完。適合入門快速了解語法。
2.3.2 廖雪峰編寫的《Python教程》。廖先生的教程涵蓋了 Python 知識的方方面面,內容更加系統,有一定深度,有一定基礎之後學習會有更多的收獲。
2.4 學會安裝包。Python中有很多擴展包,想要安裝這些包可以採用兩種方法:
2.4.1 使用pip或easy_install。
1)在網上找到的需要的包,下載下來。eg. rsa-3.1.4.tar.gz;
2)解壓縮該文件;
3)命令行工具cd切換到所要安裝的包的目錄,找到setup.py文件,然後輸入python setup.py install
2.4.2 不用pip或easy_install,直接打開cmd,敲pip install rsa。
3 提升階段需要恆心和耐力。
完成入門階段的基礎學習之後,常會陷入一個瓶頸期,通過看教程很難進一步提高編程水平。這時候,需要的是反復練習,大量的練習。可以從書上的例題、作業題開始寫,再寫小程序片段,然後寫完整的項目。我們收集了一些練習題和網站。可根據自己階段,選擇適合的練習去做。建議最好挑選一兩個系列重點完成,而不是淺嘗輒止。
3.1 多做練習。推薦網站練習:
crossin編程教室實例:相對於編程教室基礎練習著重於單一知識點,
編程實例訓練對基礎知識的融會貫通;
hackerrank:Python 部分難度循序漸進,符合學習曲線
實驗樓:提升編程水平從做項目開始;
codewar:社區型編程練習網站,內容由易到難;
leetcode:為編程面試准備,對初學者稍難;
牛客網:提供 BAT 等大廠筆試題目;
codecombat:提供一邊游戲一邊編程;
projecteuler:純粹的編程練習網站;
菜鳥教程100例:基於 py2 的基礎練習;
3.2 遇到問題多交流。
3.2.1 利用好搜索引擎。
3.2.2 求助於各大網站。推薦
stackoverflow:這是一個程序員的知識庫;
v2ex:國內非常不錯的編程社區,不僅僅是包含程序,也包含了程序員的生活;
segmentfault:一家以編程問答為主的網站;
CSDN、知乎、簡書等
3.2.3 加入相關的QQ、微信群、網路知道。不懂的可以隨時請教。
3. 知識圖譜有什麼用處
「知識圖譜的應用涉及到眾多行業,尤其是知識密集型行業,目前關注度比較高的領域:醫療、金融、法律、電商、智能家電等。」基於信息、知識和智能形成的閉環,從信息中獲取知識,基於知識開發智能應用,智能應用產生新的信息,從新的信息中再獲取新的知識,不斷迭代,就可以不斷產生更加豐富的知識圖譜,更加智能的應用。
如果說波士頓動力的翻跟頭是在幫機器人鍛煉筋骨,那麼知識圖譜的「繪制」則是在試圖「創造」一個能運轉的機器人大腦。
「目前,還不能做到讓機器理解人的語言。」中國科學院軟體所研究員、中國中文信息學會副理事長孫樂說。無論是能逗你一樂的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個事實。
「這是一幅充滿美好前景的宏偉藍圖。」孫樂說,知識圖譜的最終目標是將人類的知識全部形式化、結構化,並用於構建基於知識的自然語言理解系統。
盡管令業內滿意的「真正理解語言的系統」還遠未出現,目前的「巴別塔」還只是在基礎層面,但相關的應用已經顯示出廣闊的前景。例如,在網路輸入「冷凍電鏡」,右豎條的關聯將出現「施一公」,輸入「撒幣」,將直接在搜索項中出現「王思聰」等相關項。其中蘊含著機器對人類意圖的理解。
4. 程序員如何才能成為獨立開發者
當你有了知識體系之後,遇到和你知識體系對應的場景相關的問題,就可以快速找到相關的知識,系統的分析問題,最終解決問題。
你看,是否擁有知識體系,導致了熟練開發者和普通開發者的一個非常重要的區別:熟練開發者能夠獨立負責一個模塊或子系統的設計和開發工作,擁有分析問題、解決問題的能力和任務分解的能力,可以分配任務給普通開發者。
進階修煉方向
好啦,從技術水平的角度講,普通開發者和熟練開發者的區別就在於:普通開發者的知識不成體系,而熟練開發者構建了與某個應用場景相關的知識體系。
這樣看來,普通開發者要想進階,方向就非常明確了:構建自己的知識體系。
那麼,怎麼構建知識體系呢?先參考我的另一篇文章:構建知識圖譜,讓自己更值錢。如果後續有機會,我會重構一篇新的文章,再聊聊構建知識體系這個話題。
5. 知識圖譜的商業價值有哪些
知識圖譜是用節點和關系所組成的圖譜,為真實世界的各個場景直觀地建模,運用「圖」這種基礎性、通用性的「語言」,「高保真」地表達這個多姿多彩世界的各種關系,並且非常直觀、自然、直接和高效,不需要中間過程的轉換和處理。
目前知識圖譜產品的客戶行業,分類主要集中在:社交網路、人力資源與招聘、金融、保險、零售、廣告、物流、通信、IT、製造業、傳媒、醫療、電子商務和物流等領域。
相比傳統數據存儲和計算方式,知識圖譜的優勢顯現在以下幾個方面:
(1)關系的表達能力強
傳統資料庫通常通過表格、欄位等方式進行讀取,而關系的層級及表達方式多種多樣,且基於圖論和概率圖模型,可以處理復雜多樣的關聯分析,滿足企業各種角色關系的分析和管理需要。
(2)像人類思考一樣去做分析
基於知識圖譜的交互探索式分析,可以模擬人的思考過程去發現、求證、推理,業務人員自己就可以完成全部過程,不需要專業人員的協助。
(3)知識學習
利用互動式機器學習技術,支持根據推理、糾錯、標注等交互動作的學習功能,不斷沉澱知識邏輯和模型,提高系統智能性,將知識沉澱在企業內部,降低對經驗的依賴。
(4)高速反饋
圖式的數據存儲方式,相比傳統存儲方式,數據調取速度更快,圖庫可計算超過百萬潛在的實體的屬性分布,可實現秒級返回結果,真正實現人機互動的實時響應,讓用戶可以做到即時決策。
6. 知識圖譜主要是做什麼的
知識圖譜是以框圖的形式按一定的邏輯關系把相關知識點聯系起來,一方面看現有知識圖譜,更好復習知識內容,另一方面自己畫知識圖譜,整理自己的知識。
7. 科學知識圖譜工具知多少
科學知識圖譜工具:Citespace及其升級版
Citespace及其升級版是當前國內外研究人員在自己的研究中使用比較多的科學知識圖譜繪制工具。該工具是陳超美博士開發的、供廣大用戶免費使用的軟體工具。該軟體易於獲取,基於一定的數據集可得到用戶想知道的某個方向的知識圖譜,而且該知識圖譜穩定、可讀性良好、信息豐富。
8. 一個菜鳥程序員該怎樣定位自身的價值方向
我到底能夠解決什麼問題?給別人帶來什麼樣的方便?這是每個程序員首先要考慮的問題。這決定了你要在什麼樣的領域、什麼樣的公司工作,決定了你做什麼產品,也決定了你要選擇什麼技術。
9. 知識圖譜是什麼有哪些應用價值
知識圖譜 (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).