kiyokaのブログアーカイブ

Archive of old blog posts

「Sekka」カテゴリの記事

Daybreakというpure rubyのkey-value-storeを試してみた

目的 Sekkaの辞書データベースとして、プラットフォームに依存しない形式は無いものかと探している。 Sekkaの辞書データは結構大きいので、Sekkaインストール時にInternetから取得する方式にしているのだけど、プラットフォーム依存だとどうしても導入時に変換が入ってしまう。 その変換時間がバカにならない。 できれば、ダウンロードして即動かしたい。 現在Sekka辞書 1.6.1でサポートしているフォーマットはgdbm/TokyoCabinet/Redisで、どれもtsvからの読み込みが発生してしまう。

SKKユーザーを満足させるのは難しい

前回の記事で、[Sekka]をレベルアップできないかという話題を書いた。 SKKライクなIMEの特徴である、シフトキーを頻繁に押さないといけないという問題をなんとか改善できないか… ローマ字先頭の大文字を指定しなくても快適に使えるようにならないかということを軽々しく書いた。

SKKライクな日本語入力システムでシフトキーを押す回数を減らしたい

[Sekka]を話題にするのがあまりに久しぶりなのだが、思い立ってSekkaをさらに改善できないか検討している。 今度は、大文字始まりのローマ字を入力しなくても単語が漢字かひらがなかカタカナかを勝手に推測してくれるというもの。 本来、SKKライクなIMEを使っている人は、ひと手間掛けてもよいから思考を乱されるような誤変換を減らしたいという心理で使っている。 なので、わざとひらがなで「ひらがな」と入力したいところを第一候補に「平仮名」という漢字が出てくるといやがられる。

sekka.elからpure emacsでhttp通信しようするも断念

Emacsも年々進化していることだし、もうそろそろcurlコマンドを使わなくてもEmacsだけでHTTP通信できるのでは?と思ってチャレンジしてみた。 今回はあきらめたのだが、理由を忘れそうなのでここにメモしておく。 gibthubのSekka作業ブランチは “http_pure_elisp” 。 https://github.com/kiyoka/sekka/tree/http_pure_elisp

Sekka 1.5.0 リリース

SKKライクな日本語入力メソッド [Sekka] 1.5.0をリリースしました。(リリースノート [Sekka.ReleaseNote])

Sekka 1.4.0 リリース

SKKライクな日本語入力メソッド [Sekka] 1.4.0をリリースしました。(リリースノート [Sekka.ReleaseNote])

後方一致辞書の実験

[Sekka]を2008年に作ってからずっと使っているのだけど、ほぼ毎日使っていると不満が出てくるものだ。 最近、重い腰を上げて挑戦したのが、単語の前方からだけでなく、後方からも曖昧辞書検索するという実験だ。 結果は良好で、さらにミスタイプを救ってくれるようになった。

平仮名フレーズ辞書の入れかえ成功

Wikipedia日本語版のテキストデータを使って平仮名フレーズを作った。 これまで使っていた日本語ウェブコーパス 2010は廃止した。

平仮名フレーズ辞書を入れかえたい

日々使っているとSekkaの平仮名フレーズ辞書に不満が出てくる。 あまりに、口語体の表現が多く含まれているので、固めの文章を書いているときにも、口語体の表現が出て、うっかり確定してしまう。 それを直すのがめんどくさい。 なんとかならんのか…というのが発端。 たとえば、「…かもな」 みたいなフレーズがひょっこり出てきたりする。

Sekka 1.2.0 リリース

SKKライクな日本語入力メソッド [Sekka] 1.2.0をリリースしました。(リリースノート [Sekka.ReleaseNote])

Sekka 1.1.3.pre リリース

SKKライクな日本語入力メソッド [Sekka] 1.1.3.preをリリースしました。(リリースノート [Sekka.ReleaseNote])

Sekka 1.1.1.pre リリース

SKKライクな日本語入力メソッド [Sekka] 1.1.1.preをリリースしました。(リリースノート [Sekka.ReleaseNote])

Sekka 1.1.0.pre リリース

SKKライクな日本語入力メソッド [Sekka] 1.1.0.preをリリースしました。(リリースノート [Sekka.ReleaseNote])

Sekka辞書にdistributed-trieを利用する際の最適値を見付けた

Sekka辞書にdistributed-trieを利用する際の最適値を見付けた。

distributed-trieを使って曖昧文字列検索実装してみた感想

曖昧文字列マッチングのindexをtrieにしたのだが、前よりもモッサリした感じになった。

Sekka 1.0.0 リリース

SKKライクな日本語入力メソッド [Sekka] 1.0.0をリリースしました。(リリースノート [Sekka.ReleaseNote])

Sekkaのブランチを1.0と1.1にわける予定

二つの系列に分けることを考えている。 1.0は安定版としてメンテナンスモードへ(0.9系列をそのまま1.0へ) 1.1は開発版としてアグレッシブな変更を入れるモードへ

Sekkaにトライ木を実装するとしたら ver-2

先日の記事 「2012-03-07SekkaKVSTRIE* Sekkaにトライ木を実装するとしたら ver-1」からの差分。 GitHub上で実際にdistributed-trieという名前でライブラリを実装してみた。 現在は鋭意パフォーマンス計測中。

Sekkaにトライ木を実装するとしたら ver-1

先日の記事 「2012-02-25SekkaKVSTRIE* Sekkaにトライ木の実装が必要な理由」の続き。 [Sekka]の曖昧文字列マッチングはかなり手抜きな実装になっている。 そこをトライ木で改善できるのではないかという話。 ※ 本記事はKey-Value Store型データベースにトライ木を構築する方法を書いています。ポピュラーなtrieライブラリであるDouble ArrayやLOUDSなどのデータ構造の話では無いので、それを期待されて来られた方はすみません… そのあたりの話は全部次の本に書いてあります。私は買いました。ステマではありませんよ。 日本語入力を支える技術。変わり続けるコンピュータと言葉の世界 著者: 徳永 拓之 Amazonで見る

Sekka 0.9.7 リリース

SKKライクな日本語入力メソッド [Sekka] 0.9.7をリリースしました。(リリースノート [Sekka.ReleaseNote])

Sekkaにトライ木の実装が必要な理由

[Sekka]の曖昧文字列マッチングはかなり手抜きな実装になっているので直したい。 トライ木を実装すべき時かもと思いはじめてきた。

]を公開サービスにするという思考実験(サービスの裏側)

先日の、「 2012-01-04Sekka* [Sekka]を公開サービスにするという思考実験(サービスイメージ)」というエントリの続き。 今回はsekka-serverをホスティングする側のアーキテクチャをどうするかを書いてみたいと思う。

]を公開サービスにするという思考実験(サービスイメージ)

ソフトウェアを試してみようと思った時、インストールの容易さが最初に心理的障壁になる。 特にインストールがそうとう難しい場合は心理的障壁は上がる。 sekka-serverはRuby 1.9.xとTokyo Cabinetがインストールされていればわりとインストールは簡単にした積もりだけど、まだまだ苦労する人もいる。 Debian化という話もあって、それも良いことではあるが(@uwabamiさんすみません、ちょっと停滞しています… 気長に待っていてください)

Sekka 0.9.6 リリース

SKKライクな日本語入力メソッド [Sekka] 0.9.6をリリースしました。(リリースノート [Sekka.ReleaseNote])

Sekka 0.9.5 リリース

SKKライクな日本語入力メソッド [Sekka] 0.9.5をリリースしました。(リリースノート [Sekka.ReleaseNote])

Sekka 0.9.4 リリース

SKKライクな日本語入力メソッド [Sekka] 0.9.4をリリースしました。(リリースノート [Sekka.ReleaseNote])

Sekka 0.9.3 リリース

SKKライクな日本語入力メソッド [Sekka] 0.9.3をリリースしました。(リリースノート [Sekka.ReleaseNote])

Sekka 0.9.2 リリース

SKKライクな日本語入力メソッド [Sekka] 0.9.2をリリースしました。(リリースノート [Sekka.ReleaseNote])

Redisは仮想メモリ機能を使ってメモリを節約してくれる

Redisはメモリが溢れた時に仮想メモリを使用するようだ。 単純なIn Memoryデータベースだと思っていたので、用途が限られると思っていた。 データが全てメモリに載りきらない応用にも使えるんじゃないかなぁ。

Redisを試す

前から気になっていたRedisを試した。 (Redis 2.2.12) [Sekka]の辞書ストレージに使うと高速になりそうだという直感があった。 しばらく試した結果、非常に[Sekka]向きだということわかった。非常にレスポンスが良く、まさにスラスラという表現がしっくりくる。 64MByteのメモリを割り当てたTokyo Cabinetと比べてひっかかりが無い。

Sekka 0.9.1 リリース

SKKライクな日本語入力メソッド [Sekka] 0.9.1をリリースしました。(リリースノート [Sekka.ReleaseNote])

平仮名フレーズを辞書として持つのは失敗?

平仮名フレーズ辞書を含めた、[Sekka] 0.9.0をリリースして少し経つが、平仮名フレーズを辞書に持つのは良いことなのかわからなくなってきた。

バグ原因調査: sekka-serverの起動時に辞書の読み込みに失敗する問題

@mori_devさんから[Sekka]のバグ報告があったので調査。 sekka の不具合(?)報告 — Gist => sekka-serverの起動時に辞書の読み込みに失敗する。

Sekka 0.9.0 リリース

SKKライクな日本語入力メソッド [Sekka] 0.9.0をリリースしました。(リリースノート [Sekka.ReleaseNote])

RSpecのformatterのカスタマイズ

最近RSpecによるテストを Emacs の M-x compile で実行するようにした。 何がいいかというと、エラー行に飛べるようになる。 TDDによる開発を行う時は、先にテストケースを書いて、まだ製品コードが未実装の状態でテストがFailすることを確認してから製品コードを書き始める。 そんな中、あまりにもFailした行に飛ぶのが面倒臭くなったのでEmacsが使えないか模索してみた。

スペースキーによる変換確定を試す

[Sekka]のユーザ・インタフェースの欠点として、単語単位でCtrl-Jを押す必要があるところ。 アルファベットキーの合間にCtrl-Jを上手に入力するのは、なかなかの慣れがいる。 あまりにもCtrl-Jを押す回数が多すぎてしんどいので、これをなんとか改善できないかと思っていた。

グダグダ変換

[Sekka]の次の機能として「なっています」等の、よく使う平仮名フレーズも辞書に持つことでミスタイプを救済しようとしているところ。 ミスタイプしまくりでグダグダになった場合でもなんとか救済して変換できてしまうことを称して、「グダグダ変換」と呼ぼうと思う。 たぶん「グダグダ変換」というキーワードは流行らないけれども、[Sekka]のキャッチコピーとしては、わかりやすいのではないかな?

平仮名フレーズ辞書を追加してみようかな(4)

Sekka 0.8.8 リリース

SKKライクな日本語入力メソッド [Sekka] 0.8.8をリリースしました。(リリースノート [Sekka.ReleaseNote])

平仮名フレーズ辞書を追加してみようかな(3)

先日来のエントリ 「2011-07-06Sekka* 平仮名フレーズ辞書を追加してみようかな(1)」 「2011-07-07Sekka* 平仮名フレーズ辞書を追加してみようかな(2)」 の続き。

平仮名フレーズ辞書を追加してみようかな(2)

昨日のエントリ「2011-07-06Sekka* 平仮名フレーズ辞書を追加してみようかな(1)」の続き。 平仮名フレーズ辞書の作りかただが、再度 矢田さんのウェブコーパスを調べてみた。 日本語ウェブコーパス 2010から引用 本コーパスの作成においては,様々なウェブサービス,ツール,コーパスを利 用させていただきました.開発者・研究者の皆様に感謝いたします. コーパスの作成・保存・配布には Amazon Web Services を利用しています. ウェブ検索には Yahoo! JAPAN 検索 Web API を利用しています. ウェブコーパスのシードには IPAdic を利用しています. 文字コードの変換には日本語用のパッチを適用した libiconv を利用しています. Unicode の正規化には ICU を利用しています....

平仮名フレーズ辞書を追加してみようかな(1)

現在の[Sekka] (version 0.8.7)は、漢字の語彙ならば、曖昧辞書検索を使ってミスタイプを補正してくれる。これがSKKに対するアドバンテージになっていると思う。 しかし平仮名のフレーズ、例えば「しました」とか「なっています」などのように平仮名のフレーズは辞書に無いのでミスタイプを救えない。 「なっています」のように少々長めのフレーズだとかなりミスタイプをしてしまう。まだ改善の余地がある。 natteimas (最後のuを入力せずに変換した例)

Sekka 0.8.7 リリース

SKKライクな日本語入力メソッド [Sekka] 0.8.7をリリースしました。(リリースノート [Sekka.ReleaseNote])

Sekka 0.8.6 リリース

SKKライクな日本語入力メソッド [Sekka] 0.8.6をリリースしました。(リリースノート [Sekka.ReleaseNote])

Sekka 0.8.5 リリース

SKKライクな日本語入力メソッド [Sekka] 0.8.5をリリースしました。(リリースノート [Sekka.ReleaseNote])

Sekka 0.8.4 リリース

SKKライクな日本語入力メソッド [Sekka] 0.8.4をリリースしました。(リリースノート [Sekka.ReleaseNote])

Sekka 0.8.3 リリース

SKKライクな日本語入力メソッド [Sekka] 0.8.3をリリースしました。(リリースノート [Sekka.ReleaseNote])

IM飲み会2010に参加した

[Sekka]についてトークさせて頂きました。 スライドを今日、公開しました。 IM飲み会2010 Sekka開発秘話

Cacooを使ってみた。Cacoo超優秀。

Cacoo(カクー)でSekkaのソフトウェアアーキテクチャ図を描いてみた。

Sekka 0.8.2 リリース

SKKライクな日本語入力メソッド [Sekka] 0.8.2をリリースしました。(リリースノート [Sekka.ReleaseNote])

ユーザー語彙登録UIについて考える(続き)

前回「 2010-12-01Sekka* ユーザー語彙登録UIについて考える 」 の続き。

ユーザー語彙登録UIについて考える

[Sekka] 0.8.1には、まだユーザー語彙登録UIがない。 そろそろ、ユーザー語彙登録UIを追加したいと考えている。

「modeless SKK」を着想してから「Sekka」が具現化するまで道のり

この数ヶ月は、SKKライクな日本語入力メソッド Sekka* を開発してきた。 今日は、その着想から今に至るまでを振り返ってみようと思う。 前々からmodelessは自分好みのスタイルだったし、[Sumibi.org]というmodelessな日本語入力方式も作った。 その後[Sumibi.org*]を毎日使っているうちに、modelessの弱点も同時に見えてきたので、さらに良い入力方式が存在し得るハズと思い続けてきた。 どうにかブレイクスルーできないかと試行錯誤した足跡を辿ってみよう。

Sekka 0.8.1 リリース

SKKライクな日本語入力メソッド [Sekka] 0.8.1をリリースしました。(リリースノート [Sekka.ReleaseNote])

Sekka 0.8.0 リリース

[Sekka] 0.8.0をリリースしました。 初回リリースで、かつβリリースです。

AZIK対応に挑戦

今回は、地味でニッチな話題なので、興味がある人は限られると思うのだけど、自分用メモとして。 ローマ字入力方式として、AZIKという方式がある。

石火(Sekka)の日本語入力のデモビデオ公開

[Sekka]で日本語入力ビデオに撮った。 これを見れば、リアルタイムで変換候補が表示されるというのがどんな感じなのかが、イメージできると思う。 これで、[Sekka]に興味を持ってくれる人が一人でも増えると嬉しい。 ただ、ミスタイプした場合にそれを救済してくれる機能の「心地良さ」は実際に使って体験してもらわないとわからないと思うので、興味がある人もリリースまで待って頂きたい。 こういう、「使いやすさ」のような、文章やブログでは表現しにくいものをネットで共有したい場合はどうすればいいのかを漠然と考えているところ。 やっぱり、Shibuya.lisp Hackathon #1 : ATNDのようなイベントに参加してわいわいいいながら開発すれば良いものができるんだろうな。 第一段階として、Twitterで触ってみたファーストインプレッションを呟いてもらえればかなりのことは分かるのかもしれないのでTwitterも活用して良い方法に改善していく努力をしてみたい。

NendoがSekkaの足を引っぱっている

[Sekka]は一応、反応速度が良くなるように気を遣って開発している。 なので、高速が売りのKVSをバックエンドに使っているのだが、いかんせん[Nendo]が速度面で足を引っぱっている。 どうしても高速に処理したい部分はRubyで書いて問題回避しているのだが(笑)、いつまでもそれでは悲しい。 Nendo処理系まだまだチューニングが足りないので、チューニングも必要になってきたぞ。 この修行のループを耐えれば実用言語に育つと信じてがんばっていこう。

Sticky-shiftを試してみたら、小指が痛くなくなった。

Sekka(石火)はSKKと同じように、大文字で送り仮名の位置を指定するので、SKKと同じで Shiftキーを使いすぎて小指が痛くなるという問題がある。 例えば、”行う” を入力したい場合はローマ字で、 “OknaU” と入力しないといけない。

59件の記事があります。