第7回 データ構造と情報検索と言語処理勉強会 参加メモ
第7回 データ構造と情報検索と言語処理勉強会 #DSIRNLP 07に参加してきた。
30分でわかるAdam (@echizen_tm)
- Adamとは
- state of the artなオンライン学習器
- AdaGrad + RMSProp のようなもの(らしい)
- 論文に推奨パラメータが書いてある
- 正則化項は入っていない
- 更新式
Θ_t = Θ_{t-1} - α E[g] / √E[g^2]
-
- 更新幅が学習率α以下になる
- 更新幅が自動で調整される(学習率を減衰させる必要がない)
- 指数移動平均
- 初期のデータの重みが指数的に小さくなるタイプの重み付き平均
隠れセミマルコフモデルによる教師なし形態素解析 (@uchumik)
Dsirnlp#7 from Kei Uchiumi
- 教師なし品詞推定
- 基本的にHidden Markov Modelで行う
- 単語分割が与えられていることが前提
- 単語分割と品詞の教師なし同時学習
- ゼロ頻度問題
- 観測されていないngramにも適切な確率を与える必要がある
- 階層Pitman-Yor言語モデルを用いる
- 観測されていないngramにも適切な確率を与える必要がある
形態素解析器 売ってみた (@klmquasi)
- 登録する?しない?
- 説明性
- 一貫性
- 規範性
- 新語
- 一過性かどうか
- 弊害
- 辞書の肥大化
- 説明性
- 人手の介入
- クリティカルな事例
- どうしても直さなきゃいけない
- 機械学習では
- 挙動を説明できない
- 学習のたび結果が変わる
- クリティカルな事例
- どこかに介入できるところをつくる
- ルールによる補正
- ユーザー辞書
- まとめ
- 統計的手法 + 人手介入
- 辞書が大事
最近のJUMANとKNP (@cacaho)
- JUMAN
- ルールベースの形態素解析器
- KNP
- 統計ベースの統合解析器
- JUMANと他の解析器の比較
- 基本的にはMeCabがおすすめ:速度が速く、精度も高い
- JUMANがオススメな場合
- リッチなJUMAN辞書の意味解析を使いたい
- くだけた表現を多く含む
- コストやルールを人手で追加・調整したい
- KNPを使いたい
- KNPとCaboCha+SynChaの主な違い
- KNPは文全体を見て最適な構文・各構造を決定
- KNPは格フレームに含まれる全ての格が解析対象
- 受身文、使役文の場合、出現格を解析
- 構文解析が目的の場合はCaboCha, J.DepPがオススメ
日本語の語彙平易化システムおよび評価セットの構築 (@moguranosenshi)
mecab-ipadic-NEologdの名詞系エントリ生成周辺の話 2015春 (@overlast)
- 形態素解析の目的
- 接続コストの決定方法
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
- NLP関数
#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) になった場合の学習によって得た情報量