共起性を考慮に入れたかな漢字変換

2016/03/12-13に京大で行われたインプットメソッド研究会で発表予定だった(行けなかったけど)の資料をポストする。

課題設定

明日は朝がとても早い

犬は足がとても速い

共起を考慮することにより、誤変換を減らす。

共起性

トピックモデル?

新しいフレームワーク?

理論

「確率的モデルによる仮名漢字変換」森信介 et. al.に基づく生成モデル。形態素列\( m_1\)が与えられた時、その生成確率を推定すればよい。 \[P(m_1, \ldots, m_h) = \Pi_{i=1}^{h+1} P(m_i \mid m_1, \ldots, m_{i-1}) \] \(P(m_i \mid m_1, \ldots, m_{i-1})\)は\(m_i\)の属する品詞クラスと共起ペア\((m_1, m_i), \cdots, (m_{i-1}, m_i)\)から決定されると考える。 \[P(m_i \mid m_1, \ldots, m_{i-1}) = P(m_i \mid c_i, \{m_1, \ldots, m_{i-1}\}) \cdot P(c_i, \{m_1, \ldots, m_{i-1}\} \mid m_1, \ldots, m_{i-1}) \] それぞれ計算する。

\(c_i\)と共起\(m_1, \ldots, m_{i-1}\)は独立かつ、\(m_i\)という条件のもとでも独立と仮定する。すると、 \[P(m_i \mid c_i, \{m_1, \ldots, m_{i-1}\}) = \frac{P(m_i \mid c_i) \cdot P(m_i \mid \{m_1, \ldots, m_{i-1}\})}{P(m_i)}\] 繰り返して、 \[P(m_i \mid c_i, \{m_1, \ldots, m_{i-1}\}) = \frac{P(m_i \mid c_i) \cdot P(m_i \mid m_1) \cdots P(m_i \mid m_1)}{P(m_i)^{i-1}}\]

一方、 \[P(c_i, \{m_1, \ldots, m_{i-1}\} \mid m_1, \ldots, m_{i-1}) = P(c_i \mid m_1, \ldots, m_{i-1}) \cdot P(\{m_1, \ldots, m_{i-1}\} \mid m_1, \ldots, m_{i-1})\] しかし、\( P(\{m_1, \ldots, m_{i-1}\} \mid m_1, \ldots, m_{i-1}) = 1\)より、結局 \[P(c_i, \{m_1, \ldots, m_{i-1}\} \mid m_1, \ldots, m_{i-1}) = P(c_i \mid m_1, \ldots, m_{i-1}) \] 品詞bigramを仮定すると、 \[P(c_i \mid m_1, \ldots, m_{i-1}) = P(c_i \mid c_{i-1})\]

まとめると、 \[P(m_i \mid m_1, \ldots, m_{i-1}) = P(c_i \mid c_{i-1}) \cdot P(m_i \mid c_i) \cdot \frac{P(m_i \mid m_1)}{P(m_i)} \cdots \frac{P(m_i \mid m_{i-1})}{P(m_i)}\] よって、 \[P(m_1, \ldots, m_h) = \Pi_{i=1}^{h+1} P(c_i \mid c_{i-1}) \cdot P(m_i \mid c_i) \cdot \frac{P(m_i \mid m_1)}{P(m_i)} \cdots \frac{P(m_i \mid m_{i-1})}{P(m_i)}\]

実装について

上記の式にViterbi等の動的計画法を適応して最尤解を求めるのは不可能と思われる。よって、例えば品詞bigramのみで候補列を生成しておき、それに共起に基づく項により補正をかける、と言った方法が考えられる。