์ƒ๋Œ€ ๊ณต๊ฒฉ์„ ์•ž๋ฉด ์ˆ˜๋น„ ํ‘œ์‹œ๋กœ ๋Œ€์‹  ๋งž์•„ ์ค„ ๋Œ€ํƒ€์ถœ๋™ ํ† ํฐ์„ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด

์ˆœ์ˆ˜ ํ…์ŠคํŠธ๋กœ ์ด๋ฃจ์–ด์ง„ ์›นํŽ˜์ด์ง€ ์งˆ์˜ ๋ฐ ์ƒ‰์ธํ•˜๋Š” ๊ฒ€์ƒ‰์—”์ง„์„ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด

NPC ์นœ๊ตฌ๋“ค LLM ๋Œ€ํ™” ๋Šฅ๋ ฅ ๊ตฌํ˜„์‹œ ๊ฐ€๋Šฅํ•˜๋ฉด ๋ณด๋‹ค ๋” ๋ฐ‘๋ฐ”๋‹ฅ๊นŒ์ง€ ์ž์ž‘์œผ๋กœ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด

๋‚˜๋Š” ๋ฌธ์ž์—ด์„ '์ด์ƒ์ ์œผ๋กœ' ํ† ํฐํ™”ํ•˜๋Š” ํ•จ์ˆ˜๋ฅผ ์ž‘์„ฑํ•˜๊ณ  ์‹ถ์€ ์š•์‹ฌ์ด ์žˆ๋‹ค.


์ผ๋ฐ˜์ ์œผ๋กœ C++์€ ๋ฌธ์ž์—ด์„ ๋‹ค๋ฃฐ ๋•Œ ::std::string, ::std::wstring ํƒ€์ž…์„ ์‚ฌ์šฉํ•˜๋ฉฐ ํ•ด๋‹น ํƒ€์ž… ๋‚ด๋ถ€์— ์–ด๋–ค ๋ฐฉ์‹์œผ๋กœ ๋ฌธ์ž์—ด์„ ์ธ์ฝ”๋”ฉํ•ด์„œ ์ €์žฅํ• ์ง€๋Š”, ํ”„๋กœ๊ทธ๋ž˜๋จธ๊ฐ€ ๊ฐœ๋ฐœํ™˜๊ฒฝ์ด๋‚˜ ์ €์žฅ ๋ฐฉ์‹์„ ๋”ฐ๋กœ ๋ช…์‹œํ•˜์ง€ ์•Š๋Š” ์ด์ƒ ์•”๋ฌต์ ์œผ๋กœ IDE๊ฐ€ ๊ธฐ๋ณธ ์ œ๊ณตํ•ด์ฃผ๋Š” ์ธ์ฝ”๋”ฉ์œผ๋กœ ์ €์žฅํ•ด.

::std::string : ์•”๋ฌต์  ๊ธฐ๋ณธ ์ธ์ฝ”๋”ฉ, ๋ช…์‹œ์  ๊ธฐ๋ณธ ์ธ์ฝ”๋”ฉ, ๋ช…์‹œ์  utf8. // MS Windows OS ํ•œ๊ตญ์–ด MSVS IDE ๊ธฐ์ค€์œผ๋กœ ๊ธฐ๋ณธ ์ธ์ฝ”๋”ฉ์€ CP949

::std::wstring : ์•”๋ฌต์  ๊ธฐ๋ณธ ์ธ์ฝ”๋”ฉ, ๋ช…์‹œ์  ๊ธฐ๋ณธ ์ธ์ฝ”๋”ฉ // MS Windows OSย MSVS IDE ๊ธฐ์ค€์œผ๋กœ ๊ธฐ๋ณธ ์ธ์ฝ”๋”ฉ์€ unicode utf16


์ˆœ์ˆ˜ ํ…์ŠคํŠธ์˜ ํ† ํฐํ™”๋Š” ๋ณดํ†ต ascii code 32๊ฐ’ ' '์— ํ•ด๋‹น๋˜๋Š” ๊ณต๋ฐฑ์„ ๊ธฐ์ค€์œผ๋กœ ํ•˜์ง€๋งŒ unicode codeํ‘œ์—์„œ ascii range๋ฅผ ๋„˜์–ด์„  ๊ฐ ์–ธ์–ด๋ณ„ ๊ณต๋ฐฑ์„ ์˜๋ฏธํ•˜๋Š” ์ฝ”๋“œ ๊ฐ’๋„ ์žˆ์–ด.

์ด๊ฑธ ๋‹จ์ˆœํ•˜๊ฒŒ 1๋ฐ”์ดํŠธ ๋‹จ์œ„ ascii code 32๊ฐ’ ' '๋งŒ์„ ๊ธฐ์ค€์œผ๋กœ ํ† ํฐํ™” ํ•จ์ˆ˜๋ฅผ ์ž‘์„ฑํ•˜๊ฒŒ ๋˜๋ฉด ์–ธ์  ๊ฐ€ ์—„์ฒญ๋‚˜๊ฒŒ ํฌ๋ฆฌํ‹ฐ์ปฌํ•œ ์ผ์ด ์ƒ๊ธฐ๊ฒŒ ๋  ๊ฑฐ์•ผ. ์ง€๊ตฌ๊ฐ€ ํ‰ํ‰ํ•ด์ง„๋‹ค๋˜๊ฐ€...


๋”ฐ๋ผ์„œ ์™„๋ฒฝํ•˜๊ณ  ์ด์ƒ์ ์ธ ํ† ํฐํ™” ํ•จ์ˆ˜์˜ ๊ธฐ๋Šฅ์„ ํŒŒํŽธํ™”ํ•ด์„œ ๋‚˜์—ดํ•˜๋ฉด ์•„๋ž˜์™€ ๊ฐ™์•„.

// ๊ตฌํ˜„ ๋ฐฉ๋ฒ•์— ๋”ฐ๋ผ์„œ๋Š” ํ•„์ˆ˜ 1 ์ž์ฒด๊ฐ€ ์„ ํƒ์‚ฌํ•ญ์ผ ์ˆ˜๋„ ์žˆ๋Š”๋ฐ ์ง€๊ธˆ ์ง‘์ค‘๋ ฅ์ด ๋ถ€์กฑํ•ด์„œ ์ด ๋ถ€๋ถ„์€ ๊นŠ๊ฒŒ ์ƒ๊ฐ์„ ๋ชปํ•˜๊ฒ ์–ด.


์„ ํƒ X. ํ† ํฐํ™”์‹œ ํ•„์š”ํ•œ ๊ตฌ๋ถ„๋ฌธ์ž(ex ๊ณต๋ฐฑ) ์ฒญํฌ ์ง‘ํ•ฉ์„ ์•ฑ ์‹คํ–‰์‹œ static ์ƒ์ˆ˜๋˜ ์‹ฑ๊ธ€ํ„ด์ด๋“  ๋ญ๋“  ๊ฐ„์— ์ค‘๋ณต์—†์ด ์œ ์ผํ•œ ๊ฐ’์œผ๋กœ ๋ฉ”๋ชจ๋ฆฌ์— ์žก์•„๋‘˜ ๊ฒƒ

ํ•„์ˆ˜ 1. { ์–ด๋–ค ํƒ€์ž… ์–ด๋–ค ์ธ์ฝ”๋”ฉ }์œผ๋กœ ์ €์žฅํ–ˆ๋˜ ์ด์ƒ์  ํ† ํฐํ™”๋ฅผ ์ค€๋น„ํ•˜๊ธฐ ์œ„ํ•ด ::std::u32string ํƒ€์ž…์œผ๋กœ ์•”๋ฌต์  ๋ช…์‹œ์  utf32๋กœ ์ธ์ฝ”๋”ฉ(๊ธฐ๋ณธ ํ•จ์ˆ˜)

ํ•„์ˆ˜ 2. ๊ตฌ๋ถ„๋ฌธ์ž ์ฒญํฌ ์ง‘ํ•ฉ์„ ๊ธฐ์ค€์œผ๋กœ ํ† ํฐํ™”ํ•˜๋Š” ํ•จ์ˆ˜ ์ž‘์„ฑ(๊ธฐ๋ณธ ํ•จ์ˆ˜)

ํ•„์ˆ˜ 3. ๊ตฌ๋ถ„๋ฌธ์ž ์ฒญํฌ ์ง‘ํ•ฉ์„ ๊ธฐ์ค€์œผ๋กœ ํ† ํฐํ™”ํ•˜๋Š” ์ด ๋ช‡ ๋ฒˆ์˜ ์ค‘๋ณต ํ† ํฐ์ด ์žˆ๋Š”์ง€ ์„ธ๋Š” ํ•จ์ˆ˜ ์ž‘์„ฑ(์œ ํ‹ธ ํ•จ์ˆ˜)

ํ•„์ˆ˜ 4. ๊ตฌ๋ถ„๋ฌธ์ž ์ฒญํฌ ์ง‘ํ•ญ๋ธ” ๊ธฐ์ค€์œผ๋กœ ํ† ํฐํ™”์‹œ ํ† ํฐ์ด ๋งจ ์•ž์ธ์ง€ ์ค‘๊ฐ„์ธ์ง€ ๋งจ ๋’ค์ธ์ง€ ์ฒดํฌํ•ด ๊ฐ€์ค‘์น˜๋ฅผ ์„ค์ •ํ•˜๋Š” ํ•จ์ˆ˜ ์ž‘์„ฑ(์œ ํ‹ธ ํ•จ์ˆ˜)

ํ•„์ˆ˜ 5. ::std::string, :;std::wstring, ::std::u8string, ::std::u16string, ::std::u32string ํƒ€์ž…๋ณ„ n-gram ์ž‘์„ฑ. // ๋‹ค ์ž‘์„ฑํ•˜๊ธฐ ๊ท€์ฐฎ์œผ๋ฉด ::std::string, ::std::wstring, ::std::u8string, ::std::u32string๋งŒ


์ด๊ฒŒ ๋งž๋‚˜ ๋‚˜๋„ ์ž˜ ๋ชจ๋ฅด๊ฒ ๋‹ค.


ํ•ด๋ณด๊ณ  ์˜ด.


8