タグ

ブックマーク / uchiumi.blogspot.com (8)

  • 実数素性テンプレートを作ろう。

    まだ生きてます。 ここしばらくはちと研究のまねごとなどを会社でしている事もあって、あんまりブログに書ける事も無い日々です。 とりあえず対外的に問題ない範囲だと、去年の11月にACMLという会議でポスター発表をしてみました。 ポスターはアブストの提出だけだったのですが、参考文献が後で見直したら壊れていたという大失敗。 後、同じ11月にNL研でクエリの訂正手法についての発表をしてきました。 広島のお好み焼きはおいしかったです。 あと、 NetWalker を活用するべくいくつか実装したものもあるのですが、そちらはまだしばらく非公開。 とりあえず生存報告はこんな所。 最近忙しいですが何となく以前よりは楽しく過ごせている気がします。 で、久しぶりに書いた記事がこれで終わりというのもなんなので、近々 TokyoNLP で発表しようかなと思っている CRF の素性テンプレート周りの話に関連して少々追記

    overlast
    overlast 2011/06/08
    @uchumik さんカッコいい。#TokyoNLP でこれを使ったCRFについてのトークがあるそうです。
  • bigram feature について。

    twitter で @takeda25 さんが指摘されていたのですが, CRF で f(y_{i-1},y_{i},x_{i}) という観測素性とラベル bigram の組みまで考慮した素性関数があまり使われないのは, 素性数が増えるからというよりは計算に時間が掛かるためだろうか? という事を私なりに考えてみました. CRF の1事例に対するパラメータ推定に掛かるオーダーはラベル数L, 系列長Tの時に, O(L^2T) です. forward-backward でラティス中の位置 i, ラベル j のノードの alpha を計算する際には以下の logsumexp の計算を行います. for (k = 0; k < L; ++k) alpha_{i,j} = logsumexp(alpha_{i,j}, alpha_{i-1,k}+cost) この計算を全ての i, j について行います.

  • a hybrid markov/semi-markov cnf

    名前だけ知りつつもどんな物なのか知らなかったので、5月に semi-markov crf の論文 を読んでみました。 semi-crf は入力系列に対する最適なセグメンテーションを学習する学習器です。 crf が P(Y|X, W) を求めていたのに対して、semi-crf では P(S|X, W) を推定します。 文章で書くと、2つの違いは * crf では入力系列 X に対して生成されうるすべてのラベル系列 Y' に対して、正解系列とそれ以外の系列を弁別するよう学習する * semi-crf では入力系列 X に対して生成されうるすべてのセグメンテーション結果 S' に対して、正解のセグメンテーションとそれ以外のセグメンテーションを弁別するよう学習する ということになります。 semi-crf では入力系列が与えられた際に、t_j , ... , u_j までを1つのセグメント s_j

  • グラフラプラシアンで推薦

    以前縁あって小町さんと一緒に仕事をさせてもらい論文に名前を載せてもらったのですが、会社だけでなく自宅でもちょっと使いたいなーということもあり、実装してみることにしました。 参考にしたのは以下の論文です。 ラプラシアンラベル伝播による検索クリックスルーログからの意味カテゴリ獲得 元論文と違うのは、インスタンス-パターン行列の要素を単純な頻度から別の尺度に変えている点です。 元々そのまんま実装してみたところ、非常にレアな場合なのですが、ジェネリックパターン1つのみと共起するようなインスタンスがあった場合に、これが上位に出やすくなるという問題が発生し、どうにかできないかなと模索していたところ、小町さんからアドバイスを頂き、それを基に手を加えています。 とりあえず動作検証のためにMovieLens Data Setsを使って実験してみました。 最初にデータのフォーマットをツールの入力形式へ変更。

  • gibbs sampling

    3月に入って netwalker を購入しました。 電車通勤の時間を利用してコードを書きたいなと思っていたのですが、なかなかよろしい感じです。 といってもキーボードは使いやすいとは言い難く、長いコードは書きたくないですが... ということで、netwalker で作成したプログラム第一号を公開します。 第一号は gibbs sampling を使ったモチーフ抽出アルゴリズムの実装です。 前々から gibbs sampling について調べてはいたのですが、適度な練習問題が無く実装はしていませんでした。 今月になって購入したバイオインフォマティクスの数理とアルゴリズムにちょうど良い例があったので、それを実装してみました。 そもそもモチーフって何という話ですが、一言で言うとタンパク質の配列パターンの事を指すそうです。 私は専門ではないので詳しい事は分かりませんが、ここでは与えられた複数のタンパ

  • Conditional Neural Fields on Google Code

    CNF の著者の Jian Peng 氏に特許について質問をしてみたところ、問題ないということでしたので Google Code にプロジェクトを作成してコードを公開しました。 http://code.google.com/p/cnf/ あまりちゃんとした実装ではないので、使用は自己責任でお願いします。間違ってるかもしれないので、間違いがあれば教えてくれると嬉しいです。 mercurial で管理しているので、以下のコマンドで落としてきて使用できます。 $ hg clone https://cnf.googlecode.com/hg/ cnf $ cd cnf$ make$ ./src/cnflearn src/template data/conll2000/train.txt test.save$ ./src/cnftagger src/template test.save data/c

  • Conditional Neural Fields

    年越ししてから既に2ヶ月が過ぎ、2月も終わりが見えかけてきた今日この頃です。 生存報告をかねて、少しだけ最近やっていた事を書いておきます。 去年の年末くらいに、面白そうな論文を見つけたのでそれを読みつつ、実装していました。 NIPS2009 で発表された論文です。 その名も Conditional Neural Fields 。http://books.nips.cc/papers/files/nips22/NIPS2009_0935.pdf 名前から何か感じるところの有る人もいそうですが、これはCRFに隠れ層を加えて、非線形にした物になります。 自分のメモ用に、先に簡単に CRF についておきます。 -- CRF の説明はNLP2006のチュートリアル資料が割と分かりやすいです。 http://nlp.dse.ibaraki.ac.jp/~shinnou/lecture/nl/NLP20

  • PLSV

    以前書いた plsv の perl script を晒しておく。 勾配法には sgd を使用した。 行数は320行。 #!/usr/bin/perl # Probabilistic Latent Semantic Visualization # Copyright (c) 2009, Kei Uchiumi use warnings; use strict; # Usage # perl plsv.pl corpus our $dimension = 2; our $topicsize = 2; our $alpha = 0.01; our $beta = 0.0001; our $ganma = 0.0001 * $topicsize; our $docnum = 0; # document size N our $iteration = 50; # for sgd parameters

  • 1