プロセッサを利用するとChasenにあった次の機能を利用できるようになります。
・複合語全体の形態素情報を出力するか、その構成語ごとの形態素情報を出力するかを選べる機能(複合語出力機能)
・指定した品詞の並びをひとまとめにして一つの形態素とする機能(連結品詞機能)
・指定した文字列に囲まれた部分を注釈部分として解析の対象から外す機能(注釈機能)

Sen Project - Sen Project

$ cd ./dic
$ compound.pl .
$ java -cp .:../lib/sen.jar:../lib/commons-logging.jar net.java.sen.tools.MkCompoundTable
2007/01/12 22:52:09 net.java.sen.tools.MkCompoundTable main
情報: reading compound word information ...
2007/01/12 22:52:09 net.java.sen.tools.MkCompoundTable main
情報: load dic: compound.csv
2007/01/12 22:52:09 net.java.sen.tools.MkCompoundTable main
情報: done.
2007/01/12 22:52:09 net.java.sen.tools.MkCompoundTable main
情報: writing compound word table ...
2007/01/12 22:52:09 net.java.sen.tools.MkCompoundTable main
情報: done.

dev@sen.dev.java.net - 前処理・後処理を参考に複合語の辞書を作ろうとしたがうまくいかず。compound.csv のファイルサイズが0だし、なんか変。

# 2005-02-14 (月) 20:31:44 sen初心者? :
複合語を出力したいのですが、https://sen.dev.java.net/servlets/ReadMsg?list=dev&msgNo=36を参照にやってみたのですが、生成されたcompound.csvのファイルサイズが0となってしまいます。もしかして自分で複合語の辞書を作る必要があるのでしょうか?
# 2005-02-15 (火) 07:01:47 tfukui? : ipadic-2.6.0
には複合語の項目を持つエントリはありませんので、自分で作る必要があります。

Sen Project - FAQ

Σ(゚д゚|||)ガーン
複合語辞書は自作する必要があるらしい。
あの何やら不思議な括弧でくくってたアレかな……

sen/dicディレクトリで、

$ ./compound.pl <compound.csvを置いたフォルダ>
$ java -classpath ../lib/sen.jar:../lib/commons-logging.jar \
net.java.sen.tools.MkCompoundTable

として下さい。antを利用するのであれば、sen/src/test/dicディレクトリのcompaound.csvを差し替えて

$ ant create-compounddic

とすればokです。

dev@sen.dev.java.net - compound.senの作り方

あと、以下に Sen Project - FAQ で自分にとって参考になりそうなところ。

* Q: 全角アルファベットは「記号-アルファベット」になるのに、半角アルファベットは未知語になるんですけど…。
* A: カスタム辞書に定義してください。(あるいは、解析前に全角に変換しておいてください)
* Q: 半角数字が未知語になります。
* A: IPADICには半角数字は登録されていないため、動作としては正しいです。半角数字を数字に割り当てたい場合は、次のいずれかの対処を行う必要があります。
o カスタム辞書に半角数字を追加
o 半角数字を全角数字へ変換するPreProcessor?を作成
o 数字列をPostProcessor?で名詞-数に割り当て。

半角文字は未知語になってしまうので、事前に全角に変換しておいたほうが良さそう。

tags: zlashdot Java Java MeCabSen

Posted by NI-Lab. (@nilab)