第5回 IBM Watsonとオントロジの関係

5[:contents]

 
人工知能で有名なIBM Watsonですが、オントロジとの関係を調べていて以下の事が分かりました。本稿はオントロジがどうやってWatsonに利用されているかを知るために調べた結果です。人工知能とオントロジの関連を理解したいというのが趣旨です。
結論として:
I. Watson Knowledge Studio(WKS)ではセマンティックを利用しているのですが残念ながらオントロジを利用していません。そもそもアノテーターは機械学習と手登録でしかできません。セマンティックを利用しているなら本来はオントロジを利用する方が精度向上が期待できると思います。また、手登録の手間が省けます。
WKSではアノテーターの精度を上げるために機械学習と人による登録を繰り返す必要があります。今後は他のアノテーター製品Gate等と機能や精度を比較してみたいと考えています。

II. Watson DiscoveryのNLUにSemantic Extraction機能がある

NLUとは Nattural Language Understanding でSemantic Extractionによって入力コンテンツの文内の主語、動作、目的語の関係を識別します。

 Semantic ExtractionもオントロジがあればWatsonが自分でExtractする必要はいらないはずです。

III. Watson ExploreにRDFのImport機能があります。

Watson Explorer Content Analytics のために、データをトリプルとして Resource Description Framework (RDF) ストアに格納することができます。結果的にはRDF形式のオントロジをImport可能であることがわかります。

  

以下その詳細を説明します。
 
IBM Watson全体像

f:id:William0105:20190304093254p:plain

 

I-1.Watson Knowledge Stuido概観

まずWatsonのメイン機能であるKnowledge StudioとDiscovery等の他部品との概観を以下資料で示します。

<以下IBM公開資料から抜粋>

https://www.slideshare.net/komine/watson-knowledge-studio-20170720-78825281

f:id:William0105:20190225144112p:plain

IBM Watsonはセマンティック技術を利用しています。Annotation(情報抽出作業)としてRelationTypeを登録する画面があることからもそのことが分かります。RelationTypeを登録することで複数の名詞やイベントの間に関連を結びつけることができます。詳細は後述します。

 Watson Knowledge Studioでは残念ながらオントロジを利用していません。そもそもアノテーターは機械学習と手登録でしかできません。

I-2.Watson Knowledge Studio での情報抽出器(Annotator)作成手順

<以下IBM公開資料から抜粋>

https://www.slideshare.net/komine/watson-knowledge-studio-20170720-78825281

f:id:William0105:20180805023653p:plain

 

f:id:William0105:20190225101244p:plain


IBM Watson Knowledge Studio Deep Dive - YouTube

f:id:William0105:20190228125830p:plain

f:id:William0105:20190228130355p:plain

 

f:id:William0105:20190228130550p:plain

https://www.ibm.com/watson/jp-ja/developercloud/knowledge-studio.html

上の図にあるようにWatsonでは結局人手でルールを作成する必要があります。

 

I-3.Watson Knowledge Studioの Semantic technologies

 セマンティックで定義が必要なTripleは例えばですが以下の内容です。

例: Alice isMotherOf Bob

f:id:William0105:20180729125540p:plain

Watson Knowledge StudioでRelation から生成されるチャート(以下の例)がRDFそのものです。

Relation自体がSemanticの原則に倣ったものです。

以下 Relation Typeを登録する方法についての画面です。

<以下IBM公開資料から抜粋>

https://console.bluemix.net/docs/services/knowledge-studio/relation-gif.html#relation-gif

f:id:William0105:20190225110216p:plain

I-4.Watson Knowledge StudioでAnnotationとしてRelationTypeを登録する画面。

 人(PERSON)が組織(ORGANIZATION)に所属する(BELONGTO)ことを定義するための画面。

<以下IBM公開資料から抜粋>

https://www.youtube.com/watch?v=p_xF_-VgO5s

f:id:William0105:20190225102850p:plain

 

 <参考>

Watson Knowledge Studio ~機械学習とルールベースで業界固有の用語や表現をWatsonに教える | アイマガジン|i Magazine|IS magazine

f:id:William0105:20190225105233p:plain

<抜粋>

①エンジニアと業務担当者が協業しEntityやRelationの設計、辞書・ルールの作成、文書群のインポートを実施する。

②エンジニアにより、①でインポートした文書群に対して、①で作成した辞書・ルールに基づき、辞書およびルールベースの各アノテーションを実施する。

③業務担当者により、②で辞書およびルールベースの各アノテーションを実施した文書群に対して、さらにヒューマンアノテーションを実施する。これにより、辞書およびルールベースの各アノテーション結果を確認し、必要であれば修正する。

④エンジニアにより、③でヒューマンアノテーションを実施した文章群をトレーニングデータとして、機械学習アノテーションを実施。機械学習アノテーターを作成し、アノテーターの性能を評価する。

⑤④で作成した機械学習アノテーターの性能が十分であれば、アノテーターをエクスポートして運用する。不十分であれば、①に戻って手順を繰り返し、アノテーターの性能を改善する。

 

I-5.セマンティックを利用しているなら本来はオントロジを利用する方が精度向上が期待できる

IBM Watson Knowledge Studioではオントロジを利用していません。

精度が上がる理由:

アノテーションが手作業でなく、既存のオントロジの一部再利用が可能

オントロジを利用することでEntitiy, Relationの登録作業の手間をかなり省くことができます。Annotation作業の一部が省力化可能となります。

(上記図のRelationTypeを登録する作業)

 

②GateなどのAnnotationツールではOntologyを登録する機能があり、Ontologyと読み込んだ文書等を自動マッピングするOntology Populationと呼ぶ機能が搭載されています。

(GateのPopulationについては以下参照)詳細は別の回で解説予定です。

https://gate.ac.uk/sale/talks/gate-course-july09/slides-pdf/ontologies.pdf

 

I-6.WKS(Watoson Knowledge Studio)はontologyをuploadする機能を持たない

問題はWKS(Watoson Knowledge Studio)はontologyをuploadする機能を持たないことです。以下開発者のクラウドから抜粋です。

ルールベースのアノテータと手動ベースのアノテータしか持っていないと記述があります。

<以下IBM公開資料から抜粋>

How do you upload an ontology in WKS ? - IBM Developer Answers

WKS does not have ontology, and I think you talk about type system. Please refer to this page: https://www.ibm.com/watson/developercloud/doc/wks/wks_artifacts.shtml

A type system is not an ontology for a domain.

About Discovery Serivce, WKS supports deploying of only two artifacts, rule based annotator and machine learning annotator to Discovery Service. Please refer to these pages:

 II-1 Watson Discoveryの概要

Discovery サービス概要

<以下IBM公開資料から抜粋>

www.slideshare.net

f:id:William0105:20190225152313p:plain

IBM Watson Discovery - Japan

f:id:William0105:20190227130618p:plain

Watson DiscoveryでのWKS情報抽出器の利⽤ 

Watson knowledge studio 紹介 - あなたの知識をWatson に教え込む!

f:id:William0105:20190304091554p:plain

II-2 Watson Discovery のNLU(Natural Language Understanding )エンリッチメント

Watson Discovery の機能の一部にNLUがあります

NLUとはWatson Natural Language Understandingです。

ドキュメントには

自然言語理解を使用して、テキストを分析し、コンテンツから概念、エンティティー、キーワード、カテゴリー、感情、関係、意味役割などのメタデータを抽出します。 Watson Knowledge Studio を使用して開発されたカスタム・アノテーション・モデルにより、非構造化テキスト内の業界固有/特定分野のエンティティーおよび関係を識別します。

とあります。要はアノテーション=メタデータの抽出です。

今までWatson Discoveryの日本語環境ではNLU自体が日本語に未対応だったためにメタデータによるエンリッチメント機能を享受できていませんでした。日本語対応したようです。

NLUの機能概要

<以下IBM公開資料から抜粋>

f:id:William0105:20180805114253p:plain

上記#7がSemanticの抽出となります。

II-3 Watson Discovery のSemantic Role Extractionについて

https://console.bluemix.net/docs/services/discovery/building.html#adding-enrichments

 

Semantic Role ”Extraction”は”Labeling”と言い換えることもできる

f:id:William0105:20190225155138p:plain

<注意点>

Natural Language Understanding は、分析するフィーチャーに応じてさまざまな言語をサポートします。

f:id:William0105:20180812071627p:plain

II-4 Watson Discovery Knowledge Graph

<以下IBM公開資料から抜粋>

英語のみのベータ、かつAdvanced(拡張)プランのお客様限定です。

f:id:William0105:20180805041558p:plain

  • NLUエンリッチメントの結果を使ってエンティティ間の関連を機械学習で整理・拡張してカスタム知識グラフを構築します
  • IBM Cloud Docs

https://console.bluemix.net/docs/services/discovery/building-kg.html#watson-discovery-knowledge-graph

 

 <以下IBM公開資料から抜粋>

www.youtube.com

 

上記YoutubeのGraphf:id:William0105:20180805115858p:plain

上記YoutubeのGraph分部を表示

f:id:William0105:20180805120024p:plain

III-1 Watson Explorer 製品概要

DiscoveryとExplorerの違いが分かりにくいのですが、以下の資料がありました。

Watson Explorer(App Builder) とWatson Discoveryの統合をやってみた - Qiita より抜粋。

f:id:William0105:20190304151935p:plain

さて、

Explorerの機能の一部にRDF Triplestoreの機能があります。Explorerの機能概要は以下の通りです。

<以下IBM公開資料から抜粋>

f:id:William0105:20190227140949p:plain

 

f:id:William0105:20190227142259p:plain

https://www.youtube.com/watch?v=dKKbYzDLXHo

f:id:William0105:20190228103116p:plain

f:id:William0105:20190228104304p:plain

Wastson Text Mining

f:id:William0105:20190228104508p:plain

f:id:William0105:20190228104840p:plain

 

f:id:William0105:20190227142039p:plain

IBM Watson ExplorerではRDFのImport機能が実装されています。

Watson Explorer Content Analytics を構成して、データをトリプルとして Resource Description Framework (RDF) ストアに格納することができます。

https://www.ibm.com/support/knowledgecenter/ja/SS8NLW_11.0.1/com.ibm.discovery.es.ad.doc/iiysardf.htm

 WatsonのRDF Triplestoreの機能は以下です。

<以下IBM公開資料から抜粋>

f:id:William0105:20190227143718p:plain

III-2 Watson Explorer 用語辞書を作成

○Resource Description Framework (RDF) ファイルから取り出された用語の辞書を作成できます。

 例えば、DBPedia の RDF ファイルにある用語を取り出して、化学物質に関する辞書を作成できます。

III-3 Watson Explorer 辞書のImport

Watson Explorer Content Analytics 

https://www.ibm.com/support/knowledgecenter/ja/SS8NLW_11.0.0/com.ibm.discovery.es.ta.doc/iiyssrdfdict.htm

 3rd パーティの製品ですが、taxonomyをインポートする機能を提供しています。

https://www.ibm.com/support/knowledgecenter/SS8NLW_12.0.0/com.ibm.swg.im.infosphere.dataexpl.engine.tut.cs.doc/c_csearch-ontolection-create-wand-converter.html

 

III-3 Watson Explorer Ontolectionとは(IBMWatsonTutorialから抜粋)

チュートリアル: 概念的な検索の紹介および使用 概説>

 https://www.ibm.com/support/knowledgecenter/ja/SS8NLW_11.0.2/com.ibm.swg.im.infosphere.dataexpl.engine.tut.cs.doc/c_csearch-oview.html

<以下IBM公開資料から抜粋>

 

シソーラスなどの企業データを Watson Explorer Engine アプリケーションに追加するには、そのデータをクロールして特別なタイプの検索コレクションを生成します。この検索コレクションは、Watson Explorer Engine の内部で関連用語や代替用語を特定して提示するために使用されます情報科学では、一連の基本用語を特定し、その用語間の関係を定義して知識ドメインをモデル化することを、一般にオントロジー と呼びます。Watson Explorer Engine の概念検索サポートで使用される特別なタイプの検索コレクションは、アプリケーションまたは企業のドメインに固有の関連用語セットに基づいているため、オントレクションと呼ばれます。

 

ドメイン・コレクションからの概念検索のオントレクションの生成->以下参照

https://www.ibm.com/support/knowledgecenter/ja/SS8NLW_11.0.1/com.ibm.swg.im.infosphere.dataexpl.engine.tut.cs.doc/c_csearch-csearch-activate.html

既存のプロジェクトに概念検索を追加する

https://www.ibm.com/support/knowledgecenter/ja/SS8NLW_11.0.1/com.ibm.swg.im.infosphere.dataexpl.engine.tut.cs.doc/t_csearch-add-to-project.html#csearch-add-to-project__csearch-basic-project-fig

Watson™Explorer Engineアプリケーションにシソーラスなどのエンタープライズデータを追加するには、そのデータをクロールしてWatson Explorer Engineで内部的に使用して関連する用語や代替用語を識別し提案する必要があります。オントレクションは、アプリケーションまたはエンタープライズドメインに固有の一連の関連用語を提供し、それらの間の関係を識別します。

 

 <以下IBM公開資料から抜粋>

f:id:William0105:20180812072430p:plain

 

f:id:William0105:20180812072408p:plain

 

f:id:William0105:20180812072707p:plain

https://www.ibm.com/support/knowledgecenter/SS8NLW_12.0.0/com.ibm.swg.im.infosphere.dataexpl.engine.tut.cs.doc/c_csearch-ontolection-tut.html

 

<その他参考資料>

www.slideshare.net

以上