ํธ๋ฌ๋ธ์ํ 5 [ํธ๋ฌ๋ธ์ํ ] N-gram๊ณผ Edge-Ngram์ ํจ๊ป ์ผ๋๋? ๊ฒ์ ์ ํ๋ ๋ฌธ์ ์ ํด๊ฒฐ ๊ณผ์ ๐ฅ ์์์น ๋ชปํ ๊ฒ์ ๊ฒฐ๊ณผ? N-gram + Edge-Ngram์ด ๋ง๋ ๋ฌธ์ ๐ ๋ฐ์ํ ๋ฌธ์ ์ฒ์์๋ ๊ฒ์ ๊ธฐ๋ฅ์ ๊ฐํํ๊ธฐ ์ํด ๋ถ๋ถ ๊ฒ์(N-gram)๊ณผ ์๋ ์์ฑ(Edge-Ngram) ๋ ๊ธฐ๋ฅ์ ๋์์ Elasticsearch์ ์ ์ฉํ๋ค.๊ฒ์์ด๊ฐ ์ค๊ฐ์ ํฌํจ๋ ๋จ์ด๋ ์ฐพ๊ณ , ๋์์ ์ ๋ ฅํ ๊ธ์์ ์๋ถ๋ถ์ผ๋ก ์๋ ์์ฑ๊น์ง ๋๋๋ก ํ ๊ฒ์ด์๋ค.ํ์ง๋ง... ์ค์ ๊ฒ์์์ ์์ํ์ง ๋ชปํ ๊ฒฐ๊ณผ๊ฐ ๋ฑ์ฅํ๊ธฐ ์์ํ๋ค. ๐ ์์ 1) ๊ฒ์์ด: ๋ฏธ๋ ธ ๋ฏธ๋ ธ๊ฐ ํฌํจ๋ ์ ํํ ๋จ์ด๋ฅผ ์ฐพ๊ณ ์ถ์์ง๋ง,N-gram๊ณผ Edge-Ngram์ด ํจ๊ป ์ ์ฉ๋ ํ๋๊ฐ ์กฐํ ๊ฒฐ๊ณผ๋ฅผ ๋ง๋ค์ด๋๋ค.๊ฒฐ๊ณผ์ ์ผ๋ก ๊ด๋ จ ์๋ ํค์๋๊น์ง ํฌํจ๋ ๊ฒฐ๊ณผ๊ฐ ๋ ธ์ถ๋์๋ค. ๐ ์์ 2) ๊ฒ์์ด: ์นด๋์นด๋๋ฅผ ๊ฒ์ํ์ ๋, ์นด๋์ ๋ฌด๊ดํ ์นด๋ก ์์ํ๋ ๋จ์ด.. 2025. 4. 3. [ํธ๋ฌ๋ธ์ํ ] @Setting์ ์ผ๋๋ฐ ์ ์ธ๋ฑ์ค๊ฐ ์ ๋ ๊น? ๐งจ Elasticsearch ์ธ๋ฑ์ค ์ค์ ์ด ์ ๋๋ค?! @Setting ์คํจ ๊ธฐ๋ก ๐ฅ๋ฌธ์ ์ํฉSpring Boot + Spring Data Elasticsearch ํ๊ฒฝ์์Elasticsearch์์ ๊ฒ์ ์ฑ๋ฅ ๊ฐ์ ์ ์ํด n-gram, edge-ngram ๊ธฐ๋ฐ ์ธ๋ฑ์ค ์ค์ ์ ์ ์ฉํ๋ ค๊ณ ํ๋ค.์๋์ ๊ฐ์ด job-opening-settings.json์ ์์ฑํ๊ณ ,Spring Data Elasticsearch์ @Setting ์ด๋ ธํ ์ด์ ์ ํตํด ์๋์ผ๋ก ์ธ๋ฑ์ค๋ฅผ ์์ฑํ๋ ค๊ณ ํ๋ค.๋๋ณด๊ธฐ job-opening-settings.json { "settings": { "analysis": { "filter": { "ngram_filter": { "type": "ng.. 2025. 4. 2. [ ํธ๋ฌ๋ธ ์ํ ]์ผ์ ๊ด๋ฆฌ ์ฑ ๊ณผ์ _ํธ๋ฌ๋ธ ์ํ ๊ณผ์ ํธ๋ฌ๋ธ ์ํ ๋ฌธ์ ์ํฉIntelliJ์์ ์ฝ๋๋ฅผ ์์ฑํ๋ ์ค, import๋ฅผ ์ํํ ๋ ์ฝ๋์ ๋งจ ์๋ก ์ถ๊ฐ๋์ง ์๊ณ ์์ฑ ์ค์ธ ํด๋น ์ค์ import๋ฌธ์ด ์ถ๊ฐ๋๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ค.๋ฌธ์ ์์ธ๋ฌธ์ ์ ์ ํํ ์์ธ์ ํ์ ํ์ง ๋ชปํ๋ค.ํ์ง๋ง import ์๋ ์ IntelliJ ์ฐ์ธก ํ๋จ์ IDE Error ๋ฉ์์ง๊ฐ ์ง์์ ์ผ๋ก ๋ํ๋ ๊ฒ์ ๋ณด์ IntelliJ ์์ฒด์ ๋ฌธ์ ๋ก ํ๋จํ๋ค.์ฌ๋ฌ ํ๋ฌ๊ทธ์ธ์ ์ค์นํ๋ ๊ณผ์ ์์ ์ค์ ์ด ๊ผฌ์๊ฑฐ๋ ์๋ชป๋ ๋ณ๊ฒฝ์ด ์ด๋ฃจ์ด์ง ๊ฒ์ผ๋ก ์๊ฐํ๊ณ ์๋ค.ํด๊ฒฐ ๋ฐฉ๋ฒํํฐ๋๊ณผ ํจ๊ป ๋ค์ํ ์๋IntelliJ ์ค์ ๋ณ๊ฒฝ์บ์ ์ญ์ ๊ทธ๋ฌ๋ ์ฌ๋ฌ ๋ฐฉ๋ฒ์ ์๋ํด๋ ์ฌ์ ์น IDE Error ๋ฉ์์ง๊ฐ ๋ฐ์ํ์ฌ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ์ง ๋ชปํ๋ค.์ต์ข ํด๊ฒฐIntelliJ๋ฅผ ์์ ํ ์ญ์ ํ ํ ์ฌ์ค์น ์งํ์ฌ์ค์น ํ ๊ธฐ๋ณธ.. 2024. 12. 10. ํค์ค์คํฌ ๊ณผ์ _ํธ๋ฌ๋ธ ์ํ ๊ณผ์ ํธ๋ฌ๋ธ ์ํ ๋ฌธ์ ์ํฉํค์ค์คํฌ ๊ณผ์ ๋ฅผ ์งํํ๋ ค๊ณ ์บ ํ์์ ์ง์๋ฐ์ ๋งฅ๋ถ์ผ๋ก ์์ ์ ์์ํ๋๋ฐ, GitHub์ ์ฐ๋ํ๋ ๊ณผ์ ์์ ํฐ๋ฏธ๋์ ์ฌ์ฉํ๋ ค๋ค ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ค. ์๋์ฐ์ ๋งฅ๋ถ์ ํฐ๋ฏธ๋ ์ฌ์ฉ ๋ฐฉ์์ด ๋ฌ๋ผ ์ต์ํ์ง ์์์ ํค๋งค๊ฒ ๋์๋ค.๋ฌธ์ ์์ธ๋งฅ๋ถ์ ํฐ๋ฏธ๋ ํ๊ฒฝ๊ณผ ๋ช ๋ น์ด ๊ตฌ์กฐ๊ฐ ์๋์ฐ์ ๋ค๋ฅด๊ณ , ๊ธฐ๋ณธ์ ์ธ Git ์ค์ ์ด๋ ๋ช ๋ น์ด ์ ๋ ฅ ๋ฐฉ๋ฒ์ ์ ์์งํ์ง ๋ชปํ๋ค.IntelliJ์ ๊ฐ์ IDE์์ ์ ๊ณตํ๋ Git ๊ธฐ๋ฅ์ ๋ํ ์ฌ์ ์ง์์ด ๋ถ์กฑํ๋ค.ํด๊ฒฐ ๋ฐฉ๋ฒ๊ตฌ๊ธ๋ง์ ํตํด IntelliJ IDEA์์ GitHub ์ฐ๋ ์ค์ ๋ฐฉ๋ฒ์ ์ฐพ์ ํ์ตํ๋ค.File → Settings → Version Control → Git ๊ฒฝ๋ก๋ฅผ ํตํด Git ์คํ ํ์ผ์ ์ค์ .File → Settings → Version Cont.. 2024. 11. 28. ๊ณ์ฐ๊ธฐ ๊ณผ์ _ํธ๋ฌ๋ธ ์ํ Lv1 ํธ๋ฌ๋ธ ์ํ ๋ฌธ์ ์ํฉScanner๋ฅผ ์ฌ์ฉํ์ฌ ์ฌ์ฉ์ ์ ๋ ฅ์ ์ฒ๋ฆฌํ๋ ์ค, nextInt( ) ๋ค์ nextLine( )์ ํธ์ถํ๊ฒ ๋๋ฉด ์๋์น ์๊ฒ ๋น ์ ๋ ฅ์ด ์ฒ๋ฆฌ๋๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ค.nextInt( )๊ฐ ์ซ์ ์ ๋ ฅ ๋ค ๋จ์ ์๋ ์ค ๋ฐ๊ฟ ๋ฌธ์(\n)๋ฅผ ์๋นํ์ง ์์์ ์๊ธฐ๋ ๋ฌธ์ ์๋ค.๋ฌธ์ ์์ธnextInt( )๋ ์ซ์๋ง ์ฝ๊ณ , ์ค ๋ฐ๊ฟ ๋ฌธ์(\n)๋ ์ ๋ ฅ ๋ฒํผ์ ๋จ๊ฒจ๋๋ค.์ดํ nextLine( )์ด ํธ์ถ๋๋ฉด ์ ๋ ฅ ๋ฒํผ์ ๋จ์ ์๋ ์ค ๋ฐ๊ฟ ๋ฌธ์๋ง ์ฝ์ด์ ๋น ๋ฌธ์์ด์ ๋ฐํํ๊ฒ ๋๋ค.๋ฌธ์ ์ํฉ ์ฝ๋// ์ฒซ ๋ฒ์งธ ์ ์ ์ ๋ ฅ ๋ฐ๊ธฐ ์ ์๋ด ๋ฌธ๊ตฌ ์ถ๋ ฅSystem.out.print("์ฒซ ๋ฒ์งธ ์ ์ ์ ๋ ฅ(0 ํฌํจ) : ");// ์ฌ์ฉ์๋ก๋ถํฐ ์ ๋ ฅ ๋ฐ์ ์์ ์ ์๋ฅผ firstNumber ๋ณ์์ ํ ๋นint fi.. 2024. 11. 20. ์ด์ 1 ๋ค์