自然言語処理の応用勉強会キックオフミーティング

新しく今年できた勉強会(NLP.app)のキックオフミーティング。NLP.appは外部に公開して大丈夫と言われたのでなるべく書いていく方針で!!NLPのタスク的には

  • 述語項構造解析(predicate-argument structure analysis)
  • 意味役割付与(semantic role labeling)

を主に扱うらしく、情報検索や情報抽出の論文紹介などもおkという感じらしい。勉強会が終わった後、M1の同期の人とかは「そもそもSRLとかって何??」という感じ(自分も2週間前にDMLAで分からなかったし)のようで、大分不安がっていたが、分からないなら質問しまくればいいよ!!と言ってみた。みんなどんぐりの背比べみたいなもんだし、きっとみんな分かってないから(自分を含め)。

この勉強会はそういう分野をターゲットにしつつ、特に大規模なWebデータを対象としたものに焦点が置かれている。というわけで使うテキストはこれになったらしい。

PDFがfullでダウンロードできる。勉強会が終わってSection 1はとりあえず全部読んでみた。

第一回はid:mamorukさんより、上のような概要や、なんで大規模データなのか(対数スケールでデータ量を線形に増やしていくと機械学習のモデルでどれを使うかは関係なくなる)、どうやって大規模データを扱うのか(hadoopうんぬん)などの概要的なお話。まだ大丈夫。来週はGWで、二回目はそれ以降ということなのでSection 3くらいまでは読んでおこうかなーと思う。それ以降は忙しくなってくるだろうし。

機械学習も勉強している身としては、"mashine learning algorithms really don't matter, all that matters is the amount of data you have."という言葉は重要かつなかなかやっかい(と感じるのは自分が機械学習の考え方が好きだからだろうか)だなと思う。simpleでスケールするようなアルゴリズムで同じことができるよ!!(データがたくさんあれば)、と言われたときに、PRMLにあるような(と言ってもPRMLに載っているのも基礎的なことだが)高度なアルゴリズムが本当に必要なところはどこか、自分がやろうとしているタスクはどっちで解決すべき事象なのか、はたまた自分は機械学習のScienceな部分をやりたいのかetcを明確に意識していく必要があるなと思う。

自然言語処理の技術の中でMapReduceと相性のいいものの一部として

  • PageRankのようなグラフアルゴリズム
  • EMアルゴリズム
    • HMM

などがあるらしい。自分としてはそれ単独の内容やアルゴリズムは知っているものが多いが、分散とか並列でやるためにはどうするかとかなんでこれらだとそれと相性がよくって他のアルゴリズムだとうまくいかなかったりするのかとかを全然知らないのでその辺を勉強していきたい。松本研は計算機環境は恵まれているし、学内のプロジェクトでそういうのもあったりするのでどんどん遊んでいきたいなと思います。