(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2024-08-13
(45)【発行日】2024-08-21
(54)【発明の名称】情報処理装置、情報処理方法、および情報処理プログラム
(51)【国際特許分類】
G06N 20/00 20190101AFI20240814BHJP
G06F 18/10 20230101ALI20240814BHJP
G06N 3/096 20230101ALI20240814BHJP
【FI】
G06N20/00
G06F18/10
G06N3/096
(21)【出願番号】P 2023199618
(22)【出願日】2023-11-27
【審査請求日】2023-11-27
(73)【特許権者】
【識別番号】399037405
【氏名又は名称】楽天グループ株式会社
(74)【代理人】
【識別番号】100109380
【氏名又は名称】小西 恵
(74)【代理人】
【識別番号】100109036
【氏名又は名称】永岡 重幸
(72)【発明者】
【氏名】ナッジャル アラミーン
(72)【発明者】
【氏名】ミード カイル
【審査官】福西 章人
(56)【参考文献】
【文献】韓国公開特許第10-2023-0160082(KR,A)
【文献】特表2009-501976(JP,A)
【文献】中国特許出願公開第116611442(CN,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/00-99/00
G06F 18/00-18/40
(57)【特許請求の範囲】
【請求項1】
連続した複数の位置データそれぞれを文字列に符号化することにより、複数の文字列を生成する符号化部であって、前記複数の文字列それぞれは、前記複数の位置データそれぞれにより特定される位置が含まれる領域に割り当てられた文字列である符号化部と、
前記複数の文字列を複数の組の文字列に組み分けする組み分け部と、
前記複数の組の文字列それぞれを複数のトークンに分割するトークン化部と、
を有する、情報処理装置。
【請求項2】
前記複数の位置データそれぞれは、緯度と経度により構成される、請求項1に記載の情報処理装置。
【請求項3】
前記領域は、地図上に予め配置された複数の領域のいずれかである、請求項1または2に記載の情報処理装置。
【請求項4】
前記符号化部は、前記複数の位置データそれぞれが取得された時間情報を付して前記複数の文字列を生成し、
前記組み分け部は、文字列の類似性と時間情報の類似性に基づいて、前記複数の文字列を前記複数の組の文字列に組み分けする、
請求項1に記載の情報処理装置。
【請求項5】
前記符号化部により生成された複数の文字列それぞれは、複数のブロックで構成されており、
前記トークン化部は、前記複数の組の文字列それぞれの複数のブロックを利用して複数のトークンに分割する、
請求項1に記載の情報処理装置。
【請求項6】
前記複数の文字列それぞれは、前記複数の位置データそれぞれに基づくハッシュ表現である、請求項1に記載の情報処理装置。
【請求項7】
前記複数のトークンから、一部のトークンをマスクした第1トークンセットを生成する第1トークンセット生成部と、
前記第1トークンセットを用いて、トランスフォーマに基づく言語モデルを事前学習させる事前学習部と、
を更に有する、請求項1に記載の情報処理装置。
【請求項8】
前記複数のトークンから、トークンに所定のタスクのためのラベルを付した第2トークンセットを生成する第2トークンセット生成部と、
前記第2トークンセットを用いて、前記事前学習された言語モデルをファインチューニングするファインチューニング部を更に有する、請求項7に記載の情報処理装置。
【請求項9】
情報処理装置によって実行される情報処理方法であって、
連続した複数の位置データそれぞれを文字列に符号化することにより、複数の文字列を生成する符号化工程あって、前記複数の文字列それぞれは、前記複数の位置データそれぞれにより特定される位置が含まれる領域に割り当てられた文字列である符号化工程と、
前記複数の文字列を複数の組の文字列に組み分けする組み分け工程と、
前記複数の組の文字列それぞれを複数のトークンに分割するトークン化工程と、
を含む、情報処理方法。
【請求項10】
情報処理をコンピュータに実行させるための情報処理プログラムであって、該プログラムは、前記コンピュータに、
連続した複数の位置データそれぞれを、文字列に符号化することにより複数の文字列を生成する符号化処理であって、前記複数の文字列それぞれは、前記複数の位置データそれぞれにより特定される位置が含まれる領域に割り当てられた文字列である符号化処理と、
前記複数の文字列を複数の組の文字列に組み分けする組み分け処理と、
前記複数の組の文字列それぞれを複数のトークンに分割するトークン化処理と、を含む処理を実行させるためのものである、
情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、軌跡データを用いた機械学習の技術に関する。
【背景技術】
【0002】
自然言語処理(Natural Language Processing(NLP))の技術において、大量のデータを使って事前学習(Pre-training)し、その後、下流タスクに適応できるように教師ありデータを用いて再学習(ファインチューニング(Fine-tuning))する機械学習モデルが知られている(例えば、特許文献1)。このような2段階の学習工程を踏んだ機械学習モデルは、基盤モデル(Foundation Model)とも呼ばれている。
【0003】
このような基盤モデルにおいて、事前学習は、特定のタスクに偏らない汎用的なデータを用いて行われる。また、事前学習は、一般的には、大量の教師無しデータを用いて行われる。事前学習の手法の一例は、MLM(Masked Language Modeling)である。MLMは、入力文(入力データ)に含まれる複数のトークン(語句)の一部をマスクし、マスクされたトークンを予測させる学習手法である。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
事前学習と、所望の下流タスクに対応したファインチューニングにより、当該下流タスクに適応可能な学習モデルを実現でき、これまで、あらゆる言語タスクに適応した学習モデルが開発されている。一方、ユーザによる地理的な移動に伴う位置情報を含む軌跡データを用いて学習させる学習モデルについては、関心が高まっているにも関わらず、具体的な実現が待たれている状態であった。一方、ユーザの軌跡データとして、ユーザが保持するユーザ装置において取得される位置情報を利用することができるが、多数のユーザから収集する場合にその量は膨大であり、軌跡データを効率的に用いて学習モデルを学習させることが重要である。そして、そのためには、軌跡データから、学習データとしてのトークンを効率的に生成する必要がある。
【0006】
本発明は上記課題に鑑みてなされたものであり、軌跡データから、学習データとしてのトークンを効率的に生成するための技術を提供することを目的とする。
【課題を解決するための手段】
【0007】
上記課題を解決するために、本発明による情報処理装置の一態様は、連続した複数の位置データそれぞれを文字列に符号化することにより、複数の文字列を生成する符号化部であって、前記複数の文字列それぞれは、前記複数の位置データそれぞれにより特定される位置が含まれる領域に割り当てられた文字列である符号化部と、前記複数の文字列を複数の組の文字列に組み分けする組み分け部と、前記複数の組の文字列それぞれを複数のトークンに分割するトークン化部と、を有する。
【0008】
上記課題を解決するために、本発明による情報処理方法の一態様は、連続した複数の位置データそれぞれを文字列に符号化することにより、複数の文字列を生成する符号化工程あって、前記複数の文字列それぞれは、前記複数の位置データそれぞれにより特定される位置が含まれる領域に割り当てられた文字列である符号化工程と、前記複数の文字列を複数の組の文字列に組み分けする組み分け工程と、前記複数の組の文字列それぞれを複数のトークンに分割するトークン化工程と、含む。
【0009】
上記課題を解決するために、本発明による情報処理プログラムの一態様は、情報処理をコンピュータに実行させるための情報処理プログラムであって、該プログラムは、前記コンピュータに、連続した複数の位置データそれぞれを文字列に符号化することにより、複数の文字列を生成する符号化処理であって、前記複数の文字列それぞれは、前記複数の位置データそれぞれにより特定される位置が含まれる領域に割り当てられた文字列である符号化処理と、前記複数の文字列を複数の組の文字列に組み分けする組み分け処理と、前記複数の組の文字列それぞれを複数のトークンに分割するトークン化処理と、を含む処理を実行させるためのものである。
【発明の効果】
【0010】
本発明によれば、軌跡データから、学習データとしてのトークンを効率的に生成することが可能となる。
上記した本発明の目的、態様および効果並びに上記されなかった本発明の目的、態様および効果は、当業者であれば添付図面および請求の範囲の記載を参照することにより下記の発明を実施するための形態から理解できるであろう。
【図面の簡単な説明】
【0011】
【
図1】
図1は、実施形態による情報処理システムの構成例を示す。
【
図2】
図2は、実施形態による情報処理装置の機能構成例を示す。
【
図3】
図3は、トークン化処理のフローチャートを示す。
【
図4B】
図4Bは、軌跡データからトークンへのデータの変形を表す図である。
【
図4C】
図4Cは、49個の六角形に割り当てられたハッシュ値から生成されるトークンの例を示す。
【
図6】
図6は、実施形態による情報処理装置のハードウェア構成例を示す。
【発明を実施するための形態】
【0012】
以下、添付図面を参照して、本発明を実施するための実施形態について詳細に説明する。以下に開示される構成要素のうち、同一機能を有するものには同一の符号を付し、その説明を省略する。なお、以下に開示される実施形態は、本発明の実現手段としての一例であり、本発明が適用される装置の構成や各種条件によって適宜修正または変更されるべきものであり、本発明は以下の実施形態に限定されるものではない。また、本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。
【0013】
[情報処理システムの構成]
図1に、本実施形態による情報処理システム1の構成例を示す。情報処理システム1は、情報処理装置10およびユーザ装置11を含んで構成される。情報処理装置10およびユーザ装置11は、ネットワーク12を介して互いに通信可能に構成される。ネットワーク13は、インターネットのほか、イントラネット、LAN(Local Area Network)、WAN(Wide Area Network)、移動体通信網等を含むことができる。なお、
図1では、1つのユーザ装置11が図示されているが、情報処理システム1は、複数のユーザ装置を有するように構成され、本開示では、当該複数のユーザ装置をユーザ装置11と総称しうる。また、ユーザ装置11はユーザ13により操作される。本開示において、ユーザ装置とユーザという語は同義に理解されてよい。
【0014】
ユーザ装置11は、ユーザ13によって携帯可能な携帯端末である。ユーザ装置11は、例えば、スマートフォンやタブレットといったデバイスであり、ネットワーク12を介して、情報処理装置10に通信可能に構成される。ユーザ装置11は、ユーザ装置11の位置データ(位置情報)を取得可能な測位部を備える。当該測位部は、例えば、GPS(Global Positioning System)センサである。ユーザ装置11は、ユーザ13の移動に沿って連続した複数の位置データを取得し、情報処理装置10に送信する。また、ユーザ装置11は、位置データに、当該位置データを取得した時間情報(タイムスタンプ)を付して、情報処理装置10に送信しうる。ユーザ装置11は、一定時間毎や予め決められた時間で、位置データを取得しうる。位置データを取得する時間は、他の装置により指示されていてもよい。なお、ユーザ装置11は時間情報を付した位置データを、ネットワーク12を介して情報処理装置10と異なる外部装置へ送信してもよい。
【0015】
情報処理装置10は、ユーザ装置11から受信した、連続した複数の位置データを軌跡データとして取得する。そして、情報処理装置10は、当該軌跡データを用いて、後述する学習モデルを学習させるための処理を実施する。情報処理装置10は、ユーザ装置11を含む多数のユーザ装置から、大量の異なる軌跡データを取得することができる。この場合も、情報処理装置10は、各軌跡データについて、後述の処理を実施する。
【0016】
[情報処理装置の機能構成]
本実施形態による情報処理装置10は、複数の位置データを含む軌跡データを取得し、当該軌跡データに含まれる当該複数の位置データそれぞれを文字列に符号化して、複数の文字列を生成するように構成される。さらに、情報処理装置10は、当該複数の文字列を複数の組(クラスタ)の文字列に組み分け(クラスタ化)し、当該複数の組の文字列それぞれを複数のトークンに分割するように構成される。さらに、情報処理装置10は、当該複数のトークンを使用して、機械学習モデルとしての言語モデルの事前学習およびファインチューニングを行うように構成される。
【0017】
図2に、本実施形態による情報処理装置10の機能構成の一例を示す。情報処理装置10は、その機能構成の一例として、軌跡データ取得部201、符号化部202、クラスタ化部203、トークン化部204、学習データ生成部205、事前学習部206、ファインチューニング部207、および記憶部210を有する。記憶部210は、言語モデル(自然言語処理モデル)211、教師なし学習データセットである第1トークンセット212、および教師あり学習データセットである第2トークンセット213を記憶可能に構成される。なお、情報処理装置10全体が1つの装置に設けられるのではなく、情報処理装置10が複数の装置に分かれて設けられてもよい。例えば、情報処理装置10の一部が外部サーバ装置に設けられてもよい。この場合、情報処理装置10と外部サーバ装置との協働によって、以下に示す機能が実現される。
【0018】
軌跡データ取得部201は、ユーザ装置12を含む複数のユーザ装置のそれぞれから、連続した複数の位置データを含む軌跡データを取得する。符号化部202は、軌跡データ取得部101により取得された軌跡データに含まれる複数の位置データをそれぞれ、文字列に符号化(変換)する。クラスタ化部203は、符号化部102により符号化された複数の文字列を複数の組(クラスタ)の文字列に組み分け(クラスタ化)する。トークン化部204は、クラスタ化部203により組み分けされた複数の組の文字列それぞれを複数のトークンに分割する。すなわち、トークン化部204は、複数のトークンを生成する。学習データ生成部205は、トークン化部204により生成された複数のトークンから、教師なし学習データセットである第1トークンセット212、および教師あり学習データセットである第2トークンセット213を生成する。学習データ生成部205は、第1トークンセット212と第2トークンセット213を、記憶部210に記憶させる。事前学習部206は、第1トークンセット212を用いて、言語モデル211を事前学習させる。ファインチューニング部207は、第2トークンセット213を用いて、事前学習された言語モデル211に対して、所定のタスクに対応したファインチューニングを行う。以下、トークン化処理と、学習処理に分けて、情報処理装置10により実行される処理を説明する。
【0019】
[トークン化処理]
まず、本実施形態によるトークン化処理について説明する。
図3に、情報処理装置10により実行されるトークン化処理のフローチャートを示す。トークン化処理は、情報処理装置10が、ネットワーク12を介してユーザ装置11からユーザ装置11(すなわち、ユーザ13)の連続した複数の位置データを含む軌跡データを取得可能な状態で開始される。あるいは、トークン化処理は、情報処理装置10が、ユーザ装置11の軌跡データを外部装置から取得可能な状態で開始される。
【0020】
S31において、軌跡データ取得部201は、連続した複数の位置データを含む軌跡データを取得する。本実施形態では、位置データは、緯度と経度により構成されるデータを想定する。これに代えて、位置データは、地図上の任意の座標における位置を示すデータであってもよい。本実施形態において、位置データは、当該位置データがユーザ装置11により取得された時間情報(タイムスタンプ)が付されている。
【0021】
S32において、符号化部202は、軌跡データ取得部101により取得された軌跡データに含まれる複数の位置データをそれぞれ、文字列に符号化(変換)する。ここで、符号化される文字列は、あらゆる形式のテキストの情報であってよい。本実施形態では、符号化部102は、地図上に予め配置された複数の領域を用いる。当該複数の領域のそれぞれには、地理的な位置に基づいて文字列が割り当てられている。符号化部102は、各位置データを、各位置データにより特定される位置が含まれる領域に割り当てられた文字列に符号化する。すなわち、符号化部102は、各位置データを、複数の領域のいずれかにマッピングすることにより、連続する位置データを離散的なデータ(文字列)に変換する。
【0022】
図4Aに、複数の領域が配置された地
図400の例を示す。地
図400には、複数の領域と、各領域のそれぞれに割り当てられた文字列の例が示されている。
図4Aでは、各領域は、多角形(ポリゴン)の一例として、六角形の形状を有する。六角形の場合は、ユーザが移動する際に生じる量子化誤差(位置データを文字列に変換する際に誤差)をより小さくすることができる。また、六角形は、簡単に半径を近似することも可能にする。なお、当該領域は、隣接する領域と重ならずに接するような領域であればよく、その形状は六角形に限定されない。例えば、当該領域の形状は、五角形といった他の多角形であってもよい。
【0023】
図4Aでは、各領域(六角形)に割り当てられる文字列の一例として、各領域の地理的な位置に対応するハッシュ値(ハッシュ表現)が示されている。
図4Aにおいて、各六角形に対応するハッシュ値は、例えば、各六角形における所定の位置(例えば中心位置)の緯度と経度とを引数(入力値)としてハッシュ関数に入力することにより得ることができる。符号化部102は、位置データにより示される緯度と経度を、当該緯度と経度が位置する領域に対応するハッシュ値に符号化(変換)する。
【0024】
図4Bは、軌跡データからトークンへのデータの変形を表す図である。
図4Bにおいて、軌跡データ410は、時間情報が付された、緯度と経度から構成される位置データを4つ含む軌跡データ(位置データシーケンス)である。符号化部202は、軌跡データ410の各位置データをハッシュ値に変換することにより、ハッシュ値シーケンス411を生成する。ハッシュ値シーケンス411におけるハッシュ値は、
図4Aに示す地
図400の複数の領域のうち、位置データにより特定される位置が含まれる領域に割り当てられたハッシュ値に対応する。ハッシュ値シーケンス411において、軌跡データ410における位置データである(35.524,139.759,08:00)と(35.527,139.757,08:01)は、時間情報を維持したまま同じハッシュ値である(82f5a52bfff,08:01)に変換されている。これは、緯度=35.524かつ経度=139.759の位置と、緯度=35.527かつ経度=139.757の位置は、地図上に配置された同じ領域(
図4Aの例では同じ六角形)に位置することに相当する。一方、軌跡データ410における位置データである(35.538,139.769,11:00)と(35.559,139.755,16:00)は、それぞれ別のハッシュ値に変換されている。これは、緯度=35.538かつ経度=139.769の位置と、緯度=35.559かつ経度=139.755の位置は、地図上に配置された異なる領域(
図4Aの例では異なる六角形)に位置することに相当する。
【0025】
本実施形態において、符号化部102により符号化された各文字列は、複数の階層的な地理的エリア(大区分エリアから小区分エリア)に対応する複数のブロックで構成される。ここで、共通する地理的エリアには共通の(すなわち、同じ)1つ以上の文字が用いられる。例えば、緯度と経度の同じ数字部分に対応する文字列は、共通の1つ以上の文字で表現され、結果として複数のブロックで構成される。
【0026】
図4Aの例では、図示される49個の六角形全体は、同じ大区分(上位)エリアを形成し、当該大区分エリアは、「82f5a」の文字が適用されている。よって、49個の六角形は全て頭に「82f5a」の文字が適用されている。また、太線で囲まれる7つの六角形は、7つの六角形ごとに同じ中区分(中位)エリアを形成し、7つの六角形ごとに共通の文字が適用されている。すなわち、「e8」、「ee」、「e1」、「52」、「53」、「ed」、または「ec」の文字が、「82f5a」に続いて適用されている。また、7つの六角形のそれぞれは、小区分(下位)エリアを形成し、それぞれ異なる文字が適用されている。例えば、「e8」が割り当てられている中区分エリアにおける7つの六角形のそれぞれには、「7fff」、「5fff」、「dfff」、「9fff」、「bfff」、「3fff」、または「1fff」の文字が、「e8」に続いて適用されている。このように、
図4Aの例では、各領域に割り当てられたハッシュ値(文字列)は、少なくとも3つのブロックで構成されている。
【0027】
また、住所を用いて説明すると、2つの緯度と経度により特定される位置に対応する住所が「A市B町1丁目」と「A市B町2丁目」である場合を想定する。この場合、2つの住所に対応する文字列は、「A市」と「B町」を表す1つ以上の文字は共通であり、「1丁目」と「2丁目」を表す1つ以上の文字は異なるように構成される。よって、この例の文字列は、複数の地理的エリアである「市」と「町」と「丁目」に対応した、複数のブロックを有する表現となる。
【0028】
文字列への符号化後、S33において、クラスタ化部203は、符号化部102により符号化された複数の文字列を複数の組の文字列に組み分け(クラスタ化)する。クラスタ化により、余分な(不要な)データが削除される。すなわち、ノイズが低減される。本実施形態では、時空間的近接性(spatiotemporal proximity)に基づいて、クラスタ化する。具体的には、クラスタ化部203は、符号化部102により符号化された複数の文字列における類似性(すなわち、位置データにより特定される位置の近接性)と、文字列に付された時間情報の類似性(すなわち、位置データが取得された時間の近接性)に基づいて、クラスタ化する。例えば、クラスタ化部203は、複数の文字列のうち、所定数の文字が一致し、かつ、所定時間内の時間情報を有する1つ以上の文字列を、1つの組にクラスタ化する、すなわち、マージする。本実施形態では、当該所定数や当該所定時間の情報(すなわち、位置と時間の近接性の範囲)は、予め情報処理装置10において設定されてもよいし、記憶部(
図6のROM602やRAM603)に格納されている任意のプログラムによって設定されてもよい。あるいは、クラスタ化部203が、当該所定数や当該所定時間の情報を、所定の指示(例えば操作者による指示)により、設定、または、調整してもよい。
【0029】
図4Bを参照して、クラスタ化の例について説明する。クラスタ化部203は、符号化部202により生成された、時間情報を有するハッシュ値シーケンス411に含まれる複数のハッシュ値の類似性を判定する。例えば、クラスタ化部203は、ハッシュ値を構成する複数の文字列のうち所定数の文字が一致し、かつ、所定時間内の時間情報を有する複数のハッシュ値を、1つの組に組み分けする。これは、所定時間内に取得された、所定範囲内の複数の位置データから符号化された複数の文字列を、1つの組に組み分けすることに相当する。
【0030】
クラスタ化部203が、ハッシュ値シーケンス411に含まれる(82f5a52bfff,08:00)、(82f5a52bfff,08:00)、(82f5a525fff,11:00)、(82f5ae15fff,16:00)のうち、最初の2つのハッシュ値に付された時間情報が、所定時間内の時間情報を有すると判定したとする。当該2つのハッシュ値は一致している。この場合、クラスタ化部203は、当該最初の2つのハッシュ値を1つの組に組み分けする。すなわち、最初の2つのハッシュ値である(82f5a52bfff,08:00)と(82f5a52bfff,08:00)は、1つの組(82f5a52bfff,08:01)に組み分けされる。ここで、時間情報として、ハッシュ値や位置データに付された時間情報のうち最も遅い時間情報(=08:01)が付されているが、これに限定されない。例えば、最も早い時間情報や、平均した時間情報を採用してもよい。そして、クラスタ化部203は、クラスタ化したハッシュ値シーケンス412を生成する。クラスタ化されたハッシュ値が存在しない場合は、符号化部202とクラスタ化部203により生成されたハッシュ値シーケンスは同じになる。
【0031】
クラスタ化を行うことにより、複数の位置データから符号化された複数の文字列(本実施形態では複数のハッシュ値)は、時空間的近接性に基づいて1つ以上の組(クラスタ)に編成される。これにより、データのノイズが抑えられ、軌道点(trajectory points)の密度が制御される。当該軌道点の密度は、時空間的近接性に関する条件(位置と時間の近接性の範囲)を調整することにより、制御することができる。
【0032】
S34において、トークン化部204は、クラスタ化部203によりクラスタ化された複数の組の文字列をトークン化(分割)することにより、複数のトークンを生成する。前述のように、各文字列は、階層的な複数のブロックで構成され、トークン化部204は、当該複数のブロックを利用して、複数のトークンを生成する。例えば、トークン化部204は、クラスタ化部203によりクラスタ化された複数の組の文字列それぞれを階層的な複数のブロックに分割して、複数のトークンを生成する。各ブロックが、1トークンに相当する。本実施形態では、文字列はハッシュ値であり、トークン化部204は、各ハッシュ値を複数のサブハッシュ値に分割し、各サブハッシュ値をトークンとして生成する。
【0033】
図4Bを参照して、トークン化の例について説明する。トークン化部204は、ハッシュ値シーケンス412に含まれる複数のハッシュ値それぞれを、複数のトークン(サブハッシュ値)に分割し、複数のトークンからなるトークンシーケンス413を生成する。トークンシーケンス413には、複数の同じトークン(例えば「52」)が含まれるが、それぞれのトークンは、別のクラスタ化されたハッシュ値から生成されているため、異なるトークン(データ)として扱われる。
【0034】
このような手順で、軌跡データから複数のトークンが生成される。軌跡データに対して、符号化とクラスタ化の処理を施すことにより、当該軌跡データから、軌跡の特徴を表すように(すなわち、軌跡の特徴が抽出されるように)、複数のトークンを生成することができる。また、軌跡データのデータ量を削減して、複数のトークンを生成することができる。
図4Bの例では、時間情報を有する軌跡データ410から、軌跡の特徴を表すトークンシーケンス413が生成される。図からも明らかなように、トークンシーケンス413のデータ量は、軌跡データ410のデータ量から大幅に削減されている。
【0035】
図4Cを参照して、トークン化によるデータ量の削減についてさらに説明する。
図4Cは、
図4Aに示す49個の六角形に割り当てられたハッシュ値から生成されるトークンの例を示す。
図4Cにおいて、ハッシュ値群420は、
図4Aに示す49個の六角形それぞれに割り当てられた49個のハッシュ値を含む。トークン群421は、上述した手順に従い、ハッシュ値群420から生成されたトークンの集合である。
図4Cから理解できるように、トークン群421のデータ量は、ハッシュ値群420のデータ量から大幅に削減されている。よって、例えば、多数のユーザからユーザ装置を介して軌跡データを得た場合に、当該軌跡データから、軌跡の特徴を表す多数のトークンを含む大規模なデータセットを生成することができる。
【0036】
このように、情報処理装置10は、複数の位置データを、位置データにより特定される位置に基づいて複数の文字列に変換し、当該複数の文字列を、文字列と、位置データが取得された時間情報の近接性(類似性)に基づいて複数のクラスタに組み分けする。そして、情報処理装置10は、複数のクラスタに含まれる文字列を、複数のトークンに分割する。このような処理により、複数の位置データを含む軌跡データは、ノイズが低減された上で、軌跡の特徴が抽出されたトークンに変換される。これにより、多数のユーザから軌跡データを得た場合に、当該軌跡データから、軌跡の特徴を示す多数のトークンを含む大規模なデータセットを生成することができる。このような大規模なデータセットは、言語モデル211を学習させるために使用される。
【0037】
[学習処理]
次に、本実施形態による学習処理について説明する。
図5に、情報処理装置10により実行される学習処理のフローチャートを示す。トークン化部204により生成されたトークンは、学習処理に用いられる。まず、S51において、学習データ生成部205は、トークン化部204により生成された複数のトークンから、第1トークンセットと第2トークンセットを生成する。
【0038】
学習データ生成部205は、第1トークンセット212として、トークン化部204により生成された複数のトークンから教師なし学習データセットを生成し、記憶部210に格納する。すなわち、第1トークンセット212は、あらゆるタスクに依存しない学習データセットとなる。本実施形態では、MLM(Masked Language Modeling)の手法で言語モデル211を事前学習させるために、学習データ生成部205は、第1トークンセット212として、1つの軌道データから生成された複数のトークンの一部のトークンをマスキングしたトークンのセットを複数生成する。第1トークンセット212は、事前学習部206による事前学習に使用される。
【0039】
また、学習データ生成部205は、第2トークンセット213として、トークン化部204により生成された複数のトークンから教師あり学習データセットを生成し、記憶部210に格納する。第2トークンセットは、1つの軌道データから生成された複数のトークンに対してターゲットとするタスクに対するラベル(正解データ)が付されたセットを複数含んで構成される。第2トークンセット213は、ファインチューニング部206によるファインチューニングに使用される。ターゲットとするタスクとしては、都市計画や交通に関する位置ベースのサービスのためのタスクでありうる。
【0040】
S52において、事前学習部206は、第1トークンセット(教師なし学習データセット)を用いて、言語モデル211を事前学習させる。言語モデル211は、例えば、トランスフォーマ(transformer)と呼ばれるアーキテクチャが組み込まれた機械学習モデルである。すなわち、言語モデル211は、トランスフォーマに基づく言語モデルである。このようなトランスフォーマとして、BERT(Bidirectional Encoder Representation from Transformers)が知られている。第1トークンセット211に含まれるトークンの一部はマスキングされており、事前学習部206は、マスクされたトークンを推定する形により、言語モデル211を学習させる。言語モデル211は、タスクに依存しない方法で学習され、軌跡データの広範な理解を得ることを可能にする。本実施形態では、軌道データから生成された大量のトークンのデータセットから言語モデル211を事前学習することを可能にすることから、LLM(大規模言語モデル)を基に、言語モデル211を、LTM(Large trajectory model(大規模軌道モデル))と称することができる。
【0041】
S53において、ファインチューニング部206は、ターゲットとするタスクのために生成された第2トークンセット(教師あり学習データセット)を用いて、事前学習された言語モデル211のファインチューニングを行う。事前学習された言語モデル211は、軌跡データから生成された複数のトークンを理解できるように、パラメータ(ウェイト)が調節されている。ファインチューニングは、事前学習された言語モデル211に対して、明確なタスクを与える学習である。ファインチューニングにより、言語モデル211のパラメータが、ターゲットとするタスク上でそのパフォーマンスを最適化するように調整され、当該タスクに適応した言語モデル211を構成することが可能となる。
【0042】
このように、本実施形態では、ユーザの軌跡データとして、ユーザ装置により得られたユーザの位置データから構成された軌跡データを利用する。このような軌跡データは多数のユーザから得ることができ、実世界で得られる事実情報であり、有益な学習データとなりうる。本実施形態では、多数のユーザから得られた大量の軌跡データを、上述の手順により、ノイズを低減し、かつ、データ量を削減した上で、軌跡の特徴を表す複数のトークンに変換する。当該複数のトークンのデータ量は、軌跡データから大幅に削減されるため、大量の軌跡データを用いる場合であっても、当該複数のトークンを用いて、効率的に言語モデル211を学習させることができる。
【0043】
なお、上記実施形態では、符号化された文字列は、階層的な地理的エリアに対応した複数のブロックで構成され、当該複数のブロックを利用してトークン化される例を説明したが、複数のブロックの性質はこれに限定されない。例えば、符号化された文字列は、地図上に設定された所定のルールに基づいた複数のブロックで構成され、当該複数のブロックを利用してトークン化されてもよい。
【0044】
[情報処理装置のハードウェア構成]
次に、情報処理装置10のハードウェア構成例について説明する。
図6は、本実施形態による情報処理装置10のハードウェア構成の一例を示すブロック図である。
本実施形態による情報処理装置10は、単一または複数の、あらゆるコンピュータ、モバイルデバイス、または他のいかなる処理プラットフォーム上にも実装することができる。
図6を参照して、情報処理装置10は、単一のコンピュータに実装される例が示されているが、本実施形態による情報処理装置10は、複数のコンピュータを含むコンピュータシステムに実装されてよい。複数のコンピュータは、有線または無線のネットワークにより相互通信可能に接続されてよい。
【0045】
図6に示すように、情報処理装置10は、CPU(Central Processing Unit)601と、ROM(Read Only Memory)602と、RAM(Random Access Memory)603と、HDD(Hard Disk Drive)604と、入力部605と、表示部606と、通信I/F(通信部)(インタフェース)607と、システムバス608とを備えてよい。情報処理装置10はまた、外部メモリを備えてよい。
CPU601は、情報処理装置10における動作を統括的に制御するものであり、データ伝送路であるシステムバス608を介して、各構成部(602~607)を制御する。
【0046】
ROM602は、CPU601が処理を実行するために必要な制御プログラム等を記憶する不揮発性メモリである。当該プログラムは、上記実施形態による処理を実行させる命令(コード)を含む。なお、当該プログラムは、HDD604、SSD(Solid State Drive)等の不揮発性メモリや着脱可能な記憶媒体(不図示)等の外部メモリに記憶されていてもよい。
RAM603は、揮発性メモリであり、CPU601の主メモリ、ワークエリア等として機能する。すなわち、CPU601は、処理の実行に際してROM602から必要なプログラム等をRAM603にロードし、当該プログラム等を実行することで各種の機能動作を実現する。RAM603は、
図2に示す記憶部210を含みうる。
【0047】
HDD604は、例えば、CPU601がプログラムを用いた処理を行う際に必要な各種データや各種情報等を記憶している。また、HDD604には、例えば、CPU601がプログラム等を用いた処理を行うことにより得られた各種データや各種情報等が記憶される。
入力部605は、キーボードやマウス等のポインティングデバイスにより構成される。
表示部606は、液晶ディスプレイ(LCD)等のモニターにより構成される。表示部606は、入力部605と組み合わせて構成されることにより、GUI(Graphical User Interface)として機能してもよい。
【0048】
通信I/F607は、情報処理装置10と外部装置との通信を制御するインタフェースである。通信I/F607は、ネットワークとのインタフェースを提供し、ネットワークを介して、外部装置との通信を実行する。通信I/F607を介して、外部装置との間で各種データや各種パラメータ等が送受信される。本実施形態では、通信I/F607は、イーサネット(登録商標)等の通信規格に準拠する有線LAN(Local Area Network)や専用線を介した通信を実行してよい。ただし、本実施形態で利用可能なネットワークはこれに限定されず、無線ネットワークで構成されてもよい。この無線ネットワークは、Bluetooth(登録商標)、ZigBee(登録商標)、UWB(Ultra Wide Band)等の無線PAN(Personal Area Network)を含む。また、Wi-Fi(Wireless Fidelity)(登録商標)等の無線LAN(Local Area Network)や、WiMAX(登録商標)等の無線MAN(Metropolitan Area Network)を含む。さらに、4G、5G等の無線WAN(Wide Area Network)を含む。なお、ネットワークは、各機器を相互に通信可能に接続し、通信が可能であればよく、通信の規格、規模、構成は上記に限定されない。
【0049】
図2に示す情報処理装置10の各要素のうち少なくとも一部の機能は、CPU601がプログラムを実行することで実現することができる。ただし、
図2に示す情報処理装置10の各要素のうち少なくとも一部の機能が専用のハードウェアとして動作するようにしてもよい。この場合、専用のハードウェアは、CPU601の制御に基づいて動作する。
【0050】
本実施形態の開示は以下の構成を含む。
[1]連続した複数の位置データそれぞれを文字列に符号化することにより、複数の文字列を生成する符号化部であって、前記複数の文字列それぞれは、前記複数の位置データそれぞれにより特定される位置が含まれる領域に割り当てられた文字列である符号化部と、前記複数の文字列を複数の組の文字列に組み分けする組み分け部と、前記複数の組の文字列それぞれを複数のトークンに分割するトークン化部と、
を有する、情報処理装置。
【0051】
[2]前記複数の位置データそれぞれは、緯度と経度により構成される、[1]に記載の情報処理装置。
【0052】
[3]前記領域は、地図上に予め配置された複数の領域のいずれかである、[1]または[2]に記載の情報処理装置。
【0053】
[4]前記符号化部は、前記複数の位置データそれぞれが取得された時間情報を付して前記複数の文字列を生成し、前記組み分け部は、文字列の類似性と時間情報の類似性に基づいて、前記複数の文字列を前記複数の組の文字列に組み分けする、[1]から[3]のいずれかに記載の情報処理装置。
【0054】
[5]前記符号化部により生成された複数の文字列それぞれは、複数のブロックで構成されており、前記トークン化部は、前記複数の組の文字列それぞれの複数のブロックを利用して複数のトークンに分割する、[1]から[4]のいずれかに記載の情報処理装置。
【0055】
[6]前記複数の文字列それぞれは、前記複数の位置データそれぞれに基づくハッシュ表現である、[1]から[5]のいずれかに記載の情報処理装置。
【0056】
[7]前記複数のトークンから、一部のトークンをマスクした第1トークンセットを生成する第1トークンセット生成部と、前記第1トークンセットを用いて、トランスフォーマに基づく言語モデルを事前学習させる事前学習部と、を更に有する、[1]から[6]のいずれかに記載の情報処理装置。
【0057】
[8]前記複数のトークンから、トークンに所定のタスクのためのラベルを付した第2トークンセットを生成する第2トークンセット生成部と、前記第2トークンセットを用いて、前記事前学習された言語モデルをファインチューニングするファインチューニング部を更に有する、[7]に記載の情報処理装置。
【符号の説明】
【0058】
1:情報処理システム、10:情報処理装置、11:ユーザ装置、12:ネットワーク、13:ユーザ、201:軌跡データ取得部、202:符号化部、203:クラスタ化部、204:トークン化部、205:学習データ生成部、206:事前学習部、207:ファインチューニング部、210:記憶部、211:言語モデル、212:第1トークンセット、213:第2トークンセット
【要約】
【課題】軌跡データから、学習データとしてのトークンを効率的に生成する。
【解決手段】情報処理装置は、連続した複数の位置データそれぞれを文字列に符号化することにより、複数の文字列を生成し、該複数の文字列それぞれは、該複数の位置データそれぞれにより特定される位置が含まれる領域に割り当てられた文字列であり、該複数の文字列を複数の組の文字列に組み分けし、該複数の組の文字列それぞれを複数のトークンに分割する。
【選択図】
図2