タグ

ブックマーク / chasen.org/~taku (10)

  • きまぐれ日記: 手書き文字認識エンジン Zinnia on iPhone

    手書き文字認識エンジンZinniaを先日公開しました。全くデモがなくていまいちどういうライブラリか分かりにくかったのですが、Youtube 上に Zinnia を iPhone 上で動作させたというデモ動画を見つけました。すばらしい。 http://www.youtube.com/watch?v=i88uaIu3Khk ほかにもいくつかフィードバック等を見つけました。 Mathieu Blondel さんは、zinnia と tomoe, そして自身が開発なさっている hmm ベースの手書き文字認識エンジンを客観的に比較なさっています。 私自身こういう比較を 行なったことなかったのですが、tomoe に比べて、速度面でも精度面でもsignificantに上回っているようです。特に速度は 10倍ぐらいtomoenに比べて高速なようです。 他にも、tomoe体の認識エンジンに zinniaを

  • きまぐれ日記: Bloom filter

    最近 Bloom filter というアルゴリズムを知りました。1970年に考案された古いアルゴリズムです。 http://en.wikipedia.org/wiki/Bloom_filter http://www.cs.wisc.edu/~cao/papers/summary-cache/node8.html#SECTION00053000000000000000 http://www.perl.com/pub/a/2004/04/08/bloom_filters.html Bloom filter は、キー(通常は文字列)の存在のみをコンパクトなデータ構造で高速に判定するためのアルゴリズムです。キーの存在のチェックでしたら通常の hash でいいのですが、コンパクトになるとは限りません。 Bloom filter は "false positive"、つまり「キーが存在していないのに存

    arajin
    arajin 2006/01/08
    アルゴリズム
  • きまぐれ日記: Julius で遊んでみる

    オープンソース音声認識エンジンの Julius で遊んでみました。 Julius は、奈良先端科学技術大学院大学の鹿野研究室で開発されている音声認識エンジンです。 手前味噌になってしまいますが、奈良先端はいい大学ですね。ChaSen の例もそうですが、 大学としての成果を社会に還元しようという姿勢がすばらしいです。 さて 件の Juliusですが、 以前は敷居の高かったインストール作業がずいぶん楽になっています。 windows なら http://julius.sourceforge.jp/juliuskit.htm にあるディクテーション実行キットをダウンロードして、run_fast.bat を実行するだけでした。 はっきりとしゃべれば、面白いように認識してくれます。ぜひお試しあれ。 話が少し脱線しますが、先日 IBIS という会議に行った際、鹿野先生にお会いしました。音声認識はデータ

    arajin
    arajin 2005/12/05
    オープンソース音声認識エンジン
  • きまぐれ日記: Ajax で隠れた技術を表舞台に出す

    Ajax を知ったのは、今年の2~3月ぐらいだったと思います。この技術に触れたとき、「これで一般には表に出しにくい技術をデモれるかも。。。」と感じたのを覚えています。ほどなくして Ajax KIWI, Ajax IME, Ajax Migemo を作ってそれなりの反響が得られました。 私自身、Webアプリケーション開発の経験はほとんどありません。最近の Web 開発インフラの進歩の速さにはいつも驚かされています。一方、私は急激な進歩とは程遠く、表舞台には出てこない機械学習とか言語処理のツールをふだん hack しています。私がいる分野は、パフォーマンス(実行速度)が結構重要です。 いまさらながら C++ を使って実装していますし、パフォーマンス向上のためのトリビアをそれなりに蓄積しています。ほかにも高速な辞書マッチや文字列検索処理などのコードも書き溜めていました。 今思えばこれがかえって良

    arajin
    arajin 2005/10/06
  • きまぐれ日記: タグとマルチラベル問題と機械学習

    ネット上のサービスを見ていると、メールなりWebページをある一意のカテゴリに分類するという整理法から、タグ(ラベル)をつけるという整理法に変わってきているようです。 代表的な例は Gmail。フォルダという概念はなくメールにラベルを付与していきます。私が良く使う方法は、「リマインダー」のラベル(メールの重要さという観点)と「内容」のラベルです。二つはそれぞれ独立した分類方法ですが、フォルダだと同居できません。他の例だと「はてなブックマーク」があります。ユーザが任意のタグを付与することができます。 機械学習の言葉を使えば、従来のフォルダは「シングルラベル」の分類問題、後者のタグは「マルチラベル」分類問題となります。文字どおり、前者はインスタンスに対し1つのラベルのみを付与する問題、後者は複数のラベルを付与する問題です。 さて、機械学習の分野でマルチラベル問題はどう進展してるのでしょうか?実際

  • Ajax IME: Web-based Japanese Input Method

    Webベースの日本語入力サービスです。海外からでもブラウザさえあれば日語を入力す ることができます。 特別なソフトは必要ありません。 使い方 お使いのコンピュータの日本語入力を切りかえて直接入力にします。 Alt-o (Ctrl-9) で Ajax IMEモードに変更します。(ボタンで切り替えるかえることもできます) 適当な文をローマ字で入力します。 spaceを押して漢字に変換します。続けて押すことで候補選択を行います。 returnを押す、もしくは次の入力を開始することで入力を確定します。 F9で強制的にカタカナに、F8で強制的にアルファベットに変換します。 再度 Alt-o (Ctrl-9)で直接入力に戻ります 海外旅行先や留学先, 海外のネットカフェなど日本語入力環境が 無いパソコンからご使用ください。 Firefox と Internet Explorer で動作確認をしていま

    arajin
    arajin 2005/10/02
  • きまぐれ日記: Ajax を使った手書き文字認識

    Ajax で手書き文字認識を作ってみました。 http://chasen.org/~taku/software/ajax/hwr/ Javascript で描画処理を行い、非同期に座標情報をサーバに送ります。サーバでは文字認識を行い、尤もらしい結果を返します。 前回の Ajax IME と違い、今回はクライアントサイドではなくサーバーサイドの認識エンジンの開発をがんばってみました。画像処理は専門外で経験がありません。逆に言えば、チャレンジングな問題だったし、精度が向上していく様を見てるとわくわくしました。 認識には、機械学習アルゴリズムのひとつである SVM を用いています。学習データとして、オープンソースの手書き文字認識エンジンの Tomoe のデータを使っています。完全に機械学習ベースなので、適当に入力して正解を提示することを繰り返せば、精度が上がっていくと思います。 まだまだ、精度が

    arajin
    arajin 2005/09/19
  • http://chasen.org/~taku/blog/archives/2005/09/_swig_perlrubyp.html

  • きまぐれ日記: はてなキーワードを高速に付与

    arajin
    arajin 2005/09/08
    正規表現
  • mecab-skkserv MeCab を使ってかな漢字変換

    mecab-skkserv とは mecab-skkserv は, 形態素解析器 MeCab を用いたシンプルな仮名漢字変換サーバです. SKK は通常,「単語単位」の変換のみをサポートしますが, mecab-skkserv では, 「文単位」の変換が可能となります. 目次 特長 変更点 ダウンロード インストール 使い方 辞書への単語登録 注意事項 TODO リンク 特長 SKK は通常,「単語単位」の変換のみをサポートしますが, mecab-skkserv では, 「文単位」の変換が可能となります. 連文節を含む比較的長い入力でもそれなりに賢く変換してくれます. 単語連接コストや単語生起コストは, HMM に基づく確率的な推定に基づいて 与えられています. MeCab が出力する N-best 解 を変換候補として用いており, 通常の SKK よりは 多くの変換候補をそれなりのランキン

    arajin
    arajin 2005/03/12
  • 1