UIでインテリジェントな検索アプリを作成する
IBM Watson Discovery は、データにコグニティブなエンリッチメントとインサイトを提供する強力なアナリティクス・エンジンを備えています。このチュートリアルでは、Discovery サービスの新機能である Watson Discovery UI コンポーネントを紹介します。これらのコンポーネントは Discovery プロジェクトに直接結びついており、検索アプリケーションに簡単にプラグインすることができます。コンポーネントは自己完結型であり、データを取得するために Discovery サービスへの追加の API 呼び出しは必要ありません。
学習目標¶
このチュートリアルでは、Watson Discovery サービスをナビゲートしてデータをロードし、管理する方法を学びます。これには、データに適用されるエンリッチメントの強化や、データを照会して視覚化するためのカスタムパネルの構築が含まれます。次に、React、Express、および Watson Discovery UI コンポーネントを使用して構築された独自のアプリケーションで検索パネルを複製する方法を学びます。
前提条件¶
このチュートリアルを進めるには、Watson Discovery のインスタンスをプロビジョニングできる IBM Cloud アカウントを持っている必要があります。
見積もり時間¶
このチュートリアルを完了するには、約 60 分かかります。
ステップ¶
- Watson Discoveryを起動する
- 新しいプロジェクトを作成する
- データファイルをコレクションにアップロードする
- データを充実させる
- 検索パネルにエンリッチメントを追加する
- UIアプリの作成
- キーファイルとコンセプト
Watson Discovery を起動する¶
IBM Cloud のアカウントをお持ちでない方は、無料トライアルアカウントにご登録ください。
-
IBM クラウドアカウントを使用して、リソースカタログから Watson Discovery インスタンスを作成し、Plusプランを選択します。
Note: IBM Watson Discovery の Plus プランの最初のインスタンスには、30 日間の無料トライアルが付いています。この演習を経て、Watson Discovery の Plus インスタンスが必要なくなった場合は、削除することができます。
-
Discovery インスタンスのページから、Launch Watson Discovery をクリックします。
Create a new project¶
-
Discovery サービスのランディングページに、現在のプロジェクトの一覧が表示されます。「新規プロジェクト」をクリックします。
-
このチュートリアルでは、Document Retrivalタイプのプロジェクトを作成します。プロジェクトの種類を選択し、プロジェクトに固有の名前を付けて、「次へ」をクリックしてください。
データファイルをコレクションにアップロードする¶
-
次のステップでは、データをどこから持ってくるかをDiscoveryに伝えます。この例では、JSON データファイルからデータをアップロードするので、データのアップロードをクリックして、次へをクリックします。
-
コレクション名を入力して、Nextをクリックします。
注意:プロジェクトには複数のコレクションを含めることができます。ディスカバリーでは、プロジェクトレベルで検索を行い、デフォルトではそのプロジェクト内のすべてのコレクションを含みます。
-
- アップロードパネルで、ファイルをここにドラッグ&ドロップするか、アップロードするというテキストをクリックします。これにより、ファイルウィンドウが開き、アップロードするファイルを選択できます。
このチュートリアルでは、テキサス州オースティンのAirBnBのお客様から投稿された999件のレビューを使用します。各レビューには、タイトル、AirBnBのロケーションとホスト名、レビュアーの名前、評価スコア、レビューのテキストがあります。
-
AirBnB reviews fileをお使いのシステムにダウンロードして解凍し、アップロードする999個のJSONファイルを選択します。
-
操作が完了したら、Finishをクリックします。
データのアップロードが開始されます。アップロードが完了すると、ディスカバリーではアラートが表示されます。
Enrich the data¶
-
左側の コレクションの管理 をクリックして、プロジェクトに関連するすべてのコレクションを表示します。
注:現在作業しているプロジェクトを変更するには、ページ上部の「マイプロジェクト」をクリックします。
先ほど作成したコレクションをクリックすると、999件のレビューがすべて読み込まれているのがわかります。
-
「Enrichments」をクリックします。ご覧のとおり、デフォルトのエンリッチメントは、Part of speechとEntities v2です。このレビューデータでは、KeywordsとSentiment of Documentも含めることにします。
-
これらの新しいエンリッチメントのそれぞれについて、「Fields to enrich」をクリックし、「text」フィールドを選択します。
検索パネルへのエンリッチメントの追加¶
新しいエンリッチメントができたので、デフォルトの検索パネルに追加します。
-
左側のImprove and customizeをクリックして、コレクションに関連した検索パネルを表示します。
-
ディスプレイをカスタマイズするには、すべてのファセットを追加します。まず、パネルの右側にあるCustomize displayのドロップダウンメニューをクリックします。
-
- Facets, New facet, From existing fields in collectionの順にクリックします。
-
Keywordファセットでは、enriched_text.keywords.mentions.textというフィールドを選択します。これは、データに含まれる最も一般的なキーワードを提供します。
-
UIコンポーネントに意味のあるラベルを入力して、Applyをクリックします。
-
Sentimentファセットのプロセスを繰り返しますが、フィールドenriched_text.sentiment.scoreを使用します。
-
完成すると、ファセットが検索パネルの一部になったことがわかります。
検索文字列を入力すると、検索結果が表示されるとともに、検索にマッチしたレビューのサブセットを反映した新しいファセット値が表示されます。
いずれかのレビューでView passage in documentをクリックすると、レビューデータにドリルダウンします。JSONタブをクリックすると、Discoveryから返された実際の結果を見ることができます。
このケースでは、検索がレビューの title
にマッチするものを見つけたことに注目してください。実際のレビューは text
フィールドに表示されています。
UIアプリの作成¶
検索パネルがデータの興味深い側面をすべて表示するように強化されたので、同じパネルを表示するアプリケーションを作成します。この作業には、Watson Discovery が提供する スターターキット を使用します。
スターターキットには、アプリを開発するための複数の方法が用意されていますが、このチュートリアルでは、手動の方法を選択して、Discovery コレクションを同社のサンプルアプリに統合します。
Clone the repo¶
- まず最初に、GitHub のリポジトリをローカルシステムにクローンします。