読んだ論文
Twitterに流れてきた Causal Effects of Linguistic Properties (NAACL 2021) という論文を読みました。
解釈が間違っている部分はご指摘していただければと思います。
概要
- 文章の言語特性による因果効果の推定を検討
- そのため、プロキシラベルと呼ばれる処置変数を検討する。
- 因果推定を行う文章から得られる言語特性にはノイズが非常に乗っている状態になっている。
- そのため、言語特性を表現する特徴量をBERTを用いた表現学習により獲得して共変量の調整を行う
- このプロキシラベルと表現学習により獲得した共変量を用いて因果推定を行うアルゴリズムTEXTCAUSEを提案
- Amazonのレビューを元にした合成データセットと金融庁のクレーム処理に関するデータを対して因果推論を検討
イントロ
言語の因果効果推定には二つの課題がある
- 原因となる変量を観測可能な変数で表現するが必要なこと
- 真の言語特性のかなりにプロキシラベルと呼ばれう観測値を用いるがノイズが多いため、このような状態でも真の効果を推定すること
これらを解決するTEXT CAUSEを提案。
TEXT CAUSEのコードはgithubで公開している(https://github.com/rpryzant/causal-text)
因果推論の基本
処理Tによるアウトカムへの平均因果効果ATEは次のように定義されている。
しかし、共変量によりバックドアパスが開いていると条件付き確率と一致しない。
次のように共変量で期待値をとったATEを推定することでバックドアパスを調整することができる因果推定が行える。
この調整をbackdoor-adjustment formulaと呼ばれている。
言語特性の因果推論についての検討
文章における因果推定を考える際に、書き手が意図を持って作成した文章が読み手にどのように認識されるかを考慮する必要がある。
言語学等の研究で用いられる考え方を利用し因果関係モデルを次のように検討。
- :文章
- :関心ある言語特性
- :を介して意識的または無意識的に伝達した他の言語特性(トピック/雄弁さなど)
- :アウトカム(売り上げや対応の変化)とは通常相関している
関心のあるATEは次にようになる。
この因果効果は推定ができないと相関するを調整する必要があるためであり、バックドアパスが開いている状態になっている。
一方で読み手は文章から関心のある特性とその他の特性を知覚し、それらからアウトカムが得られる。
例えば、顧客サービス担当者はユーザーからの苦情を読み、その苦情が丁寧なものかどうかを判断し、それに基づいてどれだけ早く対応するかを選択するような状態である。
ここで検討すべき因果効果は次にようになる。
] = ] となるような単語の関数をとする。
ここで、以下の仮定が成り立つとする。
- はとの間のバックドアパスをブロックする。(未観測交絡因子なし)
- (意図と認識の一致)
- ある定数に対して以下が確率一で成り立つ
そして、を次のように定義するとは一致することになる。
代理処置変数について
多くの場合で書き手が考える言語特性(と)や読み手が知覚する言語特性(との情報)を観測することはない。
これらを扱うために分類器や辞書を用いてテキストからこの特性の値を推定し、プロキシラベル (代理処理変数)を生成する。
この場合に未観測となる処理変数をに置換したATEの推定量を導入。
ととするととの関係は次のようになる。
この関係からは次のようなことがわかる
- によるバイアスは良性である。それは効果の大きさを減少させるだけで、増加させる方向にはならない
- 可能なかぎり正確なを生成することが求められる
TEXT CAUSEについて
要点は二点
の生成(推定)の精度を向上させるためのアプローチの検討
改良した、、を用いて、テキスト中の交絡因子を抽出して調整するモデルの学習
レビューの対象となる製品や苦情の種類などの交絡特性は共変量として、モデルに加えて検討する。
第一段階
プロキシラベルを作成するためにdistant supervision*1*2を用いる。
(言語研究系の)先行研究*3*4をベースにプロキシラベルの正確性を向上させるために、プロキシラベルを予測する分類器を学習し、その分類器を用いてとラベル付けされたがに推定されたサンプルに対し再ラベル付けする。
流れ
を予測する分類器を学習する。 例えばBoWとで学習したロジスティック回帰など
のサンプルにラベルを付け直す
- を新しい代理処置変数(プロキシラベル)にする
第二段階
テキストW、代理ラベル、結果Yを用いてを推定する。
はじめにテキスト中の交絡情報を、結果変数]を予測する学習表現*5でを近似する。
この学習にはBEATを用いて、 のベクトルは768次元としている。
期待される条件付きの結果変数とその推定量は次のようになる
を一度推定し、の推定値を推定するためにパラメータを持つモデルとして以下の最小化問題を解く。
- :クロスエントロピー
- :BERTの目的関数
- :調整のためのハイパーパラメータ
実験
Amazonのレビューをもとに結果変数をシミュレートし、半合成データセットを取得して推定精度を評価。 また、実際の金融庁に対するクレームが対応時間に与える影響を推定している。
実験1. Amazonのレビュー
Amazonのレビューデータをもとに半合成データセットを作成し、製品に対するポジティブなレビューはどれくらい売上に影響するのか?を検証する
データセット
テキスト:
共変量:
- 関連するレビューがCDであるかどうかのバイナリ指標
処置変数:
- レビュースコアがポジティブかどうか
- スコアが5 か 1,2で判断、3,4は削除
- とが一致ことを意識している
処置変数:
- 推定精度を93%にするようにノイズを加えて生成
結果変数:
- 以下の式に従い生成する
- :データから算出される傾向スコア
設定
表現学習にはDistilBERT*6を利用
- およびベクトルのための3080個のパラメータを追加
- 頑健性を高めるために100個の異なるランダムシードでモデル推定
検討モデル
- ベースライン:] − ]
- 共変量Cなどで調整したNaiveモデル:
- proxy-lex:辞書情報で作成したプロキシラベルを利用
- proxy-noised:93%精度のノイズのあるプロキシラベルを利用
- T-boost:プロキシラベルを調整したモデル(第一段階)
- W-Adjust:言語特徴量を調整したモデル(第二段階)
- TEXTCAUSE(T-boost + W-Adjust)
結果
結果としてTEXT CAUSEが最もoracleと差がない状態になった。
各列に対応するデータ生成のパラメータは表の下部を参照。
また、最も悪い結果は次にようになった。
oracleのATEは負値であったが、TEXTCAUSEは最も負に近い値を推定している。
感度分析
生成するデータを恣意的にサンプリングし、を推定する精度が下がった状態を生み出した。
この時の推定されるATEがどのようになるかを確認した。
- の推定精度が90%以下の場合、proxy-lexとT-boostの方がTEXTCAUSEよりも高品質の推定を行うことができる
- の推定精度が80%以下になると、どの手法でも真のATEを推定は難しい
実験2. 金融庁のクレーム
消費者金融保護局(CFPB)に寄せられた苦情における苦情の丁寧さの認識が、その苦情に対応するまでの時間にどのように影響するか?を検証
データセット
- 結果変量:15日未満で処理されるかどうか
共変量:苦情の対象となった商品と会社(住宅ローンか銀行口座か)
- 他の潜在的な交絡効果を減らすためにの苦情を最も類似したの苦情と対にして、他の交絡効果を減少させる
- TF-IDFベクトルのコサイン類似度に基づいて、各の苦情を最も類似したの苦情を対にし合計8,000件のセットを作成
処置変数T:文章の丁寧さ
- 社会科学系で利用される丁寧さの検出パッケージを使用する*7
- 丁寧さスコア分布の上位と下位の25%のサンプルをととしてそれ以外を全て捨てる(最終的に4000件のデータ)
結果
雑感
因果関係のモデルには納得感があるがとが一致するための仮定はかなり強いのではないかと感じる
一方でタスクによってはの話は気にしないで良い気もする
結果変数を推定するように表現学習を行っているが、2段階推定のようになりバイアスが存在していないか
プロキシラベルの生成は理論的には誤差の低減に繋がるとはいえ、かなり恣意的な設定の方法でないのか。先行研究の内容を確認する必要性あり
Amazonのデータセットでの実験において処置変数をレビュースコアしているが、文章特性を意味する情報であるかに違和感を感じる
細いバイアスや推定精度を気にしなければ、優先して出すべきレビューの自動決定などには利用できるかもしれない
*1:distant supervision:知識データベース上の情報を利用して学習データをラベル付けする半教師あり学習の手法
*2:参考:https://abicky.net/2015/03/09/081844/
*3:https://arxiv.org/abs/1606.02820
*4:https://arxiv.org/abs/1806.05521
*5:https://www.slideshare.net/DeepLearningJP2016/dldeep-learning-15
*6:https://arxiv.org/abs/1910.01108
*7:https://journal.r-project.org/archive/2018/RJ-2018-079/RJ-2018-079.pdf