Above & Beyond

日々のアウトプット記録

【10/31】水曜ワトソンカフェvol.14 実プロジェクトでの利用と苦悩 @NIFcLounge に参加してきました

一昨日の夜は「【10/31】水曜ワトソンカフェvol.14 実プロジェクトでの利用と苦悩 @NIFcLounge」という勉強会に参加してきました。

bmxug.connpass.com

会場は富士通クラウドテクノロジーズ株式会社 さんの NIFcLounge。初めて行きましたが思っていたより広いスペースでした。

f:id:kabukawa:20181031184729j:plain

水曜ワトソンカフェとは

イベントページから引用すると

水曜ワトソンカフェは、IBM Watson を中心としたサロンイベントです。

毎回、第一線で活躍する登壇者が、IBM Watson を使った事例のプレゼンをします。その後、参加者も加わったディスカッションの時間をもち、Watson への理解と多様な活用方法を共有していきます。

ということで、IBM のAIサービスである Watson の事例などを聞くことができる勉強会、という感じですね。

なんで参加したか

水曜ワトソンカフェ 自体は2回目の参加です。前回参加したのはこの回です。

bmxug.connpass.com

元々はAIサービスとしてのWatsonに興味があったから、というのが大きいです。 他のクラウドベンダーの提供するAIのサービスと比べてどの程度のことができるかとか、どういう違いがあるのかというのを把握しておきたかったというのもあります。

そして今回は実際にプロジェクトに適用した場合の事例集ということで、なかなかこういう話は聞けないと思い、参加しました。

参加してみて

スライドは公開されないようですので、当日のメモから。

Watson 事例集 〜実プロジェクトでの利用例と現場の苦悩〜 というテーマで、3つの事例が紹介されました。

チャットボットの事例

www.ibm.com

要件

実施内容

プロジェクトの進め方

  • あまり複雑な対話は難しいことを周知
  • 雑談や多岐にわたるトピックなどは製品コンセプトに合わない
  • 実施する場合は要因などに依存する

LINE@からWebHookでOpenWhisk Watson Assistantについて

  • あるトピックについて対話ツリーを作成し、登録される回答分を返すAPI
  • 誤答を正しいインテントへ修正
  • 誤答をアウトオブスコープへ修正

苦悩ポイント

Watson Assistantでの対話内容について

  • インテント数を増やしすぎない

    • 30個ぐらい
    • インテントとエンティティを使い分けて対話を進める構造を考慮
  • 対話のやり取り数を適度に

    • 一問一答はユーザーに不親切感がある

OpenWhiskのパフォーマンスについて

  • サーバーレスサーバーであるOpenWhiskのパフォーマンスが悪い
  • 考えられる原因

OpenWhiskのパフォーマンスについてはみんな色々苦労されているようで、ググるとこんなのとか出てきますね。

medium.com

まとめ

チャットボットを構築するWatson Assistantの事例について 性能要件を考えたほうが良い

QA

単語だけで入力されることはないのか?

  • その場合も学習させることで改善する

学生が本番運用していく上での工夫したポイント

  • 休日に学生とのハンズオンを実施してなれてもらう。
  • オープンキャンパスを創っていく上で、裏で支援する
  • 運用手順書も100ページ以上  

ナレッジスタジオを使った事例

www.ibm.com

Watson Knowledge Studio

  • 文書などのテキストデータから必要な情報を抽出するための学習モデルを構築する仕組みを提供
  • EntityやRerationをヒューマンアノテーションを介して非構造化データから構造化データを抽出

テキストデータ(非構造データ)の取扱が課題

Jetroのサイトから輸出対象の国別品目別の事務手続きの文書をWSKに学習させることで大量の非構造文書に対してアノテーションを実施

苦悩

アノテーター間の文章解釈の齟齬

複数人でアノテーションするのを辞めて一人でやるようにする

  • →文書が役所の文書で比較的構造を特定しやすい
  • 一人で一貫性を持ってアノテーションすることも検討する
  • 少ない学習文書数から始める
  • ヒューマンアノテーションは専門の知識を学習モデルに詰め込む中核のフェーズなのでそれなりの苦悩は覚悟する
  • モデルができれば後で楽ができると思って頑張る

機械学習ゆえのもどかしさ

  • 言い回しや用語を抽出するための細かな制御が効きにくい
    • →更に学習させる
  • この点ではルールベースのほうがやりやすい

学習モデルの精度改善プロセス

  • 学習モデル(初版)の作成から精度を高めるための改善プロセスを繰り返すサイクルになる。
    • →頻繁に変わらない文書に適用する
    • 用語や言い回しが頻繁に変わるような文書はその都度学習させる必要があるのでそれなりに大変さを伴う。

まとめ

WKSは引き合いのあるサービス

  • 今後PoCの段階を終え本番システムへの適用に進むプロジェクトが増えるのでは?
  • 運用フェーズのベストプラクティスの創出と共有が必要

QA

複文や親子関係は解釈できるのか?

  • →現状はできない

ナレッジ分析の事例

社内Serveyの分類

わかるとは分けることである

WatsonAssistant

  • 意図判別のための機械学習
  • 多くのデータから特徴を抽出して判別ができるようになる

ライバルたち

学習データの重要性

対処 作業者
良いアルゴリズム IBMラボが考える
良いデータ お客様が揃えてエンジニアが考える

フィードバック作業

学習フェーズの分類結果の確認を行い、必要に応じてデータの修正版を作成する

苦悩ポイント

学習データの修正をユーザーと共に

  • 予測間違いが多い

    • データの分類がそもそも間違っている
    • 分類が適切ではない
    • 粒度が大きすぎる
  • 対策

    • 分類クラスを見直す
  • 予測が間違っている

    • 本文が長くて解釈がうまくできない
      • → 文章を短くする

予測の間違いが多い

  • 同じデータを与えるとエラーになるので見直し
  • テキストは1024文字以内
  • クラス名は128文字以内
  • 記号は_に置き換え

エンジニアの仕事は変わった?

  • 理想
    • いい感じにやってくれる
  • 現実
    • いい感じに分類できるように良いデータを食わせる

精度指標について

  • Precosion精度

    • 回答のうちどれだけ正解か
  • Recall再生率

    • 回答すべきものがどれだけ拾えたか

両者の調和平均

数値 評価
0.8 優等生
0.7 合格ライン
0.6未満 もう少し頑張りましょう
0.9以上 オーバーフィッティング。特定データbに特化し過ぎか?

ユーザーが欲しいものは「分類し終わった」データ?

  • 用途によって使い分ける

メンテナンスの対象を明確に

  • 学習データは過去の戦訓集。
  • どんどん新しい質問が来るようなアプリケーションではミスが多くなってくる

Excel最強伝説

  • エンドユーザーにはExcelでやってもらう
  • Excelの条件式などを駆使して作業をしてもらう
  • 但し文字コードには注意

スポンサーLT

懇親会のスポンサーは勉強会ではおなじみの Falkwellさん。 あまりにもスポンサーする数が多くて「また出たな、Falkwell」という迷言?まで生み出される位なのですが、今回はまさかのビデオレター。 f:id:kabukawa:20181031204031j:plain

音声が無駄にエコーが掛かっていてライブ感あふれる(?)内容でした。 みんなちゃんと聞いているし、拍手までしているところがちょっと面白かった(笑)

まとめ

今回は事例集ということで、普段聞けない現場での苦労話などが聞けてとても興味深かったです。 こういう内容がもっと公開されてみんなでナレッジを共有できるようになると、もっと使いやすくなるんじゃないかなと思いました。

あと、こんなイベントが12月にあると告知されていました。興味がある方は参加してみてはいかがでしょうか? (僕は別のイベントと重なっていて参加できませんが。。。)

IBM Cloud Community Summit 2018

bmxug.connpass.com