๊ฐœ์š”

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-IDFBM25
์šฉ์–ด ๋นˆ๋„ ์ฒ˜๋ฆฌ์„ ํ˜• ์ฆ๊ฐ€ํฌํ™” ํ˜•ํƒœ๋กœ ์ฆ๊ฐ€, ๊ณผ๋„ํ•œ ๋นˆ๋„ ์™„ํ™”
๋ฌธ์„œ ๊ธธ์ด ๋ณด์ •๋ช…์‹œ์  ์š”์†Œ ์—†์Œ ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ ์กฐ์ ˆ
ํŒŒ๋ผ๋ฏธํ„ฐ์—†์Œ (๋˜๋Š” TF ์Šค์ผ€์ผ๋ง๋งŒ), ๋‘ ๊ฐœ
๊ตฌํ˜„ ๋‚œ์ด๋„๋งค์šฐ ๋‹จ์ˆœ์•ฝ๊ฐ„ ๋ณต์žกํ•˜์ง€๋งŒ ํ‘œ์ค€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์กด์žฌ
์„ฑ๋Šฅ๋ฒ ์ด์Šค๋ผ์ธ ์ˆ˜์ค€๋Œ€๋ถ€๋ถ„์˜ ๋ง๋ญ‰์น˜์—์„œ TF-IDF ๋Œ€๋น„ ์šฐ์ˆ˜

๋ณ€ํ˜• ๋ชจ๋ธ

  • BM25+: ๊ทน๋„๋กœ ์งง์€ ๋ฌธ์„œ์—์„œ ์ ์ˆ˜๊ฐ€ 0์œผ๋กœ ์ˆ˜๋ ดํ•˜๋Š” ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ์ƒ์ˆ˜ ๋ฅผ ์ถ”๊ฐ€ํ•œ ๋ฒ„์ „.
  • BM25L: ๋ฌธ์„œ ๊ธธ์ด ์ •๊ทœํ™”๋ฅผ ์„ ํ˜•์œผ๋กœ ๋ณด์ •ํ•˜์—ฌ ๊ธธ์ด ํŽธ์ฐจ๊ฐ€ ํฐ ๋ง๋ญ‰์น˜์—์„œ ์•ˆ์ •์„ฑ์„ ๋†’์ธ๋‹ค.
  • BM25F: ์—ฌ๋Ÿฌ ํ•„๋“œ(์ œ๋ชฉ, ๋ณธ๋ฌธ, ์•ต์ปค ํ…์ŠคํŠธ ๋“ฑ)๋ฅผ ์„œ๋กœ ๋‹ค๋ฅธ ๊ฐ€์ค‘์น˜๋กœ ๊ฒฐํ•ฉํ•˜๋Š” ํ™•์žฅ.
  • PL2, DFR ๊ณ„์—ด๊ณผ์˜ ๊ฒฐํ•ฉ: ํ™•๋ฅ ์  ์–ธ์–ด ๋ชจ๋ธ์˜ ๋‹ค๋ฅธ ๋ณ€ํ˜•๊ณผ ๊ฒฐํ•ฉํ•˜์—ฌ ์„ธ๋ถ„ํ™”๋œ ์Šค๋ฌด๋”ฉ ์ „๋žต์„ ์ ์šฉํ•˜๊ธฐ๋„ ํ•œ๋‹ค.

๊ตฌํ˜„ ์‹œ ๊ณ ๋ ค ์‚ฌํ•ญ

  • ํ† ํฌ๋‚˜์ด์ง•: ํ˜•ํƒœ์†Œ ๋ถ„์„ ๋˜๋Š” ๋„์–ด์“ฐ๊ธฐ ๊ธฐ๋ฐ˜ ํ† ํฌ๋‚˜์ด์ง• ๊ฒฐ๊ณผ์— ๋”ฐ๋ผ ๋ฌธ์„œ ๊ธธ์ด์™€ ์šฉ์–ด ๋นˆ๋„๊ฐ€ ํฌ๊ฒŒ ๋‹ฌ๋ผ์ง€๋ฏ€๋กœ, ๊ฒ€์ƒ‰ ๋Œ€์ƒ ์–ธ์–ด์— ๋งž๋Š” ์ „์ฒ˜๋ฆฌ๊ฐ€ ์ค‘์š”ํ•˜๋‹ค.
  • ๋ถˆ์šฉ์–ด(stopword) ์ฒ˜๋ฆฌ: ๋ถˆ์šฉ์–ด๊ฐ€ ์ œ๊ฑฐ๋˜๋ฉด IDF๊ฐ€ ๋” ๋šœ๋ ทํ•˜๊ฒŒ ์ž‘๋™ํ•œ๋‹ค. ๋‹ค๋งŒ ๋„๋ฉ”์ธ ํŠน์„ฑ์ƒ ์˜๋ฏธ ์žˆ๋Š” ๋นˆ์ถœ์–ด๊ฐ€ ์žˆ๋‹ค๋ฉด ํ™”์ดํŠธ๋ฆฌ์ŠคํŠธ๋ฅผ ์œ ์ง€ํ•œ๋‹ค.
  • ์ •๊ทœํ™” ์ผ๊ด€์„ฑ: ํ•™์Šต ์‹œ์ ๊ณผ ์„œ๋น„์Šค ์‹œ์ ์˜ ํ‰๊ท  ๋ฌธ์„œ ๊ธธ์ด()๊ฐ€ ๋‹ฌ๋ผ์ง€๋ฉด ์ ์ˆ˜ ๋ถ„ํฌ๊ฐ€ ํ”๋“ค๋ฆด ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ, ์ฃผ๊ธฐ์ ์œผ๋กœ ์žฌ๊ณ„์‚ฐํ•˜๊ฑฐ๋‚˜ ์˜จ๋ผ์ธ ํ†ต๊ณ„๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.
  • ํšจ์œจ์„ฑ: ์—ญ์ƒ‰์ธ(index)์„ ๊ตฌ์„ฑํ•  ๋•Œ ๋ฌธ์„œ ๊ธธ์ด, ์šฉ์–ด ๋นˆ๋„๋ฅผ ํ•จ๊ป˜ ์ €์žฅํ•˜๋ฉด BM25 ๊ณ„์‚ฐ ๋น„์šฉ์„ ์ค„์ผ ์ˆ˜ ์žˆ๋‹ค.
  • ์‹คํ—˜ ๋ฌธํ™”: ํŒŒ๋ผ๋ฏธํ„ฐ ํŠœ๋‹ ์™ธ์—๋„ ๋ฆฌ๋žญํ‚น ๋ชจ๋ธ(์˜ˆ: ํ•™์Šต ๊ธฐ๋ฐ˜ ๋žญํ‚น ๋ชจ๋“ˆ)๊ณผ ๊ฒฐํ•ฉํ•˜์—ฌ ์„ฑ๋Šฅ์„ ๋Œ์–ด์˜ฌ๋ฆฌ๋Š” ๋ฐฉ์‹์ด ์ผ๋ฐ˜์ ์ด๋‹ค.

์ฐธ๊ณ  ์ž๋ฃŒ