(57)【特許請求の範囲】
【請求項１】
電子的フォームにポピュレートするためのコンピュータにより実現される方法であって、
非構造化データのストリングを構造化アドレスフォームの複数のフィールドのうちの１つにペーストするコマンドを検出するステップと、
前記非構造化データのストリングをジオコーディングして地理的位置情報を取得するステップと、
前記地理的位置情報をリバース・ジオコーディングして構造化アドレスデータを取得するステップと、
前記構造化アドレスフォームの複数のフィールドの各々に前記構造化アドレスデータから対応するフィールドをポピュレートするステップと、
を含む、方法。
【請求項２】
前記非構造化データのストリングをジオコーディングして地理的位置情報を取得し、前記地理的位置情報をリバース・ジオコーディングして構造化アドレスデータを取得するステップが更に、
サーバに対するリクエストにおいて前記非構造化データのストリングを前記サーバに送り、前記非構造化データを地理的位置情報にジオコーディングし、該地理的位置情報をリバース・ジオコーディングして構造化アドレスデータを取得し、該構造化アドレスデータを戻すステップと、
前記構造化アドレスデータを前記サーバから受け取るステップと、
を含む、請求項１に記載の方法。
【請求項３】
前記非構造化データのストリングが、アドレス情報を含み、前記地理的位置情報へのジオコーディングが、前記非構造化データのストリングのアドレス情報に対応する経度及び緯度座標を決定することを含む、請求項１に記載の方法。
【請求項４】
前記地理的位置情報をリバース・ジオコーディングして構造化アドレスデータを取得するステップが、前記非構造化データのストリングのアドレス情報に対応する決定した経度及び緯度座標に基づいて前記構造化アドレスデータを取得するステップを含む、請求項１に記載の方法。
【請求項５】
前記非構造化データが複数の地理的位置情報にジオコーディングされたことを判定するステップと、
ユーザの位置情報を受け取るステップと、
前記ユーザ位置情報を用いて、前記複数の地理的位置情報から地理的位置情報を決定するステップと、
を更に含む、請求項１に記載の方法。
【請求項６】
前記電子的フォームが構造化アドレスフォームであることを判定するステップを更に含む、請求項１に記載の方法。
【請求項７】
前記電子的フォームが構造化アドレスフォームであることを判定するステップが更に、
前記電子的フォームのフィールドに関連付けられたラベルを識別するステップと、
前記ラベルがアドレスフィールドのものであることを判定するステップと、
を含む、請求項６に記載の方法。
【請求項８】
前記アドレスフィールドが、ストリート名、ストリート番号、市名称、州名称、郵便番号、又は国名である、請求項７に記載の方法。
【請求項９】
命令が記憶された機械可読媒体であって、システムによって前記命令が実行されたときに、前記システムが、
電子的ドキュメント上のフォームの複数の入力フィールドの各々に関連付けられたラベルに基づいて、前記電子的ドキュメントにおける構造化アドレスフォームを識別するステップと、
クリップボードから前記フォームの複数の入力フィールドの１つに非構造化データをペーストするコマンドを識別するステップと、
前記非構造化データをジオコーダ／リバースジオコーダペアに送り、該ジオコーダが前記非構造化データを地理的位置情報に変換し、前記リバースジオコーダが前記地理的位置情報を構造化アドレスに変換するステップと、
前記フォームの複数の入力フィールドの各々に前記構造化アドレスの対応するフィールドをポピュレートするステップと、
を含む動作を実施するようにする、機械可読媒体。
【請求項１０】
前記非構造化データがアドレス情報を含み、前記地理的位置情報へのジオコーディングが、前記アドレス情報に対応する経度及び緯度座標を決定することを含む、請求項９に記載の機械可読媒体。
【請求項１１】
前記リバースジオコーダが、前記アドレス情報に対応する決定された経度及び緯度座標を前記構造化アドレスに変換する、請求項９に記載の機械可読媒体。
【請求項１２】
電子的フォームにポピュレートするためのシステムであって、
１つ又はそれ以上のプロセッサと、
命令を記憶した機械可読媒体と、
を備え、前記プロセッサによって前記命令が実行されたときに、前記プロセッサが、
クライアントデバイスから非構造化データを受け取るステップと、
前記非構造化データをジオコーディングして地理的位置情報を取得するステップと、
前記地理的位置情報をリバース・ジオコーディングして、前記非構造化データに対応する構造化アドレスデータを取得するステップと、
前記非構造化データを前記クライアントデバイスに返すステップと、
を含む動作を実行するようにする、システム。
【請求項１３】
前記非構造化データをジオコーディングして地理的位置情報を取得するステップが更に、
前記非構造化データが複数の地理的位置情報にジオコーディングされたことを判定するステップと、
前記クライアントデバイスからユーザ位置情報を受け取るステップと、
前記ユーザ位置情報を用いて、前記複数の地理的位置情報から地理的位置情報を決定するステップと、
を含む、請求項１２に記載のシステム。
【請求項１４】
前記非構造化データが、前記クライアントデバイスのクリップボードから構造化アドレスフォームの複数の入力フィールドのうちの１つにペーストされるデータに対応する、請求項１２に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、全体的に、非構造化アドレス情報から構造化アドレスフォームを取得して電子的フォームにポピュレートすることに関する。
【背景技術】
【０００２】
ウェブベースフォームは通常、ユーザが構造化フォーマットの情報を入力する必要がある。例えば、構造化アドレスフォームは、ストリートフィールド、市フィールド、州フィールド、及び郵便番号フィールドを含むことができる。構造化アドレスフォームに書き込むには、ユーザは、あるフィールドから次のフィールドにナビゲートして、各フィールドにデータを入力しなければならない。フィールド間をナビゲートし、各フィールドに個別にデータを入力することは多大な時間を要する可能性がある。従って、非構造化データストリングを受け取り、構造化フォーマットでデータを出力して構造化フォームにポピュレートするシステムを実装することが望ましいとすることができる。
【発明の概要】
【０００３】
本開示の主題は、電子的フォームにポピュレートするためのコンピュータにより実現される方法に関する。非構造化データのストリングを構造化アドレスフォームの複数のフィールドのうちの１つにペーストするペーストコマンドが検出される。非構造化データのストリングがジオコーディングされて地理的位置情報を取得する。地理的位置情報をリバース・ジオコーディングすることにより構造化アドレスデータが取得される。構造化アドレスフォームの複数のフィールドの各々には、構造化アドレスデータから対応するフィールドがポピュレートされる。
【０００４】
開示される主題はまた、命令が記憶された機械可読媒体に関し、システムによって前記命令が実行されたときに、当該システムが電子的フォームにポピュレートするステップを含む動作を実行するようにする。構造化アドレスフォームは、ウェブフォームの複数の入力フィールドの各々と関連付けられたラベルに基づいて識別される。クリップボードからの非構造化データをウェブフォームの複数の入力フィールドの１つにペーストするペーストコマンドが受け取られる。構造化アドレスは、非構造化データをジオコーダ／リバースジオコーダペアに送ることによって非構造化データから取得される。ジオコーダは非構造化データを地理的位置情報に変換し、リバースジオコーダは地理的位置情報を構造化アドレスに変換する。ウェブフォームの複数の入力フィールドの各々には、各入力フィールドに関連付けられたラベルに対応する構造化アドレスのフィールドからのデータがポピュレートされる。
【０００５】
本発明の技術の種々の態様によれば、１つ又はそれ以上のプロセッサと、命令を記憶した機械可読媒体と、を備えたシステムであって、システムによって命令が実行されたときに、電子的フォームにポピュレートすることを含む動作を実行するシステムが提供される。非構造化データがクライアントデバイスから受け取られる。非構造化データは、構造化アドレスフォームの複数の入力フィールドの各々に関連付けられたラベルに基づいて、クライアントデバイスのクリップボードからクライアントデバイスによって識別された構造化アドレスフォームの複数の入力フィールドのうちの１つにペーストされるデータに対応する。クライアントデバイスから受け取った非構造化データは、一連の発見的問題解決法に基づいて構文解析されて、非構造化データに対応する構造化アドレスデータを生成する。構造化アドレスデータは、クライアントデバイスに返され、ここでこの構造化アドレスデータは、構造化アドレスフォームの複数のフィールドの各々にポピュレートするのに使用される。
【０００６】
本発明の技術の他の構成は、以下の詳細な説明から当業者であれば容易に理解され、ここで本発明の種々の構成は例証として図示され説明されている点は理解されたい。理解されるように、本発明の技術は、他の異なる構成が可能であり、その幾つかの詳細事項は様々な他の点の修正が可能であり、その全ては本発明の技術の範囲から逸脱するものではない。従って、図面及び詳細な説明は、本質的に例証と見なされ、限定ではないものとする。
本発明の技術の特定の特徴要素が添付の請求項に記載されている。しかしながら、説明の目的で、本発明の複数の実施形態が以下の図面において記載されている。
【図面の簡単な説明】
【０００７】
【図１】電子的フォームにポピュレートするために提供される例示的なネットワーク環境を示す図である。
【図２】電子的フォームにポピュレートするためのクライアントデバイスシステム及びサーバシステムの１つの実施例を示す図である。
【図３】非構造化データストリングを受け取り、構造化フォーマットでデータを出力して、電子的フォームにポピュレートする例示的な方法を示す図である。
【図４】非構造化データストリングをジオコーディングして地理的位置情報を取得し、地理的位置情報をリバース・ジオコーディングして構造化フォーマットのデータを取得する例示的な方法を示す図である。
【図５】位置情報をジオコーディング及びリバース・ジオコーディングして構造化フォーマットのデータを取得する１つの実施例を示す図である。
【図６】発見的問題解決法を用いて構造化フォーマットのデータを取得する１つの実施例を示す図である。
【図７】本発明の技術の一部の実施構成が実装される例示的な電子システムを示す概念図である。
【発明を実施するための形態】
【０００８】
以下に記載する詳細な説明は、本発明の技術の種々の構成の説明として意図され、本発明の技術を実施できる唯一の構成を提示するものではない。添付の図面は、本明細書に組み込まれ、その詳細な説明の一部を構成する。詳細な説明は、本発明の技術の理解を完全なものにすることを目的とした特定の詳細事項を含む。しかしながら、本発明の技術は、本明細書で記載される特定の詳細事項に限定されず、これらの特定の詳細事項なしでも実施することができる点は、当業者には明らかであり理解されるであろう。場合によっては、本発明の技術の概念を曖昧にするのを回避するため、よく知られた構造及び構成要素はブロック図形式で示されている。
【０００９】
開示される本発明の主題は、電子的フォームにポピュレートするため機械により実現される方法に関する。構造化アドレスフォームの複数のフィールドのうちの１つに非構造化データのストリングをペーストするペーストコマンドが検出される。非構造化データのストリングは、ジオコーディング（緯度経度座標値変換）されて地理的位置情報を取得する。構造化アドレスデータは、地理的位置情報をリバース（逆）・ジオコーディングすることによって取得される。構造化アドレスフォームの複数のフィールドの各々には、構造化アドレスデータからの対応するフィールドがポピュレートされる。
【００１０】
クライアントデバイスがユーザペーストコマンドを検出すると、クリップボードからペーストされた非構造化データのストリングは、ジオコーディングされて、地理的位置情報（例えば、経度及び緯度座標）を取得する。地理的位置情報は、リバース・ジオコーディングされて構造化アドレスデータを生成し、これを用いて構造化アドレスフォームの複数のフィールドの各対応するフィールドにポピュレートする。
【００１１】
ネットワーク環境１００は、ウェブベースフォームでアクセスされる様々なデータを格納する１つ又はそれ以上のデータベース１０２（例えば、コンピュータ可読記憶デバイス）を含む。ネットワーク環境１００は更に、１つ又はそれ以上のサーバ１０４を含む。サーバ１０４は、ユーザ操作によるクライアントデバイス１０８ａ〜１０８ｅからのリクエストを受け取ることができる。サーバ１０４及びクライアントデバイス１０８ａ〜１０８ｅは、ネットワーク１０６を介して通信可能に結合することができる。一部の実施構成において、クライアントデバイス１０８ａ〜１０８ｅは、サーバ１０４にデータをリクエストすることができる。リクエストを受け取ると、サーバ１０４は、データベース１０２からデータセットを取り出し、情報セットをクライアントデバイス１０８ａ〜１０８ｅに提供することができる。
【００１２】
クライアントデバイス１０８ａ〜１０８ｅの各々は、様々な形態のプロセッシングデバイスを表すことができる。例示的なプロセッシングデバイスは、デスクトップコンピュータ、ラップトップコンピュータ、ハンドヘルドコンピュータ、１つ又はそれ以上のプロセッサが取り付けられたテレビ、パーソナルデジタルアシスタント（ＰＤＡ）、携帯電話、ネットワークアプライアンス、カメラ、スマートフォン、拡張型汎用パケット無線サービス（ＥＧＰＲＳ）モバイルフォン、メディアプレーヤ、ナビゲーションデイバイス、電子メールデバイス、ゲーム機、又はこれらのプロセッシングデバイス又は他のデータプロセッシングデバイスの何れかの組み合わせを含むことができる。
【００１３】
一部の態様において、クライアントデバイス１０８ａ〜１０８ｅは、必要に応じてデジタル信号処理回路を含むことができる通信インタフェース（図示せず）を通じて無線通信することができる。通信インタフェースは、とりわけ、移動体通信用グローバルシステム（ＧＳＭ）音声通話、ショート・メッセージ・サービス（ＳＭＳ）、拡張メッセージングサービス（ＥＭＳ）、もしくはマルチメディア・メッセージング・サービス（ＭＭＳ）メッセージング、符号分割多重アクセス方式（ＣＤＭＡ）、時分割多重アクセス方式（ＴＤＭＡ）、パーソナル・デジタル・セルラー（ＰＤＣ）、広帯域符号分割多重アクセス方式（ＷＣＤＭＡ）、ＣＤＭＡ２０００、又は汎用パケット無線システム（ＧＰＲＳ）など、様々なモード又はプロトコルに従った通信を提供することができる。例えば、通信は、無線送受信器（図示せず）を通じて行うことができる。加えて、Ｂｌｕｅｔｏｏｔｈ、ＷｉＦｉ、又は他のこのような送受信器を用いるような短距離通信を行うことができる。
【００１４】
一部の態様において、ネットワーク環境１００は、ネットワーク１０６のような１つ又はそれ以上のネットワークにわたる分散クライアント／サーバシステムとすることができる。ネットワーク１０６は、多くのモバイルクライアント、固定クライアント、及びサーバを接続する、ローカルエリアネットワーク（ＬＡＮ）、広域ネットワーク（ＷＡＮ）、インターネット、セルラーネットワーク、又はこれらの組み合わせのような、大規模コンピュータネットワークとすることができる。一部の態様において、各クライアント（例えば、クライアントデバイス１０８ａ〜１０８ｅ）は、仮想プライベートネットワーク（ＶＰＮ）、セキュアシェル（Ｓｅｃｕｒｅ  Ｓｈｅｌｌ（ＳＳＨ））トンネル、又はセキュアネットワーク接続を介してサーバ１０４と通信することができる。一部の態様において、ネットワーク１０６は更に、企業ネットワーク（例えば、イントラネット）及び１つ又はそれ以上の無線アクセスポイントを含むことができる。
【００１５】
図２は、電子的フォームにポピュレートするためのクライアントデバイスシステム及びサーバシステムの１つの実施例を示す。クライアントデバイスシステム２００は、フォーム検出モジュール２０２、コマンド検出モジュール２０４、フォーム書き込みモジュール２０６、及び通信モジュール２０８を含む。これらのモジュールは、互いに通信状態にあり、構造化データ用のフィールドを含む電子的フォームを識別することができ、ユーザペーストコマンドを検出すると、電子的フォームのフィールドの各々にポピュレートすることができる。例えば、アドレスフォームは、フォームに含まれるフィールドに関連する名称又はラベルに基づいてフォーム識別モジュール２０２により識別することができる。コマンド検出モジュール２０４は、フォームの複数のフィールドのうちの１つへの非構造化データのストリングをペーストするユーザコマンドを検出することができる。非構造化データのストリングは、サーバシステム２１０に送られ、ここでジオコーディングモジュール２１２によりジオコーディングされて、地理的位置情報を取得することができる。地理的位置情報は、リバースジオコーダ２１４によりリバース・ジオコーディングされ、非構造化データのストリングに対応する構造化アドレスデータを取得することができる。構造化アドレスデータは、クライアントデバイス２００に返すことができる。フォーム書き込みモジュール２０６は、フォームの複数のフィールドの各々に構造化アドレスデータからの対応するフィールドをポピュレートすることができる。クライアントデバイスシステム２００及びサーバシステム２１０は、それぞれの通信モジュール２０８及び２１６を介して通信することができる。
【００１６】
一部の態様において、モジュールは、ソフトウェア（例えば、サブルーチン及びコード）により実施することができる。モジュールのソフトウェア実施構成は、クライアントデバイス１０８ａ〜１０８ｅ上で実行されるウェブブラウザに基づいて作動することができる。一部の態様において、モジュールの一部又は全ては、ハードウェア（例えば、特定用途向け集積回路（ＡＳＩＣ）、フィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）、プログラム可能ロジックデバイス（ＰＬＤ）、コントローラ、状態機械、ゲートロジック、ディスクリートハードウェア構成要素、又は他の何れかの好適なデバイス）により、及び／又は両方の組み合わせにより実施することができる。本発明の技術の種々の態様によるこれらのモジュールの追加の特徴要素及び機能を本開示において更に説明する。
【００１７】
図３は、電子的フォームにポピュレートするための例示的な方法３００を示す。Ｓ３０２に従って、ウェブページ上のフォームが構造化アドレスフォームとして識別される。一部の実施構成において、アドレスフォームは、フォームに設けられたフィールド（例えば、ストリート、部屋番号、市、州、郵便番号、国、その他）に関連付けられた名称又はラベルに基づいて識別することができる。Ｓ３０４に従って、構造化アドレスフォームの複数のフィールドのうちの１つに非構造化データをペーストするコマンドを検出することができる。ペーストコマンドは、キーストローク（すなわち、Ｃｔｎｌ＋ｖコマンド）又はポインタデバイス（例えば、マウス、トラックボール、タッチスクリーン）によるドロップダウンメニューアイテムの選択の組み合わせとして検出することができ、オペレーティングシステムによって検出されて、当該技術分野で周知のように処理することができる。一部の実施構成において、クリップボードに非構造化データをコピーするコマンドを検出することができる。同様に、コピーコマンドは、キーストローク（すなわち、Ｃｔｎｌ＋ｃコマンド）又はポインタデバイスによるドロップダウンメニューアイテムの選択の組み合わせとして検出することができる。
【００１８】
Ｓ３０６に従って、非構造化データがサーバに送られる。非構造化データは、クライアントデバイス上のクリップボードにコピーされたデータを含むことができる。サーバは、非構造化アドレスデータを構造化アドレスデータに変換することができ、Ｓ３０８に従って、サーバから構造化アドレスデータを受け取ることができる。構造化アドレスデータの構成要素の各々は、非構造化データから構文解析されたセグメントを表すことができる。例えば、非構造化データは、アドレス情報を表すテキストのストリングを含むことができる。非構造化ストリングに対応する構造化アドレスデータは、ストリートフィールド、市フィールド、州フィールド、郵便番号フィールド、及び国フィールドなどの構成要素を含むことができる。Ｓ３１０に従って、当該構成要素を含む受け取った構造化アドレスデータは、構造化アドレスフォームの各フィールドにポピュレートするのに利用される。
【００１９】
一部の実施構成において、上述のように、非構造化データは、サーバに送られて処理される。他の実施構成において、非構造化データは、クライアントデバイス上で構造化アドレスデータに変換することができる。図４は、クライアントデバイスから非構造化データを受け取って、非構造化データに対応する構造化アドレスデータをクライアントデバイスに返す方法４００を示す。Ｓ４０２に従って、非構造化データがクライアントデバイスから受け取られる。Ｓ４０４に従って、非構造化データがジオコーディングされ、非構造化データに対応する地理的位置情報（すなわち、経度及び緯度座標）を取得する。例えば、ホワイトハウスの住所である、非構造化ストリング「１６００  Ｐｅｎｎｓｙｌｖａｎｉａ  Ａｖｅ．  ＮＷ，  Ｗａｓｈｉｎｇｔｏｎ  Ｄ．Ｃ．，（ワシントンＤ．Ｃ．，ＮＷ、ペンシルベニア通り１６００）」は、北緯３８度５３分及び西経７７度２分にジオコーディングされる。
【００２０】
非構造化データの一部のストリングについては、ジオコーディングモジュール２１２は、一意の又は一義的な地理的位置情報を提供できない可能性がある。例えば、非構造化データが市及び／又は州が付随していない共通のストリート名（例えば、メインストリート）からなる場合には、多義性が発生する可能性がある。この実施例において、共通のストリート名に対応する複数の地理的位置情報が存在する可能性がある。Ｓ４０６に従って、非構造化データのジオコーディングに関連する多義性が検出される。多義性を解決するために、Ｓ４０８に従って、ユーザ位置情報を取得することができる。Ｓ４１０に従って、ユーザ位置情報を用いて、地理的位置情報の多義性を解決する。例えば、ユーザ位置情報は、不完全な非構造化アドレスデータに対するコンテキストを提供することができる。市又は州情報無しの共通のストリート名のアドレスの実施例に戻ると、ユーザ位置情報は、ユーザが位置する市及び州を示すことができる。この情報は、様々な方法で取得することができる。例えば、この情報は、クライアントデバイスから得られるＧＰＳ情報、又はクライアントデバイスが接続されるＷｉＦｉアクセスポイントを示す情報、又はクライアントデバイスが接続される携帯電話基地局に関する情報、或いはクライアントデバイスに割り当てられるＩＰアドレスから得られる位置情報から取得することができる。ユーザ位置情報データは、受け取ったユーザ位置情報に合致しないものとして多義的に決定された地理的位置情報のうちの１つ以外の全てを排除し、これにより非構造化データの多義的な地理的位置情報を解消するのに十分とすることができる。
【００２１】
一意の地理的位置情報が得られると、Ｓ４１２に従って、リバース・ジオコーディングされて構造化アドレスが取得される。各地理的位置情報は、データベースから取り出すことができる対応する構造化アドレスを有することができる。上述の実施例を利用すると、北緯３８度５３分及び西経７７度２分を有する地理的位置情報は、ホワイトハウスに相当する。ホワイトハウスは更に、以下のフィールドを有する構造化アドレスと関連付けられる。
エントリ名：Ｗｈｉｔｅ  Ｈｏｕｓｅ（ホワイトハウス）
ストリート：１６００  Ｐｅｎｎｓｙｌｖａｎｉａ  Ａｖｅ．  ＮＷ（ＮＷ、ペンシルベニア通り１６００）
市：Ｗａｓｈｉｎｇｔｏｎ（ワシントン）
州：Ｄｉｓｔｒｉｃｔ  ｏｆ  Ｃｏｌｕｍｂｉａ（コロンビア特別区）
郵便番号：２０５００
国：Ｕｎｉｔｅｄ  Ｓｔａｔｅｓ  ｏｆ  Ａｍｅｒｉｃａ（アメリカ合衆国）
【００２２】
Ｓ４１４に従って、非構造化データに対応する構造化アドレスがクライアントデバイスに返される。上記の方法３００を参照して考察したように、返された構造化アドレスは、構造化アドレスフォームの各フィールドにポピュレートするのに利用される。一部の実施構成において、構造化アドレスフォームは、ユーザに提示され更に編集される。
【００２３】
図５は、ジオコーディングステップの１つの実施例を示す。非構造化リスティング５０２は、非構造化アドレスを含むことができる。この実施例では、「１６００  Ｐｅｎｎｓｙｌｖａｎｉａ  Ａｖｅｎｕｅ  ＮＷ，  Ｗａｓｈｉｎｇｔｏｎ  Ｄ．Ｃ．（ワシントンＤ．Ｃ．、ＮＷ、ペンシルベニア通り１６００）」が使用されている。非構造化リスティング５０２は、ジオコーダ５０４に提示される。ジオコーダ５０４は、非構造化リスティング５０２を地理的位置情報座標に変換する。例えば、非構造化リスティング５０２のアドレスは、北緯３８度５３分５２秒及び西経７７度０２分１３秒の座標に変換される。非構造化リスティングの座標が決定されると、リバースジオコーダ５０８は、この座標を構造化アドレスにジオコーディングすることができる。この実施例において、非構造化リスティング５０２から決定された座標は、以下の情報、すなわち、「エントリ名：Ｗｈｉｔｅ  Ｈｏｕｓｅ（ホワイトハウス）；ストリート：１６００  Ｐｅｎｎｓｙｌｖａｎｉａ  Ａｖｅ．  ＮＷ（ＮＷ、ペンシルベニア通り１６００）；市：Ｗａｓｈｉｎｇｔｏｎ（ワシントン）；州：Ｄｉｓｔｒｉｃｔ  ｏｆ  Ｃｏｌｕｍｂｉａ（コロンビア特別区）；郵便番号：２０５００；国：Ｕｎｉｔｅｄ  Ｓｔａｔｅｓ  ｏｆ  Ａｍｅｒｉｃａ（アメリカ合衆国）」を含む、構造化リスティング５１０に対応する。上述の方法３００を参照して詳細に考察したように、返された構造化アドレスは、構造化アドレスフォームの各フィールドにポピュレートするのに利用される。
【００２４】
一部の実施構成において、サーバに送られる非構造化データは、一連の発見的問題解決法を用いて処理される。図６は、非構造化データを受け取って、該非構造化データに対応する構造化アドレスデータを返す方法６００を示している。Ｓ６０２に従って、非構造化データがクライアントデバイスにより受け取られる。Ｓ６０４に従って、非構造化データは、一連の発見的問題解決法に基づいて構文解析される。上記の実施例を用いると、アドレスは、１６００  Ｐｅｎｎｓｙｌｖａｎｉａ  Ａｖｅ．  ＮＷ，  Ｗａｓｈｉｎｇｔｏｎ  Ｄ．Ｃ．，  ２０５００（２０５００、ワシントンＤ．Ｃ．、ＮＷ、ペンシルベニア通り１６００）の非構造化テキストストリングとしてサーバに送ることができる。一連の発見的問題解決法を用いて、アドレスデータの特定の常用語及び／又は特定の構造的構成を識別することができる。
【００２５】
常用語は、ストリート、大通り、車線、路地、道路、その他のような、道路のラベルを含むことができる。発見的解決法を利用して、道路のラベルの前にある用語は、ストリートの数字及び名称を示すことができ、道路の後に続く用語は、アドレスの市、州、及び郵便番号を示すことができる。加えて、５つの連続する番号数字は、アドレスの郵便番号であると判断することができる。アドレスの特定の構成要素を識別することによって、アドレスの汎用構造構成に基づき、残りの構成要素を決定することができる。実施例を引き続き説明すると、ストリート番号及び名称は、「Ａｖｅ．（通り）」の前の２つの用語として判定することができる。加えて、市及び州は、「Ａｖｅ．（通り）」と識別された５桁の郵便番号「２０５００」との間にある用語と判定することができる。結果として、非構造化アドレスを構造化データに構文解析することができ、一連の発見的問題解決法から生成された結果として得られる出力は、以下を含むことができる。
ストリート：１６００  Ｐｅｎｎｓｙｌｖａｎｉａ  Ａｖｅ．ＮＷ
市：Ｗａｓｈｉｎｇｔｏｎ
州：Ｄ．Ｃ．
郵便番号：２０５００
【００２６】
Ｓ６０６に従って、非構造化データに対応する構造化アドレスがクライアントデバイスに返される。返された構造化アドレスは、上述の方法３００を参照して考察したように、構造化アドレスフォームの各フィールドにポピュレートするのに利用される。勿論、図６は、クライアント−サーバアーキテクチャを用いて行った方法を開示しているが、本方法は、完全にクライアントデバイス上で同様に行うこともできる。
【００２７】
上述の特徴要素及び用途の多くは、コンピュータ可読記憶媒体（コンピュータ可読媒体とも呼ばれる）上に記録された命令セットとして規定されるソフトウェアプロセスとして実装される。これらの命令が１つ又はそれ以上のプロセッシングユニット（例えば、１つ又はそれ以上のプロセッサ、プロセッサのコア、又は他のプロセッシングユニット）によって実行されたときに、これらの命令によりプロセッシングユニットが命令で指示された動作を実行するようにする。コンピュータ可読媒体の実施例は、限定ではないが、ＣＤ−ＲＯＭ、フラッシュドライブ、ＲＡＭチップ、ハードドライブ、ＥＰＲＯＭ、その他を含む。コンピュータ可読媒体は、無線又は有線接続を介して受け渡される搬送波及び電気信号を含まない。
【００２８】
本明細書において、用語「ソフトウェア」は、プロセッサによって処理するためメモリに読み込むことができる、リードオンリーメモリ内に常駐するファームウェア又は磁気記憶装置に格納されるアプリケーションを含むものとする。また、一部の実施構成において、本発明の開示の複数のソフトウェア態様は、本発明の開示の別個のソフトウェア態様を維持しながら、より大きなプログラムの下位部分として実装することができる。一部の実施構成において、複数のソフトウェア態様はまた、別個のプログラムとして実装することができる。最後に、本明細書で記載されるソフトウェア態様を共に実装する別個のプログラムのあらゆる組み合わせは、本発明の開示の範囲内にある。一部の実施構成において、ソフトウェアプログラムは、１つ又はそれ以上の電子システムに基づいて作動するようインストールされたときに、ソフトウェアプログラムの作動を実行し実施する１つ又はそれ以上の特定機械実施構成を定める。
【００２９】
コンピュータプログラム（プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプト、又はコードとしても知られる）は、コンパイラ型又はインタープリタ型言語、宣言型言語、又は手続き型言語を含む、あらゆる形態のプログラミング言語で記述することができ、スタンドアローンプログラムとして、或いはモジュール、構成要素、サブルーチン、オブジェクト、又はコンピュータ環境で使用するのに好適な他のユニットとしての形態を含む、あらゆる形態で導入することができる。コンピュータプログラムは、必須ではないが、ファイルシステムにおけるファイルに対応することができる。プログラムは、対象のプログラムに専用の単一ファイルにおいて、或いは、複数の強調ファイル（例えば、１つ又はそれ以上のモジュール、サブプログラム、又はコードの一部を記憶したファイル）において他のプログラム又はデータ（例えば、マークアップ言語ドキュメントに記憶された１つ又はそれ以上のスクリプト）を保持するファイルの一部に記憶することができる。コンピュータプログラムは、１つのコンピュータ上で実行され、或いは、１つのサイトに配置され、又は複数のサイトにわたって分散されて通信ネットワークを介して相互に接続された複数のコンピュータ上で実行されるよう導入することができる。
【００３０】
図７は、本発明の技術の一部の実施構成が実装された例示的な電子システムを概念的に示している。電子システム７００は、コンピュータ、電話、ＰＤＡ、又は他の何れかの種類の電子デバイスとすることができる。このような電子システムは、種々のタイプのコンピュータ可読媒体及び他の種々のタイプのコンピュータ可読媒体とのインタフェースを含む。電子システム７００は、バス７０８、プロセッシングユニット７１２、システムメモリ７０４、リードオンリーメモリ（ＲＯＭ）７１０、永久記憶装置７０２、入力デバイスインタフェース７１４、出力デバイスインタフェース７０６、及びネットワークインタフェース７１６を含む。
【００３１】
バス７０８は、電子システム７００の多くの内部デバイスを通信可能に接続する、全てのシステムバス、周辺バス、及びチップセットバス全体を表している。例えば、バス７０８は、ＲＯＭ７１０、システムメモリ７０４、及び永久記憶装置７０２とプロセッシングユニット７１２を通信可能に接続する。
【００３２】
これらの種々のメモリユニットから、プロセッシングユニット７１２は、本発明の開示事項のプロセスを実行するための実行命令及びプロセスデータを取り出す。プロセッシングユニットは、異なる実施構成において単一プロセッサ又はマルチコアプロセッサの何れかとすることができる。
【００３３】
ＲＯＭ７１０は、電子システムのプロセッシングユニット７１２及び他のモジュールによって必要とされる静的データ及び命令を記憶する。他方、永久記憶装置７０２は、リード／ライトメモリデバイスである。このデバイスは、電子システム７００が電源オフにされたときでも命令及びデータを記憶している不揮発性メモリユニットである。本発明の開示の一部の実施構成は、永久記憶装置７０２として大容量記憶装置（磁気又は光学ディスク並びにその対応するディスクドライブなど）を用いる。
【００３４】
他の実施構成は、永久記憶装置７０２としてリムーバブル記憶装置（フロッピーディスク、フラッシュドライブ、及びその対応するディスクドライブ）を用いる。永久記憶装置７０２と同様に、システムメモリ７０４は、リード／ライトメモリデバイスである。しかしながら、記憶装置７０２とは異なって、システムメモリ７０４は、ランダムアクセスメモリなどの揮発性リード／ライトメモリである。システムメモリ７０４は、実行時にプロセッサが必要とする命令及びデータの一部を記憶する。一部の実施構成において、本発明の開示のプロセスは、システムメモリ７０４、永久記憶装置７０２、及び／又はＲＯＭ７１０に記憶される。例えば、種々のメモリユニットは、一部の実施構成に従って非構造化アドレス情報から構造化アドレスフォームを取得する命令を含む。これらの種々のメモリユニットから、プロセッシングユニット７１２は、一部の実施構成のプロセスを実行するため実行命令及びプロセスデータを取り出す。
【００３５】
バス７０８はまた、入力デバイスインタフェース７１４及び出力デバイスインタフェース７０６に接続される。入力デバイスインタフェース７１４により、ユーザが、電子システムに対して情報を伝達し、コマンドを選択することが可能になる。入力デバイスインタフェース７１４と共に使用される入力デバイスは、例えば、英数字キーボード、及びポインティングデバイス（「カーソル制御デバイス」とも呼ばれる）を含む。出力デバイスインタフェース７０６は、例えば、電子システム７００によって生成される画像の表示を可能にする。出力デバイスインタフェース７０６と共に使用される出力デバイスは、例えば、プリンター、及び陰極線管（ＣＲＴ）又は液晶ディスプレイ（ＬＣＤ）のようなディスプレイデバイスを含む。一部の実施構成は、入力及び出力デバイス両方として機能するタッチスクリーンのようなデバイスを含む。
【００３６】
最後に、図７に示すように、バス７０８はまた、電子システム７００をネットワークインタフェース７１６を通じてネットワーク（図示せず）に結合する。このようにして、コンピュータは、コンピュータネットワーク（ローカルエリアネットワーク（「ＬＡＮ」）、広域ネットワーク（「ＷＡＮ」）、又はイントラネットなど、或いはインターネットなどの複数のネットワークのうちの１つのネットワークなど）の一部とすることができる。電子システム７００の何れか又は全ての構成要素を本発明の開示と連動して用いることができる。
【００３７】
上述のこれらの機能は、デジタル電子回路、コンピュータソフトウェア、ファームウェア、又はハードウェアにより実装することができる。本技術は、１つ又はそれ以上のコンピュータプログラム製品を用いて実装することができる。プログラマブルプロセッサ及びコンピュータを、モバイルデバイス内に含め、或いはモバイルデバイスとしてパッケージ化することができる。プロセス及びロジックフローは、１つ又はそれ以上のプログラマブルプロセッサによって、及び１つ又はそれ以上のプログラマブルロジック回路によって実施することができる。汎用及び特定用途向けコンピュータデバイス及び記憶装置は、通信ネットワークを通じて相互接続することができる。
【００３８】
一部の実施構成は、機械可読又はコンピュータ可読媒体（代替として、コンピュータ可読ストレージ媒体、機械可読媒体、又は機械可読ストレージ媒体と呼ばれる）にコンピュータプログラム命令を記憶する、マイクロプロセッサ、記憶装置、及びメモリなどの電子構成要素を含む。このようなコンピュータ可読媒体の一部の実施例は、ＲＡＭ、ＲＯＭ、リードオンリーコンパクトディスク（ＣＤ−ＲＯＭ）、記録可能コンパクトディスク（ＣＤ−Ｒ）、書換可能コンパクトディスク（ＣＤ−ＲＷ）、リードオンリーデジタル多用途ディスク（例えば、ＤＶＤ−ＲＯＭ、二層ＤＶＤーＲＯＭ）、種々の記録可能／書換可能ＤＶＤ（例えば、ＤＶＤ−ＲＡＭ、ＤＶＤ−ＲＷ、ＤＶＤ＋ＲＷ、その他）、フラッシュメモリ（例えば、ＳＤカード、ミニＳＤカード、マイクロＳＤカード、その他）、磁気及び／又は固体ハードドライブ、リードオンリー及び記録可能Ｂｌｕ−Ｒａｙ（登録商標）ディスク、超高密度光学ディスク、他の何れかの光学又は磁気媒体、及びフロッピーディスクを含む。コンピュータ可読媒体は、少なくとも１つのプロセッシングユニットにより実行可能で且つ種々の動作を実施する命令セットを含むコンピュータプログラムを記憶することができる。コンピュータプログラム又はコンピュータコードの実施例は、コンパイラによって生成されるような機械コード、及びインタープリタを用いてコンピュータ、電子構成要素、又はマイクロプロセッサによって実行される高レベルコードを有するファイルを含む。
【００３９】
上述の考察は、主としてソフトウェアを実行するマイクロプロセッサ又はマルチコアプロセッサに関するものであるが、一部の実施構成は、特定用途向け集積回路（ＡＳＩＣ）、又はフィールドプログラマブルゲートアレイ（ＦＰＧＡ）などの１つ又はそれ以上の集積回路によって実施される。一部の実施構成では、このような集積回路は、回路自体に記憶されている命令を実行する。
【００４０】
本明細書及び本出願の請求項で使用される用語「コンピュータ」、「サーバ」、「プロセッサ」、及び「メモリ」は全て電子デバイス又は他の技術的デバイスに関するものである。これらの用語は、人又は人のグループを含まない。本明細書において、用語「ディスプレイ」又は表示とは、電子デバイス上に表示することを意味する。本明細書及び本出願の請求項で使用される用語「コンピュータ可読媒体」及び「複数のコンピュータ可読媒体」は、全体として、コンピュータが読むことができる形式で情報を記憶する有形の物理的対象物に限定される。これらの用語は、あらゆる無線信号、有線接続されたダウンロード信号、及び他の何れかの一時性の信号を含まない。
【００４１】
ユーザとの対話を可能にするため、本明細書に記載される主題の実施構成は、ユーザに情報を表示するためのディスプレイデバイス（例えば、ＣＲＴ（陰極線管）又はＬＣＤ（液晶ディスプレイ）モニタ）と、ユーザがコンピュータへの入力を提供できるキーボード及びポインティングデバイス（例えば、マウス又はトラックボール）とを有するコンピュータ上に実装することができる。他の種類のデバイスを用いてもユーザとの対話を可能にすることができ、例えば、ユーザに提供されるフィードバックは、例えば、視覚フィードバック、聴覚フィードバック、又は触覚フィードバックなど、あらゆる形態の感覚フィードバックとすることができ、また、ユーザからの入力は、音響、発話、又は触覚入力を含むあらゆる形態で受け取ることができる。加えて、コンピュータは、例えば、ウェブブラウザから受け取ったリクエストに応答してユーザのクライアントデバイス上のウェブブラウザにウェブページを送ることによるなど、ユーザが使用するデバイスにドキュメントを送り、該デバイスからドキュメントを受け取ることによってユーザと対話することができる。
【００４２】
本明細書で記載される主題の実施形態は、バックエンドコンポーネント（例えば、データサーバ）を含むか、又はミドルウェアコンポーネント（例えば、アプリケーションサーバ）を含むか、又は、フロントエンドコンポーネント（例えば、本明細書で記載される主題の実施構成とユーザが対話できるグラフィカルユーザインタフェースもしくはウェブブラウザを有するクライアントコンピュータ）、或いはこのようなバックエンド、ミドルウェア、もしくはフロントエンドコンポーネントのあらゆる組み合わせを含むコンピュータシステムにより実装することができる。本システムの構成要素は、デジタルデータ通信のあらゆる形態もしくは媒体（例えば、通信ネットワーク）によって相互接続することができる。通信ネットワークの実施例は、ローカルエリアネットワーク（「ＬＡＮ」）及び広域エリアネットワーク（「ＷＡＮ」）、インターネットワーク（例えば、インターネット）、及びピアツーピアネットワーク（例えば、アドホックピアツーピアネットワーク）を含む。
【００４３】
コンピュータシステムは、クライアント及びサーバを含むことができる。クライアント及びサーバは一般に、互いに遠隔にあり、通常は通信ネットワークを通じて対話する。クライアントとサーバの関係は、それぞれのコンピュータ上で実行されて、互いにクライアント−サーバ間関係にあるコンピュータプログラムに基づいて生じる。一部の実施形態において、サーバは、クライアントデバイスにデータ（例えば、ＨＴＭＬページ）を送信する（例えば、クライアントデバイスと対話するユーザにデータを表示し、またユーザからユーザ入力を受け取る目的で）。クライアントデバイスで生成されたデータ（例えば、ユーザ対話の結果として）は、クライアントデバイスからサーバにて受け取ることができる。
【００４４】
開示されるプロセスにおけるステップのあらゆる順序又は序列は、例示的な手法の例証である点は理解される。設計上の設定に基づいて、プロセスにおけるステップの特定の順序又は序列は、配置し直すことができ、或いは、例示の全てのステップを実施できる点は理解される。ステップの一部は、同時に実施してもよい。例えば、特定の実施形態において、マルチタスク及び並行処理が有利とすることができる。その上、上述の実施形態の種々のシステム構成要素の分離は、全ての実施形態においてこのような分離が必要となるものと理解すべきではなく、また、記載のプログラム構成要素及びシステムは、一般に、単一のソフトウェア製品に統合するか、又は複数のソフトウェア製品にパッケージングすることができる点は理解されたい。
【００４５】
上記の説明は、当業者が本明細書で説明される様々な態様を実行することを可能にするために提供される。これらの態様に対する様々な修正は、当業者には明らかであり、本明細書で定義された一般的な原理は、他の態様にも適用することができる。従って、請求項は、本明細書で示された態様に制限されるものではなく、請求項の文言に一致する全範囲が認められるべきであり、ここで、単数の要素の表現は、特に記載のない限り、「１つ及び１つのみ」を意味するものではなく、むしろ「１つ又はそれ以上」を意味する。特に記載のない限り、用語「幾つか」は１つ又はそれ以上を指す。男性の代名詞（例えば、彼の（ｈｉｓ））は女性又は中性（例えば、彼女の（ｈｅｒ）及びその（ｉｔｓ））を含み、逆もまた同様である。見出し及び副見出しは、単に便宜上使用しているであり、本開示を限定するものではない。
【００４６】
「態様」などの語句は、このような態様が本発明の技術に必須であり、又はこのような態様が本発明の技術の全ての構成に適用されることを意味するものではない。１つの態様に関する開示は、全ての構成、又は１つ又はそれ以上の構成に適用される場合がある。１つの態様のような語句は、１つ又はそれ以上の態様を意味し、逆もまた同様とすることができる。「構成」などの語句は、このような構成が本発明の技術に必須であり、又はこのような構成が本発明の技術の全ての構成に適用されることを意味するものではない。１つの構成に関する開示は、全ての構成、又は１つ又はそれ以上の構成に適用される場合がある。１つの構成などの語句は、１つ又はそれ以上の構成を意味し、逆もまた同様とすることができる。
【００４７】
用語「例示的な」は、本明細書では「実施例又は例証として提供する」ことを意味するのに使用される。「例示的」として本明細書で記載されるあらゆる態様又は設計は、必ずしも他の態様又は設計よりも好ましい又は有利なものとして構成されるとは限らない。
【００４８】
本開示全体を通じて説明された当業者には周知又は将来周知となる種々の態様の要素に対する全ての構造的及び機能的均等物は、引用により本明細書に明確に組み込まれ、請求項によって含まれるものとする。更に、本明細書における開示内容は、このような開示内容が請求項に明示的に記載されているかどうかに関係なく、一般公衆に開放されることを意図するものではない。
【符号の説明】
【００４９】
２０２：フォーム識別モジュール
２０４：コマンド検出モジュール
２０６：フォーム書き込みモジュール
２０８：通信モジュール
２１２：ジオコーディングモジュール
２１４：リバース・ジオコーディングモジュール
２１６：通信モジュール
２１８：ネットワーク
【要約】
【課題】非構造化アドレス情報をジオコーディングすることによって構造化アドレスを取得するシステム及び方法を提供すること。
【解決手段】電子的フォームにポピュレートするためのシステム及び機械により実現される方法が提供される。非構造化データのストリングを構造化アドレスフォームの複数のフィールドのうちの１つにペーストするコマンドが検出される。非構造化データのストリングがジオコーディングされて地理的位置情報を取得する。地理的位置情報がリバース・ジオコーディングされて構造化アドレスデータを取得する。構造化アドレスフォームの複数のフィールドの各々には、構造化アドレスデータから対応するフィールドがポピュレートされる。
【選択図】      図２【図１】
0005444519.tif 000002
【図２】
0005444519.tif 000003
【図３】
0005444519.tif 000004
【図４】
0005444519.tif 000005
【図５】
0005444519.tif 000006
【図６】
0005444519.tif 000007
【図７】
0005444519.tif 000008