Beomi/KcELECTRA

Encoding 관련 이슈

wwjhang opened this issue · 3 comments

안녕하세요 본 모델을 통해 자연어처리 해보려고 있습니다ㅎㅎ
일단 좋은 모델 제공해주셔서 너무 감사드립니다
다름이 아니라 kcELECTRA 파인튠 colab코드를 우분투 환경에서 ipython으로 똑같이 따라해보는데
def clean(self, x):
emojis = ''.join(emoji.UNICODE_EMOJI.keys())
pattern = re.compile(f'[^ .,?!/@$%~%·∼()\x00-\x7Fㄱ-힣{emojis}]+')
url_pattern = re.compile(
r'https?://(www.)?[-a-zA-Z0-9@:%.+~#=]{1,256}.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%+.~#?&//=]*)')
x = pattern.sub(' ', x)
x = url_pattern.sub('', x)
x = x.strip()
x = repeat_normalize(x, num_repeats=2)
return x

여기 부분을 입력하면 UnicodeEncodeError: 'utf-8' codec can't encode characters 이런식으로 오류가 나면서 ipython이 꺼지더군요ㅠ
python 3.6.9버전이 컴파일러인데 혹시 관련 이슈에 대해 팁 주실만한게 있으실까요?ㅠ

혹시 해결되셨나요? 만약 해결이 안되셨다면 생각나는 방법이 있습니다.
emoji 버젼이 1.5 이상이 되면
emoji.UNICODE_EMOJI.keys()
이 라인이 문제를 일으킵니다. emoji 모듈을 1.5 버전으로 다운그레이드를 하시거나 다른 방법을 찾는게 맞을겁니다.

아니면 아래의 문서대로
https://carpedm20.github.io/emoji/docs/api.html#emoji-data
emoji-data를 활용하는게 맞는거 같습니다.

Beomi commented

안녕하세요, @mirageoasis 님이 말씀해주신 것처럼, 제가 학습할 당시 emoji 패키지가 0.6.0버전이어서, 혹시 타 패키지 오류라면 pip install emoji==0.6.0 으로 설치 후 한번 테스트하고 동일하게 오류가 발생하는지 알려주세요.

Requirements:
    pytorch ~= 1.8.0
    transformers ~= 4.11.3
    emoji ~= 0.6.0
    soynlp ~= 0.0.493

@Beomi colab 에서 emoji를 0.6.0 버전으로 설정하고 돌렸을 때 잘 작동했습니다.