카카오톡봇

카카오톡봇 Api사용법 - 1.번역

나더단 2019. 1. 12. 18:12
※메신저봇만 사용 가능합니다※

 우선 Api는 개인이 혼자 만들기 어려운 기능들을 기업이나 잘하시는분들이 만들어 배포하여 편하게 이용할 수 있는 기능입니다.

 만약 번역기능을 메신저봇에서 이용하려면 딥러닝을 이용해 직접 번역기능을 만들지 않고 Api를 이용해 단 한줄로 번역을 할 수 있습니다.

메신저봇에는 Api.papagoTranslate(sourceLanguage,targetLanguage,content,errorToString=false)

 이라는 내장 Api가 있습니다. 이것은 네이버 Api에서 가져온 것인데요. 설명을 보면

 "번역 결과를 제공합니다. sourceLanguage와 targetLanguage의 언어 코드에 관해서는 파파고의 Api문서를 참고하세요. errorToString이 true일 경우 에러를 throw하지 않고 String으로 반환합니다."

라고 써있는데요. 네이버 무료 Api목록을 보면 아래와 같이 나와있습니다.

 이중에서 메신저봇은 파파고 SMT번역을 이용하고 있습니다.(feat.Violet...?) SMT는 통계기반, MNT는 인공신경망 기반이기 때문에 번역결과가 각각 다르게 나옵니다.

 이곳에서 붉은글씨를 보면
한국어<->영어, 한국어<->일본어, 한국어<->중국어를 지원한다고 나왔습니다.

 파파고 언어코드를 살펴보면 한글: ko, 영어: en 일본어: ja 가 있는데요. 사용법은 간단합니다.

    Api.papagoTranslate("번역대상 언어코드",
"번역할 언어코드","번역할 말");

 이렇게 Api를 이용하면 단 한줄로 복잡한 번역시스템을 만들 수 있습니다.

 단, 메신저봇은 하나의 앱에서 같은 Api를 사용하기 때문에 메신저봇 이용자들은 하루 최대 10000자만 번역 할 수 있습니다. 그래서 전에 누군가가 10000자 초과번역을 하여 모든 메신저봇 사용자가 번역을 하지 못했던 상황도 있었는데요.

 https://developers.naver.com/main/ 이것에 들어가 자신만의 Api를 받아서 쓰면 혼자쓰는것이기 때문에 막히는 일이 거의 없을것입니다. 또한 SMT뿐만 아니라 NMT로도 해보아 비교해보는것도 나쁜 않겠네요. 그리고 메긴저봇에서 지원하지 않는 Api들도 직접 추가할 수 있습니다.

※카카오톡봇 사용예시※

if(msg.indexOf("/번역 ")==0){
    var a=msg.replace("/번역 ","");
    var b=Api.papagoTranslate("ko","en",a);
    replier.reply(b);
}