150 likes | 496 Views
Computing Scores in a Complete Search System. Chap. 4. Manning et al., Introduction to Information Retrieval. Contents. Efficient Scoring and Ranking. FastCosineScore : Just add, instead of multiplying. Efficient Scoring and Ranking. FastCosine
E N D
Computing Scores in a Complete Search System Chap. 4 Manning et al., Introduction to Information Retrieval
Efficient Scoring and Ranking FastCosineScore: Just add, instead of multiplying
Efficient Scoring and Ranking • FastCosine • 각문서의 단위 벡터( )로부터 nonzero component는 전부 1로 맞춰진 Query 벡터( )간의 Cosine값 계산 • 각 Term에 대한 weight(wt,q)는 1로 간주 • 곱셈 대신 덧셈으로 이뤄진 알고리즘이 됨 • 문서내 각 Term의 TF값의 합이 해당 문서의 Score가 됨 • Score가 높은 top k개의 문서를 뽑아냄 • Top k 문서만을 뽑아내기 위해 heap 사용 • J: cosine값이 0이 아닌 문서 개수 • 2J회의 비교 step을 거친 후 heap 생성 가능 • logJ회의 비교를 통해 k개의 각문서를 읽어낼 수 있음 • Inexact top k document retrieval • Cosine similarity에 대한 다른 접근 • Cosine similarity가 항상 문서의 유사도를 정확하게 표현하지는 않음 • Cosine similarity 역시 하나의 근사값임을 기억할 것
Efficient Scoring and Ranking • K개 문서에 포함할 후보 문서의 개수 줄이기 • Cosine 값을 계산하지 않고도 문서들을 제외하는 heuristic • 후보문서집합 A 만들기(k < |A| <<N) • 이중에서상위 k개 문서 return • Index elimination • 사전에 설정된 idf기준값(threshold) 이상인 term을 포함하는 문서들만을 고려 • Query term 다수를포함하는 문서만을 고려 • Posting을 횡단하는 과정에서 선별이 이뤄짐 • 모든(또는 많은) query term을 포함하는 문서에 대해서만 점수 계산 • Champion list • Dictionary 내의 각 어휘에 대해, 어휘 t에 대해서 가장 높은 가중치(weight)를 갖는 문서 r개로 이뤄진 목록이 어휘 t에 대한 champions list이다. • 여기에서는 큰 tf값을 갖는 문서들 • 집합 A: Query를 구성하는 term들의 champion lists의합집합
Efficient Scoring and Ranking • Static quality scores and ordering • Query와는 독립적인(static), 문서에 대한 quality 측정값 g(d) • 예) news에 대한, web 사용자들의 호의적인 리뷰 개수 • Net score는 Query에 대해 독립적인 g(d)와 query에 의존적인 점수의 결합으로 계산 • Common ordering: 같은 기준에 의해서 posting 정렬(아래 예제: g(d)값내림차순정렬
Efficient Scoring and Ranking • Common ordering에 대한 idea들 • Global champion list • 각 posting에 대해 상위의 g(d) + tf-idft,d값을 갖는 r개의 문서를 DocID순으로 정렬(global champion list) • Query time에는 이들 global champion list의 union을 계산하여 문서의 net-score 구함 • g(d) 값 순서로 정렬된 두 개의 서로 다른 list • 제 1 list: 특정 어휘 t에 대해 가장 큰 tf를 갖는 m개의 문서(high) • 제 2 list: 그외 다른 문서들 • 처음에 high list만을 scan, k개 문서를 얻지 못했으면 low list까지 scan • Impact ordering • Document-at-a-time scoring: common ordering에 기반 • Posting들에 대한 동시 횡단(concurrent traversing) 가능 • Inexact top-K retrieval은 common ordering 대신, 개별 term의 score를 더하는 term-at-a-time scoring 사용 • 각 posting에서 문서들을 tft,d의내림차순으로 정렬 • 특정 posting에서 r개 문서 scan하거나, tft,d가 특정 threshold 이하일 때 해당 posting scan 정지 • Query term들에 대한 accumulation은, idf내림차순 정렬
Efficient Scoring and Ranking • Cluster pruning • Document vector를 clustering하는 preprocessing을 거침 • 개의 문서를 무작위로 선택해 leader로 세움 • Leader가 아닌 각 문서에 대해, 가장 가까운 leader를 찾음 • Query가 주어질 때 • Query q에 가장 가까운 leader를 찾음( 번의 연산) • 이 leader와 그 근접문서(follower)들을묶어 후보문서집합 A 작성, 이들 각문서들과query간의 cosine값 계산
Efficient Scoring and Ranking • Parameters • Clustering시 각 문서에 대해 b1개의 가까운 leader 목록작성 • Query processing시에 query로부터 가까운 b2개의 leader 목록 작성 • b1과 b2가커질수록 실제로 Query와 유사한 k개의 문서를 찾게될 확률 높아지나, 계산량도 증가
Components of an Information Retrieval System • Tiered indexes • Inexact top-k retrieval을 위한 Index elimination 등의 heuristic을 사용하다 보면 후보문서집합 A의 원소가 k보다 작은경우 발생 • 해결책: Tiered indexing • Champion list의 일반화 • 예제 • Tier 1: tf threshold 20 • Tier 2: tf threshold 10
Components of an Information Retrieval System • Query-term proximity • 모든 Query term들이 문서 내에 인접해서 나타나는 것을 사용자들은 선호 • Query term: t1, t2, …, tk일 때, 모든 query term을 포함하는 가장 작은 window w(window 내부의 term 개수)가 가장 작은 문서가 query에 적합한 문서임 • Cosine 모형이라기 보다는 google이나 다른 searchengine이 사용하는 “soft conjunctive” semantics에 가까움 • Designing parsing and Scoring functions • Freetext query: 사용자가 Query operator에 mask를 직접 적용하게 하기보다 free text query를 입력받아처리 • Query parser: User specified keyword → query with operators • 사용자가입력한 query 문자열을 phrase query로 활용하여 Vector space 구축(e.g., trigram with 3 words) • 이 phrase를 가진 문서수가 적을 때 개수를 줄여 phrase query로 vector space(e.g., bigram with 2 words) • 최종적으로, 단어로 TF 모형
Components of an Information Retrieval System • Query parsertoolkits • Zones, metadata, 특정문서에 관한 지식 등을 활용하여 parsing과 scoring에 적용하도록 함 • 자주 변하지 않는 Collection에 대해서는 안정적 • Web search 처럼 collection 자체가 수시로 변하는 환경에 적응하기 위해서는 machine learned scoring 같은 기술의 중요성이 증대됨 • Putting it all together MRL: machine-leaned ranking
Vector Space Scoring and Query Operator Interaction • VS 모형과 Query Operator들과의 관계를 보는 관점 • 두 개의 수준 • 사용자가 제시하는 복잡한 Query에 대한 표현력의 관점 • 다양한 정보검색모형에 대한 평가를지원하는 index • Boolean Queries • Boolean queries에서 특정 term에 가중치를 부여하기는 어려움 • 모든 query term이다 포함돼 있어야 Score를 매기는 형태도 가능 • Wildcardqueries • Wildcard를 이용한 변형들은 실제 시스템에서 여러 단어로 취급됨 • 그러므로, wildcard 조건에 맞는 어휘가 여러 개 포함돼 있는 경우 더 높은 score를 받게 됨 • Phrase queries