処理ツール作成1
の編集
https://tetdm.jp:443/pukiwiki/index.php?%E5%87%A6%E7%90%86%E3%83%84%E3%83%BC%E3%83%AB%E4%BD%9C%E6%88%90%EF%BC%91
-- 雛形とするページ --
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
追加ツールの利用方法
過去バージョン
開発者のよくある質問と回答
開発者登録
*チュートリアルで試せる内容 [#l6c213f1] -[[マイニング処理ツールの作り方(簡易版)]] *1)作成する処理ツールの仕様を決めます [#t14a8681] -[ツール名] NounTop10(名詞TOP10) -[入力] テキスト情報 -[処理] テキストに含まれる名詞を,頻度が高い順に10個抽出する -[出力] 抽出した名詞をつなげたテキスト( -> 可視化ツールTextDisplayを利用して表示) *2)雛形のSample1.java を利用して,ツール作成の準備をします [#t86714a8] -tetdmのフォルダ内の,moduleフォルダ内のMiningModuleフォルダ内にある,Sample1フォルダを,フォルダごとコピーします -コピーしてできたフォルダの名前を,作成するツール名「NounTop10」に変更します -コピーして作成したフォルダ内のファイル名を変更します --Sample1.java -> NounTop10.java --Sample1.txt -> NounTop10.txt (テキストファイルの中身も「名詞TOP10」に変更します) --必要に応じて,ツール完成後にREADME.txtを修正します *3)NounTop10.java を編集し,プログラム作成の準備をします [#dd99a11d] -プログラム中の 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"); **コンストラクタの記述の修正 [#c0008a68] -ツールのIDを決め,コンストラクタ内のメソッド setModuleID の引数として与えます -配列 pairingVisualizationID を初期化して,ペアとなる可視化インタフェースツールのIDを指定します. ---TextDisplay のIDの 1 を指定します.(今回はそのまま)[[可視化インタフェースツール一覧]] ---setToolType(2); [[ツールタイプ]]はプリミティブになります.(今回はそのまま) public NounTop10() { setModuleID(9911); // Set your module ID after you have got it pairingVisualizationID = new int[]{1}; setToolType(2); } *4)一度コンパイルして,NounTop10ツールの動作を確認します [#m7218747] -make または ant コマンドでコンパイルします -コンパイル後TETDMプログラムを起動して,いずれかのテキストを読み込みます -パネル上部の「ツール選択」ボタンを押した後,左側の「名詞TOP10(Pr)」をダブルクリックして選択します -入力テキストが,単語間にスペースが入った状態で表示されていることを確認します(Sample1.java の処理) *5)プログラムの作成に使える入力情報を確認します [#z355228c] -テキスト情報は,TextData型の変数 text に予め格納されているので,その中の単語情報に関するメンバー変数を確認します -[[テキストデータ]] ---KeywordData keyword[]; ---int keywordNumber; ---String word; (KeywordDataクラス内) ---int frequency; (KeywordDataクラス内) ---int partOfSpeech; (KeywordDataクラス内.値が1なら名詞) *6)名詞の頻度上位10個を求めるプログラムを作成します [#md2ea89d] -miningOperations メソッドの case 0: が自動的に実行されますので,そこから呼び出されるところに記述します. -ソートには,source/Utilityフォルダ内のQsort.javaを利用することができます(// import source.Utility.*; のコメントアウトを外して利用します) **String MyMethod()内に作成する場合 [#kb0acee7] String 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); StringWriter sw = new StringWriter(); //For words BufferedWriter bw = new BufferedWriter(sw); try{ for(int i=0;i<10 && i<count;i++) bw.write(text.keyword[nounID[i]].word+" "); bw.flush(); } catch(Exception e){ System.out.println("writing ERROR in NounTop10"); } return sw.toString(); } *7)出力を可視化ツールに渡します [#fcc7ddc3] -可視化ツール TextDisplay がsetDataメソッドによって受け取ることができるデータ型とデータ数を,README.txtファイルや,ソースプログラム(コンストラクタ内のdataNumbers[])を見て確認します -TextDisplay は,String型のデータを1つ(dataIDが0のデータのみ)受け取って表示します ---setDataString(MyMethod()); -可視化ツールにデータを渡す際に,下記のメソッドにより,dataIDを0に初期化できます. ---resetData(); ---dataIDの値は,各データ型ごとに,setData***()メソッドを呼び出すごとに,1ずつ増加していきますので,データを送りなおす場合などに,このメソッドを呼び出す必要があります. *8)コンパイルして動作を確認します [#uca07866] -浦島太郎であれば「浦島 亀 リュウグウ 乙姫 太郎 景色 子供 背中 不思議 綺麗」と出力されます -単語の頻度情報は,処理ツール「単語情報まとめ」可視化ツール「表形式表示」を組合せた出力からも確認できます
タイムスタンプを変更しない
*チュートリアルで試せる内容 [#l6c213f1] -[[マイニング処理ツールの作り方(簡易版)]] *1)作成する処理ツールの仕様を決めます [#t14a8681] -[ツール名] NounTop10(名詞TOP10) -[入力] テキスト情報 -[処理] テキストに含まれる名詞を,頻度が高い順に10個抽出する -[出力] 抽出した名詞をつなげたテキスト( -> 可視化ツールTextDisplayを利用して表示) *2)雛形のSample1.java を利用して,ツール作成の準備をします [#t86714a8] -tetdmのフォルダ内の,moduleフォルダ内のMiningModuleフォルダ内にある,Sample1フォルダを,フォルダごとコピーします -コピーしてできたフォルダの名前を,作成するツール名「NounTop10」に変更します -コピーして作成したフォルダ内のファイル名を変更します --Sample1.java -> NounTop10.java --Sample1.txt -> NounTop10.txt (テキストファイルの中身も「名詞TOP10」に変更します) --必要に応じて,ツール完成後にREADME.txtを修正します *3)NounTop10.java を編集し,プログラム作成の準備をします [#dd99a11d] -プログラム中の 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"); **コンストラクタの記述の修正 [#c0008a68] -ツールのIDを決め,コンストラクタ内のメソッド setModuleID の引数として与えます -配列 pairingVisualizationID を初期化して,ペアとなる可視化インタフェースツールのIDを指定します. ---TextDisplay のIDの 1 を指定します.(今回はそのまま)[[可視化インタフェースツール一覧]] ---setToolType(2); [[ツールタイプ]]はプリミティブになります.(今回はそのまま) public NounTop10() { setModuleID(9911); // Set your module ID after you have got it pairingVisualizationID = new int[]{1}; setToolType(2); } *4)一度コンパイルして,NounTop10ツールの動作を確認します [#m7218747] -make または ant コマンドでコンパイルします -コンパイル後TETDMプログラムを起動して,いずれかのテキストを読み込みます -パネル上部の「ツール選択」ボタンを押した後,左側の「名詞TOP10(Pr)」をダブルクリックして選択します -入力テキストが,単語間にスペースが入った状態で表示されていることを確認します(Sample1.java の処理) *5)プログラムの作成に使える入力情報を確認します [#z355228c] -テキスト情報は,TextData型の変数 text に予め格納されているので,その中の単語情報に関するメンバー変数を確認します -[[テキストデータ]] ---KeywordData keyword[]; ---int keywordNumber; ---String word; (KeywordDataクラス内) ---int frequency; (KeywordDataクラス内) ---int partOfSpeech; (KeywordDataクラス内.値が1なら名詞) *6)名詞の頻度上位10個を求めるプログラムを作成します [#md2ea89d] -miningOperations メソッドの case 0: が自動的に実行されますので,そこから呼び出されるところに記述します. -ソートには,source/Utilityフォルダ内のQsort.javaを利用することができます(// import source.Utility.*; のコメントアウトを外して利用します) **String MyMethod()内に作成する場合 [#kb0acee7] String 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); StringWriter sw = new StringWriter(); //For words BufferedWriter bw = new BufferedWriter(sw); try{ for(int i=0;i<10 && i<count;i++) bw.write(text.keyword[nounID[i]].word+" "); bw.flush(); } catch(Exception e){ System.out.println("writing ERROR in NounTop10"); } return sw.toString(); } *7)出力を可視化ツールに渡します [#fcc7ddc3] -可視化ツール TextDisplay がsetDataメソッドによって受け取ることができるデータ型とデータ数を,README.txtファイルや,ソースプログラム(コンストラクタ内のdataNumbers[])を見て確認します -TextDisplay は,String型のデータを1つ(dataIDが0のデータのみ)受け取って表示します ---setDataString(MyMethod()); -可視化ツールにデータを渡す際に,下記のメソッドにより,dataIDを0に初期化できます. ---resetData(); ---dataIDの値は,各データ型ごとに,setData***()メソッドを呼び出すごとに,1ずつ増加していきますので,データを送りなおす場合などに,このメソッドを呼び出す必要があります. *8)コンパイルして動作を確認します [#uca07866] -浦島太郎であれば「浦島 亀 リュウグウ 乙姫 太郎 景色 子供 背中 不思議 綺麗」と出力されます -単語の頻度情報は,処理ツール「単語情報まとめ」可視化ツール「表形式表示」を組合せた出力からも確認できます
テキスト整形のルールを表示する