(57)【要約】【課題】到着時間の推定精度を高める。【解決手段】推定システム（Ｓ）の経由地取得手段（１０５）は、目的地に向けて移動する移動体の経由地の位置を取得する。滞在時間推定手段（１０９）は、経由地の位置に基づいて、経由地における移動体の滞在時間を推定する。到着時間推定手段（１１０）は、滞在時間に基づいて、目的地への到着時間を推定する。【選択図】図５
2020201553.tif 000002
【特許請求の範囲】
【請求項１】
目的地に向けて移動する移動体の経由地の位置を取得する経由地取得手段と、
前記経由地の位置に基づいて、前記経由地における前記移動体の滞在時間を推定する滞在時間推定手段と、
前記滞在時間に基づいて、前記目的地への到着時間を推定する到着時間推定手段と、
を含むことを特徴とする推定システム。
【請求項２】
前記推定システムは、
移動中の前記移動体の現在位置を取得する現在位置取得手段と、
前記目的地の位置を取得する目的地取得手段と、
前記移動体の現在位置と、前記目的地の位置と、に基づいて、移動時間を推定する移動時間推定手段と、
を更に含み、
前記到着時間推定手段は、前記移動時間と前記滞在時間とに基づいて、前記到着時間を推定する、
ことを特徴とする請求項１に記載の推定システム。
【請求項３】
前記推定システムは、
過去における前記移動体又は他の移動体の位置と時刻の関係を示す位置データが蓄積されたデータベースを参照する参照手段と、
前記データベースに蓄積された前記位置データに基づいて、複数の滞在先の各々の滞在時間を計算する計算手段と、
を更に含み、
前記滞在時間推定手段は、前記複数の滞在先の各々の前記計算された滞在時間と、前記経由地の位置と、に基づいて、前記経由地における前記滞在時間を推定する、
ことを特徴とする請求項１又は２に記載の推定システム。
【請求項４】
前記計算手段は、
前記データベースに蓄積された前記位置データをクラスタリングし、
クラスタごとに、当該クラスタに属する前記位置データが示す時刻に基づいて、当該クラスタに対応する滞在先の滞在時間を計算する、
ことを特徴とする請求項３に記載の推定システム。
【請求項５】
前記計算手段は、
前記データベースに蓄積された前記位置データに基づいて、前記移動体又は前記他の移動体が一定の範囲内にいたか否かを判定することによって、前記複数の滞在先を特定し、
前記滞在先ごとに、前記移動体又は前記他の移動体が当該滞在先にいた場合の前記位置データが示す時刻に基づいて、当該滞在先の滞在時間を計算する、
ことを特徴とする請求項３又は４に記載の推定システム。
【請求項６】
前記推定システムは、目的地又は経由地となる蓋然性が低い滞在先の滞在時間が、前記滞在時間推定手段による推定で利用されることを制限する制限手段を更に含む、
ことを特徴とする請求項３〜５の何れかに記載の推定システム。
【請求項７】
前記滞在時間推定手段は、前記経由地の位置に関連付けられた、前記経由地に関する特徴情報に基づいて、前記滞在時間を推定する、
ことを特徴とする請求項１〜６の何れかに記載の推定システム。
【請求項８】
前記推定システムは、過去に前記移動体又は他の移動体が滞在した滞在先に関する特徴情報と、実際の滞在時間と、の関係が学習された機械学習モデルを利用可能であり、
前記滞在時間推定手段は、前記機械学習モデルに、前記経由地に関する前記特徴情報を入力し、前記機械学習モデルから出力された滞在時間を取得する、
ことを特徴とする請求項７に記載の推定システム。
【請求項９】
前記特徴情報は、地域又は建物の属性を示し、
前記滞在時間推定手段は、前記経由地の地域又は建物の属性に基づいて、前記滞在時間を推定する、
ことを特徴とする請求項７又は８に記載の推定システム。
【請求項１０】
前記特徴情報は、時間帯又は時期を示し、
前記滞在時間推定手段は、前記経由地に滞在する時間帯又は時期に基づいて、前記滞在時間を推定する、
ことを特徴とする請求項７〜９の何れかに記載の推定システム。
【請求項１１】
前記特徴情報は、気象を示し、
前記滞在時間推定手段は、前記経由地における気象に基づいて、前記滞在時間を推定する、
ことを特徴とする請求項７〜１０の何れかに記載の推定システム。
【請求項１２】
前記滞在時間推定手段は、前記経由地の位置と、前記移動体の属性と、に基づいて、前記滞在時間を推定する、
ことを特徴とする請求項１〜１１の何れかに記載の推定システム。
【請求項１３】
前記推定システムは、前記移動体が前記目的地に到達する前に、前記目的地に関連付けられたユーザに、前記到着時間を通知する通知手段、
を更に含むことを特徴とする請求項１〜１２の何れかに記載の推定システム。
【請求項１４】
前記移動体は、複数の配送先の各々に順番に荷物を配送する配送員又は機械であり、
前記目的地は、前記複数の配送先の何れかであり、
前記経由地は、前記複数の配送先のうち、前記目的地の配送先よりも順番が前の配送先である、
ことを特徴とする請求項１〜１３の何れかに記載の推定システム。
【請求項１５】
目的地に向けて移動する移動体の経由地の位置を取得する経由地取得ステップと、
前記経由地の位置に基づいて、前記経由地における前記移動体の滞在時間を推定する滞在時間推定ステップと、
前記滞在時間に基づいて、前記目的地への到着時間を推定する到着時間推定ステップと、
を含むことを特徴とする推定方法。
【請求項１６】
目的地に向けて移動する移動体の経由地の位置を取得する経由地取得手段、
前記経由地の位置に基づいて、前記経由地における前記移動体の滞在時間を推定する滞在時間推定手段、
前記滞在時間に基づいて、前記目的地への到着時間を推定する到着時間推定手段、
としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、推定システム、推定方法、及びプログラムに関する。
【背景技術】
【０００２】
従来、配送員又は配送車両などの移動体が目的地に到着する到着時間を推定する技術が検討されている。例えば、特許文献１には、配送員が複数の配送先の各々に順番に荷物を配送する場合に、配送先間の走行時間が登録された走行時間データベースに基づいて、各配送先への到着時間を推定するシステムが記載されている。特許文献１のシステムでは、配送員は、各配送先で配送作業をすると、自身の端末に対して所定の操作を行う。配送員による操作が検出されると、配送員がこれから配送に向かう配送先への到着時間が再計算され、最新の到着時間に更新される。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開第２００８−０３０９５１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１の技術では、走行時間データベースに登録された配送先間の移動時間に基づいて、各配送先への到着時間が推定されるが、実際には、配送先間の移動だけではなく、各配送先における滞在時間が発生する。滞在時間の長さは、配送先に応じて異なり、例えば、大型マンションは一戸建てよりも配送に時間がかかり、エレベータが設置されていないマンションはエレベータが設置されたマンションよりも配送に時間がかかる。
【０００５】
この点、特許文献１は、配送員による実際の荷物の配送状況を検出して到着時間を再計算する技術であり、各配送先において配送員が端末を操作しない限りは到着時間が再計算されない。このため、特許文献１の技術では、配送員が端末を操作するまでに実際に発生した滞在時間しか到着時間に反映されず、到着時間の推定精度を十分に高めることができなかった。
【０００６】
本発明は上記課題に鑑みてなされたものであって、その目的は、到着時間の推定精度を高めることが可能な推定システム、推定方法、及びプログラムを提供することである。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明に係る推定システムは、目的地に向けて移動する移動体の経由地の位置を取得する経由地取得手段と、前記経由地の位置に基づいて、前記経由地における前記移動体の滞在時間を推定する滞在時間推定手段と、前記滞在時間に基づいて、前記目的地への到着時間を推定する到着時間推定手段と、を含むことを特徴とする。
【０００８】
本発明に係る推定方法は、目的地に向けて移動する移動体の経由地の位置を取得する経由地取得ステップと、前記経由地の位置に基づいて、前記経由地における前記移動体の滞在時間を推定する滞在時間推定ステップと、前記滞在時間に基づいて、前記目的地への到着時間を推定する到着時間推定ステップと、を含むことを特徴とする。
【０００９】
本発明に係るプログラムは、目的地に向けて移動する移動体の経由地の位置を取得する経由地取得手段、前記経由地の位置に基づいて、前記経由地における前記移動体の滞在時間を推定する滞在時間推定手段、前記滞在時間に基づいて、前記目的地への到着時間を推定する到着時間推定手段、としてコンピュータを機能させる。
【００１０】
本発明の一態様によれば、前記推定システムは、移動中の前記移動体の現在位置を取得する現在位置取得手段と、前記目的地の位置を取得する目的地取得手段と、前記移動体の現在位置と、前記目的地の位置と、に基づいて、移動時間を推定する移動時間推定手段と、を更に含み、前記到着時間推定手段は、前記移動時間と前記滞在時間とに基づいて、前記到着時間を推定する、ことを特徴とする。
【００１１】
本発明の一態様によれば、前記推定システムは、過去における前記移動体又は他の移動体の位置と時刻の関係を示す位置データが蓄積されたデータベースを参照する参照手段と、前記データベースに蓄積された前記位置データに基づいて、複数の滞在先の各々の滞在時間を計算する計算手段と、を更に含み、前記滞在時間推定手段は、前記複数の滞在先の各々の前記計算された滞在時間と、前記経由地の位置と、に基づいて、前記経由地における前記滞在時間を推定する、ことを特徴とする。
【００１２】
本発明の一態様によれば、前記推定システムは、目的地又は経由地となる蓋然性が低い滞在先の滞在時間が、前記滞在時間推定手段による推定で利用されることを制限する制限手段を更に含む、ことを特徴とする。
【００１３】
本発明の一態様によれば、前記計算手段は、前記データベースに蓄積された前記位置データをクラスタリングし、クラスタごとに、当該クラスタに属する前記位置データが示す時刻に基づいて、当該クラスタに対応する滞在先の滞在時間を計算する、ことを特徴とする。
【００１４】
本発明の一態様によれば、前記計算手段は、前記データベースに蓄積された前記位置データに基づいて、前記移動体又は前記他の移動体が一定の範囲内にいたか否かを判定することによって、前記複数の滞在先を特定し、前記滞在先ごとに、前記移動体又は前記他の移動体が当該滞在先にいた場合の前記位置データが示す時刻に基づいて、当該滞在先の滞在時間を計算する、ことを特徴とする。
【００１５】
本発明の一態様によれば、前記滞在時間推定手段は、前記経由地の位置に関連付けられた、前記経由地に関する特徴情報に基づいて、前記滞在時間を推定する、ことを特徴とする。
【００１６】
本発明の一態様によれば、前記推定システムは、過去に前記移動体又は他の移動体が滞在した滞在先に関する特徴情報と、実際の滞在時間と、の関係が学習された機械学習モデルを利用可能であり、前記滞在時間推定手段は、前記機械学習モデルに、前記経由地に関する前記特徴情報を入力し、前記機械学習モデルから出力された滞在時間を取得する、ことを特徴とする。
【００１７】
本発明の一態様によれば、前記特徴情報は、地域又は建物の属性を示し、前記滞在時間推定手段は、前記経由地の地域又は建物の属性に基づいて、前記滞在時間を推定する、ことを特徴とする。
【００１８】
本発明の一態様によれば、前記特徴情報は、時間帯又は時期を示し、前記滞在時間推定手段は、前記経由地に滞在する時間帯又は時期に基づいて、前記滞在時間を推定する、ことを特徴とする。
【００１９】
本発明の一態様によれば、前記特徴情報は、気象を示し、前記滞在時間推定手段は、前記経由地における気象に基づいて、前記滞在時間を推定する、ことを特徴とする。
【００２０】
本発明の一態様によれば、前記滞在時間推定手段は、前記経由地の位置と、前記移動体の属性と、に基づいて、前記滞在時間を推定する、ことを特徴とする。
【００２１】
本発明の一態様によれば、前記推定システムは、前記移動体が前記目的地に到達する前に、前記目的地に関連付けられたユーザに、前記到着時間を通知する通知手段、を更に含むことを特徴とする。
【００２２】
本発明の一態様によれば、前記移動体は、複数の配送先の各々に順番に荷物を配送する配送員又は機械であり、前記目的地は、前記複数の配送先の何れかであり、前記経由地は、前記複数の配送先のうち、前記目的地の配送先よりも順番が前の配送先である、ことを特徴とする。
【発明の効果】
【００２３】
本発明によれば、到着時間の推定精度を高めることができる。
【図面の簡単な説明】
【００２４】
【図１】推定システムの全体構成の一例を示す図である。
【図２】配送員端末に表示される配送ルートの一例を示す図である。
【図３】地図上にプロットされた位置データを示す図である。
【図４】到着時間を示す電子メールが受取人端末に表示される様子を示す図である。
【図５】推定システムで実現される機能の一例を示す機能ブロック図である。
【図６】配送データベースのデータ格納例を示す図である。
【図７】位置データベースのデータ格納例を示す図である。
【図８】滞在時間データベースのデータ格納例を示す図である。
【図９】教師データのデータ格納例を示す図である。
【図１０】事前処理の一例を示すフロー図である。
【図１１】推定処理の一例を示すフロー図である。
【図１２】推定処理の一例を示すフロー図である。
【発明を実施するための形態】
【００２５】
［１．推定システムの全体構成］
以下、本発明に係る推定システムの実施形態の例を説明する。本実施形態では、荷物を配送する場面を例に挙げて、推定システムの構成を説明する。図１は、推定システムの全体構成の一例を示す図である。図１に示すように、推定システムＳは、サーバ１０、配送員端末２０、及び受取人端末３０を含み、これらは、インターネットなどのネットワークＮに接続可能である。なお、図１では、サーバ１０、配送員端末２０、及び受取人端末３０の各々を１台ずつ示しているが、これらは複数台あってもよい。
【００２６】
サーバ１０は、サーバコンピュータである。サーバ１０は、制御部１１、記憶部１２、及び通信部１３を含む。制御部１１は、少なくとも１つのプロセッサを含む。制御部１１は、記憶部１２に記憶されたプログラムやデータに従って処理を実行する。記憶部１２は、主記憶部及び補助記憶部を含む。例えば、主記憶部はＲＡＭなどの揮発性メモリであり、補助記憶部は、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリ、又はハードディスクなどの不揮発性メモリである。通信部１３は、有線通信又は無線通信用の通信インタフェースであり、ネットワークＮを介してデータ通信を行う。
【００２７】
配送員端末２０は、配送員が操作するコンピュータである。例えば、配送員端末２０は、携帯電話機（スマートフォンを含む）、携帯情報端末（タブレット型コンピュータ又はウェアラブル端末を含む）、又はパーソナルコンピュータ等である。配送員端末２０は、可搬型であり、配送員とともに移動する。例えば、配送員端末２０は、制御部２１、記憶部２２、通信部２３、操作部２４、表示部２５、及び位置検出部２６を含む。制御部２１、記憶部２２、及び通信部２３の物理的構成は、それぞれ制御部１１、記憶部１２、及び通信部１３と同様であってよい。
【００２８】
操作部２４は、入力デバイスであり、例えば、タッチパネルやマウス等のポインティングデバイス、キーボード、又はボタン等である。操作部２４は、ユーザによる操作内容を制御部２１に伝達する。表示部２５は、例えば、液晶表示部又は有機ＥＬ表示部等である。表示部２５は、制御部２１の指示に従って画像を表示する。
【００２９】
位置検出部２６は、地球上の位置を検出する機器である。例えば、位置検出部２６は、衛星からの信号を受信する受信器を含む。本実施形態では、受信器としてＧＰＳセンサを説明するが、ＧＰＳ以外のＧＮＳＳのセンサを利用してもよい。また、位置の検出方法は、衛星からの信号を利用した方法に限られず、任意の方法を利用可能である。例えば、位置検出部２６は、無線基地局又は無線アクセスポイントなどの通信内容を利用して位置を検出してもよいし、加速度センサ又はジャイロセンサなどの検出信号を利用して位置を検出してもよい。他にも例えば、位置検出部２６は、カメラで撮影した画像を利用して位置を検出してもよい。
【００３０】
受取人端末３０は、荷物の受取人が操作するコンピュータである。例えば、配送員端末２０は、携帯電話機（スマートフォンを含む）、携帯情報端末（タブレット型コンピュータ又はウェアラブル端末を含む）、又はパーソナルコンピュータ等である。例えば、受取人端末３０は、制御部３１、記憶部３２、通信部３３、操作部３４、及び表示部３５を含む。制御部３１、記憶部３２、通信部３３、操作部３４、及び表示部３５の物理的構成は、それぞれ制御部１１、記憶部１２、通信部１３、操作部２４、及び表示部２５と同様であってよい。
【００３１】
なお、記憶部１２，２２，３２に記憶されるものとして説明するプログラム及びデータは、ネットワークＮを介して供給されるようにしてもよい。また、上記説明した各コンピュータのハードウェア構成は、上記の例に限られず、種々のハードウェアを適用可能である。例えば、コンピュータ読み取り可能な情報記憶媒体を読み取る読取部（例えば、光ディスクドライブやメモリカードスロット）や外部機器とデータの入出力をするための入出力部（例えば、ＵＳＢポート）が含まれていてもよい。例えば、情報記憶媒体に記憶されたプログラムやデータが読取部や入出力部を介して、各コンピュータに供給されるようにしてもよい。
【００３２】
［２．推定システムの概要］
本実施形態では、配送員は、車又はバイクなどの配送車両に複数の荷物を搭載し、複数の配送先の各々に順番に荷物を配送する。サーバ１０は、ダイクストラ法又はエースター法などを利用した公知の経路検索方法に基づいて、予め定められた順番で各配送先を訪れるように、配送員の配送ルートを決定する。例えば、サーバ１０は、配送員端末２０に配送ルートを送信し、配送員は、配送員端末２０で配送ルートを確認しながら配送業務を行う。
【００３３】
図２は、配送員端末２０に表示される配送ルートの一例を示す図である。図２に示すように、配送員端末２０には、配送員が配送を担当する地域の地図ＭＰが表示され、地図ＭＰ上には、配送ルートＲが示される。なお、地図ＭＰのデータは、配送員端末２０に予め記憶されていてもよいし、サーバ１０から配送員端末２０に送信されてもよい。
【００３４】
図２の例では、配送ルートＲ上に、配送員の現在位置Ｐと、配送先Ｑ１〜Ｑ５と、が表示される。ここでは、配送員は配送先Ｑ１，Ｑ２，Ｑ３，Ｑ４，Ｑ５の順番に荷物を配送するものとする。なお、以降の説明では、配送先の符号をＱｎと記載することがある。Ｑｎのｎの数値は、配送順を示す自然数であり、図２の例では、１〜５の何れかの整数である。
【００３５】
例えば、現在位置Ｐ付近には、現在時間が表示される。また例えば、配送先Ｑｎの付近には、配送先Ｑｎに到着する到着時間と、配送先Ｑｎに滞在する滞在時間とが示されている。到着時間と滞在時間は、サーバ１０が推定した時間であり、これらの推定方法の詳細については後述する。
【００３６】
なお、本実施形態で時間と記載した箇所は、時刻だけを意味してもよいし、日時を意味してもよい。時刻は、時分秒によって示されてもよいし、時分だけによって示されてもよい。また、時間は、ある一時点を意味してもよいし、一定の長さを有する時間帯を意味してもよい。
【００３７】
例えば、配送先Ｑ１の到着時間は、現在時間である１４：００に、配送員の現在位置Ｐ１から配送先Ｑ１までの移動時間である７分を加算した１４：０７となっている。現在位置Ｐ１から配送先Ｑ１の間には経由地がないので、配送先Ｑ１の到着時間は、途中の滞在時間が発生しないものとして推定されるが、配送先Ｑ２〜Ｑ５の各々の到着時間は、経由地があるので、途中の滞在時間が考慮される。
【００３８】
本実施形態では、過去の配送における配送員の位置を統計的に分析することによって、過去に配送員が滞在した滞在先ごとに、滞在時間が推定される。例えば、サーバ１０は、過去の配送時における配送員端末２０の位置データの履歴を蓄積し、当該位置データの分布を分析することによって、地点ごとの滞在時間を計算する。なお、詳細は後述するが、位置データには、位置だけではなく時刻も含まれているものとする。
【００３９】
図３は、地図ＭＰ上にプロットされた位置データを示す図である。図３における黒丸は、位置データを示す。本実施形態では、配送員端末２０は、サーバ１０に対し、定期的（例えば、数秒〜１分ごと）に位置データをアップロードするので、配送員が移動して通りすぎる場所については、位置データの分布がまばらになる。一方、配送員が滞在した場所については、その場所からあまり動かないので、位置データの分布が密になる。
【００４０】
例えば、配送員が通過するだけの道路は、位置データの分布はまばらになる。一方、過去に配送員が荷物を配送した配送先は、一定の時間その地点に留まっているので、位置データの分布が密になる。更に、配送員の滞在時間が長いほど、位置データの密度が高くなる。例えば、世帯数の多いマンション又はエレベータのないマンションなどは、配送に時間がかかり滞在時間が長くなるので、位置データの密度が高くなる。
【００４１】
本実施形態では、サーバ１０は、位置データのクラスタリングを行い、クラスタごとに、滞在時間を計算する。地図ＭＰのうち、クラスタが検出された領域については、一定数の位置データが密集しているため、配送員が一定時間滞在した地点であることを意味する。
【００４２】
図３の例であれば、５つのクラスタＣ１〜Ｃ５が検出されており、クラスタＣ１〜Ｃ５は、それぞれ配送先Ｑ１〜Ｑ５を示している。例えば、配送先Ｑ１〜Ｑ５の各々は、過去に配送員が荷物を配送したことがある場所であり、位置データの密度が比較的高い。その中でも、クラスタＣ２，Ｃ４に対応する配送先Ｑ２，Ｑ４は、他のクラスタＣ１，Ｃ３，Ｃ５に対応する配送先Ｑ１，Ｑ３，Ｑ５よりも、位置データの密度が高く、滞在時間が長くなっている。
【００４３】
例えば、配送先Ｑ１の滞在時間は、クラスタＣ１に属する位置データが示す時刻のうち、最も遅い時刻と最も早い時刻との差となる。ここでは、配送先Ｑ１の滞在時間を３分とする。他の配送先Ｑ２〜Ｑ５についても同様にして滞在時間が計算され、配送先Ｑ２〜Ｑ５の各々の滞在時間を１０分、５分、１５分、４分とする。
【００４４】
なお、図３では、説明の簡略化のために省略したが、配送員がこれから配送に向かう配送先Ｑ１〜Ｑ５以外の他の地点についても、過去に配送員が荷物を配送したことがあれば、クラスタとして検出される。ただし、当該他の地点は、今回の配送ルートＲには含まれていないので、当該他の地点の滞在時間は、到着時間を推定する際には参照されない。また、本実施形態では、ガソリンスタンド又は休憩所のように、配送員が過去に滞在したとしても、配送先ではなかった場所については、クラスタの滞在時間が計算されないようにしている。
【００４５】
本実施形態では、各配送先Ｑｎの滞在時間は、図２に示す地図上Ｍに表示される。各配送先Ｑｎの到着時間は、順番が前の配送先Ｑ１〜Ｑｎ−１の各々の滞在時間が考慮されたうえで計算される。例えば、配送先Ｑ２の到着時間は、配送先Ｑ１の到着時間である１４：０７に、配送先Ｑ１の滞在時間である３分と、配送先Ｑ１から配送先Ｑ２までの移動時間である５分と、を加算した時間の１４：１５となる。
【００４６】
以降の配送先Ｑｋ（ｋ：３〜５の整数）についても同様であり、１つ前の配送先Ｑｋ−１の到着時間に、配送先Ｑｋ−１の滞在時間と、配送先Ｑｋ−１から配送先Ｑｋまでの移動時間を加算した時間となる。別の言い方をすれば、配送先Ｑｋの到着時間は、配送先Ｑｋまでに経由する全ての経由地の滞在時間と、配送先Ｑｋまでの全ての移動時間と、が考慮された時間となる。本実施形態では、上記のようにして推定された到着時間が近づくと、各配送先Ｑｎの受取人に、到着時間を示す電子メールが送信されるようになっている。
【００４７】
図４は、到着時間を示す電子メールが受取人端末３０に表示される様子を示す図である。図４に示すように、電子メールＥＭには、受取人がいる配送先Ｑｎに対して推定された到着時間が表示される。なお、受取人がボタンＢを選択すると、受取人端末３０に、配送員の現在位置が地図上に表示されるようにしてもよい。
【００４８】
以上のように、推定システムＳは、配送員が配送先Ｑｎに向けて移動する場合に、途中で経由する配送先Ｑ１〜Ｑｎ−１の各々の位置に応じた滞在時間を推定し、これら配送先Ｑ１〜Ｑｎ−１の滞在時間に基づいて、配送先Ｑｎの到着時間を推定することによって、到着時間の推定精度を高めるようにしている。以降、推定システムＳの詳細を説明する。なお、以降の説明では、特に図面を参照する必要のないときは、配送先などの符号を省略することがある。
【００４９】
［３．推定システムにおいて実現される機能］
図５は、推定システムＳで実現される機能の一例を示す機能ブロック図である。図５に示すように、推定システムＳでは、データ記憶部１００、参照部１０１、計算部１０２、制限部１０３、学習部１０４、経由地取得部１０５、現在位置取得部１０６、目的地取得部１０７、移動時間推定部１０８、滞在時間推定部１０９、到着時間推定部１１０、及び通知部１１１が実現される。本実施形態では、これら各機能がサーバ１０によって実現される場合を説明する。
【００５０】
[３−１．データ記憶部]
データ記憶部１００は、記憶部１２を主として実現される。データ記憶部１００は、本実施形態で説明する処理を実行するために必要なデータを記憶する。ここでは、データ記憶部１００が記憶するデータの一例として、配送データベースＤＢ１、位置データベースＤＢ２、滞在時間データベースＤＢ３、教師データＤＴ１、道路ネットワークデータＤＴ２、及び機械学習モデルＭについて説明する。
【００５１】
図６は、配送データベースＤＢ１のデータ格納例を示す図である。図６に示すように、配送データベースＤＢ１は、配送に関する情報が格納されたデータベースである。例えば、配送データベースＤＢ１には、荷物を一意に識別する荷物ＩＤ、担当の配送員を一意に識別する配送員ＩＤ、配送順、受取人が指定した希望配送日時、配送先の位置、配送先への到着時間、配送先における滞在時間、配送のステータス、受取人の名前、及び受取人のメールアドレスといった情報が格納される。
【００５２】
配送順は、ある配送員が担当する一連の配送の中での順番である。配送順は、配送員又は管理者が入力してもよいし、希望配送日時や経路探索アリゴリズム等によって自動的に決定されてもよい。配送先の位置は、場所を特定可能な情報であればよく、例えば、住所であってもよいし、緯度経度又は座標であってもよい。本実施形態では、配送先の位置として、住所と緯度経度の両方が格納される場合を説明する。
【００５３】
配送のステータスは、荷物の配送状況を示す情報である。本実施形態では、配送中、配送完了、又は未完了の３つのステータスが用意されている場合を説明するが、他のステータスが存在してもよい。例えば、ステータスは、配送員が配送員端末２０から所定の操作をすることによって変更される。荷物にバーコード又は二次元コードが付与されている場合には、配送員端末２０のコードリーダを備えておき、配送員がバーコード又は二次元コードを読み取ることによって、ステータスが変更されるようにしてもよい。
【００５４】
図７は、位置データベースＤＢ２のデータ格納例を示す図である。図７に示すように、位置データベースＤＢ２は、位置検出部２６により検出された位置データが格納されたデータベースである。例えば、位置データベースＤＢ２には、配送員の配送員ＩＤと、当該配送員の配送員端末２０から受信した位置データと、が格納される。
【００５５】
位置データは、位置検出部２６が検出した位置を示すデータである。本実施形態では、位置データに位置と時刻の両方が示されている場合を説明するが、位置データには、特に時刻は示されなくてもよい。位置と時刻は、任意の形式で表現されてよく、本実施形態では、緯度経度によって位置が表現され、ＩＳＯなどの規格で定められた形式で時刻が表現される。
【００５６】
例えば、配送員端末２０には配送員ＩＤが記憶されており、配送員が配送に出発すると、配送員端末２０は、定式的に最新の位置データを取得し、配送員ＩＤとともにサーバ１０に送信する。サーバ１０は、配送員ＩＤと位置データを受信すると、位置データベースＤＢ２に格納する。以降、配送員が最後の配送先の配送作業を終えるまでの間、配送員端末２０からサーバ１０に対し、定期的に位置データが送信され、位置データベースＤＢ２に格納される。これにより、位置データベースＤＢ２には、配送員の位置が時系列的に格納されることになる。
【００５７】
なお、図１では、配送員端末２０を１台だけ示したが、複数の配送員端末２０が推定システムＳに含まれている場合には、サーバ１０は、複数の配送員端末２０の各々から配送員ＩＤと位置データを受信して位置データベースＤＢ２に格納する。また、配送員ＩＤは、位置データベースＤＢ２に格納されなくてもよい。
【００５８】
図８は、滞在時間データベースＤＢ３のデータ格納例を示す図である。図８に示すように、滞在時間データベースＤＢ３は、複数の滞在先の各々に対して計算された滞在時間が格納されたデータベースである。例えば、滞在時間データベースＤＢ３には、複数の滞在先の各々の位置と、当該地点に対して計算された滞在時間と、が格納される。
【００５９】
滞在先は、過去に配送員が滞在したと推定される場所である。滞在先は、ある一地点であってもよいし、ある一定の広さを有する領域であってもよい。滞在先は、緯度経度又は座標によって示されてもよいし、住所によって示されてもよい。本実施形態では、過去の配送員の移動状況をもとに滞在時間が推定されるので、滞在時間データベースＤＢ３に滞在時間が格納された滞在先は、過去に配送員の誰かが配送先として訪れた場所である。
【００６０】
なお、ガソリンスタンド又は休憩所などといった配送先ではない場所についても、配送員が一定期間滞在していれば、滞在時間データベースＤＢ３に滞在先として格納されることもある。ただし、本実施形態では、後述する制限部１０３の処理により、過去の配送において経由地又は目的地となっていない滞在先については、滞在時間データベースＤＢ３に滞在時間が格納されないようになっている。
【００６１】
図９は、教師データＤＴ１のデータ格納例を示す図である。図９に示すように、教師データＤＴ１は、機械学習モデルＭを学習させるためのデータである。教師データＤＴ１は、訓練データ又は学習データと呼ばれることもある。教師データＤＴ１には、入力（設問）と出力（回答）の関係を示すペアが示されている。教師データＤＴ１に含まれる当該ペアの数は、任意であってよく、例えば、数十〜数万程度であってもよいし、それ以上であってもよい。本実施形態では、教師データＤＴ１には、滞在先の特徴情報を入力とし、当該地点に対して計算された滞在時間を出力とするペアが格納されている。
【００６２】
特徴情報は、滞在先に関する特徴を示す情報である。特徴情報は、任意の観点の特徴を示せばよく、例えば、滞在先の地理的な特徴、滞在先にある建造物の特徴、滞在先を訪れる時間的な特徴、又は滞在先における気象の特徴などである。本実施形態では、特徴情報が地理的な特徴を示し、例えば、配送員が滞在した地点の地域又は建物の属性を示す場合を説明する。
【００６３】
地域の属性は、滞在先が属する地域の分類であり、例えば、都会又は田舎といったように人口の多さに関する属性であってもよいし、交通量の多さに関する属性であってもよい。建物の属性は、滞在先にある建物の分類であり、例えば、建物のタイプ、フロア数、部屋数、エレベータの有無、又は敷地面積といったサイズ又は設備などの属性である。滞在先の滞在時間は、地域又は建物の属性に応じて異なる。
【００６４】
なお、本実施形態では、地域又は建物の属性といった特徴情報が道路ネットワークデータＤＴ２に格納されている場合を説明するが、特徴情報は、他のデータベースに格納されていてもよいし、管理者によって入力されてもよい。
【００６５】
また、データ記憶部１００は、道路ネットワークデータＤＴ２を記憶する。道路ネットワークデータＤＴ２は、道路に関する種々の情報を属性として有するデータであり、例えば、規制速度、道路幅、リンク旅行時間、又は車線数などを属性として有する。道路ネットワークデータＤＴ２は、ＧＩＳ（Geographic Information System）データと呼ばれることもある。道路ネットワークデータＤＴ２自体は、公知のデータを利用可能なため、図示を省略する。
【００６６】
本実施形態では、道路ネットワークデータＤＴ２には、地図上の各地点における特徴情報が含まれているものとする。例えば、地点ごとに、当該地点が属する地域の属性と、当該地点にある建物の属性と、が道路ネットワークデータＤＴ２に格納されている。これらの属性は、道路ネットワークデータＤＴ２の作成者によって入力されるようにすればよい。なお、本実施形態では、道路ネットワークデータＤＴ２が地図データも含むものとするが、道路ネットワークデータＤＴ２は、地図データとは別体であってもよい。
【００６７】
また、データ記憶部１００は、機械学習モデルＭのプログラム（アルゴリズム）やパラメータなどを記憶する。ここでは、教師データＤＴ１によって学習済み（パラメータの調整済み）の機械学習モデルＭがデータ記憶部１００に記憶される場合を説明するが、学習前（パラメータの調整前）の機械学習モデルＭがデータ記憶部１００に記憶されていてもよい。
【００６８】
例えば、機械学習モデルＭは、教師あり機械学習により学習されたモデルである。機械学習モデルＭは、プログラム及びパラメータを含み、教師データＤＴ１に基づく学習処理によってパラメータの調整が行われる。機械学習自体は、公知の種々の手法を適用可能であり、例えば、畳み込みニューラルネットワーク又は再帰型ニューラルネットワークを利用可能である。
【００６９】
本実施形態では、教師データＤＴ１には、配送員が過去に滞在した滞在先の特徴情報を入力とし、当該滞在先に対して計算された滞在時間を出力とするペアが格納されているので、機械学習モデルＭには、これら入力と出力の関係が学習されていることになる。例えば、機械学習モデルＭには、過去に配送員（移動中の配送員と同じ配送員）又は他の配送員（移動中の配送員とは異なる配送員）が滞在した滞在先に関する特徴情報と、実際の滞在時間と、の関係が学習されている。
【００７０】
［３−２．参照部］
参照部１０１は、制御部１１を主として実現される。参照部１０１は、過去における配送員（移動中の配送員と同じ配送員）又は他の配送員（移動中の配送員とは異なる配送員）の位置と時刻の関係を示す位置データが蓄積された位置データベースＤＢ２を参照する。
【００７１】
本実施形態では、配送員は、移動体の一例である。移動体は、目的地に向けて移動する物体であればよく、人間ではなく、機械であってもよい。例えば、移動体は、車両又はバイクなどの乗物、自動運転によって移動する無人車両、又は、いわゆるドローンと呼ばれる無人航空機であってもよい。本実施形態では、配送の場面を例に挙げるので、移動体は、複数の配送先の各々に順番に荷物を配送する配送員又は機械（例えば、配送車両又は無人航空機）となる。本実施形態で配送員と記載した箇所は、移動体と読み替えることができる。
【００７２】
本実施形態では、データ記憶部１００に位置データベースＤＢ２が記憶されているので、参照部１０１は、データ記憶部１００に記憶された位置データベースＤＢ２を参照する。位置データベースＤＢ２がサーバ１０以外の外部コンピュータに記憶されている場合には、参照部１０１は、当該外部コンピュータに対し、位置データベースＤＢ２の参照要求を送信する。参照部１０１は、位置データベースＤＢ２に格納された任意の数の位置データを取得する。
【００７３】
［３−３．計算部］
計算部１０２は、制御部１１を主として実現される。計算部１０２は、位置データベースＤＢ２に蓄積された位置データに基づいて、複数の滞在先の各々の滞在時間を計算する。滞在時間の計算で利用される位置データの数は、任意であってよく、例えば、位置データベースＤＢ２に蓄積された全ての位置データが利用されてもよいし、一部の位置データが利用されてもよい。一部の位置データが利用される場合には、まだ滞在時間の計算で利用されていない位置データが利用されてもよいし、直近の所定期間の位置データが利用されてもよい。
【００７４】
例えば、計算部１０２は、位置データを統計的に分析して配送員が滞在した滞在先を特定し、当該滞在先ごとに滞在時間を計算する。本実施形態では、計算部１０２は、位置データベースＤＢ２に蓄積された位置データをクラスタリングする。計算部１０２は、クラスタごとに、当該クラスタに属する位置データが示す時刻に基づいて、当該クラスタに対応する滞在先の滞在時間を計算する。
【００７５】
クラスタリングは、所定の条件に基づいてデータを分類することである。別の言い方をすれば、クラスタリングは、似た内容のデータをグループ化することである。クラスタは、似た内容のデータのあつまりであり、分類又はグループと呼ぶこともできる。本実施形態では、クラスタリングの一例として、密度準拠クラスタリングの一例であるＤＢＳＣＡＮを説明するが、クラスタリングのアルゴリズム自体は、公知の手法を利用可能である。例えば、クラスタリングは、最短距離法などの階層的手法、又は、ｋ−ｍｅａｎｓ法などの非階層的手法といった他の手法を利用してもよい。
【００７６】
クラスタに対応する滞在先とは、クラスタに属する位置データに基づいて定まる滞在先である。別の言い方をすれば、クラスタに対応する滞在先は、配送員が滞在したと推定される滞在先である。クラスタに対応する滞在先は、クラスタに属する複数の位置データが示す位置の平均値であってもよいし、クラスタに属する何れか１つの位置データが示す位置であってもよい。
【００７７】
図３の例であれば、計算部１０２は、参照部１０１が位置データベースＤＢ２を参照して取得した複数の位置データに対し、クラスタリングを行い、クラスタＣ１〜Ｃ５を特定する。計算部１０２は、クラスタＣ１に属する複数の位置データに基づいて、クラスタＣ１に対応する滞在先の滞在時間を計算する。例えば、計算部１０２は、クラスタＣ１に属する複数の位置データの各々が示す時刻のうち、最も遅い時刻から最も早い時刻を引いた時間を、クラスタＣ１の滞在時間として計算する。計算部１０２は、他のクラスタＣ２〜Ｃ５についても、同様の処理によって滞在時間を計算する。
【００７８】
なお、滞在時間の計算方法は、上記の例に限られず、同じクラスタに属する位置データが示す時刻に基づいて、滞在時間が計算されるようにすればよい。例えば、２番目に遅い時刻と最も早い時刻との差分を滞在時間としてもよいし、最も遅い時刻と２番目に早い時刻との差分を滞在時間としてもよい。その他にも、計算部１０２は、任意の方法で滞在時間を計算可能である。
【００７９】
また、特にクラスタリングを利用せずに滞在時間が計算されてもよく、例えば、計算部１０２は、位置データベースＤＢ２に蓄積された位置データに基づいて、配送者又は他の配送者が一定の範囲内にいたか否かを判定することによって、複数の滞在先を特定してもよい。この場合、計算部１０２は、滞在先ごとに、配送者又は他の配送者が当該滞在先にいた場合の位置データが示す時刻に基づいて、当該滞在先の滞在時間を計算する。
【００８０】
例えば、計算部１０２は、複数の位置データに基づいて、配送者の単位時間あたりの移動距離（即ち、移動速度）を計算し、当該単位時間あたりの移動距離が閾値未満の状態（即ち、移動速度が略０の状態。）が一定時間継続した場合に、配送者が一定の範囲内にいたと判定する。計算部１０２は、単位時間あたりの移動距離が閾値未満の状態から閾値以上の状態になった場合に、配送者が一定の範囲外に出たと判定して、それまでの滞在時間を計算する。この場合、計算部１０２は、単位時間あたりの移動距離が閾値未満になった時刻から、単位時間あたりの移動距離が閾値以上になった時刻までの時間を滞在時間として計算すればよい。
【００８１】
なお、計算部１０２は、全ての滞在先の滞在時間を計算する必要はなく、一部の滞在先についてのみ滞在時間を計算してもよい。この場合、計算部１０２は、ランダムに選択したクラスタについてのみ滞在時間を計算してもよいし、過去の配送における経由地又は目的地に対応するクラスタについてのみ滞在時間を計算してもよい。
【００８２】
また、計算部１０２は、クラスタリングをする時点で、後述する目的地又は経由地となる蓋然性が低い場所をクラスタリングの対象外としてもよい。例えば、計算部１０２は、過去の配送における経由地又は目的地から離れた位置を示す位置データについては、クラスタリングの対象外とする。更に、計算部１０２は、過去の配送に関係なく、人がいる蓋然性が高い場所をクラスタリングの対象とし、人がいる蓋然性が低い場所はクラスタリングの対象外としてもよい。
【００８３】
人がいる蓋然性が高い場所は、例えば、民家、会社、又は何らかの施設がある場所であり、人がいる蓋然性が低い場所は、それ以外の場所である。本実施形態では、道路ネットワークデータＤＴ２に、各地点の属性（例えば、建物の種類）が示されているので、計算部１０２は、道路ネットワークデータＤＴ２を参照し、人がいる蓋然性が高い所定の属性の場所をクラスタリングの対象とし、それ以外の属性の場所はクラスタリングの対象外とする。他にも例えば、計算部１０２は、特に属性を利用せずに、予め定められたエリア（人がいると思われるエリア）であるか否かを判定し、当該エリアをクラスタリングの対象とし、それ以外のエリアはクラスタリングの対象外としてもよい。
【００８４】
［３−４．制限部］
制限部１０３は、制御部１１を主として実現される。制限部１０３は、目的地又は経由地となる蓋然性（確率又は可能性）が低い滞在先の滞在時間が、滞在時間推定部１０２による推定で利用されることを制限する。
【００８５】
目的地又は経由地となる蓋然性が低い滞在先は、例えば、人がいないと思われる場所、又は、配送員が訪れないと思われる場所である。この滞在先は、任意の方法で判定されるようにすればよく、例えば、過去の配送に基づいて判定されてもよいし、過去の配送に関係なく場所的な情報によって判定されてもよい。ここでは、過去における配送員又は他の配送員の経由地又は目的地（以降、過去の配送先と記載する。）に対応しない滞在先を、人がいる蓋然性が低い滞在先の一例として説明する。
【００８６】
過去の配送先とは、位置データが取得されたときの配送ルート上の配送先である。別の言い方をすれば、過去の配送先は、配送員又は他の配送員が実際に訪れて滞在したことがある配送先である。過去の配送先は、配送データベースＤＢ１が参照されることによって特定される。
【００８７】
過去の配送先に対応しない滞在先とは、過去の配送先と一致しない滞在先、又は、過去の配送先から遠い場所にある滞在先である。例えば、配送先がクラスタに含まれない（属さない）ことは、滞在先が配送先に対応しないことに相当する。また例えば、過去の配送先から所定距離以上離れていることは、滞在先が配送先に対応しないことに相当する。
【００８８】
滞在時間推定部１０２による推定で利用するとは、滞在時間の推定時に参照することである。制限とは、利用されないようにすることである。本実施形態では、制限部１０３は、過去の配送先に対応しない滞在先については、計算部１０２による滞在時間の計算対象から除外する。即ち、過去の配送先に対応しない滞在先については、滞在時間が計算されない。
【００８９】
本実施形態では、計算部１０２によりクラスタが特定されるので、制限部１０３は、複数のクラスタの各々が過去の配送先に対応するか否かを判定する。例えば、制限部１０３は、クラスタの位置と過去の配送先の位置との距離が閾値未満であれば、当該クラスタが過去の配送先に対応すると判定し、当該距離が閾値以上であれば、当該クラスタが過去の配送先に対応しないと判定する。制限部は、過去の配送先に対応する滞在先については、計算部１０２に滞在計算を計算させ、過去の配送先に対応しない滞在先については、計算部１０２に滞在計算を計算させない。
【００９０】
なお、計算部１０２は、滞在先が過去の配送先に対応するか否かに関係なく、全てのクラスタについて滞在時間を計算してもよい。この場合、制限部１０３は、過去の配送先に対応しない滞在先の滞在時間を滞在時間データベースＤＢ３に格納しないようにしてもよいし、過去の配送先に対応しない滞在先の滞在時間を機械学習モデルＭに学習させないようにしてもよい。
【００９１】
また、制限部１０３は、人がいる蓋然性が高い滞在先の滞在時間が推定で利用されることを許可し、人がいる蓋然性が低い滞在先の滞在時間が、推定で利用されることを制限してもよい。人がいる蓋然性が高い場所であるか否かを判定する方法は、先述した通りであり、道路ネットワークデータＤＴ２が示す属性が所定の属性であるか否かによって、人がいる蓋然性が高い場所であるか否かが判定されるようにすればよいし、特に属性を利用せずに、予め定められたエリアであるか否かが判定されてもよい。
【００９２】
［３−５．学習部］
学習部１０４は、制御部１１を主として実現される。学習部１０４は、教師データＤＴ１に基づいて、機械学習モデルＭの学習処理を実行する。学習処理自体は、公知の種々の手法を利用可能であり、例えば、ニューラルネットワーク等で利用されている手法を利用すればよい。学習部１０４は、教師データＤＴ１の入力と出力の関係が得られるように、機械学習モデルＭのパラメータを調整する。
【００９３】
なお、教師データＤＴ１は、滞在時間データベースＤＢ３に格納された各滞在先の位置及び滞在時間と、道路ネットワークデータＤＴ２に格納された特徴情報と、に基づいて作成される。例えば、サーバ１０は、滞在時間データベースＤＢ３に格納された任意の滞在先の位置を取得し、道路ネットワークデータＤＴ２に格納された当該滞在先の特徴情報を取得する。サーバ１０は、これら取得した位置及び特徴情報を入力とし、滞在時間データベースＤＢ３に格納された滞在時間を出力とするペアを作成する。サーバ１０は、他の滞在先についても同様にしてペアを作成し、教師データＤＴ１を作成する。なお、教師データＤＴ１は、管理者が手動で作成してもよい。
【００９４】
［３−６．経由地取得部］
経由地取得部１０５は、制御部１１を主として実現される。経由地取得部１０５は、目的地に向けて移動する配送員の経由地の位置を取得する。
【００９５】
目的地は、到着時間の推定対象となる場所である。目的地は、配送員が最終的に到達する場所になることもあるし、経由地の１つとなることもある。目的地の前には、少なくとも１つの経由地が存在する。目的地の前には、経由地が１つだけ存在してもよいし、複数の経由地が存在してもよい。本実施形態では、目的地は、複数の配送先の何れかであり、配送の順番が２番目以降の各配送先が目的地に相当する。図２の例であれば、配送先Ｑ２〜Ｑ５の各々が目的地に相当する。
【００９６】
経由地は、目的地に到着する前に訪れる場所である。複数の経由地が存在する場合、目的地の直近に訪れる場所だけでなく、２つ以上前に訪れる場所についても経由地に相当する。経由地は、配送員が何の目的もなくただ通過するのではなく、所定の目的を持って一定時間滞在する。例えば、経由地では、荷物の配送、代引き処理、又は荷物の集荷といった作業が行われる。配送員は、数秒〜１分程度の間だけ経由地に滞在してもよいし、数分〜数時間程度の間、経由地に滞在してもよい。なお、経由地は、特に作業が行われず、配送員が休憩したり配送車両に給油したりする場所であってもよい。
【００９７】
本実施形態では、経由地は、複数の配送先のうち、目的地の配送先よりも順番が前の配送先である。図２の例であれば、配送先Ｑ１〜Ｑ４の各々が経由地に相当する。例えば、目的地を配送先Ｑ２とすると、経由地は、配送先Ｑ１である。また例えば、目的地を配送先Ｑ３とすると、経由地は、配送先Ｑ１，Ｑ２である。また例えば、目的地を配送先Ｑ４とすると経由地は、配送先Ｑ１〜Ｑ３である。また例えば、目的地を配送先Ｑ５とすると、経由地は、配送先Ｑ１〜Ｑ４である。なお、配送先Ｑ５以降にも配送先が存在する場合には、配送先Ｑ５も経由地になり得る。
【００９８】
本実施形態では、配送データベースＤＢ１に経由地の位置が格納されているので、経由地取得部１０５は、配送データベースＤＢ１を参照して、経由地の位置を取得する。経由地の位置がサーバ１０以外の外部コンピュータに記憶されている場合には、経由地取得部１０５は、当該外部コンピュータに対し、経由地の位置の参照要求を送信し、当該外部コンピュータから経由地の位置を取得する。なお、経由地は、配送員端末２０等のコンピュータにおいて入力されてもよく、現在位置取得部１０６は、当該入力された経由地を取得してもよい。
【００９９】
［３−７．現在位置取得部］
現在位置取得部１０６は、制御部１１を主として実現される。現在位置取得部１０６は、移動中の配送員の現在位置を取得する。配送員の現在位置は、位置検出部２６により検出される位置である。本実施形態では、配送員端末２０は、定期的に現在位置を取得してサーバ１０に送信するので、現在位置取得部１０６は、配送員端末２０から定期的に現在位置を取得する。
【０１００】
本実施形態では、現在位置取得部１０６は、取得した位置データを位置データベースＤＢ２に格納する。現在位置取得部１０６は、取得した位置データをそのまま位置データベースＤＢ２に格納してもよいし、マップマッチングを施して位置データを道路上の位置に補正したうえで、当該補正された位置データを位置データベースＤＢ２に格納してもよい。
【０１０１】
なお、配送員端末２０は、自発的に現在位置を送信するのではなく、サーバ１０からの要求を受けて現在位置を送信してもよい。この場合、現在位置取得部１０６は、配送員端末２０に対し、現在位置の取得要求を送信する。配送員端末２０は、当該取得要求を受信すると、位置検出部２６により検出された現在位置をサーバ１０に送信する。現在位置取得部１０６は、取得要求に応じて送信された現在位置を取得する。
【０１０２】
本実施形態では、位置データに現在位置が示されているので、現在位置取得部１０６は、位置検出部２６により検出された位置を含む位置データを取得することになる。現在位置取得部１０６は、配送員端末２０から直接的に位置データを取得してもよいし、他のコンピュータを経由して間接的に位置データを取得してもよい。なお、配送員の現在位置は、配送員端末２０等のコンピュータにおいて入力されてもよく、現在位置取得部１０６は、当該入力された現在位置を取得してもよい。
【０１０３】
［３−８．目的地取得部］
目的地取得部１０７は、制御部１１を主として実現される。目的地取得部１０７は、目的地の位置を取得する。本実施形態では、配送データベースＤＢ１に目的地の位置が格納されているので、目的地取得部１０７は、配送データベースＤＢ１を参照して、目的地の位置を取得する。目的地の位置がサーバ１０以外の外部コンピュータに記憶されている場合には、目的地取得部１０７は、当該外部コンピュータに対し、目的地の位置の参照要求を送信し、当該外部コンピュータから目的地の位置を取得する。なお、目的地は、配送員端末２０等のコンピュータにおいて入力されてもよく、目的地取得部１０７は、当該入力された目的地の位置を取得してもよい。
【０１０４】
［３−９．移動時間推定部］
移動時間推定部１０８は、制御部１１を主として実現される。移動時間推定部１０８は、配送員の現在位置と、目的地の位置と、に基づいて、移動時間を推定する。ここでの推定とは、配送員の現在位置及び目的地の位置に応じた移動時間を計算することである。なお、移動時間推定部１０８は、道路の交通状況を示す交通データ（いわゆるＶＩＣＳ（登録商標）データ）を取得して移動時間を計算してもよいし、天候などの他の要因を考慮して移動時間を計算してもよい。
【０１０５】
移動時間は、移動に要した時間であり、滞在時間は含まれない。例えば、移動時間は、現在位置から経由地に到着するまでに要する時間と、経由地を出発してから目的地に到着するまでに要する時間と、の合計時間である。複数の経由地が存在する場合には、これらの合計時間に対し、ある経由地を出発してから次の経由地に到着するまでの時間が加算される。
【０１０６】
例えば、移動時間推定部１０８は、道路ネットワークデータＤＴ２に基づいて、配送員の現在位置から目的地までの距離を計算し、当該計算した距離を所定の移動速度で割ることによって移動時間を推定する。距離は、配送ルート上の距離とするが、直線距離であってもよい。移動速度は、全区間で均一であってもよいし、区間に応じて異なってもよい。移動速度が区間に応じて異なる場合には、例えば、区間ごとの標準的な移動速度が道路ネットワークデータＤＴ２に示されている。
【０１０７】
［３−１０．滞在時間推定部］
滞在時間推定部１０９は、制御部１１を主として実現される。滞在時間推定部１０９は、経由地の位置に基づいて、経由地における配送員の滞在時間を推定する。ここでの推定とは、経由地に応じた滞在時間を取得することである。
【０１０８】
滞在時間は、経由地の位置に応じた長さとなる。別の言い方をすれば、滞在時間は、経由地の位置に基づいて定まる長さとなる。滞在時間は、全ての経由地で偶然同じになることもあるし、経由地ごとに異なることもある。複数の滞在先の各々の位置と滞在時間との関係は、データ記憶部に記憶されており、滞在時間推定部１０９は、当該関係に基づいて、経由地の位置に応じた滞在時間を推定する。
【０１０９】
複数の滞在先の各々の位置と滞在時間との関係は、任意の形式で示されてよく、例えば、テーブル形式又は数式形式で示されていてもよいし、プログラムコードの一部として示されてもよい。本実施形態では、滞在時間データベースＤＢ３に上記関係が示されている場合を説明するが、機械学習モデルＭに上記の関係が示されていてもよい。即ち、機械学習モデルＭには、経由地の特徴情報だけでなく、経由地の位置と滞在時間の関係が学習されていてもよい。
【０１１０】
例えば、滞在時間推定部１０９は、複数の滞在先の各々の滞在時間（計算部１０２により計算された滞在時間）と、経由地の位置と、に基づいて、経由地における滞在時間を推定する。例えば、複数の滞在先の各々の滞在時間は滞在時間データベースＤＢ３に格納されているので、滞在時間推定部１０９は、滞在時間データベースＤＢ３を参照し、経由地の位置に関連付けられた滞在時間を取得する。
【０１１１】
また例えば、滞在時間推定部１０９は、経由地の位置に関連付けられた、経由地に関する特徴情報に基づいて、滞在時間を推定する。特徴情報と滞在時間との関係は、任意の形式で示されてよく、例えば、テーブル形式又は数式形式で示されていてもよいし、プログラムコードの一部として示されてもよい。本実施形態では、機械学習モデルＭに上記の関係が示されている場合を説明するが、特に機械学習モデルＭを利用せずに、上記説明したテーブル等を利用してもよい。
【０１１２】
滞在時間推定部１０９は、機械学習モデルＭに、経由地に関する特徴情報を入力し、機械学習モデルＭから出力された滞在時間を取得する。機械学習モデルＭは、経由地の特徴情報が入力されると、入力された特徴情報をベクトル等の特徴量で表現し、当該特徴量に基づいて滞在時間を出力する。滞在時間推定部１０９は、機械学習モデルＭから出力された滞在時間を取得することによって、経由地における滞在時間を推定する。なお、特徴量は、機械学習モデルＭ以外のアルゴリズムによって計算され、機械学習モデルＭに入力されてもよい。
【０１１３】
本実施形態では、特徴情報は、地域又は建物の属性を示し、滞在時間推定部１０９は、経由地の地域又は建物の属性に基づいて、滞在時間を推定する。例えば、機械学習モデルＭには、過去に配送員又は他の配送員が移動した滞在先の地域又は建物の属性と、当該滞在先における実際の滞在時間と、の関係が学習されている。滞在時間推定部１０９は、機械学習モデルＭに、経由地の地域又は建物の属性を入力し、機械学習モデルＭから出力された滞在時間を取得することになる。機械学習モデルＭは、経由地の地域又は建物の属性が入力されると、特徴量を計算し、当該特徴量に基づいて滞在時間を出力することになる。
【０１１４】
例えば、経由地が都会である場合には、経由地が田舎である場合よりも滞在時間は長くなる。また例えば、経由地がマンション又はオフィスビルである場合には、経由地が一戸建てである場合よりも滞在時間は長くなる。また例えば、経由地のフロア数又は部屋数が多いほど滞在時間は長くなる。また例えば、経由地にエレベータが無い場合には、経由地にエレベータがある場合よりも、滞在時間は長くなる。
【０１１５】
なお、滞在時間推定部１０９は、滞在時間データベースＤＢ３を利用して取得した滞在時間と、機械学習モデルＭを利用して取得した滞在時間と、の両方を取得してもよいし、これらの平均値を滞在時間として取得してもよい。また、滞在時間推定部１０９は、滞在時間データベースＤＢ３だけを利用して滞在時間を取得してもよいし、機械学習モデルＭだけを利用して滞在時間を取得してもよい。また、本実施形態では、制限部１０３による制限が行われるので、滞在時間推定部１０９は、制限部１０３による制限が行われなかった滞在時間に基づいて、滞在時間の推定を行うことになる。
【０１１６】
［３−１１．到着時間推定部］
到着時間推定部１１０は、制御部１１を主として実現される。到着時間推定部１１０は、滞在時間に基づいて、目的地への到着時間を推定する。到着時間は、目的地までの移動時間に対し、滞在時間が加算された時間である。本実施形態では、到着時間推定部１１０は、移動時間推定部１０８により推定された移動時間と滞在時間とに基づいて、到着時間を推定する。
【０１１７】
本実施形態では、移動中の配送員の到着時刻がリアルタイムに推定されるので、到着時間推定部１１０は、現在時間に対し、移動時間と滞在時間を加算することによって、到着時間を推定する。なお、到着時間推定部１１０は、翌日などの未来の日付における到着時間を推定してもよい。この場合、到着時間推定部１１０は、所定の出発時間に対し、移動時間と滞在時間を加算することによって、到着時間を推定する。出発時間は、配送員又は管理者などによって入力されてもよいし、配送員の出勤時間が格納されたデータなどによって取得されてもよい。
【０１１８】
なお、移動時間は、予め定められた方法に基づいて取得されるようにすればよく、本実施形態では、移動時間推定部１０８により推定される場合を説明するが、管理者が移動時間を入力してもよいし、滞在先間の平均的な移動時間が格納されたデータベースが利用されてもよい。他にも例えば、滞在先間の移動時間を学習させた機械学習モデルＭを利用してもよい。
【０１１９】
［３−１２．通知部］
通知部１１１は、制御部１１を主として実現される。通知部１１１は、配送員が目的地に到達する前に、目的地に関連付けられた受取人に、到着時間を通知する。受取人は、目的地に関連付けられたユーザの一例である。目的地に関連付けられたユーザは、目的地に基づいて定まる者であればよく、例えば、目的地にいる者であってもよいし、目的地にいない者であってもよい。
【０１２０】
本実施形態では、電子メールを利用した通知を例に挙げて説明するが、通知は、任意の方法で行われるようにすればよい。例えば、メッセージアプリ、ＳＮＳ、受取人端末３０におけるプッシュ通知、又は受取人端末３０にインストールされたアプリ内の通知などを利用してもよい。また、本実施形態では、視覚的に通知が行われる場合を説明するが、電話やボイスメールなどの音声によって聴覚的な通知が行われてもよいし、バイブレータ等を利用して触覚的な通知が行われてもよい。
【０１２１】
通知部１１１は、任意のタイミングで通知をすればよく、例えば、到着時間が近づいた場合、配送員が配送先に近づいた場合、又は受取人端末３０のアプリケーションが起動した場合などに通知をすればよい。他にも例えば、通知部１１１は、到着時間が推定されてすぐに通知をしてもよいし、予め定められた時間になった場合に通知をしてもよい。
【０１２２】
［４．本実施形態において実行される処理］
次に、本実施形態において実行される処理を説明する。ここでは、位置データのクラスタリングをして滞在時間を計算する事前処理と、配送員が荷物の配送をする場合の到着時間を推定する推定処理と、について説明する。
【０１２３】
［４−１．事前処理］
図１０は、事前処理の一例を示すフロー図である。図１０に示すように、事前処理は、制御部１１が記憶部１２に記憶されたプログラムに従って動作することによって実行される。事前処理は、図５に示す機能ブロックにより実行される処理の一例である。なお、事前処理は、任意のタイミングで実行されるようにすればよく、例えば、夜間などのバッチ処理として実行されてもよいし、管理者が所定の操作をした場合に実行されてもよい。
【０１２４】
図１０に示すように、まず、制御部１１は、位置データベースＤＢ２に基づいて、位置データのクラスタリングを実行する（Ｓ１００）。Ｓ１００においては、制御部１１は、ＤＢＳＣＡＮ等の公知のクラスタリング手法に基づいて、位置データのクラスタリングを実行する。制御部１１は、複数のクラスタの各々と、当該クラスタに属する位置データと、の関係を記憶部１２に記録する。
【０１２５】
制御部１１は、配送データベースＤＢ１に基づいて、過去の配送先に対応しないクラスタを滞在時間の計算対象から除外する（Ｓ１０１）。Ｓ１０１においては、制御部１１は、配送データベースＤＢ１を参照し、過去の配送において経由地又は目的地になった配送先と、Ｓ１００で特定したクラスタと、が対応するか否かを判定する。制御部１１は、過去の配送先に対応しないクラスタについては、滞在時間の計算対象から除外し、過去の配送先に対応するクラスタを、滞在時間の計算対象とする。
【０１２６】
制御部１１は、滞在時間の計算対象のクラスタごとに、当該クラスタに属する位置データに基づいて、当該クラスタに対応する滞在先の滞在時間を計算する（Ｓ１０２）。Ｓ１０２においては、制御部１１は、クラスタごとに、当該クラスタに属する位置データのうち、最も早い時刻と最も遅い時刻との差分を計算する。また、制御部１１は、クラスタに属する位置データが示す位置の平均値を、当該クラスタに対応する滞在先として計算する。
【０１２７】
制御部１１は、Ｓ１０１で計算された各滞在先の滞在時間に基づいて、滞在時間データベースＤＢ３を更新する（Ｓ１０３）。制御部１１は、滞在時間データベースＤＢ３に、滞在時間が計算された各クラスタに対応する滞在先と、当該クラスタに対して計算された滞在時間と、のペアを格納することになる。
【０１２８】
制御部１１は、滞在時間データベースＤＢ３と道路ネットワークデータＤＴ２とに基づいて、教師データＤＴ１を作成する（Ｓ１０４）。Ｓ１０４においては、制御部１１は、道路ネットワークデータＤＴ２を参照し、滞在時間データベースＤＢ３に滞在時間が格納された滞在先の位置の特徴情報を取得する。制御部１１は、当該取得した特徴情報を入力とし、当該滞在先の滞在時間を出力とするペアを滞在先の数だけ作成することによって、教師データＤＴ１を作成する。
【０１２９】
制御部１１は、Ｓ１０４で作成した教師データＤＴ１に基づいて、機械学習モデルＭの学習処理を実行し（Ｓ１０４）、本処理は終了する。Ｓ１０４においては、制御部１１は、公知の教師有り機械学習手法を利用して、教師データＤＴ１のペアが示す入力と出力の関係が得られるように、機械学習モデルＭのパラメータを調整する。
【０１３０】
［４−２．推定処理］
図１１及び図１２は、推定処理の一例を示すフロー図である。図１１及び図１２に示す処理は、制御部１１，２１，３１が記憶部１２，２２，３１に記憶されたプログラムに従って動作することによって実行される。下記に説明する処理は、図５に示す機能ブロックにより実行される処理の一例である。推定処理は、任意のタイミングで実行されるようにすればよく、例えば、配送員が配送員端末２０を持って配送に出発した場合に実行される。
【０１３１】
図１１に示すように、まず、配送員端末２０においては、制御部２１は、位置検出部２６の検出信号に基づいて、配送員の現在の位置を示す位置データを取得する（Ｓ２００）。Ｓ２００においては、制御部２１は、位置検出部２６が受信した衛星からの信号に基づいて、現在の時刻と現在の緯度経度を示す位置データを取得する。
【０１３２】
制御部２１は、サーバ１０に対し、Ｓ２００で取得した位置データを送信する（Ｓ２０１）。なお、配送員端末２０の記憶部２２には、配送員ＩＤが記憶されており、Ｓ２０１においては、制御部２１は、配送員ＩＤとともに位置データを送信する。これにより、サーバ１０は、どの配送員の配送員端末２０から位置データを受信したかを識別できる。
【０１３３】
サーバ１０においては、配送員端末２０から位置データを受信すると、制御部１１は、位置データベースＤＢ２に位置データを格納する（Ｓ２０２）。Ｓ２０２においては、制御部１１は、配送員端末２０から受信した配送員ＩＤと位置データを関連付けて位置データベースＤＢ２に格納する。
【０１３４】
制御部１１は、配送データベースＤＢ１、最新の位置データ、及び道路ネットワークデータＤＴ２に基づいて、配送員の配送ルートＲを決定する（Ｓ２０３）。Ｓ２０３においては、制御部１１は、公知の経路探索アルゴリズムに基づいて、最新の位置データが示す位置から、配送データベースＤＢ１に格納された順番に各配送先を移動するための配送ルートＲを決定する。なお、ここでは、位置データを受信するたびに、Ｓ２０３〜Ｓ２０７の処理が実行されるものとして説明するが、Ｓ２０３〜Ｓ２０７の処理は、任意のタイミングで実行されるようにすればよく、例えば、一定の時間が経過するたびに実行されるようにしてもよいし、ある配送先における配送が完了した場合に実行されるようにしてもよい。なお、配送先にキャンセルが発生した場合には、配送ルートＲが再計算されてもよい。
【０１３５】
制御部１１は、Ｓ２０３で決定した配送ルートＲに基づいて、各配送先間の移動時間を推定する（Ｓ２０４）。Ｓ２０４においては、制御部１１は、配送ルートＲが示す各配送先間の距離を計算し、当該計算した距離を所定の速度で割ることによって、各配送先間の移動時間を計算する。
【０１３６】
制御部１１は、経由地となる配送先の位置に基づいて、滞在時間を推定する（Ｓ２０５）。Ｓ２０５においては、例えば、制御部１１は、滞在時間データベースＤＢ３を参照し、経由地となる配送先の位置に関連付けられた滞在時間を取得する。また例えば、制御部１１は、機械学習モデルＭに、経由地となる配送先の位置に関連付けられた特徴情報を入力し、機械学習モデルＭから出力された滞在時間を取得する。制御部１１は、これらの何れか一方の処理を実行してもよいし、これら両方の処理を実行して滞在時間の平均を算出してもよい。先述したように、本実施形態では、過去の配送先に対応しない滞在先（例えば、配送先ではないが、クラスタとして特定されたガソリンスタンド又は休憩場所）の滞在時間は、滞在時間データベースＤＢ３に格納されず、機械学習モデルＭにも学習されていないので、推定処理から事前に除外される。
【０１３７】
制御部１１は、Ｓ２０４で推定した移動時間と、Ｓ２０５で推定した滞在時間と、に基づいて、目的地となる配送先の到着時間を推定する（Ｓ２０６）。Ｓ２０６においては、制御部１１は、ある配送先Ｑｎの到着時間として、１つ前の配送先Ｑｎ−１の到着時間に対し、配送先Ｑｎ−１の滞在時間と、配送先Ｑｎ−１から配送先Ｑｎまでの移動時間と、を加算した時間を取得する。なお、制御部１１は、最初の経由地である配送先Ｑ１については、現在時間に対し、配送先Ｑ１までの移動時間を加算した時間を到着時間として取得する。
【０１３８】
制御部１１は、配送員端末２０に対し、Ｓ２０３で決定した配送ルートＲと、各配送先の到着時間及び滞在時間と、を含む配送支援情報を送信する（Ｓ２０７）。
【０１３９】
配送員端末２０においては、配送支援情報を受信すると、制御部２１は、配送支援情報に基づいて、表示部２５における地図ＭＰの表示を更新する（Ｓ２０８）。Ｓ２０８においては、制御部２１は、配送支援情報に含まれる配送ルートＲと、各配送先の到着時間及び滞在時間と、を地図ＭＰ上に表示させる。なお、地図ＭＰのデータは、予め配送員端末２０の記憶部２２に記憶されていてもよいし、サーバ１０から配送員端末２０に提供されてもよい。
【０１４０】
サーバ１０においては、制御部１１は、到着時間が近づいた配送先が存在するか否かを判定する（Ｓ２０９）。Ｓ２０９においては、制御部１１は、リアルタイムクロック等を利用して現在時間を取得する。制御部１１は、配送データベースＤＢ１の中に、現在時間から所定時間以内の到着時間が存在するか否かを判定する。
【０１４１】
到着時間が近づいた配送先が存在する場合（Ｓ２０９；Ｙ）、図１２に移り、制御部１１は、配送データベースＤＢ１に基づいて、到着時間が近づいた配送先の受取人に対し、到着時間を含む電子メールを送信する（Ｓ２１０）。Ｓ２１０においては、制御部１１は、配送データベースＤＢ１を参照して、到着時間が近づいた配送先の受取人のメールアドレスを取得する。制御部１１は、メールアドレスに、到着時間を含む電子メールを送信する。電子メールのフォーマットは、記憶部１２に予め記憶されているものとする。
【０１４２】
受取人端末３０においては、電子メールを受信すると、制御部３１は、受信した電子メールを表示部３５に表示させる（Ｓ２１１）。Ｓ２１１においては、図４に示す画面が表示され、受取人は、正確な到着時間を把握することができる。
【０１４３】
一方、配送員端末２０においては、制御部２１は、操作部２４の検出信号に基づいて、荷物のステータスを変更するための変更操作が行われたか否かを判定する（Ｓ２１２）。この操作は、配送先において配送員が所定の作業をした場合に行われる。例えば、配送先における荷物の配送が完了した場合、又は、配送先を訪れたが受取人が不在であった場合に、当該操作が行われる。なお、配送員端末２０には、配送データベースＤＢ１のうち、配送員が担当する配送のデータがダウンロードされているものとする。このため、配送員端末２０は、変更操作の対象となる配送先等を特定可能となっている。
【０１４４】
変更操作が行われたと判定された場合（Ｓ２１２；Ｙ）、制御部２１は、サーバ１０に対し、変更操作の操作内容を送信する（Ｓ２１３）。Ｓ２１３においては、制御部２１は、変更操作の対象となった荷物の荷物ＩＤと、配送員により指定されたステータスを識別する情報と、を送信する。
【０１４５】
サーバ１０においては、変更操作の操作内容を受信すると、制御部１１は、配送データベースＤＢ１を更新する（Ｓ２１４）。Ｓ２１４においては、制御部２１は、荷物ＩＤに関連付けられたステータスを更新する。ステータスが更新されると、配送員は、次の配送先に向けて出発する。
【０１４６】
制御部１１は、配送データベースＤＢ１に基づいて、全ての配送が完了したか否かを判定する（Ｓ２１５）。また、配送員端末２０においては、制御部２１は、配送データベースＤＢ１のうち配送員が担当する配送のデータに基づいて、全ての配送が完了したか否かを判定する（Ｓ２１６）。Ｓ２１５，Ｓ２１６においては、全ての荷物のステータスが移動中以外になったか否かが判定される。
【０１４７】
まだ完了していない配送が存在する場合（Ｓ２１５，Ｓ２１６；Ｎ）、Ｓ２００の処理に戻り、配送員端末２０は、最新の位置データを取得してサーバ１０に送信し、サーバ１０は、最新の位置データを受信する。一方、全ての配送が完了したと判定された場合（Ｓ２１５，Ｓ２１６；Ｙ）、本処理は終了する。
【０１４８】
以上説明した推定システムＳによれば、目的地に向けて移動する配送員の経由地の位置に応じた滞在時間に基づいて、目的地への到着時間を推定するので、到着時間の推定精度を高めることができる。例えば、従来技術のように、単に配送先間の移動時間を合計して到着時間を推定するのではなく、経由地における滞在時間を考慮に入れて到着時間を推定することによって、経由地における滞在で消費される時間を到着時間に反映することができる。また例えば、従来技術のように、配送員による実際の荷物の配送状況を検出して到着時間を再計算する技術とは異なり、実際の配送状況を検出しなくても、精度の高い到着時間を推定することができる。このため、例えば、配送員が出発する前であったとしても、精度の高い到着時間を推定することができる。
【０１４９】
また、推定システムＳは、配送員の現在位置と目的地の位置とに基づいて移動時間を推定し、当該推定した移動時間と経由地における滞在時間とに基づいて、到着時間を推定することによって、移動中の配送員の現在位置に応じた精度の高い到着時間を推定することができる。
【０１５０】
また、推定システムＳは、位置データベースＤＢ２に蓄積された位置データに基づいて、複数の滞在先の各々の滞在時間を計算し、経由地の位置に基づいて滞在時間を推定することによって、過去の実測値に基づく滞在時間を推定することができるので、滞在時間の精度をより高めることができる。
【０１５１】
また、推定システムＳは、位置データベースＤＢ２に蓄積された位置データをクラスタリングし、クラスタごとに、当該クラスタに属する位置データが示す時刻に基づいて、当該クラスタに対応する滞在先の滞在時間を計算することによって、配送員がどの滞在先に滞在するか分からない場合であったとしても、配送員が滞在したと思われる滞在先を位置データによって推定し、精度の高い滞在時間を計算することができる。
【０１５２】
また、推定システムＳは、位置データベースＤＢ２に蓄積された位置データに基づいて、配送員又は他の配送員が一定の範囲内にいたか否かを判定し、滞在時間を計算することによって、精度の高い滞在時間を計算することができる。
【０１５３】
また、推定システムＳは、過去の配送先に対応しない滞在先の滞在時間が、これから配送に向かう配送員の滞在時間の推定で利用されることを制限することにより、配送以外の目的で偶然滞在してしまった滞在先の滞在時間を利用しないようにすることができ、到着時間を推定する精度を効果的に高めることができる。例えば、過去の配送先に対応しない滞在先の滞在時間については、滞在時間データベースＤＢ３に格納しないようにすることで、メモリ消費量を削減することができる。また例えば、過去の配送先に対応しない滞在先の滞在時間については、機械学習モデルＭに学習させないようにすることで、機械学習モデルＭの精度を高めることができる。また例えば、過去の配送先に対応しない滞在先の滞在時間を計算しないようにすることで、無駄な計算を省くことができ、サーバ１０の処理負荷を軽減することもできる。
【０１５４】
また、推定システムＳは、経由地である配送先の位置に関連付けられた特徴情報に基づいて、滞在時間を推定することによって、滞在時間の推定精度を高めることができる。また、過去に誰も訪れたことのない経由地であったとしても、特徴情報を利用することによって、滞在時間を推定することができる。
【０１５５】
また、推定システムＳは、滞在先の特徴情報と実際の滞在時間との関係が学習された機械学習モデルＭを利用して滞在時間を取得することによって、滞在時間の推定精度をより高めることができる。また、過去に誰も訪れたことのない経由地であったとしても、特徴情報と機械学習モデルＭを利用することによって、精度の高い滞在時間を推定することができる。
【０１５６】
また、推定システムＳは、経由地である配送先の地域又は建物の属性に基づいて、滞在時間を取得することによって、滞在時間の推定精度をより高めることができる。また、過去に誰も訪れたことのない経由地であったとしても、経由地の地域又は建物の属性を利用することによって、滞在時間を推定することができる。
【０１５７】
また、推定システムＳは、配送員が目的地に到達する前に、目的地の受取人に到着時間を通知することによって、受取人の利便性を高めることができる。また、配送員に荷物を確実に配送させることができ、再配送が発生することを防止することができる。
【０１５８】
また、配送員が荷物を配送する場面に推定システムＳを適用し、複数の配送先の何れかが目的地に相当し、目的地の配送先よりも順番が前の配送先を経由地とすることで、配送時における到着時刻の推定精度を高めることができる。
【０１５９】
［５．変形例］
なお、本発明は、以上に説明した実施の形態に限定されるものではない。本発明の趣旨を逸脱しない範囲で、適宜変更可能である。
【０１６０】
（１）例えば、実施形態では、経由地の地理的な特徴を利用して滞在時間を推定する場合を説明したが、他の特徴を利用して滞在時間を推定してもよい。例えば、特徴情報は、時間帯又は時期を示し、滞在時間推定部１０９は、経由地に滞在する時間帯又は時期に基づいて、滞在時間を推定してもよい。時間帯は、１日の中における一定の長さを有する期間である。時期は、滞在した日が属する期間であり、例えば、曜日、平日、週末、季節、又は月などである。経由地に滞在する時間帯又は時期は、経由地への着時間に基づいて取得されるようにすればよい。
【０１６１】
例えば、機械学習モデルＭには、過去に配送員又は他の配送員が滞在先に移動した時間帯又は時期と、当該滞在先における実際の滞在時間と、の関係が学習されている。滞在時間推定部１０９は、機械学習モデルＭに、経由地に移動する時間帯又は時期を入力し、機械学習モデルＭから出力された滞在時間を取得することになる。機械学習モデルＭは、経由地に移動する時間帯又は時期が入力されると特徴量を計算し、当該特徴量に基づいて滞在時間を出力することになる。
【０１６２】
例えば、経由地に滞在するのが夜の時間帯である場合には、経由地に滞在するのが昼の時間帯である場合よりも滞在時間は長くなる。また例えば、経由地に滞在するのが特定の曜日である場合には、経由地に滞在するのが他の曜日である場合よりも滞在時間は長くなる。また例えば、経由地に滞在するのが休日である場合には、経由地に滞在するのが平日である場合よりも滞在時間は長くなる。また例えば、経由地に滞在するのが特定の季節である場合には、経由地に滞在するのが他の季節である場合よりも滞在時間は長くなる。また例えば、経由地に滞在するのが特定の月である場合には、経由地に滞在するのが他の月である場合よりも滞在時間は長くなる。
【０１６３】
変形例（１）によれば、経由地である配送先に移動する時間帯又は時期に基づいて、滞在時間を取得することによって、滞在時間の推定精度をより高めることができる。また、過去に誰も訪れたことのない経由地であったとしても、経由地に移動する時間帯又は時期を利用することによって、滞在時間を推定することができる。
【０１６４】
（２）また例えば、特徴情報は、気象を示し、滞在時間推定部１０９は、経由地における気象に基づいて、滞在時間を推定してもよい。気象は、天気、気温、湿度、風向き、風速、降水量、降雪量、又は積雪量といった情報である。気象は、配送員又は管理者が入力してもよいし、気象庁又は民間の会社が提供する気象情報が取得されてもよい。
【０１６５】
例えば、機械学習モデルＭには、過去に配送員又は他の配送員が滞在した滞在先における気象と、実際の滞在時間と、の関係が学習されている。滞在時間推定部１０９は、機械学習モデルＭに、経由地における気象を入力し、機械学習モデルＭから出力された滞在時間を取得することになる。機械学習モデルＭは、経由地における気象が入力されると特徴量を計算し、当該特徴量に基づいて滞在時間を出力することになる。
【０１６６】
例えば、経由地に滞在するのが雨の場合には、経由地に滞在するのが晴れ又は曇りの場合よりも滞在時間は長くなる。また例えば、経由地に滞在するときの風速が強いほど滞在時間は長くなる。また例えば、経由地に滞在するときの降水量又は降雪量が多いほど滞在時間は長くなる。
【０１６７】
変形例（２）によれば、経由地である配送先における気象に基づいて、滞在時間を取得することによって、滞在時間の推定精度をより高めることができる。また、過去に誰も訪れたことのない経由地であったとしても、経由地における気象を利用することによって、滞在時間を推定することができる。
【０１６８】
（３）また例えば、配送員の属性によって滞在時間が異なることがあるので、滞在時間推定部１０９は、経由地の位置と、配送員の属性と、に基づいて、滞在時間を推定してもよい。配送員の属性は、配送員の分類であり、例えば、能力、性格、性別、年齢、又は体格といった情報である。例えば、新人又はベテランといった情報は、配送員の属性に相当する。また例えば、スピード重視又は安全性重視といった情報は、配送員の属性に相当する。配送員の属性は、配送員又は管理者によって入力されてもよいし、データ記憶部１００に予め記憶させておいてもよい。
【０１６９】
配送員の属性と滞在時間との関係は、任意の形式で示されてよく、例えば、テーブル形式又は数式形式で示されていてもよいし、プログラムコードの一部として示されてもよい。ここでは、機械学習モデルＭに上記の関係が示されている場合を説明するが、特に機械学習モデルＭを利用しなくてもよい。
【０１７０】
滞在時間推定部１０９は、機械学習モデルＭに、配送員の属性を入力し、機械学習モデルＭから出力された滞在時間を取得する。機械学習モデルＭは、配送員の属性が入力されると、特徴量を計算し、当該特徴量に基づいて滞在時間を出力する。滞在時間推定部１０９は、機械学習モデルＭから出力された滞在時間を取得することによって、経由地における滞在時間を推定する。例えば、配送員が新人の場合には、配送員がベテランの場合よりも滞在時間は長くなる。また例えば、配送員の勤務年数が短いほど滞在時間は長くなる。また例えば、配送員の能力が低いほど滞在時間は長くなる。
【０１７１】
変形例（３）によれば、経由地の位置だけでなく、配送員の属性に基づいて、滞在時間を推定することによって、滞在時間の推定精度をより高めることができる。
【０１７２】
（４）また例えば、上記変形例を組み合わせてもよい。
【０１７３】
また例えば、移動中の配送員の現在位置を取得して到着時間を推定する場合を説明したが、まだ出発していない配送員の将来の配送における到着時間を推定してもよい。この場合、配送員の現在位置は特に取得せず、営業所の場所や配送員の予定出発時間などに基づいて、到着時間が推定されるようにすればよい。また例えば、過去の配送における位置データに基づいて滞在時間が計算される場合を説明したが、配送員に滞在時間を計測させてサーバ１０にアップロードさせるようにしてもよいし、管理者が入力した滞在時間が滞在時間データベースＤＢ３に登録されるようにしてもよい。また例えば、サーバ１０が推定した到着時間が配送員と受取人の両方に提供される場合を説明したが、到着時間は、配送員又は受取人の何れか一方にだけ提供されてもよい。
【０１７４】
また例えば、配送員とともに移動する配送員端末２０から位置データが取得される場合を説明したが、位置データは、配送車両などから取得されてもよい。また例えば、推定システムＳが荷物の配送の場面に利用される場合を説明したが、推定システムＳは、任意の場面に利用可能である。例えば、推定システムＳを荷物の集荷の場面に利用する場合、目的地と経由地の各々は、配送員が荷物の集荷をする場所となる。また例えば、配送員が荷物を集荷した後に配送する場合には、目的地が荷物の配送先であり、経由地が荷物の集荷場所となってもよい。
【０１７５】
また例えば、荷物に関係のない場面に推定システムＳを利用してもよい。例えば、推定システムＳを道案内に利用してもよい。この場合、推定システムＳのユーザが、自身の端末から目的地と経由地を入力すると、サーバ１０は、実施形態及び変形例で説明した処理と同様の処理によって、経由地における滞在時間を推定し、目的地への到着時間を推定する。道案内は、ユーザが徒歩で移動する場合の道案内であってもよいし、ユーザが車やバイクなどの乗物に乗って移動する場合の道案内であってもよい。他にも例えば、所定のサービスを提供する会社の社員が複数の契約者を順番に訪問する場面などの任意の場面に推定システムＳを利用可能である。
【０１７６】
また例えば、主な機能がサーバ１０で実現される場合を説明したが、各機能は、複数のコンピュータで分担されてもよい。例えば、サーバ１０及び配送員端末２０の各々で機能が分担されてもよい。例えば、機械学習モデルＭによる処理がサーバ１０で実行されるのではなく、配送員端末２０で実行されてもよい。また例えば、推定システムＳが複数のサーバコンピュータを含む場合には、これら複数のサーバコンピュータで機能が分担されてもよい。また例えば、データ記憶部１００で記憶されるものとして説明したデータは、サーバ１０以外のコンピュータによって記憶されてもよい。
【符号の説明】
【０１７７】
Ｓ  推定システム、Ｎ  ネットワーク、１０  サーバ、１１，２１，３１  制御部、１２，２２，３２  記憶部、１３，２３，３３  通信部、２０  配送員端末、２４，３４  操作部、２５，３５  表示部、２６  位置検出部、３０  受取人端末、ＥＭ  電子メール、Ｒ  配送ルート、Ｍ  機械学習モデル、ＭＰ  地図、１００  データ記憶部、１０１  参照部、１０２  計算部、１０３  制限部、１０４  学習部、１０５  経由地取得部、１０６  現在位置取得部、１０７  目的地取得部、１０８  移動時間推定部、１０９  滞在時間推定部、１１０  到着時間推定部、１１１  通知部、ＤＢ１  配送データベース、ＤＢ２  位置データベース、ＤＢ３  滞在時間データベース、ＤＴ１  教師データ、ＤＴ２  道路ネットワークデータ。
【図１】
2020201553.tif 000003
【図２】
2020201553.tif 000004
【図３】
2020201553.tif 000005
【図４】
2020201553.tif 000006
【図５】
2020201553.tif 000007
【図６】
2020201553.tif 000008
【図７】
2020201553.tif 000009
【図８】
2020201553.tif 000010
【図９】
2020201553.tif 000011
【図１０】
2020201553.tif 000012
【図１１】
2020201553.tif 000013
【図１２】
2020201553.tif 000014