こんにちは。IBMのエキスパートラボに所属している阪本です。
みなさんは2025年の秋からIBMイベントで注目の的になったIBM Bobをご存知でしょうか?
IBM BobはAIエージェント駆動のビジネス向け開発支援ツールで開発者のパートナーとして、単にコードを書くだけでなく、要件定義から実装、テスト、デプロイまで、ソフトウェア開発ライフサイクル全体を効率化し、最適化するように設計された、AIファーストで設計された統合開発環境です。
このIBM Bobによって様々な革新がもたらされると多くのお客様と試行が始まる中、かねてより「SPSS Modelerのストリーム(分析プロセス)を文章で構築できないか」という期待にお応えできそうですので紹介いたします。
*
IBM BobでSPSS Modeler ストリームを生成する手順
*
具体的な手順は以下のとおりです。
① IBM Bobでシンタックスエラーのないスタンドアロン スクリプトを生成し、
② IBM Bobが生成したスタンドアロン スクリプトをストリームに変換し、ファイルにセーブ。

*
具体的なプロンプト
*
Bobの画面に作成したいストリームの目的と、取得するデータの所在を変数として
与えます。

今回私が与えたプロンプト原文はこちらです。
目的:
顧客情報に基づき信用度(1.0/0.0)を予測するモデルをSPSS Modeler scriptで生成して下さい。
注意:
modeler scriptはJythonと呼ばれる言語で書きます。python 2.x系なので日本語を扱うときにはuをつけてください。
tree_credit_ja.csvはUTF-8です。
variablefilenode でencodingでUTF-8を指定してください
シバンを書いてはいけません。エンコーディング宣言は書いてはいけません。
@https://www.ibm.com/docs/ja/spss-modeler/19.0.0?topic=properties-typenode を参考にTypeノードでフィールドをインスタンス化してください。
変数:
INPUT=/Users/sakamotomasaharu/bob_demo/input.csv
CLEMB="/Applications/IBM/SPSS/Modeler/19.0/IBM SPSS Modeler.app/Contents/MacOS/clemb”
LOG=/Users/sakamotomasaharu/bob_demo/my_execution.log
方法:
入力はINPUTです。
スクリプトを生成したら、
CLEMB -script <script> -execute -log LOG
でスクリプトを実行し、シンタックスエラーの有無を確認し、エラーが出たら修正して下さい。<script>と<stream>はフルパスで指定します。
CLEMBの実行ログは、LOGに出力されます。
最終的にエラーがでなくなったらストリームを保存してください。
以下のように保存できます。
# TaskRunner を取得
taskrunner = modeler.script.session().getTaskRunner()
# ストリームをファイルへ保存
taskrunner.saveStreamToFile(stream, <stream>)
*
スタンドアロンスクリプト(Python)の生成
*
以下の画面の右側が実際に生成されたスクリプトです。

BobにSPSS Modelerのマニュアル類を事前に与えた訳ではないのに次々とPythonスクリプトを生成し
IBM Bobが生成したスクリプトを実行すると、シンタックスエラーを起こしますが、エラーログをIBM Bobに参照させると、IBM Bobが自力でエラーを修正します。
*
Modelerでスクリプトを実行させる
*
Modelerを起動してストリームのプロパティウインドウからPython実行モードにした上で、Bobが生成したスクリプトを貼り付けて実行します。

「SPSS ModelerってPythonでストリーム作成や制御ができるの?」と驚かれた方は
こちらを参照ください。
生成AI+スクリプトでCSVファイルの差分を追加する(SPSS Modeler データ加工逆引き9-27)
https://qiita.com/416nishimaki/items/8bc0cd2c8757c4cc7b43
*
*
ストリームの自動生成
*
何もない白紙のCanvas(ストリーム領域)に実行可能なストリームが生成されエラーなく実行できました。

*
Bob+SPSS Modelerの利用価値
*
SPSS Modelerユーザーのみなさんは、「Bobを利用しないで自分でノード(アイコン)を並べストリームを作った方が早い」と思われたかもしれません。
あるいは「これができるなら全部Pythonでやれば良いのでは」と疑問に感じられたか方もいらっしゃるのではないでしょうか?
SPSS Modelerが多くのデータサイエンティストに支持されている理由は、ビジュアルにプロセスを管理でき資産化できるところかと思います。従ってチームで分析プロジェクトを推進するにはPythonよりも可読性が高いローコードツールが重宝するわけなのですが、特にエントリー層にはそのローコードでさえ最初の一歩が負担になる場合もあるため、まずは基本になる分析プロセスをAIに出力してもらいという需要があります。
さらにModelerに慣れた方であっても2025年のTechXchange Summitで登壇された朝日新聞社様のように「まずは施策のシナリオをAIに指示し、出てきたストリームを見ながらビジネスルールを加えるなどするのが合理的」というアイデアにも有効と思います。

https://speakerdeck.com/jpspss/20251203spssqiu-03-zhao-ri-xin-wen-mu-cun-yang
*
*

阪本 正治(数理科学博士)
日本アイ・ビー・エム株式会社
IBM Expert Labs
シニアデータサイエンティスト