Graph Convolutionで自然言語処理を行う(テキスト分類編) Part2

piqcy
programming-soda
Published in
7 min readNov 30, 2018

Part2では、用意したデータセットに対し標準的な手法(ベースライン)でどの程度の精度が出るかを確認します。これは絶対的な評価だけでなく、相対的な評価を行うためです。例えば「99%の精度」が出せたらすごい手法に思えますが、どんな手法でも99%が出るならその手法に優位性があるかはわかりません。優位性を確認するには、他の手法でどの程度の精度が出るのか、という情報も必要になります。

今回は標準的な手法として、TF-IDFLSTMを用います。いずれも、自然言語処理ではまず試す一般的な手法です。使用するデータは、もちろんPart1で前処理を行ったMulti-NLIのデータセットです。

分析に使用したJupyter Notebookは、以下で公開しています。

TF-IDFの結果は以下のようになりました

         precision    recall  f1-score   support

fiction 0.44 0.38 0.41 348
government 0.48 0.50 0.49 348
slate 0.27 0.25 0.26 348
telephone 0.56 0.68 0.61 348
travel 0.37 0.63 0.47 348
nineeleven 0.71 0.60 0.65 348
facetoface 0.48 0.43 0.45 348
letters 0.61 0.59 0.60 348
oup 0.61 0.47 0.53 348
verbatim 0.41 0.33 0.37 348

micro avg 0.48 0.48 0.48 3480
macro avg 0.49 0.48 0.48 3480
weighted avg 0.49 0.48 0.48 3480

そして、LSTMの結果は以下のようになりました。

         precision    recall  f1-score   support

fiction 0.35 0.59 0.44 348
government 0.50 0.27 0.35 348
slate 0.18 0.27 0.22 348
telephone 0.90 0.95 0.92 348
travel 0.35 0.25 0.30 348
nineeleven 0.80 0.60 0.68 348
facetoface 0.54 0.56 0.55 348
letters 0.64 0.51 0.57 348
oup 0.63 0.33 0.43 348
verbatim 0.21 0.30 0.25 348

micro avg 0.46 0.46 0.46 3480
macro avg 0.51 0.46 0.47 3480
weighted avg 0.51 0.46 0.47 3480
LSTMの学習における、lossと精度(横軸: epoch、左縦軸: 精度、右縦軸: loss)

TF-IDFとLSTMの結果を比較したものが下表となります。f1-scoreに1pt以上の差がついているジャンルに色をつけています。一般的にTF-IDFは単語特徴、LSTMは文脈特徴に強いため、各ジャンルの判定に際しどちらが優位かをなんとなく知ることができます。

TF-IDFとLSTMとで、f1-socreの比較

全体的に、TF-IDFの方が若干優位です。ただ、telephoneではLSTMが顕著に優位です。

以下ではベースラインとして使用したTF-IDFとLSTMの性質について、詳細な分析を行っています。その結果を基に、Graph Convolutionを導入することでどのジャンルの精度が上がるかについて予測を立てています。

モデルの分析

1pt以上の差があったジャンルについて、各モデルがどんな特徴に反応しているかを分析してみます。分類に寄与している特徴を調べることで、対象のジャンルがどんな性質を持つのか(単語特徴優位/文脈特徴優位)を推定できる可能性があります。

今回は分析にLIMEを使用しました。LIMEはモデルが判断根拠としている特徴を解析する手法です。手法の名前がそのままライブラリの名前となっています。LIMEの詳細については、著者らがわかりやすいブログを書いているのでそちらをご参照ください。端的には、入力の一部を欠損させることで重要な特徴を洗い出します。

Introduction to Local Interpretable Model-Agnostic Explanations (LIME) より

TF-IDF優位のジャンル

一番差のあったtravelの結果を見てみます。

TF-IDFの判断根拠
LSTMの判断根拠

TF-IDFでは「the」に着目しており、しかも判定結果はtravel/fictionで五分五分です。その意味では、TF-IDF優位というよりLSTMが間違いを犯しやすいともいえそうです。実際、LSTMはverbatimとslateに大きく確率を振っていますが2つとも間違いです。Graph Convolutionにより文脈を正確にとらえられれば、間違いが減り精度が上がる可能性はありそうです。

LSTM優位のジャンル

顕著に優位だったtelephoneの結果を見てみます。

TF-IDFの判断根拠
LSTMの判断根拠

LSTMは「i」「you」といった単語に注目しています。電話なので、話しかけるシチュエーションが多いのかもしれません。「i」はおそらく高頻度語に該当するため、TF-IDFでは重みづけが弱くなるのかもしれません。その意味では、単に頻度でなく文脈における意味を考慮できるLSTMに分がありそうです。

Graph Convolutionによる効果の予測

Graph Convolutionを導入することで、端的には係り受け関係を考慮することができます(グラフをDependency Parseの結果から作成する場合)。そうすると、より正確に文脈情報をとれることが期待できます。その結果として、まずLSTMが優位なジャンルでより精度が高まるのではないかと予想できます。TF-IDF優位のジャンルでは、TF-IDFが顕著に単語の特徴をとらえているというより、LSTMが間違いやすいジャンルであるように見えます。そのため、文脈把握の精度が上がればTF-IDFを超えられるかもしれません。

この予想が当たるかは、Part3で確認をしてみます。

--

--

piqcy
programming-soda

All change is not growth, as all movement is not forward. Ellen Glasgow