java - 使用特殊符号的单词变体集合

标签 java algorithm text data-structures text-mining

<分区>

我正在从事与垃圾邮件过滤相关的项目。你们中的许多人可能都知道垃圾邮件发送者使用的这种技术:

  1. 将“items”写成“|tem”(管道而不是 i)
  2. $ale 而不是 sale
  3. h0t 而不是热(零而不是字母“o”)

等等

我想知道是否有一个数据库可用于使用特殊符号的所有这些可能的单词变体?或者有人知道解决这个问题的好策略吗?

目前我所做的是,我只是将“@”替换为“a”、“|”用'i','$'用's'等等。我需要你对这个问题的看法!请帮忙。

最佳答案

您似乎以一条消息为起点并试图对其进行转换。

另一种方法可能是先定义一个可能会更改的单词列表(sale、viagra 等),然后生成所有可能的相似单词。作为相似性的度量,您可以采用 Levenshtein 距离。

关于java - 使用特殊符号的单词变体集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21237221/

相关文章:

php - 如何检测 "5 in a row"游戏中的对角线获胜 (PHP)

algorithm - 计算数组的相邻幂集

javascript - 为什么缩进从我网站上的用户提交中消失了?

java - 如何用java制作小警报通知

java - 使用 Hibernate 回调的优点?

algorithm - 伪随机目录树生成?

xslt - 如何使用xslt计算输出行数?

python - 如何使这个随机文本生成器在 Python 中更高效?

java - 存储在 cookie 中的 JWT 安全吗?

java - 如何在 Netbeans 中自定义 jTable 标题列字体大小?