5ch での 香港 国家安全法 関連投稿状況
香港国家安全維持法(以下「国安法」)が2020年06月30日に成立しました。
日本でこの事実がどのように受け止められているのか、生の投稿を比較的拾いやすい5ちゃんねるで、国安法に関連する書き込み動向を観測することにし、07月01 日から 5ちゃんねる の「 ニュース速報+ 」掲示板[1]の観測を開始しました。
さしあたり32個のキーワード(Table 1)を使って解析してみようと計画していますが、観測開始からほぼ3週間が経ちましたので、予備整理した情報を共有します(観測期間は4週間を予定)。
Table 1: 使用したキーワード(keyword vector)
アベ, インド, ウイグル, コロナ, ジャップ, チベット, テドロス, テロ, トランプ, ネトウヨ, パヨク, 一帯一路, 中共, 中国, 中華人民共和国, 五毛, 人権法, 人民解放軍, 全人代, 全国人民代表大会, 台湾, 周庭, 国安法, 国家安全法, 天安門, 安倍, 安全維持法, 林鄭, 立法会, 習近平, 蔡英文, 香港(*1)
(*1) キーワード「香港」は、香港国家安全法、香港基本法、香港珍宝王国など「香港」という文字列を含む投稿にすべてマッチします。したがって、香港国家安全法や香港立法会なども拾うため、既に キーワード に定義している「(香港)国家安全法」や「(香港)立法会」などとダブりますが、工夫すると合成キーワードのバラエティーを増やせます。
日別集計
注目したキーワードを含む書き込みが1日の投稿件数の何%を占めたか(以下「投稿比率」)を示したグラフが Fig 1 です。
投稿比率は、投稿の絶対数ではなく割合を示す値なので、投稿数の曜日別変動の影響を除いた発言数の変化を見ることができます。
特徴的な事項をいくつか列挙すると:
- キーワード「コロナ」がダントツ。多くの人の関心事なので、これを基準に他のデータを規格化すると見通しが良くなる?
- 2020-07-07の前後数日は、キーワード「コロナ」が「中国」とともに興味深い挙動を示していた。
- キーワード「香港」は2020-07-02にピークがあるが、顕著なピークはこの 1 回だけだった(*2)。
5ちゃんねるでは、記者がスレを立てないとそもそもその話題が始まらないので、この「ピークが 1 回だけ」というのは「スレ立て」の傾向に依存していると考えられそうです(*3)。
(*2) 2020-07-01 00:00 から 07-03 23:59 までの3日間で「 ニュース速報+ 」掲示板への全投稿数は 490,983 件(GGCS捕捉分。以下同じ)、このうち 5,624 件(1.15%)が、キーワード「香港」を含む投稿でした。
(*3) 5chスレタイ検索 で「香港」をキーワードにスレッドを検索[2]すると、その時点でのスレ立ての状況を確認できます。
Fig 1: キーワード別投稿割合日別集計(2020-06-30/07-26)
Source: 5ちゃんねる 掲示板「 ニュース速報+ 」[1], GGCSサンプリング
Updated on 2020-07-27
時間別集計
キーワード「香港」の2020-07-02のピーク付近を拡大して、投稿状況を 1 時間の分解能で見たのが Fig 2 です。ここで見えることは:
- 日別集計では 1% 以下でウゴメイていたキーワードの動きは、時間別集計では埋もれずに見ることができる。
- キーワード「コロナ」投稿比率の動きに代表されるように、値は概ね24時間の周期(基本周期)で変動しているが、キーワード毎に見た場合、位相がズレているものがあるような気がする(なぜこれが気になるのかと言うと…)。
前者については、例えば240個の投稿を平均してだらだらと毎時 10 投稿のペースで行った場合と、毎分 10 投稿を24分間集中的に行った場合を例に考えれば納得できます。
たとえば、全体で1日12万件(平均 5,000 投稿/時)の投稿があった場合のキーワード比率は、同じ240個の投稿でも、前者の投稿パターンでは 0.2%、後者では4.8%となります。
- 10 posts/hr x 24 hr = 240 posts/day
- 240/120,000 x 100 = 0.2%
- 10 posts/min x 24 min + 0 posts/min x rest = 240 posts/day
- 240/5,000 = 4.8%
こうして見ると、①日別/時間別集計で大きく数字が変わる集中型、② そうでないものは定常型 — と分類できそうです。
Fig 2: キーワード別投稿割合1時間集計(2020-06-30/07-03)
Source: 5ちゃんねる 掲示板「 ニュース速報+ 」[1], GGCSサンプリング
7月2日(木)の投稿状況
そこで、7月2日(木)の部分を拡大して見ると、「香港」の深夜 1 – 2 時と朝 9 – 10 時のピーク付近を中心に、他のキーワードとの関係を見ることができます(Fig 3)。
これら二つのピークはユーザーの生活活動パターンと関連があると考えられます。しかし、ここに示されている値は投稿比率、すなわち「その 1 時間枠における『あるキーワードを含む投稿数÷全投稿数×100 (%)』」なので、「みんな7時ごろに起きてきて 5ch に書き込む人が増えた」という解釈は誤りです。
では、割合ではなくて生の投稿数はどうなっているのかと言うことで、生の投稿件数を15分のウインドウで見ると Fig 4 のようになります。こうして見ると、「みんな7時ごろに起きてきて」シナリオは、結果的に合っていたようです。
などという話はともかくとして、この中に何かが潜んでいるのかな?
今回シェアしたデータには、キーワード情報だけではなく、投稿の文字数情報も含まれています。
実は、文字数情報は意外に面白い情報で、マルチポストや「荒らし」投稿、あるいはある種の組織的な投稿の分類に文字数情報が役に立ちそうな感触です。
一文の長さの分布分析というのは定番とはいえ、今一つ地味だなぁと思っていましたが、実は結構強力な特徴量なんですね。先人の言うことは素直に聞いたほうが良いと反省した次第。
Fig 3: キーワード別投稿割合1時間集計(2020-07-02)
Source: 5ちゃんねる 掲示板「 ニュース速報+ 」[1], GGCSサンプリング
Fig 4: キーワード別投稿数15分集計(2020-07-02)
Source: 5ちゃんねる 掲示板「 ニュース速報+ 」[1], GGCSサンプリング
サンプリングデータの品質
ここから先に進むにあたって、そもそもサンプリングがちゃんとできているか、その品質を一応チェックしました。
まず、5ちゃんねるが公式に発表している投稿数データ[3]と比較すると、「香港」ピークがあった07月02日の捕捉率が 78.5%で若干低めでした。データ収集開始の出遅れ感が否めませんが、この部分は過去ログを入手して手当てできそうです(Fig 5)。
もっとも、前日07月01日の捕捉率が 93.1%、翌日03日の捕捉率が 99.9% なので、07月02日のヘコみ具合が何か不自然かなと思わなくもなく…。(*4)
とはいえ、分析対象となる07月01日から26日のデータについては、捕捉率の中央値が99.0%なので特に問題は無さそうです。
次に、キーワード抽出ががちゃんとできているかを確かめるために、32のキーワードをすべて含む投稿を放流し、ちゃんとマーカーがキャプチャできているか確かめてみました。結果はOKでした✌️(*5)
(*4) このヘコみががなくて曲線がなだらかにつながるようだと、時間経過とともに一定の半減期で投稿が dat 落ち(過去ログに格納されてスレッドメニューから削除される)する感じになって良いですよね。
(*5) 下のnp_2020W29.csv.zip [13 MB]のファイルをダウンロードして、 kwd flag が11111111111111111111111111111111 の投稿を探し、THREAD_ID ( = スレッドURLの一部)と 投稿時間を手掛かりに投稿を探すと私が放流した投稿がキャッチできます😅
Fig 5: ニュース速報プラス板全投稿数及び投稿捕捉状況(2020-06-30/07-26)
凡例)青線: 5ch公表データ; 緑線: GGCSサンプリング数; 赤線: 投稿捕捉率(%)
Updated on 2020-07-27
References
[1] ニュース速報+ 5ちゃんねる掲示板.
[2] 5chスレタイ検索 「香港」.
[3] SPARROW AIM-7P Ver.1.00.
おまけ
投稿分析に用いた元データのCSVを、 np_2020W27.csv.zip [13 MB] 、 np_2020W28.csv.zip [15 MB] 、 np_2020W29.csv.zip [13 MB] 及び np_2020W30.csv [14 MB] に置いておきました(Preview)。
分析用のデータですので、書き込み日時、投稿者のID、名前(「不要不急の名無しさん」は “anon” に変換してあります)、スレッドID、 キーワード(kwd000 – kwd031)及びメッセージ文字数(MSGLEN)に抽象化し、メッセージそのものは含まれていません。