連載
» 2015年08月21日 05時00分 公開

Hadoop+Embulk+Kibanaのデータ集計基盤によるデータ可視化と集計データを活用したキーワードサジェストの仕組みElasticsearch+Hadoopベースの大規模検索基盤大解剖(3)(3/3 ページ)

[高林貴仁,リクルートテクノロジーズ]
前のページへ 1|2|3       

Hadoopで集計してサジェストのランキングを生成する基になるパラメーター

 最後に、どのようにサジェストのランキングを生成しているのかを見てみましょう。

 サジェストのランキングは、データ集計基盤で集計されたデータを基に生成されており、検索結果の指標には、以下のようなパラメーターを加味してランキングを生成しています。またサイトによっては、ジャンルやカテゴリを選択した場合のキーワードなども加味しています。これらは全てHadoopで集計処理が行われており、1年から2年分の検索ログとユーザー行動ログを掛け合わせて集計しています。

指標となるデータと加点パラメーター

  • キーワード件数

 期間ごとのキーワードの集計データです。可視化基盤で集計されたデータを活用します。

  • ヒット数

 検索システム(Elasticsearch、Apache Solr)などでマッチした検索ヒット数です。

  • 選択されたサジェスト候補

 検索されたサジェスト候補は、カスタマーにとって有益な情報です。「何番目に表示されたサジェスト候補か」も同様に加味します。

  • CTR

 検索結果ページから詳細ページなどに遷移した割合です。

  • アクション率

 CTRに加えて、実際にアクション(コンバージョン)につながった割合です。

  • フレッシュネス

 新しい期間で検索されたキーワードほど高い点数になり、古いスコアになるほど低い点数になります。

  • シーズンスコア

 季節に左右されるトレンドも加味しています。1年前にスコアが上がったクエリは、加点を行います。こうすることで、季節性があるキーワード(鍋、かき氷など)が上位に表示されるようにしています。

減点パラメーター(もしくはインデックスから削除する要素)

  • 選択されていないワード

 選択されていないキーワード候補は、キーワード候補とは関連が弱い可能性があるのでスコアを減点します。

  • ゼロマッチ

 検索結果に表示されないものに関しては、サジェスト候補に表示させてもカスタマーを混乱させてしまうだけなので、検索インデックスから除外します。

  • NGワード

 サイトにふさわしくないキーワードや放送禁止用語なども同様に検索インデックスから除外します。

今後の展望――Apache Spark、Apache Drillの活用に向けて

 QassはMapRのHadoopディストリビューションを活用してデータ集計を行っていますが、MapRのHadoopのバージョンアップに伴い、現在新しい基盤を構築しています。

 新しい分析基盤では、主に現在話題のApache Sparkを活用する予定です。Apache Sparkには、機械学習が簡単に利用できる「MLib」などのライブラリがあるので、機械学習を利用してランキングアルゴリズムや辞書生成などを行っていくことになるでしょう。Apache Sparkを活用した機械学習や検索ランキングをどのようにチューニングしているのかに関しては、ノウハウを蓄積次第、紹介していこうと考えています。

 平行して、「アドホックな分析にApache Drillが利用できないか」の検証も始めています。

次回は、DevOpsの取り組みについて

 今回は、データ集計基盤で集計されたデータの可視化、また集計データを活用したキーワードサジェストの仕組みを紹介しました。

 次回は、QassにおけるDevOpsの取り組みを紹介します。

筆者紹介

高林 貴仁

2011年9月リクルート入社(2012年10月の分社化後はリクルートテクノロジーズ在籍)。Hadoop基盤の構築後、R&Dの基盤技術の調査検証後、検索基盤QASSで、Elasticsearchを利用した検索システムの開発に従事

Twitter:https://twitter.com/tatakaba


前のページへ 1|2|3       

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。