#8. ํ๋ฅ ๋ชจ๋ธ(Probabilistic Model)
by JiwonDev# ์ฌ๋ด
์์์๋ ๋ฒกํฐ ๋ชจ๋ธ์ ์ฃผ๋ก ์ค๋ช ํ์๋ค. ์ฌ์ค ๋จ์ํ ์๊ฐํด๋ณด๋ฉด TF-IDF ๋ชจ๋ธ์ ์ฌ์ฉํ๋ ๋ฒกํฐ ๋ชจ๋ธ์ด ํจ์ฌ ์ข์ ๊ฒ ๊ฐ์ง๋ง ํ๋ฅ ๋ชจ๋ธ๋ ๊ต์ฅํ ์ฑ๋ฅ์ด ์ข์ BM25 (Best Match 25, Okapi)๋ผ๋ ๋ชจ๋ธ์ด ์๋ค. ์ค์ IR ์๋น์ค๋ฅผ ์ ๊ณตํ๋ ElasticSearch์๋ 5.0๋ถํฐ BM25 ์๊ณ ๋ฆฌ์ฆ์ ๊ธฐ๋ณธ์ผ๋ก ์ฑํํด์ ์ฌ์ฉ์ค. ์ฌ๋ฐ๋ ๊ฑด ๋ฒกํฐ ๋ชจ๋ธ๊ณผ ๋ฌ๋ฆฌ ์ํ์ ์ผ๋ก ์ ๋ถ ์ฆ๋ช ํ๊ณ ๋ชจ๋ธ์ ์ฌ์ฉํ๊ธฐ ์์ํ๊ฒ ์๋๋ผ ๋ค๋ฅธ ๋ฅ๋ฌ๋ ๋ชจ๋ธ ์ฑ๋ฅ ์คํํ๋ ๊ฒ์ฒ๋ผ
'์ด ์ด์ ๋ ๋ชจ๋ฅด๊ฒ ์ง๋ง ์ฑ๋ฅ ์์ฒญ ์ข์๋ฐ? (=๋ธ๋๋ฐ์ค)' ํ๊ณ ์ฐ๋ฉด์ ์กฐ๊ธ์ฉ ์ฑ๋ฅ์ ์ฆ๋ช ํ๊ณ ์๋ ๋ชจ๋ธ.
์, ์ฌ๋ด์ ์ฌ๊ธฐ๊น์ง ํ๊ณ ์ด์ BM25์ด ์ด๋ป๊ฒ ๋ง๋ค์ด์ก๋์ง ์๊ธฐ ์ํด์ ํ๋ฅ ๋ชจ๋ธ์ ๊ณต๋ถํด๋ณด์.
* ์๋ ์์์์ BM25 (์๋ถ๋ถ) * (๋ท๋ถ๋ถ) ์์ ์๋ถ๋ถ์ ํ๋ฅ ๊ฒ์๋ชจ๋ธ์ ๊ฐ๋ (IDF) ์์๊ฐ ๋ค์ด๊ฐ์๊ณ , ๋ค์ TF์์๋ ์ฑ๋ฅ์ด ์ข์์ ๋ฃ์ ๊ฑฐ๊ธด ํ๋ฐ, ์ ์ด ์์์ด ์ฑ๋ฆฝํ๋์ง ์ํ์ ์ผ๋ก ์ฆ๋ช ๋์ง๋ ์์๋ค. ์๋ฌดํผ ์ฑ๋ฅ์ ์ข๋ค.
# ์ค๋ช ํ๊ธฐ์ ์
ํ๋ฅ ๊ฒ์๋ชจ๋ธ์ ๊ฐ์ค์น ์์์๋ 'ํ๋ฅ ' ์ ๋ณด๊ฐ ๋ณด์ด์ง ์์ต๋๋ค.
์๋์ ์ค๋ช ์ ํ๋ฅ ๊ฒ์๋ชจ๋ธ์ด ์ด๋ป๊ฒ ํ๋ฅ ์ ๋ณด๊ฐ ๋ณด์ด์ง ์๋ ์์์ ์ฌ์ฉํ ์ ์๋๊ฐ? ์ด๋ป๊ฒ ๊ทธ ์์์ด ์ ๋๋์๋๊ฐ? ๋ฅผ ์ค๋ช ํฉ๋๋ค. ์์์ ์ธ์ธ๋ ค๊ณ ํ์ง๋ง๊ณ , ์ด๊ฒ ๋ฌด์จ ๊ณผ์ ์ธ์ง ์ดํดํ๋๋ก ํฉ์๋ค. (๋ฌธ์ ๋ ์์ฑ๋ ๊ฐ๋จํ ์์์ ์ธ์์ ํ๋ฉด ๋ฉ๋๋ค.)
# ํ๋ฅ ๊ฒ์ ๋ชจ๋ธ
์ฌ์ฉ์์ ์ง์์ ๋ํ ์ ํฉํ๋ฅ ์ ์ญ์์ผ๋ก ๋ฌธ์๋ฅผ ์์ํํ๋ ์์ด๋์ด๋ฅผ ์ฌ์ฉํ ๊ฒ์๋ชจ๋ธ.
[์ง์๋ฌธ(Q)์ ๋ํด์ ๋์จ ๋ฌธ์ D๊ฐ ์ ํฉ๋ฌธ์์ผ ํ๋ฅ ]
์ง์๋ฌธ(Q)์ ๋ํด 1. ํด๋น ๋ฌธ์(D)๊ฐ ๋์จ๋ค์ 2. ๊ทธ ๋ฌธ์๊ฐ ์ ํฉ๋ฌธ์(R, rel) ์ธ ํ๋ฅ ์ด๋ผ๋ ์๋ฏธ๋ก
$P(ํ๋ฅ |์กฐ๊ฑด)$ $=>$ $P(R | D)$ ๋๋ $P(R | Q,D)$ ๋ผ๊ณ ์ ๋๋ค.
ํ๋ฅ ๋ชจ๋ธ์ ๊ธฐ๋ณธ ์์ด๋์ด๋ ์ด๋ ํ ๋ฌธ์ D๋ฅผ ๋ฝ์์ ๋ ์ ํฉ๋ฌธ์์ผ ํ๋ฅ (rel), ๋ถ์ ํฉ ๋ฌธ์์ผ ํ๋ฅ (non-rel)์ ๊ฐ๊ฐ ๊ตฌํด์
1. ์กฐ๊ฑด๋ถํ๋ฅ ๊ณต์ ์ ๋ํ๊ธฐ
์ฌ๊ฑด A, B์ ๊ทธ ์ฌ๊ฑด์ด ์ผ์ด๋ ํ๋ฅ $P(A) P(B)$๊ฐ ์๋ค๊ณ ๊ฐ์ ํ์. (๋จ, $P(B) > 0$)
์ฌ๊ฑด B๊ฐ ์ผ์ด ๋ ํ ์ฌ๊ฑด A๊ฐ ์ผ์ด๋ ํ๋ฅ ์ $P(A|B)$๋ผ๊ณ ์ฐ์ ๊ทธ๋ฌ๋ฉด
$P(A|B) = \frac{A,B๊ฐ๋์์ ์ผ์ด๋ ํ๋ฅ }{B๊ฐ์ผ์ด๋ ํ๋ฅ }$ ์ด๋ ๊ฒ ๋ํ๋ผ ์ ์๊ณ ์ด๋ฅผ ์์์ผ๋ก
$P(A|B) = \frac{P(A \cap B)}{P(B)}$ ๋ผ๊ณ ์ ์ ์ ์๋ค.
๋ง์ฐฌ๊ฐ์ง๋ก ๊ฑฐ๊พธ๋ก ๋ค์ง์ด A๊ฐ ์ผ์ด๋ ํ B๊ฐ ์ผ์ด๋ ํ๋ฅ ์
$P(B|A) = \frac{P(A \cap B)}{P(A)}$ ์ด๋ค.
์ด ๋ ์์ ์ด์ฉํ๋ฉด
$P(A \cap B)$ = $P(A|B) * P(B)$ = $P(B|A) * P(A)$ ๋ผ๋ ์์ ๋ง๋ค ์ ์๋ค.
๋ ์ฌ๊ฑด A,B์ด ์ผ์ด๋ ํ๋ฅ ์ด ์๋ก์๊ฒ ์ ํ ์ํฅ๋ผ์น์ง์๋, ๋ ๋ฆฝ์ฌ๊ฑด์ด๋ผ๊ณ ํ๋ค๋ฉด
$P(A \cap B)$ = $P(A) * P(B)$ ์ด๋ค.
์ด๋ ๋ ์ฌ๊ฑด์ด ์๋๋ผ A,B,C,D... ์ฌ๋ฌ๊ฐ๊ฐ ์์ด๋ ๋ง์ฐฌ๊ฐ์ง์ด๋ค.
$P(A \cap B \cap C \cap D)$ = $P(A) * P(B) * P(C) * P(D)$
3. ๋ถํ
์ฌ๊ฑด A๋ฅผ ์ฌ๋ฌ๊ฐ๋ก ๋ถํ ํ ์ ์์ต๋๋ค.
์ฌ๊ฑด A๋ฅผ $A_1, A_2 ... A_n$ ๊ฐ๋ก ๋ถํ ํ๋ค๋ฉด ์ด๋ฐ๋๋. (๋น์ฐํ ์๋ก ๊ฒน์น์ง์๊ฒ, ๊ฐ๊ฐ์ ์ฌ๊ฑด์ด ์๋ก์๋ฅผ ์ ์งํ๋ฉด์)
4. ๋ฒ ์ด์ฆ ์ ๋ฆฌ (Bayes' Law)
๋ฒ ์ด์ฆ ์ ๋ฆฌ๋ $P(B|A) = \frac{P(A \cap B)}{P(A)}$ ์์ ๋ถ๋ชจ $P(A)$๊ฐ์ ์ ๋ํ๋ ๊ณผ์ ์์ ์ถ๋ฐํ๋ค.
$P(A \cap B)$ = $P(A) * P(B)$
์ด ์์์ ์ฌ๊ฑด B๋ฅผ $B_1, B_2 ... B_n$ ๊ฐ๋ก ๋ถํ ํ๋ค๋ฉด ๋ค์๊ณผ ๊ฐ์ด ์ ์ ์ ์๋ค.
$A =$ $(A \cap B_1)$ $\cup$ $(A \cap B_2)$ $\dots \cup$ $(A \cap B_n)$
๋ง์ฐฌ๊ฐ์ง๋ก ์ฌ๊ธฐ์ ๊ฐ๊ฐ์ ํ๋ฅ ์ ๊ตฌํ๋ฉด ์๋์ ๊ฐ์ ์์ด ๋ง๋ค์ด์ง๊ณ
$P(A) =$ $P(A \cap B_1)$ $\cup$ $P(A \cap B_2)$ $\dots \cup$ $P(A \cap B_n)$
์ฌ๊ฑด A๊ฐ ์ผ์ด ๋ฌ์ ๋, B์ ๋ถํ ์ค ํ๋์ธ B_j๋ผ๋ ์ฌ๊ฑด์ด ๊ฐ์ด ์ผ์ด๋ ํ๋ฅ ์ ๋ค์๊ณผ ๊ฐ๋ค.
์ด ์์ ํต์ฌ์, ์ฌ๊ฑด $A$๊ฐ ์ผ์ด๋ฌ์ ๋ $B_j$๊ฐ ์ผ์ด๋ ํ๋ฅ ($P(B_j|A)$)์ ๊ฑฐ๊พธ๋ก ๋ค์ง์
$B$๊ฐ ์ผ์ด๋ฌ์ ๋์ ํ๋ฅ ๋ค ($P(A|B_1), P(A|B_2) \dots P(A|B_k) ๋ค$)๋ก ๋ํ๋ผ ์ ์๋ค๋ ๊ฒ์ ์๋ค.
5. ๋ฒ ์ด์ฆ ์ ๋ฆฌ์ ์์ฉ
๋ฒ ์ด์ฆ ์ ๋ฆฌ๋ ์ฌ์ ์ ๋ณด, ์ฆ '๋ฐ์ดํฐ ๋ถ์์ ํตํด ์ด๋ ํ ์ฌ๊ฑด์ด ์ผ์ด๋ ํ๋ฅ ๊ฐ์ ์ด๋ฏธ ์๊ณ ์์ ๋' ์ฌ์ฉ๋๋ฉฐ ์ด๋ฅผ ์ด์ฉํ์ฌ [์ด๋ ํ ์ฌ๊ฑด A ๋ฐ์ ์ดํ ์ผ์ด๋ ํ๋ฅ ] $P(\theta | A)$ ๋ฅผ ๊ตฌํ ๋ ์ฌ์ฉ๋๋ค.
์๋ฅผ ๋ค์ด [๋ด์ผ ํ๋ฃจ ์ฃผ์์ด ์ค๋ฅผ ํ๋ฅ ]์ $\theta$ ๋ผ๊ณ ๊ฐ์ ํ์ ($\theta$ ๋ 0.0~1.0 ์ฌ์ด๊ฐ)
๋น ๋ฐ์ดํฐ ๋ถ์์ ํตํด [์ฃผ์์ด ์ค๋ฅผ ํ๋ฅ ] $\theta$ ๊ฐ 0.4์ผ ํ๋ฅ ์ด 50%, 0.5์ผ ํ๋ฅ ์ด 50%์์ ์ฐพ์๋๋ค๋ฉด
$P(\theta = 0.4)$ = 0.5 $P(\theta = 0.6)$ = 0.5 ์ผ๋ก ์ ์ ์ ์๋ค.
์ฌ๊ธฐ์์ ์ฃผ๊ฐ๊ฐ 3์ผ ์ฐ์์ผ๋ก ์ค๋ฅผ ํ๋ฅ ์ A๋ผ๊ณ ๊ฐ์ ํด๋ณด์.
3์ผ ์ฐ์์ผ๋ก ์ฌ๋์ผ๋ A๋ [๋ด์ผ ํ๋ฃจ ์ฃผ์์ด ์ค๋ฅผ ํ๋ฅ ]์ 3๋ฒ ๊ณฑํ๋ฉด ๋๋ค. $P(A)$ = $\theta^3$
์์์ ๋น ๋ฐ์ดํฐ ๋ถ์์ ํตํด [์ฃผ๊ฐ๊ฐ ์ค๋ฅผ ํ๋ฅ $\theta$]๊ฐ 0.6์ด ๋ ํ๋ฅ ์ด 50%์์ ์๊ณ ์์ผ๋
์ฌ๊ฑด A๊ฐ ๋ฐ์ ํ ํ, [์ฃผ๊ฐ๊ฐ ์ค๋ฅผ ํ๋ฅ $\theta$]๊ฐ 0.6์ด ๋ ํ๋ฅ ์ ๋ค์๊ณผ ๊ฐ์ด ๊ตฌํ ์ ์๋ค.
์ฆ ๋ฒ ์ด์ฆ ์ ๋ฆฌ๋ ๊ฐ์ง๊ณ ์๋ ํ๋ฅ ์ ๋ณด๋ฅผ ์์ฉํด์ ์๋ก์ด ์ ๋ณด๋ฅผ ๋์ถํด๋ด๋ ๊ณต์์ด๋ผ๊ณ ์ดํดํ๋ฉด ๋๋ค.
์๋ ์ ํฉ๋ฌธ์ ํ๋ฅ ์ ๋ฒ ์ด์ฆ ๊ณต์์ ์ ์ฉํ ์
๋ค๋ง, ๋ฒ ์ด์ฆ ์ ๋ฆฌ๋ฅผ ์ด์ฉํ์ฌ ํ๋ฅ ์ ๊ตฌํ๋ ค๋ฉด
์ง์์ ๋ํ ๋ชจ๋ ์ ํฉ ๋ฌธ์(R)์ ๋ํ ํ๋ฅ ๋ฐ์ดํฐ๊ฐ ์์ด์ผ ํ๊ณ
์ ํฉ๋ฌธ์์ผ ํ๋ฅ (R), ๋ฌธ์๊ฐ ๊ฒ์๋ ํ๋ฅ (D) ์ด ์๋ก ๋ ๋ฆฝ์ ์ธ ํ๋ฅ ์ด๋ผ๊ณ ๊ฐ์ ํด์ผํ๋ค.
<๊ถ๊ธํ ์น๊ตฌ๋ฅผ ์ํ ์ถ๊ฐ ์ค๋ช ๋งํฌ>
๋ ๋ฆฝ์ ์ธ ํ๋ฅ ์ ๊ฐ์ ํ๋ค ์ณ๋ ๋ชจ๋ ์ ํฉ๋ฌธ์์ ๋ํ ์ ๋ณด๋ ์ด๋ป๊ฒ ๊ตฌํ์ฃ ?
์ฌ๋์ด ์์์ ์ผ๋ก ๋ง๋ ๋ค.
ํ์ฌ์ ๊ฒ์์์คํ ๋ค์ ์๋ ์ ํฉ์ฑ ํผ๋๋ฐฑ์ ์ฌ์ฉํ๊ธฐ๋ ํ๋๋ฐ ๊ณผ์ ์ ์๊ฐ๋ณด๋ค ๋ณต์กํ๋ ๋์ถฉ ์์๋ณด๊ณ ๋์ด๊ฐ์. #10 ๊ธ์ ์ ํฉ์ฑํผ๋๋ฐฑ์ ๋ํ ๋ด์ฉ์ ์ถ๊ฐ๋ก ์ค๋ช ํ๊ฒ ๋ค.
๋ค๋ง ์ ๋ณด๊ฒ์์์๋ '๋ช๋ฒ์งธ ์์๊น์ง ์ ์์ ๋ง์กฑํ๋ ๋ฌธ์์ธ๊ฐ?'๋ฅผ ์ฐพ์ ํ์๊ฐ ์๋ค.
๊ทธ๋ฅ ์ ์๋ฅผ ๋งค๊ธธ ์ ์๋ ๊ฐ์ค์น ๊ณต์๋ง ์๋ค๋ฉด, ๊ทธ ๊ณต์์ ์ด์ฉํด์ ์์๋ฌธ์ ์์๋ง ์ ํ๋ฉด ๋๋ค.
๋ค์ ๋งํด์ ์ ๊ณต์์์ ๋์จ $\frac{P(NR)}{P(R)}$์ ๊ตณ์ด ์ฌ์ฉํ์ง ์์๋ ์๊ด์๋ค. (์ด ๋ฌธ์์ ์ ํฉ๋ฌธ์ ํ๋ฅ , ๋ถ์ ํฉ ๋ฌธ์ ํ๋ฅ ์ ๋น๊ตํด์ ์ ํฉํ๋ฅ ์ด ๋์ ๊ฒฝ๊ณ๊ฐ์ ์ฐพ์ ํ์๊ฐ ์๋ค๋ ๋ง์ด๋ค.)
๊ฒฐ๊ตญ $\frac{P(D|R)}{P(D|NR)}$์ด ํฐ ๊ฐ์ด ์ ํ๋ฅ ์์๊ฐ ๋๋ค๋ ๋ง์ด๋๊น.
๊ทธ๋์ ํ๋ฅ ๊ฒ์๋ชจ๋ธ์ ๊ฐ์ค์น(์ ํ๋)๋ $\frac{P(D|R)}{P(D|NR)}$ ๋ง ์ฌ์ฉํ๋ค.
# ํ๋ฅ ๊ฒ์๋ชจ๋ธ์ ๋ชจํ
๋ฒกํฐ๊ณต๊ฐ ๋ชจ๋ธ์ฒ๋ผ, ํ๋ฅ ๊ฒ์๋ชจ๋ธ์์ ์ฉ์ด์ ์ ํฉ์ฌ๋ถ๋ ์ฌ๋ฌ๊ฐ์ง ๋ฐฉ๋ฒ์ผ๋ก ๊ณ์ฐ ํ ์ ์๋ค.
ํ์ง๋ง ์ด ๊ธ์์๋ ๊ฐ๋จํ๊ฒ ์ด์ง๊ฒ์๋ชจ๋ธ (BIM)๋ง ์ฌ์ฉํด๋ณด๊ฒ ๋ค.
์ด๋ ์ด๋ฆ ๊ทธ๋๋ก ์ฉ์ด์ ์ถํ ์ฌ๋ถ๋ฅผ ์ด์ง์ผ๋ก ๊ตฌ๋ถ, ์ฆ ์๋ค(1) ์๋ค(0) ์ฌ์ฉํ๊ณ ๋ฌธ์ ๋ด ์ฉ์ด๋ค์ ํ๋ฅ ์ ์๋ก ๊ด๋ จ์๋ ๋ ๋ฆฝ์ (Independence)์ธ ํ๋ฅ ์ด๋ผ๊ณ ๊ฐ์ ํ๋ค. (๋ฒ ์ด์ฆ ๊ณต์์ ์ฌ์ฉํ๊ธฐ ์ํจ)
# ์ง์ ๊ตฌํด๋ณด์
์ด๋ฅผ ์์์ผ๋ก ์์๊ฒ ๋ง๋ค๋ฉด ์๋์ ๊ฐ๋ค.
๊ทธ๋ฅ ์์ ์์ ๋ฐ์ผ๋ก ๋๋ product๋ก ๊ณ์ฐํ๊ธฐ ํธํ๊ฒ ์ ์ ๊ฒ ๋ฟ์ด๋ค.
์ฐธ๊ณ ๋ก ๋ง์ง๋ง์ $P_i$๋ [i๋ฒ์งธ ์ฉ์ด๊ฐ ์ ํฉ๋ฌธ์์์ ๋์ฌ ํ๋ฅ ], $S_i$๋ [i๋ฒ์งธ ์ฉ์ด๊ฐ ๋ถ์ ํฉ ๋ฌธ์์์ ๋์ฌ ํ๋ฅ ]์ ์๋ฏธํ๋ค.
๊ณ์ฐํ๊ธฐ ํธํ ๊ณต์์ ๋ง๋๋ ์ ๋๊ณผ์ (์ง์ ธ์ค..)
# ์ฑ ๋์ง๊ธฐ ์ ์ ์์ ๋ถํฐ ๋ด ์๋ค.
๊ฐ ์ฉ์ด์ ์ ํฉ๋ฌธ์์งํฉ, ๋ถ์ ํฉ๋ฌธ์์งํฉ์์ ์ถํ ์ ๋ณด๊ฐ ์๋ค๋ฉด ๊ณ์ฐ์ด ์์ฒญ ๊ฐ๋จํด์ง๋ค.
* ์ ํฉ๋ฌธ์์ธ๋ฐ (Relevant) ์ง์ ๋ด์ฉ(๋ถ์ฐ) ์ด ์๋ ๋ฌธ์๋ ์๋ค๋๊ฑธ ์ ์ํ์.
1. ์ถํ ์ ๋ณด๊ฐ ์ฃผ์ด์ง๋ค๋ฉด (↑๊ทธ๋ฆผ)
๋ถ์ฐ์ด ์ ํฉ๋ฌธ์์ ์์ ํ๋ฅ $= \frac{๋ถ์ฐ์ด ์ถํํ ์ ํฉ๋ฌธ์}{์ ์ฒด์ ํฉ๋ฌธ์}$, $P_๋ถ = \frac{r_๋ถ}{R}$
๋ถ์ฐ์ด ๋ถ์ ํฉ๋ฌธ์์ ์์ ํ๋ฅ ์ [์ ์ฒด - ์ ํฉ๋ฌธ์ ๊ฐ์]๋ก ๊ตฌํ ์ ์์ผ๋ฏ๋ก
$= \frac{(๋ถ์ฐ์ด ์ถํํ ๋ชจ๋ ๋ฌธ์)-(๋ถ์ฐ์ด ์ถํํ ์ ํฉ๋ฌธ์)}{(์ ์ฒด๋ฌธ์์)-(์ ํฉ๋ฌธ์์)}$, ์ฆ ์๋ ๊ทธ๋ฆผ๊ณผ ๊ฐ๋ค.
2. ๋ง์ฝ ์ถํ์ ๋ณด๊ฐ ์๋ค๋ฉด
$P_i = \frac{1}{2}$, $S_i = \frac{n_i}{N}$ ๋ก ๊ฐ์ ํ๊ณ ๊ตฌํ๋ฉด ๋๋ค.
$P_๋ถ = \frac{1}{2}$, $S_๋ถ = \frac{n_๋ถ}{N}$ ์ผ๋ก ๊ณ์ฐํ๋ฉด ๋๋ค.
3. ์์ฝํด์, ํน์ ๋จ์ด i์ ๋ํด์
$\{ r_i, n_i , R, N \}$ ์ด ์ฃผ์ด์ง๋ฉด ์ ํฉํ๋ฅ ($P_i$), ๋ถ์ ํฉํ๋ฅ ($S_i$)์ ๊ตฌํ ์ ์๋ค
$r_i$ = ์ ํฉ๋ฌธ์์์ i๊ฐ ์ถํํ ๋ฌธ์์ ์ (* i๊ฐ ์ถํํ ๋ฌธ์์ ๊ฐ์์ด๋ค. ๋จ์ด์ ๊ฐ์๊ฐ ์๋๋ค.)
$n_i$ = ์ ์ฒด๋ฌธ์์์ i๊ฐ ์ถํํ ๋ฌธ์์ ์
$R$ = ์ ํฉ ๋ฌธ์์ ๊ฐ์
$N$ = ์ ์ฒด ๋ฌธ์์ ๊ฐ์
4. ์ค์ ๋ชจ๋ธ์์ ์ฌ์ฉํ๋ ์์์ผ๋ก ์ ์ฉํ๋ค๋ฉด
์ ๋๊ณผ์ ์ด ๋ณต์กํ์ง, ๊ณ์ฐ์ ์ด๋ ต์ง ์๋ค. ์๋ ๋ฌธ์ ์๋ ๋์ค๋ ํ๋ฒ ๋ณด๊ณ ๊ฐ์.
- log๋ฅผ ์ด์ฉํด์ ๊ณ์ฐํ๊ธฐ ํธํ ์์ผ๋ก (์ ์ฌ๊ฐ์ผ๋ก) ๋ณ๊ฒฝํฉ๋๋ค. ๋ก๊ทธ๋ ๊ณฑ์ ์ฐ์ฐ์ ๋ง์ ์ผ๋ก ๋ฐ๊ฟ์ค๋๋ค.
- log 0์ ๊ณ์ฐ์ด ๋ถ๊ฐ๋ฅํ๋ฏ๋ก ๋ถ์, ๋ถ๋ชจ์ 0.5์ฉ ๋ํด์ค๋๋ค.
์ด ๊ณต์์ ๊ทธ๋๋ก ์ ์ฉํด์ ํ๋ฅผ ๊ทธ๋ ค๋ณด๋ฉด ์๋์ ๊ฐ์ต๋๋ค.
#BM25(Best Match 25)
์์ BIM(์ด์ง๋ชจ๋ธ)์ ์ต์ข ์์ ์ ๋๊ณผ์ ์ ๋ณด๋ฉด ์๊ฒ ์ง๋ง, ๋ฌธ์์ ์ถํํ์์ ๊ธธ์ด๋ง์ ์ด์ฉํด์ ๊ตฌํ์ต๋๋ค.
์ฆ ์ง์(Q), ์ฆ TF์์๊ฐ ๋ฐ๋๋๋ผ๋ ๊ฐ์ค์น์ ์ํฅ์ ์ฃผ์ง ๋ชปํฉ๋๋ค.
๊ทธ๋์ TF์ ๋ฌธ์์ ๊ธธ์ด๋ฅผ ์ถ๊ฐ๋ก ๋ฐ์ํ๊ฒ BM25 ๋ชจ๋ธ์ด๋ค.
๊ทธ๋ฐ๋ฐ ๋ฌธ์(D)์ TF์ ์ง์๋ฌธ(Q)์ TF๋ ์ด๋ป๊ฒ ๊ตฌํ์๊น!?
์ด๋ป๊ฒ ๊ตฌํ์๊น? ๊ณผ์ฐ ์ด๋ค ์ํ์ฒ์ฌ๊ฐ ์ ๋๊ณผ์ ์ ํตํด ์ฆ๋ช ํ์๊น!?
์ ๋ต์ ๋ชจ๋ฅธ๋ค. ๊ทธ๋ฅ ๊ฐ์ค์ ์ธ์ฐ๊ณ ๋๋ ์ข์ ๊ฐ๋ค ์ฐ์ด๋ฃ์๋๋ ์ฑ๋ฅ์ด ์ข์์ ์ฐ๊ณ ์๋ค. ์ง์ง๋ก.
TF์ Length ๊ฐ์ ์ด๋ป๊ฒ ์ฐ์ด์ ๋ฃ์์๊น์?
์์ b์ ๊ฐ์ด 0์ด๋ผ๊ณ ์๊ฐํ์ ๋
์์ k1, k2๊ฐ์ ์ ์ ํ ์กฐ์ ํ๋ฉด TF๊ฐ์ ๋ฐ๋ผ ๊ทธ๋ํ๊ฐ linear (์ ํ, 1:1), sub-linear(๋ก๊ทธ ๊ทธ๋ํ) ์ฒ๋ผ ๊ฐ์ด ๋งค๊ฒจ์ง๋ค. ์ฆ ๋ฒกํฐ๊ณต๊ฐ๋ชจ๋ธ์์ ์ฌ์ฉํ๋ 1+log tf ์ ์ ์ฌํ ๊ธฐ๋ฅ์ ํ ๊ฒ์ด๋ผ๊ณ ์ถ์ธกํด์ ์ฌ์ฉํ๋, ์ค์ ๋ก ์ฑ๋ฅ์ด ์ข๋ค๊ณ ํ๋ค. ๋ฌผ๋ก ์ํ์ ์ผ๋ก ์๋ฒฝํ๊ฒ ์ฆ๋ช ๋์ง๋ ์์๋ค.
์ฌ๊ธฐ์์ ์์ b๋ ๋ฌธ์ ๊ธธ์ด์ ๋ํ ๊ฐ์ค์น๋ฅผ ๋ถ์ฌํ๊ฑด๋ฐ
(ํ๊ท ์ ์ธ ๋ฌธ์ ๊ธธ์ด์ ๋น๊ตํด์, $\frac{๋ฌธ์๊ธธ์ด}{ํ๊ท ๋ฌธ์๊ธธ์ด]$) ๋ฌธ์๊ธธ์ด๊ฐ ํด์๋ก ๊ฐ์ค์น๊ฐ ์ค์ด๋ค๋๋ก ๋ง๋ ๊ฒ์ด๋ค. ์ด๊ฒ๋ ๋ฒกํฐ๋ชจ๋ธ๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก tf*idf / n ์ ์ ์ฌํ ๋์์ ํ๋ค๊ณ ๋ณผ ์ ์๊ฒ ๋ค.
์, ๋ฌผ๋ก ๋ฌธ์์ ๊ธธ์ด๊ฐ ๊ธธ๋ค๊ณ ๊ฐ์ค์น๊ฐ ๋ฎ์์ ธ์ผ ํ๋ค๋ ๋ณด์ฅ์ด ์์๊น?
๋ฌผ๋ก ๋ฐ๋๋ก ์๊ฐํ๋ ์ฌ๋๋ ์๋ค. ํ์ง๋ง ๋ฎ์์ง๋ค๋ ๊ฐ์ค์ ์ฌ์ฉํ๋๊ฒ ์ฑ๋ฅ์ด ๋ ์ข์์ ์ฌ์ฉํ๋๊ฑฐ ๋ฟ์ด๋ค.
๊ฒฐ๋ก
์ด์ฐ๋ณด๋ฉด BM25์ ์ 3๋ถ๋ถ์ ๋ชจ๋ ์ง์์ฉ์ด์ ๋ํด์
$log idf * log tf(๋ฌธ์) * log tf(์ง์๋ฌธ)$ ์ ๊ฐ์ ๋ํ ์์์ด๋ผ๊ณ ์๊ฐํ ์ ์๋ค.
๊ฑฐ๊ธฐ์ tf(๋ฌธ์)์ ๊ธธ์ด์ ๋ํ ๊ฐ์ค์น๊ฐ(dl/avdl)์ ๋ฃ์ ๊ฒ.
์ฐ๋ฆฌ๊ฐ ์ฌ์ฉํ ๋ ํด๋น ์์์ ๊ทธ๋ฅ ์ธ์์ ์ ์ผ๋ฉด ๋๋ค. (์ด์ฐจํผ ๊ณ์ฐ์ ์ปดํจํฐ๊ฐ ํด์ฃผ๋๊น)
๋จธ์ ๋ฌ๋ ๋ชจ๋ธ๋ง ๊ณผ์ ๊ณผ ๋น์ทํ๋ค. ์ด๊ฒ์ ๊ฒ ๋ฃ๋ค๋ณด๋ ์ฑ๋ฅ์ด ์ข์ ์์์ ์ฐพ์ ์ผ์ด์ค..
<๊ถ๊ธํ ์น๊ตฌ๋ฅผ ์ํ ์ค๋ช ๋งํฌ> ๋ฅผ ์ฌ๊ธฐ์ฏค์์ ํ๋ฒ ์ฝ๊ณ ๊ฐ์. ์ดํด์ ๋์์ด ๋ ๊ฑฐ๋ค.
# BM25 ์์
์ด ์์ ์์๋ ์ ์ ์์ง๋ง, ํ๋ฅ ๋ชจ๋ธ์ด๋ฉด ๊ฐ์ด 0~1์ฌ์ด๋ก ๋์์ผํ๋๋ฐ ์ด๋ฐ ์ ๋๊ณผ์ ์ ๊ฑฐ์น๋ค ๋ณด๋ ์ ํ ์๊ด์๋ ๊ฐ์ค์น๊ฐ ๋์จ๋ค. ๋ญ ์์๋ง ์ ๋น๊ตํ๋ฉด ์๊ด์๊ธด ํ์ง๋ง.
# ํด์ฆ
๋ค์์ ์ ์ฒด 1000๊ฐ์ ๋ฌธ์๋ก ๊ตฌ์ฑ๋ ๋ฌธ์์งํฉ์ ์ผ๋ถ์ ์ง์ Q๋ฅผ ๋ณด์ธ ๊ฒ์ด๋ค.
$Q =$ [ํ๊ตญ, ๋์ ]
$D2 =$ [ํ๊ตญ, ํ๊ตญ, ๋์ , ๋ฏธ๋, ์ ๊ฑฐ]
$D3 =$ [๋ฏผ์ฃผ๋น, ๋์ , ๋ํต๋ น, ์ ๊ฑฐ]
df(ํ๊ตญ)=100, df(๋์ )=10, df(๋ฏธ๋)=20, df(์ ๊ฑฐ)=10, df(๋ฏผ์ฃผ๋น)=15, df(๋ํต๋ น)=20
A. ์๋ ์ด์ง๋ ๋ฆฝ๋ชจ๋ธ(BIM) ์์์ ์ด์ฉํ์ฌ Q์ D2์ ์ ์ฌ๋ ๋ฐ Q์ D3์ ์ ์ฌ๋ ๊ณ์ฐ ์์์ ๊ฐ๊ฐ ์ ์ผ์์ค.
ํ์ด
Sim(Q,D2)์ Sim(Q,D3)๋ฅผ ๊ตฌํ๋ผ๋ ๋ฌธ์ . ๊ณต์์ ๋ฌน์ ์ ์ ์ด์ฃผ์์ผ๋ ๊ทธ๋ฅ ํ๋ฉด๋๋ค.
์ฐธ๊ณ ๋ก ํด๋น ์์์ ์ ํฉ/๋น์ ํฉ ์ถํ์ ๋ณด๊ฐ ์์ ๊ฒฝ์ฐ ์ฌ์ฉํ๋ ํ๋ฅ ๋ชจ๋ธ ๊ฐ์ค์น ์์(=idf)์ด๋ค.
Sim(Q,D2) ์์ Q์ D2์ ๊ณตํต์ผ๋ก ์๋ ๋จ์ด๋ {ํ๊ตญ, ๋์ }์ด๋ค.
ํ๊ตญ, ๋์ ์ ๋ํด์
$log \frac{N-n_ํ}{n_ํ}$
$log \frac{N-n_๋}{n_๋}$ ๋ฅผ ๊ตฌํ ๋ค์ ๋ํด์ฃผ๋ฉด ๋๋ค.
$N$ : ์ ์ฒด ๋ฌธ์ ๊ฐ์
$n_ํ$ : ํ๊ตญ์ด ์ถํํ ๋ฌธ์์ ๊ฐ์ ( df(ํ๊ตญ) = 100 )
$n_๋$ : ๋์ ์ด ์ถํํ ๋ฌธ์์ ๊ฐ์ ( df(๋์ ) = 10 )
Sim(Q,D2) = $log\frac{1000-100}{100} + log\frac{100-10}{10}$
Sim(Q,D3) ์์ Q์ D3์์ ๊ณตํต์ผ๋ก ์๋ ๋จ์ด๋ { ๋์ } ์ด๋ค.
Sim(Q,D3) = $log\frac{100-10}{10}$
B. ์ง์ Q์ ์ ํฉ๋ฌธ์๋ ์ด 20๊ฐ์ด๋ฉฐ, ์ ํฉ๋ฌธ์ ์งํฉ ๋ด์์ df(ํ๊ตญ)=5, df(๋์ )=7 ์ด๋ผ๊ณ ํ ๋, ๋ค์ ์์์ ์ฌ์ฉํ์ฌ Q์ D2์ ์ ์ฌ๋ ๊ณ์ฐ ์์์ ์ ์ผ์์ค.
ํ์ด
์ถฉ๋ถํ ํ ์ ์์ผ๋ ํ๋ฒ ํ์ด๋ณด๋๋ก ํ์.
'๐ฑโ๐ป์ ๊ณต ๊ณต๋ถ > ์ ๋ณด๊ฒ์' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
# ๋ณต์ต : ์ ๋ณด๊ฒ์ ์ฐ์ต๋ฌธ์ (0) | 2021.06.04 |
---|---|
#9 ์ธ์ด ๋ชจ๋ธ(Language Model) (0) | 2021.06.04 |
#7. ๊ฒ์ ์ฑ๋ฅํ๊ฐ TestCase (0) | 2021.06.01 |
#6-2 ์ ๋ณด๊ฒ์ ์ฑ๋ฅํ๊ฐ (MAP, Pre@K, R-pre, NDCG) (0) | 2021.06.01 |
#6-1 ์ ๋ณด๊ฒ์ ์ฑ๋ฅ ํ๊ฐ (P, R, F1, PRC) (0) | 2021.06.01 |
๋ธ๋ก๊ทธ์ ์ ๋ณด
JiwonDev
JiwonDev