More Related Content
Similar to OpenNLP - MEM and Perceptron (20)
More from Koji Sekiguchi (20)
OpenNLP - MEM and Perceptron
- 2. OpenNLPの分類アルゴリ
ズム
opennlp.maxent
最大エントロピー法
多クラスロジスティック回帰
opennlp.perceptron
パーセプトロン
Copyright © 2012 RONDHUIT All rights reserved
- 3. 最大エントロピー法
問題解決
ゼロ頻度問題→スムージング
パラメータ数の増大、訓練データの断片化
与えられた制約の下でエントロピーを最大化す
るようなモデルを推定する
確率的言語モデルのパラメータ推定
訓練データ
……………
……
……………
標本
……
……………
確率的言語モデルのエントロピーを最大化
Copyright © 2012 RONDHUIT All rights reserved
- 10. モデルのパラメトリック形
式
以下を満たすパラメータΛ*を求めればよい:
Copyright © 2012 RONDHUIT All rights reserved
- 13. 回帰分析と機械学習
目
的
変
数 △
△
△ △
△
△
△
△
△ △
△
説明変数
Copyright © 2012 RONDHUIT All rights reserved
- 14. ニューラルネットワーク
機械学習におけるニューラルネットワーク
生物の神経組織の挙動をモデル化→セルと結合
刺激 伝達
強化
抑制
パーセプトロン
入 出
力 : : : 力
: : :
入力層 中間層 出力層
Copyright © 2012 RONDHUIT All rights reserved
- 15. ニューロセル
ニューロセル
x1
w1 xi : 入力
z wi : 重み(結合荷重)
x2 w2 v
v : 閾値
: wn z : 出力
xn
出力関数 f(u)
ステップ関数
シグモイド関数
Copyright © 2012 RONDHUIT All rights reserved
- 16. ニューラルネットワークの
構成
フィードフォワードネットワーク
階層型
入力層から出力層へ向けて信号が伝搬
パーセプトロン
リカレントネットワーク
あるニューロセルの出力がフィードバックされて、
自分自身の入力となる
ホップフィールドモデル
Copyright © 2012 RONDHUIT All rights reserved
- 18. パーセプトロンによる論理
演算
X0
-1
1
H0
-3
w0
v
O
w1
3
H1
-2
1
X1
Copyright © 2012 RONDHUIT All rights reserved
- 19. パーセプトロンによる論理
演算
論理積(w0=-77, w1=118, v=114)
X0 X1 H0 H1 O
0 0 0.268941421 0.880797078 4.31353E-14
0 1 0.01798621 0.952574127 0.048282862
1 0 0.119202922 0.993307149 0.00255185
1 1 0.006692851 0.997527377 0.960565494
論理和(w0=-27, w1=8, v=2)
X0 X1 H0 H1 O
0 0 0.268941421 0.880797078 0.098407843
0 1 0.01798621 0.952574127 0.994147201
1 0 0.119202922 0.993307149 0.938657532
1 1 0.006692851 0.997527377 0.996980115
Copyright © 2012 RONDHUIT All rights reserved
- 20. パーセプトロンの学習手続
き
収束するまで以下を繰り返す
訓練データセットの中の一例(xi, o)について以下
を計算する
(xi)を用いて中間層の出力hiを計算する
hiを用いて出力層の出力Oを計算する
出力層のニューロセルについて、以下の計算で結合
荷重を補正する
αは適当な正の数値
Copyright © 2012 RONDHUIT All rights reserved
- 21. OpenNLPによる機械学習
OpenNLPの準備
# パッチを当てる必要があるので、trunkからダウンロード
$ mkdir work; cd work
$ svn co http://svn.apache.org/repos/asf/opennlp/trunk OPENNLP
$ cd OPENNLP
# パッチを適用
$ wget https://issues.apache.org/jira/secure/attachment/12533987/OPENNLP-516.patch
$ patch –p0 < OPENNLP-516.patch
patching file opennlp-maxent/samples/sports/CreateModel.java
# ビルド
$ cd opennlp
$ mvn install
Copyright © 2012 RONDHUIT All rights reserved
- 22. OpenNLPサンプルの利用
サンプルプログラム
java CreateModel [-perceptron][-real]
<filename>.dat
java Predict[-perceptron][-real] <filename>.test
サンプルデータ
football.dat/football.test
gameLocation.dat/gameLocation.test
realTeam.dat/realTeam.test
モデル
*Model.txt
訓練データ Create
Predict 結果(クラス)
*.dat Model テスト
*.test
Copyright © 2012 RONDHUIT All rights reserved
- 23. 参考文献
[1] A Maximum Entropy Approach to Natural Language
Processing, Adam L. Berger, et al., 1996 Association for
Computational Linguistics, Volume 22, Number 1
[2] 言語と計算 (4) 確率的言語モデル北 研二 (著), 辻井 潤一
(著) 東京大学出版会 978-4130654043
[3] はじめての機械学習 小高 知宏 (著) オーム社 978-
4274068461
[4] Taming Text, Grant S. Ingersoll, Thomas S. Morton, and
Andrew L. Farris, Manning Publications Co.
[5] Foundations of Statistical Natural Language Processing
Christopher Manning (著), Hinrich Schuetze (著) The MIT
Press 978-0262133609
Copyright © 2012 RONDHUIT All rights reserved