1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Discovery Premiumやってみた 〜Classifier編〜

Last updated at Posted at 2021-06-18

Watson DiscoveryのPremiumプランで提供されている機能を使ってみました。
今回はClassifierという機能です。

Classifierって何?

分類器です。
ある文章に対して、その文章がどのカテゴリーに該当するかを分類するものです。
サンプル文とそのカテゴリーを紐づけた教師データを準備し、教師データを元に学習させたモデルを使って、新しい文がどのカテゴリーに該当するかを分類するものです。

Discoveryには2種類のClassifierがある

マニュアルによるとWatson Discoveryには2種類のClassifierがあるようです。
image.png

  • text classifer 
  • Discoveryの画面から作った分類器で、品詞のみを使って分類するもの。
  • document classifier
  • Content Miningの画面から作った分類器で、品詞情報に加えて他のメタ情報も使って分類するもの。

この記事では、主にText Classifierについて紹介します。
ところで、Discoveryの画面とContent Miningの画面って何?と思われていると思いますので、軽く紹介します。

Discoveryの画面はこれです。
主に検索を目的としたDocument Retrievalプロジェクトで使用する画面です。
image.png

Content Miningの画面はこれです。
主にテキストマイニング (データ分析)を目的としたContent Miningプロジェクトで使用する画面です。
image.png

それぞれの画面からClassifierを作ることができ、

  • Discoveryの画面から作るものを text classifier
  • Content Miningの画面から作るものを document classifier
    というみたいです。それぞれ準備する教師データも違いそうですね。

Text Classifier やってみた

マニュアルの手順はこちら
今回は英語のサンプルを使いましたが日本語にも対応しています。

教師データのサンプル

サンプル文と正解ラベルの教師データを準備します。
ここではお客様からのクレームの声に対して、クレームの種類の正解ラベルを作成し、分類を行います。
下はサンプルなので件数少なめですが実施はもっとあります。
1つの正解ラベルに対して少なくとも10個のサンプル文は準備した方が良いとマニュアルに記載がありました。
1つサンプル文に対して複数の正解ラベルをつけることもできるようですが、今回は1つのみです。

サンプル文 正解ラベル
The straw was peeled off from the juice pack. package_container
I got some ice cream for my children, but there was something like a piece of thread inside the cup. contamination_tampering
I could only find 11 cups in the 12-pack. amount.shortage
There was a stain on the package that seemed to be caused by a leak. Is it safe to drink? package_container.leak
I love the ads for the new milk chocolate. Could you tell me the name of the actor in the commercial? ads

注意

  • 教師データはUTF-8のCSV形式
  • ヘッダー行は無し
  • 1つのラベルに対して少なくとも3つのサンプル文が必要

Text Classiferの作成

未分類のデータはDiscoveryに投入済みです。
Discoveryの画面から作ります。
「Improvement tools」の「Teach domain concepts」を開き「Classifiers」をクリック。
image.png
右上のUploadをクリックします。
image.png
適当な名前をつけて、言語を選択して、教師データのcsvをアップロードして、Createをクリック。
image.png
どのコレクションのどのフィールドに対して分類したいかを選びApplyをクリック。
image.png
裏で索引付が行われるのでしばらく待ちます。

Text Classifierの結果確認

準備が整ったらDiscoveryの画面から適当な文書の詳細をみてみましょう。
View passage in documentをクリック。
image.png
結果の詳細を確認すると、、、
"I like to buy pastry made by ABCDE confectionery company. Sometimes there is almost no jam at all."というテキストに対してamount.shortageが確信度0.9187で分類されました!
うん、うん、ジャムがないと言っているので分類結果としてamount.shortageはあってそう。
image.png

簡単でしたね。

Document Classifier の紹介

次は、Document Classifierです。
マニュアルの手順はこちら
今回は英語のサンプルを使いましたが日本語にも対応しています。

教師データ

Document Classifierはメタデータも学習に使ってくれるということなのでこんなサンプルを準備しました。

このようなデータを使ってlabelを予測する分類器を作るわけですが、iddateなどは学習データに使ってもあまり意味なさそうですねぇ。
でも大丈夫です!Document Classifierを作るときにどの項目を学習に使うか使わないなの取捨選択ができます!
重要なことは、Discoveryに投入する項目と教師データで投入する項目が同じである必要があります。
https://cloud.ibm.com/docs/discovery-data?topic=discovery-data-contentminerapp&locale=ja#create-doc-classifier

id date productLine product membership location gender age text label
0 2016/1/1 Tea lemon tea Not Member Manhattan Male 20 The straw was peeled off from the juice pack. package_container
1 2016/1/2 Ice cream vanilla ice cream Silver Card Member Queens Female 40 The cup looked like it was already opened. Is it safe? prank
2 2016/1/3 Jelly apple jelly Gold Card Member Brooklyn Male 50 I could only find 11 cups in the 12-pack. amount.shortage

Document Classifierの作成

Document Classifierの作成手順についてはちょっと長くなりそうなので別の記事で改めて書きたいと思っています。
参考資料として、別製品で実施した手順が既にQiitaで公開されており、大体手順は同じですので今はそちらをご参照ください :bow_tone1:

oneWEXの操作メモ_分類器⑴
https://qiita.com/sawa7/items/2ee71d3ac34231daf2ac

Document Classifierの結果確認

結果についてもこちらをご参照ください :bow_tone1:

oneWEXの操作メモ_分類器⑴
https://qiita.com/sawa7/items/2ee71d3ac34231daf2ac

まとめ

  • Discovery Premiumには、2つの分類器がある。
  • それぞれ準備する教師データや作成画面が違う。
  • 自然文のみから分類をしたい場合は、text classifier。
  • メタデータも含めて分類をしたい場合は、document classifier。
  • 教師データの正解ラベルには複数の分類を指定することができる。
  • ちなみに、Document Retrievalプロジェクトで作った text classifier をContent Miningプロジェクトに適用したり、その逆、Content Miningプロジェクトで作ったdocument classifierをDocument Retrievalプロジェクトに適用することができるそうです。

お断り

このサイトの掲載内容は私自身の見解であり、必ずしも所属会社の立場、戦略、意見を代表するものではありません。 記事は執筆時点の情報を元に書いているため、必ずしも最新情報であるとはかぎりません。 記事の内容の正確性には責任を負いません。自己責任で実行してください。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?