Upgrade to Pro — share decks privately, control downloads, hide ads and more …

SPSS modeler と IBM cloud によるAIアプリ開発

SPSS modeler と IBM cloud によるAIアプリ開発

パーソナルダイエットジムで集まった各種データを学習データとしSPSS modelerで機械学習しWatson Machine LearningでWebサービス化します。
これを使ったアプリをNodeREDで開発し、開発したフローごとコンテナイメージにしてKubernetesで動かします。
実際にサービスとして稼働しているシステムの開発の流れを紹介します。

93d5352aef63be97026716736ff738c8?s=128

tanaka-kaz

April 26, 2019
Tweet

Transcript

  1. IBM SPSS Modeler と IBM Cloudによる AIアプリ開発 2019年4月26日 株式会社トゥエンティーフォーセブン マーケティング部 マネージャ 田中 一利

  2. プレゼンター紹介 田中一利 ・1994年にニューラルネットワーク  に出会い虜になりました。 ・2004年SPSS modelerに出会い中毒  になりました。 ・大手通信キャリアで携帯電話解約  予測で事業に貢献しました。 ・現在、トゥエンティーフォーセブン

     で未来のダイエットを創造中。 ・
  3. トゥエンティーフォー セブンの紹介 ・ダイエット目的の パーソナルトレーニングジム ・全国56店舗 RIZAP社につぐ業界2位

  4. Agenda 1. 2. アプリケーション紹介 開発フロー紹介 3.今後の計画 ・機械学習(IBM SPSS Modeler) ・モデルのAPI化(IBM

    Watson Studio) ・Webアプリ構築(Node-Red) ・本番運用(Kubernetes)
  5. Agenda 1. 2. アプリケーション紹介 開発フロー紹介 3.今後の計画 ・機械学習(IBM SPSS Modeler) ・モデルのAPI化(IBM

    Watson Studio) ・Webアプリ構築(Node-Red) ・本番運用(Kubernetes)
  6. Place your screenshot here 1.食事レコメンド トレーナーからお客様におすすめの 食事を提案できるWebアプリ 1.カロリーや脂質、炭水化物等の  栄養素の上限下限を設定する。 2.よく使うコンビニやレストランを

     選択する。
  7. Place your screenshot here トレーナーからお客様におすすめの 食事を提案できるWebアプリ 3.条件に合った食品をデータベース  から呼び出し、出力する。 1.食事レコメンド

  8. 栄養価を知りたい食品名をチャット すると教えてくれるLINEbot 1.知りたい食品名をチャット 2.データベースから栄養価を  呼び出して返答 2.栄養成分ミエルクン

  9. 栄養価を知りたい食品名をチャット すると教えてくれるLINEbot ユーザー数18,000人以上! Google Homeにも対応。 2.栄養成分ミエルクン ミエルクンのQRコードです。 友だち追加お願いします! サラダチキン(ハーブ) 124kcal

    たんぱく質25g 脂質0.9g炭水化物1.1g
  10. 3.カウンセリング時体重予測 過去データから期待できる体重減少 を予測するWebアプリ 1.お客様のフィジカルデータを  入力する。 ・年齢 ・性別 ・体重 ・身長 ・体脂肪率 ・内臓脂肪レベル ・血圧(上下)

  11. 3.カウンセリング時体重予測 過去データから期待できる体重減少 を予測するWebアプリ 2.そのお客様が2ヵ月ジムに通った  場合の体重推移を出力する。

  12. 今回のプレゼンでは カウンセリング時体重予測 の開発についてお話します。

  13. Agenda 1. 2. アプリケーション紹介 開発フロー紹介 3.今後の計画 ・機械学習(IBM SPSS Modeler) ・モデルのAPI化(IBM

    Watson Studio) ・Webアプリ構築(Node-Red) ・本番運用(Kubernetes)
  14. 開発フロー 1.機械学習 2.モデルのAPI化 3.Webアプリ構築 4.本番運用

  15. 1.機械学習(概要) IBM SPSS Modelerを使用 ・ノンプログラミング ・ノードを繋いで使う ・ニューラルネットワーク、  ランダムフォレスト、ベイズ  SVM等多数のモデル

  16. モデリング 精度分析 データ取込・クレンジング・整形

  17. 1-1.データ取込 顧客データ、トレーニングデータなどを BigData化したデータベースを データソースとしてセット

  18. 1-2.データ整形   データクレンジング ・データ結合 ・入力失敗データの破棄 ・データ項目の追加

  19. 1-3.モデリング・精度分析 NNで学習するノード 学習したモデルのノード モデルを評価するノード

  20. 1-4.精度分析結果 「過学習」や「精度の限界」がわかる

  21. 開発フロー 1.機械学習 2.モデルのAPI化 3.Webアプリ構築 4.本番運用

  22. 2.モデルのAPI化(概要) IBM Cloud上の Watson Studioと Watson Machine Learningを使用 ・ノンプログラミング ・Modelerで作ったフローが

     そのまま使える  
  23. 2-1.インスタンスの作成   Watson Studioと Watson Machine Learning のインスタンスを作成 WMLに限り、後で作成することも可能

  24. 2-2.モデルフローのセット   IBM SPSS Modelerで作った モデルフローを Watson Studioで展開 プロジェクトを作成し Modelerフローファイルを

    アップロード 予測モデル
  25. 2-3.予測モデルのデプロイ   IBM SPSS Modelerで作った モデルフローを Watson Studioで展開 モデルノードから 「Save

    branch as a model」 で保存 Watoson Machine Learningインスタンスに 結びつけてデプロイ (API化)
  26. 開発フロー 1.機械学習 2.モデルのAPI化 3.Webアプリ構築 4.本番運用

  27. 3.Webアプリ構築(概要) IBM Cloud上の Node-RED Starterを使用 ・単機能ノードを繋いで使う  ファンクションノードでは  JavaScriptを使用 ・Watsonノードがある。 ・各種設定変更がしにくい。

  28. 3-1.インスタンスの作成   Node-REDのインスタンスの作成する メモリなど、あとで変更しにくい ものもあるので注意が必要。

  29. 3-2.Webページの記述   ノードを繋いでWebページを作る テンプレートノードに 直接HTMLを記述 右図のテンプレート ノードではフォーム 画面を設計しています。

  30. 3-3.APIリクエストの記述   APIリクエストをセットする フォームから受け取った情報を 変数にセットしリクエスト “body_weight”=65 :

  31. 3-4.モデルの呼び出し   API化したモデルを呼び出す セットした変数をモデルに 通して、予測値を返す “body_weight”=65 : “1st_weight”=64.8 “2nd_weight”=64.3 :

    “15th_weight”=57.4
  32. 3-5.グラフの書き出し 予測値をZingchartでグラフ上 にプロットする 中身はJavaScriptで記述 右図のZingchart ノードではグラフ画面を 設計しています。

  33. 開発フロー 1.機械学習 2.モデルのAPI化 3.Webアプリ構築 4.本番運用

  34. 4.このままの運用も可能だが、  Kubernetesでよりよく! 冗長化されていない 手動スケーリング メンテナンスには要ストップ 冗長化可能・負荷分散 オートスケール ノンストップバージョンアップ ...このほかにもたくさんのメリット

  35. 4.運用イメージ   Docker、コンテナーレジストリー、 IBM Kubernetes Serviceで構築す る。 IBMcloud でコンテナーレジストリーと Kebernetes

    Serviceのインスタンスを 作成する。
  36. 4.運用イメージ   DockerHub ローカルでNode-RED実行 プログラム開発 イメージを保存 Kubernetesで実行

  37. Agenda 1. 2. アプリケーション紹介 開発フロー紹介 3.今後の計画 ・機械学習(IBM SPSS Modeler) ・モデルのAPI化(IBM

    Watson Studio) ・Webアプリ構築(Node-Red) ・本番運用(Kubernetes)
  38. 体重予測機能の今後の計画 ・体重・体脂肪のセッション毎の  推移を考慮した予測 ・目標体重に向けてセッションが  あと何回必要かの予測 ・予測精度の向上

  39. 食事レコメンドの今後の計画 ・パラメータ範囲のAI化 ・スマホアプリに実装 ・お客様宅の Google Home に対応

  40. おまけ

  41. 人生史上最高の身体に なりませんか? ・お腹周りが気になる... ・自力で痩せられない... ・食事制限はイヤ...

  42. エンジニア募集!   特にスマホアプリ開発経験者 ←「One Pair」にて求人公開中