2012年2月26日日曜日

自然言語処理勉強会(#tokyonlp)メモ


日時
2012年2月25日 13:00~18:30頃


Jubatusの紹介
※「ユバタス」と読むらしい

  • データはこれからも増え、データの種類も多様化する(テキスト・行動記録・音声など)
  • Jubatusは分散かつオンラインの機械学習基盤を提供
    • 高速処理、大規模、より深い分析
  • hadoop+mahoutではリアルタイム性が難しいし、オンライン学習ライブラリでは並列分散化が大変。ストリーム処理基盤では分散機械学習が難しい。
    • Jubatusはこれらすべてを持ち合わせる。
  • 活用例
    • 全国に散らばったセンサーからデータ収集・分析・予測をし、それぞれが自律して学習し、モデル情報だけを交換
    • イメージとしては、個別に自習をし、たまに勉強会で情報交換する、という感じ。
  • 3つの処理フェーズ
    • UPDATE(学習)
    • ANALYZE(分析)
    • MIX(モデルを混ぜ合わせる)
  • レコメンド:近傍探索アルゴリズム
    • キーワード:コサイン類似度、Jaccard係数
    • アルゴリズム
      • 転置インデックス コサイン類似度
      • Locality Sensitive Hashing(LSH)
      • minhash
      • アンカーグラフ

count-min sketch

  • キーを持たないハッシュ表を組み合わせたもの。ハッシュ表をいくつか持つ。
  • メモリ使用量を少なくできる。(データの数によらず一定)
  • ただし、width, depthが小さいとシノニムが頻発し精度が悪くなる。
  • 精度を上げる工夫
    • Conservative Update
    • Lossy Conservative Update
    • approximate counting
  • ライブラリ madoka

日本語入力を支える技術

  • 執筆作業はしんどかった。
  • 機械学習について初心者向けの解説書がなかったので、そういうものを書きたかった。
  • データ構造に力を入れすぎたのが反省。
  • ツールの活用が重要。git, docdiff

MCMCの初歩

  • MCMC:複雑な確率分布からサンプリングするためのツール
  • 確率とは:出来事に対して与える0~1の確信度
  • サンプリングとは: ある確率分布にしたがうデータを生成すること。
  • なぜMCMCは便利か?
    • 高次元のデータから効率的にサンプリングできる。
    • ベイズの定理と組み合わせることでパラメーターをサンプリングできる。

transliteration入門

  • transliteration=名前、固有名詞の(音的な)翻訳
    • L2P(Letter-to-Phoneme)や発音推定(漢字が与えられたときに読み方を推定する)に類似
    • たとえば、英語人名のHarringtonから日本語の「ハリントン」を導出
  • 2つの種類
    • transliteration mining
      • sourceとtargetのペアが入っているが、ノイズが入っている。
    • transliteration generation
      • トレーニングに含まれないsourceの文字が与えられた場合に、targetの文字に変換する。