1

ドキュメントのセットがあり、それぞれに機能のセットがあります。機能Aが与えられた場合、同じドキュメントに機能Bが含まれる確率を知る必要があります。

確率行列stを作成することを考えました。M(i、j)=機能Aが存在する場合、ドキュメントに機能Bが含まれる確率。

ただし、追加の要件があります。機能Aがドキュメント内にある場合、同じドキュメント内にある確率>Pを持つすべての機能は何ですか。

つまり、私が考えることができるのは、確率行列のスパース行列だけです。計算された後、すべての列で実行される各特徴について、Pで並べ替え、リンクリストのどこかに保持します。(これで、機能ごとに、対応する機能のリストが表示されます。

この空間計算量は非常に大きく(最悪の場合:N ^ 2、Nは大きい!)、各検索の時間計算量はO(N)です。

より良いアイデアはありますか?

4

1 に答える 1

1

機能の数がドキュメントの数と同等かそれ以上の場合は、転置インデックスを保持することを検討してください。機能ごとに、それが存在するドキュメント(たとえば、ソートされたリスト)を保持します。次に、機能AとBの並べ替えられたリストでマージを実行することにより、Aが与えられたBの確率を計算できます。

「Aで期待される共通の機能」の質問については、各Aの回答を事前に計算し、結果の機能のリストが長すぎないことを期待する以外に何も考えられません。

于 2010-10-07T18:21:54.330 に答える