0

我想为我的 CMS 创建另一个垃圾邮件检测。目前我确实看到了三个选项:

  1. 使用简单的 php 类并在 MySQL 中存储令牌
  2. 安装 spamassassin 并使用 php-connector
  3. 像mahout这样大的东西

我不喜欢 MySQL 的方法,因为我担心它会随着时间变得非常大,从而降低整个系统的性能。spamassassin 方法似乎更具吸引力,但互联网上到处都有人写道,SA 的规则侧重于邮件和标题,这不是一个理想的方法。最后但并非最不重要的一点是,我知道 mahout,但我担心它可能有点太大并产生大量管理开销。

有没有可以在 linux 服务器上运行并从 php 访问的漂亮、小巧和高效的东西?

4

1 回答 1

1

最简单的方法是 MySQL 中的令牌,但我不知道这有多好。

如果您想将文本分类为跨度/非垃圾邮件类别,我认为 Mahout 是一个不错的选择。它是为 BigData 构建的,因此如果您想要 map/reduce,则需要一个 Hadoop 设置 - 但您可能还可以使用一个轻量级的替代方案:Mahout 中的LogisticRegression算法。

有一个ModelSerializer类,您可以使用该类将经过训练的模型以二进制格式存储在硬盘或其他地方——因此您不必设置 Hadoop。

你可以试试:

<dependency>
   <groupId>org.apache.mahout</groupId>
   <artifactId>mahout-examples</artifactId>
   <version>0.6</version>
</dependency>

您可以将以下类用作问题的代码示例:

org.apache.mahout.classifier.sgd.TrainNewsGroups

以下是有关网络上 Mahout 的更多资源。

因此,要从 PHP 访问它,您可以用 Java 构建一个小型 RESTful Web 服务,或者只是一个命令行界面。

希望这会有所帮助。

于 2012-02-24T18:40:48.770 回答