2011-09-01から1ヶ月間の記事一覧

形態素解析器メモ

はじめに 形態素解析器が何たるかも知らずにいたのでメモ。 形態素とは? 意味を持つ最小の言語単位 形態素<単語<文<テキスト(ドキュメント) 例えば「今日は晴れ」という文は「今日」+「は」+「晴れ」のような形態素(単語)に分解できる 形態素解析とは…

条件付き確率場(CRF)メモ

条件付き確率場とは? 対数線形モデルを系列ラベリング問題へ適用したもの 対数線形モデルメモ http://d.hatena.ne.jp/jetbead/20110923/1316794767 一般には、系列だけでなくグラフの頂点のラベルにも適用できる 系列の場合は、「linear-chain CRF」と呼ば…

PA-IIとSVMの比較

はじめに Passive-AggressiveアルゴリズムとLIBSVMでどの程度の性能差がでるのか試してみた。 使用したデータ LIBSVMのページにあるUCIデータセットのa9aを用いた http://www.csie.ntu.edu.tw/~cjlin/libsvmtools/datasets/ 学習データ : a9a.txt テストデー…

Passive-Aggressive Algorithmメモ

はじめに Perceptronについて調べてたりするとよく間違えた出てくるPAアルゴリズムについて調べたのでメモ。 Passive-Aggressive(PA) Algorithm Passive-Aggressive 心理学とかだと「やれといわれる(受動的)けど実際はやらない(攻撃的)」みたいな意味らしい …

PA-regressionを試す

はじめに PAアルゴリズムは回帰問題にも適用することができる、と書いてあったのでとりあえず試してみた。 パラメータの設定などがわかっていないので、要調査。 使用したデータ LIBSVMのページにあるUCIデータセットのeunite2001を用いた http://www.csie.n…

対数線形モデルメモ

対数線形モデルとは? log-linear model 最大エントロピーモデルとも呼ばれる P(y|d)を直接モデル化する(y:ラベル、d:事例) P(d), P(d|y), P(d,y)などは求めることができない 素性関数 ラベルと事例の組(y, d)を素性として扱う そうでない場合としては、事例…

計量文献学

計量文献学とは? 文献の特徴を数値化→統計的にその文献の分析・比較を行う方法または学問 「書き手によって文章に現れる言葉は違うのではないか?」に注目 文体(文章などのスタイル、和文・漢文、ですます・である調など)に注目=計量文体学 著者が同じ人か…

c++でUTF8

はじめに 以前、g++で日本語処理をするという記事を書いたけど、できるだけ環境に依存せずにUTF8で書かれた文章を処理したい。 調べてみると、UTF8は文字の最初のbyteを見れば何バイトの文字なのかがわかるので、簡単なラッパーを作った。 UTF8の仕様 http:/…

転置インデックスの索引の効率的な保存

はじめに 索引データの保存に関する記事を読んだのでメモ。 索引データの効率的な保存 ドキュメント数やできた索引数が多くなるにつれ、効率的に索引データを保存することが重要になってくる 工夫して索引データを保存することで、いろんなメリットがある メ…

私のブックマーク

はじめに 人工知能学会誌に「私のブックマーク」というのが連載されてるらしく、それに載ってたページをまとめてるものが公開されてることを最近(twitterで)知ったのでメモ。 メモ http://www.ai-gakkai.or.jp/jsai/journal/mybookmark/ 以下、特に自分に関…

多値(クラス)分類

多値分類とは 2値分類(Aか否か)はクラス数が2の場合の分類 多値分類とはクラス数が3以上の場合の分類 多値分類の方法 one-versus-rest法 nクラスの場合は、n個の分離平面を求め、各クラスがそのクラスに属するかどうか もし、1事例が1クラスにしか属すること…

コーパス・言語データ

はじめに 言語処理するのに基となるデータ(言語データ、コーパス)についてまとめてみる。 データ・テキストマイニングなどに。必要に応じてダウンロードして試してみたい。 コーパス(corpus)とは 自然言語処理の研究に用いるために、自然言語の文章(用例)を…

言語モデルの評価尺度

エントロピー、パープレキシティ 言語Lにおいて、単語列の生起確率がのとき、1単語あたりのエントロピーは、 になる。 ある単語について、平均して個の単語が次につながりうることを表す。 このはパープレキシティと呼ばれる。なので、パープレキシティを見…

XORshift乱数

XORshiftとは XORshiftは、random number generator(乱数生成器, RNG)の一つ。周期が十分長く、演算も簡単なので生成速度も速いのが特徴。 コード wikipediaや論文に載っているのは、周期が2^128-1のもの。 C/C++では、「^」はビットXOR、「>>」はビットシフ…

Perceptronの学習過程のプロット

はじめに SGDによるパーセプトロンの学習がどんな感じに収束していくかを見たかったので確認用にflashで作ってみた。 いじっている限りではちゃんと収束してくれた。 プロット結果 ぱーせぷとろんのがくしゅう - wonderfl build flash online

全文検索エンジンメモ

検索の種類 逐次検索(grep)型 すべてのドキュメントを順次探していく方法 ドキュメントの増加により検索速度が低下する 普通に探索、KMP法、BM法など 全部見るので、検索漏れがない 並列化しやすい Suffix型 事前に全てのドキュメントを検索可能な構造に変換…

言語モデル

はじめに 自然言語処理だけでなく、音声認識、スペルチェック、情報検索など多くの分野で使われている「(確率的)言語モデル」について、少しまとめてみる。 言語モデル 「今日/は/晴れ」や「明日/は/雨」などの文はよく使われるのに対し、「晴れ/は/今日」や…

N-gram

はじめに 文書の数学的表現をするためによく用いられるものに「N-gram」というものがある。 最近ちょっと混乱ので、ちゃんとまとめてみる。 N-gramとは? 「文章などで隣り合うn個のこと」文書を数学的に扱うために、普通に考え付くのが「その単語がでたかど…

バイアス項

バイアス項とは 識別関数での切片bのこと。 wは分離平面の方向ベクトルで、としてベクトルにバイアスをいれ、bをw_0として扱うことで、として扱ったりする。 バイアス項は、固定されたオフセット量を許容するためのもの。 イメージ的には、バイアス項を含ま…

RBFカーネルと線形カーネルで文書分類精度に差が出たわけ

はじめに 1か月ぐらい前にやったセリフ分類で、 libsvmを使って線形カーネルとRBFカーネルの精度に差がでてた(そもそも成功はしてないけど)。 結論からいうと、パラメータをいじることで改善するけど、そこら辺の言及されているものを教えてもらったのでメモ…

TF-IDF

TF-IDFについて いくつかの文書が与えられたとき、文書中の単語の重みを決める手法の一つ。 TF(Term Frequency, 文書中の単語出現頻度) 「よくでてくる単語はその文書の主題を表しやすい」 ある文書dに単語tがでてきた個数をtf(t,d)と定める tfの定義として…

シャッフルアルゴリズム

はじめに 配列が与えられたとき、それをバラバラに並び替えたい。 C++のSTLのrandom_shuffle関数を実現したい。 Fisher-Yates shuffle http://en.wikipedia.org/wiki/Fisher-Yates_shuffle一番使われていると思われるシャッフルアルゴリズム。 n個の配列のう…