Home - oktopus1959/KanchokuWS GitHub Wiki
漢直Win の後継を目指す KanchokuWS の今後の予定とか、考えてることとか。「TODO」はこちら。
自分がこれまで交ぜ書きをあまり使わなかったのは、
- 辞書の語彙が少ない
- ひらがなの入力が面倒
という2点が大きかった。
語彙の問題は、mecab-ipa 辞書の導入である程度解消された。 一方、ひらがな入力の面倒さは、漢字の読みというのが地の文のひらがな列にはあまり出現しないシーケンスになっていることに起因している。 つまり慣れていないシーケンスは入力するのがつらいということ。
で、これは「当て字変換」を導入するとかなり解消されるのではないかと思っている。
当て字変換というのは、たとえば次のようなもの。
- 「現宿」⇒「げんしゅく」⇒「厳粛」
- 「小直」⇒「しょうちょく」⇒「詔勅」
上のはある意味極端な例だが、「普編」⇒「普遍」や「京受」⇒「享受」なんかはわりといい感じに思えないだろうか。 以下のようなルールを設ければ、それなりに精度が高くなると考えている。
- 元の漢字と一致する文字が多いほうを優先(ただし、元の漢字列と完全に一致するものは候補から除外)
- 漢字を部品に分解して、一致する部品の多いほうを優先
2 の例としては、「不編」⇒「ふへん」から変換される候補の「不変」と「不偏」のうち、後者を選択する。
【追記】
下記ツイートに、現状の交ぜ書き変換での入力例を投稿しています。「しょうちょく」とかもうね、つらいつらいw
https://twitter.com/kanchokker/status/1419861500865368066
【追記2】
v1.1.14 にて導入した #yomiConvert
により実質的に同様の機能を実現したので、「当て字変換」は当面廃案とします。
自分の場合、交ぜ書き変換は完全に補助入力ツールとして使っている。なので、連文節変換機能などは不要。
でも、ひらがな入力から始めて漢直に慣れていこうとする人にとっては、最初は交ぜ書きがメインになるわけで。 こちらの方々が交ぜ書き変換に求める機能は多くなる。少なくとも、変換開始位置や終了位置の変更と連文節変換は必須だろう。 これらの機能については、「Spoiler」の名にかけて実装するつもり。
あと、自分も交ぜ書きを多用するようになって感じたのは、変換操作をした後、表示されている第1候補が出力済み、と思ってしまって、 続けて文章の打鍵を始めてしまうこと。そうすると、意図せざる候補を選択してしまうことになる。
これを防ぐには、自動交ぜ書き変換(リアルタイム変換)が必要になると思っている。勝手に変換候補が表示されるので、必要ならばそれを選びとる、という操作が必須になるから。 選択するときも、「スペースキー連打」で上から順に選択することもできるし、スペースキーを「SandS」式に使って、Space+F で先頭、Space+J で次、みたいな選択もできるとよいと考えている。
前世紀はGPL派だったけど、今世紀に入ってから転向(笑)しました。今は、 DvorakJ も採用している NYSL に近いかな。KanchokuWS も NYSL 準拠と思っていただいて構いません。k.inaba さんも書いてるけど、PDS というのが一番しっくりくるかも。ある意味、自分の原点なので。
KanchokuWS のソースには、ひらがなも履歴入力できるようにしようと思っていろいろ試行錯誤した形跡が残っている。
単純にN文字以上を履歴に残す、とやってしまうとゴミばかりが蓄積されるので、なんらかのフィルター処理が必要。とりあえず n-gram (具体的には 2-gram と 3-gram) のピース単位で収集して、そのピースの出現頻度と連接頻度で何とかうまいこといかないかな、と考えたが、頓挫中。精度を上げるには、やはり形態素解析が必要になりそうだ。
mecab を導入するかなぁ。
Twitter にちょっと書いたけど、やっぱり常時複数キー同時打鍵は負荷が大きい気がする。できれば1キー打鍵でひらがな1文字を出したい。
仮名入力に漢直をじわじわ混ぜていく方法というページでは、 漢直入力したときの打鍵をひらがなに変換して、それが意味をなさない場合に漢直で打ったときの漢字列として辞書登録をする、という方法を紹介している。
実際どうなんだろう。登録できる語パターンに限界がきたりしないんだろうか。というか、一つ一つ単語を辞書登録していくのは面倒そう。
自分としては逆に、薙刀式みたいな配列を使って打鍵したキーの並びが T-Code の漢直として意味をなさない場合(たとえば交ぜ書き辞書とリアルタイムに突合してエントリが無かった場合、というかリアルタイム形態素解析して、 ひらがなの場合と漢字の場合でのコスト計算が必要か?) にひらがなとして出力する、というのもありかと思う。 こちらの場合も、辞書に登録されていない語は(意図せず)無意味なひらがなになってしまうわけだけど。
変なひらがなになったところは「強制漢直モード」みたいので後から直す。タイプした結果を画面で見ながらならその場で直せると思う。
コピータイプなら、とりあえずダダダダーと速射砲のように打って、あとから見直して変なひらがなになっているところを漢字に直す、かな。
いずれにしても、打ったそばから漢字が出力される、という漢直のメリット(というか気持ち良さ)は(少々)失われてしまうけど。
一口に漢直の利用者、といっても様々な方がいる。交ぜ書き変換をメインに使う人だと、スペースキーで変換、というのが便利だろう。
現状では、
- 何か入力する(例「すぶた」)
- スペースキーを押す
- 縦列鍵盤で候補が表示される(第1候補は「酢豚」)
- 再度スペースキーを押すと第1候補が選択されて、入力文字列が置換される(「すぶた」が「酢豚」になる)
となる。
でも、今回導入した自動履歴検索のように横列鍵盤表示にして変換と同時に第1優先候補で入力文字列を置換してやったほうが、 ふつうのIMEっぽくてよいだろうか。第1優先候補の精度に依存するかな。
あるいは、自動変換(リアルタイム変換)を導入するか。自動履歴検索とのコンフリクトを防ぐ必要があるけど。
自分は交ぜ書きはたまにしか使わないので、やはりスペースキーではふつうに空白が出力されるほうがうれしい。 なので、Shift+Space を49番目の漢直キー(仮想キー)に割り当てて、そこに交ぜ書き変換呼び出しを割り当ててみた。
つまり、「すぶた」と入力してから Shift+Space を押すと上のような縦列鍵盤が表示され、もう一度 Shift+Space (Space だけでもOK) を押すと、「酢豚」が選択される。
スペースキーを交ぜ書き変換呼び出しに割り当てるには、設定ダイアログで以下のように設定します。