#9 ์ธ์ด ๋ชจ๋ธ(Language Model)
by JiwonDev์ฐ๋ฆฌ๋ ์์์
๋ถ๋ฆฌ์ธ ๋ชจ๋ธ
๋ฒกํฐ๊ณต๊ฐ๋ชจ๋ธ
ํ๋ฅ ๋ชจ๋ธ(BIM, ์ด์ง๋ชจ๋ธ๋ง ์ค๋ช ํ์)์ ๋ฐฐ์ ๋ค.
์ด์ ๋ง์ง๋ง์ผ๋ก ๊ฐ์ฅ ์ต๊ทผ์ ๋์จ ์ธ์ด ๋ชจ๋ธ์ ๋ฐฐ์๋ณด์.
์ฌ์ค ํ๋ฅ ๋ชจ๋ธ๋ณด๋ค ์ธ์ด ๋ชจ๋ธ์ด TF, IDF, Len์ ์ฌ์ฉํ ํ๋ฅ ๊ณ์ฐ์ '์ ๋๋ก'ํ๋ ๋ชจ๋ธ์ด๋ผ๊ณ ๋ณผ ์ ์๋ค.
# ์ธ์ด ๋ชจ๋ธ์ด ๋ฌด์จ ์๋ฏธ์ฃ ?
[ Language Modeling Approach to IR ] ์ธ์ด ๋ชจ๋ธ ๊ธฐ๋ฐ ์ ๋ณด๊ฒ์ ๋ฐฉ๋ฒ์ ์๋ฏธํ๋ค. (์ธ์ด ๋ชจ๋ธ ์์ฒด๊ฐ ์๋๋ค)
๋จผ์ ์ธ์ด๋ชจ๋ธ์ ๋ํด์ ์ดํด๋ฅผ ํ ํ, ์ธ์ด๋ชจ๋ธ์ ์ด์ฉํด์ ์ ๋ณด๊ฒ์ ํ๋ ๋ฐฉ๋ฒ์ ์์๋ณด์.
# Language Model
์ด๋ค ์ธ์ด์ ์ํ๋ ์์์ ํํ (๋ฌธ์ฅ, ๊ตฌ, ๋จ์ด)์ ๋ํ ํ๋ฅ ๋ถํฌ (์ฌ์ค ์ด๊ฒ ์ง์ ํ ํ๋ฅ ๋ชจ๋ธ์ด๋ผ๊ณ ๋ถ๋ฆฌ๋๊ฒ ๋ง๋๊ฑฐ ๊ฐ๊ธฐ๋ ํ๋ค.)
# N-gram Language Model
๋จ์ด๋ฅผ N-gram์ผ๋ก ๋๋ ํ ํด๋น ๋จ์ด๋ค์ ํ๋์ ์ฌ๊ฑด์ผ๋ก ๋ณด๊ณ ์ฐ์์ผ๋ก ๋์ฌ ํ๋ฅ ์ ๊ณฑํ๋ ๋ฐฉ๋ฒ.
{ ๋ํ, ํ๋ฏผ, ๋ฏผ๊ตญ } ์ผ๋ก ๋๋์ด์ง 2-gram์ด ์๋ค๋ฉด
$ P(๋ํ, ํ๋ฏผ, ๋ฏผ๊ตญ) = P(๋ํ) * P(ํ๋ฏผ|๋ํ) * P(๋ฏผ๊ตญ|๋ํ, ํ๋ฏผ) $
* ์ฐธ๊ณ ๋ก ์ด๋ ๊ฒ ์ถ์ถํ ๋ง๋ญ์น๋ฅผ Corpus (๋ณต์ Corpora)๋ผ๊ณ IR์์๋ ๋ถ๋ฅธ๋ค. ๋ํ N-gram์ ์์ด๋ก ๋ํ๋์ ๋ ๋ ์์ฐ์ค๋ฝ๊ธด ํ๋ค.
Docs : { an adorable little boy is spreading smiles }
(1) unigrams : an, adorable, little, boy, is, spreading, smiles
(2) bigrams : an adorable, adorable little, little boy, boy is, is spreading, spreading smiles
(3) trigrams : an adorable little, adorable little boy, little boy is, boy is spreading, is spreading smiles
(4) 4-grams : an adorable little boy, adorable little boy is, little boy is spreading, boy is spreading smiles
{ ํ์ฐฝ, ๋๊ณ, ์ฌ๋ฆผํฝ } ์ด๋ ๊ฒ 3๋จ์ด๋ก ์ชผ๊ฐ์ด ์ก๋ค๊ณ ํ๋ฉด
- 'ํ์ฐฝ' ์ด ๋์ฌ ํ๋ฅ $P(ํ์ฐฝ)$ = $\frac{ํ์ฐฝ์ด ๋์จ ํ์}{๋ชจ๋ ๋จ์ด์ ์ถํ ํ์}$
- 'ํ์ฐฝ' ๋ค์์ '๋๊ณ'๊ฐ ๋์ฌ ํ๋ฅ $P(๋๊ณ)$ = $\frac{ํ์ฐฝ, ๋๊ณ ๊ฐ์ด ๋์จ ํ์}{ํ์ฐฝ์ด ๋์จ ํ์}$
* ํ์ฐฝ์ด ๋์ฌ ํ๋ฅ ์ด ์๋๋ผ, ์ด๋ฏธ ํ์ฐฝ์ด ๋์๋๋ฐ ๋ค์์ ๋๊ณ๊ฐ ๋์ฌ ํ๋ฅ ์ด๋ฏ๋ก ํ์ฐฝ์ด ๋์จ ๊ฒฝ์ฐ์์ ํ์ฐฝ๊ณผ ๋๊ณ๊ฐ ํจ๊ป ๋์จ ๋น์จ์ ๊ณ์ฐํ๋ฉด ๋๋ค.
- 'ํ์ฐฝ ๋๊ณ' ์ดํ ์ฌ๋ฆผํฝ์ด ๋์ฌ ํ๋ฅ = $\frac{์ ๋ค ๋์จ ํ์}{ํ์ฐฝ,๋๊ณ๊ฐ ๋์จ ํ์}$
์ด๋ฐ์์ผ๋ก ๊ณ์ฐํ์ฌ 'ํ์ฐฝ ๋๊ณ' ๋ค์์ ๋์ฌ ๋จ์ด๋ฅผ ์ ํ๋ค. ( ๋ ํ๋ฅ ๊ฐ์ด ๋์ ๊ฐ)
* ์์ ๋ฐฉ๋ฒ์ผ๋ก ๊ฐ ๋จ์ด๋ง๋ค ์์ ํ๋ฅ ์ ๊ณฑํ๋ฉด ๋๋ ์์ด ๊ณ์ฐ ํ ์๋ ์๊ฒ ์ง๋ง (Ex P(์ฌ๋ฆผํฝ|ํ์ฐฝ ๋๊ณ ์ข์ ๋๋ฐ ...)) ๋ณดํต n-gram์ ์ด์ฉํ ์ธ์ด ๋ชจ๋ธ์ ์์ n-1๊ฐ์ ๋จ์ด๋ง ํ๋ฅ ์ ํฌํจํ๋ค. ์๋ฅผ ๋ค์ด 4-gram์ด๋ผ๊ณ ํ๋ฉด ์๋์ ๊ฐ์ด ํด๋น ๋จ์ด ์์ 3(= 4-1)๊ฐ๋ง ํ๋ฅ ๊ณ์ฐ์ ํ๋ค.
๋ฌผ๋ก 2-gram(2์์ ๋จ์)๋ก ๋จ์ด์ 2์นธ ์๊น์ง๋ง ๊ณ์ฐํ๋๋ผ๋ ๊ณ์ฐ์์ด ๋งค์ฐ ๋ณต์กํ๋ฏ๋ก, ์ฐ๋ฆฌ๋ Unigram(์์ ์ด ์๋ ์๋ฏธ์๋ ๋จ์ด๋จ์) ์ธ์ด๋ชจ๋ธ์ ์ด์ฉํ์ฌ ์์ ํ ๋จ์ด์ ํ๋ฅ ๋ง ๊ณฑํ๋ IR ๊ฒ์๋ชจ๋ธ์ ๋ง๋ค์ด ๋ณด๊ฒ ๋ค.
์ฐธ๊ณ ๋ก ์ธ์ด๋ชจ๋ธ์์ [ํน์ ๋ชจ๋ธ M]์ ์ฌ์ฉํ์์ ํ์ํ ๋ ค๊ณ ํ๋ฅ ์ $P(๋จ์ด |M)$ ๋ผ๊ณ ํ์ํ๊ธฐ๋ ํ๋ค.
* ์ด ์๋์ ์๋ ๋ชจ๋ธ๋ค์ ์ ๋ถ Unigram์ ๊ธฐ์ค์ผ๋ก ์ค๋ช ํ๊ฒ ๋ค.
# ๋ฌธ์ ๋ชจ๋ธ (๋ฌธ์์ ์ธ์ด๋ชจ๋ธ, document model)
์ฌ๋์ด ์ด๋ ํ ๋ฌธ์๋ฅผ ์์ฑํ ๋, ์ด๋ค ๋จ์ด๋ฅผ ์ฃผ๋ก ์ฌ์ฉํ ์ง๋ '๊ธ์ ์์ฑํ ์ฌ๋'์ ์๊ฐ์ ๋ฐ๋ผ ๋ฌ๋ผ์ง๋ค.
IR ์ฉ์ด๋ก ๋งํ๋ฉด, [๋ฌธ์๋ฅผ ์์ฑํ๋ ์ฌ๋]์ ๋ฐ๋ผ ํด๋น [๋ฌธ์์์ ํน์ ๋จ์ด๊ฐ ์ถํํ ํ๋ฅ (๋ฌธ์๋ชจ๋ธ)]์ด ๋ฌ๋ผ์ง๊ฒ ๋๋ค.
์ฆ, ๊ฒ์์์์ ์ธ์ด๋ชจ๋ธ์ [๊ฐ ๋ฌธ์๋ง๋ค์ ์ธ์ด๋ชจ๋ธ] => ๋ฌธ์ ๋ชจ๋ธ์ ์๋ฏธํ๊ณ ์ด๋ฅผ IR์ ์ฌ์ฉํ๋ค.
์ธ์ด๋ชจ๋ธ์ ์ด์ฉํ IR์ ํ๊ธฐ ์ํด์๋ ๊ฐ ๋ฌธ์๋ง๋ค ํด๋น ๋ฌธ์์ ์ธ์ด๋ชจ๋ธ (๋ฌธ์์์ ์ฌ์ฉ๋๋ ๋จ์ด๋ค์ ํ๋ฅ )์ ์ฐพ์ ๋ง๋ค์ด์ผ ํ๋ค.
์ฐธ๊ณ ๋ก ์ ํ๋ P์ [D์ ๋ํ ์ธ์ด๋ชจ๋ธ]์ ์ฌ์ฉํ๋ค๋ ์๋ฏธ๋ก $P(๋จ์ด|M_d)$๋ผ๊ณ ํ๊ธฐํ๋ค.
# ๋ฌธ์๋ชจ๋ธ์ ์ด๋ป๊ฒ ๋ง๋๋์?
๋น์ฐํ ์ด๋ ํ ๋จ์ด๋ฅผ ์ฃผ๋ก ์ฌ์ฉํ๋์ง๋ ๋ฌธ์์ ์์ฑ์๊ฐ ์๋ ์ด์ ์๊ธฐ๋ ์ด๋ ต๊ณ ์๋คํด๋ ์ง์ ๋ง๋ค๊ธฐ๋ ์ด๋ ต๋ค.
๊ทธ๋์ ์ฐ๋ฆฌ๋ ๋ฌธ์๋ก ๋ถํฐ ๋จ์ด๋ฅผ Samplingํด์ ๋ฌธ์๋ชจ๋ธ์ ๋ง๋ค์ด๋ธ๋ค.
๋ฌธ์๋ฅผ ๊ณต์ด ๋ ๋ณด์๊ธฐ S ๋ก ์๋ฅผ ๋ค์ด๋ณด์. ๋ณด์๊ธฐ ์์๋ ์ ๋ง์ ๊ณต์ด ๋ค์ด ์์ผ๋ฏ๋ก, ์ ๋ถ ๊บผ๋ด์ ํ์ธํ๋๊ฑด ๋ถ๊ฐ๋ฅ์ ๊ฐ๊น๋ค. ๊ทธ๋์ ์ฐ๋ฆฌ๋ Sampling์ ํตํด ํด๋น ๋ณด์๊ธฐ์์ ๋ช ๊ฐ์ ๊ณต์ ์ถ์ถํด์ ์ถ์ ํ๋ฅ ์ ๊ตฌํ๋ค.
MLE (Maximum Likelihood Estimation) ๋?
* ์ฐธ๊ณ ๋ก ๊ณต์ด ๋์จ ๋น์จ๋ก ๋จ์ ํ๋ฅ ์ ๊ณ์ฐ ํ ๊ฒ์ MLE (Maximum Likelihood Estimation, ์ต๋ ๊ฐ๋ฅ๋ ํ๊ฐ)๋ผ๊ณ ๋ถ๋ฅธ๋ค. ๊ทธ๋์ MLE๋ก ํ๋ฅ ๊ฐ๋ค์ ๊ณ์ฐํ์ฌ [๋ฌธ์ D์ ํ๋ฅ ๋ถํฌํ]๋ก ๋ง๋ ๊ฒ์ด ๊ณง ํด๋น ๋ฌธ์์ ์ธ์ด๋ชจ๋ธ์ด๋ผ๊ณ ๋ณผ ์ ์๊ธฐ ๋๋ฌธ์ D_MLE ๋ผ๊ณ ์ ๋๋ค.
ex) ์ถ์ถํ ๋ฌธ์($D'$)์ ํฌ๊ธฐ๊ฐ 10์ด๊ณ , ์ก์ 3๊ฐ, ๋ฐ๋ค2๊ฐ, ๋์ 5๊ฐ๊ฐ ๋์๋ค๋ฉด
D_MLE (=ํ๋ฅ ๋ถํฌํ, ํด๋น ๋ฌธ์์ ์ถ์ ์ธ์ด๋ชจ๋ธ)
P(์ก์ ) | 3/10 |
P(๋ฐ๋ค) | 2/10 |
P(๋์) | 5/10 |
์ด๋ฅผ ์ธ์ด๋ชจ๋ธ์ ๊ทธ๋๋ก ์ ์ฉํ๋ฉด ๋ค์๊ณผ ๊ฐ๋ค.
D ๋ฌธ์์ ์ธ์ด๋ชจ๋ธ(=ํ๋ฅ ๋ถํฌํ)๋ฅผ ๋ง๋ค ๋ ์ ์ฒด ๋ฌธ์์ ํฌ๊ธฐ $D$๋ก ๋๋๋๊ฒ ์๋๋ผ $\frac{๋จ์ด์ ๊ฐ์}{์ถ์ถํ ๋ฌธ์ D'์ ํฌ๊ธฐ}$ ์์ ์ ์ํ์.
# N-gram ์ธ์ด ๋ชจ๋ธ์ ํ๊ณ
์์ ์์ ์์ ์ ์ ์๊ฒ ์ง๋ง, N-gram ๋ชจ๋ธ์ ๋ณดํต (n-1)๊ฐ์ ์ ๋จ์ด๋ง ํ๋ฅ ์ ๋ฐ์ํ๋ค.
๋์ถฉ ๋๊ฒ ์งํ๊ณ ๋์ด ๊ฐ ์๋ ์๊ฒ ์ง๋ง, ๋ง์ฝ ๋ค์๊ณผ ๊ฐ์ 2๋ฌธ์ฅ(๋ง๋ญ์น, ์ฝํผ์ค๋ฐ์ดํฐ)๊ฐ ์๋ค๊ณ ์๊ฐํด๋ณด์.
A '~...~ ์๊ณ ์ฌ๋์ค๋ฌ์ด ์๋ ์ด ๋ชจ์์ ์ธ ์์ค์ ํผ๋ถ์๋ค'
B '~...~ ์๊ณ ์ฌ๋์ค๋ฌ์ด ์๋ ์ด ํ๋ณตํ๊ฒ ์์์ ์ง์๋ค.'
[์๊ณ ์ฌ๋์ค๋ฌ์ด ์๋ ]์ด๋ผ๋ ๋จ์ด ๋ค์์ ์ฌ ๋ฐ์ดํฐ๋ฅผ ์ถ์ธกํ ๋ ค๋ฉด, ๊ณผ์ฐ ๋ช ๋จ์ด ์๊น์ง ์ฝ์ด์ผ ์์ธกํ ์ ์์๊น? ์์ 3๋จ์ด๋ง ๋ณธ๋ค๋ฉด, ๋น์ฐํ B[ํ๋ณตํ๊ฒ ์์์]์ด ๋ง๋ ์์ธก์ด๋ผ๊ณ ์๊ฐ ํ ์ ์๊ฒ ์ง๋ง, ์์ฑ์๊ฐ ์๋ ์ ๋น๊ผฌ๊ธฐ์ํด์ ์์ 100๋จ์ด๋ฅผ ์์ผ๋ก ๋๋ฐฐํด๋๊ณ ๋ง์ง๋ง์ ์์ ์ฌ๋์ค๋ฝ๋ค๋ ์์์ ๋ถ์๋ค๋ฉด '๋ชจ์์ ์ธ' A๊ฐ ์ ๋ต์ผ ๊ฒ์ด๋ค.
์ฆ, n-gram์ ์์ ๋จ์ด ๋ช๊ฐ๋ง ๋ณด๋ค๋ณด๋ ์๋ํ๊ณ ์ถ์๋๋ก ๋ฌธ์ฅ์ ๋๋งบ์ ํ์ง ๋ชปํ๋ค๋ ๋จ์ ์ด ์๊ณ ์ด๋ ๋ฌธ์ฅ ์ ์ฒด๋ฅผ ๊ณ ๋ คํ ์ธ์ด๋ชจ๋ธ๋ณด๋ค ์ ํ๋๊ฐ ๋จ์ด์ง ์ ๋ฐ์ ์๋ค.
# ํ๋ฅ ๊ณฑ์ ์ด 0์ด ๋๋ฒ๋ฆฌ๋ ๋ฌธ์
์ด๋ ์ง์ ํ๋ฅ ๊ฐ์ค์น ๊ฐ์ ๊ณ์ฐํ๋ฉด์ ์์๋ณด์.
1. P(D|Q) ๋ฅผ ์ ๊ธ์์ ๋ฐฐ์ด ๋ฒ ์ด์ฆ ๊ณต์์ ์ด์ฉํด ์์ ๋ณํ์ํค๊ณ , ๊ฑฐ๊ธฐ์ ์์๋ฅผ ๋งค๊ธฐ๋๋ฐ ๋ฌด๊ดํ ์์๋ค์ ์ต๋ํ ์ ๊ฑฐํ์ฌ ๊ฐ๋จํ ๊ฐ์ค์น ์์์ ๋ง๋ค์ด ๋ธ๋ค. (์ ํํ ๊ฐ์ด ํ์ํ๊ฒ ์๋๋ผ, ๋น๊ตํ ๊ฐ์ค์น๊ฐ์ด ํ์ ํ ๊ฒ์ด๋ฏ๋ก)
์ฆ, ๊ฐ ๋จ์ด๋ค์ด ๋ฌธ์ D์ ๋์ฌ ํ๋ฅ ์ด๋ฏ๋ก $P(q_1|D) * P(q_2|D) \dots P(q_n|D)$๋ฅผ ํด์ฃผ๋ฉด ๋๋ค.
์ด๋ฅผ ์ดํดํ๊ธฐ ์ฝ๊ฒ ์ค์ ์์ ๋ก ์ดํด๋ณด์.
์ ๊ตฌํ ๊ฒ ๊ฐ์ง๋ง, ํ๋ฅ ๊ฐ์ ๋จ์ํ $\frac{๋จ์ด_i}{์ ์ฒด ๋จ์ด ๊ฐ์}$ ( =MLE ๋ฐฉ์)์ผ๋ก ํด๋ฒ๋ฆฌ๋ฉด ํน์ ๋จ์ด๊ฐ ์ถํํ์ง ์์๊ฒฝ์ฐ(ex ๋ฉ๋กฑ) ์ ์ฒด ํ๋ฅ ๊ฐ์ด 0์ด ๋๋ฒ๋ฆฐ๋ค๋ ํฐ ๋ฌธ์ ๊ฐ ์๋ค. ์๋ฅผ ๋ค์ด
Q = [ ๋ถ์ฐ, ์๊ฐ์น, ์์ฅ, ๋ฉ๋กฑ ], D = [ ๋ถ์ฐ, ์๊ฐ์น, ์์ฅ, ๊ด๊ด]
์ด๋ ๊ฒ ์ง์๋ฌธ๊ณผ ๊ฑฐ์ ๋๊ฐ์ ๋ฌธ์ D๊ฐ '๋ฉ๋กฑ' ํ ๋จ์ด ๋๋ฌธ์ P(Q|D) = 0์ด ๋์ค๋ ์น๋ช ์ ์ธ ๋ฌธ์ ๊ฐ ์๋ค.
# ํฌ์์ฑ(Sparsity) ๋ฌธ์
๊ฐ์ง๊ณ ์๋ ๋ฌธ์ ๋ฐ์ดํฐ์์ ์์ฃผ ๋ฑ์ฅํ ๋จ์ด๊ฐ ์๋๋ฉด, ํฌ์์ฑ ๋ฌธ์ ๊ฐ ๋ฐ์ํฉ๋๋ค.
์๋ฅผ ๋ค์ด '๋ง๋ฆฌ๋ฃฝ์ค๋ฅผ ์๋ฆฌํ๋ค'๋ ๊ฑฐ์ ์ฐ์ด์ง ์๋ ๋จ์ด์ด์ง๋ง, ๋ฌธ์ฅ์ผ๋ก๋ ์ค๋ฅ๊ฐ ์๋ ์ ์์ ์ธ ๋ฌธ์ฅ์ ๋๋ค. ํ์ง๋ง ์์ฃผ ์ฌ์ฉ๋์ง ์๋ ํฌ์ํ ๋จ์ด์ด๊ธฐ์ '๊ณผํ์ฑ ๊ฝ์ด๋ฅผ ์๋ฆฌํ๋ค' '์คํผ์ปค๋ฅผ ์๋ฆฌํ๋ค' ๊ฐ์ ๋ง๋ ์๋๋ ๋ฌธ์ฅ๊ณผ ๊ฐ์ ํ๋ฅ (์ ํ๋P๊ฐ ๊ฑฐ์ 0)์ผ๋ก ์ธก์ ๋ฉ๋๋ค. ์ด๋ N-gram์์ ์ ๋ฐ์ ์ผ๋ก ๋ํ๋๋ ๋ฌธ์ ์ด์ง๋ง, n์ ๊ฐ์๋ฅผ ๋์ผ์๋ก ๋๋์ฑ ์ฌํด์ง๋๋ค. (๋๋ถ๋ถ์ ๋จ์ด์ ํ๋ฅ ์ด 0์ ๊ฐ๊น๊ฒ ๋ฉ๋๋ค)
์์ 2๊ฐ์ง ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ์ํด ์ฐ๋ฆฌ๋ ์ค๋ฌด๋ฉ(Smoothing)๊ณผ ๋ฐฑ์คํ(Backoff)๋ผ๋ ๋ฐฉ๋ฒ์ ์ฌ์ฉํฉ๋๋ค.
์ค๋ฌด๋ฉ์ ๋ฐ์ ํ์๊ฐ 0์ด ๋์ง ์๋๋ก ๋จ์ด์ ์ถํ ๋น๋๋ฅผ ๋ณด์ ํด์ฃผ๋ ๋ฐฉ๋ฒ์ ๋๋ค.
๋ฐฑ์คํ๋ ํน์ ๋จ์ด์ ํ๋ฅ ์ด P = 0์ธ ๊ฒฝ์ฐ์๋ง N-gram์์ n๊ฐ์ ๋ ์๊ฒ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ ๋๋ค.
๋ค์ํ ์ค๋ฌด๋ฉ, ๋ฐฑ์คํ ๋ฐฉ๋ฒ์ ๋ํด์ ๊ถ๊ธํ ์น๊ตฌ๋ค์ ์ํ ๋งํฌ
# ํด๊ฒฐ๋ฐฉ๋ฒ
# Jelinek-Mercer Smoothing (์ ํ๋ณด๊ฐ, linear interpolation)
์ค๋ฌด๋ฉ์ ๋ฐ์ ํ์๊ฐ 0์ด ๋์ง ์๋๋ก ๋จ์ด์ ์ถํ๋น๋๋ฅผ ๋ณด์ ํด์ฃผ๋ ๋ฐฉ๋ฒ์ด๋ค.
๊ทธ ์ค JM ์ค๋ฌด๋ฉ์ ์ ์๋ฅผ ํน์ ๋น์จ๋ก ๋๋ ์ (ex 70% ์ ์ + 30% ๋ณด์ ๊ฐ ) ์ ์ฒด๋ฌธ์(์ปฌ๋ ์ )์ผ๋ก ๋ง๋ ๋ณด์ ๊ฐ์ ๋ํด ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ด๋ค. JM ์ค๋ฌด๋ฉ์์๋ ๋ณด์ ๊ฐ์ ์ ์ฒด๋ฌธ์(์ปฌ๋ ์ )์ ์ธ์ด๋ชจ๋ธ ๊ฐ์ผ๋ก ์ฌ์ฉํ๋ค.
* ์ฐธ๊ณ ๋ก ๋ณดํต ๋ณด์ ๊ฐ์ ๋น์จ($ \lambda $)๋ ์ง์๋ฌธ(q)์ ๊ธธ์ด์ ๋ฐ๋ผ ๋ค๋ฅด๊ฒ ์ ์ฉํ๋ค. (์งง์์๋ก ๋ณด์ ๊ฐ์ ๋ฎ๊ฒ)
์๋ฅผ ๋ค์ด ์ ์ฒด๋ฌธ์์งํฉ์ด ๋ค์๊ณผ ๊ฐ๊ณ , ๋ณด์ ๊ฐ ๋น์จ์ด 30%(0.3)์ด๋ผ๊ณ ๊ฐ์ ํ๋ค๋ฉด
'๋ถ์ฐ'์ ๋ณด์ ๊ฐ : $0.3 * \frac{124}{100,000}$
'๊ฒฝ์ '์ ๋ณด์ ๊ฐ : $0.3 * \frac{578}{100,000}$ ์ด ๋๋ค.
์ฌ๊ธฐ์ ์ ์์ ๋ณด์ ๊ฐ์ ๋น์จ์ $ \lambda, 1- \lambda $ ๋ผ๊ณ ์ ๊ณ ์ด๋ฅผ ์์์ผ๋ก ์ด๋ ต๊ฒ ๋งํ๋ฉด
๊ฐ ๋จ์ด์ $P(q_i|D)$ = ๊ฒ์๋ฌธ์ D์ MLE ๋ฌธ์๋ชจ๋ธ์ ์ด์ฉํ ๊ฐ์ค์น ์ ์
[๊ธฐ์กด์ ๊ฐ์ค์น ์ ์] = $(1- \lambda)$ * P( $q_i$ | D_MLE )
[์ปฌ๋ ์ ๋ณด์ ๊ฐ] = $ \lambda $ * P( $q_i$ | C _MLE )
์ด ๋์ ๋ํ ๊ฐ์ ์๋ก์ด ๊ฐ์ค์น ์ ์๋ก ์ฌ์ฉํ๊ณ , ๊ฐ ๋จ์ด์ ๊ฐ์ค์น์ ์๋ฅผ ๊ณฑํ๋ฉด ์ง์๋ฌธ Q์ ๋ํ ๊ฐ์ค์น ์ ์๊ฐ ๋์จ๋ค.
์ด๋ฅผ ์ค์ ์์ ๋ก ๊ณ์ฐํ๋ค๋ฉด ๋ค์๊ณผ ๊ฐ๋ค.
Q = [๋ถ์ฐ, ๊ฒฝ์ ]
D = [๋ถ์ฐ ์๊ฐ์น ์์ฅ ๊ฒฝ์ ... ] ์ด๊ณ , ๋ฌธ์์งํฉ์ ์๋ ๊ทธ๋ฆผ๊ณผ ๊ฐ๋ค๊ณ ๊ฐ์ ํ๋ฉด
# log๋ก ์์ ๋ณํ (๊ณฑ์ -> ๋ง์ )
๋ก๊ทธ๋ฅผ ์ด์ฉํ์ฌ ๊ณฑ์ ์ ๋ง์ ์ผ๋ก ๋ณ๊ฒฝํ์ฌ ํ๋ฅ ๊ณฑ์ด 0์ด ๋๋ ๊ฒ์ ๋ฐฉ์งํ๋ค.
๋ฌผ๋ก ์ด๋ ๊ฒํ๋ฉด ๊ฐ์ค์น ๊ฐ์ด ๊ธฐ์กด๊ณผ ๋ฌ๋ผ์ง๊ฒ ์ง๋ง, log(a) < log(b) ์ธ ๊ฒฝ์ฐ a<b ๊ฐ ์ฑ๋ฆฝํ๋ฏ๋ก ์์๋ฅผ ๋งค๊ธฐ๋๋ฐ๋ ์๋ฌด๋ฐ ๋ฌธ์ ๊ฐ ์๋ค.
# ์ธ์ด๋ชจ๋ธ์์ IR๋ชจ๋ธ๋ก ( TF, IDF, Length ์์ )
๊ฒฐ๊ตญ IR๋ชจ๋ธ์ ์ง์์ ๋ฌธ์์ ๋ํ ๊ฐ์ค์น(์ ํ๋)๋ฅผ ๊ตฌํ๋ ์์ ํ๋ ๋ง๋ค์ด์ผํ๋ค.
๊ทธ๋์ ์์์ [Unigram ์ธ์ด๋ชจ๋ธ+JM์ค๋ฌด๋ฉ ๊ฐ์ (์ ์ + ๋ณด์ ๊ฐ)] ์์ ์ ๋ฆฌํด์ ๊ณ์ฐํ๊ธฐ ํธํ๊ฒ ํ๋์ ์์ผ๋ก ๋ง๋ค์ด๋ณด์.
์์ ํ๋ฅ ๋ชจ๋ธ์์๋ ๋ฐฐ์ ์ง๋ง ์ฐ๋ฆฌ๊ฐ ์ ๋ณด๊ฒ์ ๋ชจ๋ธ์ ๋ง๋ค ๋, ์ ๋๋ก ๋์ํ๋ ๋ชจ๋ธ์ ๋ง๋ค๋ ค๋ฉด ๋จ์ด์ ๋น๋(TF)์ ๋จ์ด์ถํ๋น๋(IDF), ๊ทธ๋ฆฌ๊ณ ๊ฒ์๋ ๋ฌธ์์ ๊ธธ์ด(Length)๊ฐ ๋ชจ๋ธ์ ๋ฐ์๋์ด์ผ ํ๋ค.
์์ JM ์ค๋ฌด๋ฉ์ ์ฌ์ฉํ ์ธ์ด๋ชจ๋ธ์ ํ๋ฅ ๋ชจ๋ธ(BM25)์ ๋ค๋ฅด๊ฒ ๋ณ๋์ ๊ฐ์ ์ถ๊ฐ ํ ํ์ ์์ด, ์ด๋ฏธ ๋ณด์ ๊ฐ์ ํตํด TF, Length, IDF๊ฐ ์ ์ฉ ๋์์ผ๋ฏ๋ก ํด๋น ์์๋ฅผ ๋ค๊ฐ์ง๊ณ ์๋ค๊ณ ๋ณผ ์ ์๋ค.
๊ทธ๋์ ๊ทธ๋ฅ JM ์ค๋ฌด๋ฉ์ JMํ๋ฅ ๋ชจ๋ธ๋ก ๋ณผ ์๋ ์๋ค๋๊ฒ์ ์ ์ํ์.
# ๋๋ฆฌํด๋ ์ค๋ฌด๋ฉ(dirichlet smothing)
์์์๋ ๊ฐ๋จํ JM์ค๋ฌด๋ฉ์ ์ฌ์ฉํ์ฌ ๊ณ์ฐ์ ํ์ง๋ง, ์ค๋ฌด๋ฉ ๋ฐฉ๋ฒ์๋ ์ฌ๋ฌ๊ฐ์ง๊ฐ ์๋ค.
JM์ค๋ฌด๋ฉ๋ณด๋ค ํจ๊ณผ๊ฐ ์ข์ ๋ฐฉ๋ฒ์ผ๋ก ๋๋ฆฌํด๋ ๋ถํฌ๋ฅผ ์ฌ์ฉํ '๋๋ฆฌํด๋ ์ค๋ฌด๋ฉ'์ด๋ผ๋ ๊ฒ์ด ์๋ค.
๋๋ฆฌํด๋ ์ค๋ฌด๋ฉ์์๋ ๋ณด์ ๊ฐ ๋น์จ์ ๋ฌธ์๊ธธ์ ๋ฐ๋ผ ๋ฌ๋ผ์ง๋ ๋ณ์( $\mu ,๋ฎค$ )๋ก ์ฌ์ฉํ๋ค.
์ฌ๊ธฐ์์ ' ์ ์ ๋ฐ๋ชจ์์ผ๋ก ์์์ด ๋ณํ๋์๋๊ฐ? ' ์ ์ ๋๊ณผ์ ์ ๋๋ฆฌํด๋ ๋ถํฌ๋ฅผ ๊ณต๋ถํด์ผํ๋, ์ผ๋จ ๋์ด๊ฐ๋๋ก ํ์. ๋๋ฆฌํด๋ ๋ถํฌ๋ฅผ ์ด์ฉํ ์์์์๋ ๋ง์ฐฌ๊ฐ์ง๋ก ์ฑ๋ฅ์ ์ข๊ฒํ๊ณ ๊ณฑ์ ์ ๋ง์ ์ผ๋ก ๋ง๋ค๊ธฐ ์ํด log๋ฅผ ์ทจํ๋ค.
(* ์ง์๋ฌธ์์ ๊ฐ์ ๋จ์ด๊ฐ ์ฌ๋ฌ๋ฒ ๋์ฌ ์ ์์์ ์ ์ํ์. ๋จ์ด๊ฐ ๊ฐ๋ค๊ณ ๊ณ์ฐ์ ์๋ตํ๋ฉด ์๋๋ค.)
์ด๋ JM๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก, ๋๋ฆฌํด๋ ์ค๋ฌด๋ฉ์ด ์๋ ๋๋ฆฌํด๋ ์ธ์ด๋ชจ๋ธ์ด๋ผ๊ณ ๋ถ๋ฅผ ์๋ ์๋ค.
# ๊ทผ๋ฐ ๋ณํํ ์์์ ํ๋ฅ ์ ํฉ์ด 1(100%)๊ฐ ๋๋์?
์ธ์ด๋ชจ๋ธ์์์ ๊ฐ์ค์น๋ ์ ์ฒด๋ฅผ 1(100%)๋ก ๋ณด๊ณ ๊ฐ ๋จ์ด๋ง๋ค ํ๋ฅ (ex 0.0003)์ ๋ถ์ฌํ๋ ๋ฐฉ๋ฒ์ด๋ผ๊ณ ํ๋ค.
์์์ ๋ง์ด ๋ณํ์์ผ์ ๊ทธ๋ ๊ฒ ์๋ณด์ผ์๋ ์๋๋ฐ, ์ง์ ๊ณ์ฐํด๋ณด๋ฉด ๋๋ฆฌํด๋, JM ๋๋ค ํ๋ฅ ๋ค์ ํฉ์ด 1์ด ๋์จ๋ค.
# ํด์ฆ
1. ๋ค์์ ๋ฌธ์์งํฉ(์ปฌ๋ ์ , Collection)๊ณผ ์ง์(Query)๋ฅผ ๋ณด์ธ ๊ฒ์ด๋ค.
Q = [ํ๊ตญ, ๋์ ]
D1 = [ํ๊ตญ, ํ๊ตญ, ๋ฏธ๊ตญ, ๋์ , ๋์ , ๋์ , ๋ํต๋ น]
D2 = [ํ๊ตญ, ํ๊ตญ, ๋์ , ๋ฏธ๋, ์ ๊ฑฐ]
D3 = [๋ฏผ์ฃผ๋น, ํ๋๋ผ๋น, ๋์ , ๋ํต๋ น, ์ ๊ฑฐ]
D4 = [๋ฏธ๊ตญ, ๋์ , ๋์ , ํ๊ตญ, ๋ํต๋ น]
D5 = [๋ฏธ๊ตญ, ๋ํต๋ น]
1-1 log P(Q| D3_JM ) ์ ์์์ ์ ์ผ์์ค (๋จ $\lambda = 0.3$)
ํ์ด
IR์ ์ง์๋ฌธ(Q)๊ณผ ๊ฒ์๋ ๋ฌธ์(D_i)์ ๊ฐ์ค์น ๊ฐ์ ๊ตฌํด์ ์์๋ฅผ ๋งค๊ธฐ๋ ์์ ์ด๋ค.
์ฆ ์ง์๋ฌธ์ ๊ฐ ๋จ์ด { ํ๊ตญ, ๋์ } ๋ฅผ ๊ฒ์๋ ๋ฌธ์ D3์ ๋ํด ๊ฐ๊ฐ JM๋ชจ๋ธ์ ์ ์ฉํ ๊ฐ์ค์น ์์์ ๊ณ์ฐํ๋ฉด ๋๋ค.
์ด ๋ JM ๋ชจ๋ธ์ ๊ฐ์ค์น๋น์จ($\lambda$)๊ฐ์ด 0.3์ด๋ผ๊ณ ํ์ผ๋ฏ๋ก ์ง์๋ฌธ i๋ฒ์งธ ๋จ์ด๋ฅผ $q_i$ ๋ผ๊ณ ํ๋ค๊ณ ๊ฐ์ ํ๋ฉด
๊ฐ์ค์น์ ์ P(Q|D3 JM)์
๊ฐ ๋จ์ด์ ๊ฐ์ค์น: $0.7 * \frac{q_i ์ถํํ์}{D3์ ์ ์ฒด ๋จ์ด ๊ฐ์}$ + $0.3 * \frac{์ ์ฒด ๋ฌธ์์งํฉ์์ q_i ์ถํํ์}{์ ์ฒด ๋ฌธ์์งํฉ ๋จ์ด ๊ฐ์}$ ๋ฅผ ๊ตฌํด์ ๊ณฑํ๋ฉด ๋๋ค.
์ฐธ๊ณ ๋ก D3์ ๋ํ ์ ๋ณด๊ฐ ์๋๋ผ๋ MLE ํ ์ด๋ธ(๊ฐ ๋จ์ด์ ํ๋ฅ ๊ฐ) ์ด ์ฃผ์ด์ง๋ค๋ฉด ๋๊ฐ์ด ๊ณ์ฐ ํ ์ ์๋ค.
์ฐธ๊ณ ๋ก ์ ์ฒด ๋ฌธ์์งํฉ(C)์ ๋จ์ด ๊ฐ์๋ ์ด 24๊ฐ์ด๋ค (์ง์ ์ธ๋ณด๋ฉด ๋๋ค)
์ ์ฒด ๋ฌธ์์งํฉ์์ ํ๊ตญ์ 5๋ฒ, ๋์ ์ 7๋ฒ ๋์๋ค.
P(ํ๊ตญ|D3_JM) = P(ํ๊ตญ| D3_JM) = $(0.7 * \frac{0}{5}$) + $(0.3 * \frac{5}{24}$
P(ํ๊ตญ|D3_JM) = P(๋์ | D3_JM) = $(0.7 * \frac{1}{5}$) + $(0.3 * \frac{7}{24}$
๊ฐ์ค์น๋ ๊ฐ ๋จ์ด๋ค์ ๊ฐ์ค์น์ ๊ณฑ, ์ฆ $P(ํ๊ตญ) * P(๋์ )$ ์ธ๋ฐ, ์ด ๊ฐ์ log๋ฅผ ์์๋ผ๊ณ ํ์ผ๋\
log $P(ํ๊ตญ) * P(๋์ )$ ์ด๊ณ ๋ก๊ทธ์ ์ฑ์ง์ ์ํด ๋ง์ ์ผ๋ก ๋ฐ๋๊ฒ ๋๋ค.
์ ๋ต = log $(0.7 * \frac{0}{5}$) * $(0.3 * \frac{5}{24}$ + log $(0.7 * \frac{1}{5})$ * $(0.3 * \frac{7}{24})$
์ฐธ๊ณ ๋ก ์ด๋ ๊ฒ ๊ฐ ๋จ์ด์ ๊ฐ์ค์น๋ฅผ ๋ํ์ง ์๊ณ ๋จ์ด๋ณ ํ๋ก๋ง๋ค๋ฉด, ๊ทธ๊ฒ JM ์ธ์ด๋ชจ๋ธ (D_JM)์ด๋ค.
1-2 log P(Q| D3_Dirichlet ) ์ ์์์ ์ ์ผ์์ค (๋จ $\mu = 2000$)
ํ์ด
JM๊ณผ ๋น์ทํ๋ค. ์คํ๋ ค ๊ณ์ฐ์ ๋ ๊ฐ๋จํ๋ค.
1-1๋ฒ ๋ฌธ์ ์์ JM์์ ๊ตฌํ ์์ ๊ทธ๋๋ก ์ ์ฉํ๋ฉด
= log ($\frac{0+\mu* \frac{5}{24}}{5+\mu})$ + log $(\frac{1+\mu*\frac{7}{24}}{5+\mu})$
$\mu$์ ๊ฐ์ด 2000์ด๋ผ๊ณ ํ์ผ๋ฏ๋ก
= log $(\frac{0+2000 * \frac{5}{24}}{5+2000})$ + log $(\frac{1+2000*\frac{7}{24}}{5+2000})$
์ฐธ๊ณ ๋ก ์์์ ์ ์ผ๋ผ๋ ๋ฌธ์ ๊ฐ ์๋, ์ธ์ด๋ชจ๋ธ (๋จ์ด๋ง๋ค์ ํ๋ฅ ํ)๋ฅผ ๋ง๋ค๋ผ ํ๋ฉด ๋ค์๊ณผ ๊ฐ์ด ์ ์ผ๋ฉด ๋๋ค.
'๐ฑโ๐ป์ ๊ณต ๊ณต๋ถ > ์ ๋ณด๊ฒ์' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
#10 ์ ํฉ์ฑ ํผ๋๋ฐฑ (Relevance Feedback) (0) | 2021.06.05 |
---|---|
# ๋ณต์ต : ์ ๋ณด๊ฒ์ ์ฐ์ต๋ฌธ์ (0) | 2021.06.04 |
#8. ํ๋ฅ ๋ชจ๋ธ(Probabilistic Model) (2) | 2021.06.01 |
#7. ๊ฒ์ ์ฑ๋ฅํ๊ฐ TestCase (0) | 2021.06.01 |
#6-2 ์ ๋ณด๊ฒ์ ์ฑ๋ฅํ๊ฐ (MAP, Pre@K, R-pre, NDCG) (0) | 2021.06.01 |
๋ธ๋ก๊ทธ์ ์ ๋ณด
JiwonDev
JiwonDev