少しは利口になったか? KKJConv v0.7
最後の最後にバグが見つかり一度はあきらめて寝ようと思ったところで悪いところを思いつき慌ててパッケージにしましたバージョンのKKJConv v0.7です。何時もにましてテスト不足ですので前のバージョンに戻せる用意をしてテストに望まれることをお願いします。
今回の目玉は辞書キャッシュの搭載により、少しだけ賢くなったことです。世の中のFEPの学習機能がどうやって実現されているのかは分かりませんが、とりあえず思いついたのは変換結果をキャッシュすることでした。これにより過去の変換結果を素早く呼び出そうということです。無論、キャッシュ内では一番最近使ったエントリーが高い優先順位を持つようになっています。小さなデバイスが対象ですので無理をせず100エントリーもしくはUTF-8換算で読みと結果を合わせて2KB以内という規模でキャッシュを搭載しています。
その他の変更は以下の通りです。
- UIQで調べた改行コードに変更。同じコードでNokia E61も問題なかったです。もし漢字入力画面での改行がコピペ画面に反映されなくなったデバイスをお持ちの場合はご連絡をお願いします。
- 「お世話になります」のように最初に「お」がある場合は2文字目からを変換することも出来るようにした。
- readme.txtを添付した。
プログラムは何時もと同じ以下のurlで入手ください。ファイル名はkkjconv07.zipで、binディレクトリー下のKKJConv.jarが実行ファイルです。
http://www.nkozawa.com/html/E61MyProgList.html
[ ヘビーに使われる方へのお願い ]
キャッシュの統計データ収集のお願いです。がしがし使い込んだ後でコピペ画面のメニューにてCache Statusを表示してレポートをお願いいたします。もちろん、感覚的な使用感も歓迎です。
追記: 現在のバージョンは0.71になっています。v0.7でcache hit rateの計算結果の表示にFloatクラスを使いました、このためCLDC1.1に変更したのですがM1000はCLDC1.0しかサポートしていないため導入できなくなってしまいました。再度、CLDC1.0に戻しhit ratioは固定少数点演算で行うようにしました(最初からこうしておけば、、、)。readme.txtにはMIDP1.0/CLDC1.1となっていますが、これは変更忘れました。またAbout画面もv0.7のままです。あしからず、、、




M1000でインストールできず。
今回のパッケージをインストールするとMIDPのバージョンが違うというエラーメッセージが出て、インストールを継続できません。前回から、何か変えましたか?
PCからのインストールでは、「MIDletスイートは、対応していないJavaばーじょんが必要です」直接だと「JAVAのバージョンが向こうです この機種は対応していません」と表示されインストールが終了してしまいます。
コメント by mackawa — 2006/7/16 日曜日 @ 8:54:39
うう、ひょっとして。実はCLDC1.0からCLDC1.1に変更したのですが、それかも。調査しますのでしばしお待ちを。
コメント by コザック — 2006/7/16 日曜日 @ 8:59:27
やはりそうでした。M1000のproperty情報によるとCDLC1.0しかサポートしていないのですね。今回CLDC1.1にしたのはCache StatusのCache Hit Rateの表示のためだけなので再度CLDC1.0に戻すことは可能です。直ぐ対応版を作ります。
コメント by コザック — 2006/7/16 日曜日 @ 9:03:03
やっぱりそうでしたか。
ReadMe読んでMIDP1.0/CLDC1.1って書いてあってあれって思ってたんですが。
うーん、やっぱりM1000って微妙。
申し訳ありませんが対応お願いします。
コメント by mackawa — 2006/7/16 日曜日 @ 9:23:06
M1000対応版kkjconv071.zipをアップロードしました。あ、readme.txt書き換えてないや。About画面も0.7のままです。
コメント by コザック — 2006/7/16 日曜日 @ 9:27:22
すばやい対応ありがとうございます。
早速試してみます。
それでは、明日からの日本楽しんできてください。
コメント by mackawa — 2006/7/16 日曜日 @ 9:35:54
かわ。さん、朝からお騒がせしました。あまり考えもせずにCLDC1.1にしたのは失敗でしたね。夜中に、勢いでCache Report作っていたので安直な方法を取ってしまいました。では、テストよろしくお願いします。
コメント by コザック — 2006/7/16 日曜日 @ 9:40:00
[M1000]KKJConv0.71リリース
全国100万人のM1000ユーザーにとっては、着実に成長を遂げている コザック同志作のKKJConvの最新バージョンである0.71が本日リリースされまし…
トラックバック by かわ。の日記 — 2006/7/16 日曜日 @ 10:30:54
マイナーなバグひとつ発見。Cache Status ReportのCache sizeが正しくないです。実際の値は表示値の3倍です。
コメント by コザック — 2006/7/16 日曜日 @ 15:12:38
辞書キャッシュの搭載でずいぶんと使い勝手が良くなりました(^^)。
コメント by tosichan — 2006/7/16 日曜日 @ 20:33:25
M1000の入力環境
コザックさんの「KKJConv」がはやくもv0.71に進化を遂げる一方で、ま~さんがFEPの開発に挑戦されるなど、なんかすごいことになっている。
パワー…
トラックバック by 心足齋箚記 — 2006/7/16 日曜日 @ 23:26:16
∪;゚ _・゚>ノまたまた出遅れ中です….
開発者であるコザック神がんばってるのに利用者がでおくれとは情けないかひりなので、汚名返上できるように、これからガシガイ辞書鍛錬します
コメント by Peek_Dog — 2006/7/18 火曜日 @ 8:25:38
辞書鍛練をしていたら辞書キャッシュがつまったようです。
検証はNOKIA E61初期ロット初期ファーム。
同音異義語の変換を繰りかえしていたら、当初は数回変換するまで第一候補切り替わらなくなり、その内第一候補から変換されなくなり、最終的には変換されなくなりました。
実際におこなっていたのは「きき」を「機器」、「危機」、「聞き」というのを順繰りにくりかえしたことで、現在「きき」は変換できません(繰りかえし回数は10回に充たないと思います)。また、ときどき「きき」を平仮名状態のまま確定しても文字が出力されないこともありました。
KKJ Convを終了して、起動しなおしても症状は変わりませんでした。
ちょっと、やばめの症状なので取りいそぎ報告します。
現状環境は保存してますが何か調査することはありますか?
<参考までに>
[ Cache Statistical Summary ]
Cache hit ratio : 28.57%
Total cache hit = 50
Total Retrieve = 175
Hash Variety : 51
Number of cache entries = 100
Cache size = 425 byte
コメント by Peek_Dog — 2006/7/18 火曜日 @ 19:24:11
「お」ではじまる言葉の処理で気になったことなんですが、「お」のつぎの文字から変換するケースで「お父さん」、「お世話」みたいな場合は変換できたのですが、「お茶」(おちゃ)は変換できませんでした。ちなみに「お」、「ちゃ」では「お茶」になったので辞書的には単語があるとはおもうので、変換ロジック上の問題ではないかとおもうのですがどうでしょうか
コメント by Peek_Dog — 2006/7/18 火曜日 @ 19:32:04
Peek_Dogさん、レポートありがとうございます。
おおCache Entry 100ですね。さすがです。と、言ってはいられませんね。キャシッュ・フルとキャッシュの保管サイズの限界での症状みたいですね。私自身のテスト不足が原因みたいです。とりあえずPeek_Dogさんの環境から取り出すデータは有りません。「きき」以外は変換できているという理解で正しいのですよね、、、
現象からロジックを洗いなおすとともにキャッシュ・エントリー、サイズを小さくして再現テストを繰り返してみます。
「お茶」、私は変換できています。何でしょうね、、、キャッシュは関係ないと思いますが、もし再導入してキャッシュの問題を一時的に解消された場合は、「お茶」もう一度、試していただけませんか?
コメント by コザック — 2006/7/19 水曜日 @ 11:15:16
コザックさん
「きき」だけがおかしく「きき」以外は変換出来る状態です。
KKJ ConvをRemoveして再度Installしてみたら「お茶」がでるようになりました。
先に「お」で始まる言葉を「お父さん」、「おかあさん」、「おじいさん」、「お婆あさん」、「お世話」など試していたのでその時の影響でもうけていたような気がします。
うるさくコメントつけておいてなんですが、帰国時くらいはゆっくりとリフレッシュされてくださいね。
ゆっくりとKKJ Convのパワーアップ待ってます
コメント by Peek_Dog — 2006/7/20 木曜日 @ 7:56:48
はじめまして。
KKJConvをNOKIA N70とFreedom Mini Keyboardの組み合わせで使用させていただいております。
キーボード購入前に入れた時はオプション>切り替えでコピペ画面が出ていたのですが、
その後Freedom Mini Keyboardのドライバを入れた所、
オプションの各項目を選択すると落ちる様になりました。
KKJConvの再インストール&バージョンを落としてみても直りません。
また裏で動いているドライバアプリを終了させても効果なしです。
お手数とは存じますがもしご検討いただけるのであれば修正をお願いいたします。
コメント by ゼット — 2006/7/20 木曜日 @ 20:22:39
Peek_Dogさん、
今日やっと時間が取れてキャッシュサイズを小さくしたKKJConvで実機テストを繰り返していました。結果、最後にキャッシュに入ったワードが何度も候補に現れるという現象は確認できました。これがPeek_Dogさんの発見した現象と同じかどうかは、まだ今ひとつ確信は持てませんが関連はあるかもしれません。もうひとつ、再現方法がまだ確立していないのですが一度キャッシュに入れたと思われるワードが変換候補に出てこないことがありました。これが「お茶」問題と同じ現象かもしれないです。
うーん、境界条件の処理が何か変換なぁ、、、これからちょっとソースコードを眺めてみます。
コメント by コザック — 2006/7/20 木曜日 @ 21:21:04
ゼットさん、
これは中々難問です。切替だけで落ちるとするとコピペ画面で使用しているTextBoxの表示だけで落ちているということになります。
スマートフォンでは、時折アプリケーションの組み合わせ等で不可解な障害が発生したりします。そういった種類の問題のような気もします。この場合、導入されたドライバなど最近導入されたアプリ等を完全に削除してみたりして様子を見ていただくのが良いかと思います。
コメント by コザック — 2006/7/20 木曜日 @ 21:33:12
702nKIIとfreedom mini keyboardで使わせていただいています。
上記ゼットさんの症状は
http://d.hatena.ne.jp/rgb400/19000101
のgtbletsさんのコメントにありますように
fepフォルダを標準の日本語入力できるFepのフォルダごと置き換えると、ペアリング時にエラーがでるものの、日本語が入力できるようにはなります。
ご参考までに。
コメント by jbc01620 — 2006/7/20 木曜日 @ 22:15:46
皆さんお早いレスありがとうございます。
KKJConvインストール前後に入れたアプリは例のドライバのみです。
jbc01620さんの言われた通り、FepをPsiloc_CrystalJapanese_S60の物に置き換えたら
コピペ画面でも落ちなくなりました。
Freedom Mini Bluetooth ドライバはPsiloc_CrystalJapanese_S60にも影響し
結構頻繁にCrystalJapaneseの起動に失敗してしまいます。
やはりドライバが色々と悪さしているみたいです…。
コピペ画面が落ちなくなったのは喜ばしいのですが、
今度はコピペ画面で日本語が選択出来ない状況に在ります。
FepをNKanaFepにしてみるも効果がありませんでした。
コメント by ゼット — 2006/7/21 金曜日 @ 0:26:04
jbc01620さん、フォローありがとうございます。
ゼットさん、コピペ画面での文字列選択はOSもしくはドライバーの世界の話になってしまいます。M1000+Freedom MiniではCtrlキーが効かないって話もありますが、それとは別でしょうか。jbc01620さんの702nKIIでは動いているということは何か解決策がありそうですね。
コメント by コザック — 2006/7/21 金曜日 @ 12:38:07
KKJConvのデバック状況ですが、やはりキャッシュの入れ替えロジックに大きな問題が見つかりました。ただいま、格闘中(というほど時間を取って作業していないのですが)です。
コメント by コザック — 2006/7/21 金曜日 @ 13:30:08
こんにちは、JackOneです。
E61で使用してのご報告です。
Peek_Dogさんと同じ不具合が発生しました。
KKJConvを再起動させると再び使用可能になりましたが、そのまま使い続けていると不具合が時々発生しました。
使用していて気になった点として、下記の単語が候補になく変換できませんでした。
「携帯」「予報」「外来」「退治」
要望としては、E61のスペースキーの右隣のキーが「ー(延ばし棒?)」だと使いやすそうだなぁ、と。
キャッシュステータスですが、3回目に不具合が発生した時点での情報です。
[ Cache Statistical Summary ]
Cache hit ratio : 8.77%
Total cache hit = 15
Total Retrieve = 171
Hash Variety : 63
Number of cache entries = 100
Cache size = 582 byte
以上です。
コメント by JackOne — 2006/7/21 金曜日 @ 20:19:43
アレから色々弄ってみた結果、コピペ画面で鉛筆キーで日本語の選択項目は出る様になりましたが、
実際入力出来るのはアルファベット…と言う所まで来ました。
自分の方でも他に抜け道が無いか探してみる事にします。
ここ数日お騒がせさせて申し訳有りませんでした。
また貴重な助言ありがとうございました。
今後とも無理をなさらない程度にアプリ作成頑張ってください。
(もし要望が通るのならば、テキストメモで書き出せればNotesからコピペ出来そうなので良いかも…と思ってみました)
コメント by ゼット — 2006/7/22 土曜日 @ 0:29:12
JackOneさん、候補が出なくなる現象の完全な解明はやっていないのですが、おそらくはキャッシュがらみの現象と思います。現在、キャッシュ関連の操作を大幅に変更中ですのでしばらくお待ちください。
スペースの右のキー押しやすい位置で良いですよね。今、そのキーを押すと記号入力パネルを表示するようにしようと考えています。
ゼットさん、どういたしまして。いつでも、また書き込みしてください。ファイルの書き出しもデバイスによるのですが不可能では無いかもしれません。ただコピペだけが目的とすると、普通のデバイスではコピペ画面と他のアプリからのコピペと何ら変わりは無いはずですなのですが、、、
コメント by コザック — 2006/7/22 土曜日 @ 0:55:15
KKJConvですがPeek_Dogさん、JackOneさんのレポートされている現象を再現できました。これはキャッシュのロジックの問題とは別物でした。辞書リソースのオープン、クローズに不具合があって漢字変換を繰り返しているうちに(おそらく80回以上)メモリー・リークもしくはオープン数の限界を超えてしまい辞書が参照できなくなっていました。ただいま、修正したコードをテスト中です。新たな問題が見つからなければ、明日までには公開できると思います。
コメント by コザック — 2006/7/22 土曜日 @ 16:30:06
コザックさん、初めましてLeoと申します。
N80日本語版+BTキーボードで動作しました。(100%試していない) すばらしいソフトありがとうございます。 更なるご活躍期待しております。
コメント by Leo — 2006/7/23 日曜日 @ 11:55:13
Leoさん、動作報告ありがとうございます。ホームページも拝見しました。楽しいページですね。いろいろ参考にさせてもらいます。
コメント by コザック — 2006/7/23 日曜日 @ 13:28:59