まず第一に、これは解決するのが難しいことです。これまでのところ、良い例は思いつきませんでしたが、誰かがこれを理解してくれることを願っています. この種の問題を解決する既知の方法、またはあいまいなアルゴリズムがあることを願っています。
シナリオ:
- 私のアプリケーションでは、まったく同じ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)
タイトルが意味不明で、うまく表現できなくてすみません。