隠れマルコフ モデルで開始状態と終了状態を使用する方法がよくわかりません。これらは、移行マトリックスと排出マトリックスを設計および実装するために必要ですか?
2 に答える
開始/終了状態は、タグが文の最初または最後に来る可能性があるかどうかをモデル化するために必要です。
たとえば、5 語の文があり、2 つのタグ付けを検討しているとします。
- Det 名詞 動詞 Det 名詞
- Det名詞動詞Det Adj
Det->Noun と Det->Adj はどちらも可能性が高いため、遷移に関してはどちらもかなり良さそうです。しかし、文が名詞よりも形容詞で終わることははるかに少なく、終了タグなしでは得られないものです. だからあなたが本当に比較したいのは
- START Det 名詞 動詞 Det 名詞 END
- START Det 名詞 動詞 Det Adj END
次に、P(END|名詞) と P(END|Adj) を計算します。
教師ありトレーニングを行っている場合、START/END を使用して確率を取得することは、他のタグと同じです。カウントする前に、各文に特別なタグを追加するだけです。したがって、トレーニングコーパスに次のものがあるとします。
Det Noun Verb
Det Noun Verb Det Noun
次に、それを次のように変更します
START Det Noun Verb END
START Det Noun Verb Det Noun END
たとえば、次のように計算します。
- P(Det|START) = 2/2
- P(END|動詞) = 1/2
- P(END|名詞) = 1/3
また、エミッションは簡単です: P(START|START)=1 および P(END|END)=1
この質問は、あなたのコーパスに本当に依存していると思います。たとえば、使用しているコーパスが完全な文で構成されている場合 (意味的に言えば)、言語モデルを改善するために、開始状態と終了状態を追加することをお勧めします。しかし、コーパスが文の断片でいっぱいの場合、開始/終了状態は役に立たないと思います。彼らは裏目に出るかもしれません。
基本的に、pos のタグ付けでは、開始状態は、どの種類のタグが文頭に出現する可能性が高いかをモデル化しようとします。終了状態も同様です。したがって、コーパス内の文が実際に文である場合、これらの開始/終了状態は言語モデルに文を開始または終了する方法を教えます。