AWS Translateを触ってみる

こんにちは。
株式会社クラスアクト インフラストラクチャ事業部の大塚です

今回はAWSの翻訳サービスであるTranslateを触ってみましたので、雑に備忘録します。
TranslateもComprehendと同様、コンソールから分析したい文章を直接入れることで分析することも出来ますし、テキストファイルを用意してそれを分析させる方法の2通りがあるようで、それぞれを試してみたいと思います。

# AWS Translateとは？

>多様なグローバルユーザー向けにコンテンツをローカライズし、大量のテキストを翻訳および解析して、ユーザー間のクロスリンガルなコミュニケーションを活性化させることができます。

少し調べてみた感じ、70か国語以上翻訳することが出来るようです。

https://aws.amazon.com/jp/translate/

# 触ってみる
## Webコンソール上で翻訳してみる
AWSコンソールでTranslateと検索すると本サービスが出てきますので、押下します。
![Untitled (11).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3219385/7d7f726f-a205-b3f0-63b7-00d330cbf4ef.png)
以下のような画面が表示されます。
リアルタイムでの翻訳を押下します。
![Untitled (12).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3219385/2bb290ed-8598-9f6d-24ca-3b745f3a5ad9.png)
Comprehendで使用した文章データをそのまま使います。
文章は以下から引用しています。

https://edition.cnn.com/2024/07/27/travel/why-europe-has-become-an-epicenter-for-anti-tourism-protests-this-summer/index.html

ソース言語を英語、ターゲット言語を日本語にします。
この状態でテキストを入力の欄にデータを入力します。
![Untitled (13).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3219385/802b0a33-77ba-30db-1710-88a117487ec5.png)
英語の文章を入力すると、割とすぐに日本語に翻訳された文章が出力されました。簡単ですね。
![Untitled (14).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3219385/f3b6e0a4-073f-f66f-4a2e-e8e6430b82fe.png)

## テキストファイルを翻訳させる
S3バケットにtranslateというフォルダを切り、更にそこからinputとoutputフォルダを切ります。inputファルダに英文が書かれたtxtファイルをアップロードしました。
![Untitled (15).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3219385/fb25bfa5-5611-32a9-d03c-be869fc49c96.png)
![Untitled (16).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3219385/b926a2d1-e479-d96a-c4d9-c585a5dadf94.png)
translateの管理コンソールを開き、バッチ翻訳を選択してジョブの作成を押下します。
![Untitled (17).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3219385/752d9083-c264-f32a-3348-07a6c5caa083.png)
ジョブのパラメータを入力していきます。
ジョブの名前はtest-translateとしました。
ソース言語は英語、ターゲット言語は日本語としました。
入力データはテキストファイルが格納されているS3のパスを、出力データは翻訳されたデータを格納してほしいS3のパスを指定します。
※この2つを同じパスにすることはできないようです。
アクセス許可についてはジョブと同時に作成してもらいます。作成するを選択することでS3に対してのIAM Roleを自動で作成・アタッチしてくれるようです。
![screencapture-ap-northeast-1-console-aws-amazon-translate-home-2024-07-28-11_26_44 (1).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3219385/403922e2-89e0-2483-b530-fbea633a9837.png)
作成が出来ると以下のような状態になります。
ジョブの中身を確認してみると何語から何語に翻訳するのかという事や、入力ファイルのディレクトリと翻訳語のファイルの出力先などが確認できます。
![Untitled (19).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3219385/a6cd2435-260e-ced1-bc87-52b44d1e5b79.png)
![Untitled (18).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3219385/2b1fe133-3771-8c4b-93e6-30efb1fcf369.png)
IAM Roleを確認してみます。
![Untitled (20).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3219385/2c359dde-5fd4-de50-785f-d8e92e4118fc.png)
```
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Action": [
                "s3:GetObject"
            ],
            "Resource": [
                "arn:aws:s3:::qiita-ml-test/*",
                "arn:aws:s3:::qiita-ml-test/*"
            ],
            "Effect": "Allow"
        },
        {
            "Action": [
                "s3:ListBucket"
            ],
            "Resource": [
                "arn:aws:s3:::qiita-ml-test",
                "arn:aws:s3:::qiita-ml-test"
            ],
            "Effect": "Allow"
        },
        {
            "Action": [
                "s3:PutObject"
            ],
            "Resource": [
                "arn:aws:s3:::qiita-ml-test/*"
            ],
            "Effect": "Allow"
        }
    ]
}
```
暫く待機すると以下のようにステータスが完了となります。
![Untitled (21).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3219385/2e41a07d-5a5f-3160-89f0-daf921195f0f.png)
![Untitled (22).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3219385/3982d751-5f6f-6ff5-2225-2a75d8e51b4f.png)

出力されたデータを確認してみます。
データとしては2種類。翻訳された文章そのものと、メタデータの様です。
![Untitled (28).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3219385/aba08d6e-d0b3-87fb-c115-a31323798d1d.png)
![Untitled (29).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3219385/79313c8b-2e7f-ce61-ee84-6595b54a44ec.png)

翻訳結果を以下に記載します。
ja.Why Europe has become an epicenter for anti-tourism protests this summer.txt
```
CNN — 今年の夏、反ツーリズム運動がヨーロッパ中に広がっており、オランダ、ギリシャ、そしてもちろんスペインでもデモが行われています。 7月初旬、抗議者たちはスペインのバルセロナの人気観光地を行進し、「観光客は家に帰れ」と唱えながら、無防備な訪問者に水鉄砲を吹きかけた。そしてつい最近、スペインのマヨルカ島で数千人が抗議した。主催者は、この島の観光モデルが「労働者を貧しくし、富をもたらすのはごく少数の人々だけだ」と主張している。抗議行動の中心は、家賃と住宅価格の上昇という問題が深刻化していることであり、一部の住民は住宅所有をほとんど不可能にしている。スペイン北東部のバルセロナの学校教師であるカルロス・ラミレスは、長年最初の家のために貯金を続け、「まともな」州の給料を稼いでいると彼は言う。しかし、カタルーニャ州の首都の物価は急騰しており、26歳のラミレスは追い出されるのではないかと懸念している。「私が知っている人はみんなここに住んでいる」と彼はCNNに語っている。「でも、今バルセロナで生活できる唯一の方法は、2人、3人、4人でシェアすることです。」夏の旅行先として人気の都市を兼ねている南ヨーロッパの他の住民と同様、ラミレスはコスト上昇の責任の多くをマス・ツーリズムにあると考えています。「地元の人々、特に若い人たちが自分の居場所を持つことはますます難しくなっている」と彼は言う。「年が経つにつれ、ますます多くの観光客が訪れています。」バルセロナのジャウメ・コルボニ市長によると、バルセロナの家賃は過去10年間で68％上昇しました。このパターンはヨーロッパの他の都市にも見られます。多くの住民は家賃を払っています。スペイン・カナリア諸島での過剰な観光に反対する地元住民が、4月にハンガーストライキを呼びかけるなど、自分たちの声を聞かせるために極端な対策を講じている人々もいる。7月6日、反ツーリズム運動の抗議者たちがバルセロナ市内中心部の訪問者に水鉄砲を発射し始め、国際的な注目を集めた。その瞬間、ラミレスは空中に「憤りを感じる」ことができると言った。バルセロナの市議会によると、約2,800人が参加したデモに、これほど多くの住民が参加したことを嬉しく思ったという。「現在、多くの人々、多くの企業が、敵意などの理由で、観光客にスペインへの訪問を警告しています。率直に言って、うまくいったと思う」とラミレス氏は語り、抗議行動が観光客にスペインへの訪問を思いとどまらせる効果があったことを振り返った。クイーンズランド大学の持続可能な観光の専門家であるAntje Martins氏は、このような抗議行動が評判に与える影響は、観光客が旅行先を決定する場所に影響を与える可能性があると述べた。「バルセロナは、怖がって訪れたくない他の観光客にとって、今では本当に評判が悪い」と彼女は言う。しかし、旅行先としてのヨーロッパのプロモーションを担当する非営利団体、欧州旅行委員会のエドゥアルド・サンタンデール最高経営責任者（CEO）は、バルセロナでの抗議行動のような事件は「孤立した」ものであり、「スペインやヨーロッパの現実を完全に反映していない」と示唆している。一般的にマーティンズ氏は、これは観光客と住民の衝突ではないと考えている。「私にとって、これらは持続可能な方法で管理されていない観光業をより広く反映していると思います」と彼女は言いました。「住民が観光業に反抗しているような衝突を見ると…それは彼らが観光業から何の利益も得られないために満足していないことを反映していると思う」と彼女は付け加えた。ラミレスもこの意見に賛成だ。「彼らには共感できる。観光客を直接非難しているわけではない」と彼は言う。「私たちは政府に政策を変えるよう圧力をかけたいと思っています。」ここで問題となっているのは構造的な問題であって、個人的な問題ではない、とマーティンズ氏は言う。持続不可能な観光水準のために物価が下がっている住民は、一般的に賃金が低く、中には観光産業そのもので働いている人もいる、と彼女は付け加えた。行動を起こす。ヨーロッパの一部の都市では、地方自治体が観光レベルをコントロールするために大胆な行動を取っています。ヴェネツィアの当局者は最近、観光客の数を規制するための一時的な入場料の導入が成功したと称賛している。ヴェネツィア市長のルイジ・ブルニャーロ氏によると、4月25日に開始され、7月14日に終了した新しい5ユーロ（約5.4ドル）の観光料金は、240万ユーロ（約260万ドル）を超え、予想を大幅に上回っているという。現地にいる一部の住民は、まだ忙しいものの、計画中は人混みは少なくなったようだと、現地にいるCNNのチームに伝えた。しかし、同意しない人もいる。ヴェネツィアに本拠を置く住宅連帯ネットワーク・グループのスザンナ・ポローニ氏は、この税は「役に立たないだけでなく有害でもある」とCNNに語っている。なぜなら、この税は、チケットを買わなければ入場できない「ヴェニスランド」という概念を国際的な想像に呼び起こすからだ。ポローニ氏は、イタリアの運河都市では、マスツーリズムによりすでに医療サービスが閉鎖され、近所の店が土産物店に取って代わられ、住宅価格が急騰していると付け加えています。「もうすぐ後戻りできないところまで来ている」とポローニ氏は語る。「少数の人々の利益のために死にかけている都市からの助けを求める私たちの叫びは、全世界に届くはずだと私たちは考えています。」一部の都市からの反発にもかかわらず、ヨーロッパ中のより多くの都市がこれに追随しており、観光料金の拡大を検討している都市もあります。バルセロナのジャウメ・コルボニ市長は最近、一部のクルーズ客の観光税を引き上げたいと発表しました。市内を12時間未満訪れる観光客は、通常、サグラダ・ファミリア大聖堂、ゴシック地区のランブラス通り歩行者専用道路、ガウディの丘の中腹にあるグエル公園などの主要観光スポットを特に混雑させると、市の報道機関はCNNに伝えた。現在の観光税は、バルセロナで3番目に大きな資金源であり、昨年、市内に入るために6.25ユーロ（約6.8ドル）を支払うクルーズ客や、ホテルやその他の観光宿泊施設に滞在する他の訪問者から約1億ユーロ（約1億800万ドル）を調達しました。コルボニ氏はまた、現在短期賃貸が承認されている約10,000戸のアパートのライセンスを終了したいと報道機関は述べている。「マーケティング撤廃キャンペーン」ラミレス氏は、観光客に対する反発を引き起こしたのは住宅問題だけではないと述べ、一部の人々の無礼な行動も一因となっていると付け加えた。イタリアのフィレンツェでは、ワインと官能の神バッカスの像にキスをしたり、ぶつけたり、すりつぶしたりしている若い女性が最近撮影された。市長室はそれを「セックスをまねた」行為と呼んでいる。そして2023年、ある観光客が、シニョーリア広場にある16世紀のネプチューンの噴水にある像に損傷を与えたとして告発されました。同じ年、イタリアの別の地域では、観光客のグループが別荘の貴重な像を倒したとして告発されました。ラミレス氏によると、バルセロナ、マヨルカ、マガルフ、ベニドルムなど、ヨーロッパの他の地域でも観光客の悪行が問題になっているという。「自国ではできないことをここでやっているようだ」と彼はCNNに語っている。「私たちはとても侮辱されていると感じています。」コペンハーゲンビジネススクールの観光学教授であるセバスチャン・ゼンカーは、この種の事件により、一部の都市で特定の観光客の訪問を思いとどまらせることを目的とした「マーケティング解除キャンペーン」を実施するようになった経緯を説明しています。ゼンカーは、アムステルダムの2023年の「Stay Away」キャンペーンを指摘しています。このキャンペーンは、18歳から35歳までの男性訪問者をターゲットに、反社会的行動の結果について警告する広告を掲載しました。「それは非常に厳しく、かつ厳格なデマーケティング手法だった」と同氏はCNNに語っている。「バチェラー・パーティーを止めることはできませんでしたが、この都市がルールを変えたという認識が高まりました。」しかし、より多くの文化的観光客を引き付けようとする努力は、意図しない結果をもたらす可能性があるとゼンカー氏は言う。「物価を上げて、より裕福な人々を惹きつければ、混雑の効果は解決するが、同時にインフレとジェントリフィケーションの問題も増大する。」マヨルカでは、「酒を飲む観光客」向けのアクティビティが数多く禁止されたため、物価は「超狂的」になったとゼンカーは言う。集められた資金の多くは地域社会の手に還元されないだろうと彼は付け加えた。では、どのような解決策があるのでしょうか。「それは、観光客や観光客が稼いだお金が、人々が住む余裕がある場所や仕事に投資されるのを見ることだ」と彼は言う。「この [抗議] は、再びバランスが取れるまで続くでしょう。」
```
ja.auxiliary-translation-details.json
```
{"sourceLanguageCode":"en","targetLanguageCode":"ja","charactersTranslated":"8090","documentCountWithCustomerError":"0","documentCountWithServerError":"0","inputDataPrefix":"s3://qiita-ml-test/translate/input/","outputDataPrefix":"s3://qiita-ml-test/translate/output/310016072763-TranslateText-8651a736d4d4b7ce55a21435d427a545/","details":[{"sourceFile":"Why Europe has become an epicenter for anti-tourism protests this summer.txt","targetFile":"ja.Why Europe has become an epicenter for anti-tourism protests this summer.txt","auxiliaryData":{}}]}
```
以下のデータが記載されています。

- **sourceLanguageCode**: 英語 ("en")
- **targetLanguageCode**: 日本語 ("ja")
- **charactersTranslated**: 8090文字
- **documentCountWithCustomerError**: 0
- **documentCountWithServerError**: 0
- **inputDataPrefix**: `s3://qiita-ml-test/translate/input/`
- **outputDataPrefix**: `s3://qiita-ml-test/translate/output/310016072763-TranslateText-8651a736d4d4b7ce55a21435d427a545/`
- **details**:
  - **sourceFile**: `Why Europe has become an epicenter for anti-tourism protests this summer.txt`
  - **targetFile**: `ja.Why Europe has become an epicenter for anti-tourism protests this summer.txt`
  - **auxiliaryData**: {}