IBM Watson の NLC は
1000文字までの文章と分類名のペア
を学習データとして投入した分類器を作成できる
サービスだ。
最近は日本語書籍も出ており、
Watson Toolkitという
curlを打てなくても使えるお手軽さ
はよくできているとおもう。
NLCの裏側はオープンになっていないので
どんなアルゴリズムでどんな事前学習が行われているかは
APIを活用するユーザ側にはさっぱりわからない。
巷の評価は、いわゆるオープンなデータセットをつかっていて
それを元に比較しているので、
どうも
「催眠術師の仲間から選んだ人に催眠術を書ける術士」
みたいで眉唾だ..
ということで、
データセットをコッチで用意した。
某テキストの文章を1文づつ切り出し、
その文章の分類名を、全セクション134で切り分けてみた。
学習データ(X_train, y_train):2000件
バッチ用テストデータ(X_test, y_test):140件
評価用データ(X_eval, y_eval):55件
とかなり少ないが、
実際にNLCと
データ編集が比較的近くてやりやすい
https://github.com/tkengo/tf/tree/master/cnn_text_classification
のサンプルコードを使って
評価用データの
・正解率
最も頻度が高い分類が合致した件数を、全質問数う(55)で割ったもの
・正解選択ヒット率
トップ10までにある場合は、荷重づけした特点を
F1の1位から10位までのポイント制で1を按分した数加えたスコアを、
全質問数(55)でわったもの。
の二つを出してみた。
..正直、おはなしにならんくらい独自実装のほうが使い物にならん。
どうもこのデータセットだと
分類種類の多さにくらべデータ件数が少なすぎるようで
ちっとも学習できていない..
これじゃIBM社員を、ますまずその気にさせてしまう..
でも..
箸にも某にもつかないダメデータセットでも
それなりの成績を出すNLCの事前学習度合いが
箱入り娘級の調教具合..
有償サービスにするにはこれより良い成績ださないと
話にならないか...
0 件のコメント:
コメントを投稿