Hangul & Hanja library


Keywords
hangul, hanja, nlp, python
Install
pip install hanja==0.14.0

Documentation

hanja: ํ•œ์ž-ํ•œ๊ธ€ ๋ณ€ํ™˜ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ

Travis CI Coveralls

ํ•œ์ž-ํ•œ๊ธ€ ๋ณ€ํ™˜๊ธฐ์—์„œ ์‚ฌ์šฉ๋˜๋Š” ๋ชจ๋“ˆ์ž…๋‹ˆ๋‹ค.

Improve Hanja Library

์‚ฌ์šฉ ํ•˜์‹œ๋‹ค๊ฐ€ ๋น ์ง„ ํ•œ์ž ๋˜๋Š” ํ‹€๋ฆฐ ๋…์Œ์„ ๋ฐœ๊ฒฌํ•˜์‹œ๋ฉด ์ด ๋งํฌ๋ฅผ ํ†ตํ•ด ์ œ๋ณดํ•ด์ฃผ์„ธ์š”. ํ™•์ธ ํ›„ ๋ฐ˜์˜ํ•˜๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. GitHub์„ ํ†ตํ•ด ์ง์ ‘ PR์„ ๋ณด๋‚ด์ฃผ์…”๋„ ์ข‹์Šต๋‹ˆ๋‹ค.

Installation

pip install hanja

Usage

ํ•„์š”ํ•œ ๋ชจ๋“ˆ import ํ•˜๊ธฐ

>>> import hanja >>> from hanja import hangul

ํ•œ๊ธ€ ์ดˆ์„ฑ, ์ค‘์„ฑ, ์ข…์„ฑ ๋ถ„๋ฆฌ

>>> hangul.separate('๊ฐ€') (0, 0, 0) >>> hangul.separate('๊นŒ') (1, 0, 0)

ํŠœํ”Œ(tuple)์˜ ๋งˆ์ง€๋ง‰ ์›์†Œ๊ฐ€ 0์ด๋ฉด ์ข…์„ฑ์ด ์—†๋Š” ๊ธ€์ž๋ผ๊ณ  ํŒ๋‹จํ•  ์ˆ˜ ์žˆ๋‹ค.

>>> hangul.separate('ํ•œ') (18, 0, 4)

'ใ…Ž'์€ 19๋ฒˆ์งธ ์ž์Œ, 'ใ…'๋Š” ์ฒซ๋ฒˆ์งธ ๋ชจ์Œ, 'ใ„ด'์€ ๋‹ค์„ฏ๋ฒˆ์งธ ์ž์Œ์ด๋ผ๋Š” ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค.

์ดˆ์„ฑ, ์ค‘์„ฑ, ์ข…์„ฑ์„ ์กฐํ•ฉํ•˜์—ฌ ํ•œ ๊ธ€์ž๋ฅผ ๋งŒ๋“ฆ

>>> hangul.build(0, 0, 0) '๊ฐ€'

์ฃผ์–ด์ง„ ๊ธ€์ž๊ฐ€ ํ•œ๊ธ€์ธ์ง€์˜ ์—ฌ๋ถ€๋ฅผ ํŒ๋ณ„

>>> hangul.is_hangul('๊ฐ€') True >>> hangul.is_hangul('a') False

ํ•œ๊ธ€๋กœ ๋œ ๋ถ€๋ถ„๊ณผ ํ•œ์ž๋กœ ๋œ ๋ถ€๋ถ„์„ ๋ถ„๋ฆฌ

๋ฆฌ์ŠคํŠธ๊ฐ€ ์•„๋‹Œ ์ œ๋„ค๋ ˆ์ดํ„ฐ(generator)๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

>>> '์€ ์ด๋‹ค.

>>> [x for x in hanja.split_hanja('ๅคง้Ÿ“ๆฐ‘ๅœ‹์€ ๆฐ‘ไธปๅ…ฑๅ’Œๅœ‹์ด๋‹ค.')] ['ๅคง้Ÿ“ๆฐ‘ๅœ‹', '์€ ', 'ๆฐ‘ไธปๅ…ฑๅ’Œๅœ‹', '์ด๋‹ค.']

์ฃผ์–ด์ง„ ๊ธ€์ž๊ฐ€ ํ•œ์ž์ธ์ง€์˜ ์—ฌ๋ถ€๋ฅผ ํŒ๋ณ„

>>> hanja.is_hanja('้Ÿ“') True

>>> hanja.is_hanja('ํ•œ') False

๋ฌธ์žฅ ๋ณ€ํ™˜

์น˜ํ™˜ ๋ชจ๋“œ ๋ณ€ํ™˜:

>>> hanja.translate('ๅคง้Ÿ“ๆฐ‘ๅœ‹์€ ๆฐ‘ไธปๅ…ฑๅ’Œๅœ‹์ด๋‹ค.', 'substitution') '๋Œ€ํ•œ๋ฏผ๊ตญ์€ ๋ฏผ์ฃผ๊ณตํ™”๊ตญ์ด๋‹ค.'

ํ˜ผ์šฉ ๋ชจ๋“œ ๋ณ€ํ™˜ (text):

>>> hanja.translate('ๅคง้Ÿ“ๆฐ‘ๅœ‹์€ ๆฐ‘ไธปๅ…ฑๅ’Œๅœ‹์ด๋‹ค.', 'combination-text') 'ๅคง้Ÿ“ๆฐ‘ๅœ‹(๋Œ€ํ•œ๋ฏผ๊ตญ)์€ ๆฐ‘ไธปๅ…ฑๅ’Œๅœ‹(๋ฏผ์ฃผ๊ณตํ™”๊ตญ)์ด๋‹ค.'

ํ˜ผ์šฉ ๋ชจ๋“œ ๋ณ€ํ™˜ version 2 (text):

>>> hanja.translate('ๅคง้Ÿ“ๆฐ‘ๅœ‹์€ ๆฐ‘ไธปๅ…ฑๅ’Œๅœ‹์ด๋‹ค.', 'combination-text-reversed') '๋Œ€ํ•œ๋ฏผ๊ตญ(ๅคง้Ÿ“ๆฐ‘ๅœ‹)์€ ๋ฏผ์ฃผ๊ณตํ™”๊ตญ(ๆฐ‘ไธปๅ…ฑๅ’Œๅœ‹)์ด๋‹ค.'

ํ˜ผ์šฉ ๋ชจ๋“œ ๋ณ€ํ™˜ (HTML):

>>> hanja.translate(u'ๅคง้Ÿ“ๆฐ‘ๅœ‹์€ ๆฐ‘ไธปๅ…ฑๅ’Œๅœ‹์ด๋‹ค.', 'combination-html') '<span class="hanja">ๅคง้Ÿ“ๆฐ‘ๅœ‹</span><span class="hangul">(๋Œ€ํ•œ๋ฏผ๊ตญ)</span>์€ <span class="hanja">ๆฐ‘ไธปๅ…ฑๅ’Œๅœ‹</span><span class="hangul">(๋ฏผ์ฃผ๊ณตํ™”๊ตญ)</span>์ด๋‹ค.'