1

我有一个应用程序可以让用户发布非结构化的关键字。同时,其他用户可以发布必须与一个或多个指定关键字匹配的项目。任何一组用户可以使用的关键字都没有限制,所以仅仅希望发生冲突可能意味着很少有匹配,而现实情况是用户可能对同一件事使用了不同的关键字或者它们足够接近(例如, “自行车”和“自行车”,或“肉”和“食物”)。

我需要它在移动设备 (Android) 上工作,所以我很乐意牺牲匹配准确性来提高效率和占用空间小。我知道s-match但这依赖于 15MB 的支持字典,所以它并不理想。

还有哪些其他想法/方法/框架可能对此有所帮助?

4

1 回答 1

1

您的“自行车”和“自行车”示例可以通过采用 Levenshtein 编辑距离算法来解决,因为这两个词有些相关。但是你的“肉”和“食物”的例子确实需要一个相当大的支持字典,除非当然概念集或目标受众仅限于说,美食家。

您是否考虑过将字典作为 Web 服务托管并根据需要访问数据?当然,缺点是您的应用程序只能在网络覆盖范围内工作。

于 2010-07-06T18:44:41.470 回答