- ๋ถ๋ฌธ:๊ฐ์ ๋ก๋ด ์์ฑ์ธ์ ์ฑ๋ฆฐ์ง
- ํ๊ฐ ์ฅ๋น: ์์ฑ์ธ์ ์ฑ๋ฒ, ๋น์ ์ธ์ ์ฑ๋ฒ
- ํ๊ฐ ๊ธฐ์ค: KS B 6970 (์ค๋ด ์๋น์ค ๋ก๋ด์ ์ํ ์์ฑ์ธ์ ์ฑ๋ฅํ๊ฐ๋ฐฉ๋ฒ ํ์ค)
- ์ฑ๋ฆฐ์ง ๋ด์ฉ:
- ๋ฏธ์ 1 ์์ฑ๋ช ๋ น์ด ์ธ์: ๋ฐํ ๊ฑฐ๋ฆฌ ๋ฐ ์์น๋ฅผ ๋ฌ๋ฆฌํ ์กฐ๊ฑด์์์ ์ธ์๋ฅ , ๊ฑฐ์ ๋ฅ , ์ค์ธ์๋ฅ ํ๊ฐ
- ๋ฏธ์ 2 ์์ฉ๋ฏธ์ : ๊ฐ์ ๋ก๋ด์ ๋ค์ํ ์์ฑ ๋ช ๋ น ์ํ ๋ฅ๋ ฅ ํ๊ฐ
์ค๋์ค ๋ฐ์ดํฐ, ์์ฑ ์ธ์, ๋ฐ์ดํฐ ์ธ์ฝ๋ฉ, ์ํ๋ง rate, ๋ฐ์ดํฐ chunk, ์ค์๊ฐ API, Speech To Text, ์ ์ฌ๋ ๋น๊ต, SequenceMatcher, ๋ฐ๋ณต๋ฌธ ์ต์ ํ
# ์ค๋์ค ๋ฐ์ดํฐ ์ฒ๋ฆฌ ํ๋ก์ธ์ค
## ๋ชฉ์
- ์ค๋์ค ๋ฐ์ดํฐ๋ฅผ ์
๋ ฅ๋ฐ์ DataSet ๋ด์ ์ฃผ์ด์ง ์์ฑ๊ณผ ๋งค์นญํฉ๋๋ค.
## ์ฃผ์ ์ฒ๋ฆฌ ๊ณผ์
1. **์์ฑ ์ธ์:** ์
๋ ฅ๋ ์ค๋์ค ๋ฐ์ดํฐ๋ก๋ถํฐ ์์ฑ์ ์ธ์ํฉ๋๋ค.
2. **๋ฐ์ดํฐ ์ธ์ฝ๋ฉ:** ์ธ์๋ ๋ฐ์ดํฐ๋ฅผ ๋ชฉ์ ์ ๋ง๊ฒ ์ธ์ฝ๋ฉํฉ๋๋ค. ์ธ์ฝ๋ฉ ๊ณผ์ ์์ ๋ค์ ๋ ๊ฐ์ง ์ฃผ์ ํ๋ผ๋ฏธํฐ๋ฅผ ์ค์ ํฉ๋๋ค.
- `rate`: ๋ถ๋น ์ํ๋ง ํ์๋ฅผ ์ ์ํฉ๋๋ค.
- `chunk`: ๋ฐ์ดํฐ ๋ฌถ์์ ๋จ์์
๋๋ค. ์ด ๋จ์๋ก ๋ฐ์ดํฐ ์ฐ์ฐ์ ์งํํฉ๋๋ค.
3. **์ค์๊ฐ API ํธ์ถ:** ์ธ์ฝ๋ฉ๋ ๋ฐ์ดํฐ๋ก ์ค์๊ฐ API ํธ์ถ์ ํตํด Speech To Text ๋ณํ์ ์ํํฉ๋๋ค.
4. **์ ์ฌ๋ ๋น๊ต:** SequenceMatcher ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํ์ฌ ์ธ์๋ ํ
์คํธ๋ฅผ ์ ํ๋ DataSet๊ณผ ๋น๊ตํฉ๋๋ค.
5. **๊ฒฐ๊ณผ ๋์ถ:**
- DataSet ์์ ๋ชจ๋ ๋ฐ์ดํฐ์ ๋น๊ตํ์ฌ ๊ฐ์ฅ ๋์ ์ ์ฌ๋๋ฅผ ๊ฐ์ง ๋ฌธ์ฅ์ ์ฐพ์๋
๋๋ค.
- ์ต์ ํ๋ฅผ ์ํด, ์ธ์๋ ํ
์คํธ๊ฐ DataSet์ ํฌํจ๋๋ ๊ฒฝ์ฐ ๋ฐ๋ณต๋ฌธ์ ์กฐ๊ธฐ ์ข
๋ฃํ์ฌ ํ๋ก์ธ์ค์ ํจ์จ์ ๋์
๋๋ค.
- ๋ผ์ฆ๋ฒ ๋ฆฌํ์ด ๋ฌธ์
- ๋ผ์ฆ๋ฒ ๋ฆฌํ์ด ์ ์ ๊ณต๊ธ ๋ถ๋
- ๋ผ์ฆ๋ฒ ๋ฆฌํ์ด wifi ์ธํ
- ํ์ ์ ์ญํ ๋ถ๋ฐฐ๊ฐ ์ ๋๋ก ์ด๋ค์ง์ง ์์.
- ํ๋ก์ ํธ ์งํ์ ํ์๊ฐ์ ์ปค๋ฎค๋์ผ์ด์
- ์ฐ๋ถํฌ ์ต์ ๋ฒ์ ๊ณผ ํธํ๋์ง ์๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ (ex. ROS)
- ๊ฐ์ ํ๊ฒฝ ์ด์ฉ์ ํ์์ฑ (์ผ๋ถ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ๊ฐ์ํ๊ฒฝ์์ด ์ค์น ๋ถ๊ฐํ์์)
๐ํ๋ก์ ํธ ๋๊ด
-
๋ผ์ฆ๋ฒ ๋ฆฌํ์ด ๋ฌธ์
- ๋ผ์ฆ๋ฒ ๋ฆฌํ์ด ์ ์ ๊ณต๊ธ ๋ถ๋ -> ์ ํ๋ถ๋์ ์์ฌํ๊ธฐ๋ณด๋จ ์กฐ๋ฆฝ ์ํ๋์ง ์ฌ๊ฒํ ํ์.
- ๋ผ์ฆ๋ฒ ๋ฆฌํ์ด wifi ์ธํ -> ์ ๋์ wifi ํ๊ฒฝ์์ ssh ์ธํ ์ ์ด๋ป๊ฒ ํด์ผํ ์ง ํด๊ฒฐ๋ฐฉ์ ์ฐพ์์ผํจ.
-
ํ์ ์ ์ญํ ๋ถ๋ฐฐ๊ฐ ์ ๋๋ก ์ด๋ค์ง์ง ์์ -> ํ์์ ์ ๋ฌธ์ฑ ์ ๋๋ฅผ ๋จผ์ ํ์ ํ๊ณ ์ ํธ๋๋ฅผ ๊ณ ๋ ค ํ ์ญํ ์ฌ๋ถ๋ฐฐ, ์ญํ ์ ์ ํํ ์ง์ ํ๋๊ฒ ์ค์ํ ๋ฏ. ์ ๊ธฐ์ ์ธ ๋ฏธํ .
-
ํ์๊ฐ์ ์ปค๋ฎค๋์ผ์ด์ ๊ฒฐ์ฌ -> ์ ๊ธฐ์ ์ธ ๋ฏธํ ์ฝ์ํ๊ธฐ.
-
์ฐ๋ถํฌ ์ต์ ๋ฒ์ ๊ณผ ํธํ๋์ง ์๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ (ex. ROS) -> ์ฐ๋ถํฌ LTS ๋ฒ์ ์ฌ์ฉ
-
๊ฐ์ ํ๊ฒฝ ์ด์ฉ์ ํ์์ฑ:
sudo apt-get update sudo apt-get install python3-venv python3 -m venv myenv source myenv/bin/activate
๐์์ฑ์ธ์๋ฅ ๊ฐ์ ๋ฐฉํฅ
-
ํ์ฌ ์ํ (AS-IS)
- ์ธ์๋ฅ ์ด 50%๋ก ๋ฎ์: 100๋ฒ์ ์์ฑ input ์ค 50๋ฒ๋ง ์ ํํ ํ ์คํธ output์ ์์ฑ.
- case0: ์์ฑ์ด ์ ํ ์ธ์๋์ง ์๋ ๊ฒฝ์ฐ ๋ฐ์.
- case1: ์์ฑ์ ์ผ๋ถ๊ฐ ๋๋ฝ: โ์์ด์ปจ 7๋ฒโ์ ์ ๋ ฅ์์ โ์์ด์ปจโ๋ง ํ ์คํธ๋ก ๋ณํ.
- case2: ์์ฑ์ ์ผ๋ถ๋ง ์ธ์: โ๋ณด์ผ๋ฌ์๋์์โ์ ์ ๋ ฅ์์ โ์์โ๋ง ํ ์คํธ๋ก ๋ณํ.
-
๋ชฉํ ์ํ (TO-BE)
- ์ธ์๋ฅ ํฅ์: ์ ๋ ฅ๋ ์์ฑ์ 100%์ ์๋ ดํ๊ฒ ํ ์คํธ๋ก ๋ณํ๋์ด์ผ ํจ.
- ์ค๋์ค ๋ฐ์ดํฐ์ ์ ์ฒด ๋ด์ฉ์ ์ ํํ๊ฒ ์ธ์ํ๊ณ ๋ณํํ์ฌ, โ์์ด์ปจ 7๋ฒโ๊ณผ โ๋ณด์ผ๋ฌ์๋์์โ๊ณผ ๊ฐ์ ์ ๋ ฅ์ด ์์ ํ ๋ฌธ์ฅ์ผ๋ก ํ ์คํธํ๋จ.
- ์ค๋ฅ ๋ฐ์ ์ ์ค๋์ค ์คํธ๋ฆผ์ ํจ๊ณผ์ ์ผ๋ก ์ฌ์์ํ์ฌ ์ฐ์์ฑ ์๋ ์ธ์๋ฅ ์ ์ง.
- ์์คํ ์ด ์ต์ ํ๋์ด ๋์ ์ ๋ขฐ๋๋ฅผ ๊ฐ์ง ์์ฑ ์ธ์ ๊ฒฐ๊ณผ๋ฅผ ์ ๊ณต.
-
์์ธ ์์ธก ๋ฐ ํด๊ฒฐ์ฑ
- Chunk ํฌ๊ธฐ
- ์์ธ:
chunk
ํฌ๊ธฐ๊ฐ ๋๋ฌด ํฌ๊ฑฐ๋ ๋๋ฌด ์์ผ๋ฉด, ์ค๋์ค ๋ฐ์ดํฐ๊ฐ ์ ์ ํ ์ฒ๋ฆฌ๋์ง ์์ ์ ์์ต๋๋ค. ํฌ๊ธฐ๊ฐ ๋๋ฌด ํฌ๋ฉด ์์ฑ ์ธ์์ด ๋๋ฆฌ๊ฒ ์งํ๋๊ฑฐ๋ ๋๋ฝ๋ ์ ์๊ณ , ๋๋ฌด ์์ผ๋ฉด ์ก์์ด๋ ๋ถ์์ ํ ๋จ์ด๋ก ์ธ์๋ ์ ์์ต๋๋ค. - ํด๊ฒฐ์ฑ : 'chunk'๋ฅผ ์ ๋ ฅ ๋จ์ ์๊ฐ์ธ 5์ด์ ๋ง์ถฐ sample_rate*5๋ก ์ฌ์ฉํ๋๋ฐ, ๋ ์ฑ๊ณต์ ์ธ ๊ฒฐ๊ณผ๋ฅผ ์ป์๋ ํ์ ์ฝ๋๋ฅผ ๋น๊ตํด ๋ณธ ๊ฒฐ๊ณผ chunk๋ ์ฐ๋ฆฌ๋ณด๋ค ๋ฎ์์ต๋๋ค. ์ ํฌ์ ํ์ํฉ์์ chunk๋ฅผ ๋ฎ์ถ๋ค๋ฉด api์์ ๋ฐ์ดํฐ ์ ์ก์ด ๋ ๋น ๋ฅด๊ฒ ์ผ์ด๋๊ณ , ์ด์ ๋ง์ถฐ ๋ฒํผ์ ํฌ๊ธฐ๋ฅผ ํค์ด๋ค๋ฉด ๋ฐ์ดํฐ ์์ค ๋ํ ์ ์ด์ง ์ ์์ ๊ฒ์ ๋๋ค.
- ์ค๋์ค ํฌ๋งท๊ณผ ์ํ๋ง ๋ ์ดํธ
- ์์ธ:
pyaudio.paInt16
ํฌ๋งท๊ณผ44100
์ํ๋ง ๋ ์ดํธ๋ ํ์ค ์ค์ ์ ๋๋ค๋ง, ์ค์ ๋ง์ดํฌ์ ์ค๋์ค ํ๊ฒฝ์ ๋ฐ๋ผ ์ต์ ์ ์ค์ ์ด ๋ค๋ฅผ ์ ์์ต๋๋ค. - ํด๊ฒฐ์ฑ : ๋ค๋ฅธ ์ค๋์ค ํฌ๋งท์ด๋ ์ํ๋ง ๋ ์ดํธ๋ฅผ ์๋ํด ๋ณด๋ฉฐ, ๋ง์ดํฌ ์ฌ์์ ๊ฐ์ฅ ์ ํฉํ ์ค์ ์ ์ฐพ์๋ด ๋๋ค.
- ์ธ์ ์ค์
- ์์ธ:
interim_results
์ค์ ์ดTrue
๋ก ๋์ด ์๋๋ฐ, ์ด๋ ์ต์ข ๊ฒฐ๊ณผ๊ฐ ์๋ ์ค๊ฐ ๊ฒฐ๊ณผ๋ฅผ ๋ฐํํ๋๋ก ์ค์ ๋์ด ์์ต๋๋ค. ์ด๋ ๋ถ์์ ํ ๊ฒฐ๊ณผ๋ฅผ ์ด๋ํ ์ ์์ต๋๋ค. - ํด๊ฒฐ์ฑ
:
interim_results
๋ฅผFalse
๋ก ์ค์ ํ์ฌ ์ต์ข ๊ฒฐ๊ณผ๋ง์ ๋ฐํํ๋๋ก ๋ณ๊ฒฝํฉ๋๋ค.
- ํฅํ์ ๋ฐ์ดํธ ์์