Pythonで翻訳ツールを作ってみました。今回はPythonでやりましたが、Pythonじゃなくても簡単にできるので参考にしてみてください。
Azure(アジュールと読みます)とは?
Microsoft Azure(マイクロソフト・アジュール)は、マイクロソフトのクラウド プラットフォーム (PaaS/IaaS) である。
2008年のProfessional Developer Conferenceで発表され、2009年末までのサービス開始前の評価期間を経て、2010年1月に世界21ヶ国で正式にサービスを開始した。2014年3月26日に旧称であるWindows Azure(ウィンドウズ・アジュール)からMicrosoft Azureへの名称変更が発表された。
AzureとはMicrosoftが提供しているクラウドです。クラウドとはなにか?についての説明は書くととても長くなってしまうので、今度書きます。クラウドを知らない方はとりあえず、Microsoftが開発したAI(翻訳以外にもたくさんあります)を簡単に使うことができる道具だと思ってください。
Azureは無料試用版を使うことができ、22500円まで無料です!また学生の方はクレジットカード登録もなしで使用できるので使って見ることをおすすめします。
Microsoft Translator Text APIとは?
Microsoft Translator API は、開発者がアプリケーション Web サイト、ツールのほか、多言語対応が必要なソリューション (Web サイトのローカライズ、eコマース、カスタマー サポート、メッセージング アプリケーション、社内コミュニケーションなど) に簡単に統合できるニューラル機械翻訳サービスです。
Azureが提供している、たくさんあるAIの中の1つがこのMicrosoft Translator APIです。60以上の言語を翻訳することができます。もちろん日本語もできます。Translator Text APIについての詳しい説明は以下のリンクから見ることができます。
参考:Translator Text API – 自動翻訳 | Microsoft Azure
まずはAzureに登録!翻訳を使える状態にしましょう!
「Azure 登録」とか調べるとたくさん出てくるので登録してみましょう!例えばこんなのとか、とりあえず登録できればおっけいです!大学生は学校のメアドで登録すればクレカなしで無料で使えます。
参考:Microsoft Azure の無料アカウントを作ってみた
リソースの作成
- 左メニューの[リソースの作成]をクリック
- [Translator Text API]で検索
- 下の方にある[作成]をクリック
- 価格レベルはF0で設定、ほかはテキトーに名前をつけてください。
ここまでできたら[作成]をクリックしてリソースの作成を完了させます。
使い方を調べる
翻訳AIを使うためのコードを書くにはAPIをの使い方を確認する必要があります。使い方は下記リンクのドキュメントに書いてあるので、ドキュメントを読みながらコーディングを進めていきます(英語です)。
※2018年9月に再度確認したところドキュメントが日本語対応していました
参考:Translator Text API とは – Translator Text API
コードを取得
英語だから無理だ、、、と諦めるのは早いです!コピペで簡単につくれちゃいます!
Pythonの方は以下のサイトから
参考:Translator Text translate text with Python – Microsoft Cognitive Services | Microsoft Docs
[Translate request]から、Pythonのコードが取得できます。[コピー]を押してそのまま自分のコードにペーストしちゃってください。
自分用に少しカスタマイズするところ
subscriptionKeyの設定
subscriptionKeyのところは、自分で取得したkeyを入れましょう。
左メニューの[すべてのリソース]をクリック→さっき作成したリソースを選択→[Keys]をクリック→Key1とKey2が出てくるのでどちらでもいいのでコピーしてコードに貼り付ける。
変換する言語の変更
params = “&to=de&to=it”;
はドイツ語とイタリア語に変換しますよ〜って意味です。多くの人は日本語に変換したいと思うので
params = “&to=ja”;
に変更しましょう。
json形式で値が返ってくるので中身を取り出す
変換後の値はjson形式という形式で返ってきます。よく見ると変換された結果がこのなかに入ってます。下の画像のtextって部分がこれに当たります。このままだとわかりずらいし、なにをやってるのかよくわからないので、textの中身を取得しちゃいましょう。
print (output)
となっているのを
json_obj = json.loads(output)
print(json_obj[0]['translations'][0]['text'])
に変更しましょう。
Azureを使った翻訳APIの使いかたを紹介しました。他にもたくさん便利なAPIがあるのでまた紹介していきます。