1. 정보검색 제7장.
비불리언 모델
INFORMATION RETRIEVAL
강의: 정창용 (timothy97@gmail.com)
http://www.facebook.com/hhuIR
Korea Maritime University
Navis Control Inc.
2. Over view
용어의 가중치
벡터공간 모델
벡터공간 모델과 코사인 계수
유사계수에 의한 문헌의 순위화
벡터공간 모델에서 가중치 평가
확률 모델
통계언어 모델
3. 비불리언 모델
비불리언 시스템
질의를 불리언 연산자로 표현하지 않음
문헌집단 내 모든 문헌을 대상으로 질의와의 유사도(적합성)에 따라 순
위화하는 시스템
유사도 계산을 위해서 용어(질의, 문헌)의 가중치가 중요
4. Outline
용어의 가중치
벡터공간 모델
벡터공간 모델과 코사인 계수
유사계수에 의한 문헌의 순위화
벡터공간 모델에서 가중치 평가
확률 모델
통계언어 모델
5. 용어의 가중치(Weight)
용어의 가중치(weight)
문헌에서 해당 용어의 중요도
용어 가중치 부여 방법
용어빈도 기법
문헌에 출현한 용어의 빈도수를 기반으로 부여
문헌빈도 기법
여러 문헌에 출현하는 단어보다 소수의 특정 문헌에 출현하는 단어에 더 높
은 가중치를 추는 방법
문헌길이 정규화기법(normalization)
문헌이 길수록 용어의 출현빈도가 높음
문헌의 길이에 따라 용어의 가중치가 영향 받는 것을 최소화 함
6. tf * idf
정의
TF (Term Frequency) : number of occurred term in a document
DF (Document Frequency) : number of documents where term
occurs
IDF (Inverse Document Frequency) : Inverse DF
Weight = TF * IDF
TF가 크고, DF가 작을수록 가중치는 커진다.
전체문서에서 공통적으로 등장하는 단어들은 걸러지게 된다.
많은 문서에서 출현하는 term은 의미가 없다는 의미
문서의 총 개수
term을 포함한 문서의 개수
8. 용어가중치 계산 – c o n t ’d
문헌빈도(Document frequency)
n(no) 1
𝑁
c(cosine) log 𝑛
𝑁 − 𝑛(+0.5)
p(prob idf ) log 𝑛(+0.5)
N : DB내 레코드(문헌) 총 수
n : DB내 용어 t가 출현하는 문헌 수
9. 용어가중치 계산 – c o n t ’d
문헌길이 정규화(Document length normalization)
n(no) 1
1
c(cosine)
𝑤2
𝑖
𝑡𝑓
a(최대 tf 정규화) 1 − 𝑤𝑖 + 𝑤𝑖 × max 𝑡𝑓
𝑘 + 1 × 𝑡𝑓
b(byte크기 정규화)
𝑑𝑙
𝑘 1 − 𝑏 + 𝑏 × 𝑎𝑣𝑒𝑟𝑎𝑔𝑒 𝑑𝑙 + 𝑡𝑓
1
u(피벗고유단어 정규화)
1.0 − 𝑠𝑙𝑜𝑝𝑒 × 𝑝𝑖𝑣𝑜𝑡 + 𝑠𝑙𝑜𝑝𝑒 × # 𝑜𝑓 𝑢𝑛𝑖𝑞𝑢𝑒 𝑡𝑒𝑟𝑚𝑠
dl : 문헌에 출현하는 단어 수(문헌길이) (average dl은 평균문헌길이)
n : DB내 용어 t가 출현하는 문헌 수
15. Outline
용어의 가중치
벡터공간 모델
벡터공간 모델과 코사인 계수
유사계수에 의한 문헌의 순위화
벡터공간 모델에서 가중치 평가
확률 모델
통계언어 모델
16. 벡터공간 모델
불리안 검색모델 단점
검색문과 정확히 일치하지는 않으나 적합한 문헌을 검색하지 못함
▷ 부분 매칭 불가
검색결과의 순위화 불가
용어의 가중치를 질의어나 색인에 반영할 수 없음
▷ 이진(binary) 가중치 : 출현(1) or 비출현(0)
벡터공간 모델
Vector Model = Vector Space Model = Term Vector Model
불리안 모델의 단점 보완
부분 매칭(partial matching) 기법
문헌과 질의의 유사도(similarity)를 기준으로 순위화 가능
Cosine 유사도
17. 벡터공간 모델 – c o n t ’d
벡터로 표현하는 문서
n 개의 개별용어가 출현하는 문서
를 n-차원의 벡터 공간으로 표현
용어(term)는 벡터 공간에서의 축
(axe)을 의미
문서는 벡터 공간에서 점 혹은 벡
터이다.
초 고차원(Very high-
dimensional) 벡터
웹 검색엔진에 적용 시 1000만-
dimension 벡터로 표현
▶위 경우, sparse-vector: 대부분
의 항목이 0(zero)임
𝑑 𝑗 = (𝑤1𝑗 , 𝑤1𝑗 , ⋯ , 𝑤 𝑡𝑗 )
18. 벡터공간 모델 – c o n t ’d
벡터로 표현하는 질의
Key idea 1: 질의를 같은 벡터 공간내의 벡터로 표현
Key idea 2: 벡터 공간 내에서 질의와 문서 근접도에 따라 순위화
근접도(proximity) = 벡터의 유사도(similarity)
문헌과 질의의 벡터 표현
𝑑 𝑗 = (𝑤1𝑗 , 𝑤2𝑗 , ⋯ , 𝑤 𝑡𝑗 )
𝑞 = (𝑤1𝑞 , 𝑤2𝑞 , ⋯ , 𝑤 𝑡𝑞 )
TF * IDF 가중치를 주로 사용
19. 벡터공간 모델 – c o n t ’d
문헌 및 질의어의 벡터표현
용어
문헌/ 1 2 3 4 5 6 7 … n
질의문
term 검색 문헌 온톨로지 정보 컴퓨터 탐색 텍스트 퍼지모델
문헌1 1 1 0 1 0 0 1 0
문헌2 1 0 1 1 0 0 0 0
문헌3 0.8 0 0.5 0.9 0 0 0 0
문헌4 0.5 0.3 0.9 0.7 0 0 0 0
검색문 1 1 0 0 1 0 0 0 0
검색문 2 0.9 0 0 0.8 0 0 0 0
20. Outline
용어의 가중치
벡터공간 모델
벡터공간 모델과 코사인 계수
유사계수에 의한 문헌의 순위화
벡터공간 모델에서 가중치 평가
확률 모델
통계언어 모델
21. 거리를 이용한 유사도
Euclidean distance
두 문헌 d 1 (w 11 , w 12 ), d 2 (w 21 , w 22 ) 사이의 거리
= (𝑤21 − 𝑤11 ) 2 +(𝑤22 − 𝑤12 ) 2
거리가 가까운 두 문헌의
유사도가 높음
문제점과 대안
거리가 짧으면 더욱 유사함
방향성 고려하지 않음
예) S(q, d 2 ) vs. S(q, d 1 )
길이를 정규화한다.
22. 정규화된 문헌길이 이용한 유사도
Length Normalization
모든 문헌 벡터의 길이가 1인 단위 벡터로 변환
색인어 문헌 1 문헌 2 색인어 문헌 1 문헌 2
a 5 0 a 5/8.367=0.598 0
b 3 5 b 3/8.367=0.359 5/5.477=0.913
c 6 2 c 6/8.367=0.717 2/5.477=0.365
d 0 1 d 0 1/5.477=0.183
용어의 출현빈도수 용어의 출현빈도수
문헌 1의 유클리디언 길이 = 52 + 32 + 62 = 8.367
문헌 2의 유클리디언 길이 = 52 + 22 + 12 = 5.477
정규화된 문헌길이를 이용한 유사도
𝑠𝑖𝑚 𝑑 1 , 𝑑 2 = 0.359 × 0.913 + 0.717 × 0.365 = 0.589
23. 벡터공간 모델과 코사인 계수
코사인 계수
두 문헌 사이의 각(angle)을 유사계수로 이용한다.
이 때, 각을 직접 구하지 않고
Consine 값을 이용한다.
𝑉1 ∙𝑉2
𝑐𝑜𝑠𝜃 = 𝑉1 𝑉2
𝑡
𝑗=1 (𝑤 1𝑗 ×𝑤 2𝑗 )
𝑠𝑖𝑚 𝑑 1 , 𝑑 2 =
𝑡 𝑤 1𝑗 × 𝑡𝑗=1 𝑤 2𝑗
2 2
𝑗=1
24. 벡터공간 모델과 코사인 계수 – c o n t ’d
예제
D 1 = (전자도서관2, 장서1, 개발1, 보존1)
Q = (전자도서관1, 디지털도서관1, 장서1, 개발1)
▷assume,
(t 1 , t 2 , t 3 , t 4 , t 5 ) = (개발, 디지털도서관, 보존, 장서, 전자도서관)
D 1 = (1, 0, 1, 1, 2)
Q = (1, 1, 0, 1, 1)
1×1+1×1+2×1
cos 𝐷1 , 𝑄 = 𝑠𝑖𝑚 𝐷1 , 𝑄 = = 0.76
(12 +12 +12 +2 2 )×(12 +12 +12 +12 )
벡터의 내적계수만으로 유사도를 산출하기도 함
25. 코사인 그래프 – 참고
코사인 그래프와 사인 그래프 비교
출처: http://mwultong.blogspot.com
26. Outline
용어의 가중치
벡터공간 모델
벡터공간 모델과 코사인 계수
유사계수에 의한 문헌의 순위화
벡터공간 모델에서 가중치 평가
확률 모델
통계언어 모델
29. 유사계수에 의한 문헌의 순위화 – c o n t ’d
이진 데이터(binar y data)
질의(문헌)에서 용어 t
출현 비출현
출현 a b
문헌에서 용어 t
비출현 c d
유클리디안 거리 𝐷 𝑋, 𝑌 = 𝑏+ 𝑐
(𝑏−𝑐) 2
크기 차이 𝐷 𝑋, 𝑌 = (𝑎+𝑏+𝑐+𝑑) 2
(𝑏+𝑐)
분산 𝐷 𝑋, 𝑌 = 4(𝑎+𝑏+𝑐+𝑑)
𝑏+𝑐
랜스/윌리암스계수 𝐷 𝑋, 𝑌 = 2𝑎+𝑏+𝑐
30. 유사계수에 의한 문헌의 순위화 – c o n t ’d
이진 데이터(binar y data)
𝑎+𝑑
단순일치 계수 S 𝑋, 𝑌 = 𝑎+𝑏+𝑐+𝑑
𝑎
러셀/라오 계수 S X, Y = 𝑎+𝑏+𝑐+𝑑
𝑎
자카드 계수 S X, Y = 𝑎+𝑏+𝑐
2𝑎
다이스 계수 S X, Y = 2𝑎+𝑏+𝑐
𝑎+𝑑
로저스/타니모토 계수 S X, Y = 𝑎+𝑑+2(𝑏+𝑐)
𝑎𝑑− 𝑏𝑐
율의 Y S X, Y =
𝑎𝑑+ 𝑏𝑐
𝑎𝑑 −𝑏𝑐
율의 Q S X, Y = 𝑎𝑑+𝑏𝑐
𝑎
오치아이 계수 S X, Y =
(𝑎+𝑏)× (𝑎+𝑐)
32. 벡터공간 모델의 장단점
장점
유사도(Similarity) 계산으로 검색결과의 순위화가 가능함
검색문에 복잡한 불리안 연산자를 사용하지 않음
단점
검색문 벡터와 모든 문헌벡터를 순차적으로 비교하기 때문에 반응속도
느림
▶ 인터넷 같은 대용량 데이터 검색에 한계가 있음
단점 극복을 위한 노력
클러스터 모델(Cluster Model) 이용
역색인파일(Inverted index file)을 활용하여 최소 하나의 색인어라도
검색되는 문헌에 한하여 유사도를 계산
33. Outline
용어의 가중치
벡터공간 모델
벡터공간 모델과 코사인 계수
유사계수에 의한 문헌의 순위화
벡터공간 모델에서 가중치 평가
확률 모델
통계언어 모델
34. 확률 모델
확률모델(Probabilistic Retrieval Model)
질의에 대해 각 문헌의 적합할 확률과 부적합할 확률을 계산
적합할(relevant) 확률 > 부적합할(non-relevant) 확률 ▶ 검색결과
가정
각 문헌은 주어진 질의에 적합 혹은 부적합하다
한 문헌에 대한 적합성 판정은 다른 문헌의 적합성에 영향을 끼치기
않음
35. 확률 모델 – c o n t ’d
𝑷 𝑫 𝑹 𝑷(𝑹) 𝑷 𝑫 𝑵𝑹 𝑷(𝑵𝑹)
𝑷 𝑹 𝑫 = , 𝑷 𝑵𝑹 𝑫 =
𝑷(𝑫) 𝑷(𝑫)
If 𝑷 𝑫 𝑹 𝑷(𝑹) > 𝑷 𝑫 𝑵𝑹 𝑷(𝑵𝑹)
Then D는 적합(relevant)
36. P(D|R)과 P(D|NR) 추정
D=( d 1 , d 2 , …, d t ) 일 때,
𝑡
𝑃 𝐷 𝑅 = 𝑖=1 𝑃(𝑑 𝑖 |𝑅)
𝑡
𝑃 𝐷 𝑁𝑅 = 𝑖=1 𝑃(𝑑 𝑖 |𝑁𝑅)
이진독립모델 (Binar y Independence Model)
문헌 내의 용어는 서로 독립적
단어는 문헌 내에 0(absence) 혹은 1(presence)로 표현
38. 확률모델의 용어 가중치
N개의 문서로 구성된 문서 집합에서 색인어의 출현빈도
질문에 대해
계
적합문헌 부적합문헌
용어 i의 출현 r (+c) n-r (+c) N
용어 i의 비출현 R-r (+c) N-n-R+r (+c) N-n
계 R (+2c) N-R (+2c) N
41. 용어의 출현빈도 고려한 공식들 – c o n t ’d
K 1 =1~2, b=0.75, k 3 =1~1000 주로 사용
문헌의 적합성
𝑁−𝑛+0.5 𝑘 1 +1 ×𝑡𝑓 (𝑘 3 +1)×𝑞𝑡𝑓
= × 𝑑𝑙
×
𝑛+0.5 𝑘 1 1−𝑏 +𝑏 𝑎𝑣𝑑𝑙 +𝑡𝑓 𝑘 3 +𝑞𝑡𝑓
피벗정규화 공식
1+log (1+log 𝑡𝑓 ) 𝑁+1
𝑑𝑙 × 𝑞𝑡𝑓 × 𝑙𝑜𝑔
1−𝑠 +𝑠 𝑛
𝑎𝑣𝑑𝑙
42. Outline
용어의 가중치
벡터공간 모델
벡터공간 모델과 코사인 계수
유사계수에 의한 문헌의 순위화
벡터공간 모델에서 가중치 평가
확률 모델
통계언어 모델
43. 통계언어 모델
언어 모델링(language modeling)
자연어의 문법, 구문, 단어 등의 규칙성을 찾는 것
음성인식, 기계번역, 문자인식, 철자교정 분야에서 연구
언어 모델링의 구분
지식기반 모델
정규문법(regular grammar)
문맥자유문법(context-free grammar)
비문법성에 의한 규칙을 정의하기 어려움
특정 영역에서의 자연언어 처리(NLP)에 일부 사용됨
통계 모델
말뭉치(corpus)에서 언어규칙을 확률로 표현
대규모 데이터 처리 분야에서 비교적 쉽고 효과적으로 사용됨