1
0

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 1 year has passed since last update.

Watson Discovery:Analyze APIを試してみた

Posted at

はじめに

Watson DiscoveryのAnalyze APIを実行すると、入力された自然文に対してアノテーションした結果を返してくれます。

もう少し詳細に説明すると、コレクションに対して、ファセット辞書や、正規表現、文書分類器、などなどを適用していた場合、コレクションに分析対象の文書を投入しなくとも、APIで指定した自然文に対して分析した結果を返してくれます。

百聞は一見にしかずということで実際にやってみました。

前提

予めコレクションに以下を作成して適用しています。作成手順はここでは割愛します。

Analyze API

Analyze API
input_text = '{"text" : "Googleで検索したところ、「リアル・スチール」はスティーブン・スピルバーグ監督の映画だったことがわかりました。"}'
textname = 'テスト'

response = discovery.analyze_document(
  project_id = project_id,
  collection_id = collection_id,
  file = input_text,
  filename = textname,
  file_content_type = 'application/json'
  ).get_result()
  • input_text : ここに入力された文が分析対象となります。
  • textname : これが何のために使われているかはよく分かりません。。。が、必須のようです。
  • analyze_document : Analyze API

結果

期待する結果

入力テキスト Googleで検索したところ、「リアル・スチール」はスティーブン・スピルバーグ監督の映画だったことがわかりました。 に対して期待する結果は以下です。

  1. Google : 企業名を抽出するファセット辞書にヒットする
  2. 「リアル・スチール」 : かぎ括弧で囲まれた文字列を抽出する正規表現にヒットする
  3. 文書分類 : 映画エンターテイメント として分類される

結果

1. 企業名を抽出するファセット辞書にヒットする単語

entities
  {
    "text": "Google",
    "type": "company_dic",
    "mentions": [
      {
        "text": "Google",
        "confidence": 1.0,
        "location": {
          "begin": 0,
          "end": 6
        }
      }
    ],
    "model_name": "Dictionary:.company_dic"
  },

Googlecompany_dic という Dictionary で抽出されていることがわかります。
ちなみに、 company_dic は自分で作ったファセット辞書の名前です。


2. かぎ括弧で囲まれた文字列を抽出する正規表現にヒットする単語

entities
  {
    "text": "「リアル・スチール」",
    "type": "brackets_regex",
    "mentions": [
      {
        "text": "「リアル・スチール」",
        "confidence": 1.0,
        "location": {
          "begin": 15,
          "end": 25
        }
      }
    ],
    "model_name": "brackets_regex"
  }

「リアル・スチール」brackets_regex という正規表現で抽出されていることがわかります。
ちなみに、 brackets_regex は自分で作った正規表現の定義の名前です。


3. 文書分類

"document_level_enrichment": {
  "classes": [
    {
      "class_name": "movie-enter",
      "confidence": 0.5397826433181763,
      "classifier_name": "livedoor classifier_v0.1"
    }
  ]
}

文書分類器 livedoor classifier_v0.1 の結果として movie-enter(映画エンターティメント)と分類されたことがわかります。
ちなみに、 livedoor classifier は自分で作った文書分類器の名前です。

参考

お断り

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

1
0
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
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?