et, al の検索結果:

Apache Nutch のプラグインの作り方

…nerator, Fetcher, Parser などのジョブ(オープンソース Web 検索エンジン Apache Nutch の概要 - Mi manca qualche giovedi`? 参照)の MapTask (もしくは ReduceTask?) から呼ばれるものであるはずなので、デバッグ方法などは Hadoop に準拠する。 IndexingFilter extension-point へのプラグインは org.apache.nutch.indexer.Index…

Apache Nutch のプラグインと言語判別

…r"> <parameter name="raw-fields" value="lang"/> </implementation> </extension> extension@id extension の id。後述の実装クラス名と一致させる?(運用? 必須?) extension@point プラグインする extension-point を表す interface 名 extension/implementation@id extension の実装の id(exten…

オープンソース Web 検索エンジン Apache Nutch の概要

…=view&target=apachecon09.pdf http://sunset.usc.edu/classes/cs572_2010/Introduction_to_Nutch.ppt というわけで、以下は Apache Nutch の構成概要。間違いがあればご指摘歓迎。 Nutch のストレージ Nutch には crawl db, link db, segments(別名 shards) の3種類のストレージと index/indexes がある。 これらは Had…

言語判定ライブラリの英語版プレゼン資料

言語判定ライブラリですが、せっかく49言語対応しているので、おそまきながら英語の資料も作成。 Language Detection Library for Java from Shuyo Nakatani 英語はとても苦手なので、この英語はおかしいとかあればご指摘いただけたらとても嬉しいです。

第8回 データマイニング+WEB 勉強会@東京 #tokyowebmining

…ideshare.net/sstat3/jutaku-rohn-no-risuku-kanri-5773488 住宅ローンの話のようでいて、要因(利害、法令、その他もろもろ)がめちゃめちゃ多くて複雑&長期の予測&データ件数が多くない(涙目)状態のリスクの見積もりと聞けば、結構いろいろな対象に適応できる枠組みかも。 「金融は6割当たれば神」という話をこの前聞いたけど、それもうなずける。 意外と(?)アナログな話が多いのも、おもしろい。 今回初参加。以前から「なんかいつもすごい時…

WebDB Forum 2010 で「国際化時代の40カ国語言語判定」を発表しました #webdbf2010

…language-detection ライブラリ プロジェクト(日本語) 本ライブラリは「第2回 自然言語処理勉強会@東京」にて一度発表しており、今回の発表はそのときの内容と基本的には同じとなっています。が、発表の時間などの関係からアルゴリズムの詳細や、文字や言語についての一般的な知識のまとめなどを省略しておりますので、もしそのあたりにご興味あれば、以前の発表資料もご参照ください。 自然言語処理勉強会で「ナイーブベイズによる言語判定」を発表してきました - Mi manca …

第3回自然言語処理勉強会@東京 #tokyonlp

…会@東京 - Togetter 「FSNLPの3章を読む」 by @hitoshi_ni さん 文法について一通り。数理モデル一切無し、もろ言語学(の入り口)。 FSNLPの3章は一通り読んではいたが、背景知識も含めてまとめてくださっていたので、とても助かる。 言語学オススメ基本図書 #gengo - Togetter でおすすめされてた「言語の脳科学」をちょうど読み始めていて、今当たり前のように言語を数理モデルで扱っているけど、それはとても最近始まったことで、それより前の膨…

EMNLP 2010 の論文紹介 / 自然言語処理勉強会@東京 #3

…mpirical Methods on Natural Language Processing) の論文を4本+5本紹介しています。質より数で勝負。 論文を広く浅く読むススメ(仮) 「たまたま手近にあった方法論」に固執する可能性 by 持橋さん (IBIS 2010 のオープニングセッションにて) 例)関係ない、関心ない、難しくてわかるわけないから(読んでも|聞いても)ムダ 例)読めそうな、わかりそうな論文だけ読む 例)とりあえずナイーブベイズ、その枠内でどこまでも泥臭く 論…

IBIS2010 に行ってきたよ(2日目) #ibis10

…kkai-web.net/gakkai/ieice/vol4no1pdf/vol4no1_39.pdf Compressive Sensing Resources http://dsp.rice.edu/cs L1 正則化で復元できる(ことがある)、「完全」に復元できるための十分条件の評価に確率的手法を使っているので、言えているのが「十分高い確率で完全に」復元できる、であるというのがなんかおもしろい。 そしてここでも "Slepian & Wolf"。 まだキラーアプリがない…

F# で素数判定 (Miller-Rabin)

…」というところ。 let inline square n = n * n let rec modpowI (a:bigint) n m = if n = 1I then a elif n % 2I = 0I then (modpowI a (n / 2I) m |> square) % m else ((modpowI a (n - 1I) m) * a) % m let rec fac2pow s d = if d % 2I = 0I then fac2pow (s + 1…

F# で汎用の関数(汎用のリテラル)を書く

…ば、かっこいい。 let max a b = if a > b then a else b let x = max 1 2 // int let xL = max 1L 2L // int64 let xI = max 1I 2I // bigint 自動汎化がうまくいっているかは、Visual Studio でソースを書いて、関数名にマウスを重ねれば確かめられる。 型として 'a のように表示されれば、汎化が働いていることがわかる。 関数や変数にマウスオーバーすれば推論され…

第2回 自然言語処理勉強会@東京

…う思います。 Malettを使ったLDA by @tsubosaka さん http://d.hatena.ne.jp/tsubosaka/20100925/1285424360 Mallet はこの前の PRML 最終回でも、ちらっと教えてもらってたので興味は持っていたが、この後でさらにいろいろ細かいところを聞いてみると、Instance というデータコンテナ的なもの(?)が抽象化のためにメンバを java.lang.Object で持っていて、実際にモデルに食わせたときに…

自然言語処理勉強会で「ナイーブベイズによる言語判定」を発表してきました

…性能が出せていなかったデンマーク語などのいくつかの言語を除く46言語分)ので、すぐ試してもらえるようになっている。 http://code.google.com/p/language-detection/ http://code.google.com/p/language-detection/wiki/ProjectHomeJa (日本語) ドキュメントやパラメータを調整する API の整備はこれからだが、「言語判定」という単目的のライブラリなので、たぶん難しくはないと思う。

「Web本文抽出 using CRF」の学習用データの作り方

…ideshare.net/shuyo/web-using-crf 実装: http://github.com/shuyo/iir/blob/master/sequence/crf.py http://github.com/shuyo/iir/blob/master/sequence/pg.py http://github.com/shuyo/iir/blob/master/extractcontent/webextract.py が、肝心のモデルファイルや学習用データを公開し…

ほどよく不自然な言語をつぶやき続けるスクリプト

…= codecs.getwriter('utf_8')(sys.stdout) if len(sys.argv) != 2: print >>sys.stderr, "Usage: endless_text.py <n-gm file>" exit(1) filename = sys.argv[1] # read ngram file stop_words = [u"</S>", u"<UNK>", u"<EMOJI_B0C>"] ngram_dict = {} for li…

最近読んだ論文(半教師CRF、教師有りLDA、TextRank)

…え2個3個の tweet には分離してしまうあたりが減点。 というわけで、はてなダイアリーの twitter 記法で試しにまとめてみたのだが、うーん、決して見やすくはないなあ……。 再編集してまで紹介したい論文なら、別途記事を書けばいいし。悩ましい。 半教師CRF "Semi-Supervised Conditional Random Fields for Improved Sequence Segmentation and Labeling" (Jiao+, COLING/…

自然言語処理勉強会@東京 第1回

…う。 LDAでtweetをタギング(@PENGUINANA_ さん)。 twitter検索でタギングに LDA を使っている、という話は前に聞いたことあって、無教師なのにどうやってラベリングしてるんだろう、手かなあ、と思っていたら、手だった。 モデルに賞味期限があるという話は、Pathtraq カテゴライズでいろいろ身に覚えがあるので、とてもわかるw あわせて紹介してはった、人種と名前の対応確率とかもおもしろかった。泥臭いの大好きw #手前味噌だが LDA の R 実装なんて…

Zipf則はなぜ成り立つのかの理論的裏付け

…9160,1 23,et,21739,499997,1 24,ea,19281,462744,1 : 100,dt,7413,741300,1 101,hs,7400,747400,1 102,td,7256,740112,1 103,rs,7255,747265,1 104,sh,7219,750776,1 105,rr,7046,739830,1 : 501,ka,1004,503004,1 502,aer,993,498486,1 503,eas,992,498976,…

自然言語処理勉強会@東京 第1回 の資料

本日の tokyotextmining こと 自然言語処理勉強会@東京 第1回 で話す「Webページの本文抽出 using CRF」の資料(自己紹介は除く)です。 以前、Ruby で作った本文抽出モジュール を機械学習の技術を使って作り直してみたら、というお話。 CRF は Conditional Random Fields の略。 Web本文抽出 using crf from Shuyo Nakatani 実装はこのあたり。 http://github.com/shuyo/…

不自然言語処理コンテストのコーパスで乱数作文

…= codecs.getwriter('utf_8')(sys.stdout) if len(sys.argv) != 2: print >>sys.stderr, "Usage: randomtext.py <2gm file>" exit(1) bgm_fn = sys.argv[1] # 2gm filename bigram = {} bigram_prob = {} stopcontexts = [u"<S>", u"</S>", u"<UNK>"] # read …

IBISML / Latent Dynamics 研究会

6/14〜16 にかけて、IBISML と Latent Dynamics 研究会 に のこのこ行ってきた。 招待講演は超豪華顔ぶれ……というのは受け売り。この界隈にまだまだ詳しくないもんで(苦笑)。 「機械学習」が広い分野を横断していることを象徴して、様々な分野のお話が聞けた。 一番楽しみにしていたのは実は渡辺先生の「代数幾何と学習理論への入門と新展開」。あらかじめ「代数幾何と学習理論」を読んで確信していたけどやっぱりおもしろかった。本持ってったらサインもらえないかな? と…

numpy で数式を実装する

…om.dirichlet([1] * K) # 足して1になる K 次ベクトル(ランダム) ディリクレ分布に与えるパラメータは欲しい乱数の傾向を反映する。 端っこの値はあんまり嬉しくない(1/K にノイズが載るくらいでいい)なら (10,10,...,10) とかもっと大きい値にすればいいし、わからない(無情報)なら (1,1,...,1) でいい。 ちなみに EMA-HMM の話だが、πの初期値を Dir(0.1, ..., 0.1) からサンプリングすると、pi のいくつ…

隠れマルコフ実装してみた。

… Tale of Peter Rabbit をトピック数(隠れ変数の状態数) 20 で学習させ、サンプリングした文章が例えばこんな感じ。 basket don't ran i tool-shed under there the the flower-pot quite by after in go flower-pot hung on the the beans gather work rake shoes had down onlyhe amongst had to was…

ハイブリッドモンテカルロをもっと試してみた

…コードだったので、Metropolis-Hastings で決まる棄却もやってないし、もうちょっと別の確率分布でも試してみたい。 というわけで改良版コード。 http://github.com/shuyo/iir/blob/master/sampling/hmc.r 棄却を行うようにした リープフロッグ積分のεと繰り返し回数を毎回変化 N(0,1) の他にガンマ分布と多峰分布を試す 前回記事でも考察してたように、リープフロッグ積分は p(z|H) からのサンプリングに相当、と…

PRML 読書会 #15 「12.2 確率的主成分解析」補足資料

「パターン認識と機械学習」(PRML)読書会 #15 の 12.2.1「最尤法による主成分分析(確率的主成分解析)」と 12.2.2 「EMアルゴリズムによる主成分分析」の必要最小限の補足資料です。資料本体は超手抜き仕様の予定。 確率的主成分解析(PPCA)の嬉しいところ 多変量ガウス分布の自由パラメータの数を制限(節約)できる EMアルゴリズムを適用できる D が大きいと計算量で有利になる場合も 欠損値を扱える ベイズで ARD(関連度自動決定)。主成分部分空間の次元を適切…

PRML 読書会 #15 「12.3 カーネル主成分解析」資料

「パターン認識と機械学習」(PRML)読書会 #15 で担当する 12.3「カーネル主成分解析」の資料です。 カーネルちょび復習(PRML6章) カーネル関数: 対称な半正定値関数 k(x, x') 特徴ベクトル φ(x) から作る: カーネル関数から φ(x) を得ることも(双対性) φ(x) で高次元の特徴空間への写像し、そこで線形な処理を行う 元の空間で非線形なモデルを考えているのと等価 カーネルトリック 特徴空間上で計算する代わりに、カーネル関数を使ってデータ点から直…

PRML 12章 カーネル主成分分析を R で実装(棒読み)

…トカーネル(offset=1) オフセット変えてみたけど、散布図の変化はとても小さかったので、1枚だけ。 Laplacian カーネル ラプラシアンカーネル(σ=0.1) ラプラシアンカーネル(σ=1) ガウスカーネルと似ている。 ANOVA RBF カーネル&スプラインカーネル ANOVA RBF カーネル(σ=1, degree=1) ANOVA RBF カーネル(σ=0.1, degree=2) スプラインカーネル(σ=1, degree=1) 結論? カーネル PCA…

PRML 12章 主成分分析を EM アルゴリズムで解いてみる

PCA を試す、PPCA を試す とくると、次は確率的主成分分析を EM アルゴリズムで解いてみよう。今回も R で実装。 さすがにそろそろコードが長くなってきたので、全体は github にて。 http://github.com/shuyo/iir/blob/master/pca/ema.r E-step と M-step のところくらいは載せておこうか。 しかし R にはどうして行列のトレースをとる関数がないのだろう。sum(diag(〜)) なんて、微妙にカッコ悪いん…

PRML 12章 確率的主成分分析を試す

PCAを試す に続いて確率的主成分分析(Probability Principal Component Analysis)。 解析的に解けてしまって、閉形式の解がわかっているので実装としてはたいしておもしろくない(いや、いいことなんですけどね)。 M <- 2; directory <- "."; argv <- commandArgs(T); if (length(argv)>0) directory <- commandArgs(T)[1]; if (length(arg…

「パターン認識と機械学習(PRML)」 読書会 #14 11章 サンプリング法

…te Carlo methods"(Neal 1993) は実は 140 ページ以上あるサンプリング法の入門記事。 PRML と Neal 1993 を見比べると、明らかに類似性が……というわけで、きっとこれが PRML 11章の種本。 ギブスサンプラーがエルゴード性を持つ十分条件である「弱い制限」や、PRML ではまるっきり省略されている収束診断などについても網羅されているので、PRML の次にこれを読めば、それなりに満足できるかも(まだほとんど読めてないんだけどね)。 英…