記事が当たっているかどうかを「One Metric手法」で評価してちゃんと単一指標化してみる
日々様々な記事を配信しているGIGAZINEですが、記事を作成する上で気がかりなのが「どうすれば多くの人に読んでもらえるのか」という点です。ただ、記事がどれだけ読まれているかを示す指標としてもいろいろなものがあり、何に重きを置けば「いい記事」と判断し得るのか迷ってしまうところがあります。GIGAZINEではそういった様々なデータから単一指標を生成することで記事を自動的に評価する仕組みを作成しており、今回はそちらについて説明します。
ページに対するアクセスに関する様々なデータは、Google Analyticsなどのサービスを利用することで取得することができます。では「記事が読まれている」かどうかについてGoogle Analyticsの提供するどのデータを判断指標とすべきなのかということになりますが、例えばセッション数で判断するのか、インプレッション数に注目するのか、あるいはSNSからの流入を重視するのか、使用する指標によって評価結果が大きく変わってしまう可能性があります。
この問題を解決するのに参考にしたのが以下のサイトです。
Webコンテンツの成果を評価するたった1つの指標「One Metric」(前編)
https://webtan.impress.co.jp/e/2015/01/05/19010
こちらの考え方の要点を簡単にまとめると、
- いくつかの指標に対して、重みづけを決める
- それぞれの指標の実測値を、それっぽい配点となるよう加工する
- それぞれの指標の配点に重みづけを加味して得た総和を最終的な単一指標とする
ここで、どういった観点から対象を評価するのかを決定づける意味合いがあることから、重みづけの決定は最も重要なポイントとなります。また、重みづけを加味しない状態では各指標がほぼ同じ重みを持たないと評価のバランスが狂う(言い換えると重みづけが正しく作用しない)ことから、実測値の加工もかなり重要であると言えます。
先の例を用いてこれらの一連の作業をごく簡略化すると、以下の図の通りとなります。
なお、上の図ではわかりやすくするため、各指標をそれぞれ100点満点に加工し、整数倍の重みづけを行っていますが、実際はもっと細やかな調整が必要です。例えば値の調整についは各実測値の分散を考慮すべき場合もあるでしょうし、重みづけの係数が大きすぎると複数の指標を用いる意味が薄れてしまうことも。上記の例だとほぼインプレッション数だけで評価が定まってしまいます。
GIGAZINEでは、Google Analyticsから得られる計測値を用いて日次バッチ処理を行い、過去一か月間にアクセスのあった記事を対象に評価値を自動的に算出しています。
実装内容としては、Pythonにて
- Google Analyticsから実測値を取得
- 実測値を記事・計測日で集約
- 集約された実測値から、加工・重みづけを行ったのちに集計し、評価値を算出
- 各スクリプトの実行を制御するジョブコントローラー
データ加工の内容ですが、GIGAZINEの場合は各々の指標ごとに偏差値を求め、値の嵩上げによって平均値が90になる(言い換えると算出値が100以上となるならばその指標において優秀といえる)よう調整を行っています。
また、評価に用いる指標、およびそれらの重みづけ設定については、以下の通りとしています。
さらに、日々更新される評価値をすばやく確認できるよう、編集部員向けにWebツールを提供しています。
GIGAZINEでは直接記事を作成するだけでなく、記事作成のサポートを目的とする開発作業も並行して行っており、こうした内容に興味がある人を以下より募集しています。応募お待ちしています。
GIGAZINE採用情報. – GIGAZINEだからできることが、ある。
https://gigazine.co.jp/
・関連記事
高速日本語全文検索「Mroonga」で編集部の専用過去記事検索を爆速化し作業効率を上げてみた - GIGAZINE
過去のリンクが危険なサイトに乗っ取られているのを検知するシステムの作成方法 - GIGAZINE
Microsoft公式の無料自動化ツール「Power Automate Desktop for Windows 10」でプログラミング不要の自動操作を試してみた - GIGAZINE
AIの信頼性をAI自身に評価させる技術が開発される - GIGAZINE
Googleドライブの各種データを自動処理できる「GAS」で作業自動化の第一歩を踏み出してみた - GIGAZINE
・関連コンテンツ