Natural Language Classifierを利用
Natural Language Classifier(NLC)を利用する。
NLCはWatsonの自然言語処理の中心を担うサービスであり、あらかじめ機械学習によって作成した分類器によって入力した文章がどのような意味を示しているのかを分類することができる。
NLCによる分類は常に100パーセントの自身がある回答とはならず、学習させた分類の種類すべてにおける信頼度が0から1までの数値で分類結果とともに示される。
NLCの回答に基づいて後続処理を振り分けるようなシステムを作成するには、例えば0.8や0.9以上の信頼度があるクラスが存在する場合のみ、そのクラスを用いて後続処理に進む、といったように閾値の設定が必要になる。
訓練データはCSVファイルを用いる。
文字コードはUTF-8 ← Shift-JISだと文字化けする。
1つのクラスにだいたい10から20の文章を用意する必要がある。
Bluemixが提供する画面を用いて分類器を作成することができる。
APIに直接アクセスして分類器を作成することも可能。
APIの使い方は IBM Watson Developer Cloud で説明されている。
私は英語ができないので 英語での説明がつらい。日本語でおk。
NLCのAPIリファレンスは
nl-classifier - API Reference | IBM Watson Developer Cloud
Google翻訳先生のお力をお借りして読み進めていきたい。
Method欄に5つのメソッドがあげられていることからNLCには5つのAPIがあることが確認できる。
Create classifier (分類器の作成)
List classifiers (分類器のリスト)
Get information about a classifier (分類器の情報取得)
Delete classifier (分類器の削除)
Classify (分類)
リファレンスにAPIのリクエストパラメーター、レスポンスの内容、Curl、Node.js、Java、Pythonでの呼び出し例が記載されている。
次はcurlを用いて分類器を作成していきたい。