TesnorFlow で自前の分類器をつくろうと考えていたが
それと比較するものも必要かな..と思い
Watson の Natural Language Classifier を使ったデモを作った。
前提として
・有効なBluemixアカウントがあること
・Bluemixへアクセス可能なPC
・ブラウザ、Excel、ShiftJIS→UTF-8変換できるツール(以下では秀丸を使用)
があることとする。
ここでは、某DBスペシャリストテキストを参考に
イチから学習データを作り、
DBに関する質問を投げると、テキストの該当ページヘ
誘導できるように分類(XXXセクションのYYY章)を出す
という分類器をつくることとする。
学習対象は
それこそ、歴史の教科書だって、数学の教科書だってかまわないけど
これができるのなら、
コーディングを一切知らなくても、
デモレベルなら誰でも作れてしまう。
しかも、
BluemixではよくあるNode-REDすら使っていないゼロコーディング 。
以下、その手順。
----
・クライアントPC上でブラウザを起動、Bluemixコンソールへアクセス
・ユーザ名を入力し、Login押下
・パスワードを入力し、Login押下
・「サービス」を選択し、「ダッシュボード」を選択
・サービスの作成押下
・Watsonを選択
・「Natural Language Classifier」を選択
・作成押下
・Login with Bluemix を選択
・確認押下
・Add training data リンク選択
・分類の種類はMAX150くらいとする(それ以上だとサチる)
・分類名は以下のルールで作成
「<セクション番号をゼロ詰め3桁化><少番号をゼロ詰め2桁化><該当章を表す単語を適当につける>」
・1つの分類に最低10個の質問をつくること
・秀丸エディタでCSVファイルを開く
・Create classification押下
・分類器に名前を適当につけてCreate押下
・しばらくたら、Traning dataリンクを選択し、Classifiersリンクを選択する
・CSVファイルデータが多いと以下の画面の状態になる
・以下の画面になったら「→」押下
・質問を記入し、Classify押下
・正解の分類を選択肢、次の質問を入力、Classify押下
・次の分類結果が表示される
・正解を選択し、次の質問を入力、CLassify押下
・正解を選択し、画面右のAdd to training data押下
・しばらく右ペインが処理中になり
・完了すると、トレーニングデータに3件追加される
-----
と、Watson Toolkit を使えばこんなに簡単に一括学習、1件学習、学習済み分類器の保存が可能だ。
あとはこの学習済み分類器を、適当なWebアプリからREST APIで呼び出せばいい。
ここからあとはコーディングが必要だが、デモならここまでのレベルで十分だ。
IBMのWatson NLCは現時点で日本語も使える。
が、
Watson APIの日本語版はソフトバンクで一括利用させるため
ソフトバンクの営業曰く来年の何処かのタイミングでIBMには日本語機能は
止めてもらうことになるらしい。
いつになるかは言っていなかった。
このへんキチンとIBMと話ししてるのかよくわからないが..
まあ、なんにせよToolkitを使えば
コーパス作成に集中することになり
とっても機械学習の実装がつまらなく^H^H シンプルになっている。
..良いのか悪いのかわからないけど..
それと比較するものも必要かな..と思い
Watson の Natural Language Classifier を使ったデモを作った。
前提として
・有効なBluemixアカウントがあること
・Bluemixへアクセス可能なPC
・ブラウザ、Excel、ShiftJIS→UTF-8変換できるツール(以下では秀丸を使用)
があることとする。
ここでは、某DBスペシャリストテキストを参考に
イチから学習データを作り、
DBに関する質問を投げると、テキストの該当ページヘ
誘導できるように分類(XXXセクションのYYY章)を出す
という分類器をつくることとする。
学習対象は
それこそ、歴史の教科書だって、数学の教科書だってかまわないけど
対象の文章を読んで理解し、その文章が答えになるような質問文を作成できれば
なんだってかまわない。
これができるのなら、
コーディングを一切知らなくても、
デモレベルなら誰でも作れてしまう。
しかも、
BluemixではよくあるNode-REDすら使っていないゼロコーディング 。
以下、その手順。
----
・クライアントPC上でブラウザを起動、Bluemixコンソールへアクセス
・ユーザ名を入力し、Login押下
・パスワードを入力し、Login押下
・「サービス」を選択し、「ダッシュボード」を選択
・サービスの作成押下
・Watsonを選択
・「Natural Language Classifier」を選択
・作成押下
・Access the beta toolkit 押下
・Login with Bluemix を選択
・確認押下
・Add training data リンク選択
・以下の画面が出たら閉じずにこのままにする
・クライアントPC上でExcelを開く
・1列目に質問、2列目に分類名を記述する・分類の種類はMAX150くらいとする(それ以上だとサチる)
・分類名は以下のルールで作成
「<セクション番号をゼロ詰め3桁化><少番号をゼロ詰め2桁化><該当章を表す単語を適当につける>」
・1つの分類に最低10個の質問をつくること
・CSV形式でファイル保存する
ShiftJIS形式で保存される・秀丸エディタでCSVファイルを開く
・UTF-8形式で保存
・ブラウザのWatson Toolkit画面に戻り、アップロードアイコン(Create classifier右横)を押下
・UTF-8形式のCSVファイルを選択
・Create classification押下
・分類器に名前を適当につけてCreate押下
・しばらくたら、Traning dataリンクを選択し、Classifiersリンクを選択する
・CSVファイルデータが多いと以下の画面の状態になる
・以下の画面になったら「→」押下
・質問を記入し、Classify押下
・正解の分類を選択肢、次の質問を入力、Classify押下
・次の分類結果が表示される
・正解を選択し、次の質問を入力、CLassify押下
・正解を選択し、画面右のAdd to training data押下
・しばらく右ペインが処理中になり
・完了すると、トレーニングデータに3件追加される
-----
と、Watson Toolkit を使えばこんなに簡単に一括学習、1件学習、学習済み分類器の保存が可能だ。
あとはこの学習済み分類器を、適当なWebアプリからREST APIで呼び出せばいい。
ここからあとはコーディングが必要だが、デモならここまでのレベルで十分だ。
IBMのWatson NLCは現時点で日本語も使える。
が、
Watson APIの日本語版はソフトバンクで一括利用させるため
ソフトバンクの営業曰く来年の何処かのタイミングでIBMには日本語機能は
止めてもらうことになるらしい。
いつになるかは言っていなかった。
このへんキチンとIBMと話ししてるのかよくわからないが..
まあ、なんにせよToolkitを使えば
コーパス作成に集中することになり
とっても機械学習の実装がつまらなく^H^H シンプルになっている。
..良いのか悪いのかわからないけど..