Home > AAQS

AAQS

AAQS is a project mainly written in C++ and C, it's free.

All About Query Suggestion algorithm

About

C++によるQeury Suggestion Algorithmのいくつかの実装です。

Algorithm

現状では以下のアルゴリズムを実装しています。

  • Pan J, Yang H, Faloutsos C, Duygulu P. Automatic multimedia cross-modal correlation discovery. Proceedings of the 2004 ACM SIGKDD international conference on Knowledge discovery and data mining - KDD '04. 2004:653.
  • Deng H, King I, Lyu MR. Entropy-biased models for query representation on the click graph. Proceedings of the 32nd international ACM SIGIR conference on Research and development in information retrieval - SIGIR '09. 2009:339.
  • Kong H, Lyu MR, King I. A generalized Co-HITS algorithm and its application to bipartite graphs. Proceedings of the 15th ACM SIGKDD international conference on Knowledge discovery and data mining - KDD '09. 2009:239.
  • Mei Q, Zhou D, Church K. Query suggestion using hitting time. Proceeding of the 17th ACM conference on Information and knowledge mining - CIKM '08. 2008:469.

使い方

tr1::unordered_mapに依存しています。

また、テストにはgoogletestを用いています。 $make main $ruby ./run.rb 実行時にいくつかの引数を指定することができます。 省略時の初期値はconfig.yamlに記載しているので、そのまま書き換える事も可能です。

  • -i:入力ファイルの指定。省略不可。
  • -o:出力ファイルの指定。省略時は入力ファイルと同フォルダに出力。
  • -q:対象とするクエリ。省略不可。
  • -m:用いるアルゴリズムの選択。省略時は1。それぞれ 1 => Random walk With Restart(RWR)

    2 => Entropy biased models

    3 => Generalized Co-HITS

    4 => hitting timeに対応にしています。

  • -t:random walkの繰り返し回数。省略時は5
  • -d:サブグラフを作る際の深さ。省略時は4
  • -s:出力する際の件数。省略時は10
  • -e:CF-IQFに基づいて遷移確率を上書きするか。省略時はfalse。アルゴリズムが2の場合はtrueに。
  • -u:Generalized Co-HITSで用いる伝播パラメータ。省略時は0.5
  • -v:Generalized Co-HITSで用いる伝播パラメータ。省略時は0.5
  • -c:RWR、Entropy biased modelsで用いるダンピングファクター。省略時は0.5

ファイルフォーマット

入力ファイルのフォーマットはタブ区切りで以下のようなものになります。 query url count(整数) 例として google www.google.com 100 google www.gmail.com 45 google mail www.gmail.com 45 google メール www.gmail.com 53 といった形になります。

Previous:freewayactions