可視化モジュール作成1(バージョン0.43まで)
の編集
https://tetdm.jp:443/pukiwiki/index.php?%E5%8F%AF%E8%A6%96%E5%8C%96%E3%83%A2%E3%82%B8%E3%83%A5%E3%83%BC%E3%83%AB%E4%BD%9C%E6%88%90%EF%BC%91%28%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B30.43%E3%81%BE%E3%81%A7%29
-- 雛形とするページ --
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
追加ツールの利用方法
過去バージョン
開発者のよくある質問と回答
開発者登録
*チュートリアルで試せる内容 [#mfa69450] -[[可視化インタフェースモジュールの作り方]] -[[パネルサイズに応じた表示更新]] --動作確認のために,[[処理モジュール作成1改2(バージョン0.43まで)]]の処理モジュールを先に作成して下さい *1)作成する処理モジュールの仕様を決めます [#r30d0a7f] -[モジュール名] BarGraph(棒グラフ) -[入力] String型配列,int型配列 -[処理] int型配列で与えられる数字による棒グラフを作成,各棒の名前にString配列で与えられる文字を利用して,棒グラフを作成 -[出力] 作成した棒グラフを表示 *2)SampleDisplay2.java を利用して,モジュール作成の準備をします [#p3fbf5ec] -tetdmのフォルダ内の,moduleフォルダ内のVisualizationModuleフォルダ内にある,SampleDisplay2フォルダを,フォルダごとコピーします -コピーしてできたフォルダの名前を,作成するモジュール名「BarGraph」に変更します -コピーして作成したフォルダ内のファイル名を変更します --SampleDisplay2.java -> BarGraph.java --SampleDisplay2.txt -> BarGraph.txt (テキストファイルの中身も「棒グラフ」に変更します) --必要に応じて,モジュール完成後にREADME.txtを修正します *3)BarGraph.java を編集し,プログラム作成の準備をします [#g3bab808] -プログラム中の SampleDisplay2 と書かれている箇所をすべて BarGraph に変更します(コメント内を含め4カ所) ---// BarGraph.java Version 0.30 ---package module.VisualizationModules.BarGraph; ---public class BarGraph extends VisualizationModule ---public BarGraph() **コンストラクタの記述の修正 [#s6d9a564] -モジュールのIDを決め,コンストラクタ内のメソッド setModuleID の引数として与えます(今回は9977とします) public BarGraph() { setModuleID(9977); // Set your module ID after you have got it } *4)一度コンパイルして,BarGraphモジュールの動作を確認します [#u2aa8d53] -make または ant コマンドでコンパイルします -コンパイル後TETDMプログラムを起動して,いずれかのテキストを読み込みます -[[処理モジュール作成1改2(バージョン0.43まで)]]で作成した処理モジュール「名詞TOP10」があれば,これを選択して,楕円とテキストの一文目が表示されるのを確認して下さい (SampleDisplay2.java の処理) *5)棒グラフを表示するプログラムを作成します [#fafcae1e] **ファイルからの日本語の読み込み(今回は不要) [#xde2cbac] -もとからある下記変数とメソッドの内容は,インタフェース内に日本語を表示させたい場合は利用して下さい -String outputInJapanese; -String outputText; -initializePanel() -initializeData() **処理モジュールからデータを受け取り,棒グラフの表示に必要なデータを保存する変数を,グローバル領域で宣言します [#yd035288] String names[]; int values[]; **initializeData() 内で変数の初期化を行います(オーバーライド) [#ufd1eb8d] -棒グラフの表示に必要なデータがない場合にエラーを出さないようにします public void initializeData() { names = new String[0]; values = new int[0]; } **処理モジュールからデータを受け取るメソッド,setDataを作成します(オーバーライド) [#q5e2da7a] -switch,case文を用いて作成します -今回は case 11:を利用することとします public void setData(int dataID, String data[]) { switch(dataID) { case 11: names = data; break; } } public void setData(int dataID, int data[]) { switch(dataID) { case 11: values = data; break; } } **棒グラフの表示プログラムを作成します [#v7b07a2d] -displayOperations メソッドの case 0: が自動的に実行されますので,そこから呼び出されるところに記述します -case 0:にrepaint(); を記述している場合は,paintComponent(Graphics g)から呼び出されるところに記述します -今回は,可視化モジュール ScoreDist の内容をほぼ転用して作成しています -スーパークラス内の変数,sizeX, sizeYには,表示できるパネルの縦と横のサイズが,メソッドgetPanelSize()が呼び出されるたびに格納されますので,この値を利用してパネルサイズの変更に対応できるようにします int width; //background public void drawBackground(Graphics2D g2) { if(values.length == 0) width = 0; else width = (sizeY-10)/values.length; g2.setColor(Color.cyan); g2.fillRect(0,0, sizeX, sizeY); g2.setColor(Color.white); g2.drawRect(10,10, sizeX-20, values.length*width); } public void drawData(Graphics2D g2) { int max=1; for(int i=0;i<values.length;i++) if(values[i] > max) max = values[i]; g2.setColor(Color.white); for(int i=0;i<values.length;i++) g2.fillRect(10,10+width*i, (int)((sizeX-20)*(double)values[i]/max), width); g2.setFont(new Font("Dialog", Font.BOLD, 20)); g2.setColor(Color.black); for(int i=0;i<names.length;i++) if(i < values.length) g2.drawString(names[i]+"("+values[i]+")", 20,(int)(10+width*i+width*0.5)); else g2.drawString(names[i], 20,(int)(10+width*i+width*0.5)); } //////////paint public void paintComponent(Graphics g) { Graphics2D g2 = (Graphics2D)g; getPanelSize(); drawBackground(g2); //background if(values.length == 0) return; drawData(g2); } *6)コンパイルして動作を確認します [#s4ee1ea5] -浦島太郎を入力し,「名詞TOP10」と組み合わせた場合,各名詞と頻度に応じた棒グラフ,および名詞と頻度が表示されます. -統合環境のウインドウのサイズを変えても,パネル内の表示がサイズに応じて変更されることを確認します
タイムスタンプを変更しない
*チュートリアルで試せる内容 [#mfa69450] -[[可視化インタフェースモジュールの作り方]] -[[パネルサイズに応じた表示更新]] --動作確認のために,[[処理モジュール作成1改2(バージョン0.43まで)]]の処理モジュールを先に作成して下さい *1)作成する処理モジュールの仕様を決めます [#r30d0a7f] -[モジュール名] BarGraph(棒グラフ) -[入力] String型配列,int型配列 -[処理] int型配列で与えられる数字による棒グラフを作成,各棒の名前にString配列で与えられる文字を利用して,棒グラフを作成 -[出力] 作成した棒グラフを表示 *2)SampleDisplay2.java を利用して,モジュール作成の準備をします [#p3fbf5ec] -tetdmのフォルダ内の,moduleフォルダ内のVisualizationModuleフォルダ内にある,SampleDisplay2フォルダを,フォルダごとコピーします -コピーしてできたフォルダの名前を,作成するモジュール名「BarGraph」に変更します -コピーして作成したフォルダ内のファイル名を変更します --SampleDisplay2.java -> BarGraph.java --SampleDisplay2.txt -> BarGraph.txt (テキストファイルの中身も「棒グラフ」に変更します) --必要に応じて,モジュール完成後にREADME.txtを修正します *3)BarGraph.java を編集し,プログラム作成の準備をします [#g3bab808] -プログラム中の SampleDisplay2 と書かれている箇所をすべて BarGraph に変更します(コメント内を含め4カ所) ---// BarGraph.java Version 0.30 ---package module.VisualizationModules.BarGraph; ---public class BarGraph extends VisualizationModule ---public BarGraph() **コンストラクタの記述の修正 [#s6d9a564] -モジュールのIDを決め,コンストラクタ内のメソッド setModuleID の引数として与えます(今回は9977とします) public BarGraph() { setModuleID(9977); // Set your module ID after you have got it } *4)一度コンパイルして,BarGraphモジュールの動作を確認します [#u2aa8d53] -make または ant コマンドでコンパイルします -コンパイル後TETDMプログラムを起動して,いずれかのテキストを読み込みます -[[処理モジュール作成1改2(バージョン0.43まで)]]で作成した処理モジュール「名詞TOP10」があれば,これを選択して,楕円とテキストの一文目が表示されるのを確認して下さい (SampleDisplay2.java の処理) *5)棒グラフを表示するプログラムを作成します [#fafcae1e] **ファイルからの日本語の読み込み(今回は不要) [#xde2cbac] -もとからある下記変数とメソッドの内容は,インタフェース内に日本語を表示させたい場合は利用して下さい -String outputInJapanese; -String outputText; -initializePanel() -initializeData() **処理モジュールからデータを受け取り,棒グラフの表示に必要なデータを保存する変数を,グローバル領域で宣言します [#yd035288] String names[]; int values[]; **initializeData() 内で変数の初期化を行います(オーバーライド) [#ufd1eb8d] -棒グラフの表示に必要なデータがない場合にエラーを出さないようにします public void initializeData() { names = new String[0]; values = new int[0]; } **処理モジュールからデータを受け取るメソッド,setDataを作成します(オーバーライド) [#q5e2da7a] -switch,case文を用いて作成します -今回は case 11:を利用することとします public void setData(int dataID, String data[]) { switch(dataID) { case 11: names = data; break; } } public void setData(int dataID, int data[]) { switch(dataID) { case 11: values = data; break; } } **棒グラフの表示プログラムを作成します [#v7b07a2d] -displayOperations メソッドの case 0: が自動的に実行されますので,そこから呼び出されるところに記述します -case 0:にrepaint(); を記述している場合は,paintComponent(Graphics g)から呼び出されるところに記述します -今回は,可視化モジュール ScoreDist の内容をほぼ転用して作成しています -スーパークラス内の変数,sizeX, sizeYには,表示できるパネルの縦と横のサイズが,メソッドgetPanelSize()が呼び出されるたびに格納されますので,この値を利用してパネルサイズの変更に対応できるようにします int width; //background public void drawBackground(Graphics2D g2) { if(values.length == 0) width = 0; else width = (sizeY-10)/values.length; g2.setColor(Color.cyan); g2.fillRect(0,0, sizeX, sizeY); g2.setColor(Color.white); g2.drawRect(10,10, sizeX-20, values.length*width); } public void drawData(Graphics2D g2) { int max=1; for(int i=0;i<values.length;i++) if(values[i] > max) max = values[i]; g2.setColor(Color.white); for(int i=0;i<values.length;i++) g2.fillRect(10,10+width*i, (int)((sizeX-20)*(double)values[i]/max), width); g2.setFont(new Font("Dialog", Font.BOLD, 20)); g2.setColor(Color.black); for(int i=0;i<names.length;i++) if(i < values.length) g2.drawString(names[i]+"("+values[i]+")", 20,(int)(10+width*i+width*0.5)); else g2.drawString(names[i], 20,(int)(10+width*i+width*0.5)); } //////////paint public void paintComponent(Graphics g) { Graphics2D g2 = (Graphics2D)g; getPanelSize(); drawBackground(g2); //background if(values.length == 0) return; drawData(g2); } *6)コンパイルして動作を確認します [#s4ee1ea5] -浦島太郎を入力し,「名詞TOP10」と組み合わせた場合,各名詞と頻度に応じた棒グラフ,および名詞と頻度が表示されます. -統合環境のウインドウのサイズを変えても,パネル内の表示がサイズに応じて変更されることを確認します
テキスト整形のルールを表示する