【问题标题】:Android & fuzzy matching, n-gram, and Levenshtein distanceAndroid & 模糊匹配、n-gram 和 Levenshtein 距离
【发布时间】:2011-07-03 09:36:36
【问题描述】:

我正在构建一个 Android 应用程序,该应用程序接受字符串输入并使用 Google API 返回书籍的排名列表。

我正在寻找一种方法来比较用户输入的开放式字符串与列表中的第一项,以查看他们输入的内容是否“可能”是一本书。我有大量关于这本书、书名、作者、描述等的信息,所以我可以搜索任何部分。

一个例子是:

'eyre 事件 fforde'、'fforde eyre 事件'、'eyre 事件' ----> “可能”是“贾斯珀·弗福德的艾尔事件”

解决此问题的最佳方法是什么?我已经查看了 levenshtein 距离,但认为它不适用于这种开放式输入,n-gram 似乎是一个不错的方法,或者模糊匹配。

还有其他想法吗?

【问题讨论】:

    标签: java android levenshtein-distance fuzzy-search n-gram


    【解决方案1】:

    我会选择其中之一:

    SimMetrics(SimMetrics 是一个开源可扩展的相似度或距离度量库,例如 Levenshtein 距离、L2 距离、余弦相似度、Jaccard 相似度等)

    Commons Lang LevenshteinDistance

    或消除听力或拼写错误:soundexmetaphone

    【讨论】:

    • @puppetmaster04:非常欢迎您,我很高兴能帮上忙。我阅读了您的问题,很好奇您的应用将如何发展。
    • 不幸的是,除了 SimMetrics 之外的所有链接都已失效
    猜你喜欢
    • 2021-02-01
    • 2019-04-07
    • 2017-05-01
    • 1970-01-01
    • 2012-05-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多