0

ユーザーからのパスパターンを保存する方法についてのアイデア/例を探しています。ユーザーの行動を分析し、何らかの方法で検出できる場合は「最も使用されるパス」を最適化することを目的としています。

例えば。彼らは何の後にどのアクションを実行するので、後で特定のアクションが繰り返し実行されるかどうかを確認できます。したがって、ショートカットを開発するか、一部のアクションを組み合わせたマルチアクションにアセンブルします。

私の最初の推測は、ある種の「単純なログ」であり、おそらくSQL方式で格納されており、各アクションをインデックスとして保持し、すべてを記録することができます。

問題は、ログを記録している間でもパス/アクションが動的に変更される可能性があることです。そのため、後でパターンを探すときにも、この事実に対処できる必要があります。

最初にすべての「ビッグタイム」をログに記録し、しばらくしてからすべての詳細をPOST処理しますか、それとも他の戦術で素晴らしい経験がありますか?

私が心配しているのは、これが1か月以上、毎日1000人のユーザーを記録している間、かなりの時間を費やすことになるということです。

これが理にかなっていることを願っています。誰かがサンプルコード、擬似コード、またはおそらく有用なものへのリンクを提供できるかどうかを知りたいと思います。

私たちのツールは、C#、SQLデータベース、XML、および.NET3.5です。クライアントは必要に応じて.NET4.0を入手することもできます。

期待どおりのパターン例

...
User #1001: A-B-A-A-A-B-C-E-F-G-H-A-A-A-C-B-A
User #1002: B-A-A-B-C-E-F
User #1003: F-B-B-A-E-C-A-A-A   
User #1002: C-E-F
...

など。彼らが次に何をするか、何人使用するか、どれくらいの頻度でそれを行うかを知る実際の方法はありません。

二次的な目標は、可能であれば、後でGと呼ばれる新しい「アクション」を追加する場合(説明のためのサンプルです。何百ものアクションがあります)、これらの新しい動作が以前のパターンに与える影響をどのように検出できますか。

それをよりよく説明するために、ここでの私の考えは、「パターン内のパターン」を検出する方法であり、圧縮がどのように機能するかのように、「反復パターン」が斑点状になります。これらのパターンがどれくらいの長さであるか、またどれくらいの頻度で発生するかはわかりません。これを「小さな断片」にどのように分解しますか?あなたが考える最善のアプローチは何ですか?

4

2 に答える 2

1

パスの意味はわかりませんが、パス内のすべてのアクションに一意の記号を付けると、問題を最も長い共通のサブストリングまたはサブシーケンスに減らすことができます。

または、アクションが発生した回数へのパスのマップを用意します。特定のパスが発生するたびに、そのパスのカウントをインクリメントします。次に、最も一般的なものを見つけるために並べ替えます。

于 2010-10-30T02:50:16.290 に答える
0

これまでの疑似アイデア/実装

  1. ユーザーのアクションをリスト/一連のアクションにログに記録します。バルクのようなスタイルです(テキストファイル/ SQL-何であれ、後処理のためにすべてを保存するだけです)

  2. 「1アクション」、「2アクション」、「3アクション」ごとに一定量までカウントを開始します(たとえば30レベル)。

  3. いくつかのアクションに重要な値を与えることによって、それらすべてをソートします(最終結果を生成するものである可能性があります)

おそらく有用な結果ですか?

すべての[A]、[AA]、[AB]、[AC]、[AAA]、[AAB]などを数えると、どのアクションが頻繁に連続して使用されるかについての長くて細かいリストが作成されます。これらの結果の一部が高くなりすぎると、より短いパスが必要になる可能性があるため、正しい方向です。問題は、最適化するにはアクションが少なすぎることと、検索するのに最も長く必要なアクションリストは何かということです。私の推測では、最初にこのカウントを実行してから、数値を調べる必要があります。

問題は、これが私たちが開発している分析ツールの一部であり、実装するまでデータがないため、実際に実行される前に何を探すべきかわからないことです。うーん...これに対する答えは本当にあるのだろうか。

于 2010-11-01T15:51:41.343 に答える