pyko
pyko[ํ์ด์ฝ]๋ ํ๊ตญ์ด ํ ์คํธ ์ฒ๋ฆฌ๋ฅผ ์ํ ํ์ด์ฌ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋๋ค. ์์ฐ์ด ์ฒ๋ฆฌ์์ ํ๊ตญ์ด๊ฐ ๊ฐ๋ ๋ ์์ ์ธ ํน์ง์ ๋ฐ์ํด ์ฒ๋ฆฌํฉ๋๋ค.
์ค์น
PyPI์ ๋ฑ๋ก๋ ํจํค์ง๋ฅผ ๋ค์๊ณผ ๊ฐ์ด ์ค์นํ ์ ์์ต๋๋ค.
pip install pyko
์ธ์ข ๋ง๋ญ์น
์ธ์ข ๋ง๋ญ์น๋ฅผ NLTK CorpusReader๋ฅผ ํ์ฉํ๋ ๊ฒ๊ณผ ์ ์ฌํ๊ฒ ํ์ฉํ ์ ์์ต๋๋ค. ์ธ์ข ๋ง๋ญ์น๋ ๊ตญ๋ฆฝ๊ตญ์ด์ ์ธ์ด์ ๋ณด๋๋ํฐ์์ ํ๋ํ ์ ์์ต๋๋ค.
์ฌ์ฉ์์:
from pyko.reader import SejongCorpusReader
์ธ์ข
๋ง๋ญ์น = SejongCorpusReader(root, fileids)
ํ์ผ๋ชฉ๋ก = ์ธ์ข
๋ง๋ญ์น.fileids()
ํํ๋ถ์๋ชฉ๋ก = ์ธ์ข
๋ง๋ญ์น.words(tagged=True)
print(ํํ๋ถ์๋ชฉ๋ก)
"""
[('๋ญ', (('๋ญ', 'NP'),)), ('ํ๊ณ ', (('ํ', 'VV'), ('๊ณ ', 'EC'))), ('๊ฐ?', (('๊ฐ', 'VV'), ('ใ
', 'EF'), ('?', 'SF'))), ('์งํ์ฒ .', (('์งํ์ฒ ', 'NNG'), ('.', 'SF'))), ('๊ธฐ์ฐจ?', (('๊ธฐ์ฐจ', 'NNG'), ('?', 'SF'))), ('์์นจ์', (('์์นจ', 'NNG'), ('์', 'JKB'))), ...]
"""
ํํ๋ถ์๋ฌธ์ฅ๋ชฉ๋ก = ์ธ์ข
๋ง๋ญ์น.sents(tagged=True)
print(ํํ๋ถ์๋ฌธ์ฅ๋ชฉ๋ก[0])
"""
[('๋ญ', (('๋ญ', 'NP'),)),
('ํ๊ณ ', (('ํ', 'VV'), ('๊ณ ', 'EC'))),
('๊ฐ?', (('๊ฐ', 'VV'), ('ใ
', 'EF'), ('?', 'SF')))]
"""
ํํ์ ๋ถ๋ฆฌ ๋ฐ ํ์ฌ ์์ธก
v0.4.0+
ํํ์ ๋ถ์๊ธฐ๋ ๋ฅ๋ฌ๋ ๊ธฐ๋ฐ์ ์นด์นด์ค ํํ์ ๋ถ์๊ธฐ, kakao/khaiii๋ฅผ ๋ด๋ถ์ ์ผ๋ก ํ์ฉํฉ๋๋ค. ํด๋น ํจํค์ง๊ฐ ์์คํ ์ ์ค์น๋ ๊ฒ์ ๊ฐ์ ํฉ๋๋ค.
๋ชจ๋ ํ๊ฒฝ์ด ๋ฏธ๋ฆฌ ์ค์ ๋ ๋์ปค(docker) ์ด๋ฏธ์ง๋ฅผ ํ์ฉํ๋ฉด ํธ๋ฆฌํฉ๋๋ค.
pyko ๋์ปค ์ด๋ฏธ์ง: codebasic/pyko
๋์ปค ์ด๋ฏธ์ง ์ฌ์ฉ ์์
$ docker run -it codebasic/pyko
์ฌ์ฉ์์:
from pyko import tokenizer as ํํ์_๋ถ์๊ธฐ
์๋ฌธ = 'ํ๊ตญ์ด๋ฅผ ์ ์ฒ๋ฆฌํ๋์ง ๊ถ๊ธํฉ๋๋ค.'
ํํ์๋ชฉ๋ก = ํํ์_๋ถ์๊ธฐ.tokenize(์๋ฌธ)
print(ํํ์๋ชฉ๋ก)
"""
['ํ๊ตญ์ด', '๋ฅผ', '์', '์ฒ๋ฆฌ', 'ํ', '๋์ง', '๊ถ๊ธ', 'ํ', 'ใ
๋๋ค', '.']
"""
ํํ๋ถ์๊ฒฐ๊ณผ = ํํ์_๋ถ์๊ธฐ.tokenize(์๋ฌธ, tagged=True)
print(ํํ๋ถ์๊ฒฐ๊ณผ)
"""
[('ํ๊ตญ์ด', 'NNP'),
('๋ฅผ', 'JKO'),
('์', 'MAG'),
('์ฒ๋ฆฌ', 'NNG'),
('ํ', 'XSV'),
('๋์ง', 'EC'),
('๊ถ๊ธ', 'XR'),
('ํ', 'XSA'),
('ใ
๋๋ค', 'EF'),
('.', 'SF')]
"""
NLTK ์ฐ๋
๋ง๋ญ์น ๊ด๋ฆฌ๋ฅผ ์ํด NLTK CourpusReader์ ์ฐ๋ํด์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
์ฌ์ฉ์์:
from pyko import tokenizer as ํํ์_๋ถ์๊ธฐ
from nltk.corpus import PlaintextCorpusReader
reader = PlaintextCorpusReader(root, fileids, word_tokenizer=ํํ์_๋ถ์๊ธฐ)
ํํ๋ถ์๊ฒฐ๊ณผ = reader.words()
print(ํํ๋ถ์๊ฒฐ๊ณผ)
"""
['์ธ์ข
', '(', 'ไธๅฎ', ',', '1397', '๋
', '5', '์', '7', '์ผ', '(', '์๋ ฅ', '4', '์', ...]
"""