SPSS Modelerのテキスト分析のチュートリアル①インタラクティブ・ワークベンチ

# はじめに
SPSS Modeler Premium 18.6では日本語テキスト分析が可能になっています。

テキスト分析については[ModelerFlowのチュートリアル](https://dataplatform.cloud.ibm.com/docs/content/wsd/tutorials/tut_ta_hotel.html?locale=ja&context=cpdaas&audience=wdp&audience=wdp)がありますので、この内容をオンプレ版のModelerで実行してみます。

３つの記事からなっています。

①インタラクティブ・ワークベンチ（←この記事）
[②カテゴリーのフラグ化](https://qiita.com/spssfun2017/items/3e73f13a7ab1e12541b5)
[③テキストリンク分析](https://qiita.com/spssfun2017/items/af4cf51083b3a3a3dd1e)

■テスト環境
* Modeler Premium 18.6
* Windows 11 64bit

# テストデータ
@TTS22 さんが翻訳してくれたホテルの満足度調査のデータを使います。
Comments列にテキストデータが入っています。820件あります。
![{F9DA5B8D-38EC-44FD-9CD7-8AD26AFEA503}.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/223763/de7236a2-96c9-ba25-9ba1-02b2c0bfcdbe.png)


# テキストマイニング
「IBM SPSS Text Analytics」のパレットから「テキストマイニング」のノードを接続します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/223763/11c80a6d-6d97-2e83-c988-ad690f3d91d3.png)

まず、フィールドのタブで以下を選択します。
IDフィールド：`id`
テキストフィールド：`Comments`

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/223763/be89c8b1-7d36-b02e-0940-761e26545632.png)

次に、モデルのタブで「テキスト分析パッケージ」を選び、「読み込み」をクリックし、「HotelSatisfaction (Japanese).tap」を選んで「ロード」します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/223763/19ebdd82-82be-e850-caf7-7a63b0a6753c.png)

そして「実行します」
![{1805502E-A044-4759-9E35-B7D6FA590697}.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/223763/2aedda1c-c7f1-a9b9-aa35-774790d899fa.png)

# インタラクティブ・ワークベンチ
インタラクティブ・ワークベンチをつかうことで、テキスト分析をインタラクティブに行うことができます。また、この記事では行いませんが、最終的には整理したカテゴリーでフラグを立てるモデルを作る事ができます。

## コンセプト
「カテゴリーとコンセプト」を選びます。
左下にテストデータから抽出されたコンセプトがリストされています。
「クリーン」は58個のドキュメントに含まれ、58回出現しています。グローバルの方がドキュメントより多いコンセプトもあります。例えば「部屋」はグローバルが122でドキュメントは120ですので、同一文書の中で複数回「部屋」というコンセプトが出現しているケースがあることがわかります。

「コンセプト」とはいくつかの類似キーワードからなる概念です。「クリーン」というコンセプトを選んで「表示」をクリックすると、抽出された元文書が表示されます。これを見ると「クリーン」というコンセプトは「清潔」という類似キーワードも含んでいることがわかります。

また、「クリーン」は`<PositiveFeeling>`という「タイプ」も割り当てられています。「タイプ」は複数の「コンセプト」をまとめたものです。「快適」も`<PositiveFeeling>`という「タイプ」に分類されています。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/223763/ef9ecefd-5bc6-2a68-7310-8f6ba27caf8e.png)


「コンセプト」を「タイプ」に切り替えると、「タイプ」がリストされます。`<PositiveFeeling>`は137個のドキュメントに出現していることがわかります。`<PositiveFeeling>`を選んで、「表示」をクリックすると、抽出された元文書が表示されます。「きれい」、「美しい」などが含まれた文書も抽出されています。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/223763/ff35a2f0-53b8-0b0f-3694-bf850319e495.png)

## カテゴリー
やはり「カテゴリーとコンセプト」を選びます。
「カテゴリー」は「コンセプト」や「タイプ」の組合せでルールをつくって分類したものです。「`Atomosphere/Pos`」は「雰囲気」というコンセプトと<Positive>タイプなどの組合せが分類される「カテゴリー」です。
「表示」をクリックすると、対象ドキュメントの件数が計算され、右下のペインに抽出された元文書と分類された「カテゴリー」が表示されます。これをみると「カテゴリー」複数の「カテゴリー」に分類されうることがわかります。「このホテルは立地と雰囲気が気に入っています」という文書は「`Atomosphere/Pos`」、「`Location/Pos`」の２つの「カテゴリー」に分類されています。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/223763/97c9f595-f1bb-913b-8e07-418f22142f43.png)

## テキスト・リンク分析
「テキストリンク分析」に切り替えます。
「タイプ」の組合せ出現パターンを定義したルールにマッチしたTLAパターンがリストされます。`<Personal><PositiveAttitude>`のルールには69件ヒットしています。
`<Personal><PositiveAttitude>`を選択すると「コンセプトWeb」に同時に出現した「コンセプト」がリンクで表示されます。「スタッフ」ー「親切」、「スタッフ」ー「フレンドリー」は特に出現頻度が多いことがわかります。また「表示」をクリックすると、抽出された元文書が表示されます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/223763/bfea6bde-5d95-f391-8963-08ba5c36f90a.png)


# まとめ

インタラクティブ・ワークベンチは、Modelerから使う場合はモデルを作成するためにだけ使うことも多いと思いますが、これ単体でもテキスト分析を行うことができます。特に該当している文書を表示する機能がわかりやすいと思います。
とはいえ、より込み入った集計や機械学習をつかった分析を行うためにはやはりカテゴリーのモデルを作る事が必要になってきますので、[記事②カテゴリーのフラグ化](https://qiita.com/spssfun2017/items/3e73f13a7ab1e12541b5)を参考にしてください。

# サンプル
#### サンプルストリーム
https://github.com/hkwd/spsssample/raw/refs/heads/master/241227TA_HotelSatisfaction/15%20-%20Hotel%20Satisfaction%E3%82%A4%E3%83%B3%E3%82%BF%E3%83%A9%E3%82%AF%E3%83%86%E3%82%A3%E3%83%96SAJA.str


#### サンプルデータ
https://github.com/hkwd/spsssample/blob/master/241227TA_HotelSatisfaction/hotelSatisfaction_japanese.csv

# 参考

#### ホテル満足度のテキスト分析 - Docs | IBM Cloud Pak for Data as a Service 

https://dataplatform.cloud.ibm.com/docs/content/wsd/tutorials/tut_ta_hotel.html?locale=ja&context=cpdaas&audience=wdp&audience=wdp

#### 【CP4DaaS】SPSS ModelerのText Analyticsで日本語テキストデータを分析する （テキスト・マイニング） #ibmcloud - Qiita 
https://qiita.com/TTS22/items/5c00b53a473737586be4