政策部門や企業の戦略チームは、毎日大量に流れてくる記事や投稿を見て、今の社会が何に注目しているかを判断しなければなりません。記事数の多いテーマから順に読むと、リストの上位には、たいてい誰もがすでに知っている古い問題が並びます。担当者が本当に知りたいのは、今週になって急に関心が集まったテーマと、その時期です。
では、ウェブ上に蓄積された文章の中の単語のつながりをネットワークとして分析することで、人々が急に注目した社会的イシューとその発生時期を、体系的に見つけ出せるのでしょうか。
この問いに答えた論文を一本読んでみます。
- タイトル: A Network Analysis Approach to Detecting Social Issues with Web-Based Data
- 学術誌: Applied Sciences
- 年: 2023
- DOI: 10.3390/app13148516
この論文は、ウェブデータからキーワードネットワークを作り、社会的イシューを検出する方法を提案しています。この方法は次の三つのことを行います。
- ネットワーク構造の変化から、イシューが生じた時期を見つける。
- その時期のネットワークから、イシュー候補を抽出する。
- 候補の間に緊急度の順位を付ける。
この記事で使う主要な用語は次のとおりです。
- キーワード共起ネットワーク(keyword co-occurrence network): キーワードを点(ノード)、一緒に出現した二つのキーワードを線(リンク)で結びます。線の重みは一緒に出現した回数です。
- 次数中心性(degree centrality): あるノードに付いている接続の数です。
- 媒介中心性(betweenness centrality): すべてのノードの組の間の最短経路に、そのノードやリンクが何回含まれるかを表します。
- ネットワーク構造エントロピー(network structure entropy): ネットワークが構造的に秩序立っているか無秩序かを表す値です。
- コミュニティ(community): 互いに密につながり、外部とは緩くつながっているノードのまとまりです。
- 影響スコア(impact score): イシュー候補が構造エントロピーの変化にどれだけ寄与したかを表すスコアです。
動機: イシューがいつ生じ、何が急務なのかを数値で語りにくい
なぜ社会的イシューの検出が重要なのか
論文は、イシューを、複数の個人や集団の語りの中で形成され、次第に関心が集まる特定のテーマや問題と定義しています。論文が社会的イシューの検出を重要だと考える理由は三つあります。
- 経済、政治、産業などさまざまな分野で、数多くのイシューが生じます。こうしたイシューの分析は、以前から社会の中核的な課題とされてきました。
- イシューを適切に扱わないと、国家的課題に膨らみ、大きな経済損失を生むおそれがあります。論文は、気候変動、食料危機、サイバーセキュリティを例に挙げています。
- イシューは、短期間で現れて消えたり、時間とともに悪化し続けたりと、さまざまに変化します。そのため、社会全体の様子を時間を追って継続的にモニタリングする必要があります。
既存研究が扱わなかった部分
ウェブデータで事件やイシューを検出した既存研究は、三つの類型に分かれます。特徴ベースのアプローチは、文書から抽出したキーワード、ハッシュタグ、時刻、位置などの特徴を用います。トピックモデルベースのアプローチは、潜在的ディリクレ配分法(Latent Dirichlet Allocation, LDA)のような確率モデルを用い、各トピックの分布を一つの事件とみなします。どちらのアプローチも、イシューの数やモニタリング期間といったパラメータを事前に決めておく必要がありますが、イシューは絶えず変化するため、この値を事前に決めるのは困難です。
漸進的(incremental)アプローチは、既存のイシューと新たに生じるイシューを同時に検出することで、この問題に対処しました。しかし、このアプローチを用いた研究の多くは、類似した文書をまとめてイシューや事件と定義しました。論文が指摘する欠落は三つあります。
- イシューの発生時点を定量的に示しにくい。類似文書のまとまりをイシューと定義すると、文書が十分に蓄積されて初めて重要なイシューとして認識されます。
- 数件の文書が新しいイシューとしてまとまるとき、そのまとまりが人々の関心の集中から生じたのか、些細な出来事から生じたのかが明確ではありません。
- 緊急度や重要度で順位を付けにくい。既存研究は、イシューの識別で止まるか、頻繁に出現した事件を重要なイシューとして提示しました。この方式では多数のイシューを検討し続けなければならず、急を要するイシューをタイムリーに見つけにくくなります。
論文はイシューを「人々の関心が急に集まったテーマ」とみなし、その定義に沿って時点と順位を併せて求めようとします。
方法: キーワードネットワークの構造変化からイシューの発生期間と順位を見つける
論文は方法を四つの段階で説明しています。
- ウェブデータを収集し、前処理して有効キーワードを決める。
- 期間ごとにキーワード共起ネットワークを作る。
- ネットワーク構造エントロピーで構造変化をモニタリングし、イシューが生じた期間を見つける。
- その期間でイシュー候補を定義し、優先順位を付けて、最も急務のイシューを検出する。
この記事も同じ四段階で説明します。
事例とデータ
論文は、韓国の尿素水(Diesel Exhaust Fluid, DEF)問題を社会的イシューの事例としました。韓国は2021年末に尿素水の不足問題に見舞われました。尿素水は、現代のディーゼル車で有害な窒素酸化物の排出を減らすのに欠かせない液体です。環境部の資料によると、尿素水が必要な車両には、乗用車、貨物トラック、公共交通のバスが含まれていました。尿素水がないとこれらの車両は運行できないため、貨物輸送や通勤に支障が出ました。
データは、韓国言論振興財団が運営するニュースビッグデータ分析サービスのBIGKinds(ビッグカインズ)から収集しました。
- 収集範囲: 地方日刊紙と専門紙を除き、全国日刊紙11紙の記事を収集しました。
- 収集件数: 記事129,747件の発行日、媒体、見出しを収集しました。論文は収集期間を「2021年9月1日から2021年11月31日まで」と記しています。11月は30日までなので、この表記は日付の誤記と思われます。
- 本文: BIGKindsは記事本文の一部しか提供しないため、研究チームがウェブスクレイピングで全文を収集しました。
- 分析対象: 「尿素水」に言及した記事数が2021年11月初めから急増しました。そのため、10月25日から11月14日までに発行された記事23,925件を分析に用いました。
第1段階: ウェブデータの収集と前処理
- 入力: 社会の構成員が作ったウェブデータのテキスト
- 処理: キーワード抽出、ストップワード除去
- 出力: 有効キーワードのリスト
- ウェブデータのテキストを収集します。ウェブデータはリアルタイムで生成されるため、他の公開データより更新が早いです。ほとんどのウェブプラットフォームが公開APIを提供しているので収集しやすく、APIがなくてもウェブクローリングで収集できます。
- テキストからキーワードを抽出します。
- 分析に合わないキーワードや一般的すぎるキーワードを除外します。絵文字や擬音語など、社会のモニタリングに合わないストップワードを除きます。
事例では、BIGKindsが記事ごとに提供するキーワードデータを使いました。このデータは、形態素解析器と韓国語辞書で記事の見出しと本文から抽出した名詞キーワードのリストです。研究チームは、次の四つの条件に当てはまるキーワードをストップワードとして除きました。
- 長さが1のキーワード: 「A」、「끝」
- 数字で始まるキーワード: 「1181조」、「282.8%」
- 韓国語と英語以外の外国語キーワード: 「ざるうどん」、「水火」
- 意味がない、または広すぎるキーワード: 「B씨」、「내년」、「지난달」
その結果、ユニークなキーワード234,975個から、有効キーワード155,609個が残りました。
第2段階: 期間別キーワード共起ネットワークの構成
- 入力: 有効キーワード、文書の発行日
- 処理: 期間の設定、共起ペアの抽出、ペアの絞り込み、ネットワークの構成
- 出力: 期間ごとに一つずつ作ったキーワード共起ネットワーク
- モニタリングする期間を複数決めます。
- 期間ごとにキーワードの共起ペアを探します。全データで一つのネットワークを作るのではなく、期間ごとに別々に作ります。イシューは時間とともに変化するため、いつ何に関心が集まったかを見るには、期間別の比較が必要です。
- 文書の長さに合わせて共起の単位を決めます。マイクロブログのように短い文書では、一つの文書内のすべてのキーワードの組み合わせをペアとします。ニュースのように長い文書では、段落や文の中の組み合わせだけをペアとします。長い文書ですべての組み合わせを用いると、ペアが多くなりすぎて解釈が難しくなるためです。
- キーワードをノード、共起の有無をリンク、共起回数をリンクの重みとして、ネットワークを作ります。
事例の期間設定は、記事数の曜日パターンに従いました。週末の記事が平日よりはるかに少ないため、すべての期間が土曜日と日曜日を含むように、一期間を7日としました。10月25日から11月14日まで、互いに重なる期間が8個できました。最初の期間は10月25日31日、第5期間は11月2日8日、最後の期間は11月8日~14日です。
BIGKindsのキーワードデータは、記事1件につき平均99.2個のキーワードを提供します。記事内のすべてのキーワードをペアにするとデータが多くなりすぎます。そこで研究チームは、n-gramの概念に基づいて共起ペアを決めました。
- 記事本文を文に分け、文を空白区切りの単位に分けます。
- 分けた単語に有効キーワードを対応させ、文中の位置番号(Index)を付けます。
- 位置番号の差がN以下の二つのキーワードをペアとします。研究チームは、反復実験でNを5としました。
例えば、ある文で「尿素水」が位置2に、「貨物車」が位置6にある場合、差は4なので、二つのキーワードはペアになります。位置9にあるキーワードと「尿素水」の差は7なので、ペアにはなりません。
研究チームは、パレートの法則(80-20の法則)も適用しました。共起回数が非常に少ないペアは、意味のあるペアである可能性が低いためです。そこで、期間ごとに共起回数が上位20%のペア、すなわち3回以上一緒に出現したペアだけを残しました。残ったペアは、期間ごとに平均26,418.5個でした。最初の期間には27,387個、第3期間には25,564個でした。
第3段階: イシュー発生期間の識別
- 入力: 期間別キーワード共起ネットワーク
- 処理: ノードとリンクの中心性の計算、構造エントロピーの計算、期間間の変化のモニタリング
- 出力: イシューが生じた期間
- ネットワークごとに、ノードの次数中心性と媒介中心性、リンクの重みと媒介中心性を求めます。
- これらの値からノード構造エントロピーとリンク構造エントロピーを求め、二つの値を足してネットワーク構造エントロピーを得ます。
- 期間ごとに値を並べ、エントロピーが急速に減少した期間を探します。その期間を、イシューが生じた期間とみなします。
この指標は、情報エントロピーの概念に由来します。エントロピーが増えると情報が多様になって体系が無秩序になり、エントロピーが減ると情報の多様性が低くなって体系が秩序を帯びます。キーワードネットワークの構造エントロピーがある期間に急速に減少したことは、次のように解釈します。以前は複数のテーマが同程度に言及されていたのが、その期間には特定のキーワードの組み合わせが多く言及されたということです。リンクが突然生じたり重みが急増したりすると、ネットワーク構造が急速に変わります。
式はノード部分とリンク部分に分かれます。
- ノード部分: ノードiの比重p_iは、そのノードの次数中心性を全次数中心性の合計で割った値です。補正値q_iは、1−(媒介中心性の最大値−ノードiの媒介中心性)です。この二つの値を(p_i^q_i − p_i)/(1 − q_i + ε)の形で計算し、すべてのノードで足して符号を反転します。εは0より大きい小さな値です。
- リンク部分: リンクjの比重p_jは、そのリンクの重みを全重みの合計で割った値です。補正値q_jは、リンクの媒介中心性から同様の方法で求めます。
- ネットワーク全体: ノード構造エントロピーとリンク構造エントロピーを足します。
日常的な言葉で言い換えると、次のとおりです。少数のキーワードやリンクに接続が集中するほど値が減る方向に動き、接続が多くの箇所に分散するほど値が増える方向に動きます。事例の第4期間(10月31日~11月6日)で計算すると、ノード構造エントロピー−9.0344とリンク構造エントロピー−11.9087を足した−9.0344+(−11.9087)=−20.9431が、ネットワーク構造エントロピーです。
第5期間(11月2日~8日)では、ノード構造エントロピーが−9.3711、リンク構造エントロピーが−11.9329で、ネットワーク構造エントロピーは−21.3039でした。ネットワーク構造エントロピーが、第4期間の−20.9431から第5期間の−21.3039へ下がったのです。8期間すべての値は、論文の表6にあります(Lee et al., Applied Sciences 2023, CC BY 4.0)。
研究チームは、この値を時間順に可視化し、第5期間(11月2日~8日)でエントロピーが急速に減少したと判断しました。
第4段階: イシュー候補の定義と優先順位の算出
- 入力: イシューが生じた期間のネットワーク、その直前期間のネットワーク
- 処理: コミュニティ検出、コミュニティごとの影響スコアの計算
- 出力: イシュー候補のリストと優先順位、最も急務のイシュー
- イシューが生じた期間のネットワークに、コミュニティ検出アルゴリズムを適用します。キーワードネットワークにおけるコミュニティは、頻繁に一緒に出現するキーワードが集まったまとまりで、一つのテーマを意味します。そのため、抽出したコミュニティをイシュー候補と定義します。
- コミュニティごとに影響スコアを計算します。エントロピーの式には次数中心性が入っているため、低かったキーワードの次数中心性が突然上がると、エントロピーも急速に変わります。そこで、コミュニティを構成するキーワードの次数中心性の変化からスコアを求めます。
- 影響スコアが高い候補を、最も急務のイシューとして検出します。スコアが高い候補は、社会の構成員が急に注目したテーマだからです。
事例では、コミュニティ検出にルーヴァン(Louvain)法を用いました。この方法は、大規模なネットワークで、モジュラリティ(modularity)の高いコミュニティ構造を高速かつ正確に見つけます。モジュラリティは、コミュニティ間のリンクと比べて、コミュニティ内のリンクがどれだけ密かを表します。ルーヴァン法は二つの段階を繰り返します。
- 第1段階: 各ノードは、最初は自分だけのコミュニティを持ちます。ノードを隣接コミュニティに移したときにモジュラリティが最も増える先へ移し、それ以上増えなくなるまで繰り返します。
- 第2段階: コミュニティ一つを一つのノードにまとめて、新しいネットワークを作ります。新しいリンクの重みは、元のコミュニティ間のリンクの重みの合計です。
- モジュラリティがそれ以上上がらなくなるまで、二つの段階を繰り返します。
影響スコアの意味は、「二つの期間の両方に存在するキーワードの次数中心性の変化量の平均」です。
- 分子: コミュニティ内のキーワードのうち、今回の期間と直前の期間の両方にあるキーワードの次数中心性の変化量(今回の値−直前の値)を足します。
- 分母: 二つの期間の両方にあるキーワードの個数です。
- 直前の期間になかった新しいキーワードは、分子と分母の両方から除かれます。
第1位コミュニティのキーワードで、計算方法を見てみます。「尿素水」の次数中心性は、第4期間の5116から第5期間の11,039に上がり、変化量は5923です。「注入」は128から167に上がり、変化量は39です。式の構造だけを示すために、コミュニティがこの二つのキーワードだけで構成されていると仮定すると、影響スコアは(5923+39)÷2=2981です。この値は仮定に基づく単純な説明であり、実際のコミュニティのスコアではありません。
| キーワード | 第4期間 | 第5期間 | 変化 |
|---|---|---|---|
| 尿素水(요소수) | 5116 | 11,039 | 5923 |
| 注入(주입) | 128 | 167 | 39 |
| 完州(완주) | 42 | 66 | 24 |
| アトン産業(아톤산업) | 3 | 20 | 17 |
| 益山(익산) | 24 | 34 | 10 |
| 貨物車(화물차) | 11 | 15 | 4 |
| 集中取り締まり(집중단속) | 30 | 7 | −23 |
出典: 論文の表9から一部を抜粋・再構成 (Lee et al., Applied Sciences 2023, CC BY 4.0)。値は次数中心性です。
「集中取り締まり」のように次数中心性が減ったキーワードは、スコアを下げます。実際のコミュニティのスコアは、これよりはるかに多くのキーワードの変化量を併せて平均して求めるため、上の仮定の例とは規模が異なります。
結果: エントロピーが急減した期間で、尿素水イシューが第1位になった
期間別の構造エントロピーの比較
研究チームは、8期間のネットワーク構造エントロピーを比較し、第5期間(11月2日~8日)をイシューが生じた期間と定義しました。分析区間そのものは、「尿素水」に言及した記事が急増した時点を見て決められました。筆者の見るところ、エントロピーが減少した第5期間は、11月初めの急増時期と重なっています。ただし、この重なりは筆者の解釈であり、論文がこの一致を別途確認したという記述はありません。論文は、結果を定量的な指標で検証していないとも述べています。
コミュニティ検出の結果
第5期間のネットワークには、キーワードが19,152個ありました。ルーヴァン法は、このネットワークからコミュニティを342個見つけました。コミュニティ一つに含まれるキーワード数は次のとおりです。
- 平均: 56個
- 中央値: 22個
- 最大値: 3341個
- 最小値: 10個
研究チームは、この342個のコミュニティをすべて、その期間のイシュー候補と定義しました。
イシュー候補の影響スコア順位
影響スコアが高いほど、そのコミュニティが構造エントロピーの急変により多く寄与したことを意味します。上位三つの候補は次のとおりです。
| コミュニティ | キーワード数 | 影響スコア | 主要キーワード |
|---|---|---|---|
| #86 | 46 | 194.1 | 尿素水, 高速バス, ディーゼル車両, 貨物車 |
| #42 | 13 | 81.1 | 耐性菌, 細菌, カルバペネム, 抗生物質 |
| #276 | 84 | 22.0 | 診断書, 鎮痛剤, 処方箋, フェンタニル |
出典: 論文の表8
コミュニティ#86のスコア194.1は、2位の81.1より194.1−81.1=113.0高いです。研究チームは#86を、最も急務の社会的イシューとして検出しました。論文の表8と本文の解説でコミュニティ番号が一致しないため、この記事は表8の表記に従いました。表8基準では、#42は抗生物質耐性の候補で、#276はフェンタニルの候補です。
2位と3位の候補の内容は次のとおりです。
- #42 抗生物質耐性の候補(影響スコア81.1): 保健福祉部がその時期に策定した「第2次国家抗生剤耐性管理対策」に関連するイシューです。論文は、韓国の人体への抗生物質使用量がOECD諸国のうち3番目に多いと記しています。
- #276 フェンタニルの候補(影響スコア22.0): 主要キーワードは、診断書、鎮痛剤、処方箋、治療目的、フェンタニルです。論文は、麻薬性鎮痛剤フェンタニルの過剰処方と服用により関係者が逮捕され、当時話題になったと述べています。
第1位イシューのキーワードの解釈
コミュニティ#86には、「尿素水」とともに、「高速バス」、「ディーゼル車両」、「貨物車」、「天井知らず」、「市場攪乱」が含まれています。尿素水の不足と価格高騰により、高速バスや貨物車などの車両が止まることが、このイシューの最大の問題でした。
次数中心性が上がったキーワードには、「注入」、「完州」、「アトン産業」、「益山」があります。論文は、これらのキーワードの背景を次のように述べています。益山にある尿素水メーカーが、完州郡などの地方自治体と協約を結び、その地域に尿素水を優先的に供給しました。論文は、このメーカーが一日の量を制限し、住民に適正価格で尿素水を販売して、地域産業の安定に努めたと評価されたと述べています。論文は、その結果、このメーカーと益山市、完州郡がその時期に注目を集めたと述べています。この内容は論文の記述であり、筆者が別途事実を確認したわけではありません。
頻度基準との違いも表れています。このデータで最も多く言及されたキーワードは、コロナ19、ワクチン、接種など、コロナ19のパンデミックに関連するものでした。著者は、影響スコアがこれとは異なるテーマ、すなわちその時期に関心が急に集まったテーマを適切に選び出したと判断しています。この判断は著者の定性的な判断であり、定量的な検証はありません。
新しいキーワードで見るイシューの展開
影響スコアの計算から除かれた新しいキーワードは、イシューの近い将来を推測するのに使えます。尿素水コミュニティの新しいキーワードは、二つのまとまりで現れました。
- 消防関連のキーワード: 「蔚州消防署」、「光陽消防署」が新たに現れました。実際に、尿素水の不足が長引くなかで、消防車や救急車の運行が制限されました。消防署の前に尿素水をこっそり置いていく匿名の寄付者のような支援も、全国で現れました。
- 貨物輸送関連のキーワード: 「貨物連帯」、「貨物車オーナー」、「貨物運送」が新たに現れました。論文は、貨物連帯が運行中断の被害が労働者に転嫁されるとしてストライキを発表したと述べています。
論文は、貨物連帯が一年に2回ストライキを行ったときに、10.4兆ウォンの経済損失が生じたと記しています。研究チームは、新しいキーワードをモニタリングすれば、尿素水イシューが貨物連帯関連の出来事に波及し、追加の損失を生みうることを推測できると考えました。
意義と限界
何が変わるのか
- イシューの内容を見る前に、ネットワーク構造の変化からイシューが生じた期間を定量的に見つけます。
- イシューを「急に関心が集まったテーマ」と定義し、その定義に沿って時点を見つけます。特定のテーマの頻度に主に依拠した既存研究とは、出発点が異なります。
- 頻度ではなく、構造変化に対する影響スコアで、イシュー候補の順位を付けます。
- イシューの発生期間と優先順位を併せて示します。
実務者にとっての有用性
政府や企業は、文化、経済、産業、技術の分野にわたる数多くのイシューを、限られた資源で扱わなければなりません。この方法は、イシューが生じた期間の候補の順位を示すことで、急務のイシューから順に、あるいは選択して対応できるよう支援します。研究チームは、この方法が特定の分野に偏らないため、社会のさまざまな分野の意思決定に使えるだろうと期待しました。
新しいキーワードのモニタリングは、対応を前倒しするのに使えます。研究チームは、この方法がイシューの展開の方向を推測させ、将来に備えた対応策を設けるのに役立つと記しています。
研究者にとっての有用性
イシューの定義と特性から出発して、検出手順を組み立てた事例です。構造エントロピーと影響スコアは中心性指標で計算するため、他のキーワードネットワーク研究にも同じ枠組みを移して試せます。論文は、今後の課題として、定量的な検証、他国の事例研究、イシューのライフサイクル全体のモニタリングを挙げています。
論文が明らかにした限界
論文自身が明らかにした限界は三つあります。
- 結果を定量的な指標で検証する方法を示していません。尿素水イシューなどが適切に検出されたという判断は、著者の定性的な判断です。定量的な検証があって初めて、他の研究と検出性能を比較することもできます。
- 韓国のウェブニュースデータだけを扱いました。他国の事例研究が必要であり、複数の国のデータを併せて用いれば、共通のイシューや世界的なイシューも見つけられます。
- イシューのライフサイクル全体を捉えられていません。期間ごとに候補を抽出しないためコスト面では有利ですが、イシューの誕生から消滅までは見られません。
筆者が考える適用条件
以下は論文に書かれた内容ではなく、筆者が実務への適用を念頭に置いて付け加える条件です。
- 期間の長さと重なりの間隔は、自分のデータの発行周期を見て決める必要があります。曜日や月末に文章の量が大きく変動すると、期間ごとにネットワークの大きさが変わり、エントロピーの比較が不安定になります。
- 「急速に減少した」という判断基準を、組織内であらかじめ決めておくのがよいでしょう。直前期間比の変化量がいくつ以上ならアラートを出すかを決めておくことで、担当者が替わっても判断が同じになります。
- 結果の質は、キーワード抽出とストップワードのリストに大きく左右されます。社内文書や顧客の投稿のように、BIGKindsのキーワードデータがないデータでは、形態素解析とストップワードのリストをまず点検する必要があります。
- 第1位の候補だけを見ず、上位数個の候補を併せて検討するのが安全です。コミュニティの大きさは10個から3341個まで差があるため、スコアとともにキーワードの構成を人が読む必要があります。
- 新しいキーワードはスコアに入らないため、別のリストとして管理する必要があります。イシューが広がる方向は、このリストから先に見えてきます。
すぐに試せること
- 自分の分野のニュースや投稿を3週間ほど集め、7日単位の重なる期間に分けます。文中で位置の差が5以内のキーワードペアを集計し、3回以上出現したペアで、期間ごとにネットワークを作ります。
- 期間別ネットワークで、ノードとリンクの中心性を求め、構造エントロピーを計算します。直前期間比の変化量を表にまとめ、値が最も大きく減少した期間を探します。
- その期間のネットワークにルーヴァン法を適用して、コミュニティに分けます。コミュニティごとに、二つの期間の両方にあるキーワードの次数中心性の変化量の平均を求めて順位を付け、直前期間になかった新しいキーワードは、別にリストとして書き留めておきます。
ビジネスインテリジェンスラボは、ウェブデータと特許データで技術と社会の変化を読み解く方法を研究しています。他の論文解説も、このブログで引き続き紹介します。