머신러닝 및 딥러닝/자연어처리

QA with Phrase Retrieval

viamemine 2024. 11. 8. 11:39
728x90
반응형

 

  • Phrase Retrieval in ODQA 
    • Error propagation: 5-10개의 문서만 reader에게 전달됨
      • retrieval에 의존도가 높아짐
    • Query-dependent encoding: query에 따라 정답이 되는 answer span에 대한 encoding이 달라짐
      • query와 context를 concate해서 encoding을 하다보니 query가 달라지면 모두 다시 encoding을 해야함

 

  • Phrase search (document search) 
    • 문서 검색을 하듯이 phrase(절)을 바로 검색할 수는 없을까라는 아이디어에서 나옴
    • Phrase indexing
      • 문장에서 각 phrase마다 나누어 key vectors를 생성해둔다면
        query vector만 encoding하여서 Nearest Neighbor Search를 통해 정답을 바로 구할 수 있다는 것
      • 즉, query 벡터가 변해도 큰 작업이 필요가 없다는 것
    • Query-Agnostic Decomposition 
      • 위 식의 경우 q가 변함에 따라 F 모델을 다시 정의해야 함 
      • 아래처럼 F를 G와 H로 분리하는 방법론
        • q가 변함에 따라 H를 다시 정의할 필요가 없어 속도가 매우 빠름 
        • 하지만 F와 G와 H로 나눌 수 있다는 보장이 없음
      • 어떻게 각 phrase를 vector space 상에 잘 mapping할 수 있을지 
        • dense와 sparse embedding 사용해보자 - ! 

 

 

  • Dense-sparse Representation for Phrases
    • dense vector: 통사적, 의미적 정보를 담는데 효과적
    • sparse vector: 어휘적 정보를 담는데 효과적
    • Dense representation
      • dense vector 만드는 방법
        • Pre-trained LM (BERT)를 사용
        • Start vector와 end vector를 재사용해서 메모리 사용량을 줄임
      • Coherency vector
        • phrase가 한 단위의 문장 구성 요소에 해당하는지를 나타내
        • phrase를 형성하지 않는 phrase를 걸러내기 위해 사용함
        • start vector와 end vector를 이용하여 계산
        • 선택된 phrase가 좋은 phrase 여부를 판단하는 값
      • Question Embedding
        • Question을 임베딩할 때는 BERT의 [CLS] 토큰을 활용
        • Sparse representation
          • sparse vector 만드는 방법 
            • contextualized embedding(문맥화된 임베딩)을 활용하여 가장 관련성이 높은 n-gram으로 sparse vector 구성
            • target phrase의 주변 단어들과의 유사성을 구해서, 그 유사성을 각 단어에 해당하는 sparse vector 상에 dimension에 넣어줌
            • 일종의 TF-IDF와 비슷하지만 각 phrase마다 weight가 변하는 형태로 만들어 줄 수 있음
        •  

 

 

 

728x90