CS/Information Retrieval(6)
-
[Information Retrieval] 정보 검색의 꽃! - Scoring, Term Weighting, The Vector Space Model
정보검색의 꽃. 굉장히 중요한 부분이다!이번 챕터의 Term frequency, Tf-idf ranking, Vector space model은 반드시 시험에 나오니 잘 익혀두자.1. Ranked retrieval기존에는 단어가 포함된 문서를 찾는 boolean retrieval을 다루었다. 그런데 어떤 단어는 많은 관련이 있고 어떤 단어는 등장하기만 할 수 있다. 중요도가 없는 것이다. expert users, application에게는 boolean retrieval이 좋을 수 있다. 전문가는 &, |를 잘 설정해서 관련된 문서의 개수를 잘 조절할 수 있지만 일반 사용자들에게는 불가능하다.예를 들어 변호사는 오래 걸리더라도 관련된 모든 정보를 다 봐야 하지만일반 사용자들은 1000개가 넘는 문서를 다..
2024.12.15 -
[Information Retrieval] Index Compression - Heaps' law, Zipf's law, Dictionary compression, front coding, Postings compression, gamma code
1. Compression정보검색에서의 압축은 다음과 같은 의미를 가진다.dictionary의 크기를 줄이는 것은 메인 메모리에 많이 올릴 수 있다는 것이다.posting file을 줄이는 것은 disk space를 줄이고, disk를 읽는 시간을 줄이는 것이다.Lossy손실이 있는 압축이다.소문자로 바꾸거나 stemming, stop word 제거하는것 등이다.Lossless손실이 없는 압축이다.zip 등이다.딕셔너리를 디스크에 올려놓는게 굉장히 빠르고 좋은데 너무 크다. 따라서 압축을 해야 한다. 압축을 하는 경우 압축을 푸는 시간이 들긴 하지만 디스크에 접근하는 것 보다 훨씬 빠르다.2. Term statistics통계를 다시 보자.number를 제외하거나 case folding, stopword ..
2024.11.26 -
[Information Retrieval] Index Construction - BSBI, SPIMI, Distributed indexing (Map Reduce), Dynamic Indexing(Logarithmic merge)
1. IntroductionHardware basics하드디스크보다 메모리가 훨씬 빠르다.그러나 메모리의 양이 매우 적기에 양을 나누어서 메모리에 넣고, external sort를 수행해서 inverted index를 만드는 방식으로 작동하게 된다.디스크에서 정보를 찾는 seek time은 굉장히 느리다. 참고로 seek는 트랙을 찾는 것이고 섹션을 찾는 rotate는 비교적 빠르다.모든 operation을 디스크를 거치지 않고 메모리에서 하면 굉장히 빠르다.한 번 트랙을 찾으면 최대한 많이 읽어오는 것이 유리하고 그래서 block 단위로 저장하는 것이 좋다.Fault tolerance는 비싸다.RCV1 collection정보 검색을 테스트하기 위해 원래 셰익스피어의 희곡을 사용했는데 양이 너무 적었다...
2024.11.25 -
[Information Retrieval] Dictionaries and Tolerant retrieval - Wildcard queries, k-gram indexes, Edit distance, Spelling correction, Soundex
Tolerant retrieval단어를 조금 다르게 써도 비슷한 단어를 검색해 주는 방식이다.예를 들어 data의 철자를 잘못써서 dato로 써도 data를 옳게 찾아준다면 tolerant retrieval이다.exact match가 없을 경우 spelling correction 혹은 wildcard queries로 바꿔서 검색하는 방식이다.Tolerant retrieval을 구현하는 방법을 알아보자.1. Dictionaries용어부터 정의해 보자.Term vocabulary는 일종의 데이터이다.term vocalulary를 저장하는 자료 구조가 dictionary이다. 각 term은 document frequency, pointer to postings list 등의 정보와 함께 저장된다.이 정보들을 ..
2024.10.02 -
[Information Retrieval] Term voc and posting - Skip Pointers, Phrase queries, Proximity search
1. Documents기본적으로 정보검색은 document의 단어를 대상으로 한다.document의 포맷은 pdf, word, excel 등이 될 수 있고 그 안의 character set 또한 다양하다. utf 등등..한글 이메일에 일본 문서가 실리는 경우 이메일 본문, 첨부된 문서를 각각 document로 볼건지, 전체를 document로 볼건지 또한 고민해야 한다. 정보검색의 설계에 달려있는 문제이다.정보검색은 다양한 문서에서 어떻게 문서를 파싱 해서 text를 정확하게 찾아내서 검색을 하느냐에 대한 얘기이다.2. Terms - General + Non-EnglishWordtext 내에 나타나는 delimiter(빈 칸, 탭 등)로 분리된 하나의 연속된 단위의 characterTermnormaliz..
2024.10.01 -
[Information Retrieval] Boolean Retrieval - Term, Document, Index
1. IntroductionInformation Retrieval데이터베이스에서 처리하는 정형화된 데이터가 아닌 텍스트 같은 비정형 데이터로 이루어진 문서와 같은 물질을 찾는 것이다.문장을 파악하는 것인데, 예를 들어 홍길동은 A+를 받았다.라는 문장을 보고 홍길동 : A+라고 파악하는 것을 말한다.사용자가 찾고자 하는(information need) 비정형 데이터를 검색하는 것이다.예를 들어 사용자가 파리 지도라고 검색한다면 초파리의 염색 지도가 나올 수 있다. 그러나 사용자가 원하는 건 프랑스 파리의 지도이다.이러한 정보를 대용량 문서에서 찾아주는 것이 정보 검색이다.즉, 핵심은 정보 검색은 unstructured를 갖는 text를 documents에서 찾는 것인데, 큰 collection에서 inf..
2024.09.30