nDiki : 2007年12月18日

2007年12月18日 (火)

Google Analytics のデータからよく検索されるキーワードを表示するようにした

Google Analytics から1日1回キーワードのレポートを TSV 形式でメールで配信するように設定している。 このデータをもとに「よく検索されるキーワード」を抽出して、nDiki の下の方に表示するようにした。

処理の流れ

  1. メールで配信された TSV 形式データをファイルに保存する。
  2. 検索質問とセッション数の組のデータを抽出する。
  3. 1ワード単位でセッション数を集計する。
  4. 上位のワードについて、nDiki のキーワードリストにあるか照合する。
    1. 完全一致するものがあれば、それを参照キーワードとする。
    2. 大文字小文字一致するものがあれば、それを参照キーワードとする。
    3. ワードを含むキーワードがあれば、その中で文字数の差が少ないものを参照キーワードとする。
    4. ワードで記事を grep 検索してマッチするものがあれば、それを(nDiki 内で検索して見つかる)キーワードとする。
    5. でなければ関連キーワード無しのワードとする。
  5. 各ワードについて、対応するリンクを設定してフッタ埋め込み用の HTML フラグメントを生成しファイルを生成する。
  6. ファイルをサーバにアップロードし、サーバ側でフッタにインクルードする。

1日1回の作業なので、メールからスクリプトにかける部分とアップロードする部分は手動で。

そこそこの処理なので、そこそこの精度なのだけれど傾向は何となくわかる感じだ。

実際にはアクセスログの対象となっているのは nDiki 以外の www.naney.org 内のアクセスも含まれているけれどもまあいいであろう。

キーワードの処理

キーワードの処理は細かいことをいうと結構面倒だったりする。

  • 複合語の処理: 検索ワード側も、nDiki キーワード側も複合語を含むので空白で区切られた語の扱いが大変。特に検索ワード側は語順が正しいとは限らないし、各語が個別の語を表しているのか否かの判断が難しい。
  • 曖昧一致処理: 検索ワード(や nDiki キーワード)が正確な語とは限らないので、曖昧一致させる必要がある。検索エンジン側で曖昧一致させて検索結果に上がっている可能性があるのでその辺りも考慮する必要がある。

などなど。

この辺りは精度を上げようとするといろいろ工夫の余地がって楽しそうではあるな。

有給休暇 - ウイルス急性胃腸炎

今年17回目 (+ 半休4回)

(計算が合っていれば)残10日(今年分 10日)。

昨日発症したウイルス急性胃腸炎、夜中も下痢だった。胃腸の違和感は夕食後ので少し落ち着いたが、熱のせいか 3:30 頃から頭痛で寝れなくなる。 前にもらったロキソニンを飲んだら楽になった。

今日は体力的に無理がありそうなので、会社はお休み。

今日のさえずり - ふぁぼったーのメンテナンス猫、見られた

  • 08:58 布団の中から会社に休みの電話した。[mb]
  • 14:09 36.0℃。
  • 22:00 ふぁぼったーのメンテナンス猫、見られた。
[ 12月18日全て ]

About

Naney Naneymx

Naney (なにい) です。株式会社MIXIで SNS 事業の部長をしています。

※本サイトの内容は個人的見解であり所属組織とは関係ありません。

Process Time: 0.018732s / load averages: 0.30, 0.27, 0.28