漢数字とアラビア数字とシートベルト

これはもう何十年も前から困っていることなんだけど、プログラミングやメール、ビジネス文書(企画書・仕様書や契約書など)では数字はアラビア数字を使う。ところが小説というか縦書きの文書では漢数字を使う。

ボクらが普段使っているかな漢字変換プログラム(MS-IME や Atok など)は学習機能があって、よく使う変換なんかを優先して候補に出してくれる。が、これは当然と言えば当然なのだが、なんの文書かまでは判断しない。

たとえばずっと小説を書いていて、そのあとビジネス文書を書く場合、ビジネス文書で数字の入った文章を変換すると、数字が漢数字になってしまう。さっきまで小説を書いているからだ。
逆もまたしかりで、ビジネス文書を書いたあと、小説を書くと、当然、数字の入った文章はアラビア数字となってしまう。

これがけっこうめんどくさいのよね。

文書ファイルの傾向をチェックして、漢数字/アラビア数字を自動的に判別してくれるとありがたいんだけどなぁ。そして今の技術だと出来そうだけどね。

ただ問題がないわけでもない。文書の性質を学習するとなると、文書の内容を IME が読み取ることになる。これは機密文書や社外秘の文書を読み取って良いのかという問題が出るのだ。小説にしても、当然、未発表の作品になるわけで、これらを読み取って、ましてや判断にクラウド上の AI でやるとなると、これは問題だろう。もしこの機能を実装するなら、ローカルで完了すべきだし、学習データは暗号化しておく必要がある。

なんだかんだでめんどくさいなー。

こちらは、久しぶりの交通事故の話。
この日記では何度か取り上げている。この日記で取り合げるときはだいたい一貫していて、被害者側の事故時の状態はどうだったかというものだ。たとえば被害者側にまったく非がなく、単純に加害者側の車に突っ込まれたような事故であっても、被害者がシートベルトをしていたかどうかで生存率は大きく変わる。
もしくは被害者側には定員オーバーの人員が乗っていたとか。

その、ほんのちょっとしたことでも、被害が軽減できるモノなのだ。

ツイートの事故の場合も、後席に座っていた女子大生はシートベルトをしていたのかどうかが気になったのだ。ただシートベルトをしていても、後席の場合、車外に飛び出してしまう可能性は前席よりも高まる。というのも頭から事故った場合、そこが中心となって車の後ろに行くほど振り子のように揺さぶられてしまうためだ。結果、後部座席に座ってる人の方が外に放り出される可能性は高くなる。

また、この女子大生がシートベルトをしていなかった可能性を高める、不可抗力な点が二つある。

  1. 女子大生が免許を持っていない場合、後部座席もシートベルを締めることを知らなかった
  2. ドライバが女子大生にシートベルトをするように言わなかった

車を買ったばかりで運転したくてしかたがなかった上に、遵法意識が低かったドライバであることから、後部座席に座った女子大生に「シートベルトしてね」とはたぶん言わなかったんじゃなかろうか。
なので、免許を持っていない人に対しても、交通ルールを教えると言うことはとても重要な事ではないかと思う。

iOS での RDP のキーボード操作の挙動

Android では RDP(遠隔で Windows を操作できるプロトコル)を使うと、キーボードがおかしくなると言う話題を書いた。これを iOS でやるとどうなるか、会社にある iPad で試す機会を得た。
上記だとただ愚痴だけが書かれているが、より詳しくレポートしようと思う。というのも上記の愚痴はなぜそうなったのかを解らないうちにツイートしてしまったからだ。あれから色々と調べた結果、おそらく以下の様な挙動ではないかと推測するに至った。

まず現象として、RDP で日本語を入力していると予測変換が働き、それを無視して入力し続けると、予測変換が勝手に確定されていってしまう。そこで予測変換が出てきたときに変換キーを押すと、スペースとなってしまい、これまた予測変換が確定してしまう。

ここで試したのは、まず Windows 側の IME を OFF にしてみること。
次に、iOS 側の日本語入力を OFF にし、 Windows 側の IME を ON にしてみること。

この二つの結果は同じであった。
つまりどういうことかというと、おそらく iOS はキーボード入力を直接アプリが触ることは出来ないのではないかと言うことだ。RDP は Windows を操作するものであって、iOS の日本語変換は関係ない。本来ならば押されたキーをそのまま素直に Windows に伝えるのが RDP の役目だ。しかし iOS だとこれがどうやら出来ないらしいのだ。つまり iOS で文字入力したその結果を Windows に渡しているようだった。
だから Windows 側にいろいろ単語登録してあっても、iOS 側で変換してしまうので何の意味も無い。それ以前にキーボードの操作は iOS のものでしかない。ボクは Windows 側の IME に Atok を使っているのだが、これらはまったく意味なし。そもそも IME は ON でも OFF でもまったく関係ない。変換キーを押してもそれはスペースにしかならないため、先ほどのように予測変換で出たものが確定されてしまい、スペースが入力されてしまうのだ。

ではどうやって文字入力をするかというと、予測変換が出てきたときに iOS と同じようにそこから変換をタップするか、候補をタップして望みの変換を選ぶしかないのだ。つまりキーボードから手を離して画面をタッチしてこれらを行うわけである。

う~む、なんだこれ?wwww

新年度が始まると道路も混むと予想していたのだが、それに反してここ数日は秋葉まで一時間を切っている。新年度で交通量が減るというのは初めての経験かも知れない。まぁ別にちゃんと観測しているわけではないのはもちろんなのだが……。

頭の悪い IME を使っていると、自宅 PC の IME も頭が悪くなる

今の出向先の開発マシンは管理者権限をもらえない。そのおかげで僕が普段使っている様々なツールが使えないでいるのだが、その中の一つに Atok がインストール出来ないという問題がある。ボクは Atok をすでに 20 年以上使っており、その辞書も同じく 20 年以上かかって培われてきた。なのでボクの文章入力に関する様々なクセが記憶されている。

しかし、出向先では MS-IME を使わなければならない。まぁそれはべつによかったんだけど、意外な問題が浮上したのだ。

IME は Atok に較べると、ちょっとお馬鹿だ。それも別に運用でカバーできるのだが、この運用がくせ者だった。ボクは Atok では自動連文節変換という設定にしているものだから、そもそも変換キーというのを押さない。ドバーッと入力して、あとは Atok が勝手に変換するのに任せている。ある程度文章を入力すると、前の方が確定し始めるのでその時に誤変換がないか見ながら文章を入力していくのである。

なのでボクの文章というのは非常に誤字脱字が多い<ヲイ
ボクの文章はそのまま Atok の精度と言って良い。

ところが MS-IME はお馬鹿なのでこの技が使えない。どういうことかというと、上と同じやり方で入力すると変換ミスが多すぎてイチイチ直さないといけないのだ。なので最初の 1 ~ 2 ヶ月目でこの入力方法はあきらめて、ほとんど文節変換に近い形で入力していた。

するとどうだろう、家に戻ってもつい文節変換をしてしまうのだ。
そのおかげで Atok にも変なクセが付いてしまい、変な学習がなされてしまった。一連の長い文章として変換するとおかしなことになるのだ……orz

くそー……こんな罠が仕掛けられていたとは。
おかげで小説とかすげー書きづらくなった。

バカに合わせるとこっちもバカになるというのは、人間だけでなくコンピュータでもその通りのようだ(マテ

Atok が Windows 8 でうまく動かん

ボクは IMEAtok を使っているのだが、Windows 8 での動作がおかしくて困っている。起きている問題は、以下の三つ。ちなみに Atok のバージョンは 2012 。

  1. IME が勝手に OFF になるアプリケーションがある。
  2. 1 が発生すると、IME を ON にすると半角固定入力モードになり、それを全角入力に戻すと何故かローマ字入力ではなく、仮名入力になってしまう。
  3. タスクバーにステータスが表示されてないので、今 IME がどういう状態なのか解らない

とにかく 1 が頻発する。原因や条件は解らないが、おおむね IME が OFF になってしまうのは、文字入力が必要ないアプリに見える(ダイアログのみのアプリとか)。で、1 になると、仮名入力に成ってしまう。これをローマ字入力に戻すには、なぜかいったん別の IME に切り替えて、また Atok に戻すと、ローマ字入力にもどる。
正直、仕事の流れ(アプリ A で○○をチェックしながら、エディタにデータ入力して、アプリ C で実行……とか)が IME の切り替えと ON / OFF でスゲーぶった切られる。困った。

で、Atok2013 のダウンロードが始まった。正式版が発売されるまで使えるらしい。のでこっちをインストールしてみると、1 の現象はなくならなかったが、仮名入力になるというのはとりあえずなくなった。あとタスクバーに正しく IME のステータスが表示されるようになったようだ。
うーん、これ、Atok2012 では結局パッチ対応では無理ってことなのかなー。