2

まず第一に、これは解決するのが難しいことです。これまでのところ、良い例は思いつきませんでしたが、誰かがこれを理解してくれることを願っています. この種の問題を解決する既知の方法、またはあいまいなアルゴリズムがあることを願っています。

シナリオ:

  • 私のアプリケーションでは、まったく同じWebページに対していくつかのリクエストを行います
  • Webページには、動的でランダムなコンテンツが含まれています(日時、その日の引用など、理論的には何でもかまいません)
  • このアプリケーションの応答には 2 つのケースがあり、それらを「TRUE」と「FALSE」と呼びましょう。たとえば、応答が「True Text」を返す場合もあれば、「False Text」を返す場合もあります。
  • 私のアプリケーションは、「TRUE」ケースの 3 つのサンプルと「FALSE」ケースの 3 つのサンプルを認識していますが、これらには「時間」などのランダムなコンテンツも含まれています。

チャレンジ

  • アプリケーションが新しい応答を受け取ったとき、この応答が「TRUE」または「FALSE」の例であるかどうかをどのように理解できますか?

私が試したこと

  • TRUE ケースの最初のサンプルを行ごとに処理し、文字の値から整数配列を生成します
  • 2 番目の TRUE サンプルに対して同じことを行います
  • 3 番目の TRUE サンプルについても同じことを行います
  • これらの保存された TRUE ケースの違いを分析し、新しい配列を作成します
  • これで、どの行が動的 (datetime など) であるかがわかったので、静的行のみを最終 TRUE ケース配列に格納する新しい最終 TRUE ケース配列を作成します。
  • 新しいケースを取得したら、同様の配列を作成し、以前に保存された最終的な TRUE ケースと比較し、一致する場合 (フィルター処理された行を除く)、他の行が大幅に変更された場合 (許容値がある場合)は TRUE ケースです。間違い。

このアルゴリズムの制限と弱点は明らかです。場合によっては良い結果が得られますが、常に期待どおりに機能するとは限りません。

私の現在のクラスは次のように機能します:

Dim Analyser AS NEW ContentAnalyzer()
Analyser.AddTrueCase(True1Html)
Analyser.AddTrueCase(True2Html)
Analyser.AddTrueCase(True3Html)

'This will return True if the UnknownHtml is similar to TRUE case, otherwise False
Analyser.IsThisTrue(UnknownHtml) 

タイトルが意味不明で、うまく表現できなくてすみません。

4

3 に答える 3

2

It sounds like you're doing fairly simple document classification. This is a heavily researched field, especially lately due to spam filters. Look into a library for document classification in your language of choice.

Classifier4j looks like a popular library that runs on the Java VM and has been ported to .NET.

于 2009-04-02T22:31:22.973 に答える
1

これは本当に誤解されているか、何かを得ていないだけです:

アプリケーションは Web ページを要求して取得し、それが別の「True」か「False」かを確認する必要がありますよね? これは、Web リクエストの一部が、最初に true または false を返さないことを意味します。これが最初の混乱の原因です。

第二に、偽のケースで同様の比較を行い、要求されたランダム ページの結果の 3 つのバケットを作成するのに十分な類似性があるかどうかを確認しないのはなぜですか。

1) ページはより true に似ているため、true と見なされます。

2) ページは false に似ているため、false と見なされます。

3)ページはどちらにも似ていないため、どちらの結果が意味があるかを識別することができないため、結果はnullまたは例外のようなものになります。

3 番目のケースが発生する可能性のある例: ページに整数が含まれており、正の場合は結果が true であり、負の場合は結果が false であるとします。結果が0の場合は?0 はその絶対値に等しいので正としてカウントされますか、それとも何らかの理由で負としてカウントされますか?

それとも、あなたがここでやろうとしていることから私は離れていますか?

于 2009-04-02T22:25:29.867 に答える
0

おそらく、ベイジアン フィルタリングのようなものを意味しているのでしょうか。Paul Graham がスパムで行ったことを見ることができます: http://www.paulgraham.com/better.html

于 2009-04-02T22:49:21.400 に答える