如何理解文本中静态部分是否已更改?(与Diff算法相关)

首先,这是一个很难解决的问题,到目前为止我还没有想到一个好的例子,但我希望这里有人能解决这个问题。我希望有已知的方法来解决这类问题,或者某种晦涩的算法。

场景:

  • 在我的应用程序中,我向同一个网页发出多个请求。
  • 网页包含动态和随机内容,例如(日期时间,每日名言等,理论上可以是任何东西)。
  • 此应用程序的响应有两种情况,我们称之为“TRUE”和“FALSE”。例如,有时响应会返回“True Text”,有时会返回“False Text”。
  • 我的应用程序知道“TRUE”情况的3个样本和“FALSE”情况的3个样本,但这些样本也包含随机内容,例如“时间”。

挑战

  • 现在,当我的应用程序收到一个新的响应时,我如何判断此响应是“TRUE”还是“FALSE”情况的示例?

我尝试过的方法

  • 逐行处理TRUE情况的第一个样本,并从字符的值生成一个整数数组。
  • 对第二个TRUE样本执行相同的操作。
  • 对第三个TRUE样本执行相同的操作。
  • 分析这些存储的TRUE情况之间的差异,并创建一个新数组。
  • 现在,我知道哪些行是动态的(例如日期时间),现在我创建一个新的最终TRUE情况数组,该数组仅将静态行存储到最终TRUE情况数组。
  • 现在,当我得到一个新的情况时,我创建一个类似的数组,然后将其与先前存储的最终TRUE情况进行比较,如果匹配(除去过滤掉的行),则为TRUE情况,如果其他行发生了大量更改(存在容差值),则为FALSE情况。

此算法的局限性和弱点非常明显。尽管我在某些情况下获得了一些好的结果,但它并不总是按预期工作。

我当前的类的工作方式如下:

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) 

抱歉,标题不太合理,我找不到一个好方法来描述它。


回答:

听起来你正在做相当简单的文档分类。这是一个被大量研究的领域,尤其是最近由于垃圾邮件过滤器。在您选择的语言中查找用于文档分类的库。

Classifier4j 看起来是一个流行的库,它在 Java VM 上运行并且已被移植到 .NET。

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注