2012-05-01から1ヶ月間の記事一覧

スクリプト再考&属性決定用語サンプリング

ChromHMMにより隠れ状態を推定するPerlスクリプトですが、変数の受取りや参照の仕方があまり上手くなく、コードが汚くなってきてしまったので、Perlのサブルーチン引数まわりを調べてきれいにしました。@配列や%ハッシュについては変数名間をイコールでつな…

色づけモジュール実装

前回から苦戦していた、HTMLの特定の行にハイライトを入れるプログラムですが、今回も実装の続きを行いました。 HTML::TreeBuilderを利用することはとりあえず諦め、直接HTMLを出力しながらハイライトの為のタグを挿入していく形を取りました。まずは"conten…

行への色付け

特定の行の属性を判別したら、今度はその行に属性ごとのハイライトを加えようと思いました。なので今回からそのためのPerlモジュール作りです。 行の中身はわかっているので直接正規表現でspanタグを挿入しようと思いましたが、行の中身に上付き文字などが含…

出現確率と遷移確率を考慮

ある行について、出現確率が小さかったり、前の行からの遷移確率が小さかったりする場合に、隠れ状態からの属性決定が信用できないと考え、元の示唆ベクトルから考え直して新たに属性を割り振る、という部分について実装しました。コードは修正部分について…

属性決定修正

前回問題になった、複数の隠れ状態が一つの属性に集約されてしまうという問題を解決するため、隣接ベクトルの合計値で同じ値をもつ要素があった場合、それまでに決定した属性とかぶらないようにチェックするようにコードを書き換えました。 if ($attr[$j] > …

隠れ状態から属性決定へ

今回はHMMで推定された隠れ状態から、対応する行の属性情報への変換を試みてみました。プログラムとしては特定の隠れ状態のなかに含まれる行について、示唆ベクトルの和をとり最も多かった示唆ベクトルの列を属性として決定するという単純な部分だけ書いてみ…

出現確率の計算

前回に続き、隠れ状態からその行が得られる確率、出現確率を計算する部分を実装しました。といっても簡単で、隠れ状態を推定する最中に何回判定が起こったかを数える部分を挿入して演算するだけでした。$t0 =0; $t1 =0; for ($j =0; $j if ($state[$j] == $m…

遷移確率の計算

ChromHMMで推定された状態だけでは、その行がもつ属性を判断できないと思われたので、まだ実装していなかった遷移確率と出現確率を求める部分に注目することにしました。遷移確率を求めることで隠れ状態だけからでなく確率的にその行のもつ属性を判断するこ…

示唆単語の抽出・追加

新しいレビューが追加されていたので、それらを読みつつ属性分類するために有効と思われる単語を抜き出す作業を行いました。 この作業をしている中で、「…を示した」や「…とわかった」といった言い回しは、結果を記述するときも結論を記述するときにも使われ…

ベクトル場再考

いくつか論文レビューを読む中で、結果属性や手法属性を示唆する単語がいくつか他にもありそうだったので、それらを追加してみましたが、そうすると今度はベクトル場が大きくなりすぎて、隣接ベクトルの計算がほとんど0になってしまうことが分かりました。 …