JP7082542B2 - 軌跡検索装置及び軌跡検索プログラム - Google Patents

軌跡検索装置及び軌跡検索プログラム Download PDF

Info

Publication number
JP7082542B2
JP7082542B2 JP2018138369A JP2018138369A JP7082542B2 JP 7082542 B2 JP7082542 B2 JP 7082542B2 JP 2018138369 A JP2018138369 A JP 2018138369A JP 2018138369 A JP2018138369 A JP 2018138369A JP 7082542 B2 JP7082542 B2 JP 7082542B2
Authority
JP
Japan
Prior art keywords
locus
characters
candidate
prefix
suffix
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2018138369A
Other languages
English (en)
Other versions
JP2020016984A (ja
Inventor
智士 小出
佳治 石川
川 肖
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toyota Central R&D Labs Inc
Tokai National Higher Education and Research System NUC
Original Assignee
Toyota Central R&D Labs Inc
Tokai National Higher Education and Research System NUC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toyota Central R&D Labs Inc, Tokai National Higher Education and Research System NUC filed Critical Toyota Central R&D Labs Inc
Priority to JP2018138369A priority Critical patent/JP7082542B2/ja
Publication of JP2020016984A publication Critical patent/JP2020016984A/ja
Application granted granted Critical
Publication of JP7082542B2 publication Critical patent/JP7082542B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Navigation (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、軌跡検索装置及び軌跡検索プログラムに関する。
従来、現実世界の道路交通網を有向グラフである道路ネットワークで表現することが行われている。当該道路ネットワークのノードは交差点などに対応し、当該道路ネットワークの辺又は弧は道路リンクに対応するものとなる。さらに、このような道路ネットワークを用いて、自動車あるいは人などといった複数の移動体の移動履歴(軌跡)をデータベースに蓄積しておいた上で、当該データベースから、特定の経路(問い合わせ経路)を抽出する処理が行われている。
例えば、非特許文献1には、時間幅と問い合わせ経路を与えた上で、データベースに記憶された複数の軌跡の中から、問い合わせ経路を部分軌跡(軌跡の少なくとも一部)として含む軌跡であって、与えられた時間幅の間に当該部分軌跡を走行した軌跡を検索する処理が開示されている。
また、非特許文献2には、データベースに記憶された軌跡間の類似度を算出する処理が記載されている。
Benjamin Krogh, Nikos Pelekis, Yannis Theodoridis, Kristian Torp, "Path-based Queries on Trajectory Data", In Proc GIS'14 New York, 2014, 341-350. E.Tiakas, A.N.Papadopoulos, A.Nanopoulos, Y.Manolopoulos, Dragan Stojanovic, Slobodanka Djordjevic-Kajan, "Searching for similar trajectories in spatial networks" The Journal of Systems and Software, 2009.
非特許文献1に開示された処理においては、問い合わせ経路と完全一致する部分軌跡を含む軌跡が検索される。したがって、ある程度の誤差を許容したい場合、あるいは完全一致ではないまでも、問い合わせ経路と類似する部分軌跡を検索したい場合などにおいては非特許文献1に開示された処理をそのまま用いることはできない。
一方、非特許文献2には、軌跡間の類似度を算出する処理が開示されているが、非特許文献2に開示された類似度は直感的に理解することが困難なものとなっている。具体的には、2つの軌跡はそれぞれ複数のノードを含み、一方の軌跡に含まれるi番目のノードと他方の軌跡に含まれるi番目のノードとの間のi個の距離を算出し、i個の距離の平均値を当該2つの軌跡の類似度として用いている(非特許文献2の式(4)参照)。当該距離は、所定のコスト関数により算出された両ノード間のコストに基づいて算出される(非特許文献2の式(2)参照)。このように、非特許文献2に開示された類似度を用いた場合、当該類似度の閾値をどのように設定すれば所望の軌跡が得られるのか判断することはかなり難しい。
また、データベースに膨大な数の軌跡が記憶される場合がある。そのような場合に、データベースに記憶された全ての軌跡の部分軌跡と問い合わせ経路との比較を行うと処理量が膨大となってしまうという問題もある。
本発明の目的は、より簡易的な類似度指標を用いて、且つ、効率的に、問い合わせ経路と類似する軌跡を検索可能とすることにある。
本発明は、文字で表現された各道路リンクのコスト、及び、複数の前記文字からなる文字列で表現される複数の軌跡を記憶する記憶部にアクセス可能な軌跡検索装置であって、複数の前記文字からなる文字列で表現される問い合わせ経路を受け付ける受付部と、前記問い合わせ経路の接頭辞であって、対応する前記道路リンクのコストの合計が閾値より大きい1又は複数の文字のうち最も文字数が少ない接頭辞を特定する接頭辞特定部と、前記問い合わせ経路の接尾辞であって、対応する前記道路リンクのコストの合計が前記閾値より大きい1又は複数の文字のうち最も文字数が少ない接尾辞を特定する接尾辞特定部と、前記複数の軌跡から、前記接頭辞及び前記接尾辞を含み、前記軌跡の少なくとも一部分である候補軌跡を抽出する候補軌跡抽出部と、前記候補軌跡と前記問い合わせ経路との編集距離であって、前記候補軌跡と前記問い合わせ経路との間で差異がある文字に対応する道路リンクのコストの総和で表現される編集距離を演算し、前記候補軌跡の中から、前記編集距離が前記閾値以下である類似軌跡を検索する類似軌跡検索部と、を備えることを特徴とする軌跡検索装置である。
望ましくは、前記記憶部は、前記軌跡毎に、各道路リンクを移動体が通過した時刻である通過時刻をさらに記憶し、前記候補軌跡抽出部は、前記接頭辞に含まれる前記文字に対応する前記道路リンクに関連付けられた前記通過時刻よりも、前記接尾辞に含まれる前記文字に対応する前記道路リンクに関連付けられた前記通過時刻の方が遅い軌跡を前記候補軌跡として抽出する、ことを特徴とする。
望ましくは、前記受付部は、前記問い合わせ経路と共に時間幅を受け付け、前記候補軌跡抽出部は、前記接頭辞及び前記接尾辞に含まれる前記文字に対応する前記道路リンクに関連付けられた前記通過時刻が前記時間幅に含まれている軌跡を前記候補軌跡として抽出する、ことを特徴とする。
また、本発明は、文字で表現された各道路リンクのコスト、及び、複数の前記文字からなる文字列で表現される複数の軌跡を記憶する記憶部にアクセス可能なコンピュータを、複数の前記文字からなる文字列で表現される問い合わせ経路を受け付ける受付部と、前記問い合わせ経路の接頭辞であって、対応する前記道路リンクのコストの合計が閾値より大きい1又は複数の文字のうち最も文字数が少ない接頭辞を特定する接頭辞特定部と、前記問い合わせ経路の接尾辞であって、対応する前記道路リンクのコストの合計が前記閾値より大きい1又は複数の文字のうち最も文字数が少ない接尾辞を特定する接尾辞特定部と、前記複数の軌跡から、前記接頭辞及び前記接尾辞を含み、前記軌跡の少なくとも一部分である候補軌跡を抽出する候補軌跡抽出部と、前記候補軌跡と前記問い合わせ経路との編集距離であって、前記候補軌跡と前記問い合わせ経路との間で差異がある文字に対応する道路リンクのコストの総和で表現される編集距離を演算し、前記候補軌跡の中から、前記編集距離が前記閾値以下である類似軌跡を検索する類似軌跡検索部と、として機能させることを特徴とする軌跡検索プログラムである。
本発明によれば、より簡易的な類似度指標を用いて、且つ、効率的に、問い合わせ経路と類似する軌跡を検索することができる。
本実施形態に係る軌跡検索装置の構成概略図である。 道路ネットワークを示す概念図である。 軌跡DBの内容を示す概念図である。 アライメントされた2つの文字列を示す図である。 編集操作の内容を示す図である。 編集距離演算アルゴリズムを示す図である。 類似軌跡検索アルゴリズムを示す図である。
以下、本発明の実施形態について説明する。
図1には、本実施形態に係る軌跡検索装置10の構成概略図が示されている。本実施形態では軌跡検索装置10はサーバコンピュータであるが、軌跡検索装置10としては、以下に説明する機能を発揮可能な限りにおいてどのようなコンピュータであってもよい。例えば、一般のコンピュータ(パーソナルコンピュータ)であってもよい。
詳細は後述するが、軌跡検索装置10は、後述の軌跡DB(データベース)16に記憶された複数の軌跡の中から、その部分軌跡が、ユーザなどによって入力される問い合わせ経路Qと類似する軌跡を検索する処理を行う。すなわち、軌跡検索装置10においては、軌跡の「あいまい検索」を実行する。ここで、部分軌跡とは、1つの軌跡の少なくとも一部であり、すなわち、1つの軌跡の一部分であってもよく、1つの軌跡の全体であってもよい。
記憶部12は、例えばハードディスク、ROM(Read Only Memory)、あるいはRAM(Random Access Memory)などを含んで構成される。記憶部12は、後述の制御部20からアクセス可能なように制御部20に接続される。記憶部12には、軌跡検索装置10の各部を機能させるための軌跡検索プログラムが記憶される。また、図1に示すように、記憶部12には道路ネットワーク14が記憶される。また、記憶部12において軌跡DB16が定義される。なお、本実施形態では軌跡検索装置10が有する記憶部12に道路ネットワーク14及び軌跡DB16が記憶されているが、道路ネットワーク14及び軌跡DB16は、軌跡検索装置10と通信可能に接続される他の装置(例えば他のサーバ)の記憶部に記憶されていてもよい。
道路ネットワーク14は、現実世界の道路交通網を有向グラフで示したものである。図2に、道路ネットワーク14の一部の例が示されている。図2に示される通り、道路ネットワーク14は、複数のノード30と、ノード30間を繋ぐ道路リンク32を含んで構成される。ノード30は、現実世界の交差点などに相当するものであり、道路リンク32は現実世界の道路に相当するものである。なお、1つのノード30に複数の道路リンク32が接続されていてもよいし、1つのノード30から出発して当該ノード30に戻る道路リンク32があってもよい。
道路ネットワーク14においては、各道路リンク32は文字で表現されている。当該文字により、道路リンク32が一意に識別できるようになっている。すなわち、当該文字は道路リンク32を一意に識別する識別子(ID)であるともいえる。例えば、図2のノード30aからノード30bまでの経路は、複数の道路リンク32を表す複数の文字、すなわち文字列「abcd」で表現することが出来る。
また、各道路リンク32にはコストが付されており、道路ネットワーク14は各道路リンク32のコストを示す情報を保持している。コストは、例えば道路リンク32が示す道路の長さなどに基づいて予め設定されるものである。
軌跡DB16は、道路ネットワーク14で表される道路交通網を走行した移動体の(移動)軌跡を蓄積して記憶するデータベースである。本実施形態においては、移動体が車であるとし、軌跡DB16には、複数の車の軌跡(車両軌跡)が記憶される。もちろん、移動体は車には限られず、人や自転車などであってもよい。本実施形態では、各車に取り付けられた各種センサなどに基づいて、各車の現在位置が逐次軌跡検索装置10に送信され、それにより軌跡DB16に軌跡が蓄積される。軌跡DB16には、膨大な数の軌跡が記憶される。
軌跡DB16に記憶される軌跡は、複数の道路リンクを表す複数の文字、すなわち文字列により表現される。例えば、図2に示す道路ネットワーク14において、車がノード30aからノード30bまで走行した場合、つまり、道路リンク32をa、b、c、dの順に走行した場合、軌跡DB16には文字列「abcd」で表現される軌跡が記憶される。
また、軌跡DB16には、軌跡毎に、各道路リンク32を移動体が通過した時刻である通過時刻が記憶されてもよい。例えば、上述の例では、車が道路リンクa、b、c、dをそれぞれ通過した通過時刻が記憶されてもよい。
図3に、軌跡DB16の構造が示されている。本実施形態においては、軌跡DB16は、大別して、軌跡配列40とポインティングリスト42とから構成されている。
軌跡配列40は、1又は複数の移動体の複数の軌跡が連結された配列である。各軌跡間には、連結境界を識別可能なように、特殊文字(本実施形態では$)が挿入される。また、各軌跡には、軌跡を一意に識別する軌跡ID(tid)が付される。
図3の例においては、tid=1で識別される軌跡は文字列「abcdg」で表現される軌跡であり、tid=2で識別される軌跡は文字列「adeg」で表現される軌跡でありtid=3で識別される軌跡は文字列「bcfg」で表現される軌跡である。
ポインティングリスト42は、道路リンク32毎に用意される。ポインティングリスト42は、軌跡IDと、通過時刻と、ポインタとが関連付けられた組み合わせのリストである。軌跡配列40に軌跡が追加される度に、当該軌跡に含まれる道路リンクに対応するポインティングリスト42に、上記の組み合わせが追加される。なお、本明細書においては、当該組み合わせを要素と記載する。
例えば、tid=1の軌跡は道路リンクa、b、c、d、gをそれぞれ通過時刻23、43、51、69、84で通過したものである場合を考える。この場合、まず、道路リンクaに対応するポインティングリスト42に、tid=「1」、通過時刻=「23」、及びポインタ=ptra1が格納される。ここで、ポインタptra1は、軌跡配列40の1番目の位置を指すものである。次に、道路リンクbに対応するポインティングリスト42に、tid=「1」、通過時刻=「43」、及びポインタ=ptrb2を格納する。ここでのポインタptrb2は、軌跡配列40の2番目の位置を指すものである。このような処理を繰り返すことで、各ポインティングリスト42において、通過時刻が昇順になるように複数の要素が並ぶことになる。
図1に戻り、通信部18は、例えばネットワークアダプタなどを含んで構成される。通信部18は、LAN(Local Area Network)やインターネットなどの通信回線を介して他の装置と通信する機能を発揮する。軌跡検索装置10がサーバコンピュータである場合には、通信部18は、軌跡検索装置10における処理結果を示す結果情報を他の装置に送信する。また、通信部18は、軌跡検索装置10の利用者(ユーザ)からの指示を示す指示情報をユーザ端末から受信する。特に、通信部18は、ユーザ端末から問い合わせ経路Qを受信する。問い合わせ経路Qも、道路ネットワーク14で定義された、各道路リンク32を示す文字に基づいて、複数の道路リンク32を示す複数の文字、すなわち文字列で表現される。このように、通信部18は問い合わせ経路Qを受け付ける受付部としても機能する。
また、本実施形態では、通信部18は、問い合わせ経路Qと共に閾値ρをユーザ端末から受信する。閾値ρは、問い合わせ経路Qと部分軌跡との間の編集距離(詳細後述)に関する閾値であり、すなわち、問い合わせ経路Qとの編集距離が、ユーザが設定した閾値ρ以下の部分軌跡が検索されることになる。本実施形態では、問い合わせ経路Qとの編集距離が閾値ρ以下の部分軌跡が、問い合わせ経路Qと類似する類似軌跡となる。なお、閾値ρは、ユーザから入力されずに、予め記憶部12に記憶されていてもよい。この場合は、問い合わせ経路Qとの編集距離が所定の閾値以下の類似軌跡が検索されることになる。
また、通信部18は、問い合わせ経路Qと共に時間幅Iをユーザ端末から受信してもよい。時間幅Iは、例えば[0,90](時刻0から時刻90まで)のように表され、検索対象の部分軌跡の通過時刻に関する時間幅であり、すなわち、問い合わせ経路Qとの類似度が閾値ρより大きい部分軌跡であって、通過時刻(当該部分軌跡に含まれる各道路リンクの通過時刻)が時間幅I内である部分軌跡が類似軌跡として検索されることになる。
なお、軌跡検索装置10が一般のコンピュータである場合などにおいては、軌跡検索装置10はマウス、キーボード、あるいはタッチパネルなどを含んで構成される入力部、あるいは液晶ディスプレイなどを含んで構成される表示部を有していてもよい。その場合は、当該入力部がユーザから問い合わせ経路Q、閾値ρ、あるいは時間幅Iの入力を受け付ける受付部として機能する。また、当該表示部には、軌跡検索装置10における処理結果が表示される。
制御部20は、例えばCPU(Central Processing Unit)などを含んで構成される。制御部20は、記憶部12に記憶された軌跡検索プログラムに従って、軌跡検索装置10の各部を制御する。また、図1に示される通り、制御部20は、接頭辞特定部22、接尾辞特定部24、候補軌跡抽出部26、及び、類似軌跡検索部28としても機能する。
制御部20が有するこれらの機能が発揮されることで、軌跡検索装置10は、軌跡DB16に記憶された複数の軌跡の中から、問い合わせ経路Qに類似する(すなわち問い合わせ経路Qとの間の編集距離が閾値ρ以下である)部分軌跡を検索する。以下、制御部20が発揮するこれらの機能の詳細を説明する。
接頭辞特定部22は、問い合わせ経路Qの接頭辞、すなわち、1又は複数の文字からなる問い合わせ経路Qの先頭部分(1番目の文字、あるいは1番目の文字を含む連続した文字列)を特定する。具体的には、接頭辞特定部22は、問い合わせ経路Qの先頭部分のうち、対応する道路リンクのコストの合計が閾値ρより大きい1又は複数の文字のうち最も文字数が少ない部分を接頭辞として特定する。
同様に、接尾辞特定部24は、問い合わせ経路Qの接尾辞、すなわち、1又は複数の文字からなる問い合わせ経路Qの後尾部分(1番最後の文字、あるいは1番最後の文字を含む連続した文字列)を特定する。具体的には、接尾辞特定部24は、問い合わせ経路Qの後尾部分のうち、対応する道路リンクのコストの合計が閾値ρより大きい1又は複数の文字のうち最も文字数が少ない部分を接尾辞として特定する。
後述のように、接頭辞及び接尾辞は、軌跡DB16に記憶された膨大な数の軌跡から、問い合わせ経路Qとの間の編集距離を演算する対象(候補軌跡)を絞り込むために用いられる。詳しくは後述するが、後述の候補軌跡抽出部26により、接頭辞及び接尾辞を含む部分軌跡が候補軌跡として抽出される。
問い合わせ経路Qの先頭部分であって、対応する道路リンクのコストの合計が閾値ρより大きい1又は複数の文字のうち最も文字数が少ない部分が接頭辞として特定されるのは、的確な候補軌跡を抽出できるようにするためである。すなわち、接頭辞に含まれる文字に対応する道路リンクのコストの合計が大きい程、候補軌跡の数をより少なくすることができるが、接頭辞に含まれる文字に対応する道路リンクのコストの合計が閾値ρを超える場合、問い合わせ経路Qとの間の編集距離が閾値ρ以下の軌跡が候補軌跡として抽出されない場合が生じてしまう。したがって、問い合わせ経路Qとの間の編集距離が閾値ρ以下となる軌跡が候補軌跡に含まれる限りにおいて、できるだけ候補軌跡を絞るべく、問い合わせ経路Qの先頭部分であって、対応する道路リンクのコストの合計が閾値ρより大きい1又は複数の文字のうち最も文字数が少ない部分を接頭辞として特定している。問い合わせ経路Qの後尾部分であって、対応する道路リンクのコストの合計が閾値ρより大きい1又は複数の文字のうち最も文字数が少ない部分を接尾辞として特定するのも同様の理由からである。
候補軌跡抽出部26は、接頭辞特定部22が特定した接頭辞、及び、接尾辞特定部24が特定した接尾辞に基づいて、軌跡DB16に記憶された複数の軌跡から候補軌跡を抽出する。詳しくは、候補軌跡抽出部26は、接頭辞及び接尾辞を含む部分軌跡を候補軌跡として抽出する。接頭辞あるいは接尾辞が複数の文字を含んでいる場合、接頭辞のうち少なくとも1つの文字、及び、接尾辞のうち少なくとも1つの文字を含む部分軌跡を候補軌跡として抽出する。例えば、問い合わせ経路Q=abcdefghであり、接頭辞が「ab」、接尾辞が「gh」である場合、候補軌跡抽出部26は、軌跡DB16に記憶された複数の軌跡から、「a」、「b」、又は「ab」の後に「g」、「h」、又は「gh」を含む部分軌跡を抽出する。
また、軌跡DB16において、軌跡毎に各道路リンク32の通過時刻が記憶されている場合は、候補軌跡抽出部26は、軌跡DB16に記憶された複数の軌跡から、接頭辞に含まれる文字に対応する道路リンクの通過時刻よりも接尾辞に含まれる文字に対応する道路リンクの通過時刻の方が遅い軌跡を候補軌跡として抽出してもよい。
さらに、ユーザから時間幅Iが指定された場合は、候補軌跡抽出部26は、軌跡DB16に記憶された複数の軌跡から、接頭辞及び接尾辞に含まれる文字に対応する道路リンクの通過時刻が指定された時間幅Iに含まれている軌跡を候補軌跡として抽出してもよい。
以下、候補軌跡抽出部26の具体的な処理を説明する。以下の説明では、問い合わせ経路Qが「abcdefgh」、接頭辞が「ab」、接尾辞が「gh」、時間幅Iが[0,90]であるとし、軌跡DB16には図3に示す内容の軌跡が記憶されているとする。
まず、候補軌跡抽出部26は、接頭辞に含まれる文字a及びbに対応するポインティングリスト42に含まれる要素の中から、通過時刻が時間幅Iに含まれる要素を抽出する。このように抽出される要素の集合をSprefixと記載する。例えば、候補軌跡抽出部26は、道路リンクaに対応するポインティングリスト42の最初の要素(tid=1、通過時刻=23、ポインタ=prta1)(以下、この軌跡IDと通過時刻とポインタの組み合わせを単に(1,23,prta1)のように記載する)の通過時刻が時間幅Iに含まれるから、当該要素をSprefixに含める。道路リンクaに対応するポインティングリスト42の2番目の要素である(2,47,ptra2)も同様にSprefixに含める。道路リンクbに対応するポインティングリスト42では、(4,18,prtb1)及び(1,43,ptrb2)の要素の通過時刻が時間幅Iに含まれるから、これらの要素をSprefixに含める。
同様に、接尾辞に含まれる文字g及びhに対応するポインティングリスト42に含まれる要素の中から、通過時刻が時間幅Iに含まれる要素を抽出する。このように抽出される要素の集合をSsuffixと記載する。例えば、候補軌跡抽出部26は、道路リンクgに対応するポインティングリスト42の最初の要素(1,84,prtg1)の通過時刻が時間幅Iに含まれるから、当該要素をSsuffixに含める。一方、道路リンクgに対応するポインティングリスト42の2番目の要素(2,97,prtg2)の通過時刻は時間幅Iに含まれないから、当該要素はSsuffixに含めない。
本実施形態では、軌跡DB16においては、道路リンク32毎に区別された各ポインティングリスト42において、通過時刻が昇順となるように複数の要素が並んでいるから、候補軌跡抽出部26は、ポインティングリスト42の各要素を先頭から順に辿ることでSprefix及びSsuffixを容易に抽出することができる。なお、軌跡DB16において、各ポインティングリスト42の通過時刻に対してB+木などを用いて索引化することで効率化を図ってもよい。なお、索引化は汎用のデータベースシステムの機能を用いて実現することができる。
次に、候補軌跡抽出部26は、抽出されたSprefix及びSsuffixの軌跡IDについての共通部分集合を取ることで、問い合わせ経路Qの接頭辞及び接尾辞の両方を時間幅Iの間に通過した部分軌跡を抽出する。詳しくは、SprefixとSsuffixの両方に共通して含まれる軌跡IDに対応する要素のみを抽出する。具体的には、Sprefixに含まれる要素の中から、Ssuffixにも同じ軌跡IDを持つ要素があり、且つ、Sprefixの当該要素の通過時刻よりもSsuffixの当該要素の通過時刻の方が遅い時刻を示す要素のみを抽出する。このように抽出された要素の集合をS’prefixと記載する。
例えば、図3を参照して、Sprefixに含められた要素(1,23,ptra1)についてみると、Ssuffixは、当該要素と同じ軌跡IDを有し、且つ、通過時刻が23よりも遅い要素(1,84,ptrg1)を含んでいる。したがって、当該要素(1,23,ptra1)はS’prefixに含められる。同様に、Sprefixに含められた要素(1,43,ptrb2)についてみると、Ssuffixは、当該要素と同じ軌跡IDを有し、且つ、通過時刻が23よりも遅い要素(1,84,ptrg1)を含んでいる。したがって、当該要素(1,43,ptrb2)もS’prefixに含められる。このような処理をSprefixに含められた全ての要素について行う。
上述の処理により、S’prefixが抽出される。これにより、軌跡DB16に記憶された複数の軌跡から、S’prefixに含まれる要素の軌跡IDが示す軌跡の一部又は全部であって、当該要素のポインタが示す道路リンクを始点とする軌跡が候補軌跡として抽出されたことになる。つまり、候補軌跡は、接頭辞に含まれる文字から接尾辞に含まれる文字までの軌跡である。
類似軌跡検索部28は、候補軌跡抽出部26が抽出した候補軌跡と問い合わせ経路Qとの間の編集距離を演算し、当該候補軌跡の中から、当該編集距離が閾値ρ以下である類似軌跡を検索する。
類似軌跡検索部28の具体的な処理内容を説明する前に、2つの文字列の間の編集距離及びその演算方法について説明する。
2つの文字列をx及びyで表した場合、文字列xと文字列yとの間の編集距離は、文字の置換、挿入、及び削除の3つの編集操作を用いて文字列xを文字列yに変換する際に必要となるコストとして定義される。本実施形態では、文字は道路リンクを表すものであるため、ここでは、当該3つの編集操作のうち、挿入及び削除のみを考える。つまり、置換の操作のコストを無限大として考える。
文字列xから文字列yへの変換の過程で適用される編集操作の集合を編集操作集合εと定義する。編集操作集合εのコストは、各編集操作のコストの和として定義される。すなわち、
Figure 0007082542000001
が成立する。上式のうち、d(ε)は編集操作集合εのコストを表し、変数opは編集操作を表すものである。文字列xを文字列yに変換するための編集操作集合の集合を
Figure 0007082542000002
とする。文字列x及びyの間の編集距離とは、文字列xを文字列yに変換するための編集操作集合の集合のうちでコストが最小になるものである。すなわち、文字列x及びyの間の編集距離ed(x,y)は、
Figure 0007082542000003
として定義される。
例として、文字列x=abcdgと文字列y=befgとの間の編集距離ed(x,y)を考える。文字列xの文字列yへの変換を可視化するために、文字列x及びyを図4のように記載する。文字列x及びyに共通して含まれる文字が同じ順番に来るように、文字列x及びyそれぞれにアライメント(-)を挿入されている。
ここで、文字列xに含まれる1番目の文字「a」と文字列yの1番目の文字「-」のペア(以下、文字列xの文字と文字列yの文字のペアを単に(a,-)等と記載する)は、文字列xから文字aを削除する編集操作に対応する。また、(-,e)は、文字列xに文字eを挿入する編集操作に対応する。このように、一方がアライメントであるペアは、挿入又は削除の編集操作に対応するため、一方がアライメントであるペアを編集操作を同一視し、
Figure 0007082542000004
のように記すことができる。
ここで、文字を削除する編集操作のコストは、当該文字に定義されたコストとみなすことができ、すなわち、例えば文字aを削除する編集操作のコストをd(a)と定義することができる。同様に、文字を追加する編集操作のコストは、当該文字に定義されたコストとみなすことができ、すなわち、例えば文字eを追加する編集操作のコストをd(e)と定義することができる。なお、本実施形態では、文字は道路リンク32を表すものであるから、文字のコストとは、当該文字に対応する道路リンク32のコストであると言える。文字列xを文字列yに変換する各編集操作、各編集操作のアライメントペア、及び各編集操作のコストは図5に示すようなものとなる。
文字列xと文字列yとの間の編集距離ed(x,y)は、
ed(x,y)=d(a)+d(c)+d(d)+d(e)+d(f)
で表される。つまり、編集距離とは、2つの文字列の間で差異がある文字のコストの総和で表現される。なお、同一文字のペア(例えば(b,b))は、マッチしていると呼び、そのコストはゼロである。
一般に、文字列xと文字列yとの間において可能な変換の数は文字列xの長さ(文字数)n、及び文字列yの長さmに対して指数関数的に増加するが、これは動的計画法によってO(nm)時間で演算することが出来る。
文字列xと文字列yとの間の編集距離ed(x,y)は、図6に示す編集距離演算アルゴリズムで演算することができる。編集距離演算アルゴリズムにおいては、文字列x=a・・・aであり、文字列y=b・・・bであるとする。
まず、A及びBはn+1次元ベクトルであり(1行目及び2行目)、ベクトルAは3~6行目の処理で初期化される。初期化されたベクトルAの各要素は
=0
=d(a
=d(a)+d(a
・・・
=d(a)+d(a)+・・・d(a
となる。
次に、8~14行目の処理において、文字列xの部分文字列と文字列yの部分文字列との間の編集距離が段階的に演算されていく。まず、変数j=1の場合についてみると、8行目の処理においてベクトルBの1番目の要素Bは、A+d(b)、すなわちd(b)とされる。
次に9~14行目のfor文の処理において、
変数i=1の場合は、aとbとの間の編集距離が演算されてBに代入され、
変数i=2の場合は、aとbとの間の編集距離が演算されてBに代入され、
変数i=nの場合は、a・・・aとbとの間の編集距離が演算されてBに代入される。
このように、変数j=1の場合においては、文字列xの文字を先頭から1文字ずつ増やしていった上で、文字列yの1文字目(b)との間の編集距離がそれぞれ演算される。
以後、ベクトルBの内容がベクトルAに代入され(15行目)、変数j=2の場合においては、文字列xの文字を先頭から1文字ずつ増やしていった上で、文字列yの1文字目及び2文字目からなる文字列(b)との間の編集距離がそれぞれ演算される。さらに、変数j=3の場合においては、文字列xの文字を先頭から1文字ずつ増やしていった上で、文字列yの1文字目から3文字目までの文字からなる文字列(b)との間の編集距離がそれぞれ演算される。
変数j=mの場合において、変数i=nの場合に、a・・・aとb・・・bとの間の編集距離、すなわち文字列xと文字列yとの間の編集距離が演算されてBに代入される。そして、15行目の処理においてベクトルBがベクトルAに代入され、17行目の処理によってベクトルAの最後の要素Aが文字列xと文字列yとの間の編集距離ed(x,y)として出力される。
以上説明した編集距離演算アルゴリズムにより、文字列xを文字列yに変換するための編集操作集合の集合のうちでコストが最小なもの、すなわち編集距離が演算できる。
以下、類似軌跡検索部28の具体的な処理内容を説明する。類似軌跡検索部28は、図7に示す類似軌跡検索アルゴリズムにより類似軌跡を検索する。類似軌跡検索アルゴリズムにおいては、問い合わせ経路Q=q・・・qであるとする。
まず、編集距離演算アルゴリズム同様、A及びBはn+1次元ベクトルであり(1行目及び2行目)、ベクトルAは3~6行目の処理で初期化される。初期化されたベクトルAの各要素は
=0
=d(q
=d(q)+d(q
・・・
=d(q)+d(q)+・・・d(q
となる。
次に、変数eにポインタptrの位置の道路リンクを示す文字が代入される。ここで、ポインタptrは、候補軌跡抽出部26が抽出したS’prefixに含まれる要素が有するポインタである。すなわち、候補軌跡抽出部26が抽出した候補軌跡の1番目の文字が変数eに代入される。ここでは、候補軌跡が「abcdg」(図3に示すtid=1)であるとし、したがって変数eには「a」が代入される。
9行目から15行目までの処理は、編集距離演算アルゴリズムの8行目から14行目までの処理と同等の処理を行う。すなわち、変数eに候補軌跡の1文字目が代入されている場合においては、問い合わせ経路Qの文字を先頭から1文字ずつ増やしていった上で、候補軌跡の1文字目(ここでは「a」)との間の編集距離がそれぞれ演算される。
16行目では、ベクトルBのn番目の要素B、すなわち問い合わせ経路Q全体と候補軌跡の1文字目との間の編集距離が閾値ρ以下であるか否かが判定される。Bが閾値ρ以下であるということは、候補軌跡の1文字目である部分軌跡が類似軌跡であると言える。したがって、この場合はtrueが返され(17行目)、つまり、ここでは部分軌跡「a」が類似軌跡として検索されることになる。
18行目では、ベクトルBの要素のうち最小値が閾値ρより大きいか否かが判定される。ベクトルBの要素のうち最小値が閾値ρより大きい場合、換言すれば、ベクトルBの要素の全てが閾値ρより大きい場合は、これ以上候補軌跡の文字数を増やして問い合わせ経路Qとの間の編集距離を演算しても(例えば今後問い合わせ経路Qと候補軌跡の2文字目までの文字列「ab」との間の編集距離を演算しても)、それが閾値ρ以下になる見込みがない。したがって、この場合はfalseが返され(19行目)、処理を終了する。その後、S’prefixに未処理の要素が残っているならば、当該未処理の要素が有するポインタが示す文字を変数eに代入した上で処理を再開する。
16行目から19行目までの処理でtrue及びfalseのいずれにも確定しなかった場合、20行目においてポインタptrがインクリメントされ、21行目にインクリメントされたポインタが示す文字、つまり候補軌跡の2番目の文字が変数eに代入される。
以後、ベクトルBの内容がベクトルAに代入された上で(22行目)、変数eに候補軌跡の2文字目が代入されている場合、9行目から15行目までの処理において、問い合わせ経路Qの文字を先頭から1文字ずつ増やしていった上で、候補軌跡の1文字目と2文字目からなる文字列(ここでは「ab」)との間の編集距離がそれぞれ演算される。その後、16行目から22行目までの処理を行う。
このようにして、問い合わせ経路Q及び候補軌跡の文字数を段階的に増やしながら編集距離を演算していくことで、類似軌跡が検索される。なお、変数eが$となった場合、すなわち問い合わせ経路Qと1つの候補軌跡全体との間の編集距離の演算が終了した場合であって、閾値ρ以下となる部分経路が見つからなかった場合は、falseを返して処理を終了する(23行目及び24行目)。この場合も、S’prefixに未処理の要素が残っているならば、当該未処理の要素が有するポインタが示す文字を変数eに代入した上で処理を再開する。
以上説明した通り、本実施形態においては、編集距離という類似度指標に基づいて、問い合わせ経路Qと部分軌跡との類似度が演算される。編集距離は、理解が容易な類似度指標といえる。なぜならば、2つの経路を比較する場合、編集距離では、2つの経路の間で不一致の経路のコスト(例えば長さ)に対応するのであるが、この不一致の経路のコスト(長さ)という類似性指標は理解が容易であるためである。これによって、ユーザが閾値ρを設定する場合、ユーザは閾値ρの設定を直感的に行うことができるようになる。
また、本実施形態においては、軌跡DB16に記憶された複数の軌跡の中から候補軌跡抽出部26が候補軌跡を抽出した上で、抽出された候補軌跡と問い合わせ経路Qとの間の編集距離が演算される。これによれば、軌跡DB16に膨大な数の軌跡が記憶されている場合であっても、編集距離の演算のための処理量が低減され、すなわち、問い合わせ経路Qと類似する類似軌跡を効率的に行うことができる。
以上、本発明に係る実施形態を説明したが、本発明は上記実施形態に限られるものではなく、本発明の趣旨を逸脱しない限りにおいて種々の変更が可能である。
10 軌跡検索装置、12 記憶部、14 道路ネットワーク、16 軌跡DB、18 通信部、20 制御部、22 接頭辞特定部、24 接尾辞特定部、26 候補軌跡抽出部、28 類似軌跡検索部。

Claims (4)

  1. 文字で表現された各道路リンクのコスト、及び、複数の前記文字からなる文字列で表現される複数の軌跡を記憶する記憶部にアクセス可能な軌跡検索装置であって、
    複数の前記文字からなる文字列で表現される問い合わせ経路を受け付ける受付部と、
    前記問い合わせ経路の接頭辞であって、対応する前記道路リンクのコストの合計が閾値より大きい1又は複数の文字のうち最も文字数が少ない接頭辞を特定する接頭辞特定部と、
    前記問い合わせ経路の接尾辞であって、対応する前記道路リンクのコストの合計が前記閾値より大きい1又は複数の文字のうち最も文字数が少ない接尾辞を特定する接尾辞特定部と、
    前記複数の軌跡から、前記接頭辞及び前記接尾辞を含み、前記軌跡の少なくとも一部分である候補軌跡を抽出する候補軌跡抽出部と、
    前記候補軌跡と前記問い合わせ経路との編集距離であって、前記候補軌跡と前記問い合わせ経路との間で差異がある文字に対応する道路リンクのコストの総和で表現される編集距離を演算し、前記候補軌跡の中から、前記編集距離が前記閾値以下である類似軌跡を検索する類似軌跡検索部と、
    を備えることを特徴とする軌跡検索装置。
  2. 前記記憶部は、前記軌跡毎に、各道路リンクを移動体が通過した時刻である通過時刻をさらに記憶し、
    前記候補軌跡抽出部は、前記接頭辞に含まれる前記文字に対応する前記道路リンクに関連付けられた前記通過時刻よりも、前記接尾辞に含まれる前記文字に対応する前記道路リンクに関連付けられた前記通過時刻の方が遅い軌跡を前記候補軌跡として抽出する、
    ことを特徴とする請求項1に記載の軌跡検索装置。
  3. 前記受付部は、前記問い合わせ経路と共に時間幅を受け付け、
    前記候補軌跡抽出部は、前記接頭辞及び前記接尾辞に含まれる前記文字に対応する前記道路リンクに関連付けられた前記通過時刻が前記時間幅に含まれている軌跡を前記候補軌跡として抽出する、
    ことを特徴とする請求項2に記載の軌跡検索装置。
  4. 文字で表現された各道路リンクのコスト、及び、複数の前記文字からなる文字列で表現される複数の軌跡を記憶する記憶部にアクセス可能なコンピュータを、
    複数の前記文字からなる文字列で表現される問い合わせ経路を受け付ける受付部と、
    前記問い合わせ経路の接頭辞であって、対応する前記道路リンクのコストの合計が閾値より大きい1又は複数の文字のうち最も文字数が少ない接頭辞を特定する接頭辞特定部と、
    前記問い合わせ経路の接尾辞であって、対応する前記道路リンクのコストの合計が前記閾値より大きい1又は複数の文字のうち最も文字数が少ない接尾辞を特定する接尾辞特定部と、
    前記複数の軌跡から、前記接頭辞及び前記接尾辞を含み、前記軌跡の少なくとも一部分である候補軌跡を抽出する候補軌跡抽出部と、
    前記候補軌跡と前記問い合わせ経路との編集距離であって、前記候補軌跡と前記問い合わせ経路との間で差異がある文字に対応する道路リンクのコストの総和で表現される編集距離を演算し、前記候補軌跡の中から、前記編集距離が前記閾値以下である類似軌跡を検索する類似軌跡検索部と、
    として機能させることを特徴とする軌跡検索プログラム。
JP2018138369A 2018-07-24 2018-07-24 軌跡検索装置及び軌跡検索プログラム Active JP7082542B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018138369A JP7082542B2 (ja) 2018-07-24 2018-07-24 軌跡検索装置及び軌跡検索プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018138369A JP7082542B2 (ja) 2018-07-24 2018-07-24 軌跡検索装置及び軌跡検索プログラム

Publications (2)

Publication Number Publication Date
JP2020016984A JP2020016984A (ja) 2020-01-30
JP7082542B2 true JP7082542B2 (ja) 2022-06-08

Family

ID=69580979

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018138369A Active JP7082542B2 (ja) 2018-07-24 2018-07-24 軌跡検索装置及び軌跡検索プログラム

Country Status (1)

Country Link
JP (1) JP7082542B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118364314B (zh) * 2024-06-19 2024-08-20 四川汉科计算机信息技术有限公司 飞行轨迹贴合度的多维度评测方法及系统、设备、介质
CN118656413B (zh) * 2024-08-20 2024-11-01 云南师范大学 一种基于特征向量的分布式自适应地铁乘客轨迹相似性搜索方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017174230A (ja) 2016-03-24 2017-09-28 富士通株式会社 軌跡データ処理方法、軌跡データ処理プログラム及び軌跡データ処理装置
JP2018013924A (ja) 2016-07-20 2018-01-25 株式会社豊田中央研究所 移動体経路検索装置、記号列検索装置、及びプログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017174230A (ja) 2016-03-24 2017-09-28 富士通株式会社 軌跡データ処理方法、軌跡データ処理プログラム及び軌跡データ処理装置
JP2018013924A (ja) 2016-07-20 2018-01-25 株式会社豊田中央研究所 移動体経路検索装置、記号列検索装置、及びプログラム

Also Published As

Publication number Publication date
JP2020016984A (ja) 2020-01-30

Similar Documents

Publication Publication Date Title
Zheng et al. Keyword-aware continuous knn query on road networks
CN104462190B (zh) 一种基于海量空间轨迹挖掘的在线的位置预测方法
CN112528035B (zh) 基于关系注意力的知识图谱推理方法、装置和计算机设备
CN107092659B (zh) 一种通用的树形结构存储解析方法
CN101273350B (zh) 点击距离确定
CN100529668C (zh) 可导航地图数据库的迭代逻辑更新
CN111460311A (zh) 基于字典树的搜索处理方法、装置、设备和存储介质
CN106503789A (zh) 基于迪杰斯特拉和最大最小蚁群的无环最短路径搜索方法
Shekhar et al. Processing in-route nearest neighbor queries: a comparison of alternative approaches
CN112989055B (zh) 文本识别方法、装置、计算机设备和存储介质
US20020021838A1 (en) Adaptively weighted, partitioned context edit distance string matching
CN105706078A (zh) 实体集合的自动定义
KR102015235B1 (ko) 경로조회 방법, 장치, 디바이스 및 비휘발성 컴퓨터 기억 매체
EP1360616A2 (en) Database system and query optimiser
JP7082542B2 (ja) 軌跡検索装置及び軌跡検索プログラム
CN112579921B (zh) 基于倒排序索引及前缀树的轨迹索引和查询方法及系统
Amaliah et al. Finding the shortest paths among cities in Java Island using node combination based on Dijkstra algorithm
Koide et al. Fast subtrajectory similarity search in road networks under weighted edit distance constraints
JP3984134B2 (ja) 移動軌跡データ検索用インデックス生成装置及びその方法と、移動軌跡データ検索装置及びその方法と、移動軌跡データ検索用インデックス生成プログラム及びそのプログラムを記録した記録媒体と、移動軌跡データ検索プログラム及びそのプログラムを記録した記録媒体
KR100198813B1 (ko) 우편경로 시스템 및 그 시스템에 따른 최단 경로 생성방법
Cui et al. A road-aware neural network for multi-step vehicle trajectory prediction
CN114462357A (zh) 实体链接方法、构建方法、装置及存储介质
Koide et al. Enhanced indexing and querying of trajectories in road networks via string algorithms
Cho et al. A basis of spatial big data analysis with map-matching system
KR20190136369A (ko) 오토마타 기반 실시간 확률 패턴 매칭 장치 및 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210713

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220413

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220517

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220527

R150 Certificate of patent or registration of utility model

Ref document number: 7082542

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150