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

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

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

特許7687400情報生成装置、情報生成方法および情報生成プログラム
<>
  • 特許-情報生成装置、情報生成方法および情報生成プログラム 図1
  • 特許-情報生成装置、情報生成方法および情報生成プログラム 図2
  • 特許-情報生成装置、情報生成方法および情報生成プログラム 図3
  • 特許-情報生成装置、情報生成方法および情報生成プログラム 図4
  • 特許-情報生成装置、情報生成方法および情報生成プログラム 図5
  • 特許-情報生成装置、情報生成方法および情報生成プログラム 図6
  • 特許-情報生成装置、情報生成方法および情報生成プログラム 図7
  • 特許-情報生成装置、情報生成方法および情報生成プログラム 図8
  • 特許-情報生成装置、情報生成方法および情報生成プログラム 図9
  • 特許-情報生成装置、情報生成方法および情報生成プログラム 図10
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-05-26
(45)【発行日】2025-06-03
(54)【発明の名称】情報生成装置、情報生成方法および情報生成プログラム
(51)【国際特許分類】
   G06F 16/903 20190101AFI20250527BHJP
【FI】
G06F16/903
【請求項の数】 9
(21)【出願番号】P 2023534486
(86)(22)【出願日】2021-07-13
(86)【国際出願番号】 JP2021026334
(87)【国際公開番号】W WO2023286170
(87)【国際公開日】2023-01-19
【審査請求日】2024-01-05
(73)【特許権者】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(74)【代理人】
【識別番号】100103090
【弁理士】
【氏名又は名称】岩壁 冬樹
(74)【代理人】
【識別番号】100124501
【弁理士】
【氏名又は名称】塩川 誠人
(72)【発明者】
【氏名】江藤 力
(72)【発明者】
【氏名】下村 英恵
(72)【発明者】
【氏名】窪田 大
【審査官】三橋 竜太郎
(56)【参考文献】
【文献】米国特許第07424451(US,B1)
【文献】国際公開第2017/056367(WO,A1)
【文献】特開2019-046172(JP,A)
【文献】特開平07-141236(JP,A)
【文献】特開2010-211540(JP,A)
【文献】江藤 力,外4名,「熟練者の意思決定を模倣する意図学習技術」,NEC技報 ,日本電気株式会社,2019年10月31日,第72巻 第1号,p.95-98
(58)【調査した分野】(Int.Cl.,DB名)
G06F 16/00-16/958
(57)【特許請求の範囲】
【請求項1】
目的関数と制約とを含む最適化問題を示す第1データと、当該最適化問題の特徴を示す第2データとの入力を受け付ける入力手段と、
前記第1データと前記第2データとを対応付けた検索情報を生成する生成手段と
対象者の意思決定履歴データを用いた逆強化学習により、最適化問題の目的関数を生成する学習手段とを備え、
前記学習手段は、予測モデルの入力を受け付け、受け付けた予測モデルの予測結果を説明変数に用いて目的関数を生成し、
前記生成手段は、生成された前記目的関数を含む前記第1データと、前記第2データとを対応付けた検索情報を生成する
ことを特徴とする情報生成装置。
【請求項2】
生成手段は、対象者の意思決定履歴データを用いて学習された目的関数を含む第1データと、第2データとを対応付けた検索情報を生成する
請求項1記載の情報生成装置。
【請求項3】
最適化問題の特徴を生成する特徴生成手段を備え、
生成手段は、生成された前記最適化問題の特徴を第1データに対応付けた検索情報を生成する
請求項1または請求項2記載の情報生成装置。
【請求項4】
目的関数が、説明変数の線形和で表わされ、
特徴生成手段は、前記目的関数に含まれる説明変数の重みに応じて最適化問題の特徴を生成する
請求項3記載の情報生成装置。
【請求項5】
特徴生成手段は、目的関数の学習に用いられたトレーニングデータを生成する基になったユーザを示す情報を最適化問題の特徴として生成する
請求項3または請求項4記載の情報生成装置。
【請求項6】
特徴生成手段によって生成された特徴をユーザに推薦する推薦手段を備え、
前記推薦手段は、推薦する特徴をユーザに提示して指定させ、
生成手段は、前記ユーザから指定された特徴を第2データに含めた検索情報を生成する
請求項3から請求項5のうちのいずれか1項に記載の情報生成装置。
【請求項7】
入力手段は、最適化問題を解くための候補とする最適化ソルバの情報の入力を受け付け、
生成手段は、前記最適化ソルバの情報を含む検索情報を生成する
請求項1から請求項6のうちのいずれか1項に記載の情報生成装置。
【請求項8】
コンピュータが、目的関数と制約とを含む最適化問題を示す第1データと、当該最適化問題の特徴を示す第2データとの入力を受け付け、
前記コンピュータが、予測モデルの入力を受け付け、受け付けた予測モデルの予測結果を説明変数に用いて、対象者の意思決定履歴データを用いた逆強化学習により、最適化問題の目的関数を生成し、
前記コンピュータが、生成された前記目的関数を含む前記第1データと前記第2データとを対応付けた検索情報を生成する
ことを特徴とする情報生成方法。
【請求項9】
コンピュータに、
目的関数と制約とを含む最適化問題を示す第1データと、当該最適化問題の特徴を示す第2データとの入力を受け付ける入力処理
前記第1データと前記第2データとを対応付けた検索情報を生成する生成処理、および、
対象者の意思決定履歴データを用いた逆強化学習により、最適化問題の目的関数を生成する学習処理を実行させ、
前記学習処理で、予測モデルの入力を受け付けさせ、受け付けた予測モデルの予測結果を説明変数に用いて目的関数を生成させ、
前記生成処理で、生成された前記目的関数を含む前記第1データと、前記第2データとを対応付けた検索情報を生成させる
ための情報生成プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、検索可能な情報を生成する情報生成装置、情報生成方法および情報生成プログラムに関する。
【背景技術】
【0002】
特許文献1には、ユーザ側装置から取得した利用要求に応じて、データベースに予め保管されている複数の機械学習モデルから1または複数の機械学習モデルを選択してユーザ側装置に提供する装置が記載されている。特許文献1に記載されたデータベースは、複数の機械学習モデルを記憶し、各機械学習モデルについての機能および生成環境の少なくとも一方の情報であるモデル情報も併せて記憶する。
【先行技術文献】
【特許文献】
【0003】
【文献】国際公開2018/142766号
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献1に記載された機械学習モデルは、学習データおよび正解データに基づき、機械学習により生成した予測モデルを想定しているが組み合わせ最適化問題のような意思決定に利用されることを想定していない。
【0005】
そこで、本発明では、最適化問題を検索するための情報を生成できる情報生成装置、情報生成方法および情報生成プログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明による情報生成装置は、目的関数と制約とを含む最適化問題を示す第1データと、その最適化問題の特徴を示す第2データとの入力を受け付ける入力手段と、第1データと第2データとを対応付けた検索情報を生成する生成手段と、対象者の意思決定履歴データを用いた逆強化学習により、最適化問題の目的関数を生成する学習手段とを備え、学習手段は、予測モデルの入力を受け付け、受け付けた予測モデルの予測結果を説明変数に用いて目的関数を生成し、生成手段は、生成された目的関数を含む第1データと、第2データとを対応付けた検索情報を生成することを特徴とする。
【0007】
本発明による情報生成方法は、コンピュータが、目的関数と制約とを含む最適化問題を示す第1データと、その最適化問題の特徴を示す第2データとの入力を受け付け、コンピュータが、予測モデルの入力を受け付け、受け付けた予測モデルの予測結果を説明変数に用いて、対象者の意思決定履歴データを用いた逆強化学習により、最適化問題の目的関数を生成し、コンピュータが、生成された目的関数を含む第1データと第2データとを対応付けた検索情報を生成することを特徴とする。
【0008】
本発明による情報生成プログラムは、コンピュータに、目的関数と制約とを含む最適化問題を示す第1データと、その最適化問題の特徴を示す第2データとの入力を受け付ける入力処理、第1データと第2データとを対応付けた検索情報を生成する生成処理、および、対象者の意思決定履歴データを用いた逆強化学習により、最適化問題の目的関数を生成する学習処理を実行させ、学習処理で、予測モデルの入力を受け付けさせ、受け付けた予測モデルの予測結果を説明変数に用いて目的関数を生成させ、生成処理で、生成された目的関数を含む第1データと、第2データとを対応付けた検索情報を生成させることを特徴とする。
【発明の効果】
【0009】
本発明によれば、最適化問題を検索するための情報を生成できる。
【図面の簡単な説明】
【0010】
図1】発明による情報流通システムの一実施形態の構成例を示すブロック図である。
図2】意思決定の種類の例を示す説明図である。
図3】情報生成装置の構成例を示すブロック図である。
図4】検索情報の例を示す説明図である。
図5】検索装置の構成例を示すブロック図である。
図6】情報生成装置の動作例を示すフローチャートである。
図7】検索装置200の動作例を示すフローチャートである。
図8】ロボット制御システムの一実施形態の構成例を示すブロック図である。
図9】本発明による情報生成装置の概要を示すブロック図である。
図10】少なくとも1つの実施形態に係るコンピュータの構成を示す概略ブロック図である。
【発明を実施するための形態】
【0011】
以下、本発明の実施形態を図面を参照して説明する。
【0012】
図1は、本発明による情報流通システムの一実施形態の構成例を示すブロック図である。本実施形態の情報流通システム1は、情報生成装置100と、検索装置200と、ストレージサーバ300とを備えている。情報生成装置100と、検索装置200と、ストレージサーバ300とは、通信回線を通じて相互に接続される。
【0013】
情報生成装置100は、後述する検索装置200が最適化問題を検索するために用いられる情報(以下、検索情報と記す。)を生成する装置である。本実施形態における最適化問題は、解くべき問題に対して定式化された目的関数(より具体的には、目的関数の構造)および制約条件を含むものである。そのため、本実施形態における最適化問題は、解くべき問題に対するユーザの意思決定の種類を表わしていると言える。なお、検索情報の生成方法については後述される。
【0014】
図2は、意思決定の種類(すなわち、最適化問題)の例を示す説明図である。図2に示す例では、解くべき問題の種類が、いわゆる「シフトスケジューリング問題」に分類されるものであり、最適化問題が、3つの条件(条件1,条件2,条件3)の違反度(説明変数)の線形和で規定される目的関数、および2つの制約条件(条件4,条件5)を含むことを示す。
【0015】
また、図2に例示する目的関数のλは、ユーザが条件を重視する度合い(以下、ユーザの意図、と記すこともある。)を示す値であり、意思決定の種類に応じて、様々な値に設定される。この目的関数の値を最小化する組み合わせを探索することで、適切な行動を導出することが可能になる。
【0016】
ストレージサーバ300は、情報生成装置100が生成した検索情報を記憶する。ストレージサーバ300は、例えば、一般的なテータベース(データベースシステム)により検索情報を管理してもよい。また、ストレージサーバ300は、情報生成装置100以外が生成した検索情報を記憶してもよい。
【0017】
検索装置200は、ストレージサーバ300(より具体的には、ストレージサーバ300のデータベース)に記憶された検索情報を利用して、最適化問題を検索する。また、検索装置200は、検索された最適化問題を利用して、ユーザの最適な行動を導出する。
【0018】
以下、情報生成装置100および検索装置200の具体的な構成例を説明する。
【0019】
図3は、本実施形態の情報生成装置100の構成例を示すブロック図である。本実施形態の情報生成装置100は、記憶部110と、入力部120と、特徴生成部130と、推薦部140と、学習部150と、生成部160と、登録部170とを含む。
【0020】
記憶部110は、情報生成装置100が処理を行う際に用いる各種情報を記憶する。記憶部110は、後述する学習部150が学習処理に用いるトレーニングデータやパラメータ、学習結果などを記憶してもよい。記憶部110は、例えば、磁気ディスク等により実現される。
【0021】
入力部120は、検索情報を生成する際に用いる各種情報の入力を受け付ける。具体的には、入力部120は、目的関数と制約とを含む最適化問題を示す情報(以下、第1データと記す。)と、その最適化問題の特徴を示す情報(以下、第2データと記す。)の入力を受け付ける。
【0022】
入力部120は、第1データおよび第2データの入力をユーザから受け付けてもよい。また、入力部120は、後述する学習部150が生成した目的関数の入力(より具体的には、記憶部110に記憶された目的関数)を受け付けてもよい。また、入力部120は、後述する特徴生成部130から、第2データ(すなわち、最適化問題の特徴を示す情報)の入力を受け付けてもよい。
【0023】
さらに、入力部120は、第1のデータと共に、最適化問題を解くための候補とする最適化ソルバ(または、最適化ソルバを特定する情報)の入力を受け付けてもよい。最適化ソルバの例として、例えば、数理計画ソルバなどが挙げられる。
【0024】
例えば、最適化問題を入力するユーザは、その最適化問題を解くために適した最適化ソルバを把握している場合も多い。そのため、このような情報の入力を第1のデータと共に受け付けることで、後述する検索装置200により最適化問題を検索したユーザが、その最適化問題に利用する最適化ソルバを把握することが可能になる。
【0025】
第1データは、上述するような目的関数の構造や、制約を示す条件などにより、最適化問題を示す情報を表わす。なお、目的関数の態様は任意であり、例えば、図2に例示するように、説明変数(条件)の線形和で表されるような関数であってもよい。また、制約の態様も任意であり、制約を満たす、または、制約を満たさないを、2値で特定するような情報であってもよく、制約を満たす程度を示すような情報であってもよい。
【0026】
また、第2データは、最適化問題の特徴を示す内容であれば任意である。ただし、第2データは、最適化問題を一意に識別可能な情報である必要はない。最適化問題の特徴として、例えば、その最適化問題の種類や、含まれる説明変数(特徴量)などの属性情報、いつ、どこで、だれが、どのような意思決定をする際に用いられる最適化問題かを示す最適化状況、および、利用可能な(公開する)対象者の範囲や日時などの利用条件、などが挙げられる。
【0027】
最適化問題の種類は、例えば、スケジュール最適化問題やナップサック問題などのように、最適化問題のテンプレート的な種類であってもよく、用いられる業種(例えば、小売、製造、旅行など)の種類などであってもよい。
【0028】
特徴生成部130は、最適化問題の特徴を生成する。具体的には、特徴生成部130は、第1データから、上述する第2データを生成する。特徴生成部130が第2データを生成する方法は任意である。特徴生成部130は、例えば、予め定めた方法に基づいて自動で第2データを生成してもよく、ユーザからの指定に基づいて第2データを生成してもよい。
【0029】
例えば、目的関数が上述する説明変数の線形和で表されている場合、特徴生成部130は、その目的関数に含まれる説明変数の重み(すなわち、重視する度合い)に応じて、最適化問題の特徴を生成してもよい。特徴生成部130は、例えば、重みが最も大きい説明変数の内容を、最適化問題の特徴として生成してもよい。
【0030】
また、例えば、明示的にユーザから説明変数が指定された場合(例えば、他の最適化問題では用いられない特徴など)、特徴生成部130は、その指定された説明変数の内容を、最適化問題の特徴として生成してもよい。
【0031】
また、特徴生成部130は、目的関数に含まれる説明変数(特徴量)に基づいて、最適化問題の種類を特定し、特定した最適化問題の種類を特徴として生成してもよい。例えば、入力部120が、「従業員の勤務時間」という説明変数が含まれる目的関数の入力を受け付けたとする。この場合、最適化問題の種類は、「発注量最適化」よりも「シフトスケジューリング」である可能性が高いと言える。「シフトスケジューリング」には「従業員の勤務時間」が特徴量として含まれている可能性が高いからである。そこで、説明変数に応じた最適化問題の種類を予め定めておき、特徴生成部130は、目的関数に含まれる説明変数に基づいて、予め定められた対応する最適化問題の種類を特徴として生成してもよい。
【0032】
なお、生成された最適化問題の特徴の全てが、後述する検索情報に含まれていてもよく、後述する推薦部140がユーザから指定された特徴が、後述する検索情報に含まれていてもよい。
【0033】
推薦部140は、特徴生成部130によって生成された特徴をユーザに推薦する。具体的には、推薦部140は、推薦する特徴をユーザに提示して指定させる。なお、推薦部140が、特徴を提示する方法は任意であり、例えば、図4に例示する第2データのような内容を提示してもよい。また、推薦部140がユーザに指定させる特徴の数も限定されず、1つであってもよく、複数であってもよい。
【0034】
学習部150は、記憶部110に記憶されたトレーニングデータを用いた機械学習により目的関数を生成する。具体的には、学習部150は、ユーザが意思決定を行った際の履歴データ(以下、意思決定履歴データと記す。)をトレーニングデータとして用いた逆強化学習により、最適化問題(より具体的には、第1データ)の目的関数を生成する。
【0035】
また、将来の予測結果を利用する場合、学習部150は、所望の予測結果を導出する予測モデルの入力を受け付けてもよい。そして、学習部150は、受け付けた予測モデルの予測結果を説明変数に用いて目的関数を生成してもよい。将来の予測結果の一例として、商品需要予測や、道路混雑度予測、来客数予測などが挙げられる。なお、予測モデルが、記憶部110に予め記憶されている場合、学習部150は、記憶部110に記憶された予測モデルを取得してもよい。
【0036】
ここで、特徴生成部130は、目的関数の学習に用いられたトレーニングデータを生成する基になったユーザを示す情報を第2データとして生成してもよい。そのような情報を用いることで、その目的関数を生成する基になる意思決定を行ったユーザの情報を、最適化問題の特徴として利用することが可能になる。
【0037】
学習部150は、生成された目的関数を記憶部110に記憶する。なお、最適化問題(より具体的には、目的関数)が既に生成されている場合や、目的関数を学習する必要がない場合、情報生成装置100は、学習部150を備えていなくてもよい。
【0038】
生成部160は、第1データと第2データとを対応付けた検索情報を生成する。これにより、最適化問題を検索するための情報を生成できるため、第2データに対応付けられた第1データを、その第2データをキーとして検索することが可能になる。
【0039】
また、入力部120が最適化問題を解くための候補とする最適化ソルバの入力を受け付けていた場合、生成部160は、最適化ソルバの情報を含む検索情報を生成してもよい。これにより、対応する最適化問題に利用可能な最適化ソルバを把握することが可能になる。
【0040】
また、推薦部140が推薦した特徴の指定をユーザから受け付けた場合、生成部160は、ユーザから指定された特徴を第2データに含めた検索情報を生成してもよい。
【0041】
登録部170は、生成された検索情報をストレージサーバ300に登録する。
【0042】
図4は、ストレージサーバ300に記憶された検索情報の例を示す説明図である。図4には、第1データと第2データとを対応付けた検索情報が例示されている。例えば、1行目の検索情報の場合、最適化問題が、3つの条件(説明変数)の線形和で表わされた目的関数と、満たすべき2つの制約条件とを含むことを示す。
【0043】
さらに、1行目の検索情報の場合、最適化問題が、いわゆる「スケジュール最適化」問題の種類に該当し、時間効率を重視しつつも、夜間はゆっくり過ごすような行動を重視することを目的とするものであることを示す。他にも、1行目に示す最適化問題は、20代男性が大阪旅行を行った際の状況に関するものであり、全ユーザが一ヶ月間利用可能なものであることを示す。さらに、1行目に示す最適化問題を解くための最適化ソルバの候補として、「ソルバA」が指定されていることを示す。
【0044】
なお、第1のデータには、図4に例示するような想定される特徴の全てが対応付けられている必要はなく、一部の特徴のみが対応付けられていればよい。また、第2データに含まれる特徴の分類や表現態様は例示である。これらの特徴が、例えば、各データベースで規定されるインデックスの仕様に基づいて表現されていてもよい。
【0045】
入力部120と、特徴生成部130と、推薦部140と、学習部150と、生成部160と、登録部170とは、プログラム(情報生成プログラム)に従って動作するコンピュータのプロセッサ(例えば、CPU(Central Processing Unit )、GPU(Graphics Processing Unit))によって実現される。
【0046】
例えば、プログラムは、情報生成装置100が備える記憶部110に記憶され、プロセッサは、そのプログラムを読み込み、プログラムに従って、入力部120、特徴生成部130、推薦部140、学習部150、生成部160、および、登録部170として動作してもよい。また、情報生成装置100の機能がSaaS(Software as a Service )形式で提供されてもよい。
【0047】
また、入力部120と、特徴生成部130と、推薦部140と、学習部150と、生成部160と、登録部170とは、それぞれが専用のハードウェアで実現されていてもよい。また、各装置の各構成要素の一部又は全部は、汎用または専用の回路(circuitry )、プロセッサ等やこれらの組合せによって実現されもよい。これらは、単一のチップによって構成されてもよいし、バスを介して接続される複数のチップによって構成されてもよい。各装置の各構成要素の一部又は全部は、上述した回路等とプログラムとの組合せによって実現されてもよい。
【0048】
また、情報生成装置100の各構成要素の一部又は全部が複数の情報処理装置や回路等により実現される場合には、複数の情報処理装置や回路等は、集中配置されてもよいし、分散配置されてもよい。例えば、情報処理装置や回路等は、クライアントサーバシステム、クラウドコンピューティングシステム等、各々が通信ネットワークを介して接続される形態として実現されてもよい。
【0049】
図5は、本実施形態の検索装置200の構成例を示すブロック図である。本実施形態の検索装置200は、検索条件入力部210と、検索部220と、モデル入力部230と、問題抽出部240と、問題生成部250と、最適化部260と、出力部270とを含む。
【0050】
検索条件入力部210は、最適化問題を検索するための条件(以下、単に検索条件と記すこともある。)の入力を受け付ける。具体的には、検索条件入力部210は、検索条件として、最適化問題の特徴を示す情報(具体的には、第2データ)の入力を受け付ける。
【0051】
なお、入力される情報の態様は任意であり、検索条件入力部210は、想定される入力に基づいて、検索条件を抽出すればよい。検索条件入力部210は、例えば、最適化問題として解くべき内容を示す文字列の入力を受け付けてもよい。この場合、検索条件入力部210は、既知の自然言語処理に基づいて、入力された文字列から抽出したい最適化問題の特徴を抽出してもよい。抽出された特徴は、後述する検索部220で利用される。
【0052】
例えば、「20代の男性が大阪旅行を行う場合の最適なプランを作成したい」という文字列が入力された場合、検索条件入力部210は、入力された文字列から、「20代男性」、「大阪旅行」などの特徴を抽出してもよい。
【0053】
また、検索条件入力部210は、検索条件として、最適化問題を示す情報(具体的には、第1データを示す情報)の入力を受け付けてもよい。検索条件入力部210は、例えば、最適化問題を示す第1データの候補の一覧を表示し、ユーザから候補の指定を受け付けてもよい。
【0054】
検索部220は、ストレージサーバ300(より具体的には、第1データと第2データとを対応付けた検索情報を記憶するデータベース)から、検索条件入力部210への入力により指定された検索条件に合致する最適化問題を検索する。より具体的には、検索部220は、入力された第2データ(すなわち、最適化問題の特徴)に合致する検索情報に対応付けられた第1データ(すなわち、最適化問題)を検索する。
【0055】
また、第1データを示す情報が入力された場合、検索部220は、入力された第1データを示す情報に合致する最適化問題を検索してもよい。また、検索情報に最適化ソルバの候補が含まれている場合、検索部220は、対応する最適化ソルバを併せて検索してもよい。
【0056】
また、検索部220は、検索結果をユーザに提示して、ユーザが所望する最適化問題の指定を受け付けてもよい。検索部220は、例えば、検索結果として、第1データと共に、最適化問題の特徴(すなわち、第2データ)を表示し、表示した第1データに対するユーザの指定を受け付けてもよい。
【0057】
モデル入力部230は、対象ユーザの意思決定履歴データに基づいて学習されたモデル(以下、意思決定モデルと記すこともある)の入力を受け付ける。すなわち、モデル入力部230は、対象ユーザの過去の意思決定を反映したモデルの入力を受け付ける。なお、モデル入力部230は、モデルと共に、そのモデルに課せられた制約条件の入力を併せて受け付けてもよい。
【0058】
なお、入力を受け付けるモデルが生成される方法は任意である。モデル入力部230は、例えば、情報生成装置100の学習部150が目的関数を生成する方法と同様の方法(例えば、逆強化学習)で学習されたモデルの入力を受け付けてもよい。
【0059】
なお、受け付けたモデルは、検索部220によって検索された最適化問題との比較が行われる。そのため、入力されるモデルは、検索される最適化問題と同様の方法により生成されたモデル、または、同様の態様で生成されたモデルであることが好ましい。
【0060】
問題抽出部240は、検索部220によって検索された最適化問題と、モデル入力部230が入力を受け付けた意思決定モデルとの比較を行い、検索された最適化問題(すなわち、第1データ)のうち、入力された意思決定モデルとの類似度が所定の条件を満たす最適化問題を抽出する。所定の条件として、例えば、類似度が予め定めた閾値よりも大きいこと、などが挙げられる。
【0061】
意思決定モデルは、対象ユーザの意思決定履歴データに基づいて学習されたモデルであることから、対象ユーザの意思が反映されているモデルと言える。そのため、問題抽出部240が、そのようなモデルと最適化問題との類似度を判断することで、その対象ユーザに類似する意思が反映された最適化問題を抽出することが可能になる。
【0062】
問題抽出部240が類似度を算出する方法は任意である。問題抽出部240は、意思決定モデルと最適化問題のそれぞれに含まれる特徴量(説明変数)の類似度を算出してもよい。問題抽出部240は、例えば、特徴量の種類が重複する度合いを類似度として算出してもよい。他にも、問題抽出部240は、重複する特徴量それぞれの重み係数の値の差異を、例えば、コサイン類似度やRMSE(Root Mean Square Error)により算出することで類似度を算出してもよい。
【0063】
さらに、意思決定モデルおよび最適化問題を生成する際に用いられた学習データが存在する場合、問題抽出部240は、同一の特徴量において取り得る値域の範囲の重複度合いや、各特徴量の平均または分散を類似度として算出してもよい。
【0064】
なお、問題抽出部240が類似度を算出する方法は、上述するような、意思決定モデルと最適化問題との構造に基づく方法に限定されない。問題抽出部240は、例えば、意思決定モデルおよび最適化問題のそれぞれに同じデータを入力した際の出力値の差分に基づいて類似度を算出してもよい。また、最適化問題および意思決定モデルに、それぞれ、問題またはモデルの特徴を示す文章が付与されている場合、問題抽出部240は、各文章間の類似度を最適化問題と意思決定モデルの類似度として算出してもよい。
【0065】
なお、検索装置200は、必ずしも意思決定モデルの入力を受け付ける必要はない。意思決定モデルの入力がない場合、検索装置200は、モデル入力部230および問題抽出部240を含んでいなくてもよい。
【0066】
問題生成部250は、最適化問題が複数抽出された場合、抽出された複数の最適化問題から、新たな目的関数を生成する。具体的には、問題生成部250は、複数の最適化問題から選択された2以上の目的関数を組み合わせて、新たな目的関数を生成する。なお、最適化問題が1つに特定されている場合、問題生成部250は、新たな目的関数を生成する必要はない。
【0067】
ここで、2以上の目的関数を組み合わせるとは、各目的関数に含まれる一部または全部の説明変数を予め定めた規則に基づいてそれぞれ抽出し、抽出された説明変数を用いて定式化(関数化)することを意味する。なお、この規則は、各目的関数が示す意図を反映させる程度に応じてユーザ等により定められる。予め定めた規則として、例えば、元の説明変数の重みに所定の割合を乗じて全て抽出した後、抽出されたそれぞれの説明変数の和を算出する方法などが挙げられる。
【0068】
以下、目的関数を組み合わせる具体例を説明する。例えば、目的関数Aと、目的関数Bが、以下に例示するように重複する複数の特徴量f,f,fを含むとする。
目的関数A:a*f+a*f+a*f
目的関数B:b*f+b*f+b*f
【0069】
ここで、目的関数Aが示す意図と目的関数Bが示す意図の中間の意図(すなわち、両者の意図を等分に反映した意図)を示すような目的関数を生成したいとする。この場合、問題生成部250は、組み合わせ比率が1:1になるように、各説明変数の係数それぞれに0.5を乗じた目的関数同士を加算して、以下に例示するような目的関数Cを生成してもよい。
目的関数C:0.5*(a+b)*f+0.5*(a+b)*f+0.5*(a+b)*f
【0070】
同様に、目的関数Aが示す意図を目的関数Bが示す意図よりも、より反映させた意図を示すような目的関数を生成したいとする。この場合、問題生成部250は、組み合わせ比率が、例えば、4:1になるように目的変数を組み合わせて、以下に例示するような目的関数Dを生成してもよい。
目的関数D:(0.8*a+0.2*b)*f+(0.8*a+0.2*b)*f+(0.8*a+0.2*b)*f
【0071】
最適化部260は、生成された新たな目的関数に基づいて最適化処理を行い、最適化結果を導出する。また、例えば、最適化ソルバの候補が指定されてた場合、最適化部260は、指定された最適化ソルバを用いて最適化結果を導出してもよい。
【0072】
出力部270は、最適化部260により導出された最適化結果(例えば、最適な行動)を出力する。
【0073】
検索条件入力部210と、検索部220と、モデル入力部230と、問題抽出部240と、問題生成部250と、最適化部260と、出力部270とは、プログラム(検索プログラム)に従って動作するコンピュータのプロセッサによって実現される。
【0074】
例えば、プログラムは、検索装置200が備える記憶部(図示せず)に記憶され、プロセッサは、そのプログラムを読み込み、プログラムに従って、検索条件入力部210、検索部220、モデル入力部230、問題抽出部240、問題生成部250、最適化部260、および、出力部270として動作してもよい。また、検索装置200の機能がSaaS(Software as a Service )形式で提供されてもよい。
【0075】
また、情報生成装置100の構成と同様、検索条件入力部210と、検索部220と、モデル入力部230と、問題抽出部240と、問題生成部250と、最適化部260と、出力部270とは、それぞれが専用のハードウェアで実現されていてもよい。
【0076】
次に、本実施形態の情報流通システム1の動作を説明する。図6は、本実施形態の情報生成装置100の動作例を示すフローチャートである。入力部120は、目的関数と制約とを含む最適化問題を示す第1データと、その最適化問題の特徴を示す第2データとの入力を受け付ける(ステップS11)。生成部160は、第1データと第2データとを対応付けた検索情報を生成する(ステップS12)。そして、登録部170は、生成された検索情報をストレージサーバ300に登録する(ステップS13)。
【0077】
図7は、本実施形態の検索装置200の動作例を示すフローチャートである。検索条件入力部210は、最適化問題の特徴を示す情報(すなわち、第2データ)の入力を受け付ける(ステップS21)。検索部220は、ストレージサーバ300から、入力された情報(すなわち、第2データ)に合致する検索情報に対応付けられた最適化問題(すなわち、第1データ)を検索する(ステップS22)。以降、最適化部260が、検索された第1データを用いて最適化処理を行い、出力部270が、最適化結果を出力する。
【0078】
以上のように、本実施形態では、入力部120が、第1データと第2データとの入力を受け付け、生成部160が、第1データと第2データとを対応付けた検索情報を生成する。よって、最適化問題を検索するための情報を生成できる。
【0079】
すなわち、上述するように、最適化問題は、一般にユーザの観点や各種の制約条件を考慮して個別に生成されるものであるため、複数の最適化問題を検索可能な態様でデータベース等に記憶させるという技術的思想は存在しなかった。一方、本実施形態では、生成部160が、第1データと第2データとを対応付けた検索情報を生成するため、この検索情報を用いて最適化問題を管理することが可能になる。
【0080】
また、本実施形態では、検索条件入力部210が、検索条件として、第2データの入力を受け付け、検索部220が、入力された第2データに合致する検索情報に対応付けられた第1データをストレージサーバ300から検索する。よって、所望の最適化問題を検索できる。
【0081】
すなわち、上述するように、個別に生成される最適化問題の特性上、他の最適化問題をデータベースから検索するという技術的思想は存在しなかった。一方、本実施形態では、検索部220が、入力された第2データに合致する検索情報に対応付けられた第1データをストレージサーバ300から検索する。よって、所望の最適化問題を取得することが可能になる。
【0082】
次に、本実施形態の検索装置200を利用したロボット制御システムの具体例を説明する。図8は、ロボット制御システムの一実施形態の構成例を示すブロック図である。図8に例示するロボット制御システム2000は、検索装置200と、ロボット2300とを備えている。
【0083】
図8に例示する検索装置200は、上記実施形態における検索装置200と同様である。検索装置200は、最適化結果を後述するロボット2300の記憶部2310に記憶させる。
【0084】
ロボット2300は、最適化結果に基づいて動作する機器である。なお、ここでのロボットには、人や動物を模した形状の機器に限られず、自動作業(自動運転、自動制御など)を行う機器なども含まれる。ロボット2300は、記憶部2310と、入力部2320と、制御部2330とを含む。
【0085】
記憶部2310は、検索装置200によって導出された最適化結果を記憶する。
【0086】
入力部2320は、ロボットを動作させる際に用いる各種情報の入力を受け付ける。
【0087】
制御部2330は、受け付けた各種情報、および、記憶部2310に記憶された最適化結果に基づいて、ロボット2300の動作を制御する。なお、制御部2330が、最適化結果に基づいてロボット2300の動作を制御する方法は予め定められればよい。本実施形態では、ロボット2300のような自動作業を行う機器を、導出された最適化結果に基づいて制御することができる。
【0088】
次に、本発明の概要を説明する。図9は、本発明による情報生成装置の概要を示すブロック図である。本発明による情報生成装置80(例えば、情報生成装置100)は、目的関数と制約とを含む最適化問題を示す第1データと、その最適化問題の特徴を示す第2データとの入力を受け付ける入力手段81(例えば、入力部120)と、第1データと第2データとを対応付けた検索情報を生成する生成手段82(例えば、生成部160)とを備えている。
【0089】
そのような構成により、最適化問題を検索するための情報を生成できる。
【0090】
また、生成手段82は、対象者の意思決定履歴データを用いて学習された目的関数を含む第1データと、第2データとを対応付けた検索情報を生成してもよい。
【0091】
また、情報生成装置80は、最適化問題の特徴を生成する特徴生成手段(例えば、特徴生成部130)を備えていてもよい。そして、生成手段82は、生成された最適化問題の特徴を第1データに対応付けた検索情報を生成してもよい。
【0092】
また、目的関数が、説明変数の線形和で表わされていてもよい。このとき、特徴生成手段は、目的関数に含まれる説明変数の重みに応じて最適化問題の特徴を生成してもよい。
【0093】
また、特徴生成手段は、目的関数の学習に用いられたトレーニングデータを生成する基になったユーザを示す情報を最適化問題の特徴として生成してもよい。
【0094】
また、情報生成装置80は、特徴生成手段によって生成された特徴をユーザに推薦する推薦手段(例えば、推薦部140)を備えていてもよい。そして、推薦手段は、推薦する特徴をユーザに提示して指定させ、生成手段82は、ユーザから指定された特徴を第2データに含めた検索情報を生成してもよい。
【0095】
また、入力手段81は、最適化問題を解くための候補とする最適化ソルバの情報の入力を受け付けてもよい。そして、生成手段82は、最適化ソルバの情報を含む検索情報を生成してもよい。
【0096】
また、情報生成装置80は、対象者の意思決定履歴データを用いた逆強化学習により、最適化問題の目的関数を生成する学習手段(例えば、学習部150)を備えていてもよい。そして、生成手段82は、生成された目的関数を含む第1データと、第2データとを対応付けた検索情報を生成してもよい。
【0097】
このとき、学習部は、予測モデルの入力を受け付け、受け付けた予測モデルの予測結果を説明変数に用いて目的関数を生成してもよい。
【0098】
また、情報生成装置80は、生成された検索情報をデータベース(例えば、ストレージサーバ300)に登録する登録手段(例えば、登録部170)を備えていてもよい。
【0099】
図10は、少なくとも1つの実施形態に係るコンピュータの構成を示す概略ブロック図である。コンピュータ1000は、プロセッサ1001、主記憶装置1002、補助記憶装置1003、インタフェース1004を備える。
【0100】
上述の情報流通システム1の各装置(情報生成装置100、および、検索装置200)は、それぞれ、コンピュータ1000に実装される。そして、上述した各処理部の動作は、プログラムの形式で補助記憶装置1003に記憶されている。プロセッサ1001は、プログラムを補助記憶装置1003から読み出して主記憶装置1002に展開し、当該プログラムに従って上記処理を実行する。
【0101】
なお、少なくとも1つの実施形態において、補助記憶装置1003は、一時的でない有形の媒体の一例である。一時的でない有形の媒体の他の例としては、インタフェース1004を介して接続される磁気ディスク、光磁気ディスク、CD-ROM(Compact Disc Read-only memory )、DVD-ROM(Read-only memory)、半導体メモリ等が挙げられる。また、このプログラムが通信回線によってコンピュータ1000に配信される場合、配信を受けたコンピュータ1000が当該プログラムを主記憶装置1002に展開し、上記処理を実行してもよい。
【0102】
また、当該プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、当該プログラムは、前述した機能を補助記憶装置1003に既に記憶されている他のプログラムとの組み合わせで実現するもの、いわゆる差分ファイル(差分プログラム)であってもよい。
【0103】
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
【0104】
(付記1)目的関数と制約とを含む最適化問題を示す第1データと、当該最適化問題の特徴を示す第2データとの入力を受け付ける入力手段と、
前記第1データと前記第2データとを対応付けた検索情報を生成する生成手段とを備えた
ことを特徴とする情報生成装置。
【0105】
(付記2)生成手段は、対象者の意思決定履歴データを用いて学習された目的関数を含む第1データと、第2データとを対応付けた検索情報を生成する
付記1記載の情報生成装置。
【0106】
(付記3)最適化問題の特徴を生成する特徴生成手段を備え、
生成手段は、生成された最適化問題の特徴を第1データに対応付けた検索情報を生成する
付記1または付記2記載の情報生成装置。
【0107】
(付記4)目的関数が、説明変数の線形和で表わされ、
特徴生成手段は、前記目的関数に含まれる説明変数の重みに応じて最適化問題の特徴を生成する
付記3記載の情報生成装置。
【0108】
(付記5)特徴生成手段は、目的関数の学習に用いられたトレーニングデータを生成する基になったユーザを示す情報を最適化問題の特徴として生成する
付記3または付記4記載の情報生成装置。
【0109】
(付記6)特徴生成手段によって生成された特徴をユーザに推薦する推薦手段を備え、
前記推薦手段は、推薦する特徴をユーザに提示して指定させ、
生成手段は、前記ユーザから指定された特徴を第2データに含めた検索情報を生成する
付記3から付記5のうちのいずれか1つに記載の情報生成装置。
【0110】
(付記7)入力手段は、最適化問題を解くための候補とする最適化ソルバの情報の入力を受け付け、
生成手段は、前記最適化ソルバの情報を含む検索情報を生成する
付記1から付記6のうちのいずれか1つに記載の情報生成装置。
【0111】
(付記8)対象者の意思決定履歴データを用いた逆強化学習により、最適化問題の目的関数を生成する学習手段を備え、
生成手段は、生成された目的関数を含む第1データと、第2データとを対応付けた検索情報を生成する
付記1から付記7のうちのいずれか1つに記載の情報生成装置。
【0112】
(付記9)学習手段は、予測モデルの入力を受け付け、受け付けた予測モデルの予測結果を説明変数に用いて目的関数を生成する
付記8記載の情報生成装置。
【0113】
(付記10)生成された検索情報をデータベースに登録する登録手段を備えた
付記1から付記9のうちのいずれか1つに記載の情報生成装置。
【0114】
(付記11)コンピュータが、目的関数と制約とを含む最適化問題を示す第1データと、当該最適化問題の特徴を示す第2データとの入力を受け付け、
前記コンピュータが、前記第1データと前記第2データとを対応付けた検索情報を生成する
ことを特徴とする情報生成方法。
【0115】
(付記12)コンピュータが、対象者の意思決定履歴データを用いて学習された目的関数を含む第1データと、第2データとを対応付けた検索情報を生成する
付記11記載の情報生成方法。
【0116】
(付記13)コンピュータに、
目的関数と制約とを含む最適化問題を示す第1データと、当該最適化問題の特徴を示す第2データとの入力を受け付ける入力処理、および、
前記第1データと前記第2データとを対応付けた検索情報を生成する生成処理を実行させる
ための情報生成プログラムを記憶するプログラム記憶媒体。
【0117】
(付記14)コンピュータに、
生成処理で、対象者の意思決定履歴データを用いて学習された目的関数を含む第1データと、第2データとを対応付けた検索情報を生成させるための情報生成プログラムを記憶する
付記13記載のプログラム記憶媒体。
【0118】
(付記15)コンピュータに、
目的関数と制約とを含む最適化問題を示す第1データと、当該最適化問題の特徴を示す第2データとの入力を受け付ける入力処理、および、
前記第1データと前記第2データとを対応付けた検索情報を生成する生成処理を実行させる
ための情報生成プログラム。
【0119】
(付記16)コンピュータに、
生成処理で、対象者の意思決定履歴データを用いて学習された目的関数を含む第1データと、第2データとを対応付けた検索情報を生成させる
付記15記載の情報生成プログラム。
【符号の説明】
【0120】
1 情報流通システム
100 情報生成装置
110 記憶部
120 入力部
130 特徴生成部
140 推薦部
150 学習部
160 生成部
170 登録部
200 検索装置
210 検索条件入力部
220 検索部
230 モデル入力部
240 問題抽出部
250 問題生成部
260 最適化部
270 出力部
300 ストレージサーバ
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10