記事の目的
著者はWatson Knowledge Studio(以降、WKSと記載)を使用した検証を行う機会がよくありますが、検証の際、よく使用する機能(または操作手順)であるけれど、日本語でわかりやすく解説された情報がないものについて幾つかQiitaに投稿していこうと思います。この記事は「Watson Knowledge Studio 〜ワークスペースの環境移行手順〜」に続く第二弾となります。かなり間があいてしまいました...;
プレアノテーションには、予め登録された辞書をもとに新規文書へアノテーションを行う辞書によるプレアノテーションと、作成済みの学習モデルによりアノテーションを行う学習モデルによるプレアノテーションがあります。プレアノテーションを実施する動機としては下記が考えられます。
- 学習文書に一からアノテーションするのがめんど臭い
- アノテーションを一貫性を持って実施したい
以降において、①辞書によるプレアノテーションと②学習モデルによるアノテーションの手順を記載し、最後にそれぞれの使い分けについて言及します。
前提知識
本記事では、WKSの概要や基本的な操作についついては記載しておりません。 必要に応じて、参考リンクに記載の情報をお読みください。
参考リンク
- 最新版IBM Cloud ライトアカウント登録手順(2018-05-06時点) -Qiita
- Watson Knowledge Studio - IBM
- Watson Knowledge Studio ドキュメンテーション
- Watson Knowledge StudioのTutorialをやってみた (前編) -Qiita
- Watson Knowledge StudioのTutorialをやってみた (後編) -Qiita
- Watson Knowledge Studioの機械学習アノテーションをWatson Explorer にデプロイする -Qiita
- Watson Knowledge Studio(WKS)のアノテーション作業手順 その1 -Qiita
- Watson Knowledge Studio(WKS)のアノテーション作業手順 その2 -Qiita
- Watson Knowledge Studio(WKS)のアノテーション作業手順 その3 -Qiita
①辞書によるプレアノテーション
辞書によるプレアノテーションは、辞書が登録されていることが前提となります。ここでは、サッカーのポジション名やチーム名といった各Entityに対応する辞書情報が既に登録されているとします。 ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/299863/0e8b6172-633d-4ea4-e29c-2272966803d3.png)まずは、新規の学習文書を追加してみましょう。学習文書は2列のcsvファイルで、1列目に選手名を2列目にWikipediaのテキスト情報の抜粋を記載しています。
上記のcsvファイルを下記の手順でWKSにアップロードします。
正常にアップロードされました。WKSに読み込まれた段階では、当然アノテーションされていません。
それでは、下記の手順でプレアノテーションを実行してみましょう。
「Run」の実行後、辞書によるプレアノテーションが対象文書に対して行われ、下記のようにSuccessのメッセージにより完了を確認します。
辞書情報にもとづいて、アノテーションされているかどうかみてみましょう。対象のドキュメントセットからアノテーションセットを作成し、Taskにて確認します。手順は、「Watson Knowledge Studio 〜ワークスペースの環境移行手順〜」を参照ください。
上記の手順実行後、文書を確認すると下記のように辞書情報をもとにアノテーションされていることを確認できます。
②学習モデルによるプレアノテーション
学習モデルによるプレアノテーションは、作成済みの学習モデルがあることが前提となります。ここでは、下記の学習モデルが既に作成されているとします。 ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/299863/c7807af4-5dca-5e15-fa47-4f46fc41fc64.png)辞書によるプレアノテーションと同様に、新規の学習文書を追加してみましょう。
上記のcsvファイルを下記の手順でWKSにアップロードします。
正常にアップロードされました。WKSに読み込まれた段階では、当然アノテーションされていません。
それでは、下記の手順でプレアノテーションを実行してみましょう。
「Run」の実行後、学習モデルによるプレアノテーションが対象文書に対して行われます。下記のようにSuccessのメッセージにより完了を確認します。
学習モデルの内容にもとづいて、アノテーションされているかどうかみてみましょう。対象のドキュメントセットからアノテーションセットを作成し、Taskにて確認します。手順は、「Watson Knowledge Studio 〜ワークスペースの環境移行手順〜」を参照ください。
上記の手順実行後、文書を確認すると下記のようにアノテーションされていることを確認できます。
また学習モデルによるプレアノテーションは、辞書によるプレアノテーションとは異なり、辞書に登録されているかどうかに関わらず、学習した内容にもとづきアノテーションを行うため、Relationもアノテーションされています。
まとめ
新規の文書に効率的にアノテーションを行う手段として2つの機能を紹介しましたが、どちらのプレアノテーションを利用すれば良いのでしょうか。どちらを利用するかは、それぞれのメリデメを把握しておく必要があります。著者の経験上、下記のメリデメがあると思います。状況に応じて使い分けることが大切です。
- 辞書によるプレアノテーション
- メリット 辞書に登録した内容に基づき一貫性を持ってアノテーションできる(アノテーションし忘れを防げる)
- デメリット ・辞書があることが前提となる
- 学習モデルによるプレアノテーション
- メリット 学習内容にもとづき、辞書に登録していないEntityやRelationについてもアノテーションしてくれる
- デメリット ・作成済みの学習モデルがあることが前提となる
・プレアノテーションの範囲が、登録されている辞書の範囲にとどまる
・精度が低い学習モデルで実施すると修正作業が発生するため、かえって手間が増える
本記事が、アノテーションの煩わしさを解消するHints&Tipsとなれば幸いです。