はじめに
本記事はAll About Group(株式会社オールアバウト) Advent Calendar 2022の14日目の投稿です。
こんにちは。新卒エンジニアの @yyoshii です。
弊社では社内の情報共有ツールとして Qiita Team を活用しています。
Qiita Team 内に3,000本以上の記事が蓄積されているため、その記事の情報を使って簡単な分析を行ってみたいと思います。
記事の取得
Qiita API を用いて社内記事を全て取得しています。Qiita API で取得した以下のような項目を元に、分析を進めていきます。
- タイトル
- URL
- タグ
- 投稿・更新日時
- コメント数
- リアクション数
他多数の項目が取得可能です。詳細はこちら
Word2Vec
1. タグの学習
取得したタグ群が同じ記事に使われているか、加えて、対象のタグが別のタグと一緒に使われているかどうかの関連性を確かめ、それを元に Word2Vec で学習を行います。
タグの使われ方とその関連性を学習することで、タグの意味を解釈できるようになります。
Word2Vecの使い方は以下記事を参考にさせていただきました。
2. 類義語を発見
それでは、いくつか単語(タグ)を与えてみて類義語にはどのようなものがあるか確認していきます。
試しに 「PHP」 で見てみると、各種 PHP のライブラリが多く並んでいるのが分かります。
ある程度予測通りではありますが、ライブラリのインストール手順などが近しい位置に存在しているのは安心感があります。
「MySQL」 でも同様に MySQL における機能が並んでおり、記事のタグが適切に利用されていることが確認できました。
Word2Vecの有名な事柄として 「王様」-「男性」+「女性」=「お姫様」 のような単語による計算ができます。
そこで、「PHP」 と 「MySQL」 を足し合わせてみると、MySQL のストレージエンジンである「InnoDB」で使える「全文検索」が新たに上位に上がってきており、上手くそれぞれのタグの特徴が組み合わされている気がします。
実際に記事を確認してみると、開発する上での全文検索の簡単な使い方が紹介されていたりしました。
3. 中心性の確認
どのタグが中心に位置しているか、つまり他のタグとの関連がたくさんあるものを見てみます。
archives(情報の共有・保存用)や運用手順は、多くの記事で内容自体を表す他のタグと併用して利用されますし、オールアバウトの主要技術である PHP や Laravel に中心性があることが、この結果からもよく理解できます。
また、All About が長く運営されてきたことで古の技術として言及されている記事があることが分かります。
2022年度人気記事
最後に、リアクション数の多い順に人気記事としてランキング化してみました。
業務上困ったことやその解決方法、勉強したことの共有、コードレビューについてなど様々な内容でランクインしています。
トップ3は勉強したことに加え、新人が○○やってみたという内容であることによりリアクションもしやすく人気があったようです。
他の会社ではどのような記事が人気なのか気になるところです。
おわりに
今回、社内の記事を分析したことにより、以下のような理由で Qiita Team の運用方法を見直す必要があるということに気付けました。
- タグに archives と archive があったり、PHP はバージョンごとにタグがあったりなど、命名が個人に委ねられている
- 想定よりもタグ付けをしていない記事が存在しており、記事検索のしづらさに繋がっている
また、今回は簡単なものしか行いませんでしたが、データクレンジングをより適切に行うと学習の精度を高められると感じました。
参考