リククーブログ

ARTICLE PAGE

日本語入力cannaを現代に蘇らせる アホな評判もなんのその

20151020どうもuimでcannaを使うのに重大な問題がある。
数字と単語を一緒に変換にかけると漢字変換が使えなくなってしまいます。いったんXを再起動とか必要。
どうも、うちの環境が64bitだから、cannaが対応しきれていないのかも。これは参りました。
そんなときにはanthy-8700です。9100よりなぜか賢く、互換性もあります。

今まで、漢字変換についていろいろなことをやってきた、トロぽサイトです。
Linuxにおいては漢字変換は一つではありません。しかし大方mozcです。
G-HAL版のanthyを入れたり、
mozcをコンパイルして入れたり、
SJ3の強化辞書を合体させて復活させたり、(私のホームページで配布)
Solaris系でmozcがつかえなくともG-HAL版のanthyとmecab-skkservならつかえることを実証したり。
今回、昔は王道だったcannaを強化辞書を入れて復活させます。
果たして変換精度のできは?anthyと比べてどのぐらい賢いのか??

Cannaのコンパイル

何か抜けていたらコメントください。なおダウンロード元は検索してもらいます。
canna-3.7p3をダウンロード
Debianのパッチもダウンロード
$ tar xf canna_3.7p3.orig.tar.gz
$ cd Canna37p3/
$ tar xf ../D/canna_3.7p3-13.debian.tar.xz
$ cat debian/patches/01_mkrelease_autoconf213_debian.patch | patch -p1
$ cat debian/patches/04_platex.patch | patch -p1
$ cat debian/patches/06_fix_spelling_error.patch | patch -p1
$ cat debian/patches/07_fix_manpages_error.patch | patch -p1
$ cat debian/patches/08_fix_ftbfs_on_hurd-i386.patch | patch -p1
$ cat debian/patches/09_fix_format_security.patch | patch -p1
$ cat debian/patches/10_fix_manpages_error.patch | patch -p1
$ xmkmf
$ make canna
# make install
$ cd ..
cannaは/usr/local/cannaに入ります
anthyのデフォルト辞書で有名なalt-cannadicをダウンロード
$ tar xf alt-cannadic-110208.tar.bz2
$ cd alt-cannadic-110208/
$ PATH=$PATH:/usr/local/canna/bin make maindic
# cp gcanna.cbd gcanna.cld gcannaf.ctd /usr/local/canna/share/canna/dic/canna/
# vim /usr/local/canna/share/canna/dic/canna/dics.dir
gcanna.cbd(gcanna.mwd) -gcanna---
gcanna.cld(gcanna.mwd) -gcanna---
gcannaf.ctd(.swd) -gcannaf---
この行を追加
iroha.cbd(iroha.mwd) -iroha---
iroha.cld(iroha.mwd) -iroha---
こんな行があったはず こっちは削除
cannaがなんとArchlinuxのSystemd上で動いた!
これが/etc/systemd/system/canna.service
[Unit]
Description=Canna Japanese Conversion Engine

[Service]
User=root
Type=forking
ExecStart=/bin/env LD_LIBRARY_PATH=/usr/local/canna/lib /usr/local/canna/sbin/cannaserver
ExecStop=/bin/env LD_LIBRARY_PATH=/usr/local/canna/lib /usr/local/canna/sbin/cannakill

[Install]
WantedBy=multi-user.target

よくみると分かるが、root権限で動いているのと、/usr/local直下に入れていないためライブラリパスの設定がある
# systemctl start canna
# uim-module-manager --register canna
そう、現代ではcannaをサポートした活発なプロジェクトはuimしかない
この後、uim-pref-gtkでcannaを有効にして、使ってみる必要がある

そこまでやってcannaを入れた意味が有るの?

はい。この文章、cannaで入力しています。
すごいです。同じ辞書を使っているanthyの激しいくせが全く有りません。ちなみにあいつの誤変換から2ch用語が生まれている気がする。
変な名詞が出てこなければ、mozcにはちょっと劣るが、優秀な漢字変換をしてくれます。
信じられないと思うでしょうが、試してみてください。
alt-cannadicは21万語入っています。SJ3の時もそうですが、まともな漢字変換で8万語有ってやっとまともに使えます。
いまG-HAL版のanthyはコンパイル時にWarning多発と-fstack-protector-strongを指定していて、メモリリークとセグメンテーション違反で落ちる問題をかくしている気がします。
枯れたかんなに新しいalt-cannadic辞書ならそうは問題は起こらないでしょう。ネットワークソケット使っているのが気になるが?
ちなみにWnnはuimすら対応してなく、試すのは失敗です。なんと今年新しいリリースが有るのと、それは強化辞書が含まれているのがすごいです。

三歩進んで二歩下がる漢字変換の開発の歴史

canna、Wnn、sj3、ふるい漢字変換エンジンはそれぞれNEC、OMRON、SONYが作ったわりにしょうもない出来だった。しかし貧弱な辞書のせいだったことがのちに明かされる。
FreeWnnに高価な岩波Wnn辞書を入れると快適だと分かっていた。辞書は商売の競争力だったのだ。
mozcがでるまで日本語をLinuxで使いたいならanthyを使えということになっていた。
しかし、実はanthyはIPAの助成で作られており、IPAに開発が振り回されたのかバージョン8000から迷走を始め、でたらめな9100が完成、
かくしてデフォルトで搭載される漢字変換がでたらめなanthy-9100になり、
その間にalt-cannadicやSJ3強化辞書、Wnnも強化辞書が現る。これでふるいエンジンでも快適。ただ何と上流に取り込まれなかったのでいちいち取り替える手間がかかった。
工藤拓という天才がPRIMEという漢字変換を作り上げた。品詞の種類ごとに別の種類とのつながりやすさを数字で指定し、anthyからこれに取り替えろと言われるようになった。しかし開発はなぞの終わりを迎え、ruby1.9に対応できず誰も使わなくなった。
工藤拓はmecabという形態素解析エンジンを作った。日本語の文をコンピューターが理解できるようになった。めかぶは彼の好物だ。
Windows搭載のMS-IMEはあんまりいい変換エンジンではなかった。しかもOfficeXPについている強化版ナチュラルインプットはさらにおかしかった。
ATOKだけが売れる漢字変換になっていた。方言まで自在だが汚い言葉が全部排除されていたので、主にビジネスマンだけが使うようになった。
突如としてGoogle日本語入力が現れるとできるパソコンユーザーはみんな驚いた。こんなにニッチな言葉が打てて、精度もいいのに無料だと?
外部データ送信も疑われたがなかった。
突如としてそれがmozcとして辞書は限定版だがオープンソースになり、Linux,BSDで使えるようになる。これに日本のハッカーはみんな驚いた。
辞書ファイルがないがmozc_serverの中だとか、コンパイル前の辞書がなんかmecab辞書のフォーマットに似ているとか、「ただしイケメンに限る」だけが予測入力ででないように指定された、沖縄方言サポート、いろいろな話が有った。
コンパイル方法が独特だが(make install相当もない)パッケージのないころから苦労していれて満足した。
mozcは何も考えずにスペースキーを押せば正しい漢字になる!(私は日本語を打つうえで何も考えずに済むのはバカになると思ったので、別の方法を探した。)
実はGoogle日本語入力/mozcはanthyの開発者と工藤拓がやったリベンジだったことが明かされたのだった。
またIIIMFからSCIMからIBus、それからfcitxとフロントエンドも開発のすったもんだによる切り替えが有る。 順調に進まない、漢字変換の発達の話でした。
#2017年:mozc-neologd-ut、辞書がまともに形態素解析できる宣言があったので最新版に変えたらあれれ、基本的な言葉の変換がおかしい。宣言があったのがLINEブログから・・・察し
スポンサーサイト

1 Comments

neggar  

Emacs24 + Canna + YC

Arch Linux 4.3.3-2 でEmacs24 + Canna + YC な環境を構築したくて探していました。ここの記事でCannaが構築できました!YCは別途手動で入れ、目的は達成しましたv-315。ありがとうございます。私の環境ではxmkmfがなかったようで、「sudo pacman -S imake」しました。大変参考になりました。新しい記事だったのでみつけたときは嬉しかったです。
(※構築したのはLink先URLのマシンではなく、自作AT互換機corei5です)

2016/01/10 (Sun) 10:08 | EDIT | REPLY |   

Leave a comment

テンプレートに関するご質問・不具合のご報告の際はご自身のブログアドレス記載必須です
ご質問の前に必ずお読みください ↓
FC2テンプレート ご利用時のお願い