DEIM Forum 2019 A3-2

Convolutional Neural Network を用いた Fake News Challenge の検討
雨宮 佑基†

酒井 哲也†† 早稲田大学基幹理工学部情報理工学科 〒 169–8555 東京都新宿区大久保 3-4-1
E-mail: †yukiamemiya@fuji.waseda.jp, ††tetsuyasakai@acm.org
あらまし Fake News は SNS を中心に拡散され，政治にまで大きな影響を及ぼす社会問題の 1 つである．その問題に対抗するため，機械学習や自然言語処理技術を用いてニュース記事の見出しと本文の関係を識別するタスクが，2017
年に Fake News Challenge Stage 1 として開催された．そのタスクにおいて最も高いスコアを獲得したチームは畳み込みニューラルネットワーク (CNN) を使用したが，その分類精度は低かった．そこで本研究では，CNN をベースとしたモデルを構築した上で階層分類を行い，その効果を検証する．また記事の見出しと本文の一致度合いだけでなく，不一致の度合いも測ることができる独自の評価方法も提案する．評価実験の結果，本研究で提案したモデルは，

FNC-1 で使用された評価方法および本研究で提案された評価方法の両方において，設定されたベースラインより高い
精度で分類を行った．したがって，このタスクに階層分類が有効であるということが確認できた．
キーワード Fake News Challenge，スタンス検出，畳み込みニューラルネットワーク (CNN) ，階層分類

1. は じ め にIntelligence [2] というチームであった．Talos チームは畳み込み
ニューラルネットワーク (CNN) と Gradient-Boosted Decision

Fake News とは，マスメディアや SNS を通じて拡散される，

Trees (GBDT) という 2 つのモデルを組み合わせてこのタスク

事実とは異なる虚偽の情報のことである．その中には金銭目に臨んだが，その 1 つである CNN モデルは GBDT モデルに的や他人を困らせるために意図的に創作されるものもあれば，比べ分類精度が低かった．我々はこの CNN モデルの分類精度

事実確認を怠ったことによる誤解や勘違いで偶発的に生まれたに大きな影響を与えたものは，FNC-1 で利用されるデータセッ

ものもある．これまでも噂やデマのように，真実とは異なる情トにある偏りではないかと考えている．すなわち Talos チーム

報が伝えられることはあったが，SNS の利用が浸透し，誰もが使用したモデルでは，データ数の多いクラスは正確に分類でが簡単に情報を共有・発信できるようになった現代では，Fake

きるが，データ数の少ないクラスでは学習が不十分となり誤分News が拡散するスピード，範囲はそれまでとは比べ物になら類が起きる可能性がある．

ない．そのため Fake News は政治，経済など社会全体に影響

そこで本研究は，Talos チームの CNN モデルに模したものを及ぼすようになってきており，時には大きな混乱を招くことを構築し，それを分類器として階層分類を行うことを目的とすさえ起きている．

る．それは，階層的にクラスを分割し分類することで，データ

Fake News によって生じるこうした問題に対抗するため，機数の不均衡を抑えることができ，さらに各クラスの特徴を捉え

械学習や自然言語処理技術を用いてニュース記事の中のねつ造やすくなると考えるからである．さらに，FNC-1 のための独や誤った情報を識別することを目的とし，Pomerleau と Rao

自の評価方法の提案も行う．FNC-1 で利用された評価方法は，により企画されたのが Fake News Challenge (FNC) というプ

データセットの偏りを考慮し重みづけを行ってはいるものの，ロジェクト [1] である．彼らによれば，ニュースの内容が真実

Related (Agree, Disagree, Discuss) クラスと Unrelated クラであるのか虚偽であるのかを評価する第一段階は「他社はどの

スの 2 クラス間でしか評価の重みづけがされていないという問ように伝えているか」ということを知ることであるという．そ題を抱えている．そのため，この評価方法は，正解のスタンス

してそれを自動化すること，すなわち「スタンス検出 (Stanceが Agree であるインスタンスに対してシステムが Disagree でDetection) 」こそが，あるニュースが事実であるか否かを人工あると予測するというリスクを全く考慮していない．そこで本知能を用いて確認する上で非常に重要な役割を果たすという．

研究においては，正解のスタンスとシステムが予測したスタン

そこでスタンス検出に焦点を当て，2017 年に公開されたタスク

スの間の一致度だけでなく，不一致の度合いも定量化することが Fake News Challenge Stage 1 (FNC-1) [1] である．FNC-1ができる評価方法も提案する．

におけるスタンス検出のタスクは，与えられたニュース記事の見出しと本文の内容について４つのクラス，すなわち合致して

2. 関 連 研 究

いるのか (Agree) ，合致していないのか (Disagree) ，同じト

2. 1 FNC 類似タスク

ピックについて議論しているだけなのか (Discuss) ，無関係なFNC-1 のスタンス検出では，ニュース記事の見出しとその記のか (Unrelated) ということを識別するものである.
この FNC-1 において，最も高いスコアを獲得したのは Talos

事本文の内容との関係を識別するタスクが課題として与えられたが，類似したタスクとして行われたものに Mohammad らによるものと，Matsuyoshi らによるものの 2 つが挙げられる．

算速度が早く実装が容易なうえに，幅広く多様なトピックを捉Mohammad らが行ったのは，SNS 上の Twitter について，えることができる CNN と，見出しと本文の関係を明らかにす

Tweet した人がその内容について賛成の立場をとっているのる特徴を持ち，異なる特徴ベクトルのスケールに頑健である

か，それとも反対の立場なのか，あるいはそのどちらでもない

GBDT という 2 つのモデルを 50/50 の加重平均で組み合わせのかを判断するというタスクの設定である [3]．このタスクに取たシステムを構築した．Talos チームによれば，CNN，GBDT

り組んだほとんどのチームは n-gram や単語埋め込みベクトル，

ともそれぞれ単独では高い精度の分類を行うことはできなかっ感情特性といった手法を用いてスタンス検出を行った．しかたが，アンサンブルにすることでより正確にスタンスを検出し，優れた成績を残したチームが行ったのは CNN や Recurrent

することができるという．しかし，Hanselowski らによれば，Neural Network といった深層学習を用いた方法であった．

CNN モデルは GBDT モデルに比べてはるかに精度が劣ってい

一方 Matsuyoshi らが用意したのは，NTCIR-10 RITE2 とるという．すなわち CNN モデルは Agree，Disagree，Discuss，

いうタスクである [4]．RITE2 では，t1，t2 という 2 つのテキ

Unrelated という 4 クラスのすべてにおいて分類精度が低く，ストがペアとして与えられ，t1 の内容から t2 の内容が真であ

そのことがモデル全体の検出精度にマイナスの影響を与えていると推論されうるかどうかを判断することが求められた．これるという．

は，与えられた 2 つのテキスト間の関係を分類するという点に

2. 3 自然言語処理における深い CNN

おいて FNC-1 と類似している．NTCIR-10 RITE2 に参加しConneau ら [10] は，感情分析やトピックあるいはニュース

た Ito ら [5] は，Support Vector Machine (SVM) や Logistic

分類を行う際，CNN の畳み込み層をより深くした Very Deep

Regression (LR) といった機械学習と，自らが定めたルールのConvolutional Networks (VDCNN) を提案した．VDCNN は両方を組み合わせたシステムを利用して，2 つのテキストの関

CNN の畳み込み層を 29 層まで増やして作られたものであり，連性を高い精度で識別した．

VDCNN を使うと，利用したデータセットすべてにおいて CNN

2. 2 FNC-1 参加者らの手法

より分類精度の向上が見られたという．さらに VDCNN では，

FNC-1 には世界中から 50 チームもの研究者や企業が挑戦し，ニューラルネットワークが深くなると起こる勾配消失という問事実とは異なる情報を見抜くための技術の開発を競った．例えば

題に対処するため，勾配の減衰を防ぐ残差接続 [11] が利用されRiedel ら [6] は，Term Frequency (TF) と Term Frequency–ている．

Inverse Document Frequency (TF–IDF) を使って特徴を抽出

2. 4 偏ったデータセットに対する階層分類の適用

し，多層パーセプトロンで分類した．彼らのこの手法は単純なAbdalaziz ら [12] は，多クラスデータセット内の少数のデーものであったにもかかわらず，FNC-1 で 3 番目に高いスコアをタを正しく分類するために階層分類を提案し，不均衡なデー獲得した．また Thorne ら [7] は，反駁を表す単語のカウントやタセットに対する階層分類の有効性を示している．彼らは，グTF–IDF ベクトルのコサイン類似度といった特徴を利用した多ループ内のインスタンス数が等しくなるように，もとの不均衡

層パーセプトロンを用いた分類器や，unigram TF–IDF およ

なデータセットを複数のグループに分割した新しいデータセッ

び bigram TF–IDF で正則化したロジスティック回帰を用いた

トを人工的に編成し，そのデータセットを階層的なステップご

分類器のほか，5 つの分類器にそれぞれ学習させて，それらをとに SVM を用いて分類した．そして，その手法は従来の手法

アンサンブルする手法を提案した．彼らの手法では，検証デーと比べても，最良の結果をもたらしたという．

タにおいて分類精度の向上が見られたが，テストデータの分類
は検証データよりもはるかに分類が困難であったため，全体で3. 提 案 手 法

11 番目のスコアを記録するにとどまった．さらに Bourgonje

3. 1 VDCNN モデル

ら [8] は，まず n-gram マッチングで Related (Agree, Disagree,

本研究では，Talos チーム [2] が使用した CNN に，Conneau

Discuss) か Unrelated かを決定し，さらに Related 中の 3 ク

ら [10] の研究から着想を得て改良を加えたもの，すなわち VD-

ラスについてロジステック回帰を用いて，粒度の細かい分類を

CNN モデルを提案する．また，本研究でモデルを構築する際，行っている．FNC-1 における彼らのスタンス検出の精度はそれ

Talos チームが GitHub 上で公開しているソースコード（注 1）をほど高いものではなかったが，彼らの手法は明らかにクリック

参考にした．ここで，2. 3 節で述べた VDCNN の利点を活用を誘うような記事や噂の正確性を検出するのに有効である．

して構築したモデルの概要図を，図 1 に示す.

一方，Hanselowski ら [9] は FNC-1 終了後に，同タスクで優このモデルでは，まず FNC-1 のデータセットから得られる秀な成績を残した上位 3 チームのシステムを再現し，エラー分

ニュース記事の見出しと本文を別々に入力する．次に，その 2

析や特徴分析を行っている．彼らは，この分析に基づき，ニューつのテキスト入力を単語埋め込みベクトルによってベクトル化

ス記事の見出しと本文の語彙の重複による判別方法に，本文の意する．続いて，そのベクトル化されたテキストを Convolution

味内容の合致を識別する Long Short-Term Memory (LSTM)

Block で畳み込みを行う．この Convolution Block は 2 つの畳ネットワークを組み合わせた新たなシステム stack LSTM を提み込み層と，それぞれの後に続くバッチ正規化 (Batch Normal-

案した．そしてそのシステムは，FNC-1 上位チームに劣らな

ization) 層および正規化線形関数 (ReLU) から構成されていい高精度な分類を実現している．
また，FNC-1 で最も優秀な成績を収めた Talos チームは，計（注 1）：https://github.com/Cisco-Talos/fnc-1

このフィルターが文の先頭から末尾までスライドして，出力がcj ∈ Rn という形になるようにパディングしつつ畳み込みを行
うと，j 番目のフィルターによって生成される新たな特徴マップ cj は以下の数式で表される．

cj = [cj1 ，cj2 ，．
．
．
，cjn ]
したがって，フィルターが h 個あるとき，全フィルターによって生成される特徴マップは以下の数式で表される．

C1 = c1 ⊕ c2 ⊕ ．
．
．⊕ ch
同様にして，この C1 を入力した 2 層目の畳み込み層の出力は，以下の数式で表される．

C2 = c̃1 ⊕ c̃2 ⊕ ．
．
．⊕ c̃hそして，この出力に残差接続を加える．しかし，Convolution

Block へ入力する x1:n は C2 と次元数が異なるため，x1:n は畳み込みウィンドウの長さが 1 で j 番目のフィルター Wj ∈ Rkと積和演算が行われる．そしてバイアス Bj を付加した後は，1層目の畳み込み層と同じ操作が行われ，h 個全てのフィルターによって新たな特徴マップが生成される．これを数式で表すと以下のようになる．

Xji = f1 (Wj・xi:i+2 + Bj )Xj = [Xj1 ，Xj2 ，．
．
．
，Xjn ]
X1:h = X1 ⊕ X2 ⊕ ．
．
．⊕ Xh
したがって，Convolution Block の最終的な出力 H ∈ Rnh は
以下の数式で表される．

H = C2 + X1:h

図 1 提案するモデルの概要図

この Convolution Block は 4 種類あり，各 Convolution Block
る．さらに，その Convolution Block 内では残差接続が用いらにおける畳み込み層が持つ出力フィルターの数は h と等しく，れている．その後 Convolution Block の出力は，Max Poolingそれぞれ 64，128，256，512 と層が深くなるにつれ増加する．

によって重要な情報が保たれたまま情報量が圧縮され，全結合層を通過し，最終的に Agree, Disagree, Discuss, Unrelated の4 クラスに分類される．

3. 2 階層モデル
データセットが偏っているためにデータ数の少ないクラスを正しく分類することが困難であるという問題を解決するため，

次に，図 1 の Convolution Block 内のネットワークについて

本研究では階層分類を用いた手法を提案する．2. 4 節で述べた説明する．文中で i 番目の単語に対する k 次元の単語埋め込み

ように，階層分類は偏ったデータセットに対して特に有効であベクトルを xi ∈ Rk とすると，長さ n の文に対応するベクトル

り，より正確にデータ数の少ないクラスの分類ができる．ここ

x1:n ∈ R

で，本研究で提案する階層分類の概要を図 2 に示す．まず第 1

nk

は以下のように表される．

x1:n = x1 ⊕ x2 ⊕ ．
．
．⊕ xn

分類器を用いて，FNC-1 のデータセットにおけるインスタンス
を Unrelated と Related (Agree, Disagree, Discuss) の 2 クラ

ここで，⊕ は連結演算子を意味し，x1:n は Convolution Block

スに分類する．次に第 2 分類器を用いて，Related クラスに分への入力となる．その x1:n は 1 層目の畳み込み層において，畳類されたインスタンスを Agree, Disagree, Discuss の 3 クラス

み込みウィンドウの長さが 3 で j 番目のフィルター wj ∈ R3k とに分類する．

積和演算が行われ，バイアス bj が付加される．その後，ReLU

こうした第 1 分類器と第 2 分類器による階層分類を，前節でを用いた活性化関数 f1 が適用されて新たな特徴 cji が生成さ

述べた VDCNN モデルと組み合わせて行い，このモデルを階れる．これらの操作は以下の数式で表される．

層モデルと呼ぶ．なお，第 1 分類器と第 2 分類器の間でパラ

cji = f1 (wj・xi:i+2 + bj )メータは共有されない．

加算される．次に Related と正しく分類されたインスタンスをAgree，Disagree，Discuss の 3 クラスのいずれかに分類する．
ここでも正確に分類することができれば，チームのスコアは0.75 加算される．
4. 3 提案する評価方法
スタンス検出において，Related (Agree, Disagree, Discuss)
クラスと Unrelated クラスの二値分類を誤ることと同程度に，

Related クラスの 3 クラス間で誤分類をすることは深刻な問題である．しかし，FNC-1 における評価方法は，正解のスタン
スとシステムの予測したスタンスが一致したときに加点していく方法であるため，Related クラス中で両者が不一致だった場合を考慮していない．例えば，実際は見出しと本文の関係が
図2

Agree であるにも関わらず，両者の関係が Disagree であると予提案する階層分類の概要図

測された場合と，両者の関係が Discuss であると予測された場
合には，同じスコアがつく．しかし，Agree と Discuss という

4. データセット・評価方法

不一致よりも，Agree と Disagree という不一致のほうが深刻であると考えられる．そこで，本研究では Weighted Cohen’s

4. 1 データセット
本研究でスタンス検出を行うために利用するのは，FNC-1 の主催者によって GitHub 上に公開されたデータセット（注 2）である．このデータセットは，新聞記事の内容の真偽を確認するための Emergent プロジェクト（注 3）からデータを抽出して作成されたものであり，Ferreira ら [13] の研究に基づいて作成されている．これら FNC-1 の主催者によって提供されたデータセットには，訓練用とテスト用の 2 種類がある．訓練用データセットには 49, 972 個のインスタンスが含まれており，各インスタン
スは (見出し，本文， スタンス) の組になっている．スタンス
は見出しと本文の関係によって決まり，見出しと本文が合致していれば Agree，合致していなければ Disagree，ただ単に同じトピックについて議論しているだけであれば Discuss，無関係であれば Unrelated となる．訓練用データセットの分布を以下の表 1 に示す．一方，テスト用データセットには 25, 413 個のKappa [14] を利用して評価する．
ここで，Weighted Cohen’s Kappa の計算方法について説明する．まず正解のスタンスが第 i カテゴリ (i = 1 のとき Agree，

i = 2 のとき Disagree，i = 3 のとき Discuss，i = 4 のとき
Unrelated) に分類され，かつシステムの予測したスタンスが第j カテゴリ (j = 1 のとき Agree，j = 2 のとき Disagree，j = 3のとき Discuss，j = 4 のとき Unrelated) に分類されたときのアイテム件数を Oij とする．それによって，正解のスタンスが第 i カテゴリに分類したアイテム件数を Oi• ，システムの予測したスタンスが第 j カテゴリに分類したアイテム件数を O•j と表すことができる．したがって，総アイテム件数が N 個で，正解のスタンスとシステムの予測したスタンスが独立して分類が行われた場合の期待値を表す仮想データは，以下のような数式で表される．

文) の組となっている．FNC-1 において，訓練用データセット

Oi• O•jN
さらに，各カテゴリ対の重みを Wij とすると，不一致度を表す

はテスト用データセットの各インスタンスに正しいスタンスをWeighted Cohen’s Kappa は以下のような数式で表される．

インスタンスが含まれており，各インスタンスは (見出し，本Cij =ラベルづけするために使われ，一方，テストデータは分類器の

4 ∑
4
∑

汎化能力を確認するために使われた．そのため本研究でも，同様の目的でこれらのデータセットを利用する．

κ=1−

表 1 FNC-1 で用いられた訓練用データセットの分布
スタンス

3,678

840

8,909

割合 (％)

7.4

1.7

17.8

i=1 j=1
4 ∑4∑

Wij2 Cij

i=1 j=1

Total

すなわちこの数式により，正解のスタンスとシステムが予測し36,545 49,972

たスタンスにおける偶然以上の一致の度合いが表される．ここAgree Disagree Discuss Unrelated

インスタンス (個)Wij2 Oij

73.1

100

で，今回スタンス検出の結果を評価するにあたり設定した重みを，以下の表 2 に示す．Related と Unrelated の不一致に対

4. 2 FNC-1 の評価方法

しては 3，Agree と Disagree の不一致に対しては 2，Agree とFNC-1 における評価は，まず見出しと本文の関係が Related

Discuss の不一致あるいは Disagree と Discuss の不一致に対し(Agree, Disagree, Discuss) か Unrelated かの二値分類である．

ては 1 の重みを設定した．また，正解のスタンスとシステムのここで正確に分類することができれば，チームのスコアは 0.25

予測したスタンスが一致したときの重みは 0 である．Weighted

Cohen’s Kappa を計算する際，これらの重みを 2 乗した平方（注 2）：https://github.com/FakeNewsChallenge/fnc-1（注 3）：http://www.emergent.info/

重みを用いた．

節で述べたものと同じである．すなわち，Talos 擬似モデルと

表 2 各カテゴリ対の重み Wij
予測

本研究で提案するモデルの違いは，畳み込み処理の方法である．

Agree Disagree Discuss Unrelated
正解

Agree

0

2

1

3

Disagree

2

0

1

3

Discuss

1

1

0

3

Unrelated

3

3

3

0

Talos 擬似モデルでは，3 つ目の畳み込み層までは畳み込み層，プーリング層の順につながっており，4 つ目と 5 つ目の畳み込
み層はプーリング層なしでつながっている．一方，本研究で提案するモデルでは，2 つの畳み込み層をつなげた Convolution

Block の出力に残差接続を加えた後，プーリング層をつないでいる．

5. 評 価 実 験
5. 1 モデルの実装
深層学習のフレームワークとして，Talos チームは Python 用の数値計算ライブラリである Theano（注 4）を利用したが，Theanoの開発は既に終了しているため，本研究では Keras（注 5）を利用した．Keras は Python で書かれた深層学習用ライブラリであり，
ニューラルネットワークの構築が Theano より容易であるという利点を持つ．さらに，本研究ではフレームワークを Theano
から Keras に変更したため，利用する単語埋め込みベクトルも変更した．すなわち Talos チームは Google News のデータセットで事前学習された Word2Vec [15] を利用したが，本研究では Glove [16] で事前学習された単語埋め込みベクトル（注 6）を利用した．
このような変更に伴い，本研究では Talos チームの CNN モ
デルを模した擬似モデルを構築し，そのモデルを Talos 擬似モ
デルと呼ぶことにする．そのモデルの概要図を以下の図 3 に示す．本研究で提案するモデルは Talos 擬似モデルを改良したものであるため，Talos 擬似モデルの入力と出力，全結合層は 3. 1

5. 2 実 験 結 果
本節では，Talos 擬似モデルと 3. 1 節で述べた VDCNN モデ
ル，3. 2 節で述べた階層モデルをそれぞれ用いた 3 つのシステ
ムを使ってスタンス検出を行い，4. 3 節で述べた評価方法である Weighted Cohen’s Kappa を用いて分類精度を比較する．
まず，4. 1 節で示した，FNC-1 の主催者によって提供されたデータセットの訓練用データセット (FNC-Train) を利用して，Talos 擬似モデルに学習させ，テスト用データセット(FNC-Test) によって分類精度を確認した．その結果を表 3 に示す．この表から分かるように，Talos 擬似モデルでは正しくスタンスを分類できているインスタンス数は少なく，特にRelated (Agree, Disagree, Discuss) クラスのインスタンスを誤って分類することが非常に多かった．さらに，正解のスタン
スと Talos 擬似モデルが予測したスタンスの一致度合いを定量化する Weighted Cohen’s Kappa の値も，0.1192 と著しく低かった．しかし Talos 擬似モデルは，FNC-Train 内で訓練用とは別に切り離した検証用データセットに対しては，高い分類精度を示した．このことから，FNC-Test に対する Talos 擬似モ
デルの分類精度の低さは，FNC-Train と FNC-Test の性質が大きく違うことに起因するという仮説を立てた．
表 3 Talos 擬似モデルの混同行列 (FNC-Test)
予測

Agree Disagree Discuss Unrelated
正解

Agree

537

78

183

1,105

Disagree

237

33

55

372

Discuss

988

201

1,228

2,047

Unrelated

3,535

770

2,298

11,746

この仮説を検証するために，まず FNC-Train を訓練用 (FNC-

Train-Train) と，テスト用 (FNC-Train-Test) という 2 つの
データセットに分割した．ここで，FNC-Train-Train と FNC-

Train-Test の総インスタンス数の割合は，FNC-Train と FNCTest の総インスタンス数の割合と同じになるようにした．また，FNC-Train-Train における各スタンスのデータ分布は，

FNC-Train における各スタンスのデータ分布と同一となり，
一方，FNC-Train-Test における各スタンスのデータ分布は，

FNC-Test における各スタンスのデータ分布と同一になるように設定した．そして，この FNC-Train-Train を用いて Talos
図 3 Talos 擬似モデルの概要図（注 4）：http://deeplearning.net/software/theano/

擬似モデルに学習させ，FNC-Train-Test によってテストした結果を以下の表 4 に示す．表 4 から，FNC-Train-Test におけ（注 5）：https://keras.io/ja/

る Talos 擬似モデルの分類精度が高いことは明らかであり，全（注 6）：https://nlp.stanford.edu/projects/glove/

インスタンスのうち 90%以上のインスタンスに対して正しく分類できていることがわかる．また，Weighted Cohen’s Kappa

を Zα/2 とすると，κ 統計量の (1 − α)100%信頼区間は以下のの値は 0.7931 と高く，FNC-Train 内では Talos 擬似モデルの式で表される．

κ ± Zα/2 × σk

学習および予測が正確に行われていることが確認できた．したがって，仮説通り Talos 擬似モデルが FNC-Test において分類

ここで，4. 3 節で述べた変数 N ，Oij ，Cij ，Wij を利用して，精度が低いのは，FNC-Test が FNC-Train と異質なためであ44 ∑∑ることが示された．

Qo =表 4 Talos 擬似モデルの混同行列 (FNC-Train-Test)

4
4 ∑
∑

Wij2 Oij

i=1 j=1, Qc =

N

Wij2 Cij

i=1 j=1

N

予測
4 ∑
4
∑

Agree Disagree Discuss Unrelated
正解

Agree

856

80

40

250

Disagree

84

137

11

48

Discuss

53

10

2,419

488

Unrelated

210

33

225

11,714Ro =とすると，標準偏差 σk は，√

σk =
そこで，FNC-Train と FNC-Test を全て一つにまとめた後，新規に訓練用データセット (New-Train) とテスト用データセッ(Wij2 )2 Oij

i=1 j=1

N

Ro − Q2oN Qcと表される．

ト (New-Test) にランダムに分け直した．ただし，New-Train以上の式を用いて算出した，Weighted Cohen’s Kappa のと New-Test の総インスタンスと各スタンスのデータ分布はそ95%信頼区間は，Talos 擬似モデルで [0.7634, 0.7805]，VD-

れぞれ FNC-Train，FNC-Test と全く同じになるように調整

CNN モデルで [0.7954, 0.8113]，階層モデルで [0.8039, 0.8198]

した．この New-Train を用いて，Talos 擬似モデル，VDCNNとなった．これを視覚化すると以下の図 4 のようになる．図 4 かモデル，階層モデルの 3 つのモデルに学習させ，New-Test にら分かる通り，Talos 擬似モデルと VDCNN モデル間，Talos 擬

よって各モデルをテストした結果を以下の表 5 に示す．この似モデルと階層モデル間には本質的な差がある．一方，VDCNN

表では，上記の 3 つのモデルにおける，本研究で提案した独モデルと階層モデル間には本質的な差がほとんど見られない．

自の評価方法の Weighted Cohen’s Kappa 値，FNC-1 におけ

しかし，統計的に差がないように見える分類器であっても，どる評価方法でつけられるスコア，Agree，Disagree，Discuss，のようなときに正しく分類できて，どのようなときに間違った

Unrelated それぞれのスタンスごとの正答率が表されている．

分類をしてしまうのかという傾向を知ることで，実用性の違い

表 5 から分かるように，FNC-1 における評価方法においてだを見ることができる．そこで，次節では具体的なインスタンス

けでなく，Weighted Cohen’s Kappa においても，本研究で提(見出し，本文，モデルが分類したスタンス) を挙げながら，実案した VDCNN モデルと階層モデルの分類精度は，Talos 擬似験結果に対しての詳しい考察を行う．

モデルよりも優れた結果を残した．さらに，最もデータ数が少なく予測が困難であると考えられる Disagree クラスについて
も，階層モデルの正答率は Talos 擬似モデルの正答率を大きく上回った．
表 5 新しいデータセットにおける各モデルの分類精度
Weightedモデル

Cohen’s

FNC

Agree

Disagree Discuss Unrelated

Kappa
Talos 擬似モデル

.7719

.8453

.7047

.5696

.8168

VDCNN モデル

.8033

.8683

.6211

.6112

.9048

.9448

階層モデル

.8118

.8713

.6973

.7001

.8647

.9578

.9403

図 4 各モデルにおける Weighted Cohen’s Kappa 値とその 95%信頼区間

5. 3 信 頼 区 間
5. 2 節では，Talos 擬似モデルと VDCNN モデル，階層モデルの 3 モデルに対する Weighted Cohen’s Kappa 値を算出した．
そこで本節では，上記の 3 モデルにおける Weighted Cohen’s

Kappa の 95%信頼区間（注 7）を求め，統計的に本質的な差があるかどうか議論する．

6. 考

察

6. 1 Talos 擬似モデルと VDCNN モデルの比較
表 5 に示すように，VDCNN モデルでは Talos 擬似モデルと比べ，Disagree クラスと Discuss クラスの正答率が向上した．

まず，κ 統計量の (1 − α)100%信頼区間の計算方法について

それは，Talos 擬似モデルでは局所的な特徴に影響されて誤っ説明する．上側確率が α/2 に対応する正規分布のパーセント点

たスタンスを予測してしまう問題が生じていたが，文中の特徴
をより抽象化して捉える VDCNN モデルではこの問題にうま（注 7）：http://aoki2.si.gunma-u.ac.jp/lecture/Kappa/

く対処できたからであると考えられる．すなわち，CNN の層

が深くなったことで，文全体としてのセマンティックな特徴を

果，以下のような場合にこれらのモデルがスタンスの分類を捉えることができるようになったのである．

誤っていることがわかった．

ここで，Talos 擬似モデルはスタンスを誤分類したが，VD-(1) 記事本文に画像や動画の内容の説明がない

CNN モデルは正しくスタンスを分類できた例を挙げる．見出

見出しは本文に挿入された動画の説明であり，記事本文にはそしに “Rumor: Seth Rogen to Appear as Woz in Sony’s Steveの動画の内容についての記述がないという場合，正確な分類にJobs Film” とあり，本文にも “Seth Rogen” や “Steve Jobs”，

失敗する確率が高くなる．記事本文に画像や動画の内容につい“appear” といった単語が含まれ，「Seth Rogen が Sony の Steveての説明がなければ，動画の内容について述べる見出しと本文

Jobs Film に出演する」ということを推測させるような内容の関係を判断することは当然難しくなる．ニュース記事の本文が含まれている記事を，Talos 擬似モデルは Agree と判断しに画像や動画が挿入されていることは珍しくないが，見出しがた．しかし記事本文には，“will reportedly appear” や “highly

画像や動画の説明であり，記事本文には画像や動画の具体的な

anticipated” のように未来を予測させる言葉が使われており，内容が記載されていない場合，見出しと記事本文の間に関連性

明確に「Seth Rogen が Sony’s Steve Jobs Film に出演する」があると判断するための情報が充分に得られず，誤分類に至ると言及している箇所は見られない．そのため正解は Agree では傾向がある．

なく，Discuss であり，Talos 擬似モデルは分類を誤っている．

(2) 文中に未知語が含まれている

一方 VDCNN モデルは，見出しと本文の関係を Discuss と正見出しおよび記事本文に未知語，すなわち事前学習された単語

しく判定した．このように VDCNN モデルが正しく分類でき

埋め込みベクトルの辞書に存在しない語が含まれているために，たのは，記事本文に含まれたセマンティックな特徴を捉えるこスタンスの分類に失敗してしまうケースがある．通常，未知語とができたためだと考えられる．

は一般的ではない新語や造語であるため，見出しや記事本文全6. 2 VDCNN モデルと階層モデルの比較体の中で果たす役割は小さい．しかし，ある単語が見出しと記

5. 3 節で示したように，本研究で提案する評価方法において，

事本文の両方で使われ，さらにそれが未知語と判断されるとき，

VDCNN モデルと階層モデルの間に本質的な差はほとんどな

見出しと記事本文の間には共通の話題がないと判断される可能い．しかし，Talos 擬似モデル，VDCNN モデル，階層モデル性がある．

の 3 モデルの中で，階層モデルは Disagree クラスと Unrelated(3) 記事本文が短い

クラスの正答率が最も高かった．これは，第 1 分類器と第 2 分

記事本文が極端に短いために，モデルがスタンスを誤分類して類器に分けて階層的に分類することで，データの偏りが抑えらしまう場合がある．記事本文が短いと，モデルはスタンスを分れ，各クラスが持つ特徴をより捉えやすくなったためだと考え類するのに充分な情報を得ることができない．そのような状況られる．特に，データ数が少なく，文の構成や文中に出現する

下で，見出しと本文に関連性があると判断することは非常に難単語が Agree クラスや Discuss クラスと類似しているため，ス

しい．正確なスタンス分類には，分類器の精度だけでなく，与タンスの明確な判断が難しい Disagree クラスに対して，第 2

えられる情報の量が大きく関係することがわかる．

分類器は他クラスとの違いを識別することができた．

(4) 記事本文の内容が複数

ここで，VDCNN モデルはスタンスを誤分類したが，階層

見出しと記事本文の内容が同じ話題を扱っているにも関わらモデルは正しくスタンスを分類できた例を挙げる．見出しはず，Agree か Disagree かを正確に判断できないケースがある．

“New iOS 8 bug can delete all of your iCloud documents” で例えば，記事本文の前半と後半で，述べている内容が異なってあるが，本文には “Elected oﬃcials and activists in New York

いるようなインスタンスの場合である．今回実験を行った 3 つ

are reacting positively to the city’s new policy...” とあり，両のモデルは，このような複雑な文構成の場合，その文脈・要点

者が無関係であることが一目瞭然であるインスタンスに対して，を捉えることができず，見出しと本文の関係が Agree なのか

VDCNN モデルは両者の関係が Agree であると誤認識した．こDisagree なのかの判断に失敗した．

れは，見出し文中の “bug” や “delete” といった表現と，本文(5) 正解が間違っている

中の “arrest” や “crime” といった表現から，ネガティブな内容

ごく稀であるが，見出しと記事本文の関係に対するスタンスのであるという点で合致していると判断したためだと考えられる．

正解が間違っている可能性が存在する．例えば，正解のスタン

一方，階層モデルは，第 1 分類器において，Agree クラスだけ

スは Disagree とあるが，記事本文は詳細について述べていなでなく，Disagree クラスや Discuss クラスといった Related ク

いため，はっきり Disagree だと決定づけることができないといラス全体に見られる特徴を考慮して学習したため，この見出し

うようなインスタンスがある．このとき，Disagree ではなく，と本文は Related クラスのインスタンスとは異質である，つまDiscuss と判断したモデルが正しい可能性もある．

り Unrelated クラスであると正しく分類することができた．このような場合において，前述したような特性を持ち，高い分類精度を有する階層モデルは，VDCNN モデルと比べてより実用的である．

7. 結論と今後の課題
本研究では，ニュース記事の見出しと本文の関係を識別する

Fake News Challenge Stage 1 (FNC-1) というタスクに対し，

6. 3 失 敗 分 析

畳み込みニューラルネットワーク (CNN) をベースとし，畳み5. 2 節で比較した 3 つのモデルに対して失敗分析を行った結込み層をより深くして残差接続を用いた VDCNN モデルに階層分類を組み合わせた階層モデルを用いて，スタンス検出を行った．さらに，正解のスタンスとシステムが予測したスタン
スの間の一致度だけでなく，不一致の度合いも定量化すること[10]ができる Weighted Cohen’s Kappa に基づく独自の評価方法も提案した．そして評価実験の結果，本研究で提案した階層モ
デルは，FNC-1 で使用された評価方法および本研究で提案された評価方法の両方において，分類精度の向上が見られた．そ[11]

して，この分類精度の向上について統計的な面から議論するだ
けでなく，具体的なインスタンスを挙げた精細な考察を行うことで，実用的な差があることも確認できた．さらにデータセッ[12]

トを分析することで，FNC-1 の主催者によって提供された訓練用データセットとテスト用データセットは性質が大きく異なり，そのことが分類精度に影響しているということも確かめる[13]

ことができた．
今後は，スタンス検出のさらなる精度向上に向け，文中に現れる未知語への対応や，テキストだけでなく画像・動画認識による情報も考慮した総合的な判断を行うシステムの開発が必要[14]である．また，本研究で提案したモデルと，他の優れた手法を組み合わせたシステムの開発も，将来の課題として挙げられる.

文

献[1] Dean Pomerleau and Delip Rao. Fake News Challenge,
2017. http://www.fakenewschallenge.org/.
[2] Sean Baird, Doug Sibley, and Yuxi Pan. Talos Targets Disinformation with Fake News Challenge Victory,
2017.
https://blog.talosintelligence.com/2017/06/talosfake-news-challenge.html.
[3] Saif Mohammad, Svetlana Kiritchenko, Parinaz Sobhani,
Xiaodan Zhu, and Colin Cherry. SemEval-2016 Task 6: Detecting Stance in Tweets. In Proceedings of the 10th International Workshop on Semantic Evaluation (SemEval2016), pp. 31–41. Association for Computational Linguistics, 2016.
[4] Suguru Matsuyoshi, Yusuke Miyao, Tomohide Shibata,
Chuan-Jie Lin, Cheng-Wei Shih, Yotaro Watanabe, andTeruko Mitamura. Overview of the NTCIR-11 Recognizing Inference in TExt and Validation (RITE-VAL) Task. In
NTCIR, 2014.
[5] Daiki Ito, Masahiro Tanaka, Hayato Yamana, et al. WSD
Team’s Approaches for Textual Entailment Recognition at
the NTCIR10 (RITE2). In NTCIR, 2013.
[6] Benjamin Riedel, Isabelle Augenstein, Georgios P Spithourakis, and Sebastian Riedel. A Simple but Tough-tobeat Baseline for the Fake News Challenge Stance Detection
Task. arXiv preprint arXiv:1707.03264, 2017.
[7] James Thorne, Mingjie Chen, Giorgos Myrianthous, Jiashu
Pu, Xiaoxuan Wang, and Andreas Vlachos. Fake News Detection using Stacked Ensemble of Classifiers. In Proceedingsof the 2017 EMNLP Workshop: Natural Language Processing meets Journalism, pp. 80–83, 2017.
[8] Peter Bourgonje, Julian Moreno Schneider, and Georg
Rehm. From Clickbait to Fake News Detection: An Approach based on Detecting the Stance of Headlines to Articles. In Proceedings of the 2017 EMNLP Workshop: Natural Language Processing meets Journalism, pp. 84–89, 2017.
[9] Andreas Hanselowski, Avinesh PVS, Benjamin Schiller, Felix Caspelherr, Debanjan Chaudhuri, Christian M. Meyer,
and Iryna Gurevych. A Retrospective Analysis of the Fake
News Challenge Stance-Detection Task. In Proceedings ofthe 27th International Conference on Computational Lin-

[15]

[16]

guistics, pp. 1859–1874. Association for Computational Linguistics, 2018.
Alexis Conneau, Holger Schwenk, Loı̈c Barrault, and Yann
Lecun. Very Deep Convolutional Networks for Text Classification. In Proceedings of the 15th Conference of the European Chapter of the Association for Computational Linguistics: Volume 1, Long Papers, pp. 1107–1116. Association for Computational Linguistics, 2017.
Kaiming He, Xiangyu Zhang, Shaoqing Ren, and Jian Sun.
Deep Residual Learning for Image Recognition. In Proceedings of the IEEE conference on computer vision and patternrecognition, pp. 770–778, 2016.
Hanaa S Abdalaziz and Fakhreldeen A Saeed. New Hierarchical Model for Multiclass Imbalanced Classification.
Journal of Theoretical & Applied Information Technology,
Vol. 95, No. 16, 2017.
William Ferreira and Andreas Vlachos. Emergent: A Novel
Data-set for Stance Classification. In Proceedings of the2016 Conference of the North American Chapter of the
Association for Computational Linguistics: Human Language Technologies, pp. 1163–1168. Association for Computational Linguistics, 2016.
酒井哲也. 情報アクセス評価方法論 検索エンジンの進歩のために, pp. 198–205. コロナ社, 2015.
Tomas Mikolov, Ilya Sutskever, Kai Chen, Greg S Corrado,and Jeﬀ Dean. Distributed Representations of Words andPhrases and their Compositionality. In Advances in neural
information processing systems, pp. 3111–3119, 2013.
Jeﬀrey Pennington, Richard Socher, and Christopher Manning. Glove: Global Vectors for Word Representation. In
Proceedings of the 2014 Conference on Empirical Methods
in Natural Language Processing (EMNLP), pp. 1532–1543.
Association for Computational Linguistics, 2014.