IBM Developer Japan Webサイトは2021年3月15日をもって終了となり、日本語コンテンツの一部は、オープンソースとして、提供予定です。 URLはこちら

製品のレビューから顧客についての洞察を得る

概要

あなたが提供する製品やサービスについて、顧客が実際にどう思っているのか把握していますか?顧客の本心を知ることは、あなたのビジネスと生計に極めて重要な意味を持ちます。顧客の本心がわかれば、必要に応じてビジネスを適応させられるからです。このコード・パターンでは、食品に関するレビューを例に、未加工のレビュー・データから簡単に洞察を引き出す方法を説明します。ここで紹介する実用的なサンプル Web アプリケーションは、Watson Discovery を利用してエンリッチされたデータのクエリーと処理を行います。さらに、ユーザー分析には Watson Knowledge Studio (WKS) を使用して作成したカスタム・モデルを活用して、さらにエンリッチされたデータから、より的確な洞察を引き出します。

説明

自分の思い込みに頼ることなく、あなたのビジネスに対する顧客の意見について確実に知るには、どうすればよいでしょうか?その答えは、レビューやフォーラムなどで顧客から寄せられた未加工のフィードバックを分析できるようにすることにあります。このコード・パターンで取り上げる Node.js アプリは、Watson Discovery エンジンによってエンリッチされたデータを抽出し、視覚化する方法を、さまざまな UI コンポーネントを使用してデモンストレーションします。データをさらにエンリッチするために、このアプリでは、食品に関するレビューといったタイプのデータを処理するようにカスタマイズされた Watson Knowledge Studio モデルを使用します。このアプリで使用する複数の UI コンポーネントは、独自の Watson Discovery アプリケーションを開発する際の出発点として使用できます。

Watson Discovery Service を利用する主な利点は、データにコグニティブ・エンリッチを適用して洞察をもたらす、その強力なエンジンにあります。このコード・パターンのアプリでは、Watson Discovery Service アナリティクス・エンジンのエンリッチ機能をフィルター、リスト、グラフによって提示する例を説明します。データには主に以下のエンリッチが適用されます。

  • エンティティー : 人、企業、組織、都市など
  • カテゴリー : 最大 5 レベルのカテゴリー階層にデータを分類
  • 概念 : 必ずしもデータ内で参照されていない一般概念を識別
  • キーワード : データの索引作成や検索で一般的に使用される重要なトピック
  • エンティティーのタイプ : 個人、場所、役職など、検出したエンティティーの分類
  • センチメント : 各ドキュメントの全体的なセンチメント (肯定的または否定的な感情)

Watson に上記以外のエンティティーや関係性を学習させて、Watson のデフォルトのエンティティー抽出およびエンリッチ・プロセスを拡張するには、Watson Knowledge Studio のカスタム・アノテーション・モデルを使用できます。Watson Knowledge Studio では、アノテーションを使ってエンティティーやエンティティー間の関係性を示すことができます。このようなアノテーションをドキュメント・セットのうちのほんの一部に対して設定して、同様の多数のドキュメントにそれらのアノテーションを適用できます。このアノテーション・モデルを Watson Discovery サービス・インスタンスに適用すれば、サービスにアップロードされてくるドキュメントの Discovery エンリッチ・プロセスにアノテーション・モデルを統合できるというわけです。

このコード・パターンをひと通り完了すると、以下の方法がわかるようになります。

  • Watson Discovery にデータをロードしてエンリッチする
  • Watson Knowledge Studio を使用してカスタム・アノテーション・モデルを作成する
  • Watson Knowledge Studio で作成したモデルを Watson Discovery にデプロイする
  • Watson Discovery 内でデータのクエリーを実行し、データを処理する
  • Watson Discovery によってエンリッチされたデータを表す UI コンポーネントを作成する
  • JavaScript テクノロジーを使用して Watson Discovery のデータとエンリッチを特色とする完全な Web アプリを構築する

フロー

フロー

  1. カスタム・レビューを Discovery コレクションにインポートします。
  2. レビュー・ドキュメントのサンプル・セットを Watson Knowledge Studio にロードして、ドキュメントにアノテーションを設定します。
  3. Watson Knowledge Studio モデルを作成して、そのモデルをトレーニングします。
  4. Watson Knowledge Studio モデルを Watson Discovery インスタンスにデプロイします。
  5. ユーザーがアプリの UI を使用してバックエンド・サーバーとやり取りします。フロントエンドのアプリ UI が React を使用して検索結果をレンダリングします。この UI では、バックエンドがサーバー・サイドのレンダリングに使用するすべてのビューを再利用できます。フロントエンドは semantic-ui-react コンポーネントを使用し、レスポンシブなものとなっています。
  6. ユーザー入力を処理してバックエンド・サーバーにルーティングします。バックエンド・サーバーの役目は、ブラウザー上に表示するビューをレンダリングすることです。バックエンド・サーバーは Express を使用して作成されており、React で作成されたビューを、express-react-views エンジンを使用してレンダリングします。
  7. バックエンド・サーバーがユーザー・リクエストを Watson Discovery に送信します。バックエンド・サーバーはプロキシー・サーバーとして機能し、フロントエンドからのクエリーを Watson Discovery API に転送する一方で、機密性の高い API キーをユーザーから隠します。

手順

このパターンの詳細な手順については、README を参照してください。手順の概要は以下のとおりです。

  1. リポジトリーを複製します。
  2. Watson Discovery および Watson Knowledge Studio IBM Cloud サービスを作成します。
  3. Watson Knowledge Studio ワークスペースを作成します。
  4. タイプ・システムを作成します。
  5. トレーニング用ドキュメントをインポートします。
  6. モデルを作成します。
  7. 機械学習モデルを Watson Discovery にデプロイします。
  8. コーパス・ドキュメントを Watson Discovery にロードします。
  9. 資格情報を構成します。
  10. アプリケーションを実行します。