ガイド

信頼度スコアを信頼する前に正しく読む

ジオコーディング結果の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かどうかについては、本質的に一定の不確かさが残ります。

信頼度と精度の違い

この2つは、異なるものを測る別々のフィールドです。精度は、一致がどれだけ具体的か、つまり家屋、通り、またはそれより粗いレベルかを表します。信頼度は、システムが行った一致にどれだけ確信があるかを表します。入力がどの通りのどの家屋かについて曖昧であれば、精度が「house」の結果でも信頼度スコアは中程度になることがあり、一致が粗くても曖昧さがなければ、精度が「street」の結果でも信頼度スコアは高くなることがあります。

しきい値の設定

信頼度のしきい値は、誤った結果がもたらす損失に基づいて選びます。人による確認なしで配送ラベルを自動入力するような、自動化されていて影響の大きい処理には、0.8以上のしきい値が適しています。確認のために顧客に提示する候補のように、後で人が結果を確認する処理であれば、より低いしきい値が妥当です。

countriesパラメーターとの組み合わせ

上のSpringfieldの例のような曖昧な一致は、住所がどの国にあるべきかがすでにわかっている場合、countriesパラメーターで検索範囲を絞ることで解決できることがよくあります。これにより、2回目の検索を必要とせず、最初の試行で信頼度の高い一致が得られる可能性が高まります。

費用は変わりません

信頼度を正しく読み取っても、検索のコストは変わらず、どちらの場合も1リクエストです。変わるのは、適切な程度の信頼をもって結果に基づいて行動できるかどうかです。

信頼度は特定の限られたシグナルであり、全般的な正しさの保証ではありません。そのように読み取ることで、不確かな一致に基づいて早まった行動をとることを避けられます。フィールドの完全な定義はジオコーディングのドキュメントに記載されています。