NL-178, Revisiting Open Domain Query Facet Extraction and Generation, ICTIR 2022

◼ Comment

  • https://colab.research.google.com/drive/1IVaxmq574aaPqEIlUiE0d-OPxsjXZyjX?usp=sharing#scrollTo=CJe0bLTdT3BN

  • 이 논문은 상당히 유용했다. 약간 개념을 알고보니 좀 더 이해가 된 거 같기도하고?
  • 큰 흐름은 다음과 같다.
    • query가 주어짐
    • 이를 검색했을 때, 나온 문서들의 스닙펫이 document로 간주
    • 이 두 개가 입력이고 출력은 facet이 된다.
  • 방법은 여러개 시도 했는데
    • 1) sequence labeling이라 해서 document 문서들에서 해당하는 facet token을 추출하는 것이다. 마치 NER처럼 학습하는 것이라 보면 된다.
    • 2) 생성 모델은 BART기반으로 시도하는데, 입력에 document을 넣어주냐 안넣어주냐에 따라 2가지 모델이 있다.
    • 3) multi-label classification으로 접근한 것은, 자주 등장하는 facet (prefix, suffix 등)을 모아서 이 중에서 적절한 facet으로 분류하는 모델로 학습하는 것이다. (이 방법은 너무 별론듯? 도메인이나 테스트 환경이 정해진 분포면 쓸만할지도)
    • 4) 빅모델(GPT3)에 프롬피팅으로 few-shot 넣어서 시도하는 방법
    • 5) document에서 추출한 n-gram들중, query하고 많이 겹치고 많이 등장하는 놈들이 facet이 되는 형태
    • 뭐 이것저것 해본 결과, 생성모델이(query+document) 제일 좋은 것 처럼 보인다.
  • 추가적으로 앙상블 느낌으로 aggregation하는 방법을 3가지 제시한다.
    • 즉 다양한 모델에서 생성된 facets들을 랭킹매겨서 보여주는 것인데
    • round-robin 방식이 젤 낫다고 한다.
    • 라운드 로빈 방식은, 모델이 5개라하고 각각 Facet을 3개씩 출력했다고 하자.
      • f11,f12,f13
      • f21,f22,f23,
      • ...
      • f51,f52,f53
      • f는 순서대로 관련성이 높게 정렬됐다고하자. (꼭 그럴필욘 없어보임)
      • [f1k,...,f5k]에서 각각 top-1을 뽑으면 5개의 top-1 max(f1k)가 뽑힐 것
      • 이렇게하면 다양하게 뽑힌다고한다.
    • 뭐 아무튼 이렇게 앙상블 하면 성능이 올라간다고 하는데.. 결국 이 방법은 더 많은 리소스를 쓰는 단점이 있긴함.
  • 그 외 실험에 대한 분석도 나쁘지 않은 내용들인듯

Abstract 

  • Web search 쿼리는 종종 다양한 측면(facets)으로 특징지어질 수 있습니다.
  • query facets 추출 및 생성에는 검색 인터페이스에서 사용자에게 search interface, search result diversification, clarifying question generation, and enabling exploratory search(탐색적 검색 활성화)와 같은 다양한 실제 응용 프로그램이 있습니다.
  • 이 작업에서는 query facet 추출 및 생성 작업을 재검토하고 sequence labeling로써 facet extraction, autoregressive text generation 또는 extreme multi-label classification로써 facet generation을 포함하여 이 작업의 다양한 공식을 연구합니다.
  • 우리는 광범위한 실험을 수행하고 이러한 접근 방식이 보완적인 facets 세트로 이어진다는 것을 입증합니다.
  • 우리는 또한 관련성과 다양성을 기반으로 다양한 집계 접근 방식을 탐색하여 작업의 다른 형식으로 생성된 facet sets을 결합했습니다.
  • 이 백서에 제시된 접근 방식은 precision and recall 측면에서 최첨단 기준선을 능가합니다.
  • 수동 주석을 통해 제안된 방법의 품질을 확인합니다.
  • facet extraction and generation을 위한 오픈 소스 소프트웨어가 없기 때문에 이 작업을 위한 다양한 모델 구현을 포함하는 Faspect라는 툴킷을 출시합니다.

1 INTRODUCTION

  • 검색 쿼리는 종종 쿼리의 암시적 또는 명시적(implicit or explicit) 측면인 여러 측면으로 특징지어질 수 있습니다.
  • Implicit facets은 종종 latent topics라고 합니다. 
  • 반면 explicit facets은 쿼리 측면을 나타내는 단어나 구입니다.
    • 예를 들어, query "James Webb"가 주어질 때, 몇 개의 facets은‘James Webb satellite’, ‘assembly of James Webb’, ‘first images from James Webb telescope’, ‘launch of James Webb’, and ‘James E. Webb’이 될 수 있다.
  • 오픈 도메인 세팅에서, facets들은 다양하고 knowledge bases을 사용해서 간단히 추출될 수 없다.
  • 때때로 패싯은 반드시 attributes에 해당하지 않지만 쿼리 subtopics으로 간주할 수 있습니다.
    • 예를 들어, search query "starting a business(창업)"에 대해, 몇 개의 패싯들은 ‘loans’, ‘requirements’, ‘ideas’, ‘tips’, ‘cost’이다.
  • 패싯 추출 또는 생성에 대한 그럴듯한 솔루션은 쿼리에 대한 응답으로 반환된 가장 많이 검색된 문서를 이용하는 것입니다.
  • Query facet identification에는 많은 응용 프로그램이 있습니다.
  • 쿼리에 대한 패싯 표시는 사용자가 원래 쿼리를 구체화 및 지정하고 다양한 subtopics을 탐색하는 데 도움이 될 수 있습니다.
  • 대화식 검색 시스템에서 명확한 질문을 하기 위해 explicit facets을 사용할 수 있습니다.
    • 사실상 내가 관심있는 부분일듯
  • implicit or explicit이든 쿼리 패싯을 사용하여 검색 결과를 다양화할 수도 있습니다.
  • open domain query facet extraction을 위한 초기 방법은 검색 엔진 결과 목록에서 terms 및 phrases의 빈도에 초점을 맞췄습니다.
    • 검색한 결과의 흐름을 따라서 활용?
    • 캠핑 -> 캠핑카에 관한 문서가 많이 나온다면.. 캠핑가=facet?
  • 또한 일부 동시 발생 features을 기반으로 각 phrase 에 점수를 매기는 일부 supervised approaches이 있습니다.
  • 최근 Hashemi는 쿼리 패싯의 효과적인 생성을 위해 neural 모델을 사용할 수 있음을 보여주었습니다.
  • 이 백서에서는 작업의 다양한 공식을 제공하고 그 효과를 탐색하여 이 작업을 다시 검토합니다.
    • 먼저 검색된 상위 문서에서 sequence labeling task으로 쿼리 패싯 추출을 공식화합니다.
    • 둘째, 쿼리 패싯 생성을 autoregressive text generation 문제로 공식화합니다.
    • 셋째, multi-label classification task으로 캐스팅합니다. 
    • 마지막으로 large PLM(예: GPT-3)에서 프롬프트 기반(또는 조건부) 텍스트 생성으로 공식화합니다.
  • 또한 term 및 phrase 빈도를 기반으로 단순하지만 효과적인 unsupervised 패싯 추출에서 아이디어를 차용하여 이러한 공식을 보완합니다.
  • 우리는 다양한 precision- and recall-oriented 각도에서 이러한 모든 formulations을 연구합니다.
  • 패싯 생성 모델이 패싯 추출 모델보다 더 효과적임을 보여줍니다.
    • 쿼리에 없는 패싯들이 더 많기 때문? 추출은 쿼리속 단어에서만 뽑는게 맞나?
  • 우리의 분석은 이러한 공식이 보완적인 정보를 제공한다는 것을 보여줍니다.
  • 이 관찰에 따라 서로 다른 모델에서 생성된 패싯을 aggregating 하기위한 여러 가지 접근 방식을 살펴봅니다.
    • 앙상블 하는 느낌인가? 뒷 부분 봐야할듯
  • 우리는 생성된 패싯의 소스를 다양화하는 round-robin approach가 recall 측면에서 상당한 개선을 가져올 수 있음을 보여줍니다.
  • The main contributions of this work include:
    • (1) text understanding and generation의 최근 발전에 힘입어 패싯 추출 및 생성 작업을 위한 새로운 공식 도입.
    • (2) offline evaluation를 통해 이 논문에서 연구한 모델이 baselines보다 훨씬 뛰어난 성능을 발휘함을 입증합니다. 우리는 이들의 조합이 리콜 개선으로 이어진다는 것을 보여줍니다. 결과의 manual annotation은 생성된 패싯의 높은 품질을 강조합니다.
    • (3) 패싯 추출 및 생성의 중요성에도 불구하고 우리가 아는 한 이 작업을 위한 오픈 소스 툴킷은 없습니다. 따라서 이 작업의 또 다른 기여는 이 백서에 포함된 패싯 추출 및 생성 방법의 다양한 구현을 포함하는 Faspect라는 오픈 소스 툴킷입니다. 이러한 리소스는 연구원과 실무자가 연구에서 패싯 추출 및 생성을 사용하는 경로를 원활하게 합니다.

2 RELATED WORK

  • 패싯 추출에 대한 초기 작업의 대부분은 다양한 외부 리소스를 사용하는 방법에 중점을 두었습니다.
    • Dakka와 Ipeirotis는 Wikipedia 및 WordNet의 엔터티 계층 구조를 기반으로 잠재적 패싯 용어를 추출했습니다.
    • 후속 작업에서 Li는 Wikipedia 하이퍼링크 및 범주에서 관련 패싯을 표시하는 패싯 검색 시스템을 개발했습니다.
    • Stoica는 WordNet에서 hypernym 관계를 사용하여 항목의 텍스트 설명에서 계층적 패싯 메타데이터를 생성하는 방법을 제안했습니다.
    • Oren은 반구조화된 RDF 데이터를 위한 패싯 인터페이스를 개발했습니다.
    • Kohlschtter는 개인화 된 PageRank 링크 분석 및 주석 분류법을 기반으로 한 패싯 추출 방법을 제시했습니다.
    • 선별된 리소스를 사용하는 방법은 경우에 따라 잘 작동할 수 있지만 많은 도메인으로 쉽게 확장할 수 없습니다.
    • 이는 구축된 외부소스를 이용해서 추출하는거 같은데.. 옛날 방식이긴한듯. 뭐 때에 따라 한정된 셋에선 더욱 효과적일 수는 있음
  • unstructured and semi-structured text에서 패싯을 추출하기 위한 unsupervised 방법도 있습니다.
    • Dou는 텍스트 패턴을 사용하여 상위 웹 검색 결과 내에서 빈번한 목록을 집계하여 쿼리 차원을 검색하는 QDMiner라는 최초의 개방형 도메인 패싯 추출 시스템 중 하나를 개발했습니다.
    • Wang은 가장 많이 검색된 문서에서 유사한 텍스트 조각을 클러스터링하여 패싯을 추출했습니다. 쿼리 로그에서 훈련된 클러스터와 언어 모델을 기반으로 각 패싯에 점수를 매겼습니다.
    • Wei는 잠재적인 패싯 단어 간의 의미론적 관계를 기반으로 패싯 트리를 구축했습니다.
    • Deveaud는 검색된 문서에서 LDA를 사용하여 잠재적(암시적) 쿼리 개념을 식별했습니다.
    • 전체적인 컨셉이, 검색된 문서들을 분석해서, 클러스털이하고, 패싯단어간의 관계를 통해 트리르 구축하는 등? 하는 방법인듯
    • 이 방법은 검색에 유용할 수 있지만 모든 latent representation을 쉽게 해석할 수 없기 때문에 explicit 패싯을 추출하지 못합니다.
  • 보다 최근에는 패싯 추출을 위한 몇 가지 supervised 방법이 도입되었습니다.
  • 예를 들어 Kong과 Allan은 두 용어가 쿼리 패싯에서 함께 그룹화될 가능성 외에도 각 후보 용어가 패싯 용어가 될 가능성을 학습하는 확률적 그래픽 모델을 제안했습니다.
    • 후속 작업에서 저자는 예상 성능 측정을 최적화하고 일부 쿼리에 대한 패싯을 선택적으로 표시하는 성능 예측 모델을 사용하는 그래픽 모델을 제안했습니다.
  • 가장 최근에 Hashemi(NL-174)는 각 검색 쿼리에 대한 여러 의도 표현을 학습할 수 있는 인코더-디코더 변환기 기반 모델을 제안했습니다.
    • 따라서 그들의 방법은 패싯 생성에 잠재적으로 사용될 수 있습니다.
  • 이 섹션에서 언급된 모든 방법에서 영감을 받아 추출(감독 및 감독되지 않은) 및 생성 방법의 다양한 공식과 그 조합을 연구합니다.
  • 이 섹션에서 언급된 가장 강력한 방법 중 일부는 실험에서 기준선으로 사용됩니다.

3 FACET EXTRACTION AND GENERATION

  • Problem Statement: 
    • 이 논문에서는 주어진 쿼리에 대한 검색 엔진 결과 페이지(SERP)에서 패싯을 추출하고 생성하는 데 중점을 둡니다.
    • 𝑇 = {(𝑞1, 𝐷1, 𝐹1), (𝑞2, 𝐷2, 𝐹2), · · · , (𝑞𝑛, 𝐷𝑛, 𝐹𝑛)}은 n개의 triplets (𝑞𝑖 , 𝐷𝑖 , 𝐹𝑖)을 가진 학습 세트이다.
      • 여기서 qi는 open domain search query이고
      • 𝐷𝑖 = [𝑑𝑖1, 𝑑𝑖2, · · · , 𝑑𝑖𝑘 ]는 query qi에 대해 검색모델에 의해 리턴된 top-k documents이고
      • 𝐹𝑖 = {𝑓𝑖1, 𝑓𝑖2, · · · , 𝑓𝑖𝑚}는 query qi와 연관된 m개의 ground truth facets이다.
    • 각 facet 𝑓𝑖𝑗는 검색된 상위문서 𝐷𝑖에 나타날 수도 있고 안나타날 수도 있다.
    • 테스크는 facet extraction, generation or classification 모델 𝑀𝜃을 학습하여서 어떠한 unseen query q와 검색결과 리스트 D에대해 𝑀𝜃(𝑞, 𝐷)가 정확한 facet 리스트들을 반환하도록하는 것이다.
  • Overview: 
    • 다음에서는 facet extraction or generation을 위한 다섯 가지 방법을 설명합니다.
    • 이러한 formulations은 보완적인 정보를 제공하므로 이론적으로 결과를 집계하여 이점을 얻을 수 있습니다.
    • 우리는 실험에서 이것을 경험적으로 검증합니다.
    • 첫 번째 formulation은 facet extraction 문제를 sequence labeling 작업으로 캐스팅하는 반면 두 번째 formulation은 facet generation 문제를 autoregressive text generation으로 봅니다.
    • 세 번째 formulation은 작업을 극단적인 multi-label classification 문제로 처리합니다.
    • 마지막 formulation은 SERP의 모든 문서를 살펴보고 간단한 빈도(frequency) 기반 접근 방식을 기반으로 여러 패싯을 선택합니다.
    • 그 결과 간단하면서도 효과적인 솔루션이 만들어집니다.
    • 4가지 방법인데?
    • 어쨌든, 이러한 다양한 방법으로 facet을 추출하든 생성할 수 있는데, 이 결과들을 aggregating하여 성능을 향상시키는 것 같음

3.1 Facet Extraction as Sequence Labeling

  • entity recognition, keyphrase extraction 및 question answering에 성공적으로 사용된 시퀀스 레이블 지정 작업으로 패싯 추출 문제를 캐스팅할 수 있습니다.
  • 이를 위해 쿼리 𝑞𝑖에 대한 응답으로 반환된 결과 목록의 모든 문서 𝑑𝑖𝑗에 대해 BIO 태깅 형식을 기반으로 시퀀스 라벨링 출력을 생성합니다.
    • 더 자세하게는 문서 𝑑𝑖𝑗를 토큰화하고 각 토큰에 레이블 B, I 또는 O를 할당합니다.
    • 문서에 있는 문장들의 각 토큰들에 대해 B, I, O로 태깅한다는 것인가?
    • 뭐 대부분은 O이겠지만
  • 모든 토큰 𝑤𝑥 ∈ tokenize(𝑑𝑖𝑗)에 대해 다음 labeling function을 사용합니다.
  • 따라서 레이블 B 다음에는 둘 이상의 토큰이 있는 용어에 대해 항상 여러 개의 I 레이블이 옵니다.
    • 두 개가 아닌 세 개의 레이블을(BIO) 사용하는 이유는 두 개의 다른 패싯이 문서에서 연속적인 단어인 극단적인 경우를 처리할 수 있기 때문입니다.
    • BO만 쓰면 BBB의 패싯 경계선이 없다는 것, BIO쓰면 BIB 같은 식으로 패싯의 시작위치를 알 수 있음
  • 레이블 B와 I는 𝐹𝑖의 전체 패싯 텍스트가 𝑑𝑖𝑗에 언급된 경우에만 사용됩니다.
    • 예) 패싯: 캠핑 용품일때, 캠핑 혹은 용품만 있는 경우에 대해서는 O로 레이블한다는 것인듯
  • 따라서 첫 번째 구성 요소 𝑀𝜃ext는 각 문서 토큰을 B, I 또는 O로 분류합니다.
    • 우리는 𝑀𝜃ext를 모델링하기 위해 RoBERTa를 사용하고 BERT의 각 토큰 표현에 출력 차원이 3인 MLP를 적용합니다.
    • [CLS] 쿼리 토큰 [SEP] 문서 토큰 [SEP]을 BERT 입력으로 사용하고 다음 likelihood objective를 최적화합니다.

    • where 
    • 확률 𝑝(𝑦𝑖𝑗𝑥 |𝑀𝜃ext(𝑞𝑖 , 𝑑𝑖𝑗)𝑥는 𝑥번째 토큰에 대한 모델의 출력에 softmax 연산자를 적용하여 계산할 수 있습니다.
  • 추론 시 𝐷𝑖의 모든 문서에 대한 모델 출력을 가져와 빈도별(frequency)로 정렬합니다.
    • 이것은 SERP의 다른 문서에서 여러 번 생성된 패싯이 더 높은 가중치를 얻는다는 것을 의미합니다.
    • 각각의 D에서 뽑은 패싯이 있을 것인데, 자주 뽑힌 패싯이 더 높은 확률로 패싯일 것이다? 라는 가정인듯

3.2 Autoregressive Facet Generation

  • 두 번째 형태에서는, 우리는 autoregressive text generation 모델을 사용해서 abstract facet generation을 수행한다.
  • 목표를 위해, 모든 query qi에서, 우리는 separation token을 사용해서 Fi의 facets을 컨캣한다.
    • Let 𝑦′𝑖 denote this concatenation. 
  • 우리는 텍스트 생성에 BART을 사용한다.
  • We train two variations of this generative model: 
    • (1) 하나의 변형은 오직 query tokens을 취하고 facets을 생성한다.
    • (2) 다른 변형은 query tokens와 SERP에 있는 모든 documents의 document tokens을 입력으로써 취하고 (separated by [SEP]) 하나씩 facet tokens을 생성한다.
  • Therefore, we use the following objective:
    • where 𝑣 is the BART encoder’s output. 
  • 인퍼런스시, beam search and sampling을 통해 autoregressive 텍스트 생성을 수행하여 이전에 생성된 토큰을 기반으로 다음 토큰의 확률을 조절합니다.

3.3 Facet Generation as Extreme Multi-Label Classification

  • 마지막 supervised 형태에서는, 우리는 facet generation task을 extreme multi-lable text classification 문제로써 다룬다.
  • 이 접근법의 직관은 몇몇 facets은 매우 빈번하게 다른 쿼리들에서 등장하는 것이다.
    • 예를 들어, "for sale" facet은 상품과 관련된 여러 개의 쿼리들에서 등장할 수 있고,
    • 혹은 facet "review"은 영화, 책, 게임등과 관련된 다양한 쿼리들과 연관이 있을 수 있다.
  • 자주 등장하는 terms F의 셋을 식별한 뒤에, 우리는 extreme multi-label classifier을 학습시켜서 쿼리와 관련된 문서가 주어졌을 때, 각각 개별의 term의 관련성의 확률을 추정한다.
  • 자주 등장하는 facets을 고르기전에, 우리는 몇 개의 pre-processing인 전치사 및 facet phrase의 앞과 뒤의 쿼리토큰들 제거를 적용한다.
    • 예를 들어 , query "world series 2018"을 위한 facet term "world series of lacrosse 2018"는 "lacrosse"로 정규화될 수 있다.
    • 그러면 이 데이터는 "world series 2018" --> "lacrosse"로 분류되도록 정제되는 것이고
    • 이런식으로 많이 모으면, 분류되어야할 정규화된 facet (lacrosse와 같은)들이 클래스가 된다. 
    • 아마 빈도순으로 클래스 수를 조정하겠지만?
  • 이 작업에서는 RoBERTa를 사용하여 𝑀𝜃mcl 을 모델링하고, [CLS] 토큰의 표현에 선형 변환을 적용한 후 시그모이드 활성화를 적용하여 모든 패싯의 확률을 구합니다.
  • We train the model by optimizing the binary cross-entropy objective:
    • 아마 입력에 대한 클래스가 여러개 일 수 있어서 이렇게 Loss을 잰듯?
    • 즉 "캠핑" --> "용품", "장소" 등 여러 클래스를 가질 수 있으니, 각 클래스에 대해 위처럼 확률을 구한 것일듯
    • 여기서 𝑦′𝑖,𝑗 = 𝑝(𝑦𝑖𝑗 |𝑀𝜃mcl(𝑞𝑖 , 𝐷𝑖))는 쿼리 𝑞𝑖와 문서 목록 𝐷𝑖이 주어질 때 패싯 𝑓𝑗 ∈ 𝐹의 관련성 확률을 나타냅니다, 그리고 𝑗번째 facet class에 대한 모델의 출력에 시그모이드 연산자를 적용하여 계산할 수 있습니다.

3.4 Facet Generation by Prompting Large Language Models

  • 이 접근법에서는, 우리는 LLM의 few-shot 효과를 조사한다.
  • 그림 1과 같이 task description과 소수의 예제를 사용하여 GPT-3를 실험하고 패싯을 생성합니다.
  • 프롬프트를 통해 모든 예제 출력의 시작 부분에 패싯 수를 정의하여 GPT-3가 생성할 수 있는 패싯 수를 제어할 수 있습니다.

3.5 Unsupervised Facet Extraction from SERP

  • 제안된 접근 방식을 보완하기 위해 반환된 문서 𝐷𝑖 에서 빈번한 ngram을 추출하는 간단하면서도 효과적인 unsupervised 방법을 사용합니다.
  • 여러 기준에 따라 대부분의 ngram을 걸러냅니다.
    • 동사, 전치사, 한정사 또는 기호로 시작하거나 끝나는 ngram은 건너뜁니다. 
    • 또한 대명사로 끝나는 ngram도 걸러냅니다.
    • 이를 위해 NLTK 라이브러리의 평균 퍼셉트론 태거가 제공하는 품사 태그를 사용합니다.
  • 다음 scoring function을 사용하여 나머지 ngram을 정렬합니다.
    • 여기서 𝑓′는 쿼리 𝑞𝑖에 대한 패싯 후보 ngram이고, overlap(𝑞𝑖, 𝑓′) 함수는 𝑓′에 나타나는 쿼리의 단어 백분율을 반환하고, freq(𝑓′, 𝐷𝑖)는 ngram 𝑓′의 빈도를 계산합니다. 
    • 가장 많이 검색된 문서 𝐷𝑖, 𝛼는 하이퍼파라미터입니다.
    • 쉽게 생각하면, 문서들에서 추출한 n-gram들중, query하고 많이 겹치고 많이 등장하는 놈들이 facet이 되는 형태
  • 이 scoring function에서 쿼리 중복 도입의 이면에 있는 intuition은 많은 패싯이 종종 쿼리의 접두사 또는 접미사로 나타난다는 것입니다.
  • 예를 들어 'cars' 쿼리의 경우 일부 후보 ngram은 이 쿼리에 대해 실행 가능한 후보 패싯인 'cars for sale' 또는 'used cars'일 수 있습니다.

3.6 Facet Lists Aggregation

  • 실험에서 볼 수 있듯이 앞서 언급한 이러한 방법은 보완적인 정보를 제공하므로 이러한 방법의 aggregation 는 특히 recall측면에서 개선으로 이어질 것으로 예상됩니다.
  • We explored three aggregation methods: 
    • Learning to Rank, 
    • MMR diversification 
    • Round Robin Diversification.
  • Facet Relevance Ranking: 
    • bi-encoder 모델을 사용하여 각 쿼리에 대한 각 후보 패싯에 점수를 할당하고 점수를 기준으로 내림차순으로 다시 순위를 매깁니다.
    • 쿼리와 패싯 representations의 내적을 사용하여 패싯 relevance 점수를 계산합니다: 
      • sim(𝑞𝑖 , 𝑓𝑖) = 𝐸(𝑞𝑖) · 𝐸(𝑓𝑖).
      • embedding function 𝐸의 경우 여러 text similarity tasks에서 pre-trained BERT의 평균 토큰 임베딩을 사용합니다.
      • embedding function 𝐸에 대한 최적의 매개변수를 찾기 위해 MIMICS 데이터 세트의 모든 positive query-facet pair (𝑞𝑖, 𝑓 + 𝑖)에 대해 cross-entropy loss을 최소화합니다.
      • 여기서 𝐵는 training batch size이고 {𝑓-i,j}^{B-1}_{j=1}은 in-batch negative examples 집합입니다.
      • 즉 주어진 q,f는 positive 쌍이고 학습 배치에서 다른 인스턴스는 negative 쌍으로보고 학습한다.
      • 학습된 BERT는 q와 f의 postivie / negative을 구분할 수 있게 된다는 것
      • 이를 통해 유사도 점수로 다양하게 생성된 facet들을 랭킹하고 상위 facet들을 고르는 것인가?
      • 이로부터 마찬가지로 BERT 관련성 점수를 reward로 생성하도록 학습 시도해볼 수 있겠는데?
  • MMR diversification: 
    • 두 번째 aggregation 방법에서는 MMR(Maximal Marginal Relevance)이라는 popular diversification approach을 사용합니다.
    • 서로 다른 모델이 중복 패싯을 생성할 수 있으며 relevance ranking 모델은 패싯을 독립적으로 살펴봅니다.
      • 따라서 중복 패싯을 선택할 수 있으며 다양화를 통해 잠재적으로 이 문제를 해결할 수 있습니다.
      • 근데 걍 중복제거하면 되는거 아닌가?
    • MMR 접근 방식은 패싯을 하나씩 선택하고 각 패싯에 다음과 같이 점수를 매깁니다.
      • 여기서 𝑅은 주어진 쿼리에 대해 추출된 패싯 목록 𝑞 및 𝑆 이미 선택된 패싯 집합입니다. 
      • 𝜆은 하이퍼 매개변수입니다.
      • similarity function의 경우 relevance ranking에 사용된 것과 동일한 모델을 사용합니다(위 참조).
      • 과정을 생각해보면 하나식 facet을 선택해간다. 예로 4번째 facet을 선택하는 상황이라고 하자.
      • 이미 선택된 f1,f2,f3들과 후보 f4-k와의 유사성을 계산한다.
      • f4-k와 가장 큰 유사한 facet이 f2라고하자.
      • 그러면 f4-k에 대한 점수는 q와 f4-k의 유사도점수에서 f2와 f4-k의 유사도점수를 뺀 것이다.
      • 이렇게 f4-1, f4-2, ..., 등에 점수를 게산해서 가장큰 점수를 가진 f4-k가 다음의 facet으로 선택된다.
      • relevance ranking은 sim(q,fi)만을 고려하는 거였는데
      • MMR에서는 이미 선택된 facet과 새롭게 선택할 facet간의 유사도점수를 빼주기 때문에 새로운 facet을 선택하게 된다는 것이다.
  • Round Robin Diversification: 
    • round-robin 기반 접근 방식에서는 서로 다른 모델에서 생성된 4개의 패싯 목록을 반복하고 원하는 수의 패싯을 생성할 때까지 각 목록에서 highest score를 가진 패싯을 선택합니다.
    • 이 접근 방식은 기본적으로 서로 다른 모델에서 생성된 패싯을 기반으로 결과 목록을 다양화합니다.
    • 걍 다양한 모델에서 생성한거의 top-1들을 합치는 것?
    • 그럼 알아서 자연스럽게 다양한 결과가 나온다?

4 EXPERIMENTS

4.1 Dataset

  • Hashemi을 따라서, 저희는 실험에서 MIMICS 데이터셋을 사용했습니다.
  • MIMICS에는 Bing 쿼리 로그에서 샘플링된 웹 검색 쿼리가 포함되어 있으며, 각 쿼리에 대해 최대 5개의 패싯과 반환된 결과 스니펫을 제공합니다. 
    • 여기서 패싯은 실제로는 데이터세트에서 options라고 말하는 부분임
  • MIMICS는 세 개의 하위 집합으로 구성됩니다. 
    • 40만 개 이상의 쿼리가 포함된 가장 큰 하위 집합인 MIMICS-Click은 훈련에 사용했고, 2832개의 쿼리가 포함된 MIMICS-Manual은 평가에 사용했습니다. 
    • MIMICS-ClickExplore은 아무데도 안쓴건가?
  • 검색된 문서의 경우 MIMICS에는 Bing의 웹 검색 API에서 반환된 웹 페이지 목록이 포함되어 있습니다. 
  • [10]과 유사하게 반환된 snippets을 실험에서 document 텍스트로 사용합니다.
    • [10]: Learning Multiple Intent Representations for Search Queries. 
    • 검색된 문서는 전체 텍스트가 입력으로 들어가는게 아니고, 스닙펫만을 document을 쓰는 것이었!!

4.2 Evaluation Metrics

  • To evaluate our approaches, we follow Hashemi and use four sets of metrics: 
    • (1) precision, recall, and F1 of term overlap between the produced and the ground truth facets, 
    • (2) precision, recall, and F1 of exact match between the produced and the ground truth facet sets, 
    • (3) the set BLEU 
    • (4) the set BERT-Score between the mentioned sets. 
  • 메트릭의 정확한 정의는 [10]을 참조하십시오.
  • 각 모델에서 추출된 상위 5개 패싯을 사용하여 MIMICS-Manual에서 평가를 수행합니다.

4.3 Experimental Setup

  • 시퀀스 라벨링 모델의 경우, 최대 시퀀스 길이 400 토큰, Adam 옵티마이저, 배치 크기 64, 초기learning rate 5 × 10-5를 사용해 5 epoch에 대해 RoBERTa-base를 미세 조정했습니다. 
  • 훈련 세트의 두 가지 변형을 실험했습니다. 
    • snippets을 포함하지만, facet이 언급된게 없는 것을 negative examples로 하는 것과
      • 즉 이는, SERP에는 데이터가 있지만, MIMICS에는 없는 query을 의미하는 것이다.
      • 따라서 주어진 facet이 없는 query기 때문에 (생성에 사용할) positive sample로는 사용할 수 없고
      • 다른 positive sample의 negatvie sample로써 활용하겠다는 것
      • negative sample로 활용할 때는 document인 snippet만을 가져와서 활용하는 것일듯
    • 적어도 하나의 facet을 가지는 snippets 만을 포함하는 것
      • 이는 SERP와 MIMICS에 같이 있는 query만을 가져와서 활용하는 것 같다.
  • negative examples를 추가하여 모델을 훈련하면 precision가 높아지지만, negative examples 없이 교육할 때 모델은 ranking step전에 최대화하려는 메트릭인 recall을 훨씬 높게 달성한다.
  • 시퀀스 생성 모델의 경우 Adam 옵티마이저, 배치 크기 32 및 초기 학습 속도 5 × 10-5를 사용하여 최대 시퀀스 길이 470 토큰으로 BART 기반을 미세 조정했습니다.
  • 시퀀스 생성을 위해 nucleus sampling을 사용하여 모든 생성 단계에서 누적 확률 0.8, 온도 0.7로 최상위 토큰을 유지했습니다.
  • 다중 레이블 패싯 분류 모델의 경우 클래스를 선택하기 위해 {500, 1000, 2000} frequency thresholds을 실험했습니다.
    • 결국 전처리 후 minimum frequency 2000으로 패싯을 유지하여 787개의 클래스를 생성했습니다.
  • Adam 옵티마이저, 배치 크기 32, 초기 학습 속도 5 × 10-5를 사용하여 RoBERTa 기반을 2 epoch 동안 미세 조정했습니다.
  • {0.005, 0.01, 0.05, 0.1, 0.5}에서 다양한 classification thresholds을 실험한 결과 0.05가 최상의 메트릭을 제공하는 것으로 나타났습니다.

4.4 Results

  • 표 1은 다양한 패싯 추출 및 생성 접근 방식의 성능을 요약한 것입니다.
    • Ground Truth에는 쿼리당 최대 5개의 패싯이 있으므로 각 모델은 쿼리당 5개의 패싯을 생성합니다.
    • 생성 패싯수는 gt의 max값인 5를 사용한듯
  • facet generation and sequence labeling 모델은 일반적으로 기준선을 포함한 다른 방법보다 성능이 좋습니다.
  • baselines에 대한 개선은 거의 모든 경우에 통계적으로 유의미합니다.
  • sequence labeling 접근 방식은 패싯 추출 모델이기 때문에 정확한 일치 메트릭 측면에서 facet generation 모델을 능가합니다.
  • 그러나 semantic similarities을 측정하는 Set BERT-Score는 facet generation 모델에 더 높은 가중치를 부여합니다.
  • Facet generation 모델은 일반적으로 term overlap 및 Set BLEU(phrase level matching 메트릭)에 대해 잘 수행됩니다.
  • extreme multi-label facet classification 모델은 term overlap 및 Set BLEU 성능이 가장 낮은 것으로 보이지만 이는 모델이 훈련 세트에서 관찰된 787개의 가장 빈번한 패싯만 예측하도록 훈련되었기 때문에 예상됩니다.
    • 즉, 이렇게 그냥 빈번한 facet중에 하나 고르는 것은 오히려 생성모델보다 별로인듯?
  • GPT-3 모델도 성능이 좋지 않지만 few-shot learning 모델이며 훈련 데이터에서 무작위로 5개의 예만 프롬프트로 본다는 점에 유의해야 합니다.
    • 즉 공정한 비교는 아니긴 함
    • GPT-3말고 chatgpt나 opensource와 비교해보면 궁금하긴함
    • 제한된 리소스로 인해 전체 교육 세트에서 GPT-3를 미세 조정할 수 없었습니다.
  • supervised models의 동작을 더 잘 이해하기 위해 token level에서 overlap coefficient를 계산하여 출력의 quantitative comparison를 수행합니다.
    • 모델끼리의 출력을 비교한듯
    • 패싯 A와 B의 두 세트에 대해 overlap coefficient는 (𝐴 ∩ 𝐵)/min(|𝐴|, |𝐵|))로 지정됩니다.
    • 결과는 그림 2에 나와 있습니다. 
    • 모델의 출력이 크게 다르다는 것을 발견했습니다.
    • sequence labeling 모델에서 추출된 패싯은 facet generation 모델에서 생성된 패싯과 중첩이 매우 낮은 것으로 보이며 토큰 수준 중첩이 24-28%에 불과합니다.
    • 두 개의 패싯 생성 모델은 유일한 차이점이 입력에 문서를 포함하는 것임에도 불구하고 59%만 겹치는 상당히 다른 출력을 생성합니다.
    • 이는 top retrieved documents의 정보를 사용해서만 많은 패싯을 생성할 수 있음을 나타냅니다.
    • 즉, document을 입력에 넣었을때와 아닐때의 출력의 차이가 꽤 있다.
  • Recall-Focused Models. 
    • 그림 2에서 우리는 모델이 서로 다른 패싯을 생성한다는 것을 알고 있으므로 recall을 향상시키기 위해 섹션 3.6에서 언급한 세 가지 facet aggregation 방법을 평가합니다 (표 3의 마지막 세 행 참조).
    • 흥미롭게도 재현율을 최대화하는 가장 효과적인 방법은 round robin diversification 접근 방식입니다.
    • term overlap recall 측면에서 모델의 성능을 더 깊이 이해하기 위해 추출된 패싯의 다양한 수에 대한 성능을 표 3에 보고합니다.
      • 원래는 모델이 5개만 생성하도록 해서 평가했었는데,
      • 표 3에서는 k개를 생성하게 하고, 이 k개 facet중에 gt facet에 얼마나 포함되는지에 따라 R@K을 계산한듯
    • 우리는 round robin diversification를 사용하여 결과를 결합할 때 maximum potential recall이 크게 증가한다는 것을 관찰합니다.
    • 표 3에는 Sequence Labeling 및 GPT-3 모델에 대해 Recall@30에 대해 보고된 메트릭이 없습니다.
    • 그 이유는 Sequence Labeling 모델이 평가 세트의 어떤 쿼리에 대해서도 30개 이상의 패싯을 추출하지 못했고, GPT-3는 최대 15개의 패싯만 출력하도록 유도했기 때문입니다.
  • Ablation Study. 
    • aggregation 집합에서 방법을 하나씩 제거하여 facet aggregation 방법에 대한 ablation study를 수행했습니다.
    • aggregation 방법은 가장 성능이 좋은 모델인 round-robin 방식입니다.
    • 제거 순서는 표 1의 term overlap F1를 기준으로 결정됩니다.
    • 절제 연구 결과는 표 4에 보고되어 있습니다.
    • 성능이 좋지 않은 few-shot learning 및 unsupervised approaches을 포함하여 facet aggregation에 모든 모델을 포함하면 더 깊은 순위 컷오프에 대한 recall이 향상되는 것으로 나타났습니다.
    • 그러나 성능이 좋지 않은 모델은 Recall@5 및 Recall@10에 부정적인 영향을 미칩니다.
  • Case Study. 
    • 마지막으로 표 2는 6개 모델에서 생성된 패싯의 몇 가지 예를 보고합니다.
    • 많은 경우에 일부 패싯은 모델 중 하나에 의해서만 추출될 수 있음을 알 수 있으며, 이는 서로 다른 모델 간에 상호 보완적인 정보를 관찰한 것을 확인시켜 줍니다.
  • Human Evaluation.
    • 실제 환경에서 다양한 모델이 얼마나 잘 작동하는지 더 잘 이해하기 위해 인간 평가를 수행했습니다.
    • MIMICS-Manual에 대한 평가는 실제 성능을 잘 반영하지 않습니다. 
    • 각 쿼리에 대한 주석이 달린 실측 패싯 목록이 그다지 포괄적이지 않아 정밀도와 재현율을 제대로 예측하기 어렵기 때문입니다.
    • MIMICS-Manual에서 임의로 50개의 쿼리를 샘플링하고 모든 모델의 결과에 주석을 추가하기 위해 표준 풀링 접근 방식을 따랐습니다.
    • 각 패싯에 대해 우리는 3명의 전문 주석 작성자(이 작업의 저자가 아님)에게 해당 패싯을 관련성(레이블 2), 부분적으로 관련성(레이블 1) 및 관련 없음(레이블 0)으로 주석을 달도록 요청했습니다.
    • 각 모델들이 생성한 facet들에 대해, 0~2점으로 점수를 매긴다.
    • 그리고 relevance로 랭킹한 facet 순서와 사람점수로 랭킹한 facet 순서사이를 metric을 계산한듯?
    • 부분적으로 관련이 있는 패싯은 관련은 있지만 제대로 추출되지 않은 패싯입니다(예: 문법 오류가 있거나 전치사로 끝나는 등).
    • Relevant, Partially Relevant 및 Irrelevant 레이블에 대한 주석 일치도는 각각 67.97%, 78.29% 및 84.39%입니다.
    • 이는 64.72%의 전체 주석 일치를 제공합니다. 
    • 의견이 다를 경우 다수결 방식을 사용합니다.
    • 다음 지표를 보고합니다: 
      • normalized cumulative gain (nCG) 
      • normalized discounted cumulative gain (nDCG)
    • nCG를 포함시킨 이유는 order discount이 없고 recall-oriented metrics이며 TREC Deep Learning Tracks[3]에서 사용되어 왔기 때문입니다.
    • human 평가의 결과는 표 5에서 볼 수 있습니다.
    • 이 실험의 목적은 사람의 주석을 통해 우리의 방법으로 생성된 결과의 품질을 확인하는 것입니다.
    • 우리는 모델의 성능이 상당히 높다는 것을 관찰합니다.
    • 쿼리와 문서를 사용하는 패싯 생성 모델은 여전히 우수한 성능을 보여줍니다.
    • GPT-3는 nCG 및 nDCG 측면에서 최고의 감독 모델에 매우 가깝습니다.
    • facet classification 모델은 매우 선택적입니다.
    • 이러한 결과를 바탕으로 패싯 추출 작업에 대한 자동 평가에 의존하면 모델의 실제 성능을 추정하려고 할 때 잘못된 결과를 초래할 수 있다는 결론을 내립니다.
    • MIMICS와 같은 선별된 데이터 세트는 불완전한 주석으로 인해 모델의 상대적 비교에만 사용할 수 있습니다.
    • 모델간의 비교에는 자동평가를 쓸 수 있으나, 모델의 절대적 성능은 측정하기 애매할 수 있다.

5 CONCLUSIONS

  • 이 논문에서, 우리는 검색결과들로부터 명시적인 facet terms에 대해 extraction과 generation 여러 formulations을 제안하고 분석했다.
  • 우리는 정량적으로 formulations의 다른점이 facet sets을 상호보완적으로 이끄는 것을 보여주었다.
  • 우리는 다양한 facet aggregation 방법들을 연구했고, round-robin diversification 접근법이 많은 recall 향상을 이끄는 것을 입증했다.
  • 우리의 모델은 과거의 SoTA보다 좋다.
  • 우리는 facet extraction과 generation을 위한 오픈소스 툴킷 Faspect을 릴리즈했다.

6 FUTURE WORK

  • 이 작업에서 우리는 여러 모델에서 패싯을 추출하고 집계하면 MIMICS 데이터 세트에서 패싯 리콜을 크게 향상시킬 수 있음을 입증했습니다.
  • single end-to-end model이 어떻게 비슷한 성능을 달성할 수 있는지는 여전히 open question입니다.
  • 멀티태스킹 학습은 이 목표를 향한 잠재적인 방향이 될 수 있습니다.
  • 추출된 패싯 목록의 순위를 매기는 세 가지 방법을 설명했습니다.
  • 그러나 지도 모델, 관련성 순위 및 MMR은 무작위로 샘플링된 다른 패싯 중에서 ground truth 패싯의 순위를 매길 때 좋은 성능을 보여주었지만 추출된 패싯의 순위를 개선하지 않는 것 같습니다.
  • 성능 저하의 원인이 Ground Truth에 나타나지 않는 추출된 관련 패싯의 비율이 높기 때문인지 여부를 확인하려면 추가 분석이 필요합니다.
  • 앞으로 우리는 질문 생성 및 검색 결과 다양화를 명확히 하기 위해 연구된 패싯 생성 모델을 사용하여 이 작업을 확장할 계획입니다.
Reference

댓글