cs224w課程學習筆記-第12課

cs224w課程學習筆記-第12課 知識圖譜問答

  • 前言
  • 一、問答類型分類
  • 二、路徑查詢(Path queries)
    • 2.1 直觀查詢方法
    • 2.2 TransE 擴展
    • 2.3 TransE 能力分析
  • 三、連詞查詢(conjunctive queries)
    • 3.1 Query2box 原理
      • 1)、投影
      • 2)、交集查詢(AND 操作)
      • 3)、聯合查詢(OR 操作)
      • 4)、and_or操作
    • 3.2 Query2box 訓練
      • 1)、正負樣本采樣
      • 2)、查詢過程可視化
  • 四、總結

前言

前面一節課講了知識圖譜的嵌入,其常用的加法,乘法模型及其各自的嵌入原理,表征能力與嵌入輸出情況.本節課將就最經典的知識圖譜的問答任務,闡述如何將問答任務進行任務分析,轉化為可以使用知識圖譜嵌入模型的嵌入進行任務訓練,最終完成該類問答任務.

一、問答類型分類

以下圖中的藥理知識圖譜為例,邊有四種,分別是造成causes,相關Assoc,治療Treat,相互Interact關系,節點有藥物,疾病,副作用與蛋白質,右側是幾種類型的問題

  • 直接已知一個節點,通過一種關系邊,到達目標節點可得到問題的答案(one-hop): Fulvestrant會造成什么副作用(開始節點為Fulvestrant,邊為causes,目標節點副作用)
  • 路徑問答:已知一個節點,通過多種節點關系邊,到達目標節點可得到問題的答案: Fulvestrant會造成副作用相關的蛋白質(開始節點為Fulvestrant,邊為causes,Assoc,中途節點為副作用,目標節點蛋白質)
  • 連詞查詢:已知多個節點,經過多種節點關系邊,得到交互的目標節點,得到問題的答案:造成頭疼與治療乳腺癌的藥物是什么(開始節點為(Headache,邊為causes),(Breast Cancer ,邊Treat)
    在這里插入圖片描述
    從節點與邊的結構圖上可以看到其第二種與第三種的差異在于交互上,第一種與第二種的差異在于中間是否需要通過多次路徑.因此第一種可以看作是第二種的特例.在接下來我們將區別第二種問答與第三種問答進行其任務求解的說明.

二、路徑查詢(Path queries)

2.1 直觀查詢方法

緊接前面的第二個問題,其涉及兩種類型邊,因此我們有知識圖后,從起始節點出發遍歷所有第一個類型Causes的邊,到達其連接的節點后,再以連接的節點遍歷第二類型Assos的邊,到達其連接的節點即為答案(圖中綠色節點).可以發現的每一類邊所到的節點是一個節點集,而不是單個節點,結果也可能是一個節點集.那么在實際場景中,知識圖譜往往是不完整的,若此時有一個結果里的節點是缺失的,按當前搜索圖的方法就會發現結果集沒有拿到全部答案.
在這里插入圖片描述

2.2 TransE 擴展

前面我們看到知識圖譜往往是缺失的,那么是否可以先補足知識圖譜再做查詢?
如果先做補足,知識圖譜通常非常大,這會導致后續查詢時間指數上升.因此我們希望在回答任意問題時,能夠隱式推理缺失的答案.
還記得TransE嵌入模型的原理嗎?空間向量平移,得分函數為起始節點向量加關系向量減去結束節點向量,其原理是起始節點向量與結束節點存在連接,其起始節點向量加關系向量就越靠近結束節點;對照問答場景,這起始節點向量加關系向量不就是問題的嵌入嗎?如果它們之間是存在連接的,那么兩者就越接近,那說明這個結束節點就是答案.
因此我們的核心問題就是將TransE 擴展為問題嵌入, 得分函數 f r = ? ∣ ∣ h + r ? t ∣ ∣ , h + r = > ( v a + r 1 + . . . + r n ) 得分函數f_r=-||h+r-t||,h+r=>(v_a+r_1+...+r_n) 得分函數fr?=?∣∣h+r?t∣∣,h+r=>(va?+r1?+...+rn?),其中 v a v_a va?是節點嵌入,r是關系嵌入,其計算原理使其獨立于中間過程的那些節點集,同時TransE模型本身對傳遞關系的表征能力也保證了這樣操作后不會丟失信息.
在這里插入圖片描述
使用TransE 的路徑查詢步驟如下所示:
1、訓練TransE 模型,該步驟與前面提到的知識圖譜嵌入模型學習一致,輸入三元組(h,r,t),學習實體和關系的向量表示,使得對于每個正確三元組,h+r≈t,同時最小化錯誤三元組的得分。
2. 預測階段(路徑查詢):輸入是 v a v_a va?頭部節點,關系路徑[r1,r2,r3,…,rn]

  • 向量映射:從訓練好的嵌入矩陣中獲取頭實體和關系向量
  • 路徑向量合成:將路徑中的關系向量累加
  • 目標位置計算:將頭實體向量與路徑向量相加,得到預測的目標位置 t ′ t' t
  • 相似度匹配:計算 t ′ t' t與所有實體向量的距離(如L2距離或余弦相似度),排序后得到最可能的尾實體。
  • 輸出按相似度排序的尾實體列表(如Top-K個候選實體)

該方法的實現細節中,多跳路徑的隱式推理未顯式考慮中間實體約束,可能影響復雜推理的準確性。二是關系向量直接相加可能導致誤差累積(尤其是長路徑).當然這個模型的潛在限制不是本課核心關注點,感興趣的小伙伴可以自行搜索相關優化模型.

2.3 TransE 能力分析

我們看到TransE可以解決路徑查詢問題,那么它可以同時解決連詞查詢問題嗎?
先來看看連詞查詢,直接遍歷知識圖譜是如何遍歷的,如下圖所示,遍歷兩條路徑,其分別以ESR2,Short of Breath 為起始節點,兩條路徑的結尾交互點為答案.
在這里插入圖片描述
這個遍歷在TransE,則為先得到兩條路徑的嵌入p1,p2, p 1 ≈ t 1 p1\approx t1 p1t1, p 2 ≈ t 2 p2\approx t2 p2t2,t1=t2時為答案,但因為是線性的,不同關系對應的平移方向可能沖突(例如 r1 和 r2 方向不一致),導致無法找到同時滿足條件的解;同時兩條路徑,會導致累積誤差更加嚴重,從而更難找到合理的答案,因此TransE無法有效的解決連詞查詢問題.

三、連詞查詢(conjunctive queries)

該類型查詢需要一個更復雜的方法去實現,其(Query2box)箱型查詢模型是代表,接下對該模型原理,訓練,特點,表征能力,以及連詞查詢的擴展進行闡述.

3.1 Query2box 原理

回顧TransE模型是向量平移原理,節點,關系都嵌入到一個向量空間,其嵌入范圍是點狀的,且平移相加,會忽略多次平移中間的節點集的限制.最關鍵的是無法很好表現與的邏輯操作.這個數學直觀會想到集合之間的交集操作,換到集合空間里很容易想象出是多個箱子疊加的部分就是交集.
因此Query2box 原理是將節點嵌入為一個箱子,關系作為偏移方向,可以將原箱子映射得到一個通過該關系把箱子投影,生成了新箱子;其支持的邏輯操作如下:

  1. 聯合查詢(OR 操作):通過取兩個盒子的并集實現。
    兩個盒子的并集在空間中被表示為包含范圍更大的一個盒子。
    并集操作調整 c 和 r 的取值。

  2. 交集查詢(AND 操作):通過取兩個盒子的交集實現。
    交集操作調整盒子的范圍使得最終盒子嵌入更加緊致,表示符合兩個查詢的共同答案。

  3. 關系追蹤(投影操作):從當前盒子沿著特定關系跳轉到下一個范圍。 通過關系嵌入來修改盒子的中心和范圍。

如下圖所示,節點ESR2通過關系Assoc投影到一個紅色的新箱子,同樣的原理重復該過程直到最后一個關系投影,取兩條路徑最后的投影箱子進行與邏輯操作得到最后的箱子為當前連詞查詢的答案.
在這里插入圖片描述

1)、投影

首先一個箱子嵌入定義為中心點的與偏移量,如一個箱子q由中心點cen(q)=(4,3),偏移量off(q)=(1,2);關系r指明投影方向與偏移量,得到一個新箱 q ′ q' q,其投影操作如下圖所示.
在這里插入圖片描述

2)、交集查詢(AND 操作)

交集是求多個箱子交集的部分,我們知道箱子由中心點,偏移量表示,因此就是求取交集后的新箱子的中心點與偏移量.

  • 首先看中心點,直觀上感覺交集的中心點應該在多個中心點圍成的范圍內,因此可以表示為每個箱子中心點的線性和,其中每個箱子的權重不一樣,該權重由模型學習得到.
  • 偏移量直觀為交集的箱子最小偏移量,為了更精準,乘以一個收縮量,該收縮量由模型學習得到.
    在這里插入圖片描述
    在這里插入圖片描述

3)、聯合查詢(OR 操作)

在聯合查詢前,我們先要定義箱子之間的距離計算,其距離可通過歐幾里得計算,也可以使用其它方法.
在這里插入圖片描述
有了箱子的距離后,假設我們的答案是V ,問題有m個,其問題間進行OR操作,則其先對每個一問題求其嵌入,然后進行聚合,其聚合方式如下,其理解為,答案只要是其中一個問題的答案,就應該是聯合問題的答案,因此取所以箱子距離之間的最小值.
在這里插入圖片描述

4)、and_or操作

當一個查詢里既有and,也有or時,最佳實現是將查詢先拆解為多條and查詢,在最后一步再or查詢.其原因是不拆解無法在當前維度空間得到嵌入,需要嵌入到更高維度(如下圖所示),為在當前維度實現,就要進行先拆解,然后嵌入,最后or.
在這里插入圖片描述

3.2 Query2box 訓練

整體的訓練過程與TransE 類似,比較特別的在于這是查詢場景的嵌入,因此正負樣本采集時會有所差異.接下我們先看訓練步驟:

  • 1、從知識圖譜中采樣得到問題集q,答案集 v v v與非答案集 v ′ v' v
  • 2、計算q的嵌入
  • 3、計算打分函數 f q ( v ) f_q(v) fq?(v)
  • 4、優化loss,正確的越大越好,錯誤的越小越好
    在這里插入圖片描述

1)、正負樣本采樣

從開章我們就知道問題分為三種類型,因此采樣時候,各類型均要包含在內,
在這里插入圖片描述
以其中一個問題類型為例,其綠色節點為答案.

  • 我們從答案節點開始(隨機選擇一個),沿著圖中的邊遍歷,直到所有起始節點均獲得;
  • 有了起始節點后再沿著圖遍歷得到滿足條件的所有答案;
  • 得到了問題集,答案集與非答案集.
    接下來以下圖問題類型為例,我們隨機采樣到Fulverstrant 為答案節點,隨機選取與其相連的邊如TreatedBy獲得與該邊相連的節點Breast Cancer,同樣選取與其相連的邊如Assoc得到起始點ESR2;重復隨機選取邊的過程,將得到問題節點集與關系集,再通過問題節點集與關系集(構成多個Query template 樣本)得到Fulverstrant再內的其它答案節點,得到答案集,不在問題集與答案集里的節點則為非答案節點,采樣得到非答案集,
    在這里插入圖片描述

2)、查詢過程可視化

以問題:“List male instrumentalists who play string instruments”為例,將其嵌入到2維空間,這樣可以觀測其嵌入過程的變化,其問題分解路徑如下
在這里插入圖片描述
其查詢過程如下圖所示
在這里插入圖片描述

四、總結

本課主要講知識圖譜下的查詢應用如何實現,首先對查詢進行分析,通過其不同類型,與知識圖譜嵌入模型特點聯系起來,其中路徑類查詢使用前面的TransE 即可解決,因為其傳遞的表達能力;而有交集,OR類的查詢,則需要更復雜的嵌入模型,文中介紹了queryBox的嵌入算法,該嵌入算法為箱子的思想,類比集合操作,從而實現該類查詢的學習;深入介紹了queryBox的嵌入算法的原理,訓練過程,最后對查詢可視化進行了一個例子的說明,加深對嵌入模型在查詢應用上的理解.

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/907336.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/907336.shtml
英文地址,請注明出處:http://en.pswp.cn/news/907336.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

AI任務相關解決方案2-基于WOA-CNN-BIGRU-Transformer模型解決光纖通信中的非線性問題

文章目錄 1. 項目背景與研究意義1.1 光纖通信中的非線性問題1.2 神經網絡在光纖非線性補償中的應用現狀 2. 現有模型 CNN-BIGRU-attention 分析2.1 模型架構與工作原理2.2 模型性能評估與局限性 3. 新模型優化方案3.1 WOA算法原理與優勢3.2 WOA-CNN-BIGRU-MHA模型構建3.3 WOA-C…

HTTP Accept簡介

一、HTTP Accept是什么 HTTP協議是一個客戶端和服務器之間進行通信的標準協議,它定義了發送請求和響應的格式。而HTTP Accept是HTTP協議中的一個HTTP頭部,用于告訴服務器請求方所期望的響應格式。這些格式可以是媒體類型、字符集、語言等信息。 HTTP A…

39-居住證管理系統(小程序)

技術棧: springBootVueMysqlUni-app 功能點: 群眾端 警方端 管理員端 群眾端: 1.首頁: 輪播圖展示、公告信息列表 2.公告欄: 公告查看及評論 3.我的: 聯系我們: 可在線咨詢管理員問題 實時回復 居住證登記申請 回執單查看 領證信息查看 4.個人中心: 個人信息查看及修改…

鴻蒙OSUniApp 開發的滑動圖片墻組件#三方框架 #Uniapp

UniApp 開發的滑動圖片墻組件 前言 在移動應用中,圖片墻是一種極具視覺沖擊力的內容展示方式,廣泛應用于相冊、商品展示、社交分享等場景。一個優秀的滑動圖片墻組件不僅要支持流暢的滑動瀏覽,還要兼容不同設備的分辨率和性能,尤…

碰一碰系統源碼搭建==saas系統

搭建“碰一碰”系統(通常指基于NFC或藍牙的短距離交互功能)的源碼實現,需結合具體技術棧和功能需求。以下是關鍵步驟和示例代碼: 技術選型 NFC模式:適用于Android/iOS設備的近場通信,需處理NDEF協議。藍牙…

自動駕駛決策規劃框架詳解:從理論到實踐

歡迎來到《自動駕駛決策規劃框架詳解:從理論到實踐》的第二章。在本章中,我們將深入探討自動駕駛系統中至關重要的“大腦”——決策規劃模塊。我們將從基本概念入手,逐步解析主流的決策規劃框架,包括經典的路徑速度解耦方法、工業界廣泛應用的Apollo Planning框架、應對復雜…

服務器定時任務查看和編輯

在 Ubuntu 系統中,查看當前系統中已開啟的定時任務主要有以下幾種方式,分別針對不同類型的定時任務管理方式(如 crontab、systemd timer 等): 查看服務器定時任務 一、查看用戶級別的 Crontab 任務 每個用戶都可以配…

小白的進階之路系列之四----人工智能從初步到精通pytorch自定義數據集下

本篇涵蓋的內容 在之前的文章中,我們已經討論了如何獲取數據,轉換數據以及如何準備自定義數據集,本篇文章將涵蓋更加深入的問題,希望通過詳細的代碼示例,幫助大家了解PyTorch自定義數據集是如何應對各種復雜實際情況中,數據處理的。 更加詳細的,我們將討論下面一些內容…

DeepSeek實戰:打造智能數據分析與可視化系統

DeepSeek實戰:打造智能數據分析與可視化系統 1. 數據智能時代:DeepSeek數據分析系統入門 在數據驅動的決策時代,智能數據分析系統正成為企業核心競爭力。本節將使用DeepSeek構建一個從數據清洗到可視化分析的全流程智能系統。 1.1 系統核心功能架構 class DataAnalysisS…

力扣100題---字母異位詞分組

1.字母異位詞分組 給你一個字符串數組&#xff0c;請你將 字母異位詞 組合在一起。可以按任意順序返回結果列表。 字母異位詞 是由重新排列源單詞的所有字母得到的一個新單詞。 方法一&#xff1a;字母排序 class Solution {public List<List<String>> groupAnagr…

使用子查詢在 SQL Server 中進行數據操作

在 SQL Server 中&#xff0c;子查詢&#xff08;Subquery&#xff09;是一種在查詢中嵌套另一個查詢的技術&#xff0c;可以用來執行復雜的查詢、過濾數據或進行數據計算。子查詢通常被用在 SELECT、INSERT、UPDATE 或 DELETE 語句中&#xff0c;可以幫助我們高效地解決問題。…

Flask集成pyotp生成動態口令

Python中的pyotp模塊是一個用于生成和驗證一次性密碼&#xff08;OTP&#xff09;的庫&#xff0c;支持基于時間&#xff08;TOTP&#xff09;和計數器&#xff08;HOTP&#xff09;的兩種主流算法。它遵循RFC 4226&#xff08;HOTP&#xff09;和RFC 6238&#xff08;TOTP&…

觸控精靈 ADB運行模式填寫電腦端IP教程

?ADB模式&#xff0c;如果你手機已經root則可以直接運行&#xff0c;無需安裝電腦端。 ?ADB模式&#xff0c;如果你手機沒有root&#xff0c;那你可以windows電腦下載【極限投屏】軟件&#xff0c;然后你的手機和電腦的網絡要同一個wifi&#xff0c;然后把你電腦的ip地址填寫…

【Python】 -- 趣味代碼 - 佩奇

文章目錄 文章目錄 00 佩奇程序設計框架1. 繪圖設置2. 繪制卡通人物的各個部分3. 主程序總結01 佩奇程序設計00 佩奇程序設計框架 這段代碼使用 turtle 模塊繪制了一個粉色的卡通人物圖像,主要功能包括繪制鼻子、頭、耳朵、眼睛、腮、嘴、身體、手、腳和尾巴等部分。代碼的主…

uniapp-商城-69-shop(2-商品列表,點擊商品展示,商品的詳情, vuex的使用,rich-text使用)

頁面中將我們的數據進行了羅列,對于單個數據的展示,還需要進行開發,這里使用了點擊商品后,進行彈窗展示。 同樣這里用一個組件來進行實現該彈窗的展示。 本文介紹了商品詳情彈窗的實現方案。主要采用Vuex進行狀態管理,通過幾個關鍵組件協同工作: 商品列表組件productItem…

C# Datatable篩選過濾各方式詳解

在C#中&#xff0c;DataTable提供了多種篩選過濾數據的方法&#xff0c;以下是常用的幾種方式及其特點&#xff1a; 1. ?Select方法篩選? 這是最基礎的篩選方式&#xff0c;支持類似SQL的表達式語法 // 單條件篩選 DataRow[] rows dt.Select("Age > 25");// …

計算機網絡中的路由算法:互聯網的“路徑規劃師”

計算機網絡中的路由算法&#xff1a;互聯網的“路徑規劃師” 當你打開瀏覽器&#xff0c;輸入 www.example.com 并敲下回車&#xff0c;數據會從你的電腦出發&#xff0c;穿越一個個路由器&#xff0c;最終抵達目標服務器。這一路上&#xff0c;數據包是怎么知道該走哪條路的&…

硬件工程師筆記——三極管Multisim電路仿真實驗匯總

目錄 1 三極管基礎 更多電子器件基礎知識匯總鏈接 1.1 工作原理 NPN型三極管的工作原理 PNP型三極管的工作原理 1.2 三極管的特性曲線 輸入特性曲線 理想和現實輸出特性 三極管的主要參數包括&#xff1a; 2 三極管伏安特性 2.1 伏安特性仿真 Multisim使用說明鏈接…

Linux 進階命令篇

一、Linux 系統軟件安裝命令 &#xff08;一&#xff09;Ubuntu 系統&#xff08;基于 Debian&#xff09; apt &#xff1a;是 Ubuntu 系統中常用的包管理工具&#xff0c;可以自動處理軟件依賴關系。 安裝命令格式 &#xff1a;sudo apt install 軟件名 示例 &#xff1a;…

LVS-DR 負載均衡群集

目錄 一、LVS-DR集群 1、LVS-DR 工作原理 2、數據包流向分析 3、LVS-DR 模式特點 二、直接路由模式&#xff08;LVS-DR&#xff09; 1、準備案例環境 2、配置負載調度器&#xff08;101&#xff09; &#xff08;1&#xff09;配置虛擬IP 地址&#xff08;VIP&#xff…