3.ChasenCSクラスのメンバ
ChasenCSクラスのメンバはすべてStaticメンバです。よって、インスタンスを作る必要はありません。
static int optionNum{get;}
setParamsにより与えた茶筌へのパラメータの数。
例:ChasenCS.setParams(new string[]{"-j","-F
%m\t%M"});
ChasenCS.optionNum→2
static bool setParams(string[] param)
static bool setParams(string[] param,string
filename)
茶筌にparamで指定したコマンドラインパラメータを与えて初期化します。
正しいパラメータを渡したときはtrue、不正なパラメータを渡したときはfalseを返します。
また、filenameを指定すると、不正なパラメータを渡したときのエラーメッセージが指定したファイルに出力されます。
なお、茶筌のコマンドラインパラメータについては、茶筌のマニュアルを参照してください。
※注:2回以上呼び出した場合、茶筌の動作は不定となりますので、この関数を呼び出すのは1回だけにしてください。
発生する主な例外
NullReferenceException | paramがnullのとき |
ArgumentNullException | filenameがnullのとき |
ArgumentException | filenameが長さ0、または空白文字のみのとき |
例:
ChasenCS.parseStr("茶筌のテスト");
/*
茶筌 チャセン 茶筌 名詞-一般
の ノ の 助詞-連体化
テスト テスト テスト 名詞-サ変接続
EOS
*/
string
[] param =
{"-F%m\t%H\n"};
ChasenCS.setParams(param);
ChasenCS.parseStr("茶筌のテスト");
/*
茶筌 名詞
の 助詞
テスト 名詞
EOS
*/
static string parseStr(string str)
strで指定した文章を形態素解析して、その結果をstring型の文字列で返します。
発生する主な例外
NullReferenceException | strがnullだったり、解析不能な文章だったとき |
例:
ChasenCS.parseStr("茶筌のテスト");
/*
茶筌 チャセン 茶筌 名詞-一般
の ノ の 助詞-連体化
テスト テスト テスト 名詞-サ変接続
EOS
*/
static string parseFile(string filename)
filenameで指定したテキストファイル内にある文章全体を形態素解析して、その結果をstring型の文字列で返します。
filenameで指定するファイルのパスは相対パス、絶対パスどちらでもよいです。
発生する主な例外
NullReferenceException | filenameで指定したファイルが存在しない、または文章ファイルではない、あるいは何らかの理由でファイルが開けなかったとき |
ArgumentNullException | filenameがnullのとき |
ArgumentException | filenameが長さ0、または空白文字のみのとき |
例:
ChasenCS.parseFile("text.txt");
//text.txtファイル内の文章を形態素解析する。
static void parseStrToFile(string str,string
fout)
static void parseStrToFile(string str,string fout,bool
appendFlg)
strで指定した文章を形態素解析をして、その結果をfoutで指定したファイルに書き込みます。
appendFlgをtrueにした場合は、指定ファイルに追記モードで書き込みを行います。
appendFlgを指定しなかった場合、あるいはfalseの場合は上書きモードで書き込みを行います。
foutで指定するファイルは存在しなければ自動的に生成されます。
また、ファイル名に使えない文字等、無効な文字列だった場合はエラーは出ませんが、解析結果は出力されません。
発生する主な例外
NullReferenceException | strがnullだったり、解析不能な文章だったとき |
ArgumentNullException | foutがnullのとき |
ArgumentException | foutが長さ0、または空白文字のみのとき |
例:
ChasenCS.parseStrToFile("茶筌のテスト","test.txt");
//解析結果をtest.txtに上書きで出力。
/*以下test.txtの内容
茶筌 チャセン 茶筌 名詞-一般
の ノ の 助詞-連体化
テスト テスト テスト 名詞-サ変接続
EOS
*/
ChasenCS.parseStrToFile("さらにテスト。","test.txt",true);
//解析結果をtest.txtの末尾に追記する。
/*以下test.txtの内容
茶筌 チャセン 茶筌 名詞-一般
の ノ の 助詞-連体化
テスト テスト テスト 名詞-サ変接続
EOS
さらに サラニ さらに 副詞-助詞類接続
テスト テスト テスト 名詞-サ変接続
。 。 。 記号-句点
EOS
*/
static void parseFileToFile(string fin,string
fout)
static void parseFileToFile(string fin,string fout,bool
appendFlg)
finで指定した文章ファイルを読み込んで形態素解析をして、その結果をfoutで指定したファイルに書き込みます。
appendFlgをtrueにした場合は、指定ファイルに追記モードで書き込みを行います。
appendFlgを指定しなかった場合、あるいはfalseの場合は上書きモードで書き込みを行います。
foutで指定するファイルは存在しなければ自動的に生成されます。
また、ファイル名に使えない文字等、無効な文字列だった場合はエラーは出ませんが、解析結果は出力されません。
発生する主な例外
NullReferenceException | finが存在しなかったか文章ファイルではなかった、もしくはfin,foutのどちらかのファイルを開くことができなかったとき |
ArgumentNullException | fin,foutがnullのとき |
ArgumentException | fin,foutが長さ0、または空白文字のみのとき |
例:
ChasenCS.parseFileToFile("text1.txt","test.txt");
//text1.txtのテキストの内容の解析結果をtest.txtに上書きで出力。
ChasenCS.parseFileToFile("text2.txt","test.txt",true);
//text2.txtのテキストの内容の解析結果をtest.txtの末尾に追記する。