我有一个 Rails 应用程序,用户可以在其中向其他用户发送消息。问题是,这种网站会吸引许多发送虚假信息的垃圾邮件发送者。
我已经知道一些垃圾邮件服务,例如 Akismet(通过rakismet)和 Defensio(通过Defender)。这些问题在于,它们似乎没有考虑用户已经发送的消息。我在我的网站上看到的垃圾邮件类型是用户向许多其他用户发送相同(或非常相似)的消息。因此,我希望能够与至少少数过去的邮件进行比较,以确保它们足够不同,不会被视为垃圾邮件。
到目前为止,我遇到的最好的事情是Text::Levenshtein 距离实现,它计算两个字符串之间的差异数。我想我可以计算出差异数除以字符串长度,如果它高于某个阈值,那么它就不会被视为垃圾邮件。
我遇到的另一件事是Classifier::Bayes,它可以最好地猜测某物属于哪个类别。还在琢磨这个。
我觉得我可能只是在寻找错误的地方,也许已经有更好的解决方案来解决这样的问题。也许我正在寻找错误的词来找到更有用的东西。