카테고리 없음

한글 자모분리

우언 2021. 9. 14. 15:58

자모분리란

한글 -> ㅎㅏㄴㄱㅡㄹ이렇게 한글을 하나의 자음 모음으로 분리하는 것을 말한다.

 

한글 자모분리를 위해서는 jamo패키지설치가 필요하다.

!pio install jamo

 

jamo패키지에서는 초성 중성 종성분리를 지원한다.

j2hcj(h2j('한글'))
'ㅎㅏㄴㄱㅡㄹ'

이렇게 분리가 가능하지만 

 

j2hcj(h2j('민원'))
'ㅁㅣㄴㅇㅝㄴ'

ㅝ 같이 단모음이 아닌 이중모음의 경우 이중모음을 각각의 단모음으로 리턴해주지는 않는다 

이중모음을 단모음으로 분해해주기 위해서는 딕셔너리를 이용하여 대체해줄 필요가 있다.

같은이유로 ㄳ같은 이중자음 또한 단모음으로 분리할 수 있다.

 

def jamo_split(word):
    jamo = j2hcj(h2j(word))
    dic = {'ㅐ':'ㅏㅣ','ㅒ':'ㅑㅣ','ㅔ':'ㅓㅣ','ㅖ':'ㅕㅣ',
       'ㅘ':'ㅗㅏ','ㅙ':'ㅗㅐ','ㅚ':'ㅗㅣ','ㅝ':'ㅜㅓ',
       'ㅞ':'ㅜㅔ','ㅟ':'ㅜㅣ','ㅢ':'ㅡㅣ',
       'ㄳ' : 'ㄱㅅ', 'ㄵ' : 'ㄴㅈ', 'ㄶ' : 'ㄴㅎ','ㄺ' : 'ㄹㄱ',
       'ㄻ' : 'ㄹㅁ', 'ㄼ' : 'ㄹㅂ', 'ㄽ' : 'ㄹㅅ', 'ㄾ' : 'ㄹㅌ', 
       'ㄿ' : 'ㄹㅍ', 'ㅀ' : 'ㄹㅎ', 'ㅄ' : 'ㅂㅅ', 'ㄲ' : 'ㄱㄱ','ㅆ'  : 'ㅅㅅ'}
    for i in jamo:
        if i in dic.keys():
            jamo = jamo.replace(i,dic[i])
    return jamo
    
print(jamo_split('민원'))
print(jamo_split('값싼은혜'))
'ㅁㅣㄴㅇㅜㅓㄴ'

'ㄱㅏㅂㅅㅅㅅㅏㄴㅇㅡㄴㅎㅕㅣ'

이렇게 모든 문자를 단모음,단자음으로 바꿀 수 있다.