[掲示板へもどる]
一括表示

  [No.525] ChaSenの辞書について 投稿者:kinjo  投稿日:2009/09/14(Mon) 17:41:50

樋口先生

 お世話になっております、kinjoです。
本日はKH Coderが用いている茶筅の辞書について教えていただきたく、投稿させていただきました。

現在Windows版 KH Coderを使用させていただいておりますが、形態素解析に用いている茶筅の辞書が (IPADIC)となっております。この辞書とは別に、伝康晴先生方が開発なさった茶筅用の UniDicという辞書があるとのことなのですが、KH CoderでもこのUniDicを使用すること(辞書の差し替えをすること)は可能でしょうか。

お忙しい中申し訳ございません。
お時間があるときで結構ですのでご教示いただければと存じます。
宜しくお願いいたします。


  [No.526] Re: ChaSenの辞書について 投稿者:HIGUCHI Koichi  投稿日:2009/09/14(Mon) 18:06:54

こんにちは、樋口です。書き込みありがとうございます。

実際に試してはいないのですが、おそらくは可能であろうと考えられま
す。

手順としては、まずKH Coderのフォルダのdep\chasenフォルダをリネー
ムまたは削除し、新しいバージョンの茶筌をdep\chasenに置いて下さい。
(KH Coderに添付のChasenはかなり古いバージョンですので、Unidic
対応かどうか怪しいためです)

その上で、Unidicをdep\chasen\dicあたりにインストールしていただけ
ば、おそらくは、Unidicによる解析が行われるのではないかと思います。

なお、もしIpadicとUnidicの品詞体系に大きな違いがある場合は、KH Co
derの品詞設定を修正する必要があるかもしれません:
http://khc.sourceforge.net/FAQ.html#hinshi

以上ひとまずのご返信までにて失礼いたします。
どうぞよろしくお願いいたします。


  [No.527] Re: UniDicの使用方法 投稿者:HIGUCHI Koichi  投稿日:2009/09/15(Tue) 01:08:12

樋口です。試してみましたところ、以下のような手順でUniDicを使用することがで
きました。

ただし、使用する辞書をUniDicに変更した場合、出力される品詞名が変わってしま
うことから、「複合語の検出」コマンドが利用できなくなります。この問題につい
ては、それほど遠からず、対処を行えればと考えております。

以下、UniDicを使用するための手順です。


■茶筌のアップデート

kh_coder.exeがある場所から見て、「dep\chasen」フォルダに古い茶筌がインスト
ールされています。これを「chasen」フォルダごと名称変更または削除した上で、
新しい茶筌を同じ場所(dep\chasen)にインストールします。

http://sourceforge.jp/projects/chasen-legacy/releases/?package_id=5864
今回はここからChaSen-2.4.2-1-ipadic-sjis-2.7.0.EXEをダウンロードして使用し
ました。

■UniDicへの入れ替え
「dep\chasen\dic」フォルダの中にはipadicがありますので、「dic」フォルダごと
名称変更または削除します。

そして、UniDicをダウンロードするのですが、UniDicの「パッケージ」ではなく、
「個別ファイル」のSJIS版をダウンロードします。パッケージに入っているのは文
字コードがSJISではなくUTF8なので、KH Coderでは使えないためです。

今回は「unidic-chasen1312_sjis.zip」をダウンロードして使用しました。このフ
ァイルを解凍すると、「unidic- chasen1312_sjis」というフォルダが出てきます。
これを「dep\chasen」フォルダ内にコピーした上で、フォルダの名前を「unidic-ch
asen1312_sjis」から「dic」に変更します。

■「chasenrc」ファイルの編集
UniDicについてきた「chasenrc」を編集して、なるべくIPAdicに似た出力になるよ
う設定する必要があります。「dep\chasen\dic\chasenrc」ファイルを、テキストエ
ディタで開き、次のような編集を行います。

1. 辞書の場所
変更前> (GRAMMAR C:\\PROGRA~1\\UNIDIC\\dic\\unidic-chasen)
変更後>

※この行は削除します。

2. 出力フォーマットの変更(1)
変更前> (OUTPUT_FORMAT "<cha:W1 orth=\"%m\" kana=\"%?U/%m/%y/\" pron=\"%?U/%m/%a/\" pos=\"%U(%P-)\"%?T/ cType=\"%T \"//%?F/ cForm=\"%F \"//%?I/ %i//>%m</cha:W1>\n")
変更後> (OUTPUT_FORMAT "%m\t%y\t%M\t%U(%P-)\t%T \t%F \n")

3. 出力フォーマットの変更(2)
変更前> (EOS_STRING "")
変更後> (EOS_STRING "EOS\n")

4. 出力フォーマットの変更(3)
変更前> (ANNOTATION
 (("<" ">") "%m\n")
 (("\"") "<cha:W1 orth=\"&#x22;\" kana=\"&#x22;\" pron=\"&#x22;\" pos=\"%U(%P-)\"%?T/ cType=\"%T \"//%?F/ cForm=\"%F \"//%?I/ %i//>%m</cha:W1>\n") )
変更後>

※「(ANNOTATION」から後はすべて削除します。

■「hinshi_chasen」ファイルの編集
UniDic はIPAdicと異なる品詞名を出力しますので、「config\hinshi_chasen」ファ
イルを修正しなければ、KH Coderは品詞名を認識できません。「config\hinshi_cha
sen」テキストエディタで開き、内容を以下のように変更します。なお、 Windowsの
メモ帳ではなく、サクラエディタ(フリー)や秀丸エディタ(シェア)のような、
文字コードがEUCのファイルを扱えるテキストエディタをお使い下さい。

--------------------------------------------------------------------------
HINSHI_ID,KH_HINSHI,CONDITION1,CONDITION2
7,地名,名詞-固有名詞-地名
6,人名,名詞-固有名詞-人名
4,固有名詞,名詞-固有名詞
2,サ変名詞,名詞-普通名詞-サ変可能
3,形容動詞,名詞-普通名詞-形状詞可能
3,形容動詞,名詞-普通名詞-サ変形状詞可能
3,形容動詞,形状詞-一般
3,形容動詞,形状詞-タリ
19,副詞B,名詞-普通名詞-副詞可能,ひらがな
15,副詞,名詞-普通名詞-副詞可能
19,副詞B,副詞,ひらがな
15,副詞,副詞
16,名詞B,名詞-普通名詞-一般,ひらがな
20,名詞C,名詞-普通名詞-一般,一文字
1,名詞,名詞-普通名詞-一般
9,副詞可能,名詞-普通名詞-副詞可能
12,感動詞,感動詞
17,動詞B,動詞-一般,ひらがな
13,動詞,動詞-一般
18,形容詞B,形容詞-一般,ひらがな
14,形容詞,形容詞-一般
22,形容詞(非自立),形容詞-非自立可能
21,否定助動詞,助動詞,否定
10,未知語,未知語
99999,HTMLタグ,タグ,HTML
11,タグ,タグ
--------------------------------------------------------------------------

なお、既存のプロジェクトについては、そのプロジェクトを開いた状態で「ツール
」「プラグイン」「品詞設定をプロジェクトに読み込む」コマンドを実行して下さ
い。これを行わないと、品詞設定の変更が反映されません。


以上の手順によって、UniDicによる解析を行えるようになります。操作の流れとし
ては、No. 526で私が書きましたような流れなのですが、No. 526のイメージ?より
もかなり複雑な設定が必要でした。失礼いたしました。


  [No.528] Re: UniDicの使用方法 投稿者:kinjo  投稿日:2009/09/15(Tue) 11:04:03

樋口先生

 kinjoです。UniDicのインストールについて丁寧に解説くださり、ありがとうございました。先生のおっしゃるとおりにしたところ、無事インストールが完了し作動確認もできました。感謝申し上げます。


  [No.529] Re: Unidic使用時の複合語の検出につきまして 投稿者:HIGUCHI Koichi  投稿日:2009/09/15(Tue) 15:12:09

こんにちは、樋口です。丁寧に結果をお知らせいただきましてありがとうござ
います。

> ただし、使用する辞書をUniDicに変更した場合、出力される品詞名が変わってしま
> うことから、「複合語の検出」コマンドが利用できなくなります。

UniDic使用時に「複合語の検出」を行われる場合は、以下のファイル内のkh_c
oder.exeおよびpluginフォルダで、現在のファイルを上書きして下さい。そし
て「ツール」→「プラグイン」→「複合語の検出(UniDic)」メニュー内のコ
マンドをお使い下さい。

http://khcoder.info/psnl/tmp/for_unidic.zip

なお、これらの修正は次のバージョン(2.b.22)に含めておきますので、次の
バージョンをリリース次第、上のファイルは削除いたします。


  [No.530] Re: Unidic使用時の複合語の検出につきまして 投稿者:kinjo  投稿日:2009/09/17(Thu) 19:03:34

樋口先生

 複合語の検出についてもご配慮くださり、ありがとうございます。是非活用させていただきたいと思います。