*テキストデータを扱うためのTextDataクラス [#s6eed297]
-「&color(blue){マイニング処理モジュール};」「&color(blue){可視化インタフェースモジュール};」のいずれも,スーパークラスにおいて,&color(red){TextData}; 型の参照型インスタンス &color(red){text}; に下記データが格納されています.

*TextDataクラス [#r83bfb8a]

|変数名|説明|
|int textID;|テキストのID.現在は,以下の値が設定されます.&br;&color(blue){0:ファイルから読み込んだテキスト};&br;&color(blue){1:セグメント絞り込みで作成された部分テキスト};&br;&color(blue){2:文絞り込みで作成された部分テキスト};|
|String originalText;|入力テキストの文字列|
|String sourceFilename;|入力テキストのファイル名(絶対パスつき)|
|String absolutePath;|TETDMの実行ファイルがあるフォルダへの絶対パス|
|String defaultCode;|入力テキスト保存時の文字コード|
|String getSegmentTag();|セグメントの区切り文字の取得(Ver.0.45から)|
|String getSentenceTag();|文の区切り文字の取得(Ver.0.45から)|
|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[] の要素数)|
|int sentenceToSegment[];|添字として与えられた番号の文が属するセグメント番号&color(blue){(ただし先頭の文番号,セグメント番号は0)};|
|KeywordData keyword[];|テキスト内のキーワード&color(blue){(環境設定/設定ファイル tetdm.conf で指定した品詞)};に関するデータ|
|int keywordNumber;|テキスト内のキーワードの種類数(KeywordData 型配列 keyword[] の要素数)|
|final int maxKeywordNumber=10000;|テキスト内のキーワードの最大種類数&color(red){(この数値を超えるときにはエラーになります)};|
|RelationalData segmentRelation;|「セグメント」をベクトル,「キーワード」をベクトルの要素とした,ベクトル間の関連度|
|RelationalData sentenceRelation;|''(現在使用できません)''「文」をベクトル,「キーワード」をベクトルの要素とした,ベクトル間の関連度|
|RelationalData keywordRelationBySegment;|「キーワード」をベクトル,「キーワードが出現するセグメント」をベクトルの要素とした,ベクトル間の関連度|
|RelationalData keywordRelationBySentence;|''(現在使用できません)''「キーワード」をベクトル,「キーワードが出現する文」をベクトルの要素とした,ベクトル間の関連度|
|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){キーワード数};:もとのまま.頻度は再計算される|
|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};」をコピーとして作成する.|

**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に依存しない,統合環境内で共通のフォーカス情報にアクセスするためのものです.~
(同じテキストを再度読み込んだり,異なるテキストを読み込んだ後も,初期化されずに値が残ります)

|void setMainFocusString(String word)&br; void setSubFocusString(String word)&br; String getMainFocusString()&br; String getSubFocusString()| ある文字列のフォーカス(第1,第2)用変数へのアクセス&br;&color(blue){(""で初期化)};|
|void setMainFocusDouble(double value)&br; void setSubFocusDouble(double value)&br; double getMainFocusDouble()&br; double getSubFocusDouble()| ある実数のフォーカス(第1,第2)用変数へのアクセス&br;&color(blue){(0.0で初期化)};|
|void setMainFocusInteger(int value)&br; void setSubFocusInteger(int value)&br; int getMainFocusInteger()&br; int getSubFocusInteger()| ある整数のフォーカス(第1,第2)用変数へのアクセス&br;&color(blue){(0で初期化)};|
|下記,0.47以降で追加||
|void setFocusStrings(String word)&br; String[] getFocusStrings()| ある文字列集合のフォーカス用変数へのアクセス&br;&color(blue){(要素数1で""で初期化)};|
|void setFocusDoubles(double value)&br; double[] getFocusDoubles()| ある実数集合のフォーカス用変数へのアクセス&br;&color(blue){(要素数1で0.0で初期化)};|
|void setFocusIntegerS(int value)&br; int getFocusIntegers()| ある整数集合のフォーカス用変数へのアクセス&br;&color(blue){(要素数1で0で初期化)};|


*主語の判定方法 [#ica5931d]

-形態素解析器ChaSenで「名詞」と判定される単語のうち,次のいずれかの単語の,直前または2単語前,に存在する,直近の名詞1つを主語としています.(バージョン0.39から)
--が 助詞-格助詞
--は 助詞-係助詞
-バージョン0.40から,「未知語」も主語として判定されます.

*改行コードの位置についての追記(一部はバージョン0.45から) [#cb404e0b]
-文の区切り記号「句点」の直後にある改行コード1つは,その文のデータの最後に付け加えられます.
--それ以降にある改行コードは,その次の文の先頭に付け加えられます.
-セグメントの区切り記号「&color(red){スナリバラフト};」の直前にある空行(前のセグメントの最後の文の句点の次の行以降にある改行コード)は,テキストからカットされ、テキストデータには含まれません.
--「&color(red){スナリバラフト};」の直前に空行がなければ,入力テキストの行数が保持されます.
-「&color(red){スナリバラフト};」の後ろにある改行コードは,次の文の先頭に付け加えられます.

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