ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [논문리뷰] Identifying entity properties from text with zero-shot learning 1)
    Data miner/Knowledge Graph 2019. 11. 28. 18:20
    728x90

    Imrattanatrai, W., Kato, M. P., & Yoshikawa, M. (2019, July). Identifying Entity Properties from Text with Zero-shot Learning. In Proceedings of the 42nd International ACM SIGIR Conference on Research and Development in Information Retrieval (pp. 195-204).

    Sigir2019, Session2C의 knowledge and Entities에서 발표된 논문이다. 

     

     

     

    - 본 논문에서는 개체(entity)관계성(Properties)를 확인하는데 있어서 기존에 잘 구축된 지식그래프(knowledge graph)의 부분을 활용하는 방법을 제안한다. 

     

    - 검색 엔진에 검색되는 쿼리들은 개체들과 관련성이 높다. 특히 정보를 얻기 위해서 검색하는 경우, entity card는 유저에게 유용한 정보를 제공해주는 도구이다. 아래의 예시에서 개체(테일러 스위프트)이다. 

     

    - 특히, 개체 관계성(entity properties) 정보는 유저에게 유용한 보조 정보를 제공해줄 수 있다. 테일러 스위프트의 개체명 관계 정보는 앨범(Album)이나 음악 트랙(tracsks)가 될 수 있으며, '앨범'이나 '테일러 스위프트'가 개체명 관계 정보인지는 유저들의 클릭 정보를 활용하여 추론할 수 있다. '테일러 스위프트'를 검색했을 때, 관계성(properties)를 가지고 있는 문서를 클릭한 데이터를 활용하여, 차후의 entity card의 내용을 보다 사용자가 원하는 정보 위주로 구성한다. 관계성(properties)는 다음와 같은 예시에 해당한다. 'music.artist.album','music.artist.track_contributions–music.track_contribution.track',이 관계성은 주어-서술어-목적어에서 서술어의 표현을 보다 구체적으로 표현한 것이다. 'music.artist.album'의 경우, 테일러 스위프트(주어)와Red(목적어)의 관계는 'music.artist.album'에 해당한다.하나의 서술어가 아닌, 두 개 이상의 서술어가 포함된 문장에서 추출할 수 있는 관계성도 있다. 'music.artist.track_contributions–music.track_contribution.track'가 이에 해당한다. 논문에서는 이를 predicate path라고 명명하였다. 

     

     

     

    테일러스위프트(개체)의 entity card 예시(구글 검색 결과, "테일러스위프트"

     

    "테일러 스위프트"(개체)를 검색했을 경우, 검색 사이트에서 클릭할 수 있는 문서 예시 중 하나. 

    - 사용자가 쿼리 개체와 관련성이 높은 properties를 포함한 문서를 클릭한다는 것을 가정한다. 이에 기반하여, 쿼리 개체와 이와 관련성이 높은 properties을 유저 로그 데이터를 기반으로 추출한다.  예를 들어, 테일러 스위프트(쿼리 개체)를 다루는 문서에서 Entity Properties인 Red(Album 이름)과 I Knew You Were Trouble(앨범 수록 곡 중 하나)를 추출해야 한다. 

     

    - 사전 구축된 지식 그래프를 활용하여 텍스트에서의 관계성을 추출하고자 하며, 특히 triplets 라고 불리는 (머리부분 노드-개체 - (관계를 표현하는 엣지) - 꼬리 부분 노드) 의 정보를 활용한다. (triplet의 예시, 오바마 - (태어난 곳) - 호노룰루)

     

    - 그래프에 없는 관계들에 대해서는 문장에서 property를 추출하기 힘들다. 특히, 두 개 이상의 properties를 포함하고 있는  predicate path의 경우 하나의 triplet에 기반하는 것이 아니라 여러 개의 triplet의 정보가 필요하다. 학습 단계에서 기존에 구축된 knowledge graph에 없는 분류 대상(여기에서는 properties)에 대해서 다룰 수가 없기 때문에, Zero-shot learning 문제에 해당한다. 기존에 구축되지 않았던 properties를 다룰 수 없기 때문에 문서들의 유의미한 properties를 포괄하지 못하는 문제가 생긴다(low coverage of properties). 이는 검색 결과에서 유저들이 중요한 정보를 얻지 못하는 문제로 이어진다. 

     

    - Zero-shot learning 문제를 풀기 위해서 논문에서의 모델에서는 클래스 임베딩과, knowledge graph에 기반을 둔 property embedding을 사용한다. 모델이 정의하는 문제는 다음과 같다. 쿼리 검색을 통해 엔티티가 주어진 상태에서, 엔티티와 연관된  문서에 있는 문장들의 properties를 예측(추출)하는 문제이다. 학습 단계에서는 관측된 properties인, Yseen가 모델 학습에 사용된다. 테스트 단계에서는 관측되지 않은 properties, Yunseen도 포함하여 문장을 다중 분류한다. (each sentence -> multi-properties classification)  

     

     

     

    - 모델은 크게 다섯가지 파트로 구성되어 있다.  

     

    1) a word embedding part : input sequence를 저차원의 word vector로 변환한다.

     

    2) a bidirectional LSTM : sentence-level representation, 양뱡향의 LSTM구조를 사용하여 a sequence의 sentence를 효과적으로 representation하고자 한다. LSTM의 결과물로서, 마지막 t번째 토큰의 bidirectional 정보가 포함된 hidden output ht에 Global max pooling을 적용하여 중요한 word feature를 뽑아내고자 한다. (hidden unit의 global feature 추출)

     

    3) Mapping a sentence representation and property embeddings : Knowledge graph을 기반으로 하고 있는 관계성(properties)에 대한 embedding하여 2)번의 sentence representation을 학습한다. 아래의 그림을 보면 하단의 KG 기반으로 y1,y2,y3가 임베딩 되는데, y1 각각은 property를 의미한다. 이것이 q와 mapping되어 s를 만들게 된다. 

    -> 이 부분이 특히, 본 모델 학습의 goal과 연관이 있다. 즉, Sentence embedding이 sentence안에 있는 properties 의 embedding과 비슷하게 만든다. 이렇게 하면, test time에 있어서 Y(label되지 않은 properties)에 대해서도 예측할 수 있게 한다. 

    먼저 이전 LSTM에서 나온 h* 벡터에 Relu 활성화 함수가 있는 fully connected neural network를 거쳐서 g를 만들고 (LSTM 모델 위에 추가적인 fully-connected layer를 쌓는 이유는 보다 효과적으로 학습하기 위함이다) 궁극적으로 이 q에 해당하는 벡터와 property embedding된 벡터들의 내적값을 키우는 쪽으로 모델이 학습하게 된다. property embedding은 training 단계에서는 sentence에 발견된 properties(y1, y2, y3)들의 embedding값이 사용된다.

    property의 embedding차원수와 맞춰준 벡터 q를 생성한다. 이때, q벡터를 생성할 때 사용되는 q = Wq*g + bq 에서 Wq는 sentence representation이 properties embedding(y1, y2, y3)과 비슷하게 위치하도록 하게 해준다. 아래 그림을 보면, music.artist.album, music.recoding.releases, music.artist.track_contributions-music.track_contribution.track 이 properties embedding에 해당하며, 분홍색 그림의 Wq를 통해 거친 sentence embedding representation이 properties embedding값과 가깝도록 학습을 시키는 구조이다. 

     

    Wq를 거쳐서 나온 q값이 properties와 가깝도록 학습시키는 과정
    위의 그림의 전체 구조

     

    4) 타겟 entity 유형 정보를 통해서 정답 Property를 맞추는 확률값을 높이는 역할을 하는 부분이다. (An entity type component that filters out properties that are definitely not represented by the input sentence.) 'Restriction'이라는 수식어 붙는 이유는 music.artist와 관련없는 properties, 예를 들어 education.deucational_instituion.school_type 이나 education.educational_instiution.campuses들은 고려하지 않게 해준다. 

    Entity 유형이 music.artist이라면, music.artist.genre, music.artist.album(properties)에 대한 예측을 높이는데 기여한다.  KB구조는 entity type을 인식하고, entity type과 연관된 properties를 인식하는 데 도움을 준다. 

     

    5) A sigmoid function : 모든 properties에 대한 확률값을 산출함. 즉 sentence가 주어졌을 때, properties들을 예측하는 역할을 한다. 

     

    모델 설명은 여기까지하고, 다음 포스팅에서 learning part, Property embedding이 들어간 것을 다루도록 하겠다. 

     

Designed by Tistory.