330 likes | 571 Views
Ch 6 Scoring, term weighting, and the vector space model. 2009. 10. 19 . 최 성 빈. Introduction. Boolean query 를 지원하는 인덱스 -> Document 가 Query 에 match 하거나 , 아니거나 큰 Document collection 의 경우에는 matching document 의 숫자가 사람이 넘겨볼 수 있는 숫자를 넘어선다
E N D
Ch 6 Scoring, term weighting, and the vector space model 2009. 10. 19. 최 성 빈
Introduction • Booleanquery를 지원하는 인덱스 -> Document가 Query에 match하거나, 아니거나 • 큰 Document collection의 경우에는 matching document의 숫자가 사람이 넘겨볼 수 있는 숫자를 넘어선다 -> Query에 대하여 각 document의 점수를 계산해 정렬시키는 것이 필수적이다. • 이 장에서는 (Query, Document) 쌍의 점수를 배정하는 연구를 시작해본다.
Introduction • 6.1: parametric and zone indexes • 6.2 : term occurrence의 통계에 기반해 document에 있는 term의 weight를 계산한다 • 6.3 : 각 document를 이러한 weight의 벡터로 보고, query와 document간 점수를 계산한다 • 6.4 : vector space model에서 term weighting의 여러 변형을 살펴본다 .
6.1 Parametric and zone indexes • 디지털 문서는 일련의 용어 뿐 아니라, 각 문서와 연관된 metadata를 가지고 있다 • metadata : 문서에 대한 특정 형식의 데이터 예> 저자, 제목, 출판일 • “find documents authored by WilliamShakespearein 1601, containing the phrase alas poor Yorick” -> standard inverted index에서 얻은 postings와 parametric index에서 얻은 postings를 intersection한다.
6.1 Parametric and zone indexes • field : 상대적으로 제한된 값의 집합 중에 선택 • zone : field와 유사하다. 단, zone의 콘텐트는 임의적인 free text를 가질 수 있다.
6.1 Parametric and zone indexes • “find documents with merchant in the title and williamin the author list and the phrase gentle rain in the body”.
6.1.1 Weighted zone scoring • 6.1장 : field와 zone에 대한 Boolean query를 적용해 document를 검색한다 • zone score의 선형 합을 계산해서,(q,d)쌍에 [0,1]의 값을 갖는 score를 매긴다 – document의 각 zone이 이진값에 기여한다. • 각 document가 ℓ개의 zone을 가지고 있는 문서 집합에서, • g1, . . . , gℓ ∈ [0, 1], Σgi = 1. • For 1 ≤ i ≤ ℓ, si: query가 i번째 zone에 존재하면 1, 아니면 0 • Weighted zone scoring - ranked Boolean retrieval
6.1.1 Weighted zone scoring weighted zone score를 구현하는 방법 • 1. 각 zone별 score를 더해서 각 문서 별 score를계산해 낸다. • 2. inverted index에서 직접적으로 계산한다. 예> two term query - q1, q2 Boolean function - AND
6.1.1 Weighted zone scoring • Query q1: williamq2:robert • Zone author, title • weights g(author) = 0.3 , g(title) = 0.7 • william - 2.author, 2.title - 3.author … • robert - 2.title - 3.author … 2번 문서 : 0.73번 문서: 0.3
6.1.2 Learning weights weights (gi)를 정하는 방법 • 1. 전문가에 의해 정해진다 • 2. 판단이 되어 있는 training example를 통해 학습된다. -> machine learned relevance 1. training example ( q와 d, relevance judgment로 이루어진 tuple) 2. gi는 이 example들을 통해 학습된다. weights를 학습하기 위해, 사용자가 만든 labor-intensive한 판단이 필요하다. gi를 학습하는 문제를, 단순 최적화 문제로 환원하는 방법을 살펴보겠다.
6.1.2 Learning weights • 각 document는 title zone과 body zone을 가진다. • q와 d가 주어졌을 때,
6.2 Term frequency and weighting • 지금까지는,scoring이 document의 특정 zone에 존재하는지 여부에 기반해 점수화했다. 새로운 가정 • query term을 더 자주 언급하는 document나 zone이 더 높은 score를 가진다. • free text query를 이용 – query를 단어의 집합으로 가정 • 각 query term별 score를 계산한 뒤합하여, query term과 document의 match score를 계산한다.
6.2 Term frequency and weighting • 각 문서에서 단어의 발생 빈도에 따라, 각 문서의 단어 별 weight를 할당한다. 문서 d에서 쿼리 단어 t의 weight에 기반해, 문서의 쿼리 단어에 대한 score를 계산 • 가장 단순한 방법은 단어의 빈도수를 weight로 배정한다 • term frequency - tft,d 각 문서 별 이 weight의 집합은 그 문서의 요약(digest)로 간주 • bag of words model 단어의 순서는 무시되고, 각 단어의 빈도수 정보만을 저장한다.
6.2.1 Inverse document frequency • Raw term frequency : query에 대한 relevance에 관해, 모든 단어가 같은 중요도를 가진 것으로 가정한다 • 하지만 어떤 단어는 relevance에 대한 결정력이 거의 없는 것도 있다. 예> 자동차 업계와 관련된 문서 집합에서, ‘auto’라는 단어는 거의 대부분의 문서에 등장한다. • collection frequency : collection에서 특정 term의 전체 빈도수 • document frequency : collection에서 특정 term을 가지고 있는 문서의 숫자
6.2.1 Inverse document frequency • collection내의 전체 문서의 수 : N • term의 idf (inverse document frequency)
6.2.2 Tf-idf weighting • tf-idf weighting scheme : term frequency와 inverse document frequency를 결합하여 weight를 생성한다 t 가 적은 수의 문서에서 많이 출현할 때, tf-idf값이 커진다 t가 많은 수의 문서에서 적게 출현할 때, tf-idf값이 작아진다. t가 거의 대부분의 문서에서 출현할 때, tf-idf값이 가장 작아진다 각 문서를, 각 term을 구성요소로 하는 vector로 볼 수 있다. 각 구성요소의 가중치는 tf-idf로 한다
6.3 The vector space model for scoring • Vector space model :각 문서를 common vector space에서 vector로 표현 • 쿼리에 대해 문서를 점수화, 문서 분류, 문서 군집화 등의 IR작업에 사용됨 • : : document(d)의 각 term을 벡터의 구성요소로 하는, d에서 유도된 벡터 • Collection의 Document의 집합은, 각 term별로 하나의 축이 존재하는, vector space의 벡터의 집합으로 볼 수 있다.
6.3.1 Dot products 이 vector space에서 두 문서간 similarity를 어떻게 구하는가? • 벡터 강도의 차이를 구하는 방법 : 유사한 벡터라도 문서 길이에 따라 벡터 강도에 차이가 있을 수 있다. • 두 문서 (d1, d2) 가있을 때, 두 문서 간 similarity를 정량화하는 방법은 두 문서 간 cosine similarity를 계산하는 것
6.3.1 Dot products term-document matrix - M(term) x N(documents) matrix
6.3.2 Queries as vectors q = jealous gossip WH (0.847,0.466,0.254) 0.509 PaP (0.993,0.120,0) 0.085 SaS (0.996,0.087,0.017) 0.074
6.3.3 Computing vector scores • 각각 vector를 의미하는 문서 집합과 , 하나의 vector를 의미하는 free text query, 양의 정수 K가 주어질 때, 주어진 query에 대해 가장 높은 vector space score를 갖는 K개의 문서를 찾는다.
6.4 Variant tf-idf functions • 문서의 각 term별 weight를 배정하는 방식은 여러 가지가 있을 수 있다.
6.4.1 Sublineartf scaling • 어떤 term이 문서에 20번 출현한다고 해서, 한번 출현한 문서보다 20배의 중요도를 가진다고 말하기는 어렵다.
6.4.2 Maximum tf normalization • 문서가 길수록 term frequency가 높은데, 이것은 단순히, 긴 문서가 같은 단어를 반복하는 경향이 있기 때문이다. • : smoothing term - 값은 0에서 1사이. 일반적으로 0.4로 한다.
6.4.2 Maximum tf normalization 단점 • 1. 불안정하다. : stop word list를 변경하면 term weighting이나 ranking이 급격하게 변한다. • 2. 문서의 term 중, document의 내용과 큰 관련이 없으면서, 일반적이지 않게 큰 빈도수를 가지는 outlier가 있을 수 있다. • 3. 가장 빈도수가 높은 term이 다른 term들과 빈도수가 비슷한 분포를 보이는 문서는, 보다 치우쳐 있는 문서와 다른 방식으로 처리되어야 한다.
6.4.3 Document and query weighting schemes ddd.qqq ex> lnc.ltc
6.4.4 Pivoted normalized document length • 6.3.1장에서는 Euclidean length를 이용 -> 모든 문서를 unit vector로 전환함 문서 길이에 가지고 있는 정보를 가리는 점이 있다. 긴 문서는 더 많은 term을 가지고 있기 때문에, tf값이 크다 긴 문서는 보다 많은 별개의 용어를 가지고 있다. -> 이 두가지 요소는 긴 문서의 점수를 올리는 상승작용을 한다. 긴 문서는 넓게 두 가지로 나눌 수 있다. • 장황한 문서 : 같은 내용을 반복한다. 문서의 길이가 문서의 상대적인 중요도를 바꾸지 않는다. • 여러 주제를 다루는 문서 : 검색 용어는 문서의 작은 일부분과 매치되지만, 문서의 전체와매치되는 것은 아니다. 이 경우 짧은 단일주제의 문서에 비해, term의 weight은 매우 다르다.
6.4.4 Pivoted normalized document length • 문서 collection, 쿼리의 집합, relevance judgment가 주어지는 경우,문서 길이로 relevance의 확률을 계산하는 함수를 만들 수 있다. • 문서 길이 별로 구간을 나누고, relevant문서의 비율을 계산한다. 문서길이구간의 평균문서길이와 이 비율을 그려본다. • pivoted document length normalization
6.4.4 Pivoted normalized document length • lp보다 작은 길이의 문서에 대해서는 유클리디안 거리 값을 크게 넣어주고, • lp보다 큰 문서 길이에 대해서는 유클리디안 거리 값을 작게 넣어준다 ud : document에서 unique term의 개수
6.4.4 Pivoted normalized document length • pivoted document length normalization이 모든 응용에서 맞지 않을 수 있다 • – 문서 길이가 relevance와 상관 없거나, 정규화 방법이 단순 선형 방식 모델로 계산해낼 수 없게 복잡한 경우 • 그런 경우, 문서 길이를 기계학습 기반의 접근법에서 feature로 이용해 볼 수 있다.