DevOps/AWS

AWS Translate를 이용해서 영어 태그를 한글로 바꾸기

567Rabbit 2024. 5. 30. 15:43

https://docs.aws.amazon.com/translate/latest/dg/get-started-sdk.html

 

Getting started (SDK) - Amazon Translate

Thanks for letting us know this page needs work. We're sorry we let you down. If you've got a moment, please tell us how we can make the documentation better.

docs.aws.amazon.com

 

위 사이트에 들어가면 번역기능을 제공하는 AWS Translate에 대한 코드를 볼 수 있다.

 

 

 

 

AWS IAM에 들어가서 번역을 위한 사용자를 생성해야 한다.

 

 

 

 

 

 

 

엑세스 키 만들기 클릭

 

 

 

 

 

.csv 파일 다운로드 하여서 잘 보관해두기

 

 

 

 

 

VSCode config.py 파일에서 자신의 KEY를 입력하여서 넣는다

 

class Config :
    AWS_TRANSLATE_ACCESS_KEY = '(엑셀에 있는 ACCESS_KEY_ID)'
    AWS_TRANSLATE_SECRET_ACCESS = '(엑셀에 있는 SECRET_ACCESS_KEY)'

 

 

 

 

이제, 사진을 넣으면 영어로 태그가 달리는 것을 한글로 번역해보는 코드를 작성하려고 한다.

 

 

"lable": [
        "People",
        "Person",
        "Throwing",
        "Adult",
        "Male",
        "Man",
        "Baseball Glove",
        "Glove",
        "Playing Baseball",
        "Baseball (Ball)"
    ]

 

 

 

VSCode에서 아래와 같이 함수를 사용하면 리스트를 하나의 문자열로 변환해준다.

 

label_list의 각 요소를 콤마(,)로 구분하여 하나의 문자열로 합칠 수 있다.

 

label_str = ','.join(label_list)

# 결과 값
# lable_list = ("People","Person","Throwing","Adult","Male","Man","Baseball Glove","Glove","Playing Baseball","Baseball (Ball)")

 

 

import boto3

    def translate(self, text):
    	
        translate = boto3.client(service_name='translate', region_name='ap-northeast-2'
                                 ,aws_access_key_id = Config.AWS_TRANSLATE_ACCESS_KEY
                                 ,aws_secret_access_key = Config.AWS_TRANSLATE_SECRET_ACCESS)

        result = translate.translate_text(Text=text, 
                    SourceLanguageCode="en", TargetLanguageCode="ko")
  
        return result.get('TranslatedText')

 

# 함수 호출하여 번역한 것을 label_str로 다시 저장해준다.
label_str = self.translate(label_str)

# 하나의 문자열을 쪼개서 리스트로 다시 바꿔주기
label_list = label_str.split(', ')

return {"result":"success", "lable": label_list}