1. 程式人生 > >知識圖譜(一)簡介

知識圖譜(一)簡介

      在智慧對話領域,現在工業界應用最多的還是用相似度演算法來匹配知識庫的做法。以這種思想構建的聊天機器人一般都不具備真正的智慧,聊天的效果在很大程度上依賴於人工編輯的知識庫的質量和數量。多輪對話更是沒有效果。今天介紹的知識圖譜將能夠進一步挖掘出使用者的聊天意圖,具備一定聯想和推理能力。將改善人機的對話效果。

一 知識圖譜是什麼

     知識圖譜用一句話說就是用圖的形式去儲存和表示知識。它的組成元素是節點(Node)和邊(Edge),節點代表現實中的萬物,而邊則代表萬物之間的關係。它用圖的形式描繪了我們的現實世界。下面我用知識圖譜表示了日本著名動畫導演宮崎駿和他的作品以及他的作品和演員之間的關係。從圖中可以看出,宮崎駿導演了包括《龍貓》在內的多部電影,而電影《龍貓》的演員有高木均等。這樣千千萬萬個導演,演員和電影聯絡在一起,就形成了一個電影的知識圖譜。

    *該圖是用Neo4j展示的,關於Neo4j的詳情將在知識的表示一節中介紹

二知識圖譜的優勢

1.知識表示:知識圖譜形象的表示出了萬事萬物的聯絡,在表示上很自然,符合人的理解邏輯。而且可以表現概念和例項的關係,父子的關係等等。

2.知識搜尋:知識圖譜用圖的形式去除,在很多場景下將加快知識搜尋的效率,試想一下,如果讓我們用mysql這樣的資料庫去存導演,演員和電影的資料。要搜尋“宮崎駿導演的電影的參演演員有哪些“。這將會是幾張表來回的join。效率極低。而如果我們在圖上搜索,以宮崎駿這個節點為起點,進行深度為2的搜尋就會搜尋到所有的演員。效率將會非常高。

3.推理和擴充套件:知識圖譜是一個聯絡的世界,我們通過A可以找到B,通過B又可以找到C,而通過C又可以找到其他的東西,這對於知識的推理和擴充套件具有非常大的左右。比如,在上圖中,宮崎駿是龍貓的導演,高木均是龍貓的演員。我們能不能推匯出宮崎駿和高木均是好朋友呢?

三知識圖譜的應用

一 智慧對話

      基於知識圖譜的智慧對話系統將比傳統的基於相似度匹配的演算法具有較高的準確率。更能理解使用者的意圖

二 推薦系統

      如果圖中的節點時商品或者是人,那根據節點間的聯絡可以為使用者推薦相關聯的使用者或商品