kokex
ํ๊ตญ์ด ๋ฌธ์ ์งํฉ์์ ํค์๋๋ฅผ ์ถ์ถํ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋๋ค. ๊ตฌ๋ฌธ๋ถ์์ ํตํด ์ฌ์ ์์ด๋ ๊ณ ์ ๋ช ์ฌ, ๋ณตํฉ๋ช ์ฌ, ์ ์กฐ์ด์ ๊ฐ๊ฑดํ ํค์๋ ์ถ์ถ๊ธฐ๋ฅผ ๋ง๋ค๊ณ ์ ํฉ๋๋ค.
๊ฐ๋จํ ์ฌ์ฉ์๋ ์๋์ ๊ฐ์ต๋๋ค.
import kokex
keywords = kokex.keywords([
'์ฒซ ๋ฒ์งธ ๋ฌธ์์
๋๋ค. ์ฌ๋ฌ ๋ฌธ์ฅ์ ํฌํจํ ์ ์์ต๋๋ค.',
'๋ ๋ฒ์งธ ๋ฌธ์์
๋๋ค. ์ฌ๋ฌ ๋ฌธ์๋ฅผ ํฌํจํ ์ ์์ต๋๋ค.'
])
print(keywords) # {'๋ฒ์งธ': 2, '๋ฌธ์': 3, '๋ฌธ์ฅ': 1, 'ํฌํจ': 2}
๋ ์์ธํ ์ฌ์ฉ๋ฒ์ ๋ฌธ์ ๋ฅผ ์ฐธ๊ณ ํด์ฃผ์ธ์.
์ค์น
์ค์น๋ pip
๋ฅผ ์ด์ฉํ๋ ๋ฐฉ๋ฒ๊ณผ docker
๋ฅผ ์ด์ฉํ๋ ๋ฐฉ๋ฒ์ด ์์ต๋๋ค.
pip
pip install kokex
์ด ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ konlpy ์ Mecab ํํ์ ๋ถ์๊ธฐ์ ์์กด์ฑ์ด ์์ต๋๋ค. konlpy ์ ์ค์น ์๋ด ์ ๋ฐ๋ผ Mecab ์ ์ค์นํด์ฃผ์๊ธฐ ๋ฐ๋๋๋ค. ์๋ฅผ ๋ค์ด, Mac ํ๊ฒฝ์์๋ ์๋์ ๋ช ๋ น์ ์ ๋ ฅํ์๊ธฐ ๋ฐ๋๋๋ค.
$ bash <(curl -s https://raw.githubusercontent.com/konlpy/konlpy/master/scripts/mecab.sh)
docker
๋์ปค๋ฅผ ์ฌ์ฉํ๋ค๋ฉด, ๋ชจ๋ ์์กด์ฑ์ด ์ค์น๋ ์ํ๋ก ๋ก์ปฌ API ์๋ฒ๋ฅผ ๊ตฌ๋ํ ์ ์์ต๋๋ค.
export KOKEX_PORT=80
export KOKEX_VERSION=0.0.11
docker pull kokex/server:${KOKEX_VERSION}
docker run -d -p ${KOKEX_PORT}:8081 --name kokex-server --rm kokex/server:${KOKEX_VERSION}
์๋ฒ๋ฅผ ์ข
๋ฃํ ๋๋ docker stop kokex-server
๋ฅผ ์
๋ ฅํ์ธ์.
์๋ฒ๋ฅผ ์คํํ๋ฉด ์๋์ ๊ฐ์ด http ์์ฒญ์ ์ฒ๋ฆฌํ ์ ์์ต๋๋ค.
curl -X POST \
http://localhost/keywords \
-d '{
"docs": [
"์ฒซ ๋ฒ์งธ ๋ฌธ์์
๋๋ค. ์ฌ๋ฌ ๋ฌธ์ฅ์ ํฌํจํ ์ ์์ต๋๋ค.",
"๋ ๋ฒ์งธ ๋ฌธ์์
๋๋ค. ์ฌ๋ฌ ๋ฌธ์๋ฅผ ํฌํจํ ์ ์์ต๋๋ค."
]
}'
๊ทธ๋ฆฌ๊ณ http://localhost/docs
์ ์ ์ํ๋ฉด API ๋ฌธ์๋ฅผ ํ์ธํ ์ ์์ต๋๋ค.
์ฐธ์ฌ
๋ชจ๋ ๋ ผ์๋ ์ด์๋ฅผ ํตํด ์ด๋ฃจ์ด์ง๋ฉด ์ข๊ฒ ์ต๋๋ค.
API ์ฌ์ฉ์
kokex api ๋ฅผ ์ฌ์ฉํ๋ ๋ถ๋ค์ด๋ผ๋ฉด ์๋ก์ด ๋ฌธ์ฅ์ ๋ํ ๋ถ์ ์์ฒญ์ ํ์ค ์ ์์ต๋๋ค. ํ ์คํธ ๋ฌธ์ฅ๊ณผ ํจ๊ป ์ํ๋ ๋ถ์๊ฒฐ๊ณผ๋ฅผ ๋ด์ ์ด์๋ฅผ ์์ฑํ์ค ์ ์๋๋ก ํ ํ๋ฆฟ(test_suggest)์ ์ค๋นํด๋์์ผ๋ ์ฐธ๊ณ ํด์ฃผ์ธ์.
API ๊ฐ๋ฐ์
kokex api ๊ฐ๋ฐ์ ๊ด์ฌ์ด ์์ผ์๋ค๋ฉด, ์ด์๋ฅผ ์์ฑ ํ ๋ ผ์๋ฅผ ์งํํ๊ณ , ์์ ํ ์ฌํญ์ PR ํด์ฃผ์๋ฉด ๋ฉ๋๋ค. ์์ค ์ฝ๋๋ฅผ ์์ ํ์ ๋ค๋ฉด, isort ์ black ์ผ๋ก ํฌ๋งทํ ์ ํด์ฃผ์๊ธฐ ๋ฐ๋๋๋ค. ์ ์ฅ์ ๋ณต์ ํ ์๋์ ๊ฐ์ด ์ ๋ ฅํ์๋ฉด ์ด๋ฅผ ์๋์ผ๋ก ์ฒดํฌํ ์ ์์ต๋๋ค.
pip install -r requirements.txt
pre-commit install
๊ทธ๋ฆฌ๊ณ bin/run_test.sh
๋ฅผ ์คํํ์ฌ ๊ธฐ์กด ํ
์คํธ ๋ฌธ์ฅ์ ๋ถ์ ๊ฒฐ๊ณผ๋ฅผ ํด์น์ง ์๋๋ก ํด์ผํฉ๋๋ค.
ํ
์คํธ ๋ฌธ์ฅ์, test
๋๋ ํ ๋ฆฌ์ test_{API_NAME}.py ํ์ผ์์ ์ฐพ์๋ณด์ค ์ ์์ต๋๋ค.