일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- Linear Algebra
- 객체지향설계
- 오픈소스웹소프트웨어
- 컴파일러
- 정보검색
- OS
- 소프트웨어공학
- 데이터분석
- C언어
- DB
- React
- 자연어처리
- 프로세스
- 데이터베이스
- 랩실일기
- 벡터
- 언어모델
- 스케줄러
- css
- 컴파일
- 가상메모리
- 파싱테이블
- 836
- Agile
- 애자일
- NLP
- 웹소프트웨어
- 운영체제
- 클래스
- 파싱
- Today
- Total
observe_db
[정보검색] 2. The term vocabulary and postings lists 본문
document의 다양한 format과 language.
- word, pdf, hwp, html, excel, html 등등
- 언어는 더하다.(한중일, 영어, 프랑스어, 독일어, 이탈리아어, 스페인어, 포르투갈어등등등)
- character(문자)도 다양하고(유럽의 알파벳+변형, 키릴문자나 히라가나, 가타카나, 번체와 간체 등)
- 여기에 코드 format은? utf-8이 일반적이지만, 그 외에도 많다.
나누는 단위는?
-file단위? email 단위?
-답이 없다.(크면 다시 찾는 경우 존재. 작으면 위치 파악이 어려움)
용어 정의
Word: text 내에서 나타나는 연속된 단위의 문자
Term: 일반적인 단어(대소문자 구분X, 기본형, 복수형X)
Token: doc. 내에서 실제로 나타나는 각각의 instance(예시)
Type: token중 같은 것들을 묶음.
Normalization
- 여러 형태를 일반적(normal)인 형태로 바꾸는거
- 예시로 USA/U.S.A.라거나
- index에 같은 형태는 묶어야하기 때문에.
- 파워풀하지만 효과적인지는?
- 어퍼스트로피 같은 것은 자를지 말지 결정 필요.
- 숙어와 같이 복수의 단어가 합쳐진 경우도 있다.
- San Francisco, Data base, state-of-art, Los Angeles, New York
- 숫자는?
- 날짜의 순서와 표현이 다르고(YYYY/MM/DD만 있는게 아니다)
- ip 주소, 비행기
- 전화번호 등
- 중국어와 같이 공백이 없는 경우도 있다.
- 아랍어는 아예 오른쪽부터 읽는다.
- 방점이나 엑센트는 없는게 낫다.
- Stop words(불용어)
- and, or, are, at, be, by, for, from, has, in, is, it ,of, on, to, will, with 등등
- 유사한 클래스
- soundex: Muller = Mueller(발음이 같음)
- thesauri: car = automobile(의미가 같음)
Lemmatization: 여러 가지(inflectional/variant) 형태를 기본 형태로.
Stemming: 끝부분을 잘라내서 의미만 남기는거.(굴절, 파생 가능성 있음)
-Porter 알고리즘
4. Skip Pointers
skip pointer에 연결된 번호<현 비교 번호일 때에 스킵 가능.
고려 사항들
- Tradeoff: 많은 스킵? 자주 스킵?
- More skips: 적은 item을 뛰어넘지만, 자주 사용할 수 있음.
- Fewer skips: 많은 item을 뛰어넘지만, 많이 사용되지 않음.
- 경험적으로 추천하는 수: 길이가 P일때 루트 P
5. Phrase query
구를 쿼리하는 방법
일반적인 방법으로는 잘못된 결과(위양성, FP)가 발생한다.
두가지 방법이 있다.
- biword index: 두 단어를 한꺼번에 인덱싱
- positional index: 위치 정보를 인덱싱
Biword index
: 두 단어를 그냥 함께 넣는다.
단점:
1)Term이 굉장히 많아짐.
2)여러 개면..? 그거 다 넣어서 dictionary가 만들어져야함.=>크고 오래걸림.
Positional index(위치 인덱스)
이전의 posting list는 위치정보가 없음(non positional)
positional index에서는 각 posting은 docID와 position의 list(여기서 몇번째 단어인지 표시)를 포함.
Proximity search
4라고 한다면, 각자 4글자(단어) 범위 내를 살펴봄.
4글자 내에 있으면 hit, 아니면 not a hit
빈번한 단어들(불용어들)에겐 효과적이지 못함.
Combination scheme
biword처럼 dictionary를 만드는건 비효율적이겠지만,
좀 자주 나오는 단어는 dictionary로 만들어도?
'학교 공부 > 정보검색(4-2)' 카테고리의 다른 글
[정보 검색] 6. Scoring, Term Weighting, The Vector Space Model (1) | 2024.11.01 |
---|---|
[정보 검색] 5. Index Compression (2) | 2024.10.18 |
[정보검색]4. Index Construction (3) | 2024.10.18 |
[정보검색] 3. Dictionaries and tolerant retrieval (0) | 2024.10.11 |
1. Boolean Retrieval (0) | 2024.10.03 |