IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 日本電気株式会社の特許一覧

特許7501679旅行計画支援システム、方法およびプログラム
<>
  • 特許-旅行計画支援システム、方法およびプログラム 図1
  • 特許-旅行計画支援システム、方法およびプログラム 図2
  • 特許-旅行計画支援システム、方法およびプログラム 図3
  • 特許-旅行計画支援システム、方法およびプログラム 図4
  • 特許-旅行計画支援システム、方法およびプログラム 図5
  • 特許-旅行計画支援システム、方法およびプログラム 図6
  • 特許-旅行計画支援システム、方法およびプログラム 図7
  • 特許-旅行計画支援システム、方法およびプログラム 図8
  • 特許-旅行計画支援システム、方法およびプログラム 図9
  • 特許-旅行計画支援システム、方法およびプログラム 図10
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-06-10
(45)【発行日】2024-06-18
(54)【発明の名称】旅行計画支援システム、方法およびプログラム
(51)【国際特許分類】
   G01C 21/34 20060101AFI20240611BHJP
   G06Q 50/14 20120101ALI20240611BHJP
【FI】
G01C21/34
G06Q50/14
【請求項の数】 10
(21)【出願番号】P 2022578001
(86)(22)【出願日】2021-02-01
(86)【国際出願番号】 JP2021003513
(87)【国際公開番号】W WO2022162934
(87)【国際公開日】2022-08-04
【審査請求日】2023-07-07
(73)【特許権者】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(74)【代理人】
【識別番号】100103090
【弁理士】
【氏名又は名称】岩壁 冬樹
(74)【代理人】
【識別番号】100124501
【弁理士】
【氏名又は名称】塩川 誠人
(72)【発明者】
【氏名】藤井 秋紗子
(72)【発明者】
【氏名】鹿嶋 卓郎
【審査官】田中 将一
(56)【参考文献】
【文献】特開2008-292237(JP,A)
【文献】特開2005-043068(JP,A)
【文献】特開2008-180591(JP,A)
【文献】特開2007-010572(JP,A)
【文献】国際公開第2022/004407(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G01C 21/00 - 21/36
G01C 23/00 - 25/00
G06Q 50/00 - 50/20
G06Q 50/26 - 99/00
G16Z 99/00
(57)【特許請求の範囲】
【請求項1】
旅行者が旅程において意図すると想定される各特徴量にそれぞれ重み付けされた項の線形和で表された、当該旅程において生じるコストを算出するコスト関数の入力を受け付ける関数入力手段と、
旅行者の旅行計画を示す予定情報および当該旅行者の属性を示す属性情報、並びに、当該旅行者の移動実績を示す実績情報とを含むトレーニングデータを用いた逆強化学習により、前記コスト関数を学習する学習手段と、
指定された属性が属性情報に合致するトレーニングデータを抽出するデータ抽出手段とを備え、
前記学習手段は、抽出されたトレーニングデータを用いた逆強化学習により、前記属性に応じたコスト関数を学習する
ことを特徴とするプランニング支援システム。
【請求項2】
旅行計画を作成する際の制約条件の入力を受け付ける条件入力手段と、
前記制約条件を満たすように各移動地点の候補を移動する旅行計画のうち、前記コスト関数により算出されるコストが最小になる旅行計画を生成する旅行計画生成手段とを備えた
請求項1記載のプランニング支援システム。
【請求項3】
旅行計画生成手段は、移動地点の候補の集合と、コスト関数により算出される当該移動地点の候補へ移動する際に生じるコストまたは当該移動地点の候補に滞在する際に生じるコストに基づいて、総コストが最小になる移動または滞在の組み合わせを求めることにより旅行計画を生成する
請求項2記載のプランニング支援システム。
【請求項4】
旅行計画に含まれる各移動地点間の移動情報を地図上に重畳させて出力する旅行計画出力手段を備えた
請求項2または請求項3記載のプランニング支援システム。
【請求項5】
コスト関数に含まれる特徴量と、当該特徴量の重みとを対応付けて出力する学習結果出力手段を備えた
請求項1から請求項4のうちのいずれか1項に記載のプランニング支援システム。
【請求項6】
学習されたコスト関数の内容を識別可能な情報であるラベルを設定するコスト関数分類手段を備え、
前記コスト関数分類手段は、最も重みが高く設定された特徴量の内容を示すラベルを学習されたコスト関数に設定する
請求項1から請求項5のうちのいずれか1項に記載のプランニング支援システム。
【請求項7】
データ抽出手段は、予め定めた熟練者の条件を満たす人物のトレーニングデータを抽出する
請求項1から請求項6のうちのいずれか1項に記載のプランニング支援システム。
【請求項8】
関数入力手段は、移動時間が長いほどコストが高く算出され、移動地点の評価が高いほどコストが低く算出されるコスト関数の入力を受け付ける
請求項1から請求項7のうちのいずれか1項に記載のプランニング支援システム。
【請求項9】
旅行者が旅程において意図すると想定される各特徴量にそれぞれ重み付けされた項の線形和で表された、当該旅程において生じるコストを算出するコスト関数の入力を受け付け、
旅行者の旅行計画を示す予定情報および当該旅行者の属性を示す属性情報、並びに、当該旅行者の移動実績を示す実績情報とを含むトレーニングデータのうち、指定された属性が前記属性情報に合致するトレーニングデータを抽出し、
抽出されたトレーニングデータを用いた逆強化学習により、前記属性に応じたコスト関数を学習する
ことを特徴とするプランニング支援方法。
【請求項10】
コンピュータに、
旅行者が旅程において意図すると想定される各特徴量にそれぞれ重み付けされた項の線形和で表された、当該旅程において生じるコストを算出するコスト関数の入力を受け付ける関数入力処理、
旅行者の旅行計画を示す予定情報および当該旅行者の属性を示す属性情報、並びに、当該旅行者の移動実績を示す実績情報とを含むトレーニングデータを用いた逆強化学習により、前記コスト関数を学習する学習処理、および、
指定された属性が属性情報に合致するトレーニングデータを抽出するデータ抽出処理を実行させ、
前記学習処理で、抽出されたトレーニングデータを用いた逆強化学習により、前記属性に応じたコスト関数を学習させる
ためのプランニング支援プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、旅行計画の生成を支援する旅行計画支援システム、旅行計画支援方法および旅行計画支援プログラムに関する。
【背景技術】
【0002】
旅行計画は、様々な要素を考慮して作成される。計画時には、ガイドブックやSNS(Social Networking Service )、経路探索アプリケーションなどが用いられ、最終的には、これらの様々なツールを用いて旅行者が最適と思われる旅行計画が決定される。また、より好ましい旅行計画を決定するため、旅行代理店の担当者に旅行計画を依頼する場合もある。
【0003】
また、特許文献1には、観光スポットなどの経由地を経由する経路を容易に探索できる方法が記載されている。特許文献1に記載された方法では、第1の経由地と第2の経由地とを含む複数の経由地を表示する際に、第1の経由地または第2の経由地の代替となる他の経由地候補を表示させる。具体的には、第1の経由地または第2の経由地の代替となる他の経由地候補が選択されると、移動ルートのうち、他の経由地候補が選択された経由地の前後の地点は変更せず、選択された他の経由地候補を、対応する経由地に置き換えた移動ルートを表示する。
【0004】
また、移動計画に関し、効率的なルートを計画する方法も各種知られている。例えば、特許文献2には、配送対象となる複数の荷物の配送を支援する道路学習モデル生成装置および配送計画生成装置が記載されている。特許文献2に記載された道路学習モデル生成装置は、熟練ドライバーの走行履歴と道路ネットワーク情報と道路特徴量とを基に、道路の走行中の配送効率を示す道路コストを道路ごとに演算する道路学習モデルを逆強化学習により生成する。そして、配送計画生成装置は、生成した道路学習モデルを用いて、最適な配送計画を生成する。
【先行技術文献】
【特許文献】
【0005】
【文献】特開2018-155519号公報
【文献】国際公開2019/082720号
【発明の概要】
【発明が解決しようとする課題】
【0006】
一般的な方法では、旅行者が一つずつ旅行計画を行っていくが、この方法では、より適切な旅行計画を見逃してしまう恐れがある。また、旅行代理店の担当者に依頼した場合、より好ましい旅行計画を提示される可能性は高まるが、担当者の属人性や恣意的なお勧めが含まれる可能性を否定できない。ガイドブックを参考にする場合も同様である。
【0007】
特許文献1に記載された方法を用いることで、指定された観光スポットを経由する経路の候補を探索することは可能である。しかし、経路の候補が、必ずしも旅行者にとって適切な旅程を示す経路であるとは限らない。そのため、旅行者は、結果的に経路の候補に対して一つずつ評価を行う必要があるため、旅行者の負担を低減させることは難しい。
【0008】
また、特許文献2に記載された道路学習モデルを用いることで、熟練者の考えに則したルートを計画することは可能である。しかし、特許文献2に記載された方法により生成される道路学習モデルは、ドライバーの配送負担を軽減する配送計画の導出に用いられるものである。すなわち、上記道路学習モデルは、時間や距離などの効率性を重視したモデルであるため、そのまま旅行計画に適用することは難しい。
【0009】
例えば、旅行計画は、必ずしも効率性のみが重視されるものではなく、例えば、時間や距離を要したとしても、経由すべき場所が存在する場合には、その経由地が選択されるべきである。特許文献2に記載された方法では、そのような旅行において考慮すべき内容を見逃してしまうおそれがある。
【0010】
そこで、本発明は、旅行者にとって適切な旅行計画の生成を支援できる旅行計画支援システム、旅行計画支援方法および旅行計画支援プログラムを提供することを目的とする。
【課題を解決するための手段】
【0011】
本発明による旅行計画支援システムは、旅行者が旅程において意図すると想定される各特徴量にそれぞれ重み付けされた項の線形和で表された、旅程において生じるコストを算出するコスト関数の入力を受け付ける関数入力手段と、旅行者の旅行計画を示す予定情報およびその旅行者の属性を示す属性情報、並びに、その旅行者の移動実績を示す実績情報を含むトレーニングデータを用いた逆強化学習により、コスト関数を学習する学習手段と、指定された属性が属性情報に合致するトレーニングデータを抽出するデータ抽出手段とを備え、学習手段は、抽出されたトレーニングデータを用いた逆強化学習により、属性に応じたコスト関数を学習することを特徴とする。
【0012】
本発明による旅行計画支援方法は、旅行者が旅程において意図すると想定される各特徴量にそれぞれ重み付けされた項の線形和で表された、旅程において生じるコストを算出するコスト関数の入力を受け付け、旅行者の旅行計画を示す予定情報およびその旅行者の属性を示す属性情報、並びに、その旅行者の移動実績を示す実績情報を含むトレーニングデータのうち、指定された属性が属性情報に合致するトレーニングデータを抽出し、抽出されたトレーニングデータを用いた逆強化学習により、属性に応じたコスト関数を学習することを特徴とする。
【0013】
本発明による旅行計画支援プログラムは、コンピュータに、旅行者が旅程において意図すると想定される各特徴量にそれぞれ重み付けされた項の線形和で表された、旅程において生じるコストを算出するコスト関数の入力を受け付ける関数入力処理、旅行者の旅行計画を示す予定情報およびその旅行者の属性を示す属性情報、並びに、その旅行者の移動実績を示す実績情報を含むトレーニングデータを用いた逆強化学習により、コスト関数を学習する学習処理、および、指定された属性が属性情報に合致するトレーニングデータを抽出するデータ抽出処理を実行させ、学習処理で、抽出されたトレーニングデータを用いた逆強化学習により、属性に応じたコスト関数を学習させることを特徴とする。
【発明の効果】
【0014】
本発明によれば、旅行者にとって適切な旅行計画の生成を支援できる。
【図面の簡単な説明】
【0015】
図1】本発明による旅行計画支援システムの第一の実施形態の構成例を示すブロック図である。
図2】プランニングデータの例を示す説明図である。
図3】第一の実施形態の学習装置の動作例を示すフローチャートである。
図4】第一の実施形態の旅行計画出力装置の動作例を示すフローチャートである。
図5】本発明による旅行計画支援システムの第二の実施形態の構成例を示すブロック図である。
図6】第二の実施形態の学習装置の動作例を示すフローチャートである。
図7】第二の実施形態の旅行計画出力装置の動作例を示すフローチャートである。
図8】旅行計画を作成する処理の例を示す説明図である。
図9】本発明の旅行計画支援システムの適用例を示す説明図である。
図10】本発明による旅行計画支援システムの概要を示すブロック図である。
【発明を実施するための形態】
【0016】
以下、本発明の実施形態を図面を参照して説明する。
【0017】
実施形態1.
図1は、本発明による旅行計画支援システムの第一の実施形態の構成例を示すブロック図である。第一の実施形態の旅行計画支援システムは、旅行計画を行うユーザから指定される性別や年代に好ましいと想定される旅行計画を行う際に用いられるコスト関数を生成し、ユーザにとって適切な旅行計画をそのコスト関数を用いて生成する。なお、コスト関数の詳細については後述される。
【0018】
第一の実施形態の旅行計画支援システム1は、旅行履歴記憶装置10と、学習装置120と、旅行計画出力装置130と、表示装置40とを備えている。
【0019】
表示装置40は、旅行計画支援システム1による各種処理結果を出力する装置である。表示装置40は、例えば、ディスプレイ装置によって実現される。なお、図1では、旅行計画出力装置130に接続された表示装置40を1台例示しているが、学習装置120に接続される表示装置40と、旅行計画出力装置130に接続される表示装置40とが、別々に設けられていてもよい。
【0020】
旅行履歴記憶装置10は、旅行者の過去の旅行履歴(以下、プランニングデータと記す。)を記憶する。なお、本実施形態におけるプランニングデータは、実際に旅行を行った際の実績情報だけでなく、計画段階の予定情報も含む。また、プランニングデータには、旅行者の属性や、その旅行者の評価を示す情報も含まれる。
【0021】
図2は、プランニングデータの例を示す説明図である。図2に例示するプランニングデータは、項目として、大きく3つの区分(予定情報、利用者情報、実績情報)に分類される項目を含む。予定情報は、旅行者の旅行計画において想定される情報であり、実績情報は、旅行計画に基づいて旅行者が実際に行った移動実績の内容を示す情報である。また、利用者情報は、その旅行計画を行った人物の属性等を示す情報であり、後述する熟練者として想定する人物を特定する際の情報としても利用される。なお、予定情報および実績情報を含めた情報を旅程、または、旅程情報と記すこともある。
【0022】
なお、図2に例示するプランニングデータは一例であり、プランニングデータが、図2に例示する全ての項目を含んでいてもよく、一部の項目を含んでいてもよい。また、プランニングデータが、図2に例示する以外の項目を含んでいてもよい。例えば、実績情報に、天気など、環境を示す情報が含まれていてもよい。プランニングデータは、例えば、専用のアプリケーションや既存のSNSを用いて作成および収集される。
【0023】
学習装置120は、属性入力部121と、コスト関数入力部122と、データ抽出部123と、逆強化学習部124と、学習結果出力部125と、記憶部126とを含む。
【0024】
属性入力部121は、旅行計画を行うユーザが所望する熟練者の属性の入力を受け付ける。属性入力部121は、例えば、性別や年代などの属性の入力を受け付けてもよい。 また、属性入力部121は、属性として特定のユーザ(例えば、インフルエンサーなど)を示す情報の入力を受け付けてもよい。
【0025】
なお、本実施形態における熟練者とは、旅行者にとって適切と思われる旅程を実現できると考えられる人物を意味する。なお、ここでの適切とは、必ずしも効率性のみを意味するものではなく、快適性や、嗜好性など、利用者に好適な印象を与え得る状態を含む。例えば、属性として「20代」が指定された場合、旅行慣れした20代の人物が指定されたものと判断して処理が行われる。
【0026】
コスト関数入力部122は、後述する逆強化学習部124が学習に用いるコスト関数として、旅程において生じるコストを算出するコスト関数の入力を受け付ける。具体的には、コスト関数入力部122は、図2に例示するプランニングデータに含まれるような、旅行者が旅程において意図すると想定される各特徴量(すなわち、予定情報および実績情報に含まれる各種情報)に重視度合いがそれぞれ重み付けされた項の線形和で表されたコスト関数の入力を受け付ける。
【0027】
なお、この重視度合いは、旅程に対する利用者の意図を表わしていると言うこともできる。そのため、コスト関数によって算出される値は、旅程の評価に用いられる評価指標とも言える。また、本実施形態で用いられるコスト関数は、後述する旅行計画出力装置130がプランニングを設計する際に用いられるモデルであり、実際に採用された旅程がどのようなポリシに基づいて作成されたかを学習したモデルであることから、プランニング設計モデルと言うこともできる。
【0028】
また、コスト関数入力部122は、コスト関数と共に、満たすべき制約条件の入力を受け付けてもよい。コスト関数および制約条件は、分析者等により予め定められる。すなわち、旅程において考慮すべき特徴量の候補が分析者等により予め選択され、コスト関数として定義される。
【0029】
例えば、旅程を評価する際に、移動時間の評価および場所の評価を熟練者が意図する項目(特徴量)として考慮する場合、最適化指標を算出するコスト関数は、以下に例示する式1で表わされる。式1におけるxijおよびzが特徴量を示す。
【0030】
【数1】
【0031】
式1において、xijは、場所iから場所jへの移動の有無を示す。具体的には、場所iから場所jに移動する場合、xij=1になり、場所iから場所jに移動しない場合、xij=0になる。また、dijは、場所iから場所jへの移動時間を示し、zは、場所iの評価度合いを示す。すなわち、上記式1に示すコスト関数は、移動時間が長いほどコスト(値)が高く算出され、移動地点(場所)の評価が高いほどコスト(値)が低く算出される関数と言える。
【0032】
なお、上記に示す特徴量は例示であり、その他の特徴量を含んでいてもよい。例えば、特徴量として、各場所における滞在時間が挙げられる。コスト関数は、滞在時間が長いほどコスト(値)が低く算出される関数として定義されてもよい。なお、旅行計画に関連の低い特徴量は、逆強化学習の結果として重みが低く設定されるため、結果的に旅行計画で熟練者が意図する特徴量が抽出されることになる。
【0033】
データ抽出部123は、属性入力部121が受け付けた属性に対応するプランニングデータを旅行履歴記憶装置10から抽出する。例えば、旅行履歴記憶装置10が図2に例示するプランニングデータを記憶している場合、データ抽出部123は、受け付けた属性が利用者情報(属性情報)に合致するプランニングデータを抽出してもよい。なお、抽出されたプランニングデータは、後述する逆強化学習部124が学習に用いるデータであるため、抽出されたプランニングデータのことをトレーニングデータと言うこともある。
【0034】
また、旅行履歴記憶装置10が上述する熟練者以外の人物のプランニングデータ記憶している場合、データ抽出部123は、予め定めた熟練者の条件を満たす人物のプランニングデータを抽出するようにしてもよい。これにより、任意の人物のプランニングデータを記憶する旅行履歴記憶装置10の情報を、後述する逆強化学習のトレーニングデータとして利用することが可能になる。
【0035】
熟練者のプランニングデータを抽出する方法は任意であり、分析者等により予め定められる。データ抽出部123は、例えば、旅行の回数の多い人物、他人からの評価が高い人物、安価な旅程を作成している人物、多くのスポット(観光地)を訪問している人物、同一スポットに多数訪問している人物、SNSにおいてフォロワーの多い人物などを熟練者とし、その人物のプランニングデータを熟練者のプランニングデータとして抽出してもよい。
【0036】
また、データ抽出部123は、コスト関数に含まれる特徴量に合わせるため、プランニングデータに含まれる項目を特徴量へ変換する処理(演算や2値への変換等)やデータの統合処理、データクレンジングなどを行ってもよい。
【0037】
逆強化学習部124は、データ抽出部123によって抽出されたトレーニングデータを用いた逆強化学習により、上述するコスト関数を学習する。具体的には、逆強化学習部124は、受け付けた属性に対応する熟練者のプランニングデータをトレーニングデータとして用いた逆強化学習によりコスト関数を学習する。すなわち、このトレーニングデータには、熟練者の旅程の内容を表わす情報(具体的には、旅行者の旅行計画を示す予定情報および旅行者の属性を示す属性情報、並びに、その旅行者の移動実績を示す実績情報)が含まれる。
【0038】
逆強化学習部124が逆強化学習を行う方法は任意である。逆強化学習部124は、例えば、入力されたコスト関数および制約条件に基づいて熟練者の旅程を生成する数理最適化処理の実行と、生成された熟練者の旅程とトレーニングデータとの差分を小さくするようにコスト関数のパラメータ(重視度合い)を更新するコスト関数の推定処理を繰り返すことで、コスト関数を学習してもよい。
【0039】
逆強化学習部124がプランニングデータを用いて逆強化学習によりコスト関数を学習することにより、旅程に関する特徴量を抽出することが可能になる。そのため、様々な特徴量を考慮して最適な旅行計画を作成できるようになる。
【0040】
学習結果出力部125は、学習されたコスト関数を出力する。具体的には、学習結果出力部125は、指定された属性のコスト関数に含まれる特徴量と、その特徴量の重みとを対応付けて出力する。学習結果出力部125は、学習されたコスト関数を記憶部126に記憶させてもよく、旅行計画出力装置130にコスト関数の情報を送信して記憶部134に記憶させてもよい。
【0041】
また、学習結果出力部125は、コスト関数の内容を表示装置40に表示してもよい。表示装置40にコスト関数の内容を表示することにより、熟練者が旅程において重視する項目を視認することが可能になる。
【0042】
記憶部126は、学習されたコスト関数を記憶する。また、記憶部126は、逆強化学習部124が学習に用いる各種パラメータを記憶していてもよい。記憶部126は、例えば、磁気ディスク等により実現される。
【0043】
属性入力部121と、コスト関数入力部122と、データ抽出部123と、逆強化学習部124と、学習結果出力部125とは、プログラム(学習プログラム、旅行計画支援プログラム)に従って動作するコンピュータのプロセッサ(例えば、CPU(Central Processing Unit ))によって実現される。
【0044】
例えば、プログラムは、学習装置120の記憶部126に記憶され、プロセッサは、そのプログラムを読み込み、プログラムに従って、属性入力部121、コスト関数入力部122と、データ抽出部123、逆強化学習部124および学習結果出力部125として動作してもよい。また、学習装置120の機能がSaaS(Software as a Service )形式で提供されてもよい。
【0045】
また、属性入力部121と、コスト関数入力部122と、データ抽出部123と、逆強化学習部124と、学習結果出力部125とは、それぞれが専用のハードウェアで実現されていてもよい。また、各装置の各構成要素の一部又は全部は、汎用または専用の回路(circuitry )、プロセッサ等やこれらの組合せによって実現されもよい。これらは、単一のチップによって構成されてもよいし、バスを介して接続される複数のチップによって構成されてもよい。各装置の各構成要素の一部又は全部は、上述した回路等とプログラムとの組合せによって実現されてもよい。
【0046】
また、学習装置120の各構成要素の一部又は全部が複数の情報処理装置や回路等により実現される場合には、複数の情報処理装置や回路等は、集中配置されてもよいし、分散配置されてもよい。例えば、情報処理装置や回路等は、クライアントサーバシステム、クラウドコンピューティングシステム等、各々が通信ネットワークを介して接続される形態として実現されてもよい。
【0047】
旅行計画出力装置130は、条件入力部131と、旅行計画生成部132と、旅行計画出力部133と、記憶部134と含む。
【0048】
記憶部134は、後述する旅行計画生成部132が旅行計画を生成する際に利用する各種情報を記憶する。記憶部134は、例えば、対象とする地域で移動地点の候補になる場所や、移動手段、各移動手段を用いた2地点間の移動時間などの関連情報を記憶する。また、記憶部134は、学習装置120によって学習されたコスト関数を記憶してもよい。記憶部134は、例えば、磁気ディスク等により実現される。
【0049】
条件入力部131は、旅行計画時の制約条件の入力を受け付ける。具体的には、条件入力部131は、旅行計画を作成する際の制約条件の入力を受け付ける。制約条件の例として、例えば、スタート地点とゴール地点の組み合わせ、必須で訪問したい場所の情報や、移動地点の候補となる場所、滞在時間、費用等が挙げられる。
【0050】
また、条件入力部131は、2つの場所の間の移動時間などの関連情報の入力を合わせて受け付けてもよい。条件入力部131は、例えば、記憶部134から関連情報を取得してもよい。
【0051】
旅行計画生成部132は、入力された制約条件を満たすように各移動地点の候補を移動する旅行計画のうち、上述するコスト関数により算出されるコストが最小になる旅行計画を生成する。具体的には、旅行計画生成部132は、観光地などの移動地点の候補の集合と、移動地点の候補へ移動する際に生じるコスト、または、その移動地点の候補に滞在する際に生じるコストに基づいて、総コストが最小になる移動または滞在の組み合わせを求めることにより旅行計画を生成してもよい。
【0052】
旅行計画生成部132が総コストを最小にするような移動または滞在の組み合わせを求める方法は任意である。旅行計画生成部132は、組み合わせ最適化問題として旅行計画を生成してもよい。旅行計画生成部132は、例えば、ダイクストラ法のアルゴリズムにおいて用いられる距離の代わりに、コスト関数により算出されるコストを用いて、コストを最小化する経路を解く問題として旅行計画を生成してもよい。
【0053】
旅行計画出力部133は、生成された旅行計画を出力する。旅行計画出力部133は、例えば、移動地点と移動手段、移動に要する時間、滞在時間等、旅行を実現可能な各種情報を旅行計画として出力する。また、旅行計画出力部133は、旅行計画に含まれる各移動地点間の移動情報(例えば、移動経路、移動時間、滞在時間等)を地図上に重畳させて出力してもよい。これにより、出力された旅行計画をより具体的に把握することが可能になる。
【0054】
条件入力部131と、旅行計画生成部132と、旅行計画出力部133とは、プログラム(旅行計画出力プログラム、旅行計画支援プログラム)に従って動作するコンピュータのプロセッサ(例えば、CPU)によって実現される。
【0055】
次に、本実施形態の旅行計画支援システムの動作を説明する。図3は、本実施形態の学習装置120の動作例を示すフローチャートである。属性入力部121は、旅行計画を行うユーザが所望する属性の入力を受け付ける(ステップS11)。また、コスト関数入力部122は、旅程において生じるコストを算出するコスト関数の入力を受け付ける(ステップS12)。データ抽出部123は、指定された属性が属性情報に合致するトレーニングデータを抽出する(ステップS13)。逆強化学習部124は、抽出されたトレーニングデータを用いた逆強化学習により、コスト関数を学習する(ステップS14)。そして、学習結果出力部125は、学習されたコスト関数を出力する(ステップS15)。
【0056】
図4は、本実施形態の旅行計画出力装置130の動作例を示すフローチャートである。
【0057】
条件入力部131は、旅行計画を作成する際の制約条件の入力を受け付ける(ステップS21)。旅行計画生成部132は、制約条件を満たすように各移動地点の候補を移動する旅行計画のうち、コスト関数により算出されるコストが最小になる旅行計画を生成する(ステップS22)。そして、旅行計画出力部133は、生成された旅行計画を出力する(ステップS23)。
【0058】
以上のように、本実施形態では、コスト関数入力部122が、旅程において生じるコストを算出するコスト関数の入力を受け付け、データ抽出部123が、指定された属性が属性情報に合致するトレーニングデータを抽出する。そして、逆強化学習部124が、抽出されたトレーニングデータを用いた逆強化学習により、コスト関数を学習するよって、旅行者にとって適切な旅行計画の生成を支援できる。
【0059】
例えば、ある都市を観光する場合、一般的な方法では、インターネットやガイドブック等に基づいて訪問したい場所を決定し、決定した場所に行くための手段を積み上げ式で決定する。例えば、A地点から途中B地点を経由してC地点まで行く場合、ガイドブックに基づいてA地点からB地点までの移動方法を電車と決定し、地図アプリケーションに基づいてB地点からC地点までの移動方法をタクシーと決定する、などである。
【0060】
しかし、一般的な方法では、経由地を含めた目的地に対する最適な経路や所要時間を把握することは可能であるが、滞在時間等を含めて複数の地点を移動する場合、適切な経路を把握することは難しい。例えば、待ち合わせで1時間の空きがあって、ある地点まで移動するような状況を考える。一般的な方法を用いることで、待ち合わせ場所からある地点までを往復するために要する移動時間は把握できるが、滞在時間(例えば、清算の時間等も含む)を含めた適切な計画を把握することは難しく、時間が足りなくなってしまうような状況も否定できない。
【0061】
一方、本実施形態の旅行計画支援システムでは、逆強化学習部124が熟練者の過去のプランニングデータから逆強化学習によりモデルを生成する。そして、旅行計画生成部132が、そのコスト関数を用いることで、熟練者の意図を反映した旅行計画を出力する。そのため、移動時間以外の要因も考慮して旅行計画を作成することが可能になる。
【0062】
また、本実施形態では、データ抽出部123が、受け付けられた属性に対応するプランニングデータを旅行履歴記憶装置10から抽出し、抽出されたプランニングデータを用いてコスト関数が生成される。そして、旅行計画出力装置130が、生成されたコスト関数を用いて旅行計画を生成する。これは、指定した属性(すなわち、自分自身)に類似する人物とのマッチングを行っているということができ、自分自身の趣味嗜好にあった旅行計画を得ることも可能になる。
【0063】
さらに、データ抽出部123がプランニングデータを絞り込むため、例えば、生成された旅行計画に基づいて旅行を行った任意の人物の旅行履歴もプランニングデータとして再利用することが可能になる。
【0064】
また、ガイドブックでは一部のお勧めしか掲載できず、経過年による影響も受けやすい。また、多くの旅行者がガイドブックに従うと、そのガイドブックに掲載された場所に集中してしまう恐れもある。一方、本実施形態では、学習装置120が、過去のプランニングデータから旅行者の意図を示すコスト関数を学習する。例えば、トレーニングデータを地元の人物に限定したり、モデルの更新頻度を上げたりすることで、リアルタイムな旅行計画を生成することも可能になる。
【0065】
また、旅行がうまいという定義は難しく、旅行者に適切な情報を検索することは難しい。例えば、熟練者(旅行慣れした人物)による旅行計画は、高齢者や初心者には難しい場合もある。一方、本実施形態では、逆強化学習部124が、指定された属性に応じたプランニングデータに基づいてコスト関数を学習するため、その属性に応じて適切な旅行計画を生成することが可能になる。
【0066】
また、逆強化学習部124が、特定の人物(例えば、インフルエンサーX)によるプランニングデータに特化してコスト関数を学習することで、そのインフルエンサーの擬似的な旅行計画(例えば、「Xならこういう旅行ルートを辿ります」)を提供することも可能になる。
【0067】
また、本実施形態では、トレーニングデータからコスト関数を学習するため、旅行計画を定義した、いわゆるマスタを準備しておく必要がなくなり、そのマスタに対する個々の情報のメンテナンスコストを抑制することが可能になる。
【0068】
実施形態2.
次に、本発明の旅行計画支援システムの第二の実施形態を説明する。第二の実施形態の旅行計画支援システムは、予め複数のコスト関数を生成しておき、旅行計画を行うユーザに所望するジャンルのコスト関数を選択させることで、選択されたジャンルでの適切な旅行計画を生成する。
【0069】
図5は、本発明による旅行計画支援システムの第二の実施形態の構成例を示すブロック図である。第二の実施形態の旅行計画支援システム2は、旅行履歴記憶装置10と、学習装置220と、旅行計画出力装置230と、表示装置40とを備えている。旅行履歴記憶装置10および表示装置40の内容は、第一の実施形態と同様である。
【0070】
学習装置220は、コスト関数入力部122と、データ抽出部223と、逆強化学習部224と、学習結果出力部125と、記憶部126と、コスト関数分類部227とを含む。コスト関数入力部122、学習結果出力部125および記憶部126の内容は、第一の実施形態と同様である。なお、学習装置220が、第一の実施形態の属性入力部121を含んでいてもよい。
【0071】
データ抽出部223は、プランニングデータを旅行履歴記憶装置10から抽出する。なお、本実施形態のデータ抽出部223は、予め定めた規則に基づいて旅行履歴記憶装置10からプランニングデータを抽出する。本実施形態のデータ抽出部223は、例えば、ランダムに予め定めた件数のプランニングデータを抽出してもよく、年代の範囲ごとにプランニングデータを抽出してもよい。抽出されたプランニングデータが、後述する逆強化学習部224での学習処理に用いられる。
【0072】
逆強化学習部224は、抽出されたプランニングデータをトレーニングデータとして用いて複数のコスト関数を学習する。なお、コスト関数の学習方法は、第一の実施形態と同様である。複数のコスト関数の生成方法は任意であり、例えば、データ抽出部223にプランニングデータの複数のグループを抽出させ、抽出されたグループごとのプランニングデータを用いて、それぞれにプランニングデータに基づくコスト関数を学習してもよい。
【0073】
コスト関数分類部227は、学習された各コスト関数を分類する。具体的には、コスト関数分類部227は、学習された各コスト関数の内容を識別可能な情報(以下、ラベルと記すこともある。)を設定する。コスト関数分類部227は、各コスト関数で最も重みが高く設定された特徴量の内容を示すラベルを設定してもよい。例えば、移動距離に最も高い重みが設定されたコスト関数の場合、コスト関数分類部227は、そのコスト関数に「移動距離重視の旅行計画(モデル)」のようなラベルを設定してもよい。また、例えば、食に関する特徴量に最も高い重みが設定されたコスト関数の場合、コスト関数分類部227は、そのコスト関数に「食重視の旅行計画(モデル)」のようなラベルを設定してもよい。
【0074】
他にも、コスト関数分類部227は、プランニングデータ(トレーニングデータ)を抽出する際の絞り込み条件に基づいて、コスト関数の特徴を示すラベルを設定してもよい。例えば、属性として年代が指定された場合、コスト関数分類部227は、そのコスト関数に「○○代の旅行計画」のようなラベルを設定してもよい。
【0075】
また、コスト関数分類部227は、分析者からの明示的な指示に基づいて各コスト関数に設定するラベルの入力を受け付けてもよい。分析者は、例えば、学習結果出力部125による出力結果に基づいて、各コスト関数にラベルを設定するように指示してもよい。
【0076】
なお、学習結果出力部125は、設定されたラベルと共に学習されたコスト関数を出力してもよい。
【0077】
コスト関数入力部122と、データ抽出部223と、逆強化学習部224と、学習結果出力部125と、コスト関数分類部227とは、プログラム(学習プログラム、旅行計画支援プログラム)に従って動作するコンピュータのプロセッサによって実現される。
【0078】
旅行計画出力装置230は、条件入力部131と、旅行計画生成部132と、旅行計画出力部133と、コスト関数選択部234とを含む。条件入力部131、旅行計画生成部132および旅行計画出力部133の内容は、第一の実施形態と同様である。
【0079】
コスト関数選択部234は、ユーザによるコスト関数の選択を受け付ける。具体的には、コスト関数選択部234は、各コスト関数に設定したラベルをユーザに提示し、ユーザからの選択を受け付ける。以降、旅行計画生成部132は、第一の実施形態と同様に、入力された制約条件と選択されたコスト関数に基づいて旅行計画を生成する。
【0080】
条件入力部131と、旅行計画生成部132と、旅行計画出力部133と、コスト関数選択部234とは、プログラム(旅行計画出力プログラム、旅行計画支援プログラム)に従って動作するコンピュータのプロセッサによって実現される。
【0081】
次に、本実施形態の旅行計画支援システムの動作を説明する。図6は、本実施形態の学習装置220の動作例を示すフローチャートである。コスト関数入力部122がコスト関数の入力を受け付ける処理は、図3に例示するステップS12の処理と同様である。データ抽出部223は、プランニングデータを旅行履歴記憶装置10から抽出する(ステップS31)。
【0082】
逆強化学習部224は、抽出されたトレーニングデータを用いた逆強化学習により、複数のコスト関数を学習する(ステップS32)。コスト関数分類部227は、学習された各コスト関数にラベルを設定する(ステップS33)。以降、学習結果出力部125が学習されたコスト関数を出力する処理は、図3に示すステップS15の処理と同様である。
【0083】
図7は、本実施形態の旅行計画出力装置230の動作例を示すフローチャートである。
【0084】
コスト関数選択部234は、ユーザによるコスト関数の選択を受け付ける(ステップS41)。以降、制約条件の入力を受け付けて旅行計画を生成し、出力するまでの処理は、図4に示すステップS21からステップS23までの処理と同様である。
【0085】
以上のように、本実施形態では、第一の実施形態と比較し、逆強化学習部224が、複数のコスト関数を学習し、コスト関数選択部234が、ユーザによるコスト関数の選択を受け付ける。そのような構成により、ユーザが重視する特徴量に応じた旅行計画を生成することが可能になる。
【0086】
以下、具体例を用いて、本発明の旅行計画支援システムの動作を説明する。本具体例では、20代のユーザがA市を旅行する場合に、第一の実施形態の旅行計画支援システム1が同年代の旅行者が意図するような旅行計画を作成する場合を例示する。
【0087】
図8は、旅行計画を作成する処理の例を示す説明図である。まず、属性入力部121が属性として、旅行者の属性(20代)の入力を受け付けると、データ抽出部123が、図8に例示する旅行者(20代)の過去のプランニングデータD1を抽出する。また、コスト関数入力部122が、上記に例示する式1のコスト関数の入力を受け付ける。逆強化学習部124は、逆強化学習により、最適化指標を最小化する重み(α,β)が導出されたコスト関数を生成し、学習結果出力部125は、学習されたコスト関数を出力する。例えば、αの値が小さい場合、時間をあまり重視しないことを示し、βの値が大きい場合、場所の評価を重視していることを示す。
【0088】
次に、条件入力部131は、旅行計画時の制約条件の入力を受け付ける。また、条件入力部131は、A市における関連情報D2の入力を受け付ける。旅行計画生成部132は、今回の訪問地の候補になる関連情報D2を、熟練者(ここでは、20代)の意図を学習したコスト関数に適用して、熟練者の意図に即した旅行計画を生成する。例えば、旅行計画D3が生成された場合、a→c→b→eの順に訪問する旅行計画が、最も熟練者の意図と近いということが言える。
【0089】
次に、本発明の旅行計画支援システムの適用例を説明する。ここでも、第一の実施形態の旅行計画支援システム1の動作を例示する。図9は、本発明の旅行計画支援システムの適用例を示す説明図である。
【0090】
旅行計画支援システム1は、例えば、スマートフォンを介してユーザから、ユーザ登録を受け付ける。このユーザ登録により、属性情報が抽出される。旅行計画支援システム1は、この属性情報に基づいて類似ユーザのマッチングを行い、プランニングデータから該当するデータを抽出して逆強化学習を行う。そして、旅行計画支援システム1は、生成されたコスト関数を利用して旅行計画を生成する。
【0091】
ユーザは、生成された旅行計画に基づいて旅行計画を立案し、実際の計画を旅行計画支援システム1に登録する。その後、ユーザは、旅行に出発する。出発後、ユーザによる施設利用の情報や帰宅までの移動データなどの履歴が収集されると、旅行計画支援システム1は、それらの履歴から実績情報を抽出し、抽出された実績情報を、新たなプランニングデータとして登録する。
【0092】
このようなサイクルで実績情報を蓄積させることで、より適切な旅行計画を作成でき、また、リアルタイムな旅行計画を生成することも可能になる。
【0093】
次に、本発明の概要を説明する。図10は、本発明によるプランニング支援システムの概要を示すブロック図である。本発明によるプランニング支援システム70(例えば、旅行計画支援システム1)は、旅行者が旅程において意図すると想定される各特徴量にそれぞれ重み付けされた項の線形和で表された、旅程において生じるコストを算出するコスト関数(例えば、上記に示す式1)の入力を受け付ける関数入力手段71(例えば、コスト関数入力部122)と、旅行者の旅行計画を示す予定情報およびその旅行者の属性を示す属性情報、並びに、その旅行者の移動実績を示す実績情報を含むトレーニングデータを用いた逆強化学習により、コスト関数を学習する学習手段72(例えば、逆強化学習部124)と、指定された属性が属性情報に合致するトレーニングデータを抽出するデータ抽出手段73(例えば、データ抽出部123)とを備えている。
【0094】
学習手段72は、抽出されたトレーニングデータを用いた逆強化学習により、属性に応じたコスト関数を学習する。
【0095】
そのような構成により、旅行者にとって適切な旅行計画の生成を支援できる。
【0096】
また、プランニング支援システム70は、旅行計画を作成する際の制約条件の入力を受け付ける条件入力手段(例えば、条件入力部131)と、制約条件を満たすように各移動地点の候補を移動する旅行計画のうち、コスト関数により算出されるコストが最小になる旅行計画を生成する旅行計画生成手段(例えば、旅行計画生成部132)とを備えていてもよい。
【0097】
具体的には、旅行計画生成手段は、移動地点の候補の集合と、コスト関数により算出される移動地点の候補へ移動する際に生じるコストまたは移動地点の候補に滞在する際に生じるコストに基づいて、総コストが最小になる移動または滞在の組み合わせを求めることにより(例えば、組み合わせ問題として)旅行計画を生成してもよい。
【0098】
また、プランニング支援システム70は、旅行計画に含まれる各移動地点間の移動情報を地図上に重畳させて出力する旅行計画出力手段(例えば、旅行計画出力部133)を備えていてもよい。
【0099】
また、プランニング支援システム70は、コスト関数に含まれる特徴量と、その特徴量の重みとを対応付けて出力する学習結果出力手段(例えば、学習結果出力部125)を備えていてもよい。
【0100】
また、プランニング支援システム70(例えば、旅行計画支援システム2)は、学習されたコスト関数の内容を識別可能な情報であるラベルを設定するコスト関数分類手段(例えば、コスト関数分類部227)を備えていてもよい。そして、コスト関数分類手段は、最も重みが高く設定された特徴量の内容を示すラベルを学習されたコスト関数に設定してもよい。
【0101】
また、データ抽出手段73は、予め定めた熟練者の条件を満たす人物のトレーニングデータを抽出してもよい。
【0102】
また、関数入力手段71は、移動時間が長いほどコストが高く算出され、移動地点の評価が高いほどコストが低く算出されるコスト関数の入力を受け付けてもよい。
【0103】
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
【0104】
(付記1)旅行者が旅程において意図すると想定される各特徴量にそれぞれ重み付けされた項の線形和で表された、当該旅程において生じるコストを算出するコスト関数の入力を受け付ける関数入力手段と、
旅行者の旅行計画を示す予定情報および当該旅行者の属性を示す属性情報、並びに、当該旅行者の移動実績を示す実績情報を含むトレーニングデータを用いた逆強化学習により、前記コスト関数を学習する学習手段と、
指定された属性が属性情報に合致するトレーニングデータを抽出するデータ抽出手段とを備え、
前記学習手段は、抽出されたトレーニングデータを用いた逆強化学習により、前記属性に応じたコスト関数を学習する
ことを特徴とするプランニング支援システム。
【0105】
(付記2)旅行計画を作成する際の制約条件の入力を受け付ける条件入力手段と、
前記制約条件を満たすように各移動地点の候補を移動する旅行計画のうち、前記コスト関数により算出されるコストが最小になる旅行計画を生成する旅行計画生成手段とを備えた
付記1記載のプランニング支援システム。
【0106】
(付記3)旅行計画生成手段は、移動地点の候補の集合と、コスト関数により算出される当該移動地点の候補へ移動する際に生じるコストまたは当該移動地点の候補に滞在する際に生じるコストに基づいて、総コストが最小になる移動または滞在の組み合わせを求めることにより旅行計画を生成する
付記2記載のプランニング支援システム。
【0107】
(付記4)旅行計画に含まれる各移動地点間の移動情報を地図上に重畳させて出力する旅行計画出力手段を備えた
付記2または付記3記載のプランニング支援システム。
【0108】
(付記5)コスト関数に含まれる特徴量と、当該特徴量の重みとを対応付けて出力する学習結果出力手段を備えた
付記1から付記4のうちのいずれか1つに記載のプランニング支援システム。
【0109】
(付記6)学習されたコスト関数の内容を識別可能な情報であるラベルを設定するコスト関数分類手段を備え、
前記コスト関数分類手段は、最も重みが高く設定された特徴量の内容を示すラベルを学習されたコスト関数に設定する
付記1から付記5のうちのいずれか1つに記載のプランニング支援システム。
【0110】
(付記7)データ抽出手段は、予め定めた熟練者の条件を満たす人物のトレーニングデータを抽出する
付記1から付記6のうちのいずれか1つに記載のプランニング支援システム。
【0111】
(付記8)関数入力手段は、移動時間が長いほどコストが高く算出され、移動地点の評価が高いほどコストが低く算出されるコスト関数の入力を受け付ける
付記1から付記7のうちのいずれか1つに記載のプランニング支援システム。
【0112】
(付記9)旅行者が旅程において意図すると想定される各特徴量にそれぞれ重み付けされた項の線形和で表された、当該旅程において生じるコストを算出するコスト関数の入力を受け付け、
旅行者の旅行計画を示す予定情報および当該旅行者の属性を示す属性情報、並びに、当該旅行者の移動実績を示す実績情報を含むトレーニングデータのうち、指定された属性が前記属性情報に合致するトレーニングデータを抽出し、
抽出されたトレーニングデータを用いた逆強化学習により、前記属性に応じたコスト関数を学習する
ことを特徴とするプランニング支援方法。
【0113】
(付記10)旅行計画を作成する際の制約条件の入力を受け付け、
前記制約条件を満たすように各移動地点の候補を移動する旅行計画のうち、前記コスト関数により算出されるコストが最小になる旅行計画を生成する
付記9記載のプランニング支援方法。
【0114】
(付記11)コンピュータに、
旅行者が旅程において意図すると想定される各特徴量にそれぞれ重み付けされた項の線形和で表された、当該旅程において生じるコストを算出するコスト関数の入力を受け付ける関数入力処理、
旅行者の旅行計画を示す予定情報および当該旅行者の属性を示す属性情報、並びに、当該旅行者の移動実績を示す実績情報を含むトレーニングデータを用いた逆強化学習により、前記コスト関数を学習する学習処理、および、
指定された属性が属性情報に合致するトレーニングデータを抽出するデータ抽出処理を実行させ、
前記学習処理で、抽出されたトレーニングデータを用いた逆強化学習により、前記属性に応じたコスト関数を学習させる
ためのプランニング支援プログラムを記憶するプログラム記憶媒体。
【0115】
(付記12)コンピュータに、
旅行計画を作成する際の制約条件の入力を受け付ける条件入力処理、および、
前記制約条件を満たすように各移動地点の候補を移動する旅行計画のうち、前記コスト関数により算出されるコストが最小になる旅行計画を生成する旅行計画生成処理を実行させるためのプランニング支援プログラムを記憶する
付記11記載のプログラム記憶媒体。
【0116】
(付記13)コンピュータに、
旅行者が旅程において意図すると想定される各特徴量にそれぞれ重み付けされた項の線形和で表された、当該旅程において生じるコストを算出するコスト関数の入力を受け付ける関数入力処理、
旅行者の旅行計画を示す予定情報および当該旅行者の属性を示す属性情報、並びに、当該旅行者の移動実績を示す実績情報を含むトレーニングデータを用いた逆強化学習により、前記コスト関数を学習する学習処理、および、
指定された属性が属性情報に合致するトレーニングデータを抽出するデータ抽出処理を実行させ、
前記学習処理で、抽出されたトレーニングデータを用いた逆強化学習により、前記属性に応じたコスト関数を学習させる
ためのプランニング支援プログラム。
【0117】
(付記14)コンピュータに、
旅行計画を作成する際の制約条件の入力を受け付ける条件入力処理、および、
前記制約条件を満たすように各移動地点の候補を移動する旅行計画のうち、前記コスト関数により算出されるコストが最小になる旅行計画を生成する旅行計画生成処理を実行させる
付記13記載のプランニング支援プログラム。
【0118】
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【符号の説明】
【0119】
1,2 旅行計画支援システム
10 旅行履歴記憶装置
40 表示装置
120,220 学習装置
121 属性入力部
122 コスト関数入力部
123,223 データ抽出部
124,224 逆強化学習部
125 学習結果出力部
126 記憶部
130,230 旅行計画出力装置
131 条件入力部
132 旅行計画生成部
133 旅行計画出力部
134 記憶部
227 コスト関数分類部
234 コスト関数選択部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10