Paper Review/Knowledge Graph

[2023] Knowledge Relevance BERT

frances._.sb 2023. 3. 17. 17:56
728x90

 

[2023] Knowledge Relevance BERT: Integrating Noisy Knowledge into Language Representations

Karan Samel, Jun Ma, Zhengyang Wang, Tong Zhao, Irfan Essa

 

본문의 논문은 AAAI 2023 Work Shop Accepted paper로, 여기를 확인해 주세요.

 

 

 

 Introduction

 

 저자들은 BERT를 이용한 새로운 domain에서 데이터를 수집할 수 있는 모델을 만들고자 하였다.

 저자들이 사용할 데이터, 실세계에서의 e-commerce 데이터의 양이 적고 새로운 domain이기에 어려움이 있다고 첫 번째로 언급하고, 두 번째로, 추출한 지식들(knowledges)의 noise에 대해 이야기한다. 여기서 언급한 noise는  자신들이 가진 데이터에서 triple을 만들 때, 연관 없는 것을 의미하고 있다. 예를 들어, e-commerce에서 hiking과 관련된 제품을 찾기 위해 “Merrell Moab 2 Boot: New Merrell water resistant boots...” 라는 문구에서 (water, occurs in, nature) 를 mining 한다. 이를 보면 모델이 hiking 제품이 자연에서 사용됨을 알 수 있으므로, 우리는 "Merrell Moab 2"가 hiking에 관련 있음을 알 수 있다. 하지만, (water, required for, painting) 이라는 타당한 triplet이 있다면, 우리는 제품에 대한 정확한 triplet을 선택해야 한다. 만약, 의도하지 않은 부정확한 triplet이 선택된다면, 기존의 text 의미가 변질될 것이다. 그렇게 된다면 만들어진 dataset 자체가 의미가 없어지므로 불명확하고 모호한 지식은 없어야 한다.

 

 저자는 모호하고 잘못된 지식을 중간 모델링 단계로 식별하기 위한 다루기 쉬운 접근법을 탐구하여 노이즈가 많은 KG로 새로운 도메인별 최종 작업을 최적화하는 데 중점을 둔다. 저자들의 Knowledge Relevance Bert (KR-BERT)는 다음과 같은 contributions를 가진다.

 

 ① 모호한 지식의 사용을 예방하기 위해, 가장 관련 있는 KG triplets을 순위 매겨 top-n개를 보는 것

 ② supervision을 위한 domain specific task data triplet만을 사용한 모델을 통해 모호한 표현과 부정확한 triplets을 줄일 수 있다.

 ③ 실 세계에서의 e-commerce dataset과 public entity linking task에서의 성능은 기존 Transformers를 이용한 KG보다 좋은 성능을 보인다.

 

 

 

 

 Method

 

 

 

  • Preliminaries

 

 처음으로 이 문제를 정의하기 위해서, 각 sample이 text string 과 domain labels $( T, \mathbf{y} )$로 이루어진, 텍스트는 labels를 추론하는 $\bar{T} → \mathbf{y}$ 데이터 셋을 사용한다. 문장에서 token level string은 $[x_1, x_2, ... , x_N] = T$ 이고, N tokens로 이루어져 있음을 정의한다. 자들의 e-commerce 데이터는 저자들이 예측하길 원하는 제품 text $T$와 concept labels $\mathbf{y}$의 한 쌍으로 이루어진 input을 사용한다. 

 text를 labels와 더 잘 관련 짓게 하기 위해, subject, relation, object로 이루어진 $(s, r, o)$ triplet으로 구성된 KG를 활용한다. 저자들은  augmenting $input$ $level$ $text$  $T$를 이용해 지식을 통합하였다. $s$는 문장에서 주어진 주어, $r$은 상응하는 관계를 삽입, 그리고 $o$는 subject 단어 오른쪽에 위치한다. 예시를 들어 쉽게 이해하여 보자면, text $T$가 "... Merrell water resistant boots ..."와 triplet (water, occurs in, nature) 가 주어질 때, 저자들의 augmented text $T'$은 "... Merrell water occurs in $\mathcal{nature}$ resistant boots ..." 가 될 것이다. 이런 KG 정보는 $T'$에서 $\mathbf{y}$ = {hiking} 과 같이 concept labels를 추론하는데 유용하다.

 

 

  • Knowledge Triplet Selection

 

 

 ① Triplet Candidate Sourcing : 기존 text $T$에서 text와 일치하는 tokens인 subject tokens $s$ 로 모든 triplets를 포함하는 match set $C$를 만든다. 그 후 간단한 unsupervised filtering step을 각 sample label $y ∈ \mathbf{y}$에 활용하여 지식 triplet match set을 다시 정의한다.

 특히, candidate set $C$에서 각 truplet object $o$를 평균 token embeddding한 $\mathbf{e}^{\mathbf{o}_j}$ 뿐만 아니라, 각 label $y ∈ \mathbf{y}$의 평균 token embedding인 $\mathbf{e}^{\mathbf{y}_i}$를 계산한다. 

 저자들은 embedding을 위해 Word2vec을 사용하였다. 그 후 각 pairwise label $\mathbf{e}^{\mathbf{y}_i}$와 triplet object embeddings $\mathbf{e}^{\mathbf{y}}$ 사이의 cosine similarity를 계산한다. 각 triplet의 전반적인 연관성 점수를 결정하기 위해 모든 label embeddings $\mathbf{e}^{\mathbf{y}}$의 가장 큰 값을 가진다. 그렇게 나온 triplet 점수인 score${_j}$은 모든 candidate triplets를 계산한 값을 다음과 같이 계산한다.

 

score${_j} = \displaystyle \max_{\mathbf{e}^{\mathbf{y}_i} \in \mathbf{e}^{\mathbf{y}}}  cos(\mathbf{e}^{\mathbf{y}_i}, \mathbf{e}^{\mathbf{o}_j} ) \qquad \forall $ score${_j} ∈ S$

 

 

  다음 단계에서 top-$k$ scoring triplets을 이용하여 candidate set $C = \left\{(s,r,o)_j | score_j \in top-k(S)\right\}$를 재정의한다. 이는 문장 $T$에 삽입되어 모델의 text input $T'$를 생성한다. 

 삽입하기 위해 triplets의 순위를 매겼지만, 문맥 내에서 triplets이 관련 있음을 보장하지 않는다. 저자들의 KG에서 가장 좋은 triplets은 여전히 낮은 점수를 가지고 있어, 삽입된 triplets이 text 전체와 관련 있는지 결정하는 모델이 필요하다. 그러므로 저자들은 triplet 관련 모델을 훈련하기 위해 triplet 점수가 weak labels을 사용한다.

 

 

 

  • Triplet Relevance Prediction

 

 

 

 위에서 본 top-$k$ triplets로, triplets을 text와의 연관성을 예측하는 이진 classifier를 사용하였다. 위 그림과 같이 두 개의 input과 100개의 hidden units를 가진 2-layer MLP를 사용하였다. 

 첫 번째 input은 context $T^c$의 평균 embedding $\mathbf{e}_c$이다. 이 context text는 제품 제목과 같은 기존 text의 sub-text $T^c ⊆ T$를 나타낸다. 두 번째 input은 top-$k$ candidate triplets $C$에서 얻어진 모든 triplet tokens $T^*$의 평균 embedding $\mathbf{e}^\mathbf{t}$이다. 

 triplet 연관 모델은 context text를 위한 top-$k$ triplets의 연관 확률 값을 outputs로 가진다. : $p = \sigma(MLP(\mathbf{e}^{\mathbf{t}} ; \mathbf{e}^{\mathbf{c}})) \in [0,1]$. 그리고 아래와 같은 연관 예측 모델 값을 가진다.

 

 

$y_{weak} = \begin{cases} 1& \mbox{if} \quad \mbox{min(top-k(}S\mbox{)) > 0.5} \\ 0 & \mbox{otherwise} \end{cases} $

 

 

 MLP output과 weak labels의 standard cross entropy를 사용하여 최적화하였다. : $\mathcal{L}_{rel} = $ CE($p, y_{weak}$)

요약하자면, triplet object에서 sample labels의 유사성을 기반한 연관 triplet의 점수화를 위해 triplet sourcing을 활용한 것이다. 그 후 이러한 점수의 threshold를 설정하여 작은 MLP 모델을 훈련하여 텍스트에 대한 triplet embedding의 관련성을 예측하기 위해 레이블을 생성한다. 연관 모델은 end-to-end 훈련 동안 효과적인 연관 연산을 위해 Transformer로 통합하였고, 이는 다음 내용에서 볼 수 있다.

 

 

 

  • Knowledge Relevance BERT

 

 

 ① Knowledge Masking

 

 K-BERT (Knowledge-BERT)에서 text는 직접적으로 삽입한 triplets를 text로 augment한 것이다. 기존 text $T$와 triplet tokens $T^*$는 model input으로 사용될 augmented text $T \cup T^* = T'$로 구성된다. 하지만, input text와 삽입된 triplets의 attention은 text의 기존 의미를 해친다. 예를 들어, "...Merrell water occurs in nature resistan boots..." 에서 "Merrell" 이나 "resistant"를 수반하기 위해 삽입한 triplet tokens "occurs in nature"을 기존의 문맥에 없었기 때문에 사용할 필요가 없다. 

 이 문제를 해결하기 위해, K-BERT는 text와 지식 triplet text tokens 사이의 self-attention weights를 마스킹하기 위해 다음 식을 사용한다.

 

 

$M_{ij} = \begin{cases} 0 & \mbox{if} \quad x_i,x_j \in T \quad \mbox{or} \quad x_i,x_j \in T^* \\ -∞ & \mbox{otherwise} \\ \end{cases}$

 

 

 triplet text 삽입을 위해 triplet subjects $s$를 ancor points로 사용을 했으므로, $s$는 $T$와 $T^*$ 둘 다 포함된다. Matrix를 mask로 사용하여 $T$의 모든 text tokens는 subject tokens $s$를 가지지만, $T^*$에는 $r,o$가 수반하지 않는다. 반대로  triplet tokens $r,o$는 subject tokens $s$를 수반하지만, $T$의 나머지는 그렇지 않다. 그러므로, subject tokens만 self-attention layer내의 input text와 지식 triplet 둘 다 구성될 수 있다. 

 

 

 ② Knowledge Relevance

 

 triplet tokens 사이의 self-attention을 아래의 triplet postion matrix $P$로 정의한다. 

 

 

$P_{ij} = \begin{cases} 1 & \mbox{if} \quad x_i,x_j \in T^* \\ 0 & \mbox{otherwise} \quad(x_i \quad \mbox{or} \quad x_j \in T-s) \\ \end{cases}$

 

 

 저자들의 연관성 모델에서 연관성 점수 $p$를 연산하였을 때, text와 triplet tokens의 self-attention 값을 $D$= 1 - (1 - $p$)로 업데이트한다. 위의 matrix $M$과 지식 연관 scaling $D$를 이용하여 지식 연관 self-attnetion 식을 다음과 같이 얻게 된다.

 

 

self-attn = ($D$ ⊙ softmax($\frac{QK^T + M}{\sqrt{d}}$))$V$

 

 

식에서 ⊙은 곱을 의미한다. 여기서 $p = 0$, 즉 연관성이 없다면, $D$는 기존 text와 삽입된 triplet tokens 사이의 attention weights를 마스킹하여 원래의 text $T$의 self-attention으로 변환한다. 그와 반대로 $p = 1$로 연관성이 꽤 크다면, $D$는 어떠한 attention으로도 바뀌지 않으며, augmented text $T'$의 K-BERT self-attention을 사용될 것이다.

 

 

  • Model Training & Model Inference

 

 모델 훈련은 15% 랜덤 하게 마스킹한 $T'$에서 마스킹된 tokens를 예측하기 위해 MLM을 목표로 pre-train한다. pre-training 과정에서 MLM이 동시에 예측하려하는 triplet token을 억제할 수 있기 때문에, 관련 모델을 제거한다.

 pre-training 후, MLM 과정에서 pre-trained 동결 input embeddings를 사용하여 관련 있는 weak labels의 triplet 관련 MLP를 훈련한다. 여기서 input embeddings가 연관 모델을 위해 사용되고 pre-trained KR-BERT LAYERS는 그 후의 fine-tuning을 위해 일련으로 둔다.

 마지막으로 pre-trained KR-BERT weights와 연관성 weights를 fine-tuning 과정을 시작하기 위해 로딩한다. 여기서 저자들은 분류기 헤드를 훈련시켜 labels $\hat{\mathbf{y}}$ = classifier(BERT($T'$))를 예측한다. 여기서 분류기 헤드는 dropout layer 다음에 단일 dense layer이다. 이는 cross entropy를 통해 최적화 $\mathcal{L}_{cls} = $CE($\hat{\mathbf{y}}, \mathbf{y}$) 된다. 또한 지식 정규화에 대한 지속적인 관련성 예측을 유지하기 위해 fine-tuning 동안 연관성의 최적화를 목표로 훈련한다. 이는 마지막에 end-to-end fine-tuning loss로 $\mathcal{L} = \mathcal{L}_{cls} + \mathcal{L}_{rel}$ 을 가진다.

 

 모델 추론 과정에서는 모델이 훈련하는 동안 triplet candidate sourcing의 label $\mathbf{y}$를 얻지 못하므로, sourcing step 없이 예측 label $\mathbf{\hat{y}}_{pre}$을 얻는다. triplet sourcing 단계를 bootstrap하기 위해 $\mathbf{\hat{y}}_{pre}$ 를 pipeline의 나머지를 위해 준 후 마지막 예측 label를 얻게 된다. $\mathbf{\hat{y}}_{pre}$ label의 분포의 초기 추정을 먼저 연산하기 위한 두 가지 단계로 생각할 수 있다. 이는 K-BERT나 triplet agnostic인 ERNIE와 비슷하다. 두 번째로는, $\mathbf{\hat{y}}_{pre}$를 사용하여 text에 연관 triplet을 삽입하기 위해 sourcing한 후, re-rank하여 마지막 예측 label $\mathbf{\hat{y}}$를 얻는다.

 

 

 

 E-commerce Experiments

 

 저자들은 유저들이 흥미로워하는 concept의 set을 wikipedia list를 사용하여 정의하였다. (여기서는 hobby에 대한 것을 언급함.) 그리고 제품의 지식 그래프를 rule-based 추출을 이용하여 (product, required for, hobby concept)와 같이 만들었다. 결과적으로 저자들은 572개의 모든 hobby concepts에서 87개를 cover하는 2만 6천 개의 triplet을 만들었다. 

 소비자의 search log를 사용하여 연관 구매 항목을 확인하였는데, 이는 직접적인 text match시 low-recall을 가지므로 모든 query와 같은 검색 session 내애서 구매한 항목을 연결하였다. 이로 인해, 400만 개의 multi-label concepts를 구성하게 되었다. 여기는 273개의 hobby concepts에 걸친 200만 개의 unique 제품들을 포함한다. 이렇게 e-commerce 데이터셋과 KG를 만든 후, 두 가지 과정을 거쳤다.

 

 ① product concept linking 

 concept label을 예측하는 과정이다. product text $T$에는 title, description, bullet points가 있으며, 각 concept에 대한 10개의 제품 concept 쌍을 sampling 하고 수동으로 concept label을 정리하였다. 이로 인해 253개의 unique hobby concepts에 걸친 2만 7천 개의 gold test set을 얻었다.

 

 ② search ranking

 query와 제품 쌍을 고려할 때 query는 input 역할을 하기 위해 augmented 제품 text $T'$와 연결된다. 모델은 제품이 이진 예측 task로써 주어진 쿼리에서 구매되었는지 아닌지를 예측한다. 각 쿼리에서, 훈련 동안 negative sample로써 같은 concept label을 가지지 않은 100개의 제품을 sampling하였다. test 과정에서, 저자들이 수동적으로 positive 쌍으로 정한 query 제품을 사용하였다. negative sampling에서는 두 가지 전략을 사용하였다. 

 - concept과 상응하는 제품들은 기존의 test labels에 있지만, test set 확인 과정에서는 제거되었다. 이 제품과 상응하는 concept 제품들은 부정확하지만, 근접 가능성이 있다. (hard case)

 - negative labels의 나머지는 랜덤 하게 sampling 하였다. (easy case)

 

 각 positive test query-제품 쌍에 대해, 99개의 다른 negative 제품 샘플을 생성하고 100개 이상의 제품에 대한 모델의 제품 recall을 테스트한다. 

 

concept linking results

 

 

 ⓐ Keyword Search : text에서 concept token을 찾는 keyword baseline

 ⓑ KG Lookup : Wikipedia에서 mining하였으므로, KG lookup 사용 ;   candidate triplet subject가 text substring과 매치되면 triplet의 object가 예측된다.

 

 

search ranking ; retrieval task

 

 

triplet sourcing and relevance

 

 

top-k analysis

 

 

relevance generalization

 

 

 FIGER Entity Linking

 

 

 

 

Conclusion and Future work

 

 새로운 도메인에서 KG 기반 추론 모델인 KR-BERT를 개발하였다. 꽤나 유의미한 연관성을 보임과 동시에 성능도 좋았다.

 KnowBERT와 비슷하게, aggregation level 대신 개별 triplet 수준에서 관련성 예측을 계산하여 이러한 프레임워크를 개선하며, 더 세밀하게 제어하고 top-$k$ 설정에 대한 제약을 줄일 것이다. 저자들은 ERNIE 와 KnowBERT와 함께 KG embedding을 사용하는 것의 recall 이점을 보았는데, entity 와 관련성 embedding을 사용하는 관련성 모델은 이러한 분산을 더 잘 포착할 수 있음을 알게 되었다.
모델의 다른 계층에 삽입된 지식의 품질을 control 함으로써, 저자들은 end-to-end task에 이러한 노이즈가 많은 표현을 가장 잘 활용하는 방법을 더 잘 이해할 수 있다고 언급하였다.

 

 

728x90
반응형