0 / 0
資料の 英語版 に戻る
ホテル満足度のテキスト分析
最終更新: 2024年12月12日
ホテル満足度のテキスト分析

このチュートリアルでは、テキストの処理に特化したノードを使用してテキストを分析するのに役立ちます。 例えば、センチメント分析を行うことができる。

このチュートリアルでは、ホテルの支配人がホテルのレビューを分析し、顧客がどのように考えているかを見たいとします。 このレビューでは、ホテルの担当者、快適さ、清潔さ、価格、およびその他の関心分野についての意見が示されます。

図1: 肯定的な意見の図表
肯定的な意見のグラフ。 ここには、場所、予算、ホテルのアメニティーなどの用語や語句が表示されます。 これらの用語は、その重要性に応じてサイズが異なります。 彼らは中央に位置する最も重要な用語を並べ、最大のものとなった。
図2: 否定的な意見の図表
否定的な意見のグラフ。 ここには、場所、予算、ホテルのアメニティーなどの用語や語句が表示されます。 これらの用語は、その重要性に応じてサイズが異なります。 彼らは中央に位置する最も重要な用語を並べ、最大のものとなった。

チュートリアルを試す

このチュートリアルでは、以下のタスクを実行します:

モデラーのフローとデータセットのサンプル

このチュートリアルでは、サンプルプロジェクトのHotel Satisfactionフローを使用します。 このフローでは、Text Analytics ノードを使用して、ホテルに関する架空のレビューを分析します。 使用したデータファイルはhotelSatisfaction.csv である。 次の図は、モデラーのフロー例を示しています。

完成したフロー
次の画像はサンプルデータセットです。
サンプルデータセット

タスク 1:サンプルプロジェクトを開く

サンプル・プロジェクトには、いくつかのデータ・セットとモデラー・フローのサンプルが含まれています。 サンプル・プロジェクトをまだお持ちでない場合は、チュートリアル・トピックを参照してサンプル・プロジェクトを作成してください。 次に、以下の手順でサンプルプロジェクトを開きます:

  1. watsonx」で、ナビゲーションメニューナビゲーション・メニュー」から「プロジェクト」>「すべてのプロジェクトを表示」を選択する。
  2. SPSS ModelerProjectをクリックします。
  3. アセット」タブをクリックすると、データセットとモデラーフローが表示されます。

チェックポイントのアイコン進捗状況を確認する

次の図は、プロジェクトのAssetsタブを示しています。 これで、このチュートリアルに関連するサンプルモデラーフローで作業する準備ができました。

代替テキスト

先頭に戻る

タスク2:データ資産ノードを調べる

ホテル満足度にはいくつかのノードがある。 以下の手順に従って、Data Assetノードを調べます:

  1. AssetsタブからHotel Satisfactionモデラーフローを開き、キャンバスがロードされるのを待ちます。
  2. hotelSatisfaction.csvノードをダブルクリックします。 このノードは、プロジェクト内のhotelSatisfaction.csvファイルを指すData Assetノードです。
  3. ファイル形式のプロパティを確認します。
  4. オプション:完全なデータセットを表示するには、データのプレビューをクリックします。

チェックポイントのアイコン進捗状況を確認する

次の図は、Data Assetノードを示しています。 これでText Miningノードを調べる準備ができた。

フィルター・ノード

先頭に戻る

タスク3:テキストマイニングノードを調べる

テキストマイニングは、テキストデータから関連する概念やパターンを特定する反復プロセスである。 テキストマイニングノードを実行すると、抽出エンジンがテキストデータを読み取り、関連する概念を特定し、それぞれにタイプを割り当てます。 その後、Text Analytics Workbench を使用して抽出結果を確認し、抽出プロセスを微調整することができます。 テキストマイニングノードを再実行して新しい結果を出し、新しい結果を評価することができます。 Data Asset」ノードと「Text Mining」ノードの間に「Type」ノードがあることに注意する。 Typeノードは、データセットのフィールドを正しく識別するために必要である。 テキストマイニングノードを調べるには、以下の手順に従ってください:

  1. Comments (Text Mining)」ノードをダブルクリックしてプロパティを見る。
  2. Fieldsセクションでこれらのプロパティを設定する:
    1. テキスト・フィールドでは、「コメント」を選択する。
    2. IDフィールドには idを選択する。
      注: テキスト・フィールドのみが必須です。
      図3: テキスト・マイニング・ノードのプロパティー
      テキストマイニングノードのビルドプロパティ。 テキスト・フィールドやIDフィールドなど、いくつかのフィールド設定がウィンドウに表示される。
  3. モデル」セクションで、選択されたテキスト分析パッケージが「ホテル満足度(英語)/トピック+意見」であることに注意してください。

    テキスト分析パッケージ(TAP)とは、あらかじめ定義されたライブラリや高度な言語的・非言語的リソースのセットであり、1つ以上のあらかじめ定義されたカテゴリのセットとバンドルされている。 アプリケーションに該当するテキスト分析パッケージがない場合、代わりにリソーステンプレートを選択することができます。 リソース・テンプレートとは、特定のドメインや用途に合わせて微調整された、定義済みのライブラリや高度な言語・非言語リソースのセットである。

  4. Build modelsセクションで、これらのプロパティを設定する:
    1. ビルド・モードフィールドが'インタラクティブに構築する(カテゴリーモデルナゲット)に設定されていることを確認する。 このオプションは、後でノードを実行するときにText Analytics Workbench を起動します。
    2. Begin session byフィールドがExtracting concepts and text linksに設定されていることを確認する。 概念抽出オプションは概念のみを抽出するのに対し、TLA抽出は概念と、トピック(サービス、人材、食事など)と意見のつながりであるテキストリンクの両方を出力する。
  5. Expert]セクションを展開し、[Accommodate spelling for minimum word character length]オプションが[Spelling limit]を '5 にして選択されていることを確認する。 Fuzzy Grouping の手法を適用し、共通してミススペルのある単語またはスペルの近い単語を 1 つのコンセプトにグループ化できるようにします。 ファジー・グルーピング・アルゴリズムは、抽出された単語から二重または三重の子音とすべての母音(最初の母音を除く)を一時的に取り除く。 そして、両者が同じかどうかを比較する。 例えば、「location」と「locattoin」はグループ化されている。

    図4: テキストマイニングノードエキスパートのプロパティ。
    テキストマイニングノードエキスパートのプロパティ。 Text Mining」ノードのプロパティ設定が表示されます。 主な設定グループには、Settings、Build models、Expertがある。 エキスパート」グループには、「最小ルート文字数制限のスペルに対応する」、「単 語を抽出する」、「非言語的エンティティを抽出する」、「大文字のアルゴリズム」、「可能な場合、人名の部分名 と完全名を一緒にグループ化する」、「複合名詞をグループ化するときに派生語を使用する」などの設定のチェックボック スがあります。
  6. 保存 をクリックします。
  7. コメント(テキストマイニング)ノードにカーソルを合わせ、実行アイコン「実行アイコン」をクリックする。
  8. Outputs and models(出力とモデル)]ペインで、[Comments(コメント)]という名前の結果をクリックして、[Text Analytics Workbench(テキスト分析ワークベンチ)]を開きます。

チェックポイントのアイコン進捗状況を確認する

次の画像はテキスト分析ワークベンチを示しています。 これで結果を調整する準備が整った。

テキスト分析ワークベンチ

先頭に戻る

タスク4:テキスト分析ワークベンチで結果を調整する

Text Analytics Workbenchには、抽出結果とテキスト分析パッケージに含まれるカテゴリモデルが含まれます。 これは、抽出された結果を探索し、微調整し、カテゴリーを構築し、洗練させ、カテゴリーモデルナゲットを構築することができるインタラクティブなワークベンチです。 以下の手順に従って、Text Analytics Workbenchで結果を調整します:

コンセプト

  1. コンセプト」タブをクリックする。

    抽出プロセスでは、テキストデータを分析して、「airport」や「locationような興味深い単語や関連性のある単語、「airport pick-upような語句を特定する。 これらの単語や句を、まとめて「キーワード」と呼びます。 言語リソースを使用して、関連する用語が抽出され、類似の用語は、概念と呼ばれるリード用語の下にグループ化される。

    このようにして、1つの概念が複数の基礎となる用語を表すことがある。 それは、あなたの文章でその用語がどのように使われているか、また、あなたが使っている一連の言語資源によります。

  2. フィルターアイコンフィルター・アイコンクリック
  3. フィルタを使用して、概念のサブセットを選択することもできます。 次の画像は、さまざまなオプションを示しています:

    図 5. テキスト分析ワークベンチ - フィルタオプション
    テキスト分析ワークベンチ - フィルタオプション

    フィルターを取り除き、すべてのコンセプトを表示したい場合は、「フィルターをクリア」をクリックします。

    キャンセル]をクリックして[フィルター]ペインを閉じます。

テキスト・リンク

  1. テキストリンク」タブをクリックする。

    テキストリンク分析(TLA)はパターンマッチング技術で、TLAのルールと、テキストに含まれる抽出された概念や関係を比較します。 テキストリンク」タブでは、テキストデータから見つかったTLAパターンを構築し、探索することができます。

  2. タイプ・パターン(たとえば「<サービス>+<ポジティブ)を選択すると、文書内のテキストのプレビューが表示されます。 文書プレビューのテキストが切り捨てられている場合は、文書全体を表示アイコン「文書全体を表示するアイコン」をクリックすると、テキスト全体が表示されます。
    テキスト分析ワークベンチ - テキストリンクタブ。 テキストリンクタブのタイプパターンを表示します。 横にはプレビュー・ペインがあり、3列の表がある。 3つのカラムは、エントリー、ドキュメントプレビュー、カテゴリーパスである。

カテゴリ

  1. カテゴリー」タブをクリックする。

    カテゴリーを作成し、管理することができます。 テキストデータから概念とタイプが抽出されたら、概念包含、意味ネットワーク(英語のみ)、または手動などのテクニックを使用して、自動的にカテゴリを構築し始めることができます。

    このフロー例では、テキスト分析パッケージのテンプレートを使用しているため、カテゴリーモデルはすでに入力されています。

  2. 文書や記録を採点するには、「Score all」をクリックします。 カテゴリが作成または更新されるたびに、特定のカテゴリの記述子と一致するテキストがあるかどうかを確認できます。 合致が見つかった場合は、ドキュメントまたはレコードはそのカテゴリーに割り当てられます。 その結果、すべてではないにしても、ほとんどの文書や記録が、カテゴリー内の記述子に基づいてカテゴリーに割り当てられる。
  3. 例えば、「ホテルのアメニティ」>「清潔さ」>「Neg」>「清掃されていない」のようにカテゴリーを展開する。
  4. プレビュー]タブと[説明]タブでドキュメントを表示し、ソースデータを確認します。

チェックポイントのアイコン進捗状況を確認する

次の画像は、「清潔さ」カテゴリのドキュメントプレビューです。 これでモデルを作る準備ができた。

置換ノード

先頭に戻る

タスク5:モデルの構築

抽出プロセスのチューニングが完了したら、カスタマイズと構築したカテゴリからカテゴリモデルを生成できます。 以下の手順に従って、モデルを構築し、デプロイしてください:

  1. カテゴリー・モデルを生成するには、モデルを生成するをクリックします。
    モデルを生成するボタンを示す画像
  2. Buildをクリックして、カテゴリーモデルを生成することを確認します。
  3. 成功だ!表示されたら メッセージが表示されたら、「フローに戻る」をクリックする。
  4. 保存して終了するをクリックして変更を保存し、'テキストマイニングノードをフローに入れる。
    生成されたカテゴリーモデルナゲットは、フローキャンバスに表示されます。
    図 6. 生成されたカテゴリーモデルナゲット
    生成されたカテゴリーモデルナゲット。 テキストマイニングノードとカテゴリーモデルナゲットを持つフローを示す。
  5. フロー例の2つの満足度モデルノードに注目。 Text Analytics Workbenchが検証し、カテゴリーモデルを生成したので、それをフローに導入し、同じデータセットを採点したり、新しいデータを採点したりすることができます。 各モデルで採点モードが異なる。
    図 7. 2 つのモードでのスコアリングのサンプル・フロー
    2 つのモードでのスコアリングのサンプル・フロー
  6. 最初の満足度モデル・ノードをダブルクリックします。
    1. 設定]セクションを展開し、このノードが[カテゴリー]をフィールドのスコアリング・モードとして使用していることを確認します。 この採点モードでは、入力記録と同じ数の出力記録がある。
    2. データのプレビューをクリックする。 各レコードには、モデルタブで選択されたカテゴリーごとに1つの新しいフィールドが含まれていることがわかります。 フィールドごとに、true および false のフラグ値 (True/False1/0など) を入力します。 このフローでは、値が 1 および 0 に設定され、結果を集計し、肯定的、否定的、混在 (肯定的と否定的の両方)、またはスコアなし (意見なし) の回答の数がカウントされます。

      図 8. モデル結果 - フィールドとしてのカテゴリー(1)。
      モデル結果 - フィールドとしてのカテゴリー。 これは、ID、コメント、性別、理由、Neg、Pos、Cont、Sentimentというカラムを持つテーブルである。 ID列の項目は数字である。 コメント欄の項目は、テキストから抜粋した短いフレーズを示している。 例えば、あるエントリーには「とても静かだが、とても高い」とある。 理由」欄の記入は、出張かレジャーかを示す。 NegとPosは、それぞれの短いフレーズに対する否定的な感情と肯定的な感情のカウントを示す。 センチメントは、レビューが肯定的(Pos欄の数字のみ)か、否定的(Neg欄の数字のみ)か、混合的(Neg欄とPos欄の両方の数字)かを示す。
    3. プレビュー」ウィンドウを閉じます。
    4. 「キャンセル」をクリックします。
  7. 2番目の満足度モデル・ノードをダブルクリックします。
    1. 設定セクションを展開し、このノードがCategories as recordsスコアリングモードを使用していることを確認する。 category, documentペアごとに新しいレコードが作成される。 通常、入力に比べて出力に多くのレコードがあります。
    2. データのプレビューをクリックする。 入力フィールドとともに、それがどのようなモデルであるかに応じて、新しいフィールドもデータに追加されているのがわかるだろう。

      図 9. モデル結果 - レコードとしてのカテゴリー(2)。
      モデル結果 - レコードとしてのカテゴリー。 これは、ID、コメント、性別、理由、カテゴリー、センチメントのカラムを持つテーブルである。 ID列の項目は数字である。 コメント欄の項目は、テキストから抜粋した短いフレーズを示している。 例えば、あるエントリーには「とても静かだが、とても高い」とある。 理由」欄の記入は、出張かレジャーかを示す。 NegとPosは、それぞれの短いフレーズに対する否定的な感情と肯定的な感情のカウントを示す。 センチメントは、レビューが肯定的(Pos欄の数字のみ)か、否定的(Neg欄の数字のみ)か、混合的(Neg欄とPos欄の両方の数字)かを示す。
    3. プレビュー」ウィンドウを閉じます。
    4. 「キャンセル」をクリックします。

チェックポイントのアイコン進捗状況を確認する

次の画像は、ドキュメント・プレビュー付きの満足度モデルを示しています。 これでコメントを視覚化する準備が整った。

モデル ノード

先頭に戻る

タスク6:コメントの可視化

コメントを可視化することで、ゲストがホテルについてどのような点を評価しているのかを素早く把握することができる。 以下の手順でワードクラウドチャートを作成します:

  1. 肯定的なコメントを選ぶ:
    1. パレットで、レコード操作セクションを展開する。
    2. Selectノードをキャンバスにドラッグします。
    3. センチメントの導出」スーパーノードを「選択」ノードに接続する。
    4. Selectノードをダブルクリックしてプロパティを表示します。
    5. ModeIncludeを選択。
    6. 条件には「Sentiment = "Pos"入力する。
    7. 保存 をクリックします。
  2. チャートを追加する:
    1. パレットで、グラフセクションを展開する。
    2. Chartsノードをキャンバスにドラッグします。
    3. SelectノードをChartsノードに接続する。
  3. ワードクラウドチャートを作成する:
    1. Chartsノードをダブルクリックしてプロパティを表示します。
    2. Launch Chart Builderをクリックする。
    3. 可視化する列で、「コメント」を選択する。
    4. すべてのチャートタイプのリストを表示し、ワードクラウドを選択します。

      図 10. すべてのチャートタイプ
      すべてのチャートタイプ
  4. 終了したら、「フローに戻る」をクリックする。

チェックポイントのアイコン進捗状況を確認する

次の画像はワードクラウドチャートである。 これでテキストリンク分析ノードを調べる準備ができました。

ワード・クラウド・グラフ

先頭に戻る

タスク 7:テキストリンク分析ノードを調べる

得点のためにカテゴリーモデルを作成する必要がない場合もある。 テキストリンク分析ノードは、テキストマイニングの概念抽出にパターンマッチング技術を加える。 テキストリンク分析ノードは、既知のパターンに基づいてテキストデータ内の概念間の関係を特定する。 これらの関連性は、顧客が製品についてどのように感じているか、どの企業と組んでビジネスを行うか、または遺伝子または医薬品の間の関連性について説明が可能です。 テキストリンク分析ノードを調べるには、以下の手順に従います:
テキスト・リンク分析ノード
  1. テキスト・リンク分析」ノードをダブルクリックして、そのプロパティを表示します。
  2. Fieldsセクションでこれらのプロパティを設定する:
    1. テキスト・フィールドでは、「コメント」を選択する。
    2. IDフィールドには idを選択する。
      注: テキスト・フィールドのみが必須です。

      図 11. テキストリンク分析ノードの FIELD プロパティ。
      テキストリンク分析ノードの FIELD プロパティ。 IDフィールド、Textフィールド、Languageフィールド、Document Type、Textual Unity、Paragraphモードの設定などのフィールド設定が表示されます。
  3. リソースのコピー元セクションで、選択されているリソーステンプレートが「Hotel Satisfaction (English)」であることに注意してください。

    リソース・テンプレートとは、特定のドメインや用途に合わせて微調整された、定義済みのライブラリや高度な言語・非言語リソースのセットである。

  4. Expert]セクションを展開し、[Accommodate spelling for minimum word character length]オプションが[Spelling limit]を '5 にして選択されていることを確認する。

    図 12. テキストリンク分析ノード Expert プロパティ。
    テキストリンク分析ノード Expert プロパティ。 これは、「最小ルート文字数制限のスペルに対応する」、「単 語を抽出する」、「非言語的エンティティを抽出する」、「大文字のアルゴリズム」、「可能な場合、人名の部分名と完全名を 一緒にグループ化する」、「複合名詞をグループ化するときに派生語を使用する」などの設定のチェックボックスを表示します。
  5. 保存 をクリックします。
  6. 生のTLA出力ノードにカーソルを合わせ、実行アイコン「実行アイコン」をクリックする。
  7. Outputs and models"ペインで、"Raw TLA output "という名前の結果をクリックすると、結果が表示されます。

    図 13. 生のTLA出力。
    生のTLA出力。 これは、Concept1、Type1、Concept2、Type2、ID、Matched textといったカラムを持つテーブルである。 コンセプト・コラムの項目は、部屋や駐車場などの単語である。 タイプ欄には、Budget(予算)やServices(サービス)といった単語を記入する。 行は、ある概念がタイプや他の概念とどのように関連しているかを示している。 それぞれの行は、これらの単語が本文中でどのように登場するかも示している。

    図 14. TLAノードでセンチメントをカウントする。
    TLAノードでセンチメントをカウントする。 ID、Comments、Pos_Count_Sum、Neg_Count_Sumのカラムを持つテーブルである。 ID列の項目は、各行の番号である。 コメント欄の項目は、テキストから抜粋した短いフレーズを示している。 例えば、「快適な部屋、素晴らしい朝食、そして素敵なサービス」というエントリーがある。 Pos_Count_Sum列とNeg_Count_Sum列の項目は、それぞれの短いフレーズについて、肯定的または否定的な感情の数をカウントした数字を示している。 例えば、前のフレーズでは、3つの肯定的な感情がカウントされた。

チェックポイントのアイコン進捗状況を確認する

次の図は、完成したフローを示している。

完成したフロー

先頭に戻る

サマリー

このホテル満足度フローでは、ホテルのマネージャーがホテルのレビューを分析し、ホテルの従業員、快適さ、清潔さ、価格、その他関心のある分野についての顧客の意見を見る方法を紹介した。 このフローは、テキスト・マイニング・ノードまたはテキスト・リンク分析ノードを使用して、テキスト・データを分析する2つの方法を示している。

今後のステップ

これで、他のSPSS® Modelerチュートリアルを試す準備ができました。

生成 AI の検索と回答
これらの回答は、製品資料の内容に基づいて、 watsonx.ai のラージ言語モデルによって生成されます。 詳細