【发布时间】: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