이모지로 인한 유니코드 오류

2021. 4. 7. 01:03오류

kkomoran 형태소 분석기를 이용하던 중 아래와 같은 오류가 발생했습니다. 데이터를 보니 🦚 과 같은 이모지가 들어있더라고요. 이모지는 utf-8 언어셋을 사용하는 형태소 분석기에서 매핑되지 않아 오류가 나타나게 된 것입니다.

 

유니코드 에러

 

아래를 참고하여 해결하였습니다. 

 

 

removing emojis from a string in Python

I found this code in Python for removing emojis but it is not working. Can you help with other codes or fix to this? I have observed all my emjois start with \xf but when I try to search for str.

stackoverflow.com

import re

emoji_pattern = re.compile("["
        u"\U0001F600-\U0001F64F"  # emoticons
        u"\U0001F300-\U0001F5FF"  # symbols & pictographs
        u"\U0001F680-\U0001F6FF"  # transport & map symbols
        u"\U0001F1E0-\U0001F1FF"  # flags (iOS)
                           "]+", flags=re.UNICODE)
                           
print(emoji_pattern.sub(r'', content))

 

re.compile을 이용하여 이모지에 관한 정규식 객체를 컴파일하고 컴파일 된 객체를 이용하여 객체가 가지고 있는 메서드를 통해 작업하는 방법입니다.

 

okt 형태소 분석기를 사용했을 때는 오류가 나지 않았는데 komoran 형태소 분석기를 사용하니 에러가 나더라구요. okt 형태소 분석기는 트위터와 같이 인터넷 용어에 적합한 형태소 분석기라서 그런지 이모지를 Foreign으로 처리하더라고요! 

 

 

형태소 분석기 별로 결과 확인

 

하지만 저는 텍스트 데이터의 특성상 인터넷 용어가 많은 데이터가 아니기 때문에 이모지를 제거하고 사용할 것입니다!

728x90