본문 바로가기
코딩과 알고리즘

파파고 번역 API 도전기(1)

네이버 파파고는 번역 웹사이트인데요.
아래 사이트에 방문하시면 문장을 세계 각국의 여러 언어로 번역이 가능합니다.

https://papago.naver.com/

 

네이버 파파고

번역을 부탁해 파파고

papago.naver.com


이를테면 영어를 한글로 번역하는 등의 동작도 가능하지요.
물론 그 반대도 가능합니다.

 

이런 번역 기능을 내 홈페이지 또는 회사 홈페이지에 접목하고 싶은 경우
파파고 API를 사용하면 되는데요. 
하루에 10,000글자까지만 지원된다고는 하지만 그리 많지 않은 번역에 아주 쓸모가 있을것 같습니다.

크레이는 파파고 API는 사용해본적은 없습니다만 다른 종류의 네이버 API는 많이 활용해보았습니다.
충분히 예제를 작성할 수 있으리라 판단하고 개발 과정을 공유하도록 하겠습니다.
목표 코딩 언어는 PHP입니다.

과정을 하나 하나 찾아가며 상세히 설명드릴 거라 1회차에 게시글이 끝나지는 않겠지만 결국에는 완성을 목표해 보렵니다 :)

이 게시글은 2022년 7월 3일 기준으로 작성되었습니다.
추후 네이버의 의도에 따라 화면이나 정책이 변경될 수 있습니다.

첫째. 네이버 개발자 센터 가입!

 

네이버는 다양한 API를 지원하는데요.
파파고 API 또한 네이버에서 지원하는 API입니다.

그렇기 때문에 먼저 네이버 개발자 센터에 가입하셔야 합니다.
아래 홈페이지에 접속하시면 네이버 개발자 홈페이지가 보이실텐데요.
가입과정은 일반적인 웹사이트와 유사하므로 딱히 설명드리지는 않겠습니다.

https://developers.naver.com/main/

 

NAVER Developers

네이버 오픈 API들을 활용해 개발자들이 다양한 애플리케이션을 개발할 수 있도록 API 가이드와 SDK를 제공합니다. 제공중인 오픈 API에는 네이버 로그인, 검색, 단축URL, 캡차를 비롯 기계번역, 음

developers.naver.com

 

둘째, 파파고 API 사용 신청

 

로그인하고 보니 예쁘장한 앵무새 일러스트 그림의 파파고 API 서비스가 가운데 떡하니 자리 잡고 있군요.

 

클릭해서 들어가보면 부연 설명이 보이실텐요.
간단히 요약하자면 인공지능(AI)이 번역을 해준다는 말입니다.

눈여겨 보실 부분은 API 서비스는 하루에 10,000글자까지만 지원이 된다는 내용인데요.
아마도 API 사용 증가 추이에 따라 추후 많은 글자수를 지원해주는 유료 상품을 내놓을지도 모르는 일입니다.

이제 오픈 API 이용신청을 눌러보도록 하겠습니다.
참고로 오픈 API 란 개발 능력만 있으면 누구든지 사용할 수 있도록 공개한 API라는 의미입니다

다음 화면에서는 API 사용 신청에 대한 내용을 적는 란입니다.
애플리케이션 이름은 주제에 맞게 자유롭게 적고,
사용 API 부분에는 Papago 번역이 자동 선택되어 있을테니 손대지 않아도 됩니다.
그리고 이어서 환경설정을 클릭해주겠습니다.

 

네이버 API 들은 보통 3가지 환경을 지원하는데요.
첫째는 안드로이드 앱에서의 사용, 둘째는 아이폰 앱에서의 사용,
셋째는 홈페이지에서 사용입니다.
홈페이지에서 개발하기 위해서는 WEB 설정을 선택해 주어야 합니다.


엇, 그러자 웹서비스 URL 입력 화면이 나왔군요.
보통 홈페이지에서 네이버 API를 사용하는 경우 이렇게 본인 홈페이지 URL을 입력해야만
서비스를 사용할 수 있는 경우가 많습니다.
파파고 API 또한 마찬가지이지요.

크레이는 크레이의 홈페이지 URL을 기재할테니, 여러분은 여러분의 홈페이지 URL을 기재해주시면 됩니다.
개인 PC에 PHP 를 설치한 경우는 아쉽게도 사용할 수 없습니다. ( 편법은 있지만 여기서는 패~스)

1) 홈페이지 URL을 입력하고
2) [+] 버튼을 클릭합니다.


3) 그리고 등록하기 버튼을 클릭하시면 되지요.

 

API를 사용 신청했는데 시간이 얼마나 걸릴까요?
바로 결과 화면이 나왔습니다 :) 1초도 안 걸리더라구요.

 

셋째, 키를 챙겨 주세요!

 

여기서 중요한 것은 ClientID 와 Client Secret 인데요.
이 2가지가 있어야 파파고 API를 사용할 수 있습니다.

중요한 것은 이 키가 다른 사람에게 유출되지 않도록 잘 관리해야 하는데요.
기껏 내가 신청한 키를 다른 사람이 사용한다면 하루에 사용할 수 있는 10,000글자의 제약을 모두 사용하지 못하기 때문입니다. 그만큼 손해라는 거지요 :)

 

넷째, 리눅스에서 테스트해보기

 

화면을 좀 내려보면 아래와 같은 화면이 보이실텐데요.
만일 리눅스 SSH 터미널을 사용하실 수 있다면 아래 텍스트를 복사해서 터미널 창에 붙여넣으시면
자가 테스트가 가능합니다.

이와 같이 리눅스 창에 붙여넣고 Enter 키를 치면,

아래와 같은 결과가 보여질 텐데요.

이 중 아래 부분이 파파고 API의 결과물입니다. 보통 이런 형태를 JSON 이라고 하는데요.

{"message":{"result":{"srcLangType":"ko","tarLangType":"en","translatedText":"Good to meet you.","engineType":"PRETRANS","pivot":null,"dict":null,"tarDict":null},"@type":"response","@service":"naverservice.nmt.proxy","@version":"1.0.0"}}

이 결과 부분을 크레이가 자주 애용하는 JSON 파서라는 홈페이지에 접속,
붙여넣으면 정렬된 형태로 보실수 있습니다.

JSON 파서 : http://json.parser.online.fr/


'만나서 반갑습니다' 라는 문장을 한국어에서 영어로 번역한 내용이고,
그 결과는  'Good to meet you.' 라네요. 꽤 쓸만하지요? :)

위 문장은 네이버에서 제공하는 샘플데이터이니 번역이 잘 되는 문장을 사용했다고 생각할 수도 있을것 같은데요.

한번 BBC 뉴스 웹사이트에서 한문장을 가져와 테스트해보겠습니다.
테스트할 문장은 아래와 같은데요.

BBC Travel tells awe-inspiring, immersive travel stories to curious, 
passionate readers who want to learn about the world as much as they want to travel there.

영어를 한국어로, 문장을 위 내용으로 바꾼 리눅스 명령어는 아래와 같습니다.
키는 앞에서 발급된 것으로 바꿔서 테스트 해주세요.

curl "https://openapi.naver.com/v1/papago/n2mt" \
-H "Content-Type: application/x-www-form-urlencoded; charset=UTF-8" \
-H "X-Naver-Client-Id: {여러분의 CLIENT ID 키}" \
-H "X-Naver-Client-Secret: {여러분의 SECRET ID 키}" \
-d "source=en&target=ko&text=BBC Travel tells awe-inspiring, \
immersive travel stories to curious, passionate readers \
who want to learn about the world as much as they want \
to travel there." -v

결과는 어떨까요? 결과물을 JSON 파서 홈페이지에 붙여넣어 보았습니다.

 

와우! 꽤 수준 높은 번역 결과를 볼 수 있습니다.

BBC Travel은 세계를 여행하고 싶은 만큼 배우고 싶어하는 호기심이 많고 열정적인 독자들에게 
경외스럽고 몰입적인 여행 이야기를 들려준다.

 

다섯째, API, 얼만큼 사용했을까요?

 

파파고  API는 하루에 10,000글자까지만 번역에 활용할 수 있습니다.
네이버 개발자 센터에서는 하루 사용된 API 분량을 쉽게 보는 기능을 제공하는데요.
방금 전 네이버 개발자 센터 웹페이지에서 F5 키로 화면을 새로 고침한 다음,
화면을 제일 아래로 스크롤 다운해주시면 아래와 같이 오늘 사용된 분량이 표시됩니다.

크레이는 오늘 테스트하면서 495글자를 사용했기 때문에, 아직 9500글자 가량은 번역에 더 활용할 수가 있군요.

 

마무~리

 

오늘은 파파고 API 를 신청하는 방법과,
리눅스 터미널에서 이를 활용하는 방법을 알아보았습니다.

리눅스 터미널에 접속하실수 없는 분은 아쉬움이 남으실텐데요.
다음에는 이어서 PHP에서 이를 활용하는 부분을 도전해 보도록 하겠습니다.

오랜만에 게시글을 작성해 보네요 :)
파이썬을 활용한 딥러닝을 학습해서 게시글을 작성하고 싶긴 한데 아직 내공을 더 쌓어야 할 것 같습니다.

찾아와 주시는 모든 분들, 다가오는 주도 복된 한주간 되시길 소망합니다 :)

유익하셨다면, 공감 한방, 댓글은 굿잡!
감사합니다~


다음 게시글 : https://itadventure.tistory.com/539

 

파파고 번역 API 도전기(2) - PHP 연동

파파고 API를 내 홈페이지에서 적용해 볼까요? 보편적으로 흔하게 사용되는 PHP로 코딩을 진행해보겠습니다. PHP 웹페이지는 기본적으로 아신다는 가정하에 진행하니 양해해주세요 :) 이 게시글은

itadventure.tistory.com