>>[[マイニング処理モジュールの作り方(バージョン0.46まで)]]~
>>[[マイニング処理モジュールの作り方(バージョン0.42まで)]]~
**GUIを作成しない簡易版の作り方は以下のリンク先へ [#f8521860]
-[[マイニング処理モジュールの作り方(簡易版)]]~
-[[マイニング処理モジュールの作り方(簡易版)(バージョン0.46まで)]]~
-[[マイニング処理モジュールの作り方(簡易版)(バージョン0.42まで)]]~
-[[マイニング処理ツールの作り方(簡易版)]]~

*マイニング処理モジュール [#wcd53674]
-入力テキストのデータ([[テキストデータ]])を入力として,入力テキストに関する処理結果をデータとして生成し,可視化モジュールに出力します.
-[[''マイニング処理モジュール作成用ツールキット''>#k8b5fd70]]&color(blue){(''処理モジュール作成用ソース'')};
*マイニング処理ツール [#wcd53674]
-入力テキストのデータ([[テキストデータ]])を入力として,入力テキストに関する処理結果をデータとして生成し,可視化ツールに出力します.
-[[''マイニング処理ツール作成用ツールキット''>#k8b5fd70]]&color(blue){(''処理ツール作成用ソース'')};

*マイニング処理モジュール作成の概要 [#rfa968f8]
-マイニング処理モジュール作成用の、''[[マイニングモジュールクラス]]''(&color(red){MiningModule};)を継承(extends)してクラスを作成します。
*マイニング処理ツール作成の概要 [#rfa968f8]
-マイニング処理ツール作成用の、''[[マイニングモジュールクラス]]''(&color(red){MiningModule};)を継承(extends)してクラスを作成します。
-出力データを作成するための処理は,&color(blue){miningOperations()}; メソッドの中から、呼び出される形で記述します。&color(blue){(''オーバーライド'')};
-パネルを作成するときに必要な初期化処理は、&color(blue){initializePanel()}; メソッドの中に記述します。&color(blue){(''オーバーライド'')};
--パネルが(再)構築されたときに呼び出されます。
-出力データの作成に必要な(データの再生成時に必要な)初期化処理は、&color(blue){initializeData()}; メソッドの中に記述します。&color(blue){(''オーバーライド'')};
--入力テキストの再読み込みがあった場合など、データ再生成の命令があったときに呼び出されます。
-処理結果は、&color(blue){setData***()}; メソッドを利用して、可視化インタフェースモジュールに渡します。
-処理結果は、&color(blue){setData***()}; メソッドを利用して、可視化インタフェースツールに渡します。
--***の部分には渡すデータの型を表す文字列が入ります。
--&color(blue){setData***()}; メソッドが呼び出された瞬間に、可視化インタフェースツール内の ''setData()''メソッドが呼び出されます。
--&color(blue){setData***()}; メソッドは、&color(blue){miningOperations()}; メソッドの中で、出力データを作成する処理が終わった後に記述します。

**マイニング処理モジュールの構成 [#w2f26b5b]
&ref(miningconst2.png,,35%,);

**マイニング処理ツールの構成 [#w2f26b5b]
&ref(MiningConst2.png,,35%,);
**初期化時の処理の流れ [#nbc1c24e]
&ref(initmining2.png,,35%,);
&ref(InitMining2.png,,35%,);
**データ更新時(「再読込+実行」「再実行」「再処理を実行」)の処理の流れ [#m84d2fca]
&ref(retry.png,,35%,);
&ref(Retry.png,,35%,);
**データ送信の流れ [#w3c3357a]
&ref(dataio.png,,35%,);
**サンプルプログラム [#if4c3872]
&ref(Sample2.java);
:入力テキストの単語間にスペースを入れた文字列を生成(ボタンを押すと実行)

*作成の準備 [#o12046dd]

-module/MiningModules フォルダ内に,自分が作成するモジュール(クラス)名のフォルダ(たとえばMyModule)を作成します.
-module/MiningModules フォルダ内に,自分が作成するツール(クラス)名のフォルダ(たとえばMyModule)を作成します.
--&color(red){モジュール名に使用できるのは,アルファベットか数字のみで,一文字目は大文字にする必要があります.};
-作成したフォルダ内に,ソースファイル MyModule.java を用意します.
-MiningModule クラスのサブクラスとして実装します.
-ボタンが押されたときの処理を追加するため ActionListener を追加します.
    例)  class MyModule extends MiningModule implements ActionListener

*コンストラクタの作成 [#q25d06c8]

-setModuleIDメソッドにより,モジュールIDを与えます.(公開用に取得したID,または他のモジュールとかぶらないID)
-setModuleIDメソッドにより,ツールIDを与えます.(公開用に取得したID,または他のツールとかぶらないID)
    例)  setModuleID(4723);

-配列 pairingVisualizationID を初期化して,ペアとなる可視化インタフェースモジュールのIDを1つ以上指定します.
-配列 pairingVisualizationID を初期化して,ペアとなる可視化インタフェースツールのIDを1つ以上指定します.
    例)  pairingVisualizationID = new int[]{1};

-[[ツールタイプ]]が,1:シンプル,2:プリミティブ,3:セミプリミティブ,に該当するときは,setToolType(int) メソッドにより,該当するタイプ番号をセットして下さい.
    例)  setToolType(2);

-コンストラクタ内には,[[マイニングモジュールクラス]]のコンストラクタ用の処理以外は記述しないで下さい

*変数の宣言 [#ue40d5e6]

-クラス内のグローバル変数を宣言して下さい.
-宣言した変数の初期化とインスタンス化は,&color(red){''必ずいずれかのメソッド内で''};行って下さい.

*入力 [#ka4f4712]

-入力は,[[マイニングモジュールクラス]]で定義されている TextData 型のインスタンス text を利用して下さい.

*自動実行メソッドの実装 [#nfb2a6c8]

-[[マイニングモジュールクラス]]で用意されている下記のメソッドを,オーバーライドして実装してください.

***&color(red){[1.GUI初期化]}; void initializePanel(){} [#be134339]
-Swing を利用して作成したGUIコンポーネントを,[[マイニングモジュールクラス]]内で定義されている JPanel 型のインスタンス operationPanel に add して下さい.

***&color(red){[2.初期化と前処理]}; void initializeData(){} [#z44bc8ea]
-処理モジュール内の変数の初期化,マイニングの前処理を記述して下さい.
-処理ツール内の変数の初期化,マイニングの前処理を記述して下さい.
-GUIコンポーネントのうち,入力データに依存するものの初期化は,こちらに記述してください.

***&color(red){[5.マイニング処理と結果の出力]}; void miningOperations(int optionNumber){} &color(red){(実装必須)}; [#b0410be5]
***&color(red){[5. 7.マイニング処理と結果の出力]}; void miningOperations(int optionNumber){} &color(red){(実装必須)}; [#b0410be5]
-全体を&color(red){switch(optionNumber) case 文};により記述した上で,&color(red){case 0:}; の箇所に以下を記述してください.
--マイニング処理の結果を生成する処理
--処理結果を可視化モジュールに送る setData*** メソッド
--処理結果を可視化ツールに送る setData*** メソッド
-可視化ツールの初期表示(&color(blue){''[6.結果の描画]''};)が終わった後に実行する処理(&color(red){''[7.マイニング後処理]''};)を,
&color(red){case -1:};の箇所に記述することができます.
--可視化ツールの表示オプションを指定(ボタン等の初期設定)するなどの利用を想定しています.

*出力 [#x5066dbe]

**dataID について [#xf863041]
-出力は,まず,dataID (可視化モジュールがデータ受け取る際のID番号.可視化モジュール内でデータ型ごとにカウント)の値を0にリセットする、下記のメソッドを呼び出してください。
-出力は,まず,dataID (可視化ツールがデータ受け取る際のID番号.可視化ツール内でデータ型ごとにカウント)の値を0にリセットする、下記のメソッドを呼び出してください。

    void resetData();

--setData*** メソッドにより可視化モジュールがデータの受け取りに成功するごとに、可視化モジュール内の,そのデータ型の dataID は 1 ずつ増加します
--dataIDの値は、ペアとする可視化モジュールごとに、0から1ずつ増加していきます。
--setData*** メソッドにより可視化ツールがデータの受け取りに成功するごとに、可視化ツール内の,そのデータ型の dataID は 1 ずつ増加します
--dataIDの値は、ペアとする可視化ツールごとに、0から1ずつ増加していきます。

**setData*** メソッド [#j8175873]

-出力データの型に対応する setData*** メソッド([[マイニングモジュールクラス]]内で定義)の引数に,生成したデータを与えて呼び出すことで、データを出力してください.

    void setDataBoolean(boolean data);
    void setDataInteger(int data);
    void setDataDouble(double data);
    void setDataString(String data);
    void setDataBooleanArray(boolean data[]);
    void setDataIntegerArray(int data[]);
    void setDataDoubleArray(double data[]);
    void setDataStringArray(String data[]);
    void setDataBooleanArray2(boolean data[][]);
    void setDataIntegerArray2(int data[][]);
    void setDataDoubleArray2(double data[][]);

-上記のメソッドを1つだけ用いる場合,&color(red){''プリミティブツール''(参考:[[ツールタイプ]])};となります.
-特定の dataID のデータとして可視化モジュールにデータを送りたい場合,上記メソッドの使用回数を把握して数を合わせるか,下記のメソッドにより直接 dataID を指定してデータを送ってください.
-特定の dataID のデータとして可視化ツールにデータを送りたい場合,上記メソッドの使用回数を把握して数を合わせるか,下記のメソッドにより直接 dataID を指定してデータを送ってください.

    void setDataBoolean(int dataID, boolean data);
    void setDataInteger(int dataID, int data);
    void setDataDouble(int dataID, double data);
    void setDataString(int dataID, String data);
    void setDataBooleanArray(int dataID, boolean data[]);
    void setDataIntegerArray(int dataID, int data[]);
    void setDataDoubleArray(int dataID, double data[]);
    void setDataStringArray(int dataID, String data[]);
    void setDataBooleanArray2(int dataID, boolean data[][]);
    void setDataIntegerArray2(int dataID, int data[][]);
    void setDataDoubleArray2(int dataID, double data[][]);

-dataID を指定するメソッドを利用した場合,[[データ型コンバート]]は行われません.&color(red){(プリミティブ、セミプリミティブツール(参考:[[ツールタイプ]])の認定対象外となります)};
-[[マイニングモジュールクラス]]の&color(red){''setFocusSegments, setFocusSentences, setFocusKeywordsメソッドによりフォーカス情報をセットした時に,同時にsetDataBooleanArrayのdataIDの4501番と4502番と4503番が用いられ,boolean型のfocusSegments[], focusSentences[], focusKeywords[]のfocus情報が自動的に送信されます.''};

*GUI操作時の処理の実装 [#j7928041]

-GUIのアクションを制御するメソッド actionPerformed をオーバーライドして実装してください
    public void actionPerformed(ActionEvent e);
-GUIの操作時には,下記の処理を実行することが想定されます.
--マイニング処理と結果の出力: &color(blue){miningOperations(optionNumber)}; メソッドを,特定の引数を与えて呼び出す.
---呼ばれた先の &color(blue){miningOperations}; メソッドでは,対応する &color(blue){optionNumber}; の &color(red){case 文};を増やして,マイニング処理の実行と,結果を出力する &color(blue){setData***}; メソッドの呼び出しを行って下さい.
--可視化モジュールの操作: 組み合わせて使用する可視化モジュールの &color(blue){displayOperations(optionNumber)}; メソッドを,特定の引数を与えて呼び出す
--可視化ツールの操作: 組み合わせて使用する可視化ツールの &color(blue){displayOperations(optionNumber)}; メソッドを,特定の引数を与えて呼び出す



*コンパイル [#v789613f]

-統合環境の tetdm フォルダ内で make または ant でコンパイルしてください.(自動的に統合環境に組み込まれます)
--makeまたはantコマンドが無い場合は,コマンドをインストールしてください.
--Windowsのコマンドプロンプトでは,Makefileに記述されているjavacコマンド内のワイルドカード*が使用できないことがあります.
---その場合,antコマンドを使用できるようにしていただくか,cygwinなどのターミナルソフトのインストールが必要です.
--&color(blue){antコマンドでコンパイルを行った場合,各フォルダ内にclassファイルは作成されませんが動作には問題ありません.};

*マイニング処理モジュール作成用ツールキット [#k8b5fd70]
-&color(blue){処理モジュール作成用ソース};
*マイニング処理ツール作成用ツールキット [#k8b5fd70]
-&color(blue){処理ツール作成用ソース};
&ref{MiningToolKit.zip};
-MiningToolKit.java
-MiningToolKit.txt
-Japanese.txt
-README.txt
--3つのボタンを用意し、ボタン名を日本語と英語で切り替え可能
---日本語と英語の切り替えは,「キーワード設定」最下部の「メニューを日本語にする」のチェックで行えます.
--各ボタンが押されると、テキストの一部をもとに作成したString型データを可視化モジュールに送ります
--各ボタンが押されると、テキストの一部をもとに作成したString型データを可視化ツールに送ります
--プリミティブツール([[ツールタイプ]])


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS