ナード戦隊データマン

機械学習, 自然言語処理, データサイエンスについてのブログ

討論を分析するというアイデア

討論とは、議題に対して賛否を争う言論上の戦いのことです。オンラインでは、debate.orgのようないくつかの議論サイトがあり、こういった議論のデータを使った分析が行えないか、というのが今回考えたいアイデアです。

f:id:mathgeekjp:20190516124245j:plain
概念図

なぜ討論を分析するのか

討論という形式を取ったデータは、賛成者の意見と反対者の意見が分離されています。これらのデータを活用することにより、賛成・反対のラベル付きの文章を取得することが可能です。

議題と文が関係しているか

最も退屈なモデルは、議題と文が関係しているかを分類するモデルです。

議題: "世界貿易センタービル付近でのモスク建設を容認すべきか"

True: イスラム教徒とテロリストは直接の関係がない。
False: りんご農家は遺伝子組み換え作物を生産している。

というように、関係がある主張にTrueをつけることができます。この分類器を作成することにより、例えばWebをクロールして収集したテキストから、議題に関係のある文を抽出することが可能です。このモデルは、議題と主張という2つの入力を受け取るモデルとなります。

議題に対して賛成する文か反対する文か

入力文が議題に対して賛成か反対かを分類します。このモデルも、議題と文という2つの入力を受け取ります。

議題: "フリーメーソンは悪の組織だ"

賛成: フリーメーソンは世界を牛耳っている
反対: フリーメーソンに関する陰謀論はほとんどがデタラメだ

文は意見か事実か

主張に含まれる文が、事実なのか、意見なのかを分類することを考えることができます。このモデルは、主張内の各文を入力とするので、議題の入力を必要としません。

文1: "研究者は、「この研究は特定の条件でしか機能しない」と述べた"
文1のラベル: 事実

文2: "ニートは働くべきである"
文2のラベル: 意見

このモデルは、抽出する文の選択に使うことができます。意見のみを抽出したいケースや、事実のみを抽出したいケースなど、両方の使い方が考えられます。

データセットの例

www.research.ibm.com

IBMは、IBM Project Debaterという名前で、ディベートに関するデータを公開しています。

このデータは、2つの目的のために作成されています:

  1. 議論マイニング。
  2. 自動議論システム。

また、オンラインディベートのデータをスクレイピングするような形でデータを収集することも考えられます。

fnc-1では、Stance Detectionのタスクとしてデータセットを公開しています。

github.com

議論マイニングで何をしたいのか

オンライン上の人々の主張を分類したい。そして、分類したものから、さらに「フェイクニュース分析」のような応用へつなげたい。