기타

구글 클라우드 번역(4)-머신러닝 번역

Aostols 2022. 4. 28. 19:07
반응형

머신 러닝번역은 Cloud Translation Advanced 처럼 ko->en, fr, ja 같이 1:다 번역이 되지 않습니다.

오직 1:1 매칭만 되어서 만일 번역해야 하는 언어가 여러개라면 모두 학습 시켜야 합니다.

학습용 데이터는 A 컬럼에 시작어, B컬럼에 도착어로 엑셀로 정리 합니다.

 

 

저장은 엑셀에서 탭으로 분리로 저장 합니다.

확장자는 .tsv로 변경해 줍니다.

 

역시 UTF-8 BOM 문제가 있기 때문에 메모장으로 일반 UTF-8로 한번 더 저장 합니다.

이후 .tsv파일은 스토리지에 올려 줍니다.

 

Google Cloud Platform 에서 좌측메뉴 클릭 후 하단의 번역 -> 대시보드 로 들어갑니다.

 

 

여기서 AutoML Translation 이 있는데 시작하기를 눌러 줍니다.

 

AutoML Translation 관련하여 아무것도 없기 때문에 데이터 세트 만들기를 해 줍니다.

 
 

출발어와 도착어를 잘 정해 주어야 합니다.

영어는 무조건 들어가야 하며 한국어->일본어 와 같이는 안됩니다.

한국어->영어, 영어->일본어 의 식으로 출발어나 도착어에 무조건 영어가 포함 되어야 합니다.

tsv 파일에 적어둔 A컬럼이 출발어 B컬럼이 도착어 입니다.

 

.tsv파일을 스토리지에 올려 두었기 때문에 해당 파일을 선택 해 줍니다.

 

입력한 양에 따라서 시간이 다르게 되는데 약간의 시간이 필요합니다.

 

문서상으로는 263개를 입력했는데 중복체크가되어 실제로는 257개가 등록 되었습니다.

 

학습탭으로 넘어가 보게 되면 데이터 부족으로 학습을 진행 할 수 없습니다.

 

 

설명을 보게 되면 8:1:1의 비율로 학습, 검증, 테스트용으로 데이터를 사용하게 됩니다.

학습을 시작하려면 최소 1000쌍의 문장이 필요하게 됩니다.

 

추가적인 데이터를 넣어 줍니다.

 

이제 학습을 시작 할 수 있습니다.

학습은 꽤 많은 시간이 필요하게 됩니다.

완료되게 되면 이메일이 오게 되며 클라우드에서 처리되고 있어서 다른곳에서도 확인 해 볼 수 있습니다.

 

학습이 완료되면 평가 점수가 나오게 됩니다.

14.02로 기본모델인 11.03보다 높다는데 솔직히 믿을수는 없습니다.

 

약 5800개의 데이터를 넣었고 2.3시간 동안 처리가 되었습니다.

대략 11만원이란 비용이 나왔습니다.

다만 비용 캡이 있기 때문에 한번에 나올수 있는 비용의 최대치가 있습니다.

이점을 잘 고려해서 되도록 많은 데이터를 한번에 넣는 것이 유리합니다.

이제 학습된 모델을 가지고 번역을 돌려 봅니다.

용어집도 사용하게 됩니다.

 

{

    "models": {

        "es": "projects/project_number_or_id/locations/us-central1/models/model-id"

    },

    "sourceLanguageCode": "en",

    "targetLanguageCodes": ["es"],

    "glossaries": {

        "es": {

            "glossary": "projects/project_number_or_id/locations/us-central1/glossaries/glossary-id"

        }

    },

    "inputConfigs": [{

        "gcsSource": {

            "inputUri": "gs://bucket-name-source/input-file-name"

        }

    },

    {

        "gcsSource": {

            "inputUri": "gs://bucket-name-source/input-file-name2"

        }

    }],

    "outputConfig": {

        "gcsDestination": {

            "outputUriPrefix": "gs://bucket-name-destination/"

        }

    }

}

json 파일을 만들어 줍니다.

자신의 프로젝트 아이디와 용어집 아이디, 스토리지 등등을 입력해 줍니다.

 

curl -X POST \

-H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \

-H "Content-Type: application/json; charset=utf-8" \

-d @request.json \

https://translation.googleapis.com/v3/projects/project-number-or-id/locations/us-central1:batchTranslateText

이제 명령어로 요청을 해 줍니다.

 

RUNNING 이라고 뜨게 되면 이제 오퍼레이션 아이디를 기준으로 추가 확인을 해 줍니다.

 

SUCCEEDED 로 나오게 되면 완료

 

완료된 파일은 설정했던 버킷에 들어있습니다.

변역된 결과물을 확인해 볼 수 있습니다.

반응형