<< MBAセットアップ備忘録その5とMac Mini(2009late)セットアップとその他くだらない話 | top | Solr勉強会第7回に参加しました。(発表もしました) >>

スポンサーサイト

一定期間更新がないため広告を表示しています

スポンサードリンク | - | | - | - | - | - |

第2回 データ構造と情報検索と言語処理勉強会に参加しました

ということで、懲りずに#DSIRNLPに参加してきました。
基礎的な部分をおろそかにしたくないけど、TokyoNLPとかWebMiningではついていけないので。。。
今回もしがみつくのが精一杯かもしれないと思いつつ、聞いて来ました。

0. DSIRNLPについて @overlast
 講演者が可能なら実装に関して言及する。
 「こうやって作って結果を出す」系の発表をしましょう。
 開催に際して協力してくださったみなさんへの感謝の辞。

1.自然言語処理はじめました @phyllo
 資料:http://www.slideshare.net/phyllo/ngram-10539181  ブログ:http://d.hatena.ne.jp/jetbead/20111210/1323499634  某Web企業の新入社員!(すごい)  で、入って自然言語処理をはじめたらしい。  N-Gramの説明  Perl?   1.ナイーブな方法    Perlでハッシュ使って数えてみたよ。これでOK?    いやいや、Nが大きくなったりデータが大きくなるとキツイでしょ   2.SuffixArrayを使う    ということで、Suffix Arrayを使ってみた。    SuffixArrayのデータを作ってから、上からN文字数えれば数えられる!    (数式出てきたけど目も取れなかったw)    これでいいじゃん?いやいや、更に大規模だとどーすんの。1TBのメモリ   3.近似カウント法    いくつかある中からLossy Countingを説明します。    ストリームデータから数えてみよう。    C++の実装?   4.分散処理を使う方法    近似じゃダメ!正確な頻度が欲しい!    =>Hadoopつかえ!  色々やってみた感想が良かった。  SuffixArrayのメモリ使用量という話がありましたが、ディスクを使う方法もあります。 by ?  新人から自然言語やり始めたというが、自分が新人の頃にはこんなに出来なかった気がするなぁ。  発表とかもってのほかだったし。 2.AI で AI 創ってみた(LT) @uchumik  資料:  Luaプログラミングが出てきたので、  多クラスロジスティック回帰とListNetを書いて見ました。(ただし、本は読んでないよ。)  学習器のお話。  ラグナロクオンラインのAIがLuaでかけることを思い出した。  動画の途中で終了w  GitHubにあげなさい。ブログ書きなさい。動画もあげなさい。 by @overlast  資料の割に時間がw  2.5.CMコーナー  技評の方からWEB+DBのCM!(ただし、商品なし)  読者層の95%が男性w  総集編買ってね!WEB+DB plusシリーズも買ってね!  書いてor買ってね。  技評さんつぎはオライリーさんに負けないように賞品持ってきてねw 3.Mahout にパッチを送ってみた @issay  資料:http://www.slideshare.net/issaymk2/mahout-10539755  人がやめていく会社で検索やHadoopやってます。  ※今日は皆既月食です。  機械学習関連  SGDはMapReduceでの分散に対応していないので、パッチを送ってみた。  MapReduce、Shuffleなどの説明  これをベースにナイーブベイズの説明をあわせて実装を見てみる。   ・単語wのカテゴリcにおける確率   ・文書dのカテゴリcにおける確率    -文書dに出てくる単語wの確率の積と定義   単語の相関を見ない。   ゼロ頻度問題の解説   文書頻度の逆数(IDF)   カテゴリ毎の文書数のばらつきに対応するために、Complement Naive Bayes   BayesFeatureDriver  次はランダムフォレスト   決定木とは?   ランダムフォレストとは?   ここでは素性。   Mahoutでの実装は?    決定木の数だけ処理分散が可能。    Reducerは使ってない。=Mapperで計算が終わっちゃうから?  次はロジスティクス回帰   尤度関数、損失関数、確率的勾配降下法(SGD)   先程まではオンライン。バッチ学習もある。   Mahoutでの実装はオンラインで、MapReduceに向いてない!   Adaptive Logistic Regrettion(アダプティブロジスティクス回帰)というのも実装されてる。  送ったパッチの概要   Iterative Parameter Mixisngというのがあるので、それをSGDに適用するパッチ  今後   MapReduce以外も増えるかも。    Q:パッチがはいったバージョンはいつでる?A:3日前に送ったのでまだです  Q:ナイーブベイズのMapReduceが一段ムダでは?(文書数のカウントは同時に出来るよね)A:そうですね、ぜひパッチを送ってみてください。  Q:Mahout、Hadoopの未来は明るいんでしょうか?A:HDFSのデータをMapReduce以外のフレームワークで使えるといい。  Q:Hadoopのパッチ送るの大変ですか?どのくらいかかりました?A:4,5ヶ月かかりました。  すみません、途中から頭がパンクしてしまいました。。。  ただ、MahoutがHadoopに乗っかってるからといって、MapReduce活用できてるわけじゃないという話がわかりました。 4.GraphDBのデータ構造 @kimuras  資料:http://www.slideshare.net/skimura/graphdatabase-data-structure  LTみたいな資料にになっちゃいました。すみません。  mixiではMySQLだけど、いろんなDB触ってます。  なので、GraphDBに興味持ちました。  Luceneを教科書的に読んでます。  Neo4jモダンな作りでよかった。  http://www.slideshare.net/skimura/ss-8787632  ノードデータの構造   NodeManagerというのがいて、Cache系を管理してる。   プロパティのインデックス、トランザクションManagerもいて、PersistenceManager   ここからNodeにアクセス(探索、)。  キャッシュとかいいね。  Soft LRU Cacheってのもあるよ。  その他色々w  Q:トランザクション周りでLRUのキャッシュはどうなるんでしょうか@kumagi A:きちんとロックしてました。  Q:分散はネットワーク、HDDどちらがキツイ?A:HDDがかなりきつい  Q:プロパティもキャッシュに乗ってたほうがいい?A:プロパティも必要なら載せたほうがいい。メモリのしてはできたはず。  Luceneがほめられてました。Neo4Jの 5.冬のLock-free祭り @kumagi  資料:https://docs.google.com/viewer?a=v&pid=explorer&chrome=true&srcid=0B72X9w6tG5q0NzMyODgwNDYtNjY4Yy00ZDgwLTliZDMtMjQwYmViMWE5NGU5&hl=en_US  ※資料がうまく見れないのは、アニメーションガチガチって話だからかな?  http://twitter.com/#!/kumagi/status/145363169718697984  辻Lock-free活動してます。   Lock-freeとツイートすると補足されるらしい。  CPUの系譜のおさらい   ポラックの系譜   最新のIntelManyCoreとか東大とかに配られてるらしい。  なんで、マルチコアのCPUがTSUKUMOとかで売ってないの?   僕らが使いこなせてないから。=マルチスレッドの対応がうまくできてないから。  CAS=Compare And Swap  まずは、Lock-free stack   ABA問題?  Lock-free Queue   QueueのEnqueueの場合は2回のCASが必要になる。   不変条件を守る。ロックだと守りやすい。   2回のCAS処理の間が危険領域  Lock-free List   色々なロックの説明。  Lock-free hash map   これも気が狂ってるアルゴリズム?   ConcurrentHashMapなども話が出てきたが、説明しない=Lock-freeじゃないからw  Lock-free SkipList   SkipList:    順序関係のあるデータをO(log n)で検索・挿入・削除ができるデータ構造(2分木ともろかぶり)   DougLea先生がjava.util.concurrentに入っています。  Lock-free Btree   論文ないんですよ。簡単すぎて。  SoftwareTransactionalMemory  The Art of Multiprocessor Programmingを読みましょう!  論文のお話。   http://labs.gree.jp/Top/OpenSource/Flare.html   を利用しているらしい。  The Art of Multiprocessor Programming関連サイト  http://www.cs.brown.edu/courses/cs176/lectures.shtml    すごくわかりやすかった。資料をもっと見たいなぁ。  Q:STMはメモリ使用量が2倍になる?A:  Q:STM(Clojure)使ってみたけど残念な性能しか出なかったけど、なんで?A:Clojureのものはロックベース。でうーむ。。。 6.機械学習と最適化の基礎(仮) @tkng  PFIの徳永さん  日本語入力を支える技術(技評)2012年2月発売予定  最適化の話、機械学習の話、学習率の話。  大域的最適、局所的最適の説明。(言いにくそう、大域的最適w)  凸最適化問題=最適解が1つしかない?   大域的最適解=局所的最適解  機械学習なはなし。  スパムメールの例で説明  淡々と語られてましたが、わかりやすい説明でした。もっと昔にこんな形で数学の説明聞きたかった。。。   7.機械学習・言語処理技術を用いた誤り検出・訂正(LT) @mamoruk  資料:  スペル誤り訂正とかに機械学習とか使われてます。 8.神の言語による自然言語処理(LT) @AntiBayes  資料:http://www.slideshare.net/AntiBayesian/ss-10539347#  Lispさいこー  Clojureさいこー  lucene-gosenもいいよーw 9.言語判定へのいざない(LT) @shuyo  資料:  Solrで採用されたlanguage-detection libraryの紹介。  アゼルバイジャン語とか大変みたい。 12.作ろう!簡潔ビットベクトル @echizen_tm  資料:http://www.scribd.com/doc/73565169/Lets-Impl-Sbv  入門編:   簡潔データ構造    データサイズをほぼ情報量的下限にまで小さくしたデータ構造    データは小さいし、速度速いというのがこれ。   実用化されてる。    mozc(LOUDSが使われてます)    Sedue(圧縮接尾辞配列(デフォルトではなくなった by @tkng))   種類:    ビット列:ここの説明がこのあと    木構造:トライ木をLOUDSが結構で実装するケースが多い。データサイズが小さくなる    文字列:ウェーブレット木が有名。全文検索、転置インデックスにウェーブレット木を使う研究が多い。  中級編   簡潔ビットベクトル:   rank(i)関数:i番目より前の立っているビットの数。    疎なデータ列の効率的な実装に使える。検索結果が少ない場合のFacetとかに使える?   select(i)関数:?    可変長データ列の効率的な実装  上級編   ダメでした。。。ごめんなさい。。。  体力的に厳しかったです。。。けど面白いし、わかりやすい。どういった所でこれらを使うべきかを取捨選択するのがすこし難しそうです。Luceneとかの内部ソース見ると実はこのあたりで実装されてる部分があったりするのかも。 11.類似文字列検索の仕組み @overlast  資料:  使い所のはなし   例:辞書メンテナンスコストを軽減したい   架空の事例から類似検索を適用できるというストーリー   既存データが活用されるうれしさの例?   Apporoのデータ構造とかの話かな? 11.5.審査委員長から賞品持って帰る人の発表  @kumagi  @tkng  @echizen_tm  の方たちでしたー 12.懇親会

いやぁ、前回も感じましたが、基礎ができてないなぁと実感できた勉強会です。
そして幅も広い。やはり、数学的な要素が時々出てくるのでその部分をもっと身につけないといけないなぁと。。。
ついていけなかったところも多々ありましたが、頭の中にキーワードが入ってればなんとかなるかなぁと。
Neo4jやLuceneのソースコードリーディングをやるのが仕事に役立ちそうなので、少しずつでもやろう。
これから懇親会なので、とりあえず、このへんで。
あとで、見返しながら、リンク貼り直したりすると思います。
johtani | - | 00:04 | comments(0) | trackbacks(0) | - | - |

スポンサーサイト

スポンサードリンク | - | 00:04 | - | - | - | - |
Comment









Trackback
URL:

10
--
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
--
>>
<<
--
PR
RECOMMEND
[改訂新版] Apache Solr入門 ~オープンソース全文検索エンジン (Software Design plus)
[改訂新版] Apache Solr入門 ~オープンソース全文検索エンジン (Software Design plus) (JUGEMレビュー »)
大谷 純,阿部 慎一朗,大須賀 稔,北野 太郎,鈴木 教嗣,平賀 一昭
Solr 4系に対応した改訂版を出しました!興味ある方はぜひ。
RECOMMEND
Apache Solr入門 ―オープンソース全文検索エンジン
Apache Solr入門 ―オープンソース全文検索エンジン (JUGEMレビュー »)
関口 宏司,三部 靖夫,武田 光平,中野 猛,大谷 純
RECOMMEND
RECENT COMMENT
  • ポモドーロ回してます。(ポモドーロテクニック入門読みました)
    おーたに (05/07)
  • Lucene 4.3.0のChangesにあるChanges in backwards compatibility policyが気になったので訳してみた。
    おーたに (04/26)
  • メインMBAをMountain Lionにアップデート(いろいろ確認中)
    おーたに (09/04)
  • メインMBAをMountain Lionにアップデート(いろいろ確認中)
    m_nori (09/03)
  • メインMBAをMountain Lionにアップデート(いろいろ確認中)
    おーたに (09/03)
  • メインMBAをMountain Lionにアップデート(いろいろ確認中)
    ho4kawa (09/03)
  • メインMBAをMountain Lionにアップデート(いろいろ確認中)
    おーたに (09/03)
  • メインMBAをMountain Lionにアップデート(いろいろ確認中)
    まろか (09/03)
  • Lucene/Solr 3.6.0リリース / 「Apache Solr入門」のサンプルのKuromojiとlucene-gosen対応(1章)
    おーたに (08/07)
  • Lucene/Solr 3.6.0リリース / 「Apache Solr入門」のサンプルのKuromojiとlucene-gosen対応(1章)
    moco (08/07)
RECENT TRACKBACK
MOBILE
qrcode
OTHERS