はじめに
ノーコードで学習データをアップロードするだけでIBM Cloudが色々良きに計らってモデルを作ってくれるAutoAI。当初は数値だけでしたが、いつの間にか自然言語も扱えるようになっている!
とくれば、比較したくなりますよね、NLC・NLUとの精度の違いを。
試してみること
NLC、NLUで一定の精度がでてきる学習データをAutoAIに与えると、どんなモデルを作ってくれるのか?
2021年9月にIBM Cloud上の自然言語系サービス Natural Language Classifire(NLC) と Natural Language Understanding(NLU)の精度比較をしたので、この時の学習データ、テストデータを使ってAutoAIの精度を見てみましょ。
Watson NLCとNLUの精度を比べてみた
利用データのおさらい
訓練データに使ったのはライブドアニュースから取得したニュースタイトル。対象は5カテゴリで、1カテゴリにつき100件ずつ。合計500件です。
テストデータは同じく各ジャンル20件ずつ、合計100件を準備しました。
・スポーツ
・海外
・経済
・グルメ
・宇宙
表1.訓練データのカテゴリ別文字数
サービス | スポーツ | 海外 | 経済 | グルメ | 宇宙 |
---|---|---|---|---|---|
平均 | 36 | 32.41 | 29.5 | 32.04 | 31.4 |
中央値 | 34 | 32 | 29 | 34 | 32 |
最頻値 | 33 | 36 | 23 | 16 | 33 |
標準偏差 | 6.76 | 6.32 | 7.99 | 10.91 | 4.28 |
AutoAIでモデルを作る
学習データ、テストデータは比較のため前回と同じものを利用。
ありがたく以下の記事を参照しながらAutoAIが使えるように準備します。
IBM Developer Learning Paths 日本語サイト AutoAIによるモデル構築の自動化
※メモ※
Machine Learningサービスインスタンスを同じリージョンに作成しておかないと、資産追加でAutoAIが出てこない。
AutoAIが準備できたら、早速学習データをアップロード。後はほぼワンクリックで自動的にモデルが構築されます。
モデルがもりもり作られていく過程が楽しくてつい眺めてしまう。待つこと数分。よしできたぞー!
AutoAIが8つのモデルを作ってくれました。
想定していたような精度のモデルができず、というかグルメと経済にしか興味ないモデルとか、宇宙一択のモデルとかできちゃってる……?
これは何かデータの準備かAutoAIの使い方に問題があった気がしてならない……。こんな正解率低いわけない。もう少し調べて、ここは再度チャレンジしてみよう。
が、いったんモデルもできたので、良さげなものを選んでテストデータを流した結果を見てみたいと思います。
モデルをテストする
モデルをデプロイすると、もうテストデータ流して使える画面ができてるとか、本当に使いやすくて感謝しかない。
テストデータのCSVをアップロードして予測ボタンを押すだけ!
各ジャンル20ずつのテストデータに対して、予測結果は殆どグルメと経済。私の遺伝子の問題か?
うーん、どこで間違えたんだろう。これかな?と思って文字コードかえて試してみたけど結果はほぼ変わらず。しばらく調査してみます。
AutoAI の既知の制限事項
まとめ
想定外に正解率が低い結果に。どこかに原因がありそう。
もう少しAutoAIとの仲を深めてから、リベンジする。
というわけで、 AutoAI vs. NLU・NLCの勝負は次回に持ち越しです!
参考サイト
AutoAIでお手軽機械学習(その1) 準備編
IBM Developer Learning Paths 日本語サイト AutoAIによるモデル構築の自動化