かな漢字変換システムUhen
Uhen(うへん)とは
個人環境の継続的な語彙拡張を目標とした、かな漢字変換システムです。macOSで動作します。変換のための元データには、オープンデータのみを使用しています。
注意
実験的段階(Experimental)であり、動作保証などありません。かな漢字変換システムとしては、大きな容量(3.6GB)を使用します。
何かおかしいな?と思うことがあれば、すぐに使用を停止して、削除してください。一切の責任を負いかねます。
動作環境
起動条件としては、以下のみです。Apple Silicon, Intelのどちらでも動作します。
macOS: 14.0+
インストール
以下のリンクからUhen.dmgをダウンロードし、Uhen.pkgからインストールできます。
Uhen.dmgのUhen.pkgからインストールすると、Uhen.appというアプリが、~/Library/Input Methodsにインストールされます。インストール後は、一度ログアウトか再起動を行ってください。
アンインストール
Uhen.dmgのUhenUninstaller.appを起動すると、以下のようなポップアップが表示されます。アンインストールするとUhenに関連するすべてのファイルを削除します。
設定
3rd Partyのかな漢字変換ソフトと同様に、システム設定画面からキーボードの追加を行います。もしシステム設定画面に表示されないことがあれば、一度ログアウトすると表示されます。
設定後に画面右上の入力ソース切り替えの場所に、Uhenが追加されている状態となります。通常の入力ソース切り替えと同じ動作で、切り替えが可能になります。
設定画面
入力ソース切り替えメニューから、Uhenを選択すると設定メニューが選択可能となります。設定をクリックすると設定画面が表示されます。
スタイル
一番上が初期値です。初期値は、全角記号になっています。選択した記号が表示されるようになります。
句点
- 。(全角)
- .(全角)
- .(半角)
読点
- 、(全角)
- ,(全角)
- ,(半角)
円(¥)バックスラッシュ(\)
- ¥(全角)
- \(全角)
- ¥(半角)
- \(半角)
スラッシュ(/)ドット(・)
- /(全角)
- ・(全角)
- /(半角)
半角
半角にしたい項目をONにします。初期値は全角です。
数字
0-9の数字を半角にします。
スペース
スペースを半角にします。
記号
選択した記号を半角にします。
自動変換
変換キー(スペースなど)を押下しなくても、随時変換候補の表示を行います。
機能
実装してある機能は、以下のとおりです。
-
連文節変換
-
変換候補の表示
-
単語の区切りの変更(Shiftキーと矢印キーの組み合わせ)
-
ショートカットキー
入力中の文字列へのショートカットキーです。
ショートカット | 文字列 |
---|---|
Ctrl-J | ひらがな |
Ctrl-K | カタカナ |
Ctrl-L | 全角アルファベット |
zh | ← |
zj | ↓ |
zk | ↑ |
zl | → |
z; | … |
- 入力ソース切り替え
Magic KeyboardなどのJISキーボードに存在する英数・かなキーによる入力ソースのトグル動作が可能です。- 英数: 1つ前のラテン系入力ソースへの切り替え
- かな: Uhenへの切り替え
特許
かな漢字変換の特許について、使用している技術要素に関連しそうなものを素人なりに探してみたが、Google日本語入力が使用しているクライアント/サーバ方式というのは、クライアント/サーバ方式でかな漢字変換すること自体が特許に抵触してしまうものなのか判断がつかなかった。Uhenもユーザ入力の処理をクライアント部分で行い、かな漢字変換自体はサーバ部分で行っている。
Appleのライブ変換(Live Conversion)は、変換キー(スペースなど)を押下しないで、変換候補を出すこと自体が特許として出願されているのか、調べてみても見つけられなかった。
ライセンス
個人使用に限ります。再配布・解析などは禁止です。
問題報告
なにか不具合など報告して頂けると助かります。
開発経緯
Appleの日本語入力を使用したいけれど、 なぜかQWERTY配列に固定されていてDvorak配列で使用できないという個人的な問題があった。 (設定でDvorak配列でも使用できることを今更発見した。)
そのため、Google日本語入力を愛用していて、大きな不満もなかったがカスタマイズするには苦労しそうだったので、自作する方がコストが低いと考えフルスクラッチで開発を始めた。
普段使用しているmacOSで動作するかな漢字変換システムを作ることにしたが、WindowsやLinuxなどへも拡張していけるように、クライアント/サーバ方式で開発することにした。各OSのクライアント部分を開発すればそれらの環境でも動くハズ。まずは、変換精度を向上させつつ、最低限必要な機能を実装するのが目標。
プライベートの時間で、コツコツ開発したため時間がかかってしまった。特にかな漢字変換エンジンの連文節変換部分は、ベースの手法に当てがあるわけでもなく、手法の探索という面も含んでいたため、トライアンドエラーの連続だった。個人開発のためお金をかけて大規模なコーパスを整備するということも難しかったため、変換エンジンの手法に一番時間がかかった。取り組んでいる人が少ないのか、macOSのクライアント部分の情報も少なく、ほぼ手探りでAPIの動作を試すということをしていた。
Appleの日本語入力でキーレイアウトを変更する場所
最後に
目的である語彙拡張の機能まで実装していない段階ではあるけれど、最低限の変換ができる部分まで作ったので、リリースすることにした。今後も徐々に機能拡張していきたい。
かな漢字変換の手法に関して、NLP2024とかに出してみたかったが、間に合わなかった。学会活動ができる機会がないか探しているところ。
過去に多く研究されてきて最近は話題にあがらない、かな漢字変換という内容で、博士後期課程に挑戦できるものなのか、チャレンジできたらいいなって思っている。
特許に関して、教えてくださる方がいれば、とてもありがたいです。
Discussion