にほんごのれんしゅう

日本語として伝えるための訓練を兼ねたテクログ

アメブロでの流行語大賞のその後、各デモグラで使用する単語の違いなど

 国内最大級の自然言語のデータ・セットが一般ユーザがアクセスできる範囲であるものは2chアメブロなどがあります。
アメブロは広大で数千万の投稿があると思われますが、全てをパースし切ることはできませんでした。(またしなくてもサンプルサイズ的に十分だという視点ではあります)

ユーザには女性が多く、後述するFaceBookやLineなどの浸透スピードを鑑みると、レートマジョリティに相当するメディアだと思われます。

せっかくいろいろ遊べそうなコーパスであるのに、どうにも使い勝手が良くなく何かを導くのにアイディアをひねる必要があります。

アメブロ自体が自分と違う人間たちの巣窟であるので、なかなかおもしろい分析が思いつかず、だいぶ放置していたのですが、重い腰を上げてデータの基本的なところを見ていきます。

データ

  • 2019/05/10からの過去のアメブロのスナップショット
  • 1272万記事
  • 142万人のプロフィール

ダウンロード

コード

基本的にはデータをダウンロードして A, B, C, D, ... の順序で実行していくことで再現できます(メモリが32GBは必要です)

GitHub

分析(集計)すること

こういった大規模コーパスで分類するのに向いている疎行列 + Stochastic Gradient Descent

Andrew NGさんが説明しているStochastic Gradient Descentの動画がありわかりやすいです。

すべてのデータ・セットを一度にオンメモリに展開して最適化するというものではないので、 1000万を超えるコーパスでもうまくすれば分類することができます。

ScikitLearnには線形モデル各種をSGDで最適化できる関数が用意されていて、SVM, Logistic Regressonなどなどが損失関数の設定で行えるようになっています。
またペナルティも、L1, L2のほかelasticが最新のScikitLearnでは用意されていて便利です(2019年5月現在のAnacondaのデフォルトのScikitLearnは実装されていないようですが、pipから入る方はインターフェースがきちんと実装されています)

実際にやった分類

ScikitLearnのSGDClassifierを利用して、ペナルティをelasticとしました。

kfoldしながら、optunaでAUCの最大となる点を探索しながら各種ハイパラを探索させています。

コード

代表的な角度でのクラシフィケーション(分類)とその重要度

埼玉県民とそれ以外の違い

埼玉県民とそれ以外を分類を行おうとすると、 AUC 0.503 で実際はほとんど分類できませんでした。
分類性能は悪いが、その判断基準となった特徴量がユニークで面白いです。

埼玉県民のコーパスの特徴として「池袋」が入っているとそれらしいという結果になっており、実質的に池袋は埼玉県民の土地であるということがわかります。

表1. 埼玉県民とその他

男女の分類

男女の分類で見ると、 AUC 0.741 になり、そこそこの性能で分類できます。

男性言葉、女性言葉が分類用の特徴量として目立っており、どんな言葉を使えば男性らしく、女性らしく統計的になるのかわかりました。

表2. 男女の分類

1988年生以前生まれと以後生まれ

勝手に若いというを1988以前, 1988以降の生まれの人の記事の分類をすると、 AUC 0.681 で分類できる

おそらく携帯電話の頭である 090 が最もわかりやすい特徴量になっていることや、息子、娘がいること、文章中の も年寄りくさいな、、、と思っていたのですが想像通りなる部分もあるし、アルゴリズムにより初めてこの特徴量が効くのかと認識できるものもあります。

Twitterは若者のSNSツール、らしい。

表3. 年代別

サービスのユーザの人口の高齢化

ニコニコ動画も高齢化しているというデータがあるように、実はアメブロでも同様の老化が起きていることがわかっています。
ユーザプロフィールと登録している生年月日を突合すると、ブログを書いたときの平均年齢が逆算できる。
その時の平均の年齢を age とすると、このようなグラフになります

図1. 年齢の経年変化

ほぼサービス人口の年齢が新陳代謝していません

結局流行語(大賞)は長生きするのか

見ていきましょう

アメブロはサービスとしても現在進行系で記事数が増加しておりそのバイアスを排除するため、その集計粒度の月の総数で割ることで一定の正規化をしています

壁ドン(2014年)

図2. 壁ドン

妖怪ウォッチ(2014年)

爆買い(2015年)

図4. 爆買い

PPAP(2016年)

図5. PPAP

ライフステージなどに応じたキーワード

ガン

図6. ガン

出産

図7. 出産

結婚

図8. 結婚

周期性のあるキーワード

花粉症

図9. 花粉症

PM2.5

図10. PM2.5

暑い

図11. 暑い

2018年が過去ないほどの比率で”暑い”と言われており、実際に人々がそう感じていたということが定量的にわかります

TV,新聞に対して、SNS各種は継続して人気が上がり続ける

ブロードキャスト型のコンテンツのテレビに対して、twitter, facebook, line, youtube, instagramなどは人気が上がり続けています

Twitter

図12. Twitter

Facebook

図13. Facebook

line

図14. line

インスタグラム

図15. インスタグラム

YouTube

図16. YouTube

テレビ

図17. テレビ

新聞

図18. 新聞

まとめ

何らかの判別のモデルを作成して、その特徴量を見ると何で分離されているのかわかりやすいのですが、判別性能が十分に出ないのであれば、強く一般化できない特徴量だと思われます。

アメブロという媒体の特性か、Twitterで流行りの激おこぷんぷん丸などのバズワードや言い回しは殆ど使われていないようでした。

サービス自体が若い世代の参入が少ないという状態にあるので、ガンの頻出や結婚出産もブログサービスの経過年月に比例して上がっていることがわかりました。

高齢化の影響を受けつつもテレビと新聞は人気が現状維持か少し落ち気味です。年齢的なバイアスを外せばSNSに順調にシェアを奪われているように見えます。