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"
> "らくてんいちばでおかいもの"
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"
> "らくてんいちばでおかいもの"
MODIFHI SMARTで始まるシンプルコミュニケーション generated by MetaGateway
| 固定リンク
「Tools」カテゴリの記事
- 一晩でGoogle Home miniが英語しか話せなくなった(2017.12.09)
- スマホの充電器が壊れた(2017.11.30)
- SDカードとかUSBメモリのパーティションをクリーンアップ?してフォーマットする(2017.02.21)
- スマホのSDカードが破損した。復旧を試みる(2016.04.22)
- auスマホでMVNOにMNPしてみた(2015.11.30)
この記事へのコメントは終了しました。
コメント