๐ฅ ์์์น ๋ชปํ ๊ฒ์ ๊ฒฐ๊ณผ? N-gram + Edge-Ngram์ด ๋ง๋ ๋ฌธ์
๐ ๋ฐ์ํ ๋ฌธ์
์ฒ์์๋ ๊ฒ์ ๊ธฐ๋ฅ์ ๊ฐํํ๊ธฐ ์ํด ๋ถ๋ถ ๊ฒ์(N-gram)๊ณผ ์๋ ์์ฑ(Edge-Ngram) ๋ ๊ธฐ๋ฅ์ ๋์์ Elasticsearch์ ์ ์ฉํ๋ค.
๊ฒ์์ด๊ฐ ์ค๊ฐ์ ํฌํจ๋ ๋จ์ด๋ ์ฐพ๊ณ , ๋์์ ์
๋ ฅํ ๊ธ์์ ์๋ถ๋ถ์ผ๋ก ์๋ ์์ฑ๊น์ง ๋๋๋ก ํ ๊ฒ์ด์๋ค.
ํ์ง๋ง... ์ค์ ๊ฒ์์์ ์์ํ์ง ๋ชปํ ๊ฒฐ๊ณผ๊ฐ ๋ฑ์ฅํ๊ธฐ ์์ํ๋ค.
๐ ์์ 1) ๊ฒ์์ด: ๋ฏธ๋ ธ
๋ฏธ๋
ธ๊ฐ ํฌํจ๋ ์ ํํ ๋จ์ด๋ฅผ ์ฐพ๊ณ ์ถ์์ง๋ง,
N-gram๊ณผ Edge-Ngram์ด ํจ๊ป ์ ์ฉ๋ ํ๋๊ฐ ์กฐํ ๊ฒฐ๊ณผ๋ฅผ ๋ง๋ค์ด๋๋ค.
๊ฒฐ๊ณผ์ ์ผ๋ก ๊ด๋ จ ์๋ ํค์๋๊น์ง ํฌํจ๋ ๊ฒฐ๊ณผ๊ฐ ๋
ธ์ถ๋์๋ค.
๐ ์์ 2) ๊ฒ์์ด: ์นด๋
์นด๋๋ฅผ ๊ฒ์ํ์ ๋, ์นด๋์ ๋ฌด๊ดํ ์นด๋ก ์์ํ๋ ๋จ์ด๊น์ง ํฌํจ๋ ๊ฒ์ ๊ฒฐ๊ณผ๊ฐ ํจ๊ป ์กฐํ๋์๋ค.
Edge-Ngram์ด ๋จ์ด์ ์๋ถ๋ถ์ ๊ธฐ์ค์ผ๋ก ์๋์์ฑ์ ์์ฑํ๋ฉด์, ์
๋ ฅํ ๋จ์ด์ ์ผ๋ถ๋ง ์ผ์นํด๋ ๊ฒฐ๊ณผ์ ํฌํจ๋๋ ํ์์ด ๋ฐ์ํ๊ธฐ ๋๋ฌธ์ด๋ค.
๐๊ฒฐ๊ณผ์ ์ผ๋ก, ๋ ๋ถ์๊ธฐ๋ฅผ ํจ๊ป ์ฌ์ฉํ๋ ๊ตฌ์กฐ์์๋ ๊ฒ์์ด์ ์๋ถ๋ถ๋ง ์ผ์นํ๊ฑฐ๋ ๋ถํ์ํ ํ ํฐ์ด ์์ฑ๋ ๊ฒฝ์ฐ์๋ ์๋ํ์ง ์์ ๊ฒฐ๊ณผ๊ฐ ๊ณผ๋ํ๊ฒ ๋ ธ์ถ๋ ๊ฐ๋ฅ์ฑ์ด ๋์์ก๋ค.
โ ์์ธ ๋ถ์
N-gram์ ๋ฌธ์์ด์ n๊ธ์ ๋จ์๋ก ์๋ผ์ ๋ถ๋ถ ๊ฒ์์ ์ง์ํ๋ ๋ถ์๊ธฐ๋ค.
์์: "์นด๋" → ["์นด๋", "์นด", "๋"]
Edge-Ngram์ ์
๋ ฅ์ ์๋ถ๋ถ๋ถํฐ ์ผ์ ๊ธธ์ด๋งํผ ๋ถํ ํด ์๋ ์์ฑ ํ๋ณด๋ฅผ ๋ง๋๋ ๋ฐ ์ฌ์ฉ๋๋ค.
→ "์นด๋" → ["์นด", "์นด๋"]
์ด ๋ ๋ถ์๊ธฐ๋ฅผ ํ๋์ ํ๋์ ๋์์ ์ ์ฉํ๊ฒ ๋๋ฉด Elasticsearch๋ ๋ค์๊ณผ ๊ฐ์ด ๋์ํ๋ค.
โ
๊ฒ์์ด๊ฐ ํฌํจ๋์๋์ง ์ฌ๋ถ์๋ ๊ด๊ณ์์ด ์๊ธ์๋ง ์ผ์นํ๊ฑฐ๋ ํํ์ ์ผ๋ก ๋น์ทํ ํ ํฐ์ด ์์ฑ๋๋ฉด ํด๋น ๋ฌธ์๋ ๊ฒ์ ๊ฒฐ๊ณผ์ ํฌํจ๋๋ค.
๊ฒฐ๊ตญ, ๊ฒ์์ด "์นด๋"๋ฅผ ์
๋ ฅํ์ ๋ ์นดํ, ์นด์นด์ค, ์นด๋์ฌ์ฒ๋ผ ์๋ํ์ง ์์ ๊ฒฐ๊ณผ๊น์ง ๋ชจ๋ ๋
ธ์ถ๋๋ ํ์์ด ๋ฐ์ํ๊ฒ ๋ ๊ฒ์ด๋ค.
๐ค ๊ณ ๋ฏผํ ํด๊ฒฐ ๋ฐฉํฅ
โ
๋ถ๋ถ ๊ฒ์๊ณผ ์๋ ์์ฑ ๊ธฐ๋ฅ ๋ถ๋ฆฌ ์ ์ฉ
๐ ํ๋์ ํ๋์์ N-gram๊ณผ Edge N-gram์ ํจ๊ป ์ ์ฉํ์ง ์๊ณ , ๊ฒ์ ๋ชฉ์ ์ ๋ฐ๋ผ ํ๋์ API๋ฅผ ๋ถ๋ฆฌํ๊ธฐ๋ก ํ๋ค.
๐ ๋ถ๋ถ ๊ฒ์์ ์ ํํ ํค์๋ ๋งค์นญ์ ์ง์ค
๐ ์๋ ์์ฑ์ ์ฌ์ฉ์ ์
๋ ฅ ์ด๋ฐ์๋ง ๋ฐ์ํ๋๋ก ๋ถ๋ฆฌ ์ฒ๋ฆฌ
๐ ๋ ๊ธฐ๋ฅ์ด ์๋ก์ ๊ฒ์ ์ ํ๋๋ฅผ ๋ฐฉํดํ์ง ์๋๋ก ์ค๊ณ
โ
Nori ๋ถ์๊ธฐ๋ฅผ ํ์ฉํ ํ๊ธ ํํ์ ๊ธฐ๋ฐ ๊ฒ์ ๋์
๐ ํ๊ตญ์ด์ ์๋ฏธ ๋จ์(ํํ์)๋ฅผ ๊ธฐ์ค์ผ๋ก ํ
์คํธ๋ฅผ ๋ถ์ํ๊ณ , ๋ถํ์ํ ํ ํฐ ์์ฑ์ ์ค์ฌ ์ ํ๋๋ฅผ ๋์ธ๋ค.
๐ "๋ฐฑ์๋ ๊ฐ๋ฐ์" → [๋ฐฑ์๋, ๊ฐ๋ฐ, ์] ํํ์๋ก ๋ถ๋ฆฌ
๐ "๊ฐ๋ฐ์๊ฐ" → ์กฐ์ฌ/์ด๋ฏธ๋ฅผ ์ ๊ฑฐํ์ฌ [๊ฐ๋ฐ, ์]๋ก ์ ์
๐ ์ฌ์ฉ์ ์ฌ์ ๋ฑ๋ก๋ ๊ฐ๋ฅํด ์ง๋ฌด ์ฉ์ด ์ต์ ํ์ ์ ๋ฆฌ
์ด๋ฌํ ๋ฐฉํฅ ์ค์ ์ ๊ธฐ๋ฐ์ผ๋ก ์ธ๋ฑ์ค ๊ตฌ์กฐ๋ฅผ ๋ค์ ์ค๊ณํ๊ณ , ๊ฒ์ API๋ฅผ ๋ชฉ์ ๋ณ๋ก ๋ถ๋ฆฌํ๊ฒ ๋์๋ค.