« 楽天APIで自動アフィリエイトリンク作成 | トップページ | XMLRPC::Liteで更新Ping »

2009-05-20

kakasiの辞書に単語を追加する

kakasiで分かち書きするのに、
kakasiの辞書では、単語がかなり細かいので、
もう少し長くしたいと思いました。

つまり、「楽天市場でお買い物」を "kakasi -w" すると
「楽天」、「市場」、「でお」、「買い物」になります。
これを「楽天市場」、「でお」、「買い物」にしたいと思いました。

辞書に独自の単語を登録すればよいのではないのか?
「楽天市場」という単語を登録して、「楽天」と「市場」にマッチしないようにしたい。

早速、Google先生に調べてもらいました。

やはり、より長い単語にマッチした場合には、そちらが優先されるという事がわかりました。

やり方はというと、どうやらmkkanwaというコマンドを利用するようです。
kakasiのソースからkakasidictを取り出し、
"mkkanwa kanwadict kakasidict"
とする事で、kanwadictが作成されるようです。

がっ!kanwadictは既に存在します。

試しに、kanwadictのバックアップを作っておいて、
実際に辞書を作成してみると、確かにできました。

更に、独自の辞書を追加するには、
"mkkanwa kanwadict kakasidict mydict"
のようにして、作成するようで、こちらもうまくいきました。

が、namazuからkakasiを使う場合には、今まで通りの辞書がいいと思い、
試行錯誤してみました。
"mkkanwa mydict.bin kakasidict mydict"
とか、して、
"echo 楽天市場でお買い物 | kakasi -w mydict.bin"
全然ダメです。

他にも色々やりました。
まったくダメでした。
ちょっと一服 . . . 。
気分転換はとても重要です。
物凄く単純な事に気がつきました。

「もしかすると、skkタイプのテキストファイルをそのまま指定すればよいのか?」

やってみました。
まず、適当な辞書を作成しました。
形式は、「ひらがな + 半角スペース + 漢字」です。
文字コードはEUC-JPで改行コードはLF(0xA)です。

File: rakutendict

らくてんいちば 楽天市場


"echo 楽天市場でお買い物 | kakasi -w rakutendict"

. . . あっさりできました。

バイナリにする必要はなかったようです。
辞書ファイルの指定は、追加辞書のファイル名だけでよいようです。

ひらがなへの変換も試してみました。
"echo 楽天市場でお買い物 | kakasi -JH"
> "らくてんしじょうでおかいもの"

"echo 楽天市場でお買い物 | kakasi -JH rakutendict"
> "らくてんいちばでおかいもの"




|

« 楽天APIで自動アフィリエイトリンク作成 | トップページ | XMLRPC::Liteで更新Ping »

Tools」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック


この記事へのトラックバック一覧です: kakasiの辞書に単語を追加する:

» PHPとKAKASIを使って単語に分解する(その1) [ぱふぅ家のホームページ]
PHPとKAKASIを使って単語に分解する(その1)【更新】PHP7対応 [続きを読む]

受信: 2017-08-17 18:52

« 楽天APIで自動アフィリエイトリンク作成 | トップページ | XMLRPC::Liteで更新Ping »