第7回 データ構造と情報検索と言語処理勉強会 参加メモ

第7回 データ構造と情報検索と言語処理勉強会 #DSIRNLP 07に参加してきた。

30分でわかるAdam (@echizen_tm)

  • Adamとは
    • state of the artなオンライン学習器
    • AdaGrad + RMSProp のようなもの(らしい)
    • 論文に推奨パラメータが書いてある
    • 正則化項は入っていない
  • 更新式


Θ_t = Θ_{t-1} - α E[g] / √E[g^2]

    • 更新幅が学習率α以下になる
    • 更新幅が自動で調整される(学習率を減衰させる必要がない)
  • 指数移動平均
    • 初期のデータの重みが指数的に小さくなるタイプの重み付き平均
  • まとめ
    • E[g] / √E[g^2] でパラメータを更新
    • 期待値計算に指数移動平均を使う
    • 指数移動平均のバイアスを打ち消す工夫がある


隠れセミマルコフモデルによる教師なし形態素解析 (@uchumik)



  • 教師なし品詞推定
    • 基本的にHidden Markov Modelで行う
    • 単語分割が与えられていることが前提
  • 単語分割と品詞の教師なし同時学習
  • ゼロ頻度問題
    • 観測されていないngramにも適切な確率を与える必要がある
      • 階層Pitman-Yor言語モデルを用いる


形態素解析器 売ってみた (@klmquasi)

  • 登録する?しない?
    • 説明性
      • 一貫性
      • 規範性
    • 新語
      • 一過性かどうか
    • 弊害
      • 辞書の肥大化
  • 人手の介入
    • クリティカルな事例
      • どうしても直さなきゃいけない
    • 機械学習では
      • 挙動を説明できない
      • 学習のたび結果が変わる
  • どこかに介入できるところをつくる
    • ルールによる補正
    • ユーザー辞書
  • まとめ
    • 統計的手法 + 人手介入
    • 辞書が大事


最近のJUMANとKNP (@cacaho)

  • KNP
    • 統計ベースの統合解析器
  • JUMANと他の解析器の比較
    • 基本的にはMeCabがおすすめ:速度が速く、精度も高い
  • JUMANがオススメな場合
    • リッチなJUMAN辞書の意味解析を使いたい
    • くだけた表現を多く含む
    • コストやルールを人手で追加・調整したい
    • KNPを使いたい
  • KNPとCaboCha+SynChaの主な違い
    1. KNPは文全体を見て最適な構文・各構造を決定
    2. KNPは格フレームに含まれる全ての格が解析対象
    3. 受身文、使役文の場合、出現格を解析
  • 構文解析が目的の場合はCaboCha, J.DepPがオススメ


日本語の語彙平易化システムおよび評価セットの構築 (@moguranosenshi)

  1. 形態素解析
  2. 平易語リスト(学習基本語彙)に含まれない内容語を抽出
  3. 内容語換言辞書、日本語WordNet同義語DB等を用いて換言
  4. 単語親密度データベースを用いて単語に難易度を付与


mecab-ipadic-NEologdの名詞系エントリ生成周辺の話 2015春 (@overlast)

  • mecab-ipadic-NEologdとは
    • IPA辞書を拡張したmecabのシステム辞書
    • 新語・固有表現などを160万語以上再録
    • Apache License 2.0なOSS

NLP勉強会 #2 参加メモ

NLP勉強会 #2に参加してきた。

NLP本読み進めシリーズ 「入門 自然言語処理」第1回 (@nezuq)

1章 言語処理とPython

  • 日本語を使うための設定


# MeCabとそのPythonバインディングをインストールする。
$ sudo apt-get install libmecab-dev
$ sudo apt-get install mecab mecab-ipadic-utf8
$ pip install mecab-python3


# Plotのフォントで日本語フォントを指定する
import matplotlib
import matplotlib.font_manager


#NLTKパッケージ(ex.コーパス)をダウンロードする。
nltk.download()

#文書内から指定単語が使われている文を探す。
text1.concordance("単語")

#文書内から指定単語と同じ文脈で使われている文を探す。
text1.similar("単語")

続きを読む

Go Conference 2014 autumn 参加メモ

Go Conference 2014 autumnに行ってきた。

Simplicity is Complicated (Rob Pike)

  • 可読性
    • 言語の機能が多すぎると、どの機能を使うべきかに時間を取られてしまう
    • 機能は複雑さを増す
    • 可読性は信頼性
  • 正しい言語機能
    • 「隙間を埋める」機能が必要。たとえば解空間を覆う基底ベクトルのようなもの
    • 予想したとおりに作用する直交性
    • 単純さは直交性と予測可能性に依るもの
  • 具象データ型
    • 関数とメソッド
    • interface
    • パッケージ
    • 並行性
  • 単純さは複雑なことだけど戦う価値はある
  • 単純さは設計が難しい
  • 単純さは作るには複雑
続きを読む

NLP勉強会 #1 参加メモ

NLP勉強会 #1に参加してきた。

(再)入門自然言語処理 #01 (yamano357)

自然言語処理でこれだけは覚えておきたい単語

  • 素性(そせい): パターン認識では特徴量と表現するものを、言語処理では慣習的に「そせい」と呼ぶ
  • コーパス: 電子化して大量に蓄積された言語データ全般
  • Bag of Words(BoW): 入力した文を順番を無視した単語の集合と、その頻度で表現
    • 「前処理で大事なことは言語処理で学んだ」→「前:1 処理:2 大事:1 言語:1 学ぶ:1」
  • Support Vector Machine(SVM): なんか凄い機械学習アルゴリズム

自然言語処理の要素技術

  • 形態素解析
    • わかち書き (segmentation)
    • 原形化 (lemmatization):語形・活用変化している単語を原形に戻す
    • 品詞タグ付け (POS Tagging)
  • 統語解析(構文解析
  • 意味解析
    • 「単語自体の意味」と「単語間の意味関係」を解析して文の意味を同定
    • 語義曖昧性解消 (word sense disambiguation; WSD)
      • "bank" は「銀行」?「土手」?
  • 文脈解析
    • 代名詞などが指し示す実体を同定する照応解析、省略された単語を文脈から復元する省略解析
    • 各文がどのように結合してテキストを形成しているかを表すテキスト構造の構築

自然言語処理の周辺技術

自然言語処理の応用技術

  • テキスト分類
  • 情報検索
  • 機械翻訳
  • 情報抽出
  • 自動要約
  • 質問応答
  • 対話システム
続きを読む

パターン認識と機械学習入門 第20回 参加メモ

資料

近似推論

確率的なモデリングの分布が複雑な場合の解析的に計算できない
1. マルコフ連鎖モンテカルロ法(MCMC法)などを使って数値的に計算を行う

  • 原理的には任意の精度で正確な計算ができる.欠点は、高い計算機性能が必要になる

2. 何らかの近似を行って、解析的に計算できるようにする

  • 正確さを犠牲にする変わりにより大きな問題を解くことができるようになる

変分ベイズ

変分法
R上の連続分布 p(x) で平均が0, 分散が1であるもののうち、エントロピー
I[p] = -∫p(x)log p(x)dx
が最大になるようなものは何でしょうか?
⇒ 標準正規分布
N(x|0,1) = 1/√(2π) exp(-x^2/2)
⇒ ある母集団についてその平均と分散以外に一切の事前知識がない場合、エントロピーという観点ではそれを正規分布だと仮定するのが妥当である

周辺化ギブスサンプリング

  • サンプリングの前に興味のない隠れ変数は周辺化して消す

パターン認識と機械学習入門 第19回 参加メモ

資料

ガウス分布以外のEM法


from sklearn.datasets import fetch_mldata

  • scikit-learn の fetch_mldata で初回実行時にダウンロードされる.
  • ベルヌーイ分布の各変数は独立であるが、混合すると相関が生じる

EM法の理論

  • カルバック・ライブラー情報量


KL(q||p) = Σ q(x) log(q(x)/p(x))

    • 事前分布が p(x) である状態から何らかの学習を行って事後分布が q(x) になった場合の学習によって得た情報量

パターン認識と機械学習入門 第18回 参加メモ

資料

K-meansクラスタリング

K-meansアルゴリズム
クラスタの数 K を決め,代表ベクトル μ_c (c = 1,2,...,K) をランダムに決める.
以下を収束するまで繰り返す.

  1. 【E-step】各学習ベクトルを μ_c に基づいて分類する.
  2. 【M-step】得られた各クラスタに基いて μ_c を再計算する.

混合ガウスモデル

EM法(Expectation Maximization法、期待値最大化法)
隠れ変数モデルに対するパラメータ推定に用いられる標準的なアルゴリズム