# 議論の流れを利用した皮肉を含むコメントの検出

武石 健吾
東京工業大学 情報理工学院
takeishi.k.aa@m.titech.ac.jp

## 1 背景と目的

皮肉は複雑な言語現象であり，発話の真の意味が その文字通りの意味とは異なる。皮肉の理解はソー シャルメディアを対象としたオピニオンマイニング や感情分析において難しい課題となる。皮肉検出の 先行研究では, 主に文中の語彙的な手がかりを利用 している [1]. 最近の研究では皮肉検出における文脈の重要性を指摘しているものが多い、ソーシャル メディア・テキストのコメントは，多くの場合，先行するコメントや世界で起きている出来事に関連し て行われる.これは文脈が皮肉の検出に重要な役割 を果たすことを示唆している。

本研究は議論の流れを用いて皮肉を含んだコメン トを検出する手法を提案する. 議論を構成する各コ メントはその議論のトピックに対して直接言及して いるものと別のコメントに対して言及しているもの に分けられる．後者のコメントにさらに別のコメン トが付けられることで議論が構成される. 本研究で 用いる議論の流れとは検出対象とするコメントから トピックまで親コメントを辿るパス中のコメントの 系列を指す。

図 1 不自然な議論の流れ

議論の流れを皮肉の検出に利用する動機は議論 の流れからして不自然である皮肉を含んだコメン 卜に注目することである. 図 1 は，政治カテゴリに 投稿された佐藤という議員が掲げた公約に関する トピックへのコメントである. Comment A に対し て Comment B が投稿され，さらに Comment B に対 して Comment C が投稿されている. Comment A と

徳永 健伸

\author{
東京工業大学 情報理工学院 \\ take@c.titech.ac.jp
}

Comment B を参照すると佐藤議員の公約への批判の 流れが発生している. この次に投稿されるコメント が公約を擁護するものである場合，逆説の意味を持 つフレーズが入ることが予想される。 しかし，続く コメントは逆説フレーズがないにも関わらず公約 に賛成するような文意を持っている。このことから Comment C は皮肉を含んだコメントであることがわ かる.このように議論の流れを参照することで，皮肉の検出精度が向上することが期待される.

## 2 関連研究

本研究はオンラインディスカッションフォーラ ム Reddit ${ }^{1}$ に投稿されたコメントを検出対象とする. ある著者があるトピック（ニュース記事へのリンク など）を Reddit に投稿すると，著者同士でこのト ピックについて Web サイトで議論することができ る.これにより Reddit は図 2 のような各コメントに 親コメントが含まれるツリー構造の会話構造が確立 されている.

図 2 Reddit の構造

Reddit に投稿されたコメントの皮肉検出の研究の 動向について以下で紹介する. 文献 [2] ではオンラ インソーシャルメディアディスカッションでの皮肉検出のために, 内容駆動型と文脈駆動型の両方 のモデリングのハイブリッドアプローチを採用し

1) http://reddit.com

た CASCADE というモデルを提案している. 文脈情報の 1 つ目は著者の行動特性を表現する著者べ クトルである．著者の過去の投稿を利用して，ラ イティングスタイルとパーソナリティインジケー ターをモデル化し，その後，正準相関分析 (CCA) を使用して包括的な著者ベクトルに融合する. 文脈情報の 2 つ目は談話べクトルである. これは，同じ フォーラムに属するこれらの統合されたコメント のドキュメントモデリングによって行われる.これ らの談話の特徵は，皮肉を検出するために必要な ジャンルの情報とともに，重要な文脈情報，背景 の手がかりを与える。内容のモデリングには CNN (Convolutional Neural Network)を使用して構文上の特徴を抽出する。本研究では CASCADE をべースライ ンとし，不自然な議論の流れを特徴量として加えた モデルを提案する。文献 [3] では特定のコーパスで 皮肉を含むコメントを検出するために，マルチヘッ ドアテンションベースの双方向ロングショートメモ リ（MHA-BiLSTM）ネットワークを提案している. また, 感情や句読点などの様々な特徴量を検討して いる.

## 3 提案モデル：議論の流れの導入

本研究は文献 [2] で提案されているモデル CASCADEをベースラインとし, CNN, SentenceBERT [4]，MT-DNN[5] をそれぞれべースとしたモデ ルを 3 つ提案する.

## 3.1 CASCADE

CASCADE はコメントの内容および文脈の情報を 活用する. 内容モデリングでは，CNNを使用して コメントのベクトル表現 $\vec{C}_{i j}$ を生成している. この ベクトル $\vec{C}_{i j}$ は, 構文情報と意味情報の両方を取得する. 文脈モデリングは, 著者ごとの特徴量とト ピックのカテゴリを表す', Subreddits', ごとの特徵量をそれぞれ学習し, 著者べクトル $\vec{u}_{i}$ と談話べク トル $\vec{t}_{j}$ を生成する. その後, これら 3 つのベクト ル $\vec{C}_{i j}, \vec{u}_{i}$, および $\vec{t}_{j}$ を連結し皮肉または非皮肉 に分類する。

## 3.2 議論の流れを表すテキスト

本研究では議論の流れを表現するために「話題テ キスト」と「議論テキスト」を利用する. 話題テキ ストは議論の始まりに位置するトピックを形成して いるテキストである. 図2 のように全てのコメント
は一つのトピックを根ノードとする木のノードであ る. 話題テキストは議論の先頭に位置しており議論 の方向性を決定すると考えられる。一方，議論テキ ストは議論の流れを形成している各コメントのテキ ストを連結して生成する。連結の際にはコメントの 境目を明確にするために区切り文字 “<END>”を各 コメントから取得したテキストの間に差し込む．議論テキストは議論の流れ自体を表している。これら 2 つのテキストと検出対象のコメントのテキストで ある「対象テキスト」との関係をモデリングするこ とで不自然な議論の流れを利用して皮肉を含むコメ ントを検出する。

## 3.3 CNNをベースとしたモデル

CNNでのテキストのバッチモデリングでは，テ キストの長さを統一するために制限またはパディン グが行われる. 先行研究ではテキストの単語数を制限する際は設定値に達するまで先頭から順に単語を 取得しており, 本研究でも対象テキスト及び話題テ キストは同様の方法で長さの制限を行う。一方で議論テキストの場合, 議論の先頭に近いコメントほど 検出対象から遠ざかり検出に有用な情報が少ないこ とが予想されるため，各コメントのテキストから同数の単語を取得した後に区切り文字 “<END>” を各 コメントから取得したテキストの間に差し込むこと で議論テキストを生成する。この時, 区切り文字の 数も含めてテキストの長さが統一されるように単語 の取得数を調整する。その後, 話題テキスト，議論 テキスト，対象テキストを区切り文字 “<END_C>” を介して遠結する。

次に連結したテキストを CNN に入力として加え ベクトル表現を生成する.この表現は両テキストの 構文情報と意味情報に加えテキスト間の関係を含 む. その後 CASCADE と同様に CNNを用いて生成 したべクトルに著者ベクトルと談話ベクトルを連結 し皮肉または非皮肉に分類する，話題テキスト，議論テキスト及び対象テキストの長さは先行研究と等 しくなるようそれぞれ 100 に設定する. よって結合 したテキストの長さは区切り文字も含めて 302 とな る. それに合わせて関係べクトルのサイズは 302 に 設定する。

## 3.4 Sentence-BERT をベースとしたモデル

本研究では皮肉検出タスクを文関係の推論タスク と捉える。そこで Sentence-BERT [4] をべースとし

たモデルを検討する. Sentence-BERT の文埋め込み は InferSent [6] や Universal Sentence Encoder [7] など の他の最先端の文埋め込み方法よりも優れている ことが知られている. また, Fine-tuning 用のデータ セットとして SNLI [8] と Multi-Genre NLI [9] を用い ており，NLI (Natural Language Inference) タスクに強 みを持つ.

Sentence-BERTを使用して関係べクトルを生成 し, CASCADE のベクトル結合層に加えたモデル を検討する. 文献 [4] の実験で最高性能であった ベクトルの連結方法を参考にし，テキスト $A$ と テキスト $B$ の関係ベクトル $v_{A}$ と $v_{B}$ を利用した $\left(v_{A}, v_{B},\left|v_{A}-v_{B}\right|\right)$ を採用する. すなわち, 結合層に 含まれるべクトルは CNN で生成した対象テキスト のベクトル表現 $\vec{C}_{i j}$, Sentence-BERT で生成した関係ベクトル $\left(v_{A}, v_{B},\left|v_{A}-v_{B}\right|\right)$, 著者ベクトル $\vec{u}_{i}$, 談話べクトル $\vec{t}_{j}$ である. 本研究では, Sentence-BERT を用いて話題テキスト，議論テキスト，対象テキ ストをそれぞれ $v_{\text {topic }}, v_{\text {chain }}, v_{\text {target }}$ にベクトル化し， $v_{\text {target }}, v_{\text {chain }}, v_{\text {topic }},\left|v_{\text {target }}-v_{\text {chain }}\right|,\left|v_{\text {target }}-v_{\text {topic }}\right|$ を連結 して関係べクトルとして使用する。 モデルに使用す る Sentence-BERT のパラメータは文献 [4] に従う.

## 3.5 MT-DNN をベースとしたモデル

文関係の推論タスクで他のモデルを上回る性能 を示した MT-DNN [5] を皮肉検出タスクで利用する ことを検討する．MT-DNN は BERTをマルチタスク 学習に拡張したモデルであり,一般的な言語理解評価ベンチマーク 9 タスク中 8 つで最高の結果が出 ている。また SNLI，SciTail といった，文関係の推論タスクの精度が素の BERT に比べて大幅に改善 されている. 本研究では皮肉検出で有用と考えられ CASCADEにもコンテキストモデリングとして導入 されている，著者ごとの特徴量と Subredditsごとの 特徴量をそれぞれ学習し生成された著者ベクトルと 談話ベクトルを MT-DNN に導入する。

皮肉検出タスクは MT-DNN が適応する 4 つの夕 スクのうち，文関係の分類タスクに該当する。こ のタスクは, 長さ $m$ の Premise : $P=\left(p_{1}, \ldots, p_{m}\right)$ と 長さ $n$ の Hypothesis : $H=\left(h_{1}, \ldots, h_{n}\right)$ を入力として 加え， $P$ と $H$ 間の論理関係 $R$ を見つける. 出力モ ジュールの設計は，ニューラル NLI モデルである 確率的回答ネットワーク (SAN) [10] の回答モジュー ルを使用している. その中で $t$ ステップ目の状態 $s_{t}$ とその前の状態 $s_{t-1}$ および Premise のワーキング表 1 各データセット中のコメント数

メモリ $M_{p}$ から計算される $x_{t}$ を用いて各ステップ $t \in 0,1, \ldots, T-1$ の関係の確率分布 $P_{t}{ }^{r}$ は式 (1) で 計算される.

$
P_{t}^{r}=\operatorname{softmax}\left(\theta_{4}\left[s_{t} ; x_{t} ;\left|s_{t}-x_{t}\right| ; s_{t} \cdot x_{t}\right]\right)
$

式(1)の 4 つのベクトルが連結されている部分に著者ベクトルと談話ベクトルも連結することで素性 としてモデルに加える. モデルに使用する MT-DNN のパラメータは文献 [5] に従う.

## 4 評価実験

## 4.1 データセット

評価のために自己注釈付き Reddit コーパス SARC [11]を用いる.このデータセットには Reddit に投稿された皮肉を含む/皮肉を含まないコメント の 553M の例が含まれている. 各コメントには，コ メントのテキスト，著者，所属する SubReddit，およ び親コメントなどの情報が含まれている. 公開され ている不均衡データ2)の訓練データとテストデータ からランダムサンプリングし, 皮肉を含むコメント 数と皮肉を含まないコメント数の割合が 1:1 の均衡 データセットと両カテゴリのコメント数の割合が 1:3 の不均衡データセットの 2 つを作成した. モデ ルの学習には訓練データの $10 \%$ 開発データとして 使用する。データセットの統計を表 1 に示す.

これらのデータセットは大規模であるため同じモ デルでの結果のバラつきは小さいと判断し，モデル ごとにシード 3 回を変更した結果の平均值を計算 する. 評価指標には Precision (P), Recall (R), Accuacy $(\mathrm{A}), \mathrm{F}$ 値 $(\mathrm{F})$ を用いる. 再現率と適合率のどちらも 重要であるという考えられているため，この中で Accuacy と $\mathrm{F}$ 值を重要視してモデル性能の比較を 行う.

## 4.2 結果と考察

実験結果を表 2 と表 3 に示す. 議論の流れを導入 した 3 つのモデルの性能が CASCADE の性能を上

表 2 均衡データセットの結果

表 3 不均衡データセットの結果

回っていることがわかる. また，3つのモデルの中 でも MT-DNN をベースにしたモデルの性能が他を 上回っている。これを更に調査するために，不均衡 データセットについて議論の流れ (議論テキスト)を 利用できるコメントと利用できない (議論の先頭に 位置する) コメントに分けて各指標を算出した結果 を表 4 と表 5 に示す.

表 4 議論の流れを利用できるコメントの結果

まず，CASCADE と CNN 及び SBERT ベースとの モデルの性能の違いに着目する. 議論の流れを利用 できないコメントでは Accuracy 及び F 值に目立っ た差は見られない。一方，議論の流れを利用できる コメントでは議論の流れを導入した 2 つのモデル の性能が優っている．つまり，テキストの構文情報 と意味情報の利用における性能の違いはなく，議論 の流れの導入によって性能が向上したと結論づけ られる. 次に CNN 及び SBERT ベースのモデルと MT-DNN ベースのモデルの性能の違いに着目する. Accuracy 及び $\mathrm{F}$ 值は議論の流れの有無に関わらず性能は向上している. この場合, 議論の流れが有用に 働いたか判断することができない，そこで，話題テ キストと議論テキストを使わず MT-DNN の全ての Premise テキストを空白テキストにしたモデルの性能を検証する．各データセットでの実験結果を表 6 と表 7 に示す.

CASCADE と MT-DNN (Premise なし) では後者の モデルの方が性能が良いことから MT-DNN の内容議論の流れを利用できないコメントの結果

表 6 均衡データセットにおける Premise の効果

ベースのモデリングの方が性能が高いと考えられ

る. MT-DNN では Premise がある方が性能が高いこ とから MT-DNN が議論の流れをモデリングしたこ とが皮肉検出に有効に働いていると考えられる。

## 5 結論

本研究ではオンラインディスカッションフォーラ ム内の皮肉を含むコメントの検出に議論の流れを利用することを提案した. 議論の流れを導入したモデ ルとして CNN ベースのモデル，SBERT ベースのモ デル，MT-DNN ベースのモデルを検討し，性能の比較を行なった. その結果，議論の流れが皮肉検出に 有用に働くことを確認した. 今後の課題は議論を構成するコメントのテキストからの単語の取得方法の 更なるバリエーションである．本研究では各コメン トのテキストからの単語の取得は先頭から行った が，同じテキストでも単語を取得する部分を工夫す る余地がある.

## 参考文献

[1] Roger Kreuz and Gina Caucci. Lexical influences on the perception of sarcasm. In Proceedings of the Workshop on computational approaches to Figurative Language, pp. $1-4,2007$.

[2] Devamanyu Hazarika, Soujanya Poria, Sruthi Gorantla, Erik Cambria, Roger Zimmermann, and Rada Mihalcea. Cascade: Contextual sarcasm detection in online discussion forums. arXiv preprint arXiv:1805.06413, 2018.

[3] A. Kumar, V. T. Narapareddy, V. Aditya Srikanth, A. Malapati, and L. B. M. Neti. Sarcasm detection using multi-head

表 7 不均衡データセットでの各評価指標

attention based bidirectional lstm. IEEE Access, Vol. 8, pp. 6388-6397, 2020.

[4] Nils Reimers and Iryna Gurevych. Sentence-bert: Sentence embeddings using siamese bert-networks. arXiv preprint arXiv:1908.10084, 2019.

[5] Xiaodong Liu, Pengcheng He, Weizhu Chen, and Jianfeng Gao. Multi-task deep neural networks for natural language understanding. arXiv preprint arXiv:1901.11504, 2019.

[6] Alexis Conneau, Douwe Kiela, Holger Schwenk, Loic Barrault, and Antoine Bordes. Supervised learning of universal sentence representations from natural language inference data. arXiv preprint arXiv:1705.02364, 2017.

[7] Daniel Cer, Yinfei Yang, Sheng-yi Kong, Nan Hua, Nicole Limtiaco, Rhomni St John, Noah Constant, Mario Guajardo-Cespedes, Steve Yuan, Chris Tar, et al. Universal sentence encoder. arXiv preprint arXiv:1803.11175, 2018.

[8] Samuel R Bowman, Gabor Angeli, Christopher Potts, and Christopher D Manning. A large annotated corpus for learning natural language inference. arXiv preprint arXiv:1508.05326, 2015.

[9] Adina Williams, Nikita Nangia, and Samuel R Bowman. A broad-coverage challenge corpus for sentence understanding through inference. arXiv preprint arXiv:1704.05426, 2017.

[10] Xiaodong Liu, Kevin Duh, and Jianfeng Gao. Stochastic answer networks for natural language inference. CoRR, Vol. abs/1804.07888, , 2018.

[11] Mikhail Khodak, Nikunj Saunshi, and Kiran Vodrahalli. A large self-annotated corpus for sarcasm. arXiv preprint arXiv:1704.05579, 2017.
 武石 健吾 東京工業大学 情報理工学院 takeishi.k.aa@m.titech.ac.jp  