
本日は、Mapbox Search Box API において、「自然言語クエリ」をパブリックプレビューとして提供開始いたします。Mapbox Searchはすでに数千ものアプリケーションに採用されており、ユーザーが名前、カテゴリ、または場所から適切な場所を見つけられるよう支援しています。今回のリリースにより、クエリにはより自然で、複数の要素を組み合わせた検索が可能になります。つまり、ユーザーは場所、カテゴリ、立地、施設、営業時間などを組み合わせて、日常会話のように自然に検索することができ、1回のクエリで関連性の高いPOIの結果を取得できるようになります。
ユーザーは必ずしも一度に一つのことだけを検索するわけではありません。「屋外席のある犬連れOKのブランチスポット」や「今、近くで営業中のWi-Fi完備のカフェ」といった検索を行うこともあります。これまで、このような検索に対応するには、開発者が独自のクエリ解析機能を構築したり、位置情報を特定するために別途APIを呼び出したり、検索APIの前に大規模言語モデル(LLM)を追加したりする必要があり、その結果、遅延やコスト、複雑さが増大していました。
新しい「自然言語クエリ」機能は、こうした手間や複雑さを「検索ボックスAPI」に統合することで解消します。これにより、検索ボックスAPIは、場所、カテゴリ、所在地、設備、営業時間の組み合わせを理解し、1回のAPI呼び出しで正確かつ順位付けされたPOI検索結果を 返すことができるようになりました。これにより、開発者は、特にAIアプリケーションやエージェントにおいて、自然で直感的な検索体験を簡単かつ迅速に構築できるようになります。
検索機能は、質問の全文を理解できる必要があります
短い検索キーワードを入力して、その都度検索結果を絞り込んでいくのではなく、完全な質問を投げかける人が増えてきています。場所を検索する場合、その場所自体は、ユーザーが探しているものの一部に過ぎないことがよくあります。
いくつか例を挙げてみましょう:
- 「シカゴのピザ」
- 「シアトルのスターバックス」
- 「デンバーにある、屋外席があり、犬連れでも利用できるブランチスポット」
- 「ユニオン・スクエア周辺にある、車椅子で利用可能なレストランで、バリアフリーの駐車場が併設されているお店」
- 「今、私の近くで営業中の、Wi-Fiが使えるカフェ」
各クエリは複数の条件を組み合わせています。有用な検索結果を得るためには、場所の種類、地理的な参照情報、およびユーザーが重視するサポートされている属性を理解する必要があります。
こうしたシグナルがすべて1つの検索クエリに含まれている場合、従来のキーワード検索では対応が困難になることがあります。アプリケーションによっては、正しい名称を持つ場所を間違った都市で見つけたり、設備に関する要望を見落としたり、あるいはユーザーに検索をいくつかの小さなステップに分けて行うよう求めてしまう可能性があります。
自然言語クエリは、こうしたシグナルを総合的に理解するように設計されています。これにより、ユーザーはより自然に検索できるようになり、開発者は検索体験に合わせてクエリ処理ロジックを構築する時間を削減できます。
Mapbox の自然言語クエリの仕組み
新たに追加された自然言語対応機能により、 Mapbox の検索ボックスAPIにクエリの理解機能が直接組み込まれました。
~について /転送,Mapbox は、自然言語クエリの中から、地名、ブランド名、住所、場所、施設、営業時間など、サポートされている部分を特定し、地理的な文脈を解析した上で、それらの条件に基づいてMapbox の場所データを検索します。

1つのリクエストに複数のインテントを含めることができます
「アイスランドのブルーラグーン」には、地名と場所が含まれています。「シカゴのピザ」は、カテゴリーと都市を組み合わせたものです。「現在営業中で、Wi-Fiが利用でき、私の近くにあるコーヒーショップ」は、カテゴリー、設備、営業時間、および距離を組み合わせたものです。
自然言語クエリは、全文を区別のない単一の文字列として扱うのではなく、こうした組み合わせを1つのリクエストとして認識するように設計されています。開発者にとっては、これにより、クライアント側での処理を最小限に抑えつつ、エンドユーザーからの入力をそのまま渡すことが可能になります。
既存の検索ボックスAPIのパターンに対応しています
/forward に対しては、自然言語クエリが自動的に適用されます。リクエストおよびレスポンスの形式は従来通りです。
この機能は、/suggest および /retrieve には適用されません。これらのエンドポイントはオートコンプリート用に設計されており、ユーザーがまだ入力中で、リクエストの完全な意味がまだ把握できない場合を想定しています。完全な自然言語によるリクエストが必要なアプリケーションには、/forward の方が適しています。
検索APIの前にLLMを配置してみてはいかがでしょうか?
大規模言語モデルは、文を読み取り、その構成要素を特定することができます。しかし、文の構文解析は、場所検索の一部に過ぎません。
このアプリケーションでは、都市、地区、住所、またはランドマークを具体的な場所として特定する必要があります。その後、場所のデータベースを検索し、Wi-Fi、バリアフリー情報、営業時間などの対応している属性を適用する必要があります。
各チームはこのパイプラインを独自に構築することも可能ですが、その場合、リクエスト数やコード量が増え、モデルコストが追加され、レイテンシも増加することが多くなります。
自然言語クエリにより、一般的なクエリの理解機能がSearch Box APIに組み込まれました。開発者は、入力されたままの検索クエリを送信するだけで、1回のSearch Boxリクエストから順位付けされた検索結果を受け取ることができます。
すでにLLMを利用しているチームにとっては、一般的な場所の検索におけるプロンプトのロジックを簡素化することも可能です。言語モデルはより広範な会話に集中でき、場所の特定や検索はMapbox が処理します。
開発者は自然言語による場所検索機能を使ってどのようなものを作成できるのでしょうか
日常的な言葉を使って場所を探す
地域情報検索アプリや生産性アプリでは、次のような機能に対応できるでしょう:
「今、私の近くで営業中で、Wi-Fiが利用できて、静かに仕事ができるカフェ」
ユーザーにまず「コーヒー」を検索してもらい、その後いくつかのフィルターを適用してもらう代わりに、アプリケーションはリクエスト全体をSearch Box APIに渡すことができます。
アクセシビリティの要件と立地条件を組み合わせる
アプリでは、次のような検索に対応できるでしょう:「ユニオン・スクエア付近にあり、車椅子での利用が可能で、バリアフリーの駐車場を備えたレストラン」
これにより、場所のカテゴリ、アクセシビリティに関連する属性、およびランドマークレベルの地理的参照情報を、1つのリクエストにまとめて取得できます。
旅行や運転における利用シーンに対応します
旅行や自動車関連のアプリケーションでは、場所と都市、州、または地域が混在した検索クエリがよく見られます。「ブラックヒルズ国有林 SD」や「ソルトレイクシティ近郊の博物館」といった例は、場所の検索を行う前に別途場所の解析を行うことなく、そのまま処理することができます。
AIアシスタントに、地図上で表示できる場所の検索結果を提供してください
AIアシスタントやエージェントは、会話の中で言及された場所を、座標やランキング順の検索結果に変換する必要があることがよくあります。
自然言語クエリを利用することで、開発者は、一般的な場所検索パターンに対応するための意図抽出レイヤーを別途構築することなく、その場所検索リクエストをSearch Box APIに渡すことができます。これにより、Mapbox Searchは、構造化された位置情報や場所データに基づいた、AIを活用したアプリケーションの背後にある場所検索レイヤーとして有用となります。
Mapbox の自然言語クエリの使い方を学びましょう
個別の機能切り替えスイッチはありません。
アプリケーションで /forward を使用する場合、マルチパートクエリの解析が自動的に適用されます。標準の検索ボックスの料金体系が適用され、クエリに含まれるインテントが1つであっても複数であっても、リクエストに対する課金方法は同じです。毎月の無料クレジットも適用されます。
リクエストは、次のような単純なものでも構いません:
GET /search/searchbox/v1/forward?q=シアトルにある、屋外席があり、車椅子でも利用しやすいレストラン
&access_token={token}まずは馴染みのある場所の検索から始め、その後、ユーザーが実際に製品を利用する状況に合わせて、さまざまな組み合わせを試してみてください。例えば、「場所+都市」、 「カテゴリ+地域」、 「ブランド+場所」、あるいは「カテゴリ+利用可能な設備や営業時間」といった組み合わせです。
検索ボックス API プレイグラウンドをご覧ください。
概要
人々は、データベースの項目ではなく、具体的なイメージに基づいて場所を検索するものです。
Mapbox の検索ボックスAPIにおける自然言語クエリにより、アプリケーションは入力された検索内容をそのまま理解しやすくなります。開発者は、一般的なケース向けに別途解析パイプラインを構築することなく、1つの検索ボックスリクエスト内で、地名、カテゴリ、場所、施設、営業時間の組み合わせを処理することができます。
その結果、開発が簡素化されるだけでなく、人々が自然に場所を尋ねる方法に、より近い感覚の検索体験が実現されます。
よくある質問
自然言語クエリでは、どのような種類のクエリがサポートされていますか?
自然言語クエリは、サポートされている場所検索の意図を組み合わせた検索のために設計されています。これには、地名と住所の組み合わせ、地名と場所の組み合わせ、カテゴリと場所の組み合わせ、ブランドと場所の組み合わせ、カテゴリと近接性の組み合わせ、およびカテゴリとサポートされている施設や営業時間の組み合わせが含まれます。
例としては、「パリの家族連れに優しい博物館」、「シアトルのスターバックス」、「現在営業中で、近くにあるWi-Fiが使えるカフェ」などが挙げられます。
どのようなクエリが最適ではないのでしょうか?
この機能は、自由形式の会話的推論ではなく、場所の検索に重点を置いています。リクエストが、サポートされている場所の種類、地理的な参照、および構造化されたMapbox の場所属性と関連付けられる場合に、最も効果的に機能します。ドキュメントをご覧ください。
非常に主観的なリクエスト、サポートされていない属性、あるいは場所検索の範囲を超えた幅広い推論を必要とする長文の質問については、依然としてアプリケーションロジックやAIモデルの活用が必要となる場合があります。オートコンプリート中に入力されたテキストの一部については、引き続き /suggest および /retrieve を使用してください。
既存の連携設定を変更する必要はありますか?
すでに /転送、新しいレスポンススキーマや別途の設定は必要ありません。そのエンドポイントでは、自然言語クエリが自動的に適用されます。
を基盤として構築されたアプリケーション /提案 そして /取得 これらのオートコンプリートエンドポイントを通じて、マルチパートクエリの処理は行われません。
LLMやAIエージェントを使用する場合でも、Mapbox の自然言語クエリは引き続き利用できますか?
はい。自然言語クエリは、AIアシスタントやエージェントの背後にある「場所検索」レイヤーとして機能させることができます。アシスタントは、場所に関するリクエストをSearch Box APIに渡すことで、一般的な位置情報の解析を自ら行う必要なく、構造化され、地図表示にすぐ利用できる結果を受け取ることができます。
Mapbox の自然言語クエリの料金体系はどのようになっていますか?
自然言語クエリは、標準の検索ボックスの料金に含まれています。リクエストに複数のインテントが含まれているという理由だけで別途料金が発生することはなく、既存の無料月間クレジットが適用されます。



