指南

在信任置信度评分之前先正确解读它

地理编码结果中介于 0.0 和 1.0 之间的置信度值,看起来像是一个简单的通过或失败信号,但这样对待它,就忽略了它实际衡量的内容。

置信度衡量什么

置信度反映的是:根据输入文本,匹配有多确定这个特定结果就是输入所指的那个。对于含糊或格式怪异的输入,高置信度分数仍然只表示系统对其最佳猜测有信心,并不表示输入一定正确,也不表示该位置一定如描述那样存在。

GET /v1/forward?q=Main Street, Springfield&limit=1
{
  "status": "ok",
  "query": "Main Street, Springfield",
  "results": [
    {"formatted": "Main Street, Springfield, IL", "lat": 39.7817, "lon": -89.6501, "type": "address", "precision": "street", "confidence": 0.62, "place_id": "sp901", "components": {}}
  ]
}

这里 0.62 的置信度反映了许多城镇都叫 Springfield 这一事实,因此即使正确匹配到某个特定的 Springfield,它是否就是输入所指的那个 Springfield,本身仍带有一定的不确定性。

置信度与精度

这是两个不同的字段,衡量两件不同的事。精度描述匹配的具体程度:门牌、街道或更粗的级别。置信度描述系统对所做匹配有多确定。如果输入对哪条街上的哪栋房子表述含糊,一个“house”精度的结果仍可能只有中等置信度;而一个“street”精度的结果,如果匹配虽然粗略但毫无歧义,也可能具有很高的置信度。

设定阈值

根据错误结果会给您带来的代价来选择置信度阈值。对于自动化且后果重大的场景,例如在无人审核的情况下自动填写运单,0.8 或更高的阈值是合理的。对于事后有人核对结果的场景,例如向客户展示供其确认的建议,较低的阈值也是合理的。

与 countries 参数结合使用

像上面 Springfield 例子这样的歧义匹配,在您已经知道地址应当位于哪个国家时,通常可以通过 countries 参数缩小搜索范围来解决,这会提高第一次就得到高置信度匹配的几率,而无需再进行第二次查询。

费用保持不变

正确解读置信度并不会改变查询的费用,无论如何都是一次请求。它改变的是您是否以恰当的信任程度根据结果采取行动。

置信度是一个具体而有限的信号,而不是对正确性的全面保证,这样理解它,可以避免对不可靠的匹配过快采取行动。完整的字段定义见正向地理编码文档