【问题标题】:How to find similar matching of words in database in java如何在java中的数据库中找到相似的单词匹配
【发布时间】:2013-04-24 02:02:54
【问题描述】:

我有一个发音不正确的单词列表,例如 smartphon 发音为 smartphon,private 也为 privat。

所以我会将发音不佳的单词与包含正确单词的数据库进行匹配。怎么做。

我想得到这个词并用正确的词替换这个词。

  poorwords                   rightword            

  privat                      private                


  capabl                       capable

  storag                       storage

  satisfi                      satisfy

如何做到这一点。他们的 compareTo(String h) 方法能解决我的问题吗?

【问题讨论】:

  • 错误总是在单词的末尾吗?还是只是为了举例?
  • 将这些对保存在地图中。然后,当您有关键字时,将其替换为它的值。但是为什么不使用拼写校正算法呢?
  • 这里有类似的东西stackoverflow.com/questions/2461120/…
  • Regex 不是解决此问题的正确工具。
  • @DeadlyJesus 是的,总是在词尾...

标签: java regex string-comparison


【解决方案1】:

您可以在 Apache Commons 的 StringUtils.getLevenshteinDistance(CharSequence s, CharSequence t)

找到计算 Levinshtein 距离的 java 库

【讨论】:

    【解决方案2】:

    为此,您需要一本包含有效单词的字典,然后使用 Levenshtein distance 将正在测试的单词与字典中的单词进行排名。

    【讨论】:

      猜你喜欢
      • 2015-06-25
      • 2012-12-02
      • 1970-01-01
      • 2012-07-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-25
      • 1970-01-01
      相关资源
      最近更新 更多