R 로 번역 하기 kakao API 한글에서 영어로

  번역하는 기능은 여러므로 쓸만 한다.   즉 현장에서 수리내역을 입력 할 때,   내역이 정리가 잘 되지 않는 경우가 있다.   그럴 때, 매우 쓸만 하다.  

번역기능은 변역 기능에서 문장을 정리하여 주는 기능이 있기 때문에, 매우 유용하다.   

아래는 kakao API를 이용해서,  변역을 한것이다. 

 

  첫번째,  아래와 같이 kakao 개발자 페이지에 가서 API를 다운 받는다. 

   https://developers.kakao.com

카카오 API 받기


  카카오 로그인 후에 내 애플리케이션 -> 애플리케이션 추가하기 클릭 하면,  카카오 API를 받을 수 있다. 



 두번째,  로그인 된 상태에서 아래를 클릭 하여,  테스트를 해본다. 

https://developers.kakao.com/tool/rest-api/open/get/v2-translation-translate


API 테스트

API 테스트가 끝나면,  아래의 요청 코드 예시 (URL)을 일부 발췌하여,  아래의 코드와 같이 만든다. 


세번째  kakap API를 활용한 변역 한다.

  구글 드라이브에 공유된 파일을 아래의 코드를 이용해서 가져온다.

# 라이브러리 불러오기   
  library(readxl)
  library(httr)
  library(stringr)

# 파일을 불러오는 path를 url 변수로 정의      
  url = "https://drive.google.com/u/0/uc?id=1O280S2GILbNKIQfqrv0id9kgjHsLhux_&export=download"
  GET(url, write_disk(tf <- tempfile(fileext = ".xlsx")))

tf를 정의한 tempfile을 데이터 프레임으로 가져온다.

 system.time( df <- read_excel(tf, 1L))  
# 텍스트 내역 보기
  head(df)
## # A tibble: 6 × 1
##   텍스트                                                     
##   <chr>                                                      
## 1 배출 콘베어 진입 정지 작동 불능                            
## 2 집진기 퍼징 V/V AIR 누기부분 수정 수리 5월 점검            
## 3 255B  진수전 엔진룸,FLAP GATE 작동불량 수리,점검           
## 4 구동 MOTOR 단자 전선 열화로 전선 교체 및 제어 전선 단자 BOX
## 5 훅크 주유및 볼트 체결 상태 점검작업 7대 동일 작업          
## 6 A,C LINE C/T측 경광등 파손 경광등 설치 작업

데이터 가져오고,   내역을 본다.   우리가 목표로 하는 것은 앞의 빨간 글자 "배출"이다.  문장 전체를 할 수 있지만,  단어 단위로 하는 것이 정리가 잘된다. 

# 텍스트 데이터 가져오기
  i =1  
  text <-  df$텍스트[i]
  token_c <- strsplit(text, " ") 
  n =  length(token_c[[1]])

# 원본 내역 보기   
  ori_text <- token_c[[1]][1]
  ori_text
## [1] "배출"

원본의 글자로 URL을 걸었을때,  변역 되는 것이 아니다.   아래와 같이 URL Encoding을  하여야 한다.   위에서 테스트 하였을때,   특수문자들이 조합된 것이 URL Encoding 된것이다. 

  

# URL encode 내역보기     
  text_encode <- URLencode(ori_text)
  text_encode 
## [1] "%EB%B0%B0%EC%B6%9C"


아래에 URL을 paste0를 이용해서,  " 배출"을 URL Encoding 된 것을 붙여 넣기 하여야 한다. 

# 한국어에서 영문으로 변역  
  url=  paste0( "https://dapi.kakao.com/v2/translation/translate?src_lang=kr&target_lang=en&query=",text_encode,"" )     
그리고,  앞에서 받은 API 인증키를 받은 것을 복사하여 불어 넣기 하여야 한다. 

# rest_api key
  rest_api <- "aasdgasdgasdgasddkgosdol야하우향a"

# API Key 인증 및 번역값 가지고 오기   
  res=POST(str_c(url), add_headers("Authorization"=paste("KakaoAK",rest_api)) )  

# 리스트 데이터 셋 가져오기   
  trans_list <-  content(res)
  trans_result <-  trans_list[["translated_text"]][[1]][[1]]      

API 인증 값을 POST 방식으로 인증을 받은 다음,  변역된 값을 받는다. 

# 변역된 데이터 가져오기   
  trans_result  
## [1] "excretion"
  data.frame(original = ori_text, translation = trans_result)
##   original translation
## 1     배출   excretion

쉽게 설명 하려고,  한 개 단어만 하였다.   전체 문장으로도 할 수 있는데,   사람이 이야기 하는 것이 아니라,  고장 기록 같은 경우에는 단어(sentence) 단위로 받아서, 변역을 실행 하는 것이 좋다.   

참고로,  API Key는  개인 적으로 받아야 한다.   위의 첨부의 API는  임의대로 친 것이다. 



댓글 없음:

댓글 쓰기

css cheat sheet 클래스 선택자, margin(마진), display , center 조정 간단한 구성 요소

 앞에서는 html의 간단한 sheet를 소개 하였습니다.   html은  주로 골격을 나타나는 것이라, 디자인을 하는데는 css로 하여야 합니다.  아래 코드와 같이 css 관련 하여 매우 간단하게 코딩 하겠습니다.  body 부분의 css 코딩  ...