*テキストデータを扱うためのTextDataクラス [#s6eed297] -「&color(blue){[[マイニング処理モジュール>マイニングモジュールクラス]]};」「&color(blue){[[可視化インタフェースモジュール>可視化モジュールクラス]]};」のいずれも,スーパークラスにおいて,&color(red){TextData}; 型の参照型インスタンス &color(red){text}; に下記データが格納されています. *TextDataクラス [#r83bfb8a] **テキスト基本情報 [#v39175cb] |String originalText;|入力テキストの文字列| |SegmentData segment[];|セグメントデータ(&color(blue){環境設定/設定ファイル tetdm.conf で指定された文字列&br;「&color(red){スナリバラフト};」を区切りとして分けられる)};| |int segmentNumber;|セグメント数(SegmentData 型配列 segment[] の要素数)| |SentenceData sentence[];|文データ(&color(blue){環境設定/設定ファイル tetdm.conf で指定された &color(red){句点}; を区切りとして分けられる)};&br;&color(red){(上記 SegmentData内でインスタンス化した sentence を参照する)};| |int sentenceNumber;|文の数(SentenceData 型配列 sentence[] の要素数)| |KeywordData keyword[];|テキスト内のキーワード&color(blue){(環境設定/設定ファイル tetdm.conf で指定した品詞)};に関するデータ| |int keywordNumber;|テキスト内のキーワードの種類数(KeywordData 型配列 keyword[] の要素数)| **テキスト前処理データ [#c0380334] |int sentenceToSegment[];|添字として与えられた番号の文が属するセグメント番号&color(blue){(ただし先頭の文番号,セグメント番号は0)};| |RelationalData segmentRelation;|「セグメント」をベクトル,「キーワード」をベクトルの要素とした,ベクトル間の関連度| |RelationalData sentenceRelation;|''(現在使用できません)''「文」をベクトル,「キーワード」をベクトルの要素とした,ベクトル間の関連度| |RelationalData keywordRelationBySegment;|「キーワード」をベクトル,「キーワードが出現するセグメント」をベクトルの要素とした,ベクトル間の関連度| |RelationalData keywordRelationBySentence;|''(現在使用できません)''「キーワード」をベクトル,「キーワードが出現する文」をベクトルの要素とした,ベクトル間の関連度| **テキスト処理設定情報 [#p77e3ed7] |int textID;|テキストのID.現在は,以下の値が設定されます.&br;&color(blue){0:ファイルから読み込んだテキスト};&br;&color(blue){1:セグメント絞り込みで作成された部分テキスト};&br;&color(blue){2:文絞り込みで作成された部分テキスト};| |String sourceFilename;|入力テキストのファイル名(絶対パスつき)| |String absolutePath;|TETDMの実行ファイルがあるフォルダへの絶対パス| |String defaultCode;|入力テキスト保存時の文字コード| |String getSegmentTag();|セグメントの区切り文字の取得(Ver.0.45から)| |String getSentenceTag();|文の区切り文字の取得(Ver.0.45から)| |final int maxKeywordNumber=10000;|テキスト内のキーワードの最大種類数&color(red){(この数値を超えるときにはエラーになります)};| **フォーカス情報の利用関連 [#o6faa05f] |Focus focus;|モジュール間連動のためのフォーカス情報を扱うための情報| |void setSegmentPartialTextData()|セグメント絞り込み(Focus型のfocusSegments[]で,trueにセットされたセグメント)によるテキストデータの作成.以下,作成されるデータの概要↓&br;&color(blue){セグメント数};:フォーカス中のセグメント数&br;&color(blue){文数};:フォーカス中のセグメントに含まれる文の数の合計&br;&color(blue){キーワード数};:もとのまま.頻度は再計算される| |void setSentencePartialTextData()|文絞り込み(Focus型のfocusSentences[]で,trueにセットされた文)によるテキストデータの作成.以下,作成されるデータの概要↓&br;&color(blue){セグメント数};:もとのまま.文の数が0になることもある&br;&color(blue){文数};:フォーカス中の文の数&br;&color(blue){キーワード数};:もとのまま.頻度は再計算される| **ファイル出力 [#u26b9bd3] |void fileSaveOnly(String)|引数として与えられた文字列で,入力テキストを上書きする.TETDMの実行ファイルがあるフォルダ内にも,ファイル「&color(red){REVISEDTEXT};」をコピーとして作成する.| |void fileSaveOnly(String[])|引数として与えられた文字列を結合した文字列で,入力テキストを上書きする.TETDMの実行ファイルがあるフォルダ内にも,ファイル「&color(red){REVISEDTEXT};」をコピーとして作成する.| |void fileSave(String)|引数として与えられた文字列で,入力テキストを上書きする.&color(blue){上書き後,すべてのパネルの処理が再実行される.};TETDMの実行ファイルがあるフォルダ内にも,ファイル「&color(red){REVISEDTEXT};」をコピーとして作成する.| |void fileSave(String[])|引数として与えられた文字列を結合した文字列で,入力テキストを上書きする.&color(blue){上書き後,すべてのパネルの処理が再実行される.};TETDMの実行ファイルがあるフォルダ内にも,ファイル「&color(red){REVISEDTEXT};」をコピーとして作成する.| *TextData型のサブクラス [#tf8a5b52] **SegmentData型 [#jadccfec] |int segmentID;|セグメントのID.セグメント選択の前後で不変.| |String segmentText;|セグメントのテキスト| |SentenceData sentence[];|セグメント内の文データ| |int sentenceNumber;|セグメント内の文の数(SentenceData 型配列 sentence[] の要素数)| |int wordNumber;|セグメント内の総単語数| |int kindKeywordNumber;|セグメント内のキーワード種類数| |int positionOfSegment;|入力テキスト内でのセグメント番号&color(blue){(ただし先頭のセグメント番号は0)};| |int positionOfFirstSentence;|セグメント内の先頭の文の,入力テキスト内での文番号&color(blue){(ただし先頭の文番号は0)};| **SentenceData型 [#peed4c79] |int sentenceID;|文のID.セグメント選択,文選択の前後で不変.| |String sentenceText;|文のテキスト| |int keywordIDList[];|文内に出現するキーワード&color(blue){ID};のリスト(出現順)(IDは KeywordData型配列 keywords[] の添字を表す)| |int keywordNumber;|文内に出現するキーワード数(int 型配列 keywordIDList[] の要素数)| |int kindKeywordNumber;|文内のキーワード種類数| |String word[];|文内の全単語リスト(出現順)(出現時の活用形)| |String wordEndForm[];|文内の全単語リスト(出現順)(終止形)| |int wordIDList[];|文内に出現する単語&color(blue){ID};のリスト(出現順)(IDは KeywordData型配列 keyword[] の添字を表す)&br;&color(red){ただし,キーワード以外の単語IDはすべて-1};| |int wordNumber;|文内の単語数(String 型配列 word[], wordEndForm[], wordIDList[] の要素数)| |int positionOfSegment;|文を含むセグメント内での文番号&color(blue){(ただし先頭の文番号は0)};| |int positionOfSentence;|入力テキスト内での文番号&color(blue){(ただし先頭の文番号は0)};| |boolean subjectCheck[];|文内の各単語が主語であればtrue,要素数はwordNumber| |boolean hasSubject;|文が主語を含んでいればtrue| **KeywordData型 [#d28aebcb] |String word;|キーワードの文字列(活用する単語の場合は終止形)| |int partOfSpeech;|キーワードの品詞:1 名詞, 2 動詞, 3 形容詞, 4 接続詞, 5 副詞, 6 感動詞, 7 助詞, 8 助動詞&br;&color(blue){(現在,未知語は扱えません)};| |int frequency;|キーワードの総頻度| |int frequencyInSegment[];|キーワードの各セグメント内での頻度&color(blue){(添字は 0 から始まるセグメント番号)};| |int sentenceFrequencyInSegment[];|キーワードの各セグメント内での文頻度&color(blue){(添字は 0 から始まるセグメント番号)};| |int appearingSegment[];|キーワードが出現するセグメント番号のリスト| |int appearingSegmentTable[];|添字がキーワードが出現するセグメント番号であれば 1, そうでなければ 0| |int segmentFrequency;|&color(blue){セグメント頻度};:キーワードが出現するセグメントの数(int 型配列 appearingSegment[] の要素数)| |int lastAppearingSegment;|キーワードが最後に出現するセグメント番号| |int appearingSentence[];|キーワードが出現する文番号のリスト| |int appearingSentenceTable[];|添字がキーワードが出現する文番号であれば 1, そうでなければ 0| |int sentenceFrequency;|&color(blue){文頻度};:キーワードが出現する文の数(int 型配列 appearingSentence[] の要素数)| |int lastAppearingSentence;|キーワードが最後に出現する文番号| |int frequencyAsSubject;|キーワードが主語として出現する頻度| |int segmentFrequencyAsSubject;|キーワードが主語として出現するセグメント数| **RelationalData型 [#ka9119d3] |String name[];|各ベクトルの名前| |int frequency[];|各ベクトルの非ゼロの要素数| |int coFrequency[][];|ベクトル間で共通に存在する非ゼロ要素数| |double cond[][];|ベクトル間の条件付き確率&color(blue){(各ベクトルの要素は 0 または 1 としたとき)};| |double cos[][];|ベクトル間のコサイン類似度&color(blue){(各ベクトルの要素は 0 または 1 としたとき)};| |int number;|ベクトル数&color(blue){(上記各配列,各次元の要素数)};| **Focus型 [#f754f6ba] |boolean focusKeywords[];|各キーワードのフォーカスのon, off&br;&color(blue){(添字は 0 から始まるキーワード番号,falseで初期化)};| |boolean focusSegments[];|各セグメントのフォーカスのon, off&br;&color(blue){(添字は 0 から始まるセグメント番号,falseで初期化)};&br;&color(red){(trueのセグメントは部分テキストの作成にも用いられます)};| |boolean focusSentences[];|各文のフォーカスのon, off&br;&color(blue){(添字は 0 から始まる文番号,falseで初期化)};&br;&color(red){(trueの文は部分テキストの作成にも用いられます)};| |int mainFocusKeyword, subFocusKeyword;|あるキーワードのフォーカス(第1,第2)&br;&color(blue){(数値はキーワードID,-1で初期化)};| |int mainFocusSegment, subFocusSegment;|あるセグメントのフォーカス(第1,第2)&br;&color(blue){(数値はセグメント番号,-1で初期化)};| |int mainFocusSentence, subFocusSentence;|ある文のフォーカス(第1,第2)&br;&color(blue){(数値は文番号,-1で初期化)};| |void clear();|セグメント,文,キーワードに関するフォーカス情報の初期化| 以下のメソッドは,TextDataに依存しない,統合環境内で共通のフォーカス情報にアクセスするためのものです.~ &color(red){''(同じテキストを再度読み込んだり,異なるテキストを読み込んだ後も,初期化されずに値が残ります)''}; |void setMainFocusInteger(int value)&br; void setSubFocusInteger(int value)&br; int getMainFocusInteger()&br; int getSubFocusInteger()| ある整数のフォーカス(第1,第2)用変数へのアクセス&br;&color(blue){(0で初期化)};| |void setMainFocusDouble(double value)&br; void setSubFocusDouble(double value)&br; double getMainFocusDouble()&br; double getSubFocusDouble()| ある実数のフォーカス(第1,第2)用変数へのアクセス&br;&color(blue){(0.0で初期化)};| |void setMainFocusString(String word)&br; void setSubFocusString(String word)&br; String getMainFocusString()&br; String getSubFocusString()| ある文字列のフォーカス(第1,第2)用変数へのアクセス&br;&color(blue){(""で初期化)};| |下記,0.47以降で追加|| |void setMainFocusBoolean(boolean value)&br; void setSubFocusBoolean(boolean value)&br; boolean getMainFocusBoolean()&br; boolean getSubFocusBoolean()| ある真理値のフォーカス(第1,第2)用変数へのアクセス&br;&color(blue){(falseで初期化)};| |void setFocusBooleanArray(boolean value[])&br; boolean[] getFocusBooleanArray()| ある真理値集合のフォーカス用変数へのアクセス&br;&color(blue){(要素数1でfalseで初期化)};| |void setFocusIntegerArray(int value[])&br; int[] getFocusIntegerArray()| ある整数集合のフォーカス用変数へのアクセス&br;&color(blue){(要素数1で0で初期化)};| |void setFocusDoubleArray(double value[])&br; double[] getFocusDoubleArray()| ある実数集合のフォーカス用変数へのアクセス&br;&color(blue){(要素数1で0.0で初期化)};| |void setFocusStringArray(String word[])&br; String[] getFocusStringArray()| ある文字列集合のフォーカス用変数へのアクセス&br;&color(blue){(要素数1で""で初期化)};| |void setFocusBooleanArray2(boolean value[][])&br; boolean[][] getFocusBooleanArray2()| ある真理値集合のフォーカス用変数へのアクセス&br;&color(blue){(要素数1でfalseで初期化)};| |void setFocusIntegerArray2(int value[][])&br; int[][] getFocusIntegerArray2()| ある整数集合のフォーカス用変数へのアクセス&br;&color(blue){(要素数1で0で初期化)};| |void setFocusDoubleArray2(double value[][])&br; double[][] getFocusDoubleArray2()| ある実数集合のフォーカス用変数へのアクセス&br;&color(blue){(要素数1で0.0で初期化)};| *主語の判定方法 [#ica5931d] -形態素解析器ChaSenで「名詞」と判定される単語のうち,次のいずれかの単語の,直前または2単語前,に存在する,直近の名詞1つを主語としています.(バージョン0.39から) --が 助詞-格助詞 --は 助詞-係助詞 -バージョン0.40から,「未知語」も主語として判定されます. *改行コードの位置についての追記(一部はバージョン0.45から) [#cb404e0b] -文の区切り記号「句点」の直後にある改行コード1つは,その文のデータの最後に付け加えられます. --それ以降にある改行コードは,その次の文の先頭に付け加えられます. -セグメントの区切り記号「&color(red){スナリバラフト};」の直前にある空行(前のセグメントの最後の文の句点の次の行以降にある改行コード)は,テキストからカットされ、テキストデータには含まれません. --「&color(red){スナリバラフト};」の直前に空行がなければ,入力テキストの行数が保持されます. -「&color(red){スナリバラフト};」の後ろにある改行コードは,次の文の先頭に付け加えられます.