Search
moon
sun

240920 ~ 240924 ์—ฐ๊ตฌ๋…ธํŠธ

๋ชฉ์ฐจ

๐Ÿ““ ํ˜„์žฌ ์ง„ํ–‰์ƒํ™ฉ

๐Ÿ–‡๏ธ Release Notes

๐Ÿ“Ž
Project Release Notes
โ€ข
24.09.23 10:40 ๊ธฐ์ค€
Project.zip
454.6KB
โ€ข
24.09.24 15:52 ๊ธฐ์ค€(LAST UPDATE)
Project (2).zip
466.0KB

๐Ÿ–‡๏ธ Source Code

๐Ÿ“Ž

<Main System๊ณผ ์—ฐ๊ฒฐ๋˜๋Š” ๋ถ€๋ถ„>

- app.py

source code

- Controller.py

source code

<๋Œ€ํ™” ๋ชจ๋“ˆ api>

- DialogueSessionManager.py

source code

< 1st. ์‚ฌ์šฉ์ž ์Œ์„ฑ ๋…น์Œ>

- record_play.py(๋น„์œ„๊ธ‰์ƒํ™ฉ์‹œ ็”จ)

source code

- emergency_record_play.py(์œ„๊ธ‰์ƒํ™ฉ์‹œ ็”จ)

source code

< 2nd. ์‚ฌ์šฉ์ž ์Œ์„ฑ์„ Text๋กœ ๋ณ€ํ™˜ (STT)>

- CSR.py (STT ๋ชจ๋“ˆ)

source code

< 3rd. ์‚ฌ์šฉ์ž ์Œ์„ฑ์„ ๋ฐ”ํƒ•์œผ๋กœ Clova Chatbot ๋Œ€ํ™” ์ƒ์„ฑ>

- Semi_Chatbot.py (DialogueSessionManager โ†’ Chatbot์œผ๋กœ ๊ฐˆ ๋•Œ, ์‚ฌ์šฉํ•˜๋Š” ์ฑ—๋ด‡)

source code

- Chatbot.py (Recording โ†’ STT โ†’ Chatbot์œผ๋กœ ๊ฐˆ ๋•Œ, ์‚ฌ์šฉํ•˜๋Š” ์ฑ—๋ด‡)

source code

- Multiturn_Chatbot.py (๋ฉ€ํ‹ฐํ„ด์„ ์œ„ํ•œ ์ฑ—๋ด‡ (๊ตฌํ˜„ X))

source code

< 4th. Chatbot ๋Œ€ํ™”(Text)๋ฅผ Speechํ•˜๋Š” TTS ๋ชจ๋“ˆ>

- TTS.py

source code

<System Log ๊ด€๋ฆฌ (Debugging ๋ชฉ์ )>

- LogDBHandler.py

source code

<GUI PyQt5 for DemoTest>

- application.py

source code
โ€ข
์ดˆ๊ธฐํ™”๋ฉด
โ€ข
์‚ฌ์šฉ์ž ์„ ํƒ
์‚ฌ์šฉ์ž๋ฅผ ์„ ํƒํ•˜๋ฉด, ์ž๋™์œผ๋กœ ํ•ด๋‹น User_ID๊ฐ€ ์ž…๋ ฅ๋จ
โ€ข
Event ์„ ํƒ
Event๋ฅผ ์„ ํƒํ•˜๋ฉด, ์ž๋™์œผ๋กœ ํ•ด๋‹น Event_ID๊ฐ€ ์ž…๋ ฅ๋จ
โ€ข
๋ฒ„ํŠผ ์„ ํƒํ•ด์„œ Controller์— ์—ฐ๊ฒฐ

๐Ÿ–‡๏ธ ํŠœ๋‹๋ชจ๋ธ์„ ์œ„ํ•œ DataSet

๊ฒฐ๊ณผ ํŒŒ์ผ
<ํŠœ๋‹ ๋ชจ๋ธ์„ ์œ„ํ•œ ๋ฐ์ดํ„ฐ ์…‹(DataSet)>
โ€ข
situation ๊ธฐ๋ฐ˜์œผ๋กœ ๋Œ€ํ™” ์ƒ์„ฑ
โ€ข
situation + ์‚ฌ์šฉ์ž ๋Œ€ํ™” ๊ธฐ๋ฐ˜์œผ๋กœ ๋Œ€ํ™” ์ƒ์„ฑ

โœ๏ธ ๋ฉ”๋ชจ์žฅ

์šฐ์„  ์œ„๊ธ‰์ƒํ™ฉ(์žํ•ด ่กŒๅ‹•)์ธ ๊ฒฝ์šฐ,
1.
Situation DB์—์„œ is_emergency๋ฅผ ํ†ตํ•ด ์œ„๊ธ‰์ƒํ™ฉ์ž„์„ ํ™•์ธ(if)
2.
Chatbot์—์„œ ์œ„๊ธ‰์ƒํ™ฉ์ธ ๊ฒฝ์šฐ์˜ Chatbot์„ ์‹คํ–‰ โ‡’ Chatbot์„ 3๊ฐœ๋กœ ๊ตฌ๋ถ„
3.
TTS๋ฅผ ์™„๋ฃŒํ•˜๊ณ , emergency_recording์„ ์‹คํ–‰
4.
timeout๋™์•ˆ ์‚ฌ์šฉ์ž์˜ ์Œ์„ฑ ๋Œ€ํ™”๊ฐ€ ๋…น์Œ์ด ๋˜๋ฉด STT๋กœ ๋„˜์–ด๊ฐ€๊ณ ,
์Œ์„ฑ ๋Œ€ํ™”๊ฐ€ ๋…น์Œ๋˜์ง€ ์•Š์œผ๋ฉด Terminateํ•˜๋„๋ก ํ•จ
๋‚™์„œ์žฅ
์ฐธ๊ณ ์ž๋ฃŒ (์ •๋ฆฌ๋ณธ)
PyQt5
Pyinstaller
โ€ข
pyinstaller โ€” onefile app.py๋ฅผ ์‹คํ–‰ํ•˜๋ฉด, ์•„๋ž˜์™€ ๊ฐ™์€ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•จ
The โ€˜pathlibโ€™ package is an obsolete backport of a standard library package and is incompatible with PyInstaller. Please remove this package (C:\Users\anaconda3\Lib\site-packages) using conda remove then try agian.
๐Ÿ‘ฑโ€โ™‚๏ธ
์ด ์˜ค๋ฅ˜ ์ฝ”๋“œ์— ๋Œ€ํ•ด ์ž์„ธํžˆ ์„ค๋ช…ํ•ด์ค„๋ž˜?
๐Ÿค–
pathlib ํŒจํ‚ค์ง€๊ฐ€ ๋” ์ด์ƒ ํ•„์š”ํ•˜์ง€ ์•Š๊ฑฐ๋‚˜, Python์˜ ํ‘œ์ค€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์— ์ด๋ฏธ ํฌํ•จ๋˜์–ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ถฉ๋Œ์ด ๋ฐœ์ƒํ•œ๋‹ค๋Š” ์˜๋ฏธ์ž…๋‹ˆ๋‹ค. PyInstaller๋Š” Python ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋ฐฐํฌ ๊ฐ€๋Šฅํ•œ ์‹คํ–‰ ํŒŒ์ผ๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๋„๊ตฌ์ธ๋ฐ,
pathlib์˜ ๋ถˆํ•„์š”ํ•œ ๋ฒ„์ „์ด ํฌํ•จ๋˜์–ด ์žˆ์œผ๋ฉด ์ž‘๋™์— ๋ฌธ์ œ๊ฐ€ ์ƒ๊ธธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
์ฆ‰, Anaconda ํ™˜๊ฒฝ์—์„œ pathlib์˜ ๋ฐฐ๊ฐœํฌํŠธ ๋ฒ„์ „์ด ์„ค์น˜๋˜์–ด ์žˆ์„ ๊ฒฝ์šฐ, PyInstaller์™€์˜ ํ˜ธํ™˜์„ฑ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
<ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•>
Anaconda Prompt์—์„œ pathlib ํŒจํ‚ค์ง€๋ฅผ ์ œ๊ฑฐ
conda remove pathlib
๐Ÿ‘ฑโ€โ™‚๏ธ
๋‚ด๊ฐ€ ๊ถ๊ธˆํ•œ ์ ์€ conda remove pathlib๋ฅผ ํ•˜๋ฉด PyInstaller๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋Š” ํ”„๋กœ์ ํŠธ๋Š” ์ƒ๊ด€์—†์œผ๋‚˜
๋‹ค๋ฅธ ํ”„๋กœ์ ํŠธ์—์„œ ๋ฌธ์ œ๊ฐ€ ์ƒ๊ธธ ์ˆ˜ ์žˆ์ง€ ์•Š์„๊นŒ?
๐Ÿค–
์•„, ๊ทธ ์ ์— ๋Œ€ํ•ด ๊ฑฑ์ •ํ•˜์‹œ๋Š”๊ตฐ์š”! ์ผ๋ฐ˜์ ์œผ๋กœ conda remove pathlib๋ฅผ ํ†ตํ•ด ์ œ๊ฑฐํ•˜๋Š” ๊ฒƒ์€ pathlib์˜ ๋ฐฑํฌํŠธ ๋ฒ„์ „๋งŒ ์ œ๊ฑฐํ•˜๋Š” ๊ฒƒ์ด๋ฉฐ, ํ‘œ์ค€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ pathlib๋Š” ์˜ํ–ฅ์„ ๋ฐ›์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ Python 3.4 ์ด์ƒ์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋‹ค๋ฉด ๋ฌธ์ œ์—†์ด ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
ํ•ด๊ฒฐ๋˜์ง€ ์•Š์€ ์ 
โ€ข
์‹ฑ๊ธ€ํ„ด๊ณผ ๋ฉ€ํ‹ฐํ„ด์˜ ์ •ํ™•ํ•œ ๊ธฐ์ค€์ด ๋ฌด์—‡์ธ๊ฐ€?
โ€ข
๊ฒฐ๊ตญ์— ๋Œ€ํ™” ์„œ๋น„์Šค ๋ชจ๋“ˆ์˜ quality๋Š” ํŠœ๋‹ ๋ชจ๋ธ์˜ ๋Œ€ํ™” ๋ฐ์ดํ„ฐ์…‹์˜ ๊ทœ๋ชจ์™€ quality์— ์žˆ๋Š”๋ฐ ์ด๊ฒƒ์€ ์–ด๋–ป๊ฒŒ ๊ตฌํ•  ๊ฒƒ์ธ๊ฐ€