Inside / Outside Algorithm
Inside Algorithm | Outside Algorithm |
左図: 内側アルゴリズム
状態\(v\)を根とする構文解析部分木の位置\(i\)から\(j\)までの部分配列に対する内側確率\(\alpha(i,j,v)\)の計算の様子. \(v \rightarrow yz\)の遷移確率で重みづけし, 状態\(y\)が部分配列\(x_i,\ldots x_k\), 状態\(z\)が部分配列\(x_{k+1},\ldots x_j\)を生成するような構文解析部分木を, すべての状態\(y,z\)と部分配列の境目\(k\)について足し込むことにより, 再帰的に計算される.
右図: 外側アルゴリズム
位置\(i\)から\(j\)の部分配列(白丸)を生成し非終端記号\(v\)に根を持つ部分木を除くすべての構文解析木の確率の合計\(\beta(i,j,v)\)(外側確率)の再帰的計算の様子. 上図は外側アルゴリズムの再帰式の第1項に相当し, 非終端記号\(y\)と部分配列\(1,\ldots,k-1,j+1,\ldots,L\)に対する外側確率, 部分配列\(k,\ldots,i-1\)を埋める非終端記号\(z\)に対する内側確率, \(y \rightarrow zv\)の遷移確率を\(\beta(i,j,v)\)にまとめている. 下図は再帰式の第2項に相当し, 除外部分配列\(i,\ldots,k\)の非終端記号\(y\)に対する外側確率, 部分文字列\(j+1,\ldots,k\)を埋める状態\(z\)の内側確率, \(y \rightarrow vz\)の遷移確率をまとめている.