雑記

以下の記事を読みます。

その他の参考文献
※ キャラクターは架空のものです。私の誤りは私に帰属します。お気付きの点がありましたらコメントでご指摘ください。
f:id:cookie-box:20200531131544p:plain:w60

自然言語タスクを中心に威力を発揮している Transformer というモデルは、もっぱら Attention という仕組みのみを使用し、再帰も畳込みもしないのですよね? なるほど原論文のタイトルも「Attention こそがすべて」というわけですが…そもそもなぜ元々は再帰や畳込みをしていたんでしょう?

f:id:cookie-box:20200531131606p:plain:w60

入力として系列データを受け取って何らかの出力をするタスクでは、本質的に「異なるステップの情報を束ねる」ことが必要だからでしょ。とても長い系列データを束ねるとなると、すべてを全結合するなんてできないから、素朴には「逐次的に束ねていく(再帰)」か「現在のステップに近い範囲を束ねる(畳込み)」かくらいしかないよね。

f:id:cookie-box:20200531131544p:plain:w60

そういわれると再帰か畳込みをせざるを得ないような気がしてきました。しかし、では Transformer はいったい何をすると…? というのを解説するのが参照している記事ですが。最初に以下の式が出てきますね。

 h_t = u_t \odot h_{t-1} + (1- u_t) \odot \tilde{h}_t
これは、コンテクスト(とよんでしまいましょう) h_t が更新されていく式ですね。前回のコンテクスト h_{t-1} と新たなコンテクスト候補  \tilde{h}_t を、それぞれ重み u_t 1- u_t で混合しています。

f:id:cookie-box:20200531131606p:plain:w60

その更新式はそのまま GRU だね。ただ、GRU の更新ゲートの表式は前回のコンテクストに  1 - z_t をかけて新たなコンテクスト候補に z_t をかける流儀が多いように思うけど。 GRU だったら新たなコンテクスト候補は  \tilde{h}_t = {\rm tanh} \bigl( U (r_t \odot h_{t-1} \bigr) + W x_t) になるね(r_t = \sigma(U_r h_{t-1} + W_r x_t) はリセットゲート)。

f:id:cookie-box:20200531131544p:plain:w60

ええ、参照している記事ではリセットゲートのない GRU を想定しています。そして、上式のような更新式は shortcut connection(residual connection)と解釈できると。… u_t(1 - u_t) がなければ、 \tilde{h}_t は前回のコンテクストから今回のあるべきコンテクストまでの残差というのはわかりますが。この観点を掘り下げるためか、上の式を時間方向に展開していっていますね。

 h_t = (1- u_t) \odot \tilde{h}_t + u_t \odot  \bigl(  (1- u_{t-1}) \odot \tilde{h}_{t-1} + u_{t-1} \odot  h_{t-2} \bigr)
この式の展開は以下のようになるのではないかと思うのですが(ただし、開始インデックスの方が終了インデックスより大きい  \prod \astvector of ones とします)、参照している記事は違うような気がしますね? まあ置いておきましょう。コンテクストの初期値 h_0 の項もかいてみましたがゼロベクトルから始めるのであれば要りませんね。
 \displaystyle h_t = \sum_{i=1}^t \left( \prod_{j=i + 1}^{t} u_j \right) \odot (1 - u_i) \odot \tilde{h}_i + \left( \prod_{j=1}^{t} u_j \right) \odot h_0

f:id:cookie-box:20200531131606p:plain:w60

ある時刻のコンテクスト候補 ★ が伝わっていく様子を図で描くとこうかな。

f:id:cookie-box:20200903234344p:plain:w360

つづいたらつづく

論文読みメモ: Bivariate Beta-LSTM(その2)

以下の論文を読みます。

Kyungwoo Song, Joonho Jang, Seung jae Shin, Il-Chul Moon. Bivariate Beta LSTM. In Proceedings of the AAAI Conference on Artificial Intelligence, volume 34, 2020. [1905.10521] Bivariate Beta-LSTM
※ キャラクターは架空のものです。私の誤りは私に帰属します。お気付きの点がありましたらコメント等で指摘ください。
前回: その1
f:id:cookie-box:20200531131544p:plain:w60

昨日のあらすじはこうでしょうか。

  • LSTM のシグモイド型ゲートは、結局効果的に開閉しない(ゲートの値が0~1の間を動くというよりはほんの少ししか動かない)ことがあるし、入力ゲートと忘却ゲートは互いがどうなっているかを全く考慮していない。
  • なお、このような問題意識で、過去に以下のようなゲートが提案されている。
    • 温度パラメータ付きシグモイド型ゲート(シグモイド関数をステップ関数に近くする)
    • G2-LSTM(入力ゲートと忘却ゲートが確率的に 0 か 1 を取る)
    • CIFG-LSTM(入力ゲートと忘却ゲートが完全に -1 の相関をする)
2ページ目の後半からは、前置きといって RNN における確率的ゲートの話が掘り下げられていますね。そもそも決定論的モデルである RNN を確率的モデルにしたいというのは、過学習を防ぐためとか、多様な出力が得られるようにしたいというモチベーションであるとあります。RNN にランダムネスを取り入れられてきた例として以下が挙げられていますね。…うーん、ドロップアウトはモデルが一部の(中間)特徴に依存してしまうのを防ぐような話だと思うので確率的モデルといった向きではない気もしますし、VRNN に至ってはもう回帰や分類とは目的が違いますよね? VRNN って、「この曲はバッハの曲かどうか判定する」とか「バッハの曲が途中まで与えられたときに次の小節を予測する」とかではなくて、「バッハの曲っぽい曲が出てくる箱がほしい」だと思いますし。

f:id:cookie-box:20200531131606p:plain:w60

まあ、確率的な要素を取り入れて新しいことができるようになった例だと捉えればいいんじゃないのかな。次の段落からゲートの話になるけど、最初にパラメータを削減した話として以下が引用されているね。

この Simple Recurrent Unit: SRU(下図)は GRU 同様に自然言語処理の研究から提案されたネットワーク構造なんだね。ゲートが2つに集約されている点は GRU に似ているけど、GRU と違って出力と記憶セルが分離しているな…でも LSTM と違って前回のステップの出力は使用していない。出力が入力と記憶の線形和というのはかなり制約されているようにみえるけど、名前の通りこれ単体じゃなくてネットワーク構造の構成ユニットとして補助的に使うものなのかな。アブストラクトに Transformer に組み合わせることで翻訳タスクの精度を向上させたとあるね。
f:id:cookie-box:20200902234806p:plain:w560
再帰的ユニットにおいて、「何か足されながら再帰されていくもの」を記憶セルとよぶなら、LSTM、GRU、SRU は以下の表のように違っているようにみえる。絵をみて思っただけだから適当だけど…。
LSTMGRUSRU
記憶セルと出力が分離しているか 出力とは別に記憶セルを設置する もう記憶セルを出力として使用する やっぱり記憶セルから出力を分離する
記憶セルに足し合わせるもの(※)は 入力と前回出力の線形変換の和を活性化したもの 入力と前回出力リセットゲートに通したものの線形変換の和を活性化したもの 入力の線形変換
記憶セルと ※ の混合比を決めるのは 忘却ゲート(記憶セル側)、入力ゲート(※ 側) 更新ゲート 忘却ゲート
出力するのは 記憶セルを活性化して出力ゲートに通したもの 記憶セルをそのまま出力 記憶セルと入力をリセットゲートが決める混合比で混合したもの
まとめると 記憶セルを活用しながら現在のコンテクストを出力する 記憶セルを現在のコンテクストによせる コンテクストを出力するというより入力を modify する

f:id:cookie-box:20200531131544p:plain:w60

一口に再帰ネットワーク構造といっても、後段の Transformer と組み合わせて使うのか、それ自体を主力で使うのかで求められる役割は違いそうですね。今回の論文に戻ると、SRU の続きには複素再帰ニューラルネットの論文も紹介されていますね…この段落は「色々なゲート」といった雰囲気ですが、複素数といわれても複素数のデータをニューラルネットワークに通そうとしたことがないのでイメージがいまいち…。

その3があればつづく

論文読みメモ: Bivariate Beta-LSTM(その1)

以下の論文を読みます。

Kyungwoo Song, Joonho Jang, Seung jae Shin, Il-Chul Moon. Bivariate Beta LSTM. In Proceedings of the AAAI Conference on Artificial Intelligence, volume 34, 2020. [1905.10521] Bivariate Beta-LSTM
※ キャラクターは架空のものです。私の誤りは私に帰属します。お気付きの点がありましたらコメント等で指摘ください。
次回: その2
f:id:cookie-box:20200531131544p:plain:w60

LSTM はシグモイド関数で活性化したゲート(ゲートというと「通る」or「通らない」という印象があるので、「何%だけ通る」という意味ではフィルターなどといった方がいいように感じますが)で

  • 「特徴(※)をどれだけ記憶に取り入れるべきか」(Input Gate)
  • 「記憶をどれだけ忘れるべきか」(Forget Gate)
を制御していますが、この論文は「シグモイド関数は柔軟性がない」といっていますね…確かにいわれてみれば、各ゲートは活性化する前は前回の出力の線形写像と現在の入力の線形写像を足したものですから、これにシグモイド関数を適用しても、前回の出力や現在の入力のある成分に対して単調なゲートになってしまいそうですね。無論、LSTM を利用するときには入力特徴や出力特徴をじゅうぶんいい感じにしておけということなのかもしれませんが…。

※ ここで特徴とよんでいるのは下図の g_t のこと。

それに、「入力ゲートと忘却ゲートの相関も考慮されていない」といっていますが…いや、入力ゲートは入力を制御するものですし、忘却ゲートは忘却を制御するものですから、互いに相手がどうあろうと関係ないですよね。言いがかりではないですか?

f:id:cookie-box:20200531131606p:plain:w60

いや、そう言っちゃうと関係ないように感じるけど、でも、入力ゲートが好きに「特徴を取り入れた方がいいな」と思って、忘却ゲートが好きに「忘却しない方がいいな」と思ったら、記憶はどんどん肥大してシフトしていっちゃいそうだよね。まあそれじゃ困るからそんな風には学習されないだろうけど、記憶を安定させるためには入力ゲートと忘却ゲートはある程度は連携した方がいいんじゃないのかな。あちらを生かしたらこちらは生かさないというようにね。

f:id:cookie-box:20200531131544p:plain:w60

あちらを取り入れたらこちらが立たず…ああ、わかりました。「人の精神は伸縮のきかない容れ物です。より多くの真理と完全な正気の両方を容れることは出来ないのです」というやつですね。

f:id:cookie-box:20200531131606p:plain:w60

違うかな。

f:id:cookie-box:20200531131544p:plain:w60

イントロダクションに入ると、シグモイド関数ではゲートの値が実は0~1のうち狭い範囲しか動かず、ゲートが意図通りに機能していないのではという疑問が投げかけられていますね。ここで引用されている以下の論文のアブストラクトは、「ちゃんとゲート機能を実現するならゲートの値は 0 or 1 にすべきで、実際そのようにしてもパフォーマンスはよかった」というように読めますが、本当なんでしょうか。

この論文のイントロダクションの続きを読むと、上の論文ではシグモイド関数に温度パラメータを導入することでステップ関数に近くするようなこともしたんですかね? でも、ちゃんとしたゲート機能を実現するにはもっと抜本的な修正が必要だと。それで、やはり上の論文で G2-LSTM なる LSTM も提案されたようです。4枚目の右下ですかね。これは入力ゲートと忘却ゲートが確率的なのですかね。入力ゲートと忘却ゲートが抜本的に修正されていることは理解しますが、なぜこうした方がいいと思ったのかはこちらの論文を読まなければならないでしょうか。

f:id:cookie-box:20200531131606p:plain:w60

ゲート同士が相関しうるといっているのは以下の論文みたいだね。アブストラクトには「様々な LSTM の亜種を比較したが、結局重要なのは忘却ゲートと出力の活性化関数だった」というようにあるけど、本文中に直接「相関」という言葉を使っていなさそうだからどの箇所のことか探しづらいな…。

それで、この論文に出てくる CIFG-LSTM というのが入力ゲートと忘却ゲートに完全に -1 の相関をもたせたモデルみたいだね。でもこれだとデータに応じた柔軟性がなさすぎといっている。

f:id:cookie-box:20200531131544p:plain:w60

いや、機械学習の論文はすぐ既存手法に柔軟性をもたせようとしますけど、その柔軟性、本当に必要ですか? YAGNI の法則というものがありますよね?

f:id:cookie-box:20200531131606p:plain:w60

それが Figure 1 かな。これはセンチメント分類の例みたいだけど、入力ゲートと忘却ゲートに大きな負の相関(赤い棒グラフ)が出ているのは "but" や "not" という単語だ。"but" や "not" が来たら忘却ゲートをぐっと閉じて入力ゲートをぐっと開くというのはわかりやすいよね。それまでがネガティブな文章でも、そこからポジティブな文章に変わるかもしれないし。でも、"not" の次の "over-priced" では大きな正の相関(青い棒グラフ)になっている。これもわかりやすいかな。"not" の後の単語はちゃんと受け取らないといけないけど、だからといって直前が "not" であったことも忘れちゃ駄目だから、入力ゲートも忘却ゲートもぐっと開かないといけない。

f:id:cookie-box:20200531131544p:plain:w60

た、確かに…それで、この論文が提案する bivariate Beta-LSTM(bBeta-LSTM)は、シグモイド関数に2変量ベータ分布を合わせて用いることで、(1) 活性化関数の形に柔軟性をもたせ、(2) ゲート間の相関もモデリングできるようにし、(3) しかも勾配消失にも強いと。え、この3番目はどこから来たんですかね??

その2につづく

論文読みメモ: Named Entity Recognition without Labelled Data: A Weak Supervision Approach(その2)(終)

以下の論文を読みます。

Pierre Lison, Jeremy Barnes, Aliaksandr Hubin, Samia Touileb. Named Entity Recognition without Labelled Data: A Weak Supervision Approach. In Proceedings of the 58th Annual Meeting of the Association for Computational Linguistics, 2020. Named Entity Recognition without Labelled Data: A Weak Supervision Approach - ACL Anthology
まとめ
  • 「固有表現抽出を学習したいが対象ドメインのラベル付きデータがなく」、「対象ドメイン向けではない『弱い』ラベリング関数ならいくつか用意できる」というときに、弱いラベリングたちをいい感じに統合する(→ その統合したラベリングで改めて何らかのモデルを学習する)手法を提案した。以下の手順による。
    • 【仮定1】個々の「弱い」ラベリングは、対象ドメインに即した真のラベルではないが、「そのトークンの真のラベルがAのとき、弱いラベリングはBかCになりやすい(=真のラベルと個々のラベリング関数に依存するディリクレ分布にしたがう)」というような傾向があると仮定する。
    • 【仮定2】トークン毎の真のラベルはマルコフ性をもつと仮定する。
    • これらの仮定の下に HMM を学習し、EMアルゴリズムのような方法で「各トークンの真のラベル」、「ディリクレ分布及び遷移パラメータ」を最適化する。
  • 提案手法で改めて学習したモデルは、Reuters & Bloomberg ニュース記事からの固有表現抽出において、ドメイン外の最も信頼できるモデルや、個々のラベリング関数の多数決などの素朴なモデルの組み合わせの性能を上回った。
所感
  • 「個々の弱いラベリングは真のラベリングから確率的に生成されていると考えて、得意分野が異なるラベリングたちを統合する」というのは可搬性があるアイデアのように思われる。特に固有表現抽出のような自然言語処理タスクの場合は「出力されるラベル系列に制約がある」点で、HMM で真のラベルを推定する意義があると思われる。
  • ただし、弱いラベリングたちがいい感じに互いの欠点を補うように揃っている必要があるはずである。手持ちの弱いラベリングたちの揃いっぷりにかなり依存した手法であるようには思われる。
※ キャラクターは架空のものです。私の誤りは私に帰属します。お気付きの点がありましたらコメントでご指摘ください。
前回: その1
f:id:cookie-box:20200531131544p:plain:w60

前回まででわかったことは以下でしょうか。(?)のところはまだわかっていません。

  • 固有表現抽出を学習したいが対象ドメインのラベル付きデータがない。
    • 多少でもラベル付きデータがあれば転移学習できるがないので転移学習すらできない。
  • 対象ドメイン向けではない「弱い」ラベリング関数ならいくつか用意できる。
    • Out-of-domain NER models ― 他の様々なドメインで学習したNERモデル
    • Gazetteers ― 辞書(ウィキペディア、会社名辞書、地名辞書、…)
    • Heuristic functions ― 手作りの抽出ルール(時刻、日付、金額、…)
    • Document-level relations ― 文書レベルの制約(?)
  • なのでこれらのラベリングをいい感じに統合して(?)そのラベルを学習する(?)。

f:id:cookie-box:20200531131606p:plain:w60

肝心なことが何もわかっていない…。

f:id:cookie-box:20200531131544p:plain:w60

なので今回は3節の「Approach」から読もうと思うんですが、冒頭で、今回のラベルの統合はクラウドソーシングしたアノテータさんのラベルを統合するのとは以下の2点において毛色が違うといっていますね。

  • 1点目は個々のラベリングに「地名辞書」などといった特定の固有表現に特化したラベリングがある点です。クラウドソーシングの個々のアノテータさんはラベリングを誤ることはあっても特定のラベルしか付けてくれないということはないのでそこは違いますね。
  • 2点目として個々のラベリングが予測確率分布であることを許容しているようですね。クラウドソーシングのアノテータさんに依頼する場合は「人名: 25%、地名: 60%、会社名: 15%」などといったラベリングはないでしょうからね。アノテータさん的に一番正しいと思う固有表現を考えて選んでもらうことになるでしょう。しかし、今回は個々のラベリングはニューラルネットモデルなんかの場合もあります。確率最大なラベルを取ることもできるでしょうが、予測確率分布のまま扱うということですね。
今回は Appendix A にある 52 のラベリング関数によるラベリングを個々の弱いラベリングとするということです。3.1 節に「Out-of-domain NER models」「Gazetteers」「Heuristic functions」「Document-level relations」の説明がありますが、最初の3つはどんなラベリングか字面から何となくわかるのでとばしましょう。最後の「Document-level relations」というのがわかりません。その箇所を読みましょう。何々、例えば「Komatsu というのは日本の街かもしれないし会社かもしれない」…これ、私たちは日本の人間なのですぐに石川県小松市と建機のコマツを思い当たりますが、日本国外の方にとっていい例なんでしょうかね…まあ私は構わないので構いませんが。なので、Komatsu が含まれる文書が街の話をしているのか会社の話をしているのか考慮した方がいいわけです。そこで、スパン e が固有表現ラベル l である確率を以下であると考えるようです。
 \displaystyle P_{{\rm doc\,majority}(e)}(l)=\frac{\sum_{z \in Z_e} P_{{\rm label}(z)}(l)}{|Z_e|}
|Z_e| はその文書中のスパン e の登場回数、P_{{\rm label}(z)}(l) は登場したうち z の箇所で固有表現ラベル l である確率がいくらだったか、ですね。要は文書中の同じ文字列のラベルはすべて平均に均すんですね。つまり、これは単体でラベリング関数になるのではなく他のラベリング関数の結果にかぶせて用いる感じですね。また、これとは別に、「固有表現は文書中で最初に言及されるときはフルネームで表記され、2回目以降に言及されるときは略称になっていることが多い」ことを利用して先に検出された固有表現の部分文字列があったら先に検出された固有表現の予測確率分布をコピーするなどといったこともやったようです。

f:id:cookie-box:20200531131606p:plain:w60

文書単位で整合性を取るってことだよね。でも、他のラベリング関数とどう組み合わせたのかな。例えば「地名辞書」みたいに「地名」というラベルしか付けられないラベリング関数には適用する意味がないよね。文書レベルのポスト処理をしようとしまいと「地名」ってラベルしか付いてないわけだから。組み合わせ方はこの辺を読んでもよくわからないな…。

f:id:cookie-box:20200531131544p:plain:w60

まあ一旦置いておいて、色々なラベリングが用意できたとして、どう統合するのかを読みましょう。3.2 節によると、S 種類のラベル \{l_1, l_2, \cdots, l_S\}J 個のラベリング関数 \{\lambda_1, \lambda_2, \cdots, \lambda_J\} があるとします。個々のトークi は隠れ状態 s_i \in \{1, 2, \cdots, S\} をもちます。ラベリング関数 jトークi をどんな固有表現であると予測するかの確率分布 P_{ij} はパラメータ  \alpha_{j}^{s_i} をもつディリクレ分布にしたがっているとします。そして、以下のような隠れマルコフモデルを考えるということです。

  • P_{ij} | \alpha_{j}^{s_i} \sim {\rm Dirichlet}(\alpha_{j}^{s_i})
  • \displaystyle p(s_i | s_{i-1}) = \frac{{\rm exp}(\omega_{s_i, s_{i-1}})}{1 + {\rm exp}(\omega_{s_i, s_{i-1}})}
\omega_{s_i, s_{i-1}}s_i から s_{i-1} への遷移確率を制御するパラメータということですが…はて…?

f:id:cookie-box:20200531131606p:plain:w60

ディリクレ分布…いわば、「サイコロを生成するサイコロ」だね。どのラベリング関数も、真のラベルが s であるトークンに対してサイコロ \alpha_{j}^{s} を振った結果を出すと考えているんだね。そして、真のラベルは1つ前のトークンの真のラベルに縛られていると。 \omega_{s_i, s_{i-1}} によってね。なるほど、部長が最初にかいてくれた前回のあらすじに続けるならこんなストーリーだね。

  • 固有表現抽出を学習したいが対象ドメインのラベル付きデータがない。
  • 対象ドメイン向けではない「弱い」ラベリング関数ならいくつか用意できる。
  • 【仮定1】個々の「弱い」ラベリング関数の結果は、対象ドメインに即した真のラベルではないが、「そのトークンの真のラベルがAのとき、弱いラベルはBかCになりやすい(=真のラベルと個々のラベリング関数に依存するディリクレ分布にしたがう)」という傾向があると仮定する。
  • 【仮定2】また、真のラベルはマルコフ性をもつと仮定する。
  • これらを仮定すれば、EMアルゴリズムのような方法で「各トークンの真のラベル」、「ディリクレ分布及び遷移パラメータ」を最適化できる。得られた「各トークンの真のラベル」(の分布)を正解ラベルに改めて何らかのモデルを学習する。
ディリクレ分布が真のラベルとラベリング関数にのみ依存するというのは大雑把な気がするけど(本当はコンテクストにも依存する気がするけど)、ファーストステップとしては妥当な仮定なのかな。

f:id:cookie-box:20200531131544p:plain:w60

何ですかその上から目線は…というか HMM の最適化までまだ読んでいませんよ。学習対象は以下ですね。

  • |S| \times |S| 個の遷移パラメータ。
  • |S| \times |J| 個のサイコロ(どのサイコロも |S| 個の目が出る)。
これらは EM アルゴリズムの亜種である Baum-Welch アルゴリズムで学習されるとありますね。…EMアルゴリズムは隠れ変数があるときの最適化手法ですが、ここでの隠れ変数は…いや、そもそも「隠れ」マルコフモデルなのですから、真のラベルが隠れていますね。「真のラベル」と「遷移パラメータとサイコロ」を同じステップで最適化することはできないので、こちらを固定してあちらを最適化して、あちらを固定してこちらを最適化して…というステップを繰り返すということですね。収束を早くするためにある制約を課しているという話もありますが…とばしましょう。次に初期値をどうするかの話があります。
  • 隠れ変数の事前分布は、「最も信頼できるラベリング関数のカウントに基づいたディリクレ分布」にするということですが、カウントというのは同じ文字列が何回固有表現に判定されそのラベルの内訳がどうなっているかに基づいてディリクレ分布にするということでしょうか?
  • 遷移パラメータも最も信頼できるラベリング関数に基づいて初期化するようですね。
  • サイコロの初期値は…個々のラベリング関数 j のラベル k に関する感度 r_{jk} と精度 \rho_{jk} を見積もって以下のようにするとのことですが…何ですかこれは…?
  •  \displaystyle \alpha_{jk}^{s_i} \propto \begin{cases} r_{jk} \quad {\rm if} \; s_i = k \\ (1 - r_{s_i k})(1 - \rho_{jk}) \delta_k \quad {\rm if} \; s_i \neq k\end{cases}

f:id:cookie-box:20200531131606p:plain:w60

その式を日本語訳しただけだけど、あるラベリング関数が「地名」であるトークンにどんな確率分布にしたがったラベルを割り当てるかは、以下のように決めるということだね。

  • 正しく「地名」と判定する確率は、そのラベリング関数の「地名」への感度に比例するとする。
  • 誤って「人名」と判定する確率は、(1 - そのラベリング関数の「人名」への感度)×(1 - そのラベリング関数の「地名」への精度)に比例するとする。
地名をよく検出するラベリング関数だったら、「地名」に対して「地名」と判定してくれる確率は高いだろう、というのは素朴な期待なんじゃないかな。ただ、この精度と感度は何らかの方法で見積もらないといけないんだよね…どうやるのかな…。

f:id:cookie-box:20200531131544p:plain:w60

まあ何にせよ HMM を学習して、隠れ変数たる真のラベルを手に入れるわけですね(確率分布として手に入れるわけですが)。そして改めて系列モデルでこの真のラベルを学習します。真のラベルは確率分布のまま扱って、これとのクロスエントロピーを最小化するように学習するとのことです。4節以降は端折ると、結局ラベルが多い Reuters & Bloomberg データでは提案手法によるNERがよかったのですかね(Table 2)。

おわり