semi markov chainの資料

質問があったので。 http://www.worldscibooks.com/etextbook/5979/5979_chap1.pdf 私が見つけて勉強することをあきらめたsemi markov chainの資料は上記のURLのものです。もっかい見直したけど、ボレル測度の時点でもう無理っす。情けないわ。もっと勉強せ…

条件付き確率場のマルコフ性とか準マルコフ連鎖とか

実装する上ではどうでもいい、言葉の定義の問題のところに足を突っ込みつつあるような気もするけれど、CRFについて調べていたらどんどん混乱してきたので、現在のところの理解をまとめてみる。たぶん、突っ込みどころはいっぱいありますので、突っ込んで頂け…

rxを読んだメモ

rxはGoogle日本語入力(Mozc)でも使われているTrieのライブラリである。LOUDSというツリーを表す簡潔データ構造を使ってTrieを実現している。第2回自然言語処理勉強会@東京に行ってきて、そういえばrxは読んでなかったなと思ったので、ちょっとだけ読んでみ…

アットホームのこだわりアカデミーが面白かった

カッコウについて調べていて偶然発見したのだけれど、アットホームのこだわりアカデミーというサイトが面白かった。面白かった記事をいくつか紹介する。 カッコウとオナガの闘い−托卵に見る進化 カッコウが托卵を行うことは有名であるが、江戸時代と今では托…

なぜJSONPだとクロスドメイン制約を超えられるのか?

なぜ通常のXMLHttpRequestにはクロスドメイン制約があるのに、JSONPではクロスドメインでリクエストを送信できるのか?不思議に感じたので、ちょっと調べてみた。 クロスドメイン制約は「ブラウザ上で実行されるJavaScriptは同じドメインにしかリクエストの…

ThinkPad X201sに乗り換えた

これまでThinkPad X200sを使ってきたのだけれど、バッテリがヘタってきたとか、Lenovo直販premium clubのクーポンが半年に一度のレベルの割引率になっているとか、そうやって自分に言い訳をしながらX201sを購入した。購入が9/5で到着が9/15と、来るまでには…

聞くと楽しくなる音

人にはそれぞれ、好きな音、嫌いな音があって、その多くは人々の間で共有できるような気がする。例えば、チョークで黒板をこする音がきらい、なんていうのは多くの人の間で共有できるだろう。 嫌いな音の話を書いても仕方ないので、好きな音の話を書く。飛行…

C++で例外を使ったプログラムをうまく書くにはどうすればいいのか(2)

こないだの記事はアクセス数の割に意外とたくさんコメントや反応を頂いたのだけれど、いろいろ考え始めると、なかなかコメントが返せなかった。 で、私はtry-catchを書くとそのブロックが呼び出される際に微妙にオーバーヘッドがかかるものだとばかり思って…

C++で例外を使ったプログラムをうまく書くにはどうすればいいのか

C++とはできるだけ離れた人生を送りたいと願ってきた。しかし、なかなかそうもいかず、最近はだんだんとC++の知識を学びつつある。今更C++を勉強するなんてちょっと出遅れすぎてるんじゃないかという気もするが、もうすぐ新規格であるC++0xもリリースされる…

強烈に便利なzshrcの設定 3種盛り

タイトルはやや釣りぎみのような気もするが、この設定がないサーバで長時間作業したくない、と思う程度には便利なので、個人的には釣りではないと言える。 ctrl + 矢印で単語単位のカーソル移動 コマンドの真ん中あたりに間違いがあった場合、修正するために…

言語処理のための機械学習入門を読んだ

言語処理のための機械学習入門という本が出版される、という話はtwitterで知っていたのだが、8月ぐらいに出るのだろうとばかり思っていたら、なんかもう発売されているらしい。Amazonでは早速売り切れていたので、某大学生協の書籍部まで行って購入してきた…

UnicornでSinatraアプリをデプロイしてみた

最近は仕事でSinatraアプリを書いたりしているので、Sinatraアプリを動かすためにはどのHTTPサーバを使うのがベストなのかが気になっている。(先に結論を書いておくけれど、どれがベスト、という唯一の選択肢は今のところありません。適材適所です。) Sina…

Preferred Infrastructureは今年も夏期インターンを募集していますよ

あまり話題になっていませんが、私の勤務先のPreferred Infrastructure(略称PFI)では、今年も夏期インターンを募集しております。この夏は何をしようかなと悩んでいる大学3年生の方や大学院1年生の方などはぜひご検討ください。→ http://preferred.jp/intern…

単語分割器Micterを公開しました

しばらく日記書いてなかったら、また文体忘れて敬体で書いちゃったよ…。でも常体に書き換えるのもめんどくさいのでこのままうpします。 単語分割器を作ったので、githubで公開しました。→http://github.com/tkng/micter 名前は単純にMIC segmenTERでmicterに…

iPadの良いところと悪いところと悪いところ

5/11の夕方、その時会社にいた7人の同僚のうち5人が既にiPadの予約をしていた、という異常な熱に浮かされて、iPadを予約してしまった。当然の帰結として、5/28にiPadが自宅に配送され、そして来月のクレジットカードで4万8千円ほど銀行口座から引き落とされ…

TSFはin-process serverである

MSDNのドキュメントにも書いてあるのだが、TSFにおいて、テキストサービスはin process serverであり、アプリケーションと同一のプロセス空間で動作する。Google Techtalk Tokyoで工藤さんの話を聞いた方には、ATOKはほぼ全部がアプリと同一プロセスで動作し…

ジムに行っていろいろ失敗したメモ

痩せようと、去年の9月ぐらいからジムに行き始めたのだが、いろいろ失敗したのでその結果をまとめておく。 色々失敗したので効率が悪く、8ヶ月ぐらいジムに行っていながら、まだ500gぐらいしか痩せてない。というか、一時期、ジムに行きながら1ヶ月で1kgぐら…

Mozc(Google 日本語入力)のコードを読んだメモ(2)

TSFのメモとMozcのコード読みメモを比較すると、書くのにかかった時間は4,5倍は違う(TSFの方が大変だった)のに、ブックマーク数は逆転どころか桁が2桁違う事になりそうだなぁ、と、あらためてGoogleの人気のすごさを体感した。小町さんは こんなに日本語入…

Mozc(Google日本語入力)のコードを読んだメモ

Google日本語入力がOSS化されたということで、気になっていたところをいくつか確認してみた。 変換アルゴリズムはどんな感じか? twitterの工藤さんの発言にも「わりと古典的な最小コスト法」とあるけれど、まさにそんな感じ。人名の処理とかでちょっと特別…

Text Service Frameworkに関するメモ

諸事情でWindowsの文字入力について調べたのだが、専門用語が多くて理解に時間がかかったので、数ヶ月後の自分のためにメモしておく。 Text Service Framework(以下TSF)は汎用的な文字入力フレームワークで、キーボードだけではなく、音声認識や手書き入力な…

Shotgunでlocalhost以外からアクセスする

Shotgunは開発用なので、デフォルトだとlocalhost以外からは見られないようになっている。 shotgun -o 0.0.0.0 って-oオプションをつければ、他のマシンからもアクセスできるようになる。

Ubuntu 10.04でRyuminに使うフォントをTakaoEX明朝に変更する

Ubuntu 10.04 (Lucid Lynx) が4月末にリリースされたので、手持ちのPCをアップグレードした。PDFを見るときには標準の文書ビューワであるevinceを使っているのだが、この10.04からは、Ryuminが指定されている場合、明朝体のフォントを使うようになったみたい…

Sequelのvalidation_helpersの使い方

Sequelのvalidation_helpersの使い方がよくわからなくて、試行錯誤したのでメモしておく。 class Documents < Sequel::Model plugin :validation_helpers def validate validates_min_length 1, :title validates_min_length 1, :body end unless table_exis…

Kneser-Neyの発音が判明した

論文を読んでいると、どうにも発音の仕方が分からない単語がしばしば出てくる。固有名詞、特に人名がからむものに、発音がわからない単語が多いようだ。 例えば、Nonparametric Bayes Modelを勉強すると、ほぼ確実にYee Whye Tehという人にたどり着くのだが…

京都テキスト解析ツールキットを使ってみた

KyTea(京都テキスト解析ツールキット)は京大のGraham Neubigさんが中心となって開発している単語分割&発音推定ツールである。 私はかな漢字変換用の学習データを作るのにこれまではmecabを使っていたのだが、mecab-ipadicのデータには、そもそも読み推定に力…

Google検索の結果から日本語のサイトを消すためには

新年の抱負で1週間に1回ぐらいは更新したい、と書いたが、2月最後の日にして、今月の更新回数は未だ0である。1ヶ月間、1回も更新しないのもアレなので、便利な割にあまり使われていないGreasemonkeyスクリプトを紹介しておきたい。 Google検索は言語設定が日…

Skypeチャットの魅力と暗号化したままでの検索機能

転職するまでskypeチャットは使ったことが無かったのだが、skypeチャットにはいろいろと魅力がある。 通信が暗号化されている 中国版は中国政府が検閲できるという話もないではないが… 自分がログインしてなかった期間のチャットログもログインすると適当に…

iPod touchの初期化には気をつけよう

なんとなくフリック入力が試したくなってiPod touchを購入したのだが、Linuxで初期化しようとしたら失敗して、おまけにWindows XPなマシンにつないでもiTunesから正常に認識されなくなってしまった。認識されるどころか、ケーブルでつないだ瞬間にブルースク…

CRFとSVM-Structの性能比較

以前に系列ラベリングの各種アルゴリズムの比較でCRFが予想外に性能が悪かったと報告している論文の話を見たのだが、今日検索をしていて、"CRF versus SVM-Struct for Sequence Labeling" (S. Keerthi, S. Sundararaja, 2007, pdf) というテクニカルレポート…

ChaIMEで変換できる単語を増やした

ブログなどをクロールしてきたデータをmecabで解析して作ったコーパスからモデルを学習させていたのだが、mecabは決定的に読みをつけるので、例えば「にほん」で「日本」が変換できない(mecabは"にっぽん"と読みをつける)。日常生活で使っていると、これは…