我对自动建议世界相当陌生。我感兴趣的领域是为部分地址(输入)提供前“N”个地址建议(输出)。就像您输入部分地址时谷歌地图或优步应用程序如何做一样。
我探索了一些技术,例如 Elastic Search 的 Completion Suggestion、Apache Solr 的 Suggestion Component。
我提出了查询和数据索引的多种组合,以使用可用的地理空间信息(如地理编码(纬度、经度)或城市或州(因国家而异,如日本的省)而异)来执行最佳字符串。
[附带问题 1:对于这个用例,Apache Solr 与 Elastic Search 哪个更好?]
假设有标准地址数据存储(保存大约 1 亿个地址)来提供地址建议(输出),并且有一组部分地址(输入,比如大约 10 万个部分地址)。还假设我知道部分 100 K 部分地址的完整地址,或者换句话说,我知道这些部分地址的预期完成值。
现在我想根据建议地址的相关性进行实验并评估每个组合。
这是我目前对相关性测量的理解:
key stroke versus matching percentage (using levenshtein distance algo) of suggested address with partial address * (multiply by) 1/N position-number in the suggestion list.
我想从数学上推导出我的建议的质量。请评估上述测量公式(可能完全错误,但请解释其背后的原因)。
[问题 2] 在这个用例中如何衡量相关性?
我还阅读了几篇关于衡量推荐引擎/系统质量的文章,其中谈到了Mean Average Precision
orMean Absolute Error
或Mean Squared Error
or Root Mean Squared Error
。
[问题3] 策略是否适用于衡量地址建议应用的相关性?