Translate

2016年12月27日火曜日

一切コーディングしないでWatson NLCを使った質疑応答デモを作る

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」を選択



・作成押下


・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 シンプルになっている。

..良いのか悪いのかわからないけど..










0 件のコメント:

ClaudeをOpenAI O1のように思考させるDifyサンプルを試す

 Difyの「探索」タブにはさまざまなサンプルが載っており、その1つに「Thinking Claude (OpenAI O1 Alternative)」というものがある。   このサンプルがどういうものか、未だに自分でも解けない以下の問題をためしに聞いてみることにした。 『人類の...