语义/数据匹配有哪些实用(和轻量级)技术?

时间:2010-07-06 18:29:11

标签: java semantics data-mapping

我有一个应用程序,允许用户发布非结构化关键字。同时,其他用户可以发布必须与一个或多个指定关键字匹配的项目。对用户组可能使用的关键字没有限制,因此简单地希望发生冲突可能意味着很少匹配,当实际情况是用户可能使用不同的关键字来做同样的事情或者他们足够接近时(例如, '自行车'和'骑自行车',或'肉'和'食物')。

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

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

1 个答案:

答案 0 :(得分:1)

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

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