๊ฐ์
BM25(Best Matching 25)๋ ํ๋ฅ ์ ์ธ์ด ๋ชจ๋ธ ๊ณ์ด์ ์ ํต์ ์ธ ์์ ๊ฒฐ์ ํจ์๋ก, ์ง์์ ๋ฌธ์ ๊ฐ ๊ด๋ จ๋๋ฅผ ๊ณ์ฐํ์ฌ ๊ฒ์ ๊ฒฐ๊ณผ๋ฅผ ์ ๋ ฌํ๋ ๋ฐ ์ฌ์ฉ๋๋ค. Okapi ํ๋ก์ ํธ์์ ๋ฐ์ ํ BM ๊ณ์ด ์์ ํจ์์ ๋ค์ฏ ๋ฒ์งธ ๋ฒ์ ์ผ๋ก, ์ค๋ฌด ๊ฒ์ ์์ง๊ณผ ํ์ ํ๊ฐ์์ ์ฌ์ค์์ ํ์ค ๊ธฐ์ค์ ์ผ๋ก ์๋ฆฌ ์ก์๋ค.
๋ฐฐ๊ฒฝ๊ณผ ์ญ์ฌ
- 1970~80๋ ๋ ๋ฐ๋ ์ํฐ ๋ํ๊ต์ ์ ๋ณด ๊ฒ์ ์ฐ๊ตฌ ๊ทธ๋ฃน์ด ํ๋ฅ ์ ๊ฒ์ ๋ชจ๋ธ์ ๋ฐ์ ์ํค๋ฉด์ Okapi ์์คํ ์ด ๋ฑ์ฅํ๋ค.
- BM25๋ Robertson, Walker ๋ฑ์ด 1990๋
๋ ์ค๋ฐ ๋ฐํํ
Okapi BM25
๊ณต์์ ํตํด ๋์คํ๋์์ผ๋ฉฐ, ์ดํ TREC ๋ฒค์น๋งํฌ ๋ํ์์ ๊ธฐ์ค ๋ชจ๋ธ๋ก ๋๋ฆฌ ํ์ฉ๋์๋ค. - ํ์ฌ๋ Elasticsearch, Lucene, Vespa, OpenSearch ๋ฑ ์ฃผ์ ๊ฒ์ ์์ง์ด ๊ธฐ๋ณธ ์ ์ ํจ์๋ก ์ฑํํ๊ณ ์๋ค.
๊ธฐ๋ณธ ์์
์ง์ ์ ๋ฌธ์ ์ฌ์ด์ BM25 ์ ์๋ ๋ค์๊ณผ ๊ฐ๋ค.
์ฌ๊ธฐ์ ์ฌ์ฉ๋๋ ์ญ๋ฌธํ๋น๋๋ ๋ณดํต ์๋์ ๊ฐ์ ์ค๋ฌด๋ฉ ํํ๋ฅผ ์ทจํ๋ค.
- : ์ฉ์ด ์ ๋ฌธ์ ๋ด ๋ฑ์ฅ ํ์(term frequency)
- : ๋ฌธ์ ๊ธธ์ด(ํ ํฐ ์)
- : ๋ง๋ญ์น ์ ์ฒด ๋ฌธ์ ๊ธธ์ด์ ํ๊ท
- : ์ ์ฒด ๋ฌธ์ ์, : ์ฉ์ด ๊ฐ ๋ฑ์ฅํ ๋ฌธ์ ์
- , : ์กฐ์ ํ๋ผ๋ฏธํฐ (๋ณดํต )
๊ตฌ์ฑ ์์ ํด์ค
- ์ฉ์ด ๋น๋ ๋ณด์ : ๋ถ์ ๋ ๋ฐ๋ณต ์ถํ์ ๊ฐ์กฐํ๋, ๋ถ๋ชจ์ ๋๋ถ์ ํฌํ ๊ณก์ ํํ๋ก ๊ธฐ์ฌ๋๊ฐ ์ ํ๋๋ค.
- ๋ฌธ์ ๊ธธ์ด ์ ๊ทํ: ์ ํญ์ ๋ฌธ์๊ฐ ํ๊ท ๋ณด๋ค ๊ธธ ๋ ๊ณผ๋ํ ์ ์๋ฅผ ๋ฐฉ์งํ๋ฉฐ, ์ด๋ฉด ๊ธธ์ด ์ ๊ทํ๋ฅผ ๋ฌด์ํ๋ค.
- IDF ์ค๋ฌด๋ฉ: ๋ ๊ทน๋จ๊ฐ์ ๋ํ ์์ ์ฑ์ ์ ๊ณตํ๋ฉฐ, ์ฉ์ด๊ฐ ๊ฑฐ์ ๋ชจ๋ ๋ฌธ์์ ๋ฑ์ฅํ๋ฉด IDF๊ฐ 0์ ๊ฐ๊น์์ ธ ์ํฅ๋ ฅ์ด ์ค์ด๋ ๋ค.
ํ๋ผ๋ฏธํฐ ์ ํ ๊ฐ์ด๋
- (term saturation): ๊ฐ์ด ํด์๋ก ์ฉ์ด ๋น๋์ ์ํฅ์ด ๊ฐํด์ง๋ค. ๋ด์ค, ์ํค์ฒ๋ผ ๊ธด ๋ฌธ์์๋ 1.5~1.9 ๋ฒ์๊ฐ ์์ฃผ ์ฌ์ฉ๋๋ค.
- (length normalization): 0.7~0.8์ด ๊ธฐ๋ณธ๊ฐ์ผ๋ก ์ฐ์ธ๋ค. ๋ฌธ์ ๊ธธ์ด ํธ์ฐจ๊ฐ ํฐ ๊ฒฝ์ฐ(์: ๋ธ๋ก๊ทธ, ๋ ผ๋ฌธ)์๋ ๋์ ๊ฐ์, ์งง์ ์ฟผ๋ฆฌ-์งง์ ๋ฌธ์ ํ๊ฒฝ(์: FAQ)์์๋ ๋ฎ์ ๊ฐ์ ๊ณ ๋ คํ๋ค.
- ๋ฐ์ดํฐ ๊ธฐ๋ฐ ํ๋: ํ์ต ๋ฐ์ดํฐ๊ฐ ์๋ค๋ฉด MAP, nDCG, Recall ๋ฑ ํ๊ฐ ์งํ๋ฅผ ๊ธฐ์ค์ผ๋ก ๊ทธ๋ฆฌ๋ ์์น๋ ๋ฒ ์ด์ง์ ์ต์ ํ๋ฅผ ์ํํ๋ค.
BM25์ TF-IDF ๋น๊ต
๊ด์ | TF-IDF | BM25 |
---|---|---|
์ฉ์ด ๋น๋ ์ฒ๋ฆฌ | ์ ํ ์ฆ๊ฐ | ํฌํ ํํ๋ก ์ฆ๊ฐ, ๊ณผ๋ํ ๋น๋ ์ํ |
๋ฌธ์ ๊ธธ์ด ๋ณด์ | ๋ช ์์ ์์ ์์ | ํ๋ผ๋ฏธํฐ๋ก ์กฐ์ |
ํ๋ผ๋ฏธํฐ | ์์ (๋๋ TF ์ค์ผ์ผ๋ง๋ง) | , ๋ ๊ฐ |
๊ตฌํ ๋์ด๋ | ๋งค์ฐ ๋จ์ | ์ฝ๊ฐ ๋ณต์กํ์ง๋ง ํ์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์กด์ฌ |
์ฑ๋ฅ | ๋ฒ ์ด์ค๋ผ์ธ ์์ค | ๋๋ถ๋ถ์ ๋ง๋ญ์น์์ TF-IDF ๋๋น ์ฐ์ |
๋ณํ ๋ชจ๋ธ
- BM25+: ๊ทน๋๋ก ์งง์ ๋ฌธ์์์ ์ ์๊ฐ 0์ผ๋ก ์๋ ดํ๋ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ์์ ๋ฅผ ์ถ๊ฐํ ๋ฒ์ .
- BM25L: ๋ฌธ์ ๊ธธ์ด ์ ๊ทํ๋ฅผ ์ ํ์ผ๋ก ๋ณด์ ํ์ฌ ๊ธธ์ด ํธ์ฐจ๊ฐ ํฐ ๋ง๋ญ์น์์ ์์ ์ฑ์ ๋์ธ๋ค.
- BM25F: ์ฌ๋ฌ ํ๋(์ ๋ชฉ, ๋ณธ๋ฌธ, ์ต์ปค ํ ์คํธ ๋ฑ)๋ฅผ ์๋ก ๋ค๋ฅธ ๊ฐ์ค์น๋ก ๊ฒฐํฉํ๋ ํ์ฅ.
- PL2, DFR ๊ณ์ด๊ณผ์ ๊ฒฐํฉ: ํ๋ฅ ์ ์ธ์ด ๋ชจ๋ธ์ ๋ค๋ฅธ ๋ณํ๊ณผ ๊ฒฐํฉํ์ฌ ์ธ๋ถํ๋ ์ค๋ฌด๋ฉ ์ ๋ต์ ์ ์ฉํ๊ธฐ๋ ํ๋ค.
๊ตฌํ ์ ๊ณ ๋ ค ์ฌํญ
- ํ ํฌ๋์ด์ง: ํํ์ ๋ถ์ ๋๋ ๋์ด์ฐ๊ธฐ ๊ธฐ๋ฐ ํ ํฌ๋์ด์ง ๊ฒฐ๊ณผ์ ๋ฐ๋ผ ๋ฌธ์ ๊ธธ์ด์ ์ฉ์ด ๋น๋๊ฐ ํฌ๊ฒ ๋ฌ๋ผ์ง๋ฏ๋ก, ๊ฒ์ ๋์ ์ธ์ด์ ๋ง๋ ์ ์ฒ๋ฆฌ๊ฐ ์ค์ํ๋ค.
- ๋ถ์ฉ์ด(stopword) ์ฒ๋ฆฌ: ๋ถ์ฉ์ด๊ฐ ์ ๊ฑฐ๋๋ฉด IDF๊ฐ ๋ ๋๋ ทํ๊ฒ ์๋ํ๋ค. ๋ค๋ง ๋๋ฉ์ธ ํน์ฑ์ ์๋ฏธ ์๋ ๋น์ถ์ด๊ฐ ์๋ค๋ฉด ํ์ดํธ๋ฆฌ์คํธ๋ฅผ ์ ์งํ๋ค.
- ์ ๊ทํ ์ผ๊ด์ฑ: ํ์ต ์์ ๊ณผ ์๋น์ค ์์ ์ ํ๊ท ๋ฌธ์ ๊ธธ์ด()๊ฐ ๋ฌ๋ผ์ง๋ฉด ์ ์ ๋ถํฌ๊ฐ ํ๋ค๋ฆด ์ ์์ผ๋ฏ๋ก, ์ฃผ๊ธฐ์ ์ผ๋ก ์ฌ๊ณ์ฐํ๊ฑฐ๋ ์จ๋ผ์ธ ํต๊ณ๋ฅผ ์ฌ์ฉํ๋ค.
- ํจ์จ์ฑ: ์ญ์์ธ(index)์ ๊ตฌ์ฑํ ๋ ๋ฌธ์ ๊ธธ์ด, ์ฉ์ด ๋น๋๋ฅผ ํจ๊ป ์ ์ฅํ๋ฉด BM25 ๊ณ์ฐ ๋น์ฉ์ ์ค์ผ ์ ์๋ค.
- ์คํ ๋ฌธํ: ํ๋ผ๋ฏธํฐ ํ๋ ์ธ์๋ ๋ฆฌ๋ญํน ๋ชจ๋ธ(์: ํ์ต ๊ธฐ๋ฐ ๋ญํน ๋ชจ๋)๊ณผ ๊ฒฐํฉํ์ฌ ์ฑ๋ฅ์ ๋์ด์ฌ๋ฆฌ๋ ๋ฐฉ์์ด ์ผ๋ฐ์ ์ด๋ค.
์ฐธ๊ณ ์๋ฃ
- Stephen Robertson, Karen Sparck Jones, โRelevance weighting of search terms,โ 1976
- Stephen E. Robertson, Steve Walker ๋ฑ, โOkapi at TREC-3,โ 1996
- Christopher D. Manning ์ธ, Introduction to Information Retrieval, Chapter 11: Probabilistic Information Retrieval
- Elasticsearch ๋ฌธ์: BM25 Similarity ์ค์ ๋ฐ ํ๋ ๊ฐ์ด๋