検索キーワードを収集前に名寄せする方法

2013年10月30日 16:45

検索されるキーワード(検索クエリ)のデータには、大文字と小文字、半角と全角、掛け合わせの順番、スペルミス、類義語など、無数のバリエーションが含まれます。

「念のため一番細かい情報を全部取っておきたい!」

と思うかもしれませんが、細かすぎるデータは分析が大変になります。まとめると順位が変わることもよくあります。

そのため、収集する時点である程度バリエーションを減らしておくと便利です。

そこで今回紹介するのは...

検索クエリのフォーマットや順番を揃えてデータの粒度を落とす方法

タイトルでは分かりやすく「名寄せ」と書きましたが、「似ているテキストデータを単純な変換によってまとめる」という意味です。

ページがロードされた時にリアルタイムで処理するので、単純なクレンジングのみを行います。

処理する内容

  • 英数字と記号を半角に統一する
  • アルファベットを小文字に統一する
  • カナを全角に統一する
  • 掛け合わせのキーワードを並び替える

使うライブラリ

全角半角文字の相互変換をするため、「fhconvert.js」というライブラリを使います。

サンプルコード

code45
  • この前にfhconvert.jsをロードし、検索クエリをリファラから取得してカスタム変数にセットしておく
  • カスタム変数名「s.eVar5」は適宜変更する
  • ftoh()で全角英数字を半角に変換する
    • オプションのjaCodeを1にすると、「’」「”」「¥」も半角に変換
    • spaceを1にすると、全角スペースも半角スペースに変換する
  • hkktofkk()で半角カナを全角カナに変換する

結果はこうなった

未処理のデータと変換して統合したデータを比較してみました。

1位と2位の検索キーワードは、さらにシェアが拡大し、より強力になりました。

図:処理の前後比較その1:

他のキーワードを押しのけてランクが上がるキーワードもあれば、

図:処理の前後比較その2:

シェアが低くなってランクダウンする検索キーワードもあります。

図:処理の前後比較その3:

未処理のデータを単純に上から眺めていると、データの傾向や重要度を見誤ることがある、ということですね。

集計時も名寄せするとさらにベター

今回は単純な処理のみを行いました。処理の性質上、掛け合わせの複合キーワードやアルファベット、カナを含むキーワードが変動しやすく、漢字とひらがなのみの単一キーワードは下がる傾向があります。

さらに、類義語や同義語、スペルミス、ひらがなカタカナのゆらぎ対応なども行うと、もっと分析しやすい良いデータが出来上がります。それについてはまた後日に。

参考