可視化インタフェースツールの作り方
の編集
https://tetdm.jp:443/pukiwiki/index.php?%E5%8F%AF%E8%A6%96%E5%8C%96%E3%82%A4%E3%83%B3%E3%82%BF%E3%83%95%E3%82%A7%E3%83%BC%E3%82%B9%E3%83%84%E3%83%BC%E3%83%AB%E3%81%AE%E4%BD%9C%E3%82%8A%E6%96%B9
-- 雛形とするページ --
2013年度人工知能学会全国大会論文募集
2014年度人工知能学会全国大会論文募集
2015クロージングディスカッションまとめ
2015年度人工知能学会全国大会論文募集
2016JSAI特設ページ
BracketName
CSVテキストの入力
ChatGPTを用いた機能について
FormattingRules
FrontPage
Help
InterWiki
InterWikiName
InterWikiSandBox
MacOSX(Mountain Lion, Lion)へのChaSenインストール
MacOSX(Snow Leopard)へのChaSenインストール
MenuBar
PHP
PukiWiki
PukiWiki/1.4
PukiWiki/1.4/Manual
PukiWiki/1.4/Manual/Plugin
PukiWiki/1.4/Manual/Plugin/A-D
PukiWiki/1.4/Manual/Plugin/E-G
PukiWiki/1.4/Manual/Plugin/H-K
PukiWiki/1.4/Manual/Plugin/L-N
PukiWiki/1.4/Manual/Plugin/O-R
PukiWiki/1.4/Manual/Plugin/S-U
PukiWiki/1.4/Manual/Plugin/V-Z
README.txtファイルの作成
RecentDeleted
R利用ツールの利用準備
SCIS2014
SCIS2014(JAPANESE)
SandBox
TETDM
TETDM 質問回答&更新ログ
TETDMのイベント
TETDMの学会活動
TETDMセッション@JSAI2012のまとめ
TETDMセッション@JSAI2013のまとめ
TETDM用語集
TETDM統合環境
TETDM統合環境(過去1)
TETDM統合環境0.62まで
WikiEngines
WikiName
WikiWikiWeb
WindowsへのJavaのインストール
YukiWiki
java
かえで
てすと:モジュールアップロード
アップロード用パッケージの準備
インタラクティブ情報アクセスと可視化マイニング
オプションによる処理連動
オプションによる可視化連動
キャラクターアシストチュートリアルの作成
チュートリアル
チュートリアル(バージョン0.42まで)
チュートリアル(バージョン0.43まで)
ツールIDの取得と記述
ツールの公開について
ツールの組合せの指定
ツールの選択
ツールタイプ
ツール作成の概要
ツール設定(バージョン0.43のみ)
テキストデータ
テトリーヌ
テトリーヌギャラリー
データ分析本のカラーの図(1-3章)
データ分析本のカラーの図(4章)
データ分析本のカラーの図(5-6章)
データ分析本のカラーの図(7章)
データ分析本を用いた講義用スライド
データ取得による処理連動
データ取得による処理連動(バージョン0.42まで)
データ取得による処理連動(バージョン0.46まで)
データ型コンバート
データ表示用クラス
パッケージのアップロード
パネルサイズに応じた表示更新
ファイルの入出力
フォーカス情報による処理連動
フォーカス情報による可視化連動
プログレスバーの表示
プロフィール
ボタンなどの日本語表示
ポジネガの判定方法
マイニングモジュールクラス
マイニング処理ツールの作り方
マイニング処理ツールの作り方(簡易版)
マイニング処理ツール一覧
マイニング処理ツール一覧(3.5まで)
マイニング処理モジュールの作り方(バージョン0.42まで)
マイニング処理モジュールの作り方(バージョン0.46まで)
マイニング処理モジュールの作り方(簡易版)(バージョン0.42まで)
マイニング処理モジュールの作り方(簡易版)(バージョン0.46まで)
マウス座標によるスレッドの停止と起動
モジュールの組合せの指定OLD
モジュールの連動の概要
使いやすいツールに向けて
個別にツールを追加・削除する方法
個別ツールの追加と削除
入力テキストの準備
処理ツール作成1
処理ツール作成1改
処理ツール作成1改2
処理ツール作成2
処理ツール作成3
処理モジュール作成1
処理モジュール作成1(バージョン0.42まで)
処理モジュール作成1(バージョン0.43まで)
処理モジュール作成1改(バージョン0.42まで)
処理モジュール作成1改(バージョン0.43まで)
処理モジュール作成1改2(バージョン0.42まで)
処理モジュール作成1改2(バージョン0.43まで)
処理モジュール作成2(バージョン0.42まで)
処理モジュール作成2(バージョン0.43まで)
処理モジュール作成3(バージョン0.42まで)
処理モジュール作成3(バージョン0.43まで)
処理対象テキストの更新、変更
利用者のよくある質問と回答
利用者・開発者用の掲示板
利用者向けチュートリアル
可視化インタフェースツールの作り方
可視化インタフェースツール一覧
可視化インタフェースツール一覧(3.5まで)
可視化インタフェースモジュールの作り方(バージョン0.46まで)
可視化ツール作成1
可視化ツール作成2
可視化ツール作成3
可視化ツール作成4
可視化モジュールクラス
可視化モジュール作成1
可視化モジュール作成1(バージョン0.42まで)
可視化モジュール作成1(バージョン0.43まで)
可視化モジュール作成2(バージョン0.42まで)
可視化モジュール作成2(バージョン0.43まで)
操作方法(バージョン0.42まで)
操作方法(バージョン0.45まで)
文字サイズの協調変更
更新ログ
更新ログ1.0
活用事例(バージョン0.42まで)
環境設定(バージョン0.42まで)
環境設定(バージョン0.45まで)
画像の表示
統合環境のインストールと設定
統合環境のクラス構成
統合環境のクラス構成(バージョン0.42まで)
統合環境の利用の流れ
統合環境の操作方法
統合環境の活用事例
統合環境の活用事例(バージョン0.43)
統合環境の環境設定
統合環境の起動方法
英語テキストの入力
複数ツールの連動
講座当日資料
起動モード
近未来チャレンジTETDM
追加ツールの利用方法
過去バージョン
開発者のよくある質問と回答
開発者登録
*可視化インタフェースツール [#ae1c9e96] -入力テキストのデータ([[テキストデータ]]),ならびに処理ツールの処理結果として送られてくるデータを入力として,データを視覚的にわかりやすく出力します. -[[''可視化インタフェースツール作成用ツールキット''>#k8b5fd70]]&color(blue){(''可視化ツール作成用ソース'')}; *可視化インタフェースツール作成の概要 [#gd114ae0] -可視化インタフェースツール作成用の、''[[可視化モジュールクラス]]''(&color(red){VisualizationModule};)を継承(extends)してクラスを作成します。 -データを視覚的に表示するための処理は,&color(blue){displayOperations()}; メソッドの中から、呼び出される形で記述します。&color(blue){(''オーバーライド'')}; -パネルを作成するときに必要な初期化処理は、&color(blue){initializePanel()}; メソッドの中に記述します。&color(blue){(''オーバーライド'')}; --パネルが(再)構築されたときに呼び出されます。 -データの表示に必要な(再表示の際に必要な)初期化処理は、&color(blue){initializeData()}; メソッドの中に記述します。&color(blue){(''オーバーライド'')}; --入力テキストの再読み込みがあった場合など、再表示の命令があったときに呼び出されます。 -マイニング処理ツールの処理結果は、&color(blue){setData(int, ***)}; メソッドを作成することで,その第二引数を通じて受け取ります。&color(blue){(''オーバーライド'')}; --***の部分には受け取るデータの型が入ります。 **可視化インタフェースツールの構成 [#r71d16e8] &ref(visuconst.png,,35%,); **パネル初期化時の処理の流れ [#mbfe48df] &ref(InitMining2.png,,35%,); **データ更新時(「再読込+実行」「再実行」「再処理を実行」)の処理の流れ [#mefe7577] &ref(Retry.png,,35%,); **データ送信の流れ [#e96a2c8b] &ref(dataio.png,,35%,); **サンプルプログラム [#hfa22849] &ref(SampleDisplay.java); :文字列を受け取って表示(JTextPaneベース)~ &ref(SampleDisplay2.java); :平面上に背景,円,数字,文字を表示(draw系ベース)~ *作成の準備 [#jbb97b4e] -module/VisualizationModules フォルダ内に,自分が作成するツール(クラス)名のフォルダ(たとえばMyVisual)を作成します. --&color(red){モジュール名に使用できるのは,アルファベットか数字のみで,一文字目は大文字にする必要があります.}; -作成したフォルダ内に,ソースファイル MyVisual.java を用意します. -VisualizationModule クラスのサブクラスとして実装します. 例) class MyVisual extends VisualizationModule *コンストラクタの作成 [#xb6ea001] -setModuleIDメソッドにより,ツールIDを与えます.(公開用に取得したID,または他のツールとかぶらないID) 例) setModuleID(4723); -配列 dataNumbers を初期化して,処理ツールから受け取る,可視化に必要な各データ型のデータ数を記述します. dataNumbers = new int[]{0,0,0,1, // boolean,int,double,String 0,0,0,0, // boolean[],int[],double[],String[] 0,0,0}; // boolean[][],int[][],double[][] --処理ツールからのデータが不要(すべての要素が0)な場合は,dataNumbers の初期化は省略可能です. -[[ツールタイプ]]が,1:シンプル,2:プリミティブ,3:セミプリミティブ,に該当するときは,setToolType(int) メソッドにより,該当するタイプ番号をセットして下さい. 例) setToolType(2); -コンストラクタ内には,[[可視化モジュールクラス]]のコンストラクタ用の処理以外は記述しないで下さい. *変数の宣言 [#n9ed48af] -クラス内のグローバル変数を宣言して下さい. -宣言した変数の初期化とインスタンス化は,&color(red){''必ずいずれかのメソッド内で''};行って下さい. *入力 [#e6452990] **テキストデータ [#t1510c68] -テキストデータの入力は,[[可視化モジュールクラス]]で定義されている TextData 型のインスタンス text を利用して下さい. -テキストデータのみを入力として,処理ツールからのデータを必要としない場合,&color(red){シンプルツール(参考:[[ツールタイプ]])};となります. **処理ツールからのデータ [#v2a27402] -マイニング処理ツールからの入力を受け取るための &color(blue){''setData''}; メソッドを,必要に応じて定義([[可視化モジュールクラス]]で定義されているメソッドの''オーバーライド'')してください. boolean setData(int dataID, boolean data){} boolean setData(int dataID, int data){} boolean setData(int dataID, double data){} boolean setData(int dataID, String data){} boolean setData(int dataID, boolean data[]){} boolean setData(int dataID, int data[]){} boolean setData(int dataID, double data[]){} boolean setData(int dataID, String data[]){} boolean setData(int dataID, boolean data[][]){} boolean setData(int dataID, int data[][]){} boolean setData(int dataID, double data[][]){} -全体を &color(red){switch(dataID) case 文};により記述し,各 case 文において,dataID のデータを受け取る処理を記述してください. -&color(red){case 文};は,&color(blue){''0''}; から,&color(blue){''配列 dataNumbers の初期化時に指定した値-1''}; までの値の文を記述してください. --上記以外の case 文を記述した場合,&color(red){(プリミティブ、セミプリミティブツール(参考:[[ツールタイプ]])の認定対象外となります)}; --上記のメソッドを1つだけ用いて,case 0: を記述した場合(かつ,受け取るデータが配列の時は,その要素数に関わらず可視化が可能な場合),&color(red){''プリミティブツール''};となります. -データの受け取りに成功した場合は &color(blue){true}; ,失敗した場合は &color(blue){false}; を返すようにしてください. -このメソッドによりデータを受け取るタイミングは,ペアとなる処理ツールに依存して,以下のいずれかとなります. --処理ツール内で miningOperations() の case 0 が実行されるとき --処理ツール内で miningOperations() の case 0 以外の case文 が実行されるとき *自動実行メソッドの実装 [#kdc532ca] -[[可視化モジュールクラス]]で用意されている下記のメソッドを,オーバーライドして実装してください. ***&color(red){[3.GUI初期化]}; void initializePanel(){} &color(red){(実装必須)}; [#h392524b] -出力データ可視化用のGUIコンポーネント(表示パネル類)を生成する処理を記述して下さい. ***&color(red){[4.初期化と前処理]}; void initializeData(){} &color(red){(実装必須)}; [#r7cde5e5] -可視化ツール内の変数の初期化,表示の前処理を記述して下さい. -GUIコンポーネントのうち,入力データに依存するものの初期化は,こちらに記述してください. ***&color(red){[6.結果の描画]}; void displayOperations(int optionNumber){} &color(red){(実装必須)}; [#q5bb7739] -全体を&color(red){switch(optionNumber) case 文};により記述した上で,&color(red){case 0:}; の箇所に, 可視化インタフェースの初期表示を生成する処理を記述してください. *可視化処理の実装 [#l48379ad] -必要に応じて displayOperations メソッドの case 文を増やして,可視化のパターンを変更する処理を実装して下さい. *コンパイル [#s5a7a287] -統合環境の tetdm フォルダ内で make または ant でコンパイルしてください.(自動的に統合環境に組み込まれます) --makeまたはantコマンドが無い場合は,コマンドをインストールしてください. --Windowsのコマンドプロンプトでは,Makefileに記述されているjavacコマンド内のワイルドカード*が使用できないことがあります. ---その場合,antコマンドを使用できるようにしていただくか,cygwinなどのターミナルソフトのインストールが必要です. --&color(blue){antコマンドでコンパイルを行った場合,各フォルダ内にclassファイルは作成されませんが動作には問題ありません.}; *可視化ツール作成用ツールキット [#k8b5fd70] -&color(blue){可視化ツール作成用ソース1}; &ref{VisualizationToolKit.zip}; -VisualizationToolKit.java -VisualizationToolKit.txt -Japanese.txt -README.txt --処理ツール「データ送信テスト」などと組み合わせると動作確認できます --画面中心部に、標語と受け取ったデータを表示(標語は日本語と英語で切り替え可能) ---日本語と英語の切り替えは,「キーワード設定」最下部の「メニューを日本語にする」のチェックで行えます. --処理ツールから String 型の配列を1つ受け取ります(送られたデータが String 型配列でなくても[[データ型コンバート]]によりデータの受け取りが可能) --プリミティブツール([[ツールタイプ]]) -&color(blue){可視化ツール作成用ソース2}; &ref{VisualizationToolKit2.zip}; -VisualizationToolKit2.java -VisualizationToolKit2.txt -Japanese.txt -README.txt -ソース1の内容に,以下が追加されています. --データを四角で囲んで表示し,マウスでドラッグ可能 --マウスで選択中のデータをハイライト表示 --マウスで背景をドラッグすることによって,全データをドラッグで移動可能 --受け取ったデータや,データを表示する座標をもつクラスを生成 -&color(blue){可視化ツール作成用ソース3}; &ref{VisualizationToolKit3.zip}; -[[データ表示用クラス]] DisplayObject を利用したソース2です. -&color(blue){可視化ツール作成用ソース4}; &ref{VisualizationToolKit4.zip}; -[[データ表示用クラス]] DisplayNetwork を利用したソース2です.
タイムスタンプを変更しない
*可視化インタフェースツール [#ae1c9e96] -入力テキストのデータ([[テキストデータ]]),ならびに処理ツールの処理結果として送られてくるデータを入力として,データを視覚的にわかりやすく出力します. -[[''可視化インタフェースツール作成用ツールキット''>#k8b5fd70]]&color(blue){(''可視化ツール作成用ソース'')}; *可視化インタフェースツール作成の概要 [#gd114ae0] -可視化インタフェースツール作成用の、''[[可視化モジュールクラス]]''(&color(red){VisualizationModule};)を継承(extends)してクラスを作成します。 -データを視覚的に表示するための処理は,&color(blue){displayOperations()}; メソッドの中から、呼び出される形で記述します。&color(blue){(''オーバーライド'')}; -パネルを作成するときに必要な初期化処理は、&color(blue){initializePanel()}; メソッドの中に記述します。&color(blue){(''オーバーライド'')}; --パネルが(再)構築されたときに呼び出されます。 -データの表示に必要な(再表示の際に必要な)初期化処理は、&color(blue){initializeData()}; メソッドの中に記述します。&color(blue){(''オーバーライド'')}; --入力テキストの再読み込みがあった場合など、再表示の命令があったときに呼び出されます。 -マイニング処理ツールの処理結果は、&color(blue){setData(int, ***)}; メソッドを作成することで,その第二引数を通じて受け取ります。&color(blue){(''オーバーライド'')}; --***の部分には受け取るデータの型が入ります。 **可視化インタフェースツールの構成 [#r71d16e8] &ref(visuconst.png,,35%,); **パネル初期化時の処理の流れ [#mbfe48df] &ref(InitMining2.png,,35%,); **データ更新時(「再読込+実行」「再実行」「再処理を実行」)の処理の流れ [#mefe7577] &ref(Retry.png,,35%,); **データ送信の流れ [#e96a2c8b] &ref(dataio.png,,35%,); **サンプルプログラム [#hfa22849] &ref(SampleDisplay.java); :文字列を受け取って表示(JTextPaneベース)~ &ref(SampleDisplay2.java); :平面上に背景,円,数字,文字を表示(draw系ベース)~ *作成の準備 [#jbb97b4e] -module/VisualizationModules フォルダ内に,自分が作成するツール(クラス)名のフォルダ(たとえばMyVisual)を作成します. --&color(red){モジュール名に使用できるのは,アルファベットか数字のみで,一文字目は大文字にする必要があります.}; -作成したフォルダ内に,ソースファイル MyVisual.java を用意します. -VisualizationModule クラスのサブクラスとして実装します. 例) class MyVisual extends VisualizationModule *コンストラクタの作成 [#xb6ea001] -setModuleIDメソッドにより,ツールIDを与えます.(公開用に取得したID,または他のツールとかぶらないID) 例) setModuleID(4723); -配列 dataNumbers を初期化して,処理ツールから受け取る,可視化に必要な各データ型のデータ数を記述します. dataNumbers = new int[]{0,0,0,1, // boolean,int,double,String 0,0,0,0, // boolean[],int[],double[],String[] 0,0,0}; // boolean[][],int[][],double[][] --処理ツールからのデータが不要(すべての要素が0)な場合は,dataNumbers の初期化は省略可能です. -[[ツールタイプ]]が,1:シンプル,2:プリミティブ,3:セミプリミティブ,に該当するときは,setToolType(int) メソッドにより,該当するタイプ番号をセットして下さい. 例) setToolType(2); -コンストラクタ内には,[[可視化モジュールクラス]]のコンストラクタ用の処理以外は記述しないで下さい. *変数の宣言 [#n9ed48af] -クラス内のグローバル変数を宣言して下さい. -宣言した変数の初期化とインスタンス化は,&color(red){''必ずいずれかのメソッド内で''};行って下さい. *入力 [#e6452990] **テキストデータ [#t1510c68] -テキストデータの入力は,[[可視化モジュールクラス]]で定義されている TextData 型のインスタンス text を利用して下さい. -テキストデータのみを入力として,処理ツールからのデータを必要としない場合,&color(red){シンプルツール(参考:[[ツールタイプ]])};となります. **処理ツールからのデータ [#v2a27402] -マイニング処理ツールからの入力を受け取るための &color(blue){''setData''}; メソッドを,必要に応じて定義([[可視化モジュールクラス]]で定義されているメソッドの''オーバーライド'')してください. boolean setData(int dataID, boolean data){} boolean setData(int dataID, int data){} boolean setData(int dataID, double data){} boolean setData(int dataID, String data){} boolean setData(int dataID, boolean data[]){} boolean setData(int dataID, int data[]){} boolean setData(int dataID, double data[]){} boolean setData(int dataID, String data[]){} boolean setData(int dataID, boolean data[][]){} boolean setData(int dataID, int data[][]){} boolean setData(int dataID, double data[][]){} -全体を &color(red){switch(dataID) case 文};により記述し,各 case 文において,dataID のデータを受け取る処理を記述してください. -&color(red){case 文};は,&color(blue){''0''}; から,&color(blue){''配列 dataNumbers の初期化時に指定した値-1''}; までの値の文を記述してください. --上記以外の case 文を記述した場合,&color(red){(プリミティブ、セミプリミティブツール(参考:[[ツールタイプ]])の認定対象外となります)}; --上記のメソッドを1つだけ用いて,case 0: を記述した場合(かつ,受け取るデータが配列の時は,その要素数に関わらず可視化が可能な場合),&color(red){''プリミティブツール''};となります. -データの受け取りに成功した場合は &color(blue){true}; ,失敗した場合は &color(blue){false}; を返すようにしてください. -このメソッドによりデータを受け取るタイミングは,ペアとなる処理ツールに依存して,以下のいずれかとなります. --処理ツール内で miningOperations() の case 0 が実行されるとき --処理ツール内で miningOperations() の case 0 以外の case文 が実行されるとき *自動実行メソッドの実装 [#kdc532ca] -[[可視化モジュールクラス]]で用意されている下記のメソッドを,オーバーライドして実装してください. ***&color(red){[3.GUI初期化]}; void initializePanel(){} &color(red){(実装必須)}; [#h392524b] -出力データ可視化用のGUIコンポーネント(表示パネル類)を生成する処理を記述して下さい. ***&color(red){[4.初期化と前処理]}; void initializeData(){} &color(red){(実装必須)}; [#r7cde5e5] -可視化ツール内の変数の初期化,表示の前処理を記述して下さい. -GUIコンポーネントのうち,入力データに依存するものの初期化は,こちらに記述してください. ***&color(red){[6.結果の描画]}; void displayOperations(int optionNumber){} &color(red){(実装必須)}; [#q5bb7739] -全体を&color(red){switch(optionNumber) case 文};により記述した上で,&color(red){case 0:}; の箇所に, 可視化インタフェースの初期表示を生成する処理を記述してください. *可視化処理の実装 [#l48379ad] -必要に応じて displayOperations メソッドの case 文を増やして,可視化のパターンを変更する処理を実装して下さい. *コンパイル [#s5a7a287] -統合環境の tetdm フォルダ内で make または ant でコンパイルしてください.(自動的に統合環境に組み込まれます) --makeまたはantコマンドが無い場合は,コマンドをインストールしてください. --Windowsのコマンドプロンプトでは,Makefileに記述されているjavacコマンド内のワイルドカード*が使用できないことがあります. ---その場合,antコマンドを使用できるようにしていただくか,cygwinなどのターミナルソフトのインストールが必要です. --&color(blue){antコマンドでコンパイルを行った場合,各フォルダ内にclassファイルは作成されませんが動作には問題ありません.}; *可視化ツール作成用ツールキット [#k8b5fd70] -&color(blue){可視化ツール作成用ソース1}; &ref{VisualizationToolKit.zip}; -VisualizationToolKit.java -VisualizationToolKit.txt -Japanese.txt -README.txt --処理ツール「データ送信テスト」などと組み合わせると動作確認できます --画面中心部に、標語と受け取ったデータを表示(標語は日本語と英語で切り替え可能) ---日本語と英語の切り替えは,「キーワード設定」最下部の「メニューを日本語にする」のチェックで行えます. --処理ツールから String 型の配列を1つ受け取ります(送られたデータが String 型配列でなくても[[データ型コンバート]]によりデータの受け取りが可能) --プリミティブツール([[ツールタイプ]]) -&color(blue){可視化ツール作成用ソース2}; &ref{VisualizationToolKit2.zip}; -VisualizationToolKit2.java -VisualizationToolKit2.txt -Japanese.txt -README.txt -ソース1の内容に,以下が追加されています. --データを四角で囲んで表示し,マウスでドラッグ可能 --マウスで選択中のデータをハイライト表示 --マウスで背景をドラッグすることによって,全データをドラッグで移動可能 --受け取ったデータや,データを表示する座標をもつクラスを生成 -&color(blue){可視化ツール作成用ソース3}; &ref{VisualizationToolKit3.zip}; -[[データ表示用クラス]] DisplayObject を利用したソース2です. -&color(blue){可視化ツール作成用ソース4}; &ref{VisualizationToolKit4.zip}; -[[データ表示用クラス]] DisplayNetwork を利用したソース2です.
テキスト整形のルールを表示する