유니코드 오류 처리 방안
LLaMa 모델 사용시, 데이터 내의 특수문자로 인한 잘못된 유니코드 생성 이슈 처리
- 원인: 전각 문자가 포함된 특허 데이터를 LLAMA모델에 입력 시 발생
- 해결방안: 전각문자 -> 반각문자로 변환
# 전각 -> 반각 변환
def full_to_half_unicode(s: str) -> str:
result = []
for ch in s:
code = ord(ch)
# 전각 문자 (U+FF01 ~ U+FF5E): 0xFEE0 빼기
if 0xFF01 <= code <= 0xFF5E:
result.append(chr(code - 0xFEE0))
# 전각 특수문자 (U+FFE0 ~ U+FFE6)
elif 0xFFE0 <= code <= 0xFFE6:
result.append(chr(code - 0xFEE0))
# 전각 공백 (U+3000) → 반각 공백 (U+0020)
elif code == 0x3000:
result.append(' ')
else:
result.append(ch)
return ''.join(result)