処理モジュール作成1改(バージョン0.43まで)
の編集
https://tetdm.jp:443/pukiwiki/index.php?%E5%87%A6%E7%90%86%E3%83%A2%E3%82%B8%E3%83%A5%E3%83%BC%E3%83%AB%E4%BD%9C%E6%88%90%EF%BC%91%E6%94%B9%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
追加ツールの利用方法
過去バージョン
開発者のよくある質問と回答
開発者登録
*チュートリアルで試せる内容 [#x79d8af3] -[[マイニング処理モジュールの作り方(簡易版)]] -&color(blue){複数の可視化インタフェースモジュールを選択的に出力に利用}; --&color(red){色付きの部分が「[[処理モジュール作成1(バージョン0.43まで)]]」との違いです}; *1)作成する処理モジュールの仕様を決めます [#ia5ed994] -[モジュール名] NounTop10(名詞TOP10) -[入力] テキスト情報 -[処理] テキストに含まれる,名詞を頻度が高い順に10個抽出する -&color(red){[出力] 名詞の頻度上位10個の名詞を格納した配列,名詞の頻度上位10個の頻度を格納した配列}; --&color(blue){(a) 可視化モジュールTextDisplayを利用して,名詞の列を表示.可視化モジュールScoreDist で頻度の棒グラフを表示}; *2)雛形のSample1.java を利用して,モジュール作成の準備をします [#c65e82ca] -tetdmのフォルダ内の,moduleフォルダ内のMiningModuleフォルダ内にある,Sample1フォルダを,フォルダごとコピーします -コピーしてできたフォルダの名前を,作成するモジュール名「NounTop10」に変更します -コピーして作成したフォルダ内のファイル名を変更します --Sample1.java -> NounTop10.java --Sample1.txt -> NounTop10.txt (テキストファイルの中身も「名詞TOP10」に変更します) --必要に応じて,モジュール完成後にREADME.txtを修正します *3)NounTop10.java を編集し,プログラム作成の準備をします [#c584745f] -プログラム中の Sample1 と書かれている箇所をすべて NounTop10 に変更します(コメント内を含め5カ所) ---// NounTop10.java Version 0.30 ---package module.MiningModules.NounTop10; ---public class NounTop10 extends MiningModule ---public NounTop10() ---System.out.println("writing ERROR in NounTop10"); **コンストラクタの記述の修正 [#zc55ba49] -モジュールのIDを決め,コンストラクタ内のメソッド setModuleID の引数として与えます -配列 pairingVisualizationID を初期化して,ペアとなる可視化インタフェースモジュールのIDを指定します. ---&color(blue){TextDisplay のIDの 1 と ScoreDist の 4 を指定します.};[[可視化インタフェースツール一覧]] public NounTop10() { setModuleID(9911); // Set your module ID after you have got it pairingVisualizationID = new int[]{1,4}; } *4)一度コンパイルして,NounTop10モジュールの動作を確認します [#n340d7d8] -make または ant コマンドでコンパイルします -コンパイル後TETDMプログラムを起動して,いずれかのテキストを読み込みます -パネル上部の処理ツールを選ぶメニューの中から「名詞TOP10」を選択します --(「名詞TOP10」が表示されない場合,右下の''環境設定''の「ツール設定」ボタンを押し,ピンクの処理ツール一覧に「名詞TOP10」があることを確認し,チェックボタンをチェックして,「チェックしたツールをメニューに追加」ボタンを押した後,「設定終了」ボタンを押して戻ると,メニューに現れます) -入力テキストが,単語間にスペースが入った状態で表示されていることを確認します(Sample1.java の処理) *5)プログラムの作成に使える入力情報を確認します [#q3f12a55] -テキスト情報は,TextData型の変数 text に予め格納されているので,その中の単語情報に関するメンバー変数を確認します -[[テキストデータ>http://www.sys.info.hiroshima-cu.ac.jp/people/sunayama/future/textdata.html]] ---KeywordData keyword[]; ---int keywordNumber; ---String word; (KeywordDataクラス内) ---int frequency; (KeywordDataクラス内) ---int partOfSpeech; (KeywordDataクラス内.値が1なら名詞) *6)名詞の頻度上位10個を求めるプログラムを作成します [#oeee8f90] -&color(blue){グローバル領域で,次の2つの変数を宣言します}; String top10Words[]; int top10frequency[]; -miningOperations メソッドの case 0: が自動的に実行されますので,そこから呼び出されるところに記述します. -ソートには,source/Utilityフォルダ内のQsort.javaを利用することができます(// import source.Utility.*; のコメントアウトを外して利用します) **&color(blue){void MyMethod()内に作成する場合}; [#t2807b6a] void MyMethod() { int nounID[] = new int[text.keywordNumber]; int frequency[] = new int[text.keywordNumber]; int count; count = 0; for(int i=0;i<text.keywordNumber;i++) if(text.keyword[i].partOfSpeech == 1) { frequency[i] = text.keyword[i].frequency; count++; } else frequency[i] = 0; Qsort.initializeIndex(nounID, text.keywordNumber); Qsort.quicksort(frequency, nounID, text.keywordNumber); if(count > 10) count = 10; top10Words = new String[count]; top10frequency = new int[count]; for(int i=0;i<count;i++) { top10Words[i] = text.keyword[nounID[i]].word; top10frequency[i] = frequency[i]; } } *7)出力を可視化モジュールに渡します [#gaec116e] -可視化モジュール TextDisplay がsetDataメソッドによって受け取ることができるデータを,README.txtファイルや,ソースプログラムを見て確認します -&color(blue){TextDisplay は,String型の配列を受け取って,dataIDが1のとき,改行区切りで表示します}; -&color(blue){ScoreDist は,int型の配列を受け取って,dataIDが2のとき,その棒グラフを表示します}; case 0: MyMethod(); setDataStringArray(1,top10Words); setDataIntegerArray(2,top10frequency); break; *8)コンパイルして動作を確認します [#u050c7ed] -&color(red){処理モジュール「名詞TOP10」が選択されているパネルで,パネル上部の「セット」ボタンを押すと,TextDisplayとScoreDistが自動でセットされた状態になります};
タイムスタンプを変更しない
*チュートリアルで試せる内容 [#x79d8af3] -[[マイニング処理モジュールの作り方(簡易版)]] -&color(blue){複数の可視化インタフェースモジュールを選択的に出力に利用}; --&color(red){色付きの部分が「[[処理モジュール作成1(バージョン0.43まで)]]」との違いです}; *1)作成する処理モジュールの仕様を決めます [#ia5ed994] -[モジュール名] NounTop10(名詞TOP10) -[入力] テキスト情報 -[処理] テキストに含まれる,名詞を頻度が高い順に10個抽出する -&color(red){[出力] 名詞の頻度上位10個の名詞を格納した配列,名詞の頻度上位10個の頻度を格納した配列}; --&color(blue){(a) 可視化モジュールTextDisplayを利用して,名詞の列を表示.可視化モジュールScoreDist で頻度の棒グラフを表示}; *2)雛形のSample1.java を利用して,モジュール作成の準備をします [#c65e82ca] -tetdmのフォルダ内の,moduleフォルダ内のMiningModuleフォルダ内にある,Sample1フォルダを,フォルダごとコピーします -コピーしてできたフォルダの名前を,作成するモジュール名「NounTop10」に変更します -コピーして作成したフォルダ内のファイル名を変更します --Sample1.java -> NounTop10.java --Sample1.txt -> NounTop10.txt (テキストファイルの中身も「名詞TOP10」に変更します) --必要に応じて,モジュール完成後にREADME.txtを修正します *3)NounTop10.java を編集し,プログラム作成の準備をします [#c584745f] -プログラム中の Sample1 と書かれている箇所をすべて NounTop10 に変更します(コメント内を含め5カ所) ---// NounTop10.java Version 0.30 ---package module.MiningModules.NounTop10; ---public class NounTop10 extends MiningModule ---public NounTop10() ---System.out.println("writing ERROR in NounTop10"); **コンストラクタの記述の修正 [#zc55ba49] -モジュールのIDを決め,コンストラクタ内のメソッド setModuleID の引数として与えます -配列 pairingVisualizationID を初期化して,ペアとなる可視化インタフェースモジュールのIDを指定します. ---&color(blue){TextDisplay のIDの 1 と ScoreDist の 4 を指定します.};[[可視化インタフェースツール一覧]] public NounTop10() { setModuleID(9911); // Set your module ID after you have got it pairingVisualizationID = new int[]{1,4}; } *4)一度コンパイルして,NounTop10モジュールの動作を確認します [#n340d7d8] -make または ant コマンドでコンパイルします -コンパイル後TETDMプログラムを起動して,いずれかのテキストを読み込みます -パネル上部の処理ツールを選ぶメニューの中から「名詞TOP10」を選択します --(「名詞TOP10」が表示されない場合,右下の''環境設定''の「ツール設定」ボタンを押し,ピンクの処理ツール一覧に「名詞TOP10」があることを確認し,チェックボタンをチェックして,「チェックしたツールをメニューに追加」ボタンを押した後,「設定終了」ボタンを押して戻ると,メニューに現れます) -入力テキストが,単語間にスペースが入った状態で表示されていることを確認します(Sample1.java の処理) *5)プログラムの作成に使える入力情報を確認します [#q3f12a55] -テキスト情報は,TextData型の変数 text に予め格納されているので,その中の単語情報に関するメンバー変数を確認します -[[テキストデータ>http://www.sys.info.hiroshima-cu.ac.jp/people/sunayama/future/textdata.html]] ---KeywordData keyword[]; ---int keywordNumber; ---String word; (KeywordDataクラス内) ---int frequency; (KeywordDataクラス内) ---int partOfSpeech; (KeywordDataクラス内.値が1なら名詞) *6)名詞の頻度上位10個を求めるプログラムを作成します [#oeee8f90] -&color(blue){グローバル領域で,次の2つの変数を宣言します}; String top10Words[]; int top10frequency[]; -miningOperations メソッドの case 0: が自動的に実行されますので,そこから呼び出されるところに記述します. -ソートには,source/Utilityフォルダ内のQsort.javaを利用することができます(// import source.Utility.*; のコメントアウトを外して利用します) **&color(blue){void MyMethod()内に作成する場合}; [#t2807b6a] void MyMethod() { int nounID[] = new int[text.keywordNumber]; int frequency[] = new int[text.keywordNumber]; int count; count = 0; for(int i=0;i<text.keywordNumber;i++) if(text.keyword[i].partOfSpeech == 1) { frequency[i] = text.keyword[i].frequency; count++; } else frequency[i] = 0; Qsort.initializeIndex(nounID, text.keywordNumber); Qsort.quicksort(frequency, nounID, text.keywordNumber); if(count > 10) count = 10; top10Words = new String[count]; top10frequency = new int[count]; for(int i=0;i<count;i++) { top10Words[i] = text.keyword[nounID[i]].word; top10frequency[i] = frequency[i]; } } *7)出力を可視化モジュールに渡します [#gaec116e] -可視化モジュール TextDisplay がsetDataメソッドによって受け取ることができるデータを,README.txtファイルや,ソースプログラムを見て確認します -&color(blue){TextDisplay は,String型の配列を受け取って,dataIDが1のとき,改行区切りで表示します}; -&color(blue){ScoreDist は,int型の配列を受け取って,dataIDが2のとき,その棒グラフを表示します}; case 0: MyMethod(); setDataStringArray(1,top10Words); setDataIntegerArray(2,top10frequency); break; *8)コンパイルして動作を確認します [#u050c7ed] -&color(red){処理モジュール「名詞TOP10」が選択されているパネルで,パネル上部の「セット」ボタンを押すと,TextDisplayとScoreDistが自動でセットされた状態になります};
テキスト整形のルールを表示する