データサイエンティストハトリのブログ

PythonとインテリジェントクラウドとAIが好きな学生エンジニア。データ分析、スクレイピング、就職活動などについて書いていきます。

PythonとAzureで簡単に自動翻訳ツールを作った!【Microsoft Translator API】

f:id:hatorihatorihatorik:20180930021711j:plain


 

こんにちは、どうもハトリです!!

 

TwitterでプログラミングやIT関連のことについてつぶやいているのでよかったら是非フォローしてください →→(@tori_engineer)

 

 

Pythonで翻訳ツールを作ってみました。今回はPythonでやりましたが、Pythonじゃなくても簡単にできるので参考にしてみてください。

 

Azure(アジュールと読みます)とは?

 

Microsoft Azure(マイクロソフト・アジュール)は、マイクロソフトクラウド プラットフォーム (PaaS/IaaS) である。

2008年のProfessional Developer Conferenceで発表され[1]、2009年末までのサービス開始前の評価期間を経て、2010年1月に世界21ヶ国で正式にサービスを開始した。2014年3月26日に旧称であるWindows Azure(ウィンドウズ・アジュール)からMicrosoft Azureへの名称変更が発表された[2]。

Microsoft Azure - Wikipedia

 

AzureとはMicrosoftが提供しているクラウドです。クラウドとはなにか?についての説明は書くととても長くなってしまうので、今度書きます。クラウドを知らない方はとりあえず、Microsoftが開発したAI(翻訳以外にもたくさんあります)を簡単に使うことができる道具だと思ってください。

 

Azureは無料試用版を使うことができ、22500円まで無料です!また学生の方はクレジットカード登録もなしで使用できるので使って見ることをおすすめします。

Microsoft Translator Text APIとは?

f:id:hatorihatorihatorik:20180930021716j:plain

Microsoft Translator API は、開発者がアプリケーション Web サイト、ツールのほか、多言語対応が必要なソリューション (Web サイトのローカライズ、eコマース、カスタマー サポート、メッセージング アプリケーション、社内コミュニケーションなど) に簡単に統合できるニューラル機械翻訳サービスです。

 

Azureが提供している、たくさんあるAIの中の1つがこのMicrosoft Translator APIです。60以上の言語を翻訳することができます。もちろん日本語もできます。Translator Text APIについての詳しい説明は以下のリンクから見ることができます。

 

azure.microsoft.com

まずはAzureに登録!翻訳を使える状態にしましょう!

 

「Azure 登録」とか調べるとたくさん出てくるので登録してみましょう!例えばこんなのとか、とりあえず登録できればおっけいです!大学生は学校のメアドで登録すればクレカなしで無料で使えます。

 

qiita.com

 

リソースの作成

左メニューの[リソースの作成]をクリック→[Translator Text API]で検索→下の方にある[作成]をクリック→価格レベルはF0で設定、ほかはテキトーに名前をつけてください。

 

ここまでできたら[作成]をクリックしてリソースの作成を完了させます。

 

使い方を調べる

 

翻訳AIを使うためのコードを書くにはAPIをの使い方を確認する必要があります。使い方は下記リンクのドキュメントに書いてあるので、ドキュメントを読みながらコーディングを進めていきます(英語です)。

※2018年9月に再度確認したところドキュメントが日本語対応していました

 

docs.microsoft.com

コードを取得

英語だから無理だ、、、と諦めるのは早いです!コピペで簡単につくれちゃいます!

 

Pythonの方は以下のサイトから

Translator Text translate text with Python - Microsoft Cognitive Services | Microsoft Docs

 

 

[Translate request]から、Pythonのコードが取得できます。[コピー]を押してそのまま自分のコードにペーストしちゃってください。

f:id:hatorihatorihatorik:20180713160156p:plain

 

自分用に少しカスタマイズするところ

subscriptionKeyの設定

subscriptionKeyのところは、自分で取得したkeyを入れましょう。

 

左メニューの[すべてのリソース]をクリック→さっき作成したリソースを選択→[Keys]をクリック→Key1とKey2が出てくるのでどちらでもいいのでコピーしてコードに貼り付ける。 

変換する言語の変更

params = "&to=de&to=it";

 

はドイツ語とイタリア語に変換しますよ〜って意味です。多くの人は日本語に変換したいと思うので

 

params = "&to=ja";

 

に変更しましょう。

 

json形式で値が返ってくるので中身を取り出す

変換後の値はjson形式という形式で返ってきます。よく見ると変換された結果がこのなかに入ってます。下の画像のtextって部分がこれに当たります。このままだとわかりずらいし、なにをやってるのかよくわからないので、textの中身を取得しちゃいましょう。

f:id:hatorihatorihatorik:20180713161127p:plain

 

print (output)

 

となっているのを

 

json_obj = json.loads(output)
print(json_obj[0]['translations'][0]['text'])

 

に変更しましょう。

 

Azureを使った翻訳APIの使いかたを紹介しました。他にもたくさん便利なAPIがあるのでまた紹介していきます。