언어를 정하는 기준이 계정이었습니다
제 SNS 자동 응답 스크립트에는 답글 문장을 만드는 함수가 하나 있습니다. 이 함수는 계정마다 정해 둔 기본 언어를 보고 답글 언어를 골랐습니다. 한국어 계정이면 한국어로, 영어 계정이면 영어로 답하는 식입니다.
계정마다 주로 쓰는 언어가 정해져 있으니 처음에는 문제가 없어 보였습니다. 하지만 이 구조에서는 한국어 계정에 일본어 댓글이 달려도 답글이 한국어로 나갑니다. 댓글을 단 사람이 읽지 못할 수도 있는 언어로 답하는 셈입니다.
여러분의 자동화는 어떤 언어로 답할지를 누구를 보고 정하고 있나요? 보내는 쪽의 설정인가요, 받는 사람이 쓴 글인가요?
계정 언어는 어디까지나 짐작이었습니다
계정의 기본 언어는 이 계정을 볼 사람은 대체로 이 언어를 쓸 것이라는 짐작이었습니다. 반면 댓글 본문은 상대가 실제로 쓴 언어를 보여 줍니다. 더 확실한 정보가 바로 앞에 있었는데 짐작을 기준으로 삼고 있었습니다.
그렇다고 무조건 댓글 언어를 따르기도 어렵습니다. 이모지 하나나 아주 짧은 감탄사처럼 언어를 판단할 근거가 거의 없는 댓글도 있습니다. 이런 댓글까지 억지로 감지하면 엉뚱한 언어로 답할 위험이 생깁니다.
당신이라면 판단이 애매한 댓글에 어떤 언어로 답하시겠습니까?
바꾼 내용
- 답글을 만드는 함수가 먼저 댓글의 언어를 감지하고, 감지한 언어를 계정 기본 언어보다 우선합니다.
- 판단이 애매한 댓글은 지금처럼 계정 언어로 답합니다.
- 생성이 실패했을 때 대신 내보내는 안전용 문구도 언어별로 준비했습니다. 본 답글은 일본어로 바꿔 놓고 대체 문구만 다른 언어로 남겨 두면 같은 문제가 그 경로에서 다시 생기기 때문입니다.
결과적으로 한국어 계정에 달린 일본어 댓글에는 이제 일본어로 답합니다. 변경량은 함수 쪽 22줄이고, 언어 선택을 확인하는 42줄짜리 테스트 파일을 따로 추가했습니다.
자가진단 체크리스트
- 자동 답글이나 알림의 언어를 보내는 쪽 설정이 아니라 받는 사람의 입력으로 정하고 있습니까?
- 언어를 판단하기 애매한 짧은 입력이 들어오면 어떤 언어로 처리할지 명시적으로 정해 두었습니까?
- 실패 시 내보내는 기본 문구까지 본 응답과 같은 기준으로 언어를 고르고 있습니까?
솔직한 부분
계정 언어로만 답하던 동안 실제로 다른 언어 댓글이 몇 개나 있었는지, 그분들이 답글을 어떻게 받아들였는지는 모릅니다. 짧은 댓글에서 감지가 얼마나 정확한지도 테스트 케이스 밖의 실제 댓글로는 아직 확인하지 못했습니다. 이번에 바꾼 것은 답글 언어를 정하는 기준뿐이고, 그 기준이 실제 댓글에서 맞게 동작하는지는 앞으로 지켜봐야 합니다.