ML Study Jams 覚書_初級編

ML Study Jamsが2月に引き続き再び無料公開されたのでありがたく実施しています。正直GCP初心者には難しいところもありますが(操作はコピペなので簡単、自力でコマンド作れるようになるかと言われると…)、理解した範囲だけでも覚書に残そうかと思っています。5/22が受講期限なので徐々に追加していく予定です。



初級者向けコース

BQML で分類モデルを使用して訪問者の購入を予測する(日本語)

内容はタイトル通りです。次の項目もBQMLなのでそちらにまとめて記載。

BigQuery ML 予測モデルによるタクシー運賃の予測(日本語)

SQLで機械学習ができると便利なのはわかるけど、正直自分で使うかと言われると使わない気がしました。IoTとか大規模データセットをターゲットにしたMLタスクがある場合はBigQueryで出来るのは金銭的に非常に助かるのでは。Colaboratoryのメモリに乗らないテーブルデータを使ったことがないからイマイチ使ってみようと感じませんでした。ただ、SQLで簡単にTRAIN, EVAL, TESTを分けれるのは便利だし、モデルがデータセットとして保存されるのでバージョン管理が楽かつストレージを取らないのは便利だと感じました。BQは普段SQLをほぼ書かない人間からすると十分な無料枠があるので、kaggleとかでメモリが厳しい時なんかは使えるかもしれません。
まだβ版だし、扱える問題が増えていい感じのチュートリアルを書いてくれる人が現れるのを待ちます(今のところ線形回帰とロジスティック回帰のみ対応)。

Google Cloud Speech API: Qwik Start(日本語)

非常に短い内容で、あらかじめ用意された音声ファイルをAPI使って文字起こしするものでした。Courseraで英語字幕さえなくて受講できない講座の字幕を作るとかに使えるかもしれません。ただ、躓きポイントがあります(汗)。
API起動時のconfigのパラメタ名が変わっているみたいで、手順書通りだとAPIが400を返してきます…request.jsonの「sample_rate」を「sampleRateHertz」に変更する必要があるので要注意です。

Cloud Natural Language API: Qwik Start(日本語)

指定された入力を形態素解析+どういうタイプの単語か+WikipediaのURLとかを返してくれるAPIでした。エンティティの中心性等も返ってくるのでNLPで色々やりたくなったら使うかもしれません。トレーニングとしては「Michelangelo Caravaggio, Italian painter, is known for ‘The Calling of Saint Matthew’. 」という文章を解析するだけなのでそれほど面白くありません…QwikStartですしね。何事もですが、興味がある人は楽しめると思います。

Speech to Text Transcription with the Cloud Speech API(英語)

Cloud Speech API を使った音声→テキストのチュートリアルでした。2つ上とほぼほぼ同じですね。設定ファイルのlanguageCodeを変更するだけで言語を変更できる手軽さが良いと感じました。せっかくなのでフランス語に対して英語としてAPI叩いてみました(笑
フランス語:maître corbeau sur un arbre perché tenait en son bec un fromage
英語(米国):little Caboose Johanna with their she do they make a full match
フランス語での確度は0.96079475で、英語にした場合は0.5296695なので確かに確度が低ければ書き起こせていないことが分かりますね。5分くらいで終わります。

Entity and Sentiment Analysis with the Natural Language API(英語)

2つ上のCloud Natural Languageでもやった形態素解析等に加え、①analyzeSentiment、②analyzeEntitySentiment、③annotateTextのAPIも試させてもらえました。

①のanalyzeSentimentは文章の感情分析で「ハリーポッターは最高の本だ。みんな読むべきだと思うぜ(意訳)」に対し、1文目が0.7、2文目が0.1というポジティブスコアを返してきました(1が最大、ネガティブは-1)。みんな読むべき~がそんなに高くないのが意外ですが、とりあえず文章単位でポジネガ評価できています。

②のanalyzeEntitySentimentは面白くて文章から単語を抜き出しその単語をポジネガ評価します。「寿司はおいしいけどサービスはひでぇもんだ(意訳)」に対し、sushiは0.9と非常にポジティブなものとして捉え、serviceは-0.9と非常にネガティブに捉えています。寿司とサービス以外の言葉は寿司かサービスを説明していると解釈して、尚且つそれぞれの意味を解釈できているのが素晴らしいですね。ちなみにサービスに対してもポジティブな内容にしてみるときちんとサービスもポジティブになります。(文法的にはポジティブ but ときたらネガティブがきそうですが、文章より単語を見ているんですかね)

③のannotateTextは文章中の単語一つ一つの属性やら係り受けを返すものでした。かなり高機能だとは思うのですが、NLP初心者としては用途不明でしっくりきませんでした…

中級者向けコース 

中級編は今回追加されました。GWを失ったので見出しだけ作って少しずつやっていこうと思います。
と、思ったのですが、あまりに長いので別記事に記載します。


カテゴリー:DeepLearning,GCP,MachineLearning

Output不足なエンジニア

統計が好きになれず、機械学習やったら必然的に統計が必要になるだろうと思ったら想像以上に機械学習にハマる。数学は芸術なので商売にするつもりはないけど、DeepLearningは数学じゃないし商売にしたいと思っているところ。画像処理がメイン。