Redditに潜む害悪をデータ分析 – ネットの深い闇へ続く道

人が大勢集まる場所には、摩擦がつきものです。しかし、中には度を超えた摩擦が起こってしまう場合もあります。Redditは、何千にも及ぶカテゴリを持つ巨大掲示板です。これらのカテゴリは”subreddit”と呼ばれ、それぞれのsubredditの中ではメンバーがスレッドを立てたり、それらのスレッドに別のメンバーがupvote(賛成)またはdownvote(反対)を押して投票したり、コメントを書き込んだりしています。Redditで繰り広げられている話題は多岐にわたり、人が興味を抱く対象を網羅していると言っても過言ではありません。しかし、そんなRedditで最も人気のあるトピックの1つは、他でもない、Reddit自体に関するものなのです。

“AskReddit”は、スレッド投稿者の質問に他のメンバーがコメントで回答するという趣旨のsubrreditです。ここへ最近投稿されたスレッドに”人気のあるsubredditの中で、害のあるものはどれ?”というものがあります。このスレッドは4,000ものupvoteを得てフロントページの上位へ急上昇し、1万を超えるコメントが書き込まれました。それらのコメントではRedditor(Redditのユーザ)たちが、嫌悪を感じるsubredditを次々と挙げていきました。例えば下記のようなsubredditです(subredditのURLは、http://www.reddit.com/の後に”/r/○○○○”で表記されます)。

このスレッドを詳しく読み進めていくにつれて私のデータオタクとしての血が騒ぎ、1つの考えが浮かびました。”こういった疑問に答えを出すものが個人の主観だけである必要はない。害悪を数値で表せる客観的な方法があってもいいのでは?”

このことを念頭に置きながら、私たちはRedditのスレッドやコメントにおける有害性、そして協調性のレベルを科学的に数値化しました。そしてそれを、Redditorたち自身が行ったsubredditに対する評価と照らし合わせて、彼らの正しい認識、彼らの誤った認識、そして彼らが見落としている事柄を明らかにしたのです。本記事はRedditに特化したものとなっていますが、今回ご紹介する私たちの方法は、ユーザのコメントをデータセットとするものであればどんなサイトにも応用ができ、コミュニティとしての健全性を数値で見ることが可能となるはずです。

有害性と協調性の定義

害悪とは具体的に、どのようなものでしょうか。どのsubredditが有害であるのかを分析する前に、測定する対象を明らかにする必要があります。広い定義としては、あるコメントに同意できず不快感を覚え、そしてそのsubredditを購読することをためらってしまうような場合、そのコメントは有害であるといえるでしょう。より詳しい定義として、私たちは下記の条件のいずれかに当てはまるコメントは有害であるとしました。

  1. 個人攻撃:特定のRedditorを直接的に攻撃している(例 – “お前の母ちゃんハムスターそっくり、お前の父ちゃんニワトコ臭い!“)、あるいはバカにした態度や異なる考えをとても非建設的に表現している(例 – “ビックリだな! 言論の自由を検閲しようっていうのか? 涙が出てくるぜ”)
  2. あからさまな偏見:対象が個人であるか特定の集団であるかにかかわらず、その対象が不快感を覚えるような偏った表現(人種差別、性差別、同性愛者差別など)をしている

しかし、コメントの有害性だけを測定するやり方では、単に意見が対立しやすく感情的な発言を招きやすいトピックを扱っているだけのsubredditに対して理不尽な数値化をしてしまうという問題があります。この問題に対処するため、私たちはコメントの協調性も併せて測定することにしました。協調性を持つコメントの定義は、他のRedditorに対して直接的に支援している(例 – “君のことを応援しているよ!”)、あるいは感謝している(例 – “すばらしい投稿をありがとう!”)ものとしました。

有害性と協調性の両方を測定することで、subredditを公平に比較、区別し、コミュニティとしての健全性を包括的な観点から測れるのです。

データ収集

コメント取得の対象となったのは、前述のAskRedditのスレッドで挙げられたsubreddit(150以上のupvoteを得ているもの)と、購読者数が上位250のsubredditです。各subredditのフロントページに上がっているスレッドから、RedditのAPIを使って、1,000件のコメントをそれぞれランダムに取得しました。合計コメント数が1,000件に満たないsubredditは、分析から除外しています。

楽しい作業:機械学習

Idibonは機械学習と人手によるテキストアノテーションを結びつけることを専門としています。そのためこの作業では、実験の効率や精度の向上に、我が社の技術を有効に使うことができました。というのも、任意の定義に従ってコメントが有害か無害かを分類するような作業には、微妙なニュアンスの違いがあり、人手によるアノテーションが必要となります。しかし、1,000件ものコメントが書かれている250のsubreddit全てについてアノテーションを行ったとしたらどうでしょう。アノテーションを1つ付けるのに11秒(作業の平均所要時間)かかり、1件のコメントに対して3つのアノテーションを付けるので(コンセンサスが取れるよう複数の意見を反映するため)、アノテーションにかかる工数は2万3,000人時にも上ります。

人間がアノテーションを行う代わりに、私たちはIdibonの感情分析モデルを使って人間のアノテータが見なければならないコメントの数を絞り込み、ネガティブまたはポジティブな感情(有害または協調性とほぼ同じ意味です)を引き起こす可能性の高いコメントだけを見れば済むようにしました。同様にsubredditも、全般的に非常にネガティブまたはポジティブな感情を含むものだけに絞りました。このツールを使うことにより、私たちは対象のデータセットを、100のsubredditと、1つのsubredditにつき100件のコメントにまで絞り込みました。アノテーションの総数を25万から1万まで、実に96%減らしたのです。

これこそ人間らしさ――人手によるテキストアノテーション

Idibonでは、第三者にテキストアノテーションを依頼する場合、主に3とおりの方法を取っています。一般の大衆に依頼する、分析のグローバルネットワークを使用する、クライアントの分析を行う専門家に依頼するという方法です。今回は、人手によるアノテーションを行っているCrowdFlowerというサービスを使って、1万件のコメントのアノテーションを行いました。世界中にいる約500名のアノテータが、こちらの指定した基準に基づいてRedditのコメントを分類したのです。それぞれのコメントに3名のアノテーションが付けられたところで完了です。

分析

何がsubredditのコミュニティを有害なものにしたり協調性のあるものにしたりするのかを判断するには、害悪または協調性を持つコメントの数を数えるだけでは不十分です。Redditのユニークな面の1つは、コミュニティのメンバーがコメントに対してupvoteやdownvoteを投票することができるという点です。それにより、私たちは個々のコメント投稿者の意見を知るだけでなく、投稿されたコメントにコミュニティ全体がどの程度賛成なのか、または反対なのかを知ることができるのです。これを踏まえると、subreddit全体が有害なのか協調性があるのかは、subreddit内の全ての害悪または協調性を持つコメントのスコア1の関数によって求められます2

結果

以下の図は、subredditの害悪と協調性を示したものです。

Toxicity vs. Supportiveness by Subreddit

上のインタラクティブチャートの赤い円は、”人気のあるsubredditの中で、害のあるものはどれ?“というスレッドの中で名前の挙がったsubredditのうち、スコアが150(upvoteからdownvoteを引いて)を超えるものを表しています。グレーの円は、上位250のsubredditの中の一部です。チャートの右上はsubredditがより有害性が高く協調性が低いことを示し、左下が無害でより協調性が高いことを示しています。円の大きさはそのsubredditの購読者数を表しています。

では、Redditにおける有害なsubredditの抽出はどの程度うまくいったでしょうか。いくつか例外はありますが、大規模なもののほとんどは網羅できているようです。ダントツのトップは害悪44%、協調性1.7%の/r/ShitRedditSaysで、このスレッド上で4,234のupvoteを得ています。/r/ShitRedditSaysは、Redditで偏見を持つ投稿を見つけてそれについて議論するという、いくらか皮肉のこもったsubredditです。ここでは”Redditor”という言葉がしばしば侮辱の意味で使われており、ほとんどの場合、害悪はRedditのコミュニティ全体に対するものでした。しかし、この有害性のスコアのかなりの部分を占めているのが、ShitRedditSaysのメンバーと、とりわけ異議を唱えたり、コミュニティに因縁をつけたりするために参加しているその他のRedditorとの会話であるということにも注意しなければなりません。これは多くのメンバーが陥りがちなトラップであり、かなり厄介で非常に非生産的な会話につながるものです。

最も有害なsubredditの多くがこのスレッドで言及されている一方で、/r/SubredditDrama/r/TumblrinAction(Tumblrをからかうことを目的としたsubreddit – Tumblrでは社会的なマイノリティ、とりわけLGBTQのようなグループが自身の経験について投稿しています)、/r/4chan/r/newsなど、Redditが見落としたらしい非常に有害なsubredditもたくさんありました。

反対に、私たちの調査によって有害なsubredditとして挙げられたもののいくつかは、最も協調性のあるコミュニティでもあるようです。特に、/r/GetMotivatedは協調性50%、有害性6%で、/u/LookHardBodyで説明されているような「2種類の人たち」――”2種類の人がいます…(中略)。他の人にやる気を出させるために、あるいは自分たちのやる気が出たからそのコンテンツを投稿する人たちと、もう一方は、そのコンテンツがでたらめだという理由や、一人ひとりに合ったコンテンツではないのだから、ばかげていて、やる気は起きないとコメントする投稿者たち”――で作られる有害なコミュニティとはかけ離れているようです。

ただし、データを調べてみると、/r/GetMotivatedにはこのようなタイプの否定的な投稿が確かにありました。しかし、一般には支持されていませんでした。実際に、/r/GetMotivated内の協調性のある投稿の平均スコアは41でしたが、有害な投稿の平均スコアはたった1.4でした。全体的に見れば、/r/GetMotivatedは、メンバーがアドバイスを求めたり与えたり、コミュニティから支持を得たりするために作成されたsubredditとして、次の/r/loseit/r/DIYにうまく溶け込んでいます。当然、協調性のある人の集まりなのです。

偏見的なsubredditがあったときに、コメントのスコアを見ることが重要であるもう1つの例:

Bigotry by Subreddit

偏見的なコメントを具体的に見ると、コメントの数よりもむしろスコアを考慮することが重要だということがよりいっそう明らかになります。小規模のコミュニティ(/r/Libertarian/r/Jokes/r/community、および/r/aww)の場合、私たちのアノテータが偏見的だと分類したコメントのスコアの合計は、実際にはマイナスでした。つまり、それらのコミュニティには偏見的なコメントが存在しているにもかかわらず、全体としてはそれらの偏見的なコメントはそのコミュニティによって拒否されていたのです。その対極に位置しているのが、男性優越主義3を誇示しようと作られたsubredditの/r/TheRedPillで、偏見的なコメントが広く圧倒的な支持を得ています。

まとめ

この記事の調査を行うにあたって、私はインターネットの一番暗い部分を徹底的に調査しました。目をそらしたくなるようなコメントも、きちんと読みました。果たすべき使命があったからです。

感情分析は、人々は互いにどうやって関わりを持つのか、コミュニティはどのようにして形成されるのか、個々のメンバーのどのような特性がコミュニティを作り上げるのかについて理解するための、ほんの一部の方法に過ぎません。subredditについて言えば、あなたがどんなコミュニティに所属したいのか、またどのコミュニティは避けたいのかについて、この記事がいくつかのアイデアを与えられれば幸いです。

もっと広い範囲では、これらの方法は次のような問題を解決する手助けになります。「効果的なコミュニケーションを促すような、誇りを持てるコミュニティを構築するにはどうすればよいか?」、また「人々がお互いの話を真剣に聞くためには、どうやって会話を組み立てればよいか?」といった問題です。これらの問題を解決することで、私たちは周囲の人たちとの繋がりを強化し、ますますデジタル化する世界で日々の経験をより良いものにすることができるのです。

– Ben Bell(@BenSethBell

PS この記事が気に入りましたか? 私たちのAMAもチェックしてください!

脚注

a)
Screen Shot 2015-03-10 at 6.26.54 PM


  1. スコアは指数分布に従うため、記録されています。 

  2. 具体的には、各subredditに上記のaの式を当てはめます。 

  3. ここに時間を使うことはお勧めしません。もっと良い記事を読みたければ、私の同僚Janaの最近の記事をお勧めします。より多くの女性が技術職を得られるようにするためのIdibonの取り組みに関する記事です。