1 / 14

Computing Scores in a Complete Search System

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

randi
Download Presentation

Computing Scores in a Complete Search System

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Computing Scores in a Complete Search System Chap. 4 Manning et al., Introduction to Information Retrieval

  2. Contents

  3. Efficient Scoring and Ranking FastCosineScore: Just add, instead of multiplying

  4. 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 역시 하나의 근사값임을 기억할 것

  5. 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의합집합

  6. 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)값내림차순정렬

  7. 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내림차순 정렬

  8. Efficient Scoring and Ranking • Cluster pruning • Document vector를 clustering하는 preprocessing을 거침 • 개의 문서를 무작위로 선택해 leader로 세움 • Leader가 아닌 각 문서에 대해, 가장 가까운 leader를 찾음 • Query가 주어질 때 • Query q에 가장 가까운 leader를 찾음( 번의 연산) • 이 leader와 그 근접문서(follower)들을묶어 후보문서집합 A 작성, 이들 각문서들과query간의 cosine값 계산

  9. Efficient Scoring and Ranking • Parameters • Clustering시 각 문서에 대해 b1개의 가까운 leader 목록작성 • Query processing시에 query로부터 가까운 b2개의 leader 목록 작성 • b1과 b2가커질수록 실제로 Query와 유사한 k개의 문서를 찾게될 확률 높아지나, 계산량도 증가

  10. 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

  11. 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 모형

  12. 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

  13. 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

  14. Thank You !

More Related