Hangul & Hanja library


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

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)λ₯Ό λ°˜ν™˜ν•œλ‹€.

>>> '|'.join(hanja.split_hanja('ε€§ιŸ“ζ°‘εœ‹μ€ ζ°‘δΈ»ε…±ε’Œεœ‹μ΄λ‹€.'))
ε€§ιŸ“ζ°‘εœ‹|은 |ζ°‘δΈ»ε…±ε’Œεœ‹|이닀.
>>> [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>이닀.'