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

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

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

特許7593484情報処理装置、情報処理方法、およびプログラム
<>
  • 特許-情報処理装置、情報処理方法、およびプログラム 図1
  • 特許-情報処理装置、情報処理方法、およびプログラム 図2
  • 特許-情報処理装置、情報処理方法、およびプログラム 図3
  • 特許-情報処理装置、情報処理方法、およびプログラム 図4
  • 特許-情報処理装置、情報処理方法、およびプログラム 図5
  • 特許-情報処理装置、情報処理方法、およびプログラム 図6
  • 特許-情報処理装置、情報処理方法、およびプログラム 図7
  • 特許-情報処理装置、情報処理方法、およびプログラム 図8
  • 特許-情報処理装置、情報処理方法、およびプログラム 図9
  • 特許-情報処理装置、情報処理方法、およびプログラム 図10
  • 特許-情報処理装置、情報処理方法、およびプログラム 図11
  • 特許-情報処理装置、情報処理方法、およびプログラム 図12
  • 特許-情報処理装置、情報処理方法、およびプログラム 図13
  • 特許-情報処理装置、情報処理方法、およびプログラム 図14
  • 特許-情報処理装置、情報処理方法、およびプログラム 図15
  • 特許-情報処理装置、情報処理方法、およびプログラム 図16
  • 特許-情報処理装置、情報処理方法、およびプログラム 図17
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-11-25
(45)【発行日】2024-12-03
(54)【発明の名称】情報処理装置、情報処理方法、およびプログラム
(51)【国際特許分類】
   G06Q 10/04 20230101AFI20241126BHJP
【FI】
G06Q10/04
【請求項の数】 9
(21)【出願番号】P 2023516288
(86)(22)【出願日】2022-01-28
(86)【国際出願番号】 JP2022003356
(87)【国際公開番号】W WO2022224527
(87)【国際公開日】2022-10-27
【審査請求日】2023-10-11
(31)【優先権主張番号】P 2021070593
(32)【優先日】2021-04-19
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(74)【代理人】
【識別番号】100110928
【弁理士】
【氏名又は名称】速水 進治
(72)【発明者】
【氏名】小川 順平
(72)【発明者】
【氏名】山田 修平
(72)【発明者】
【氏名】後藤 範人
【審査官】上田 威
(56)【参考文献】
【文献】特開2021-002331(JP,A)
【文献】中国特許出願公開第112241607(CN,A)
【文献】中国特許出願公開第112380760(CN,A)
【文献】特開2008-114960(JP,A)
【文献】特開2009-042799(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06Q 10/00-99/00
(57)【特許請求の範囲】
【請求項1】
最適化問題の指標となる目的関数および制約条件を定義したテンプレートを用いて、最適化モデルを生成する生成手段を備え、
前記テンプレートは、前記目的関数および前記制約条件に入力されるデータ項目を特定する項目定義情報と、前記目的関数および前記制約条件のアルゴリズムを定義するアルゴリズム定義情報と、を含み、
前記テンプレートは、前記最適化問題の指標毎に、ユーザの意図を示す重みを含み、
前記アルゴリズム定義情報は、前記重みを推定するための意図学習アルゴリズムを含み、
前記生成手段は、前記意図学習アルゴリズムを用いて前記重みを算出し、前記テンプレートに反映させて前記最適化モデルを生成する、情報処理装置。
【請求項2】
請求項1に記載の情報処理装置において、
前記最適化問題の前記指標のうちの少なくとも一部を変更するためのパラメータの指定を受け付ける受付手段をさらに備え、
前記生成手段は、受け付けた前記パラメータを用いて変更された前記テンプレートを用いて前記最適化モデルを生成する、情報処理装置。
【請求項3】
請求項1または2に記載の情報処理装置において、
前記生成手段は、前記項目定義情報で定義された前記データ項目のデータを入力し、前記テンプレートを用いて、入力された前記データを最適化して前記最適化モデルを生成する、情報処理装置。
【請求項4】
請求項1から3のいずれか一項に記載の情報処理装置において、
前記テンプレートは、前記最適化モデルによる解析結果に関する情報の表示態様を特定するビュー定義情報を含む、情報処理装置。
【請求項5】
請求項1から4のいずれか一項に記載の情報処理装置において、
前記テンプレートは、前記最適化モデルで最適化すべき項目別に設けられている、情報処理装置。
【請求項6】
請求項1から5のいずれか一項に記載の情報処理装置において、
前記テンプレートにおいて、複数の前記指標の組は、最適化の目的別に設けられている、情報処理装置。
【請求項7】
請求項1から6のいずれか一項に記載の情報処理装置において、
前記生成手段は、前記最適化モデルの前記入力されるデータの前記データ項目の一つとして、予測モデルによる予測結果を用いる、情報処理装置。
【請求項8】
情報処理装置が、
最適化問題の指標となる目的関数および制約条件を定義したテンプレートを用いて、最適化モデルを生成し、
前記テンプレートは、前記目的関数および前記制約条件に入力されるデータ項目を特定する項目定義情報と、前記目的関数および前記制約条件のアルゴリズムを定義するアルゴリズム定義情報と、を含み、
前記テンプレートは、前記最適化問題の指標毎に、ユーザの意図を示す重みを含み、
前記アルゴリズム定義情報は、前記重みを推定するための意図学習アルゴリズムを含み、
前記情報処理装置が、前記意図学習アルゴリズムを用いて前記重みを算出し、前記テンプレートに反映させて前記最適化モデルを生成する、情報処理方法。
【請求項9】
コンピュータに、
最適化問題の指標となる目的関数および制約条件を定義したテンプレートを用いて、最適化モデルを生成する手順、を実行させ、
前記テンプレートは、前記目的関数および前記制約条件に入力されるデータ項目を特定する項目定義情報と、前記目的関数および前記制約条件のアルゴリズムを定義するアルゴリズム定義情報と、を含み、
前記テンプレートは、前記最適化問題の指標毎に、ユーザの意図を示す重みを含み、
前記アルゴリズム定義情報は、前記重みを推定するための意図学習アルゴリズムを含み、
前記生成する手順において、前記意図学習アルゴリズムを用いて前記重みを算出し、前記テンプレートに反映させて前記最適化モデルを生成する、プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、情報処理方法、およびプログラムに関し、特に、データ分析を行う情報処理装置、情報処理方法、およびプログラムに関する。
【背景技術】
【0002】
過去のデータを分析して予測モデルを生成することで、将来の需要や異常発生などを予測する技術が開発されている。例えば、特許文献1には、事業者が位置するエリアに関する予約を行ったユーザの属性に基づいて、その事業者の事業の対象であってなおかつユーザの属性に対応する対象についての需要を予測する技術が開示されている。また、特許文献8には、適切な勤務シフトを作成する装置が記載されている。
【0003】
データ分析による予測を業務の現場に適用することは容易ではない。様々な分析システムが提案されていて(特許文献4~7等)、例えば、予測モデルを生成するための具体的な手法には様々なものが存在する。そのため、これらの様々な手法の中から、適切な手法を選択する必要がある。
【0004】
この点、特許文献2は、テンプレートを用いて業務データの分析を容易にする技術が開示されている。しかしながら、特許文献2は、過去のデータを統計的に分析することで過去の実績を把握しやすくするためのものであり、予測を行うことについては言及されていない。そのため、データ分析による予測を容易にするための技術については開示されていない。
【先行技術文献】
【特許文献】
【0005】
【文献】特開2019-053737号公報
【文献】特開2000-285128号公報
【文献】米国特許出願公開第2014/0222741A1号明細書
【文献】国際公開第2014/010071号
【文献】特開2020-191114号公報
【文献】特開2019-160291号公報
【文献】特開2017-142800号公報
【文献】特開2012-181719号公報
【非特許文献】
【0006】
【文献】福田 健二、「AIがもたらす金融サービスの変革」、NEC技報、vol.69、No.2、2016年、p.16-19
【発明の概要】
【発明が解決しようとする課題】
【0007】
このようなデータ分析による予測結果を実際の業務に適用する際、さらに、業務における、様々な制約下で多くの選択肢の中から、所定の指標を最良にする変数の組み合わせ(目的関数を大または最小にする解)を求める、所謂、最適化問題を効率よく効果的に解決することが望まれている。
【0008】
本発明は上記事情に鑑みてなされたものであり、その目的とするところは、複雑な最適化問題を効率よく効果的に解決する技術を提供することである。
【課題を解決するための手段】
【0009】
本発明の各側面では、上述した課題を解決するために、それぞれ以下の構成を採用する。
【0010】
第一の側面は、情報処理装置に関する。
第一の側面に係る情報処理装置は、
最適化問題の指標となる目的関数および制約条件を定義したテンプレートを用いて、最適化モデルを生成する生成手段を含み、
前記テンプレートは、前記目的関数および前記制約条件に入力されるデータ項目を特定する項目定義情報と、前記目的関数および前記制約条件のアルゴリズムを定義するアルゴリズム定義情報と、を含む。
【0011】
第二の側面は、少なくとも1つのコンピュータにより実行される情報処理方法に関する。
第二の側面に係る情報処理方法は、
情報処理装置が、
最適化問題の指標となる目的関数および制約条件を定義したテンプレートを用いて、最適化モデルを生成することを含み、
前記テンプレートは、前記目的関数および前記制約条件に入力されるデータ項目を特定する項目定義情報と、前記目的関数および前記制約条件のアルゴリズムを定義するアルゴリズム定義情報と、を含む。
【0012】
なお、本発明の他の側面としては、上記第二の側面の方法を少なくとも1つのコンピュータに実行させるプログラムであってもよいし、このようなプログラムを記録したコンピュータが読み取り可能な記録媒体であってもよい。この記録媒体は、非一時的な有形の媒体を含む。
このコンピュータプログラムは、コンピュータにより実行されたとき、コンピュータに、情報処理装置上で、その情報処理方法を実施させるコンピュータプログラムコードを含む。
【0013】
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
【0014】
また、本発明の各種の構成要素は、必ずしも個々に独立した存在である必要はなく、複数の構成要素が一個の部材として形成されていること、一つの構成要素が複数の部材で形成されていること、ある構成要素が他の構成要素の一部であること、ある構成要素の一部と他の構成要素の一部とが重複していること、等でもよい。
【0015】
また、本発明の方法およびコンピュータプログラムには複数の手順を順番に記載してあるが、その記載の順番は複数の手順を実行する順番を限定するものではない。このため、本発明の方法およびコンピュータプログラムを実施するときには、その複数の手順の順番は内容的に支障のない範囲で変更することができる。
【0016】
さらに、本発明の方法およびコンピュータプログラムの複数の手順は個々に相違するタイミングで実行されることに限定されない。このため、ある手順の実行中に他の手順が発生すること、ある手順の実行タイミングと他の手順の実行タイミングとの一部ないし全部が重複していること、等でもよい。
【発明の効果】
【0017】
上記各側面によれば、複雑な最適化問題を効率よく効果的に解決する技術を提供することができる。
【図面の簡単な説明】
【0018】
図1】情報処理システムの一実現形態を例示する図である。
図2】実施形態の情報処理装置の構成を論理的に示す機能ブロック図である。
図3図2の情報処理装置を実現するコンピュータのハードウェア構成を例示するブロック図である。
図4】実施形態の情報処理装置の動作の一例を示すフローチャートである。
図5】最適化テンプレートの指標一覧画面の一例を示す図である。
図6図5のテンプレートのテンプレート情報のデータ構造の一例を示す図である。
図7】実施形態の情報処理装置の構成を論理的に示す機能ブロック図である。
図8】実施形態の情報処理装置の動作の一例を示すフローチャートである。
図9】最適化実行画面の一例を示す図である。
図10】パラメータ設定画面の一例を示す図である。
図11】インポート画面の一例を示す図である。
図12図11でインポートされるデータファイルの例を示す図である。
図13】実施形態の情報処理装置の動作の一例を示すフローチャートである。
図14図9の最適化実行画面の他の例を示す図である。
図15】意図学習を実行するためのテンプレートのテンプレート情報のデータ構造例を示す図である。
図16図5の指標一覧画面の他の例を示す図である。
図17】解析結果の出力例を示す図である。
【発明を実施するための形態】
【0019】
以下、本発明の実施の形態について、図面を用いて説明する。尚、すべての図面において、同様な構成要素には同様の符号を付し、適宜説明を省略する。また、以下の各図において、本発明の本質に関わらない部分の構成については省略してあり、図示されていない。
【0020】
実施形態において「取得」とは、自装置が他の装置や記憶媒体に格納されているデータまたは情報を取りに行くこと(能動的な取得)、および、自装置に他の装置から出力されるデータまたは情報を入力すること(受動的な取得)の少なくとも一方を含む。能動的な取得の例は、他の装置にリクエストまたは問い合わせしてその返信を受信すること、及び、他の装置や記憶媒体にアクセスして読み出すこと等がある。また、受動的な取得の例は、配信(または、送信、プッシュ通知等)される情報を受信すること等がある。さらに、「取得」とは、受信したデータまたは情報の中から選択して取得すること、または、配信されたデータまたは情報を選択して受信することであってもよい。
【0021】
(第1実施形態)
<システム概要>
本発明の実施の形態に係る情報処理システム1は、業務おける様々な最適化問題を解決するシステムである。情報処理システム1は1つ以上のコンピュータを用いて実現される。図1は、情報処理システム1の一実現形態を例示する図である。
【0022】
図1において、情報処理システム1は、フロントエンドサーバ30およびバックエンドサーバ40により構成される情報処理装置100(図2)を備えている。このように、情報処理装置100は、少なくとも2つのコンピュータにより実現されてもよいし、1つのコンピュータにより実現されてもよい。
【0023】
例えばフロントエンドサーバ30は、情報処理システム1を利用するためのWebサイトをユーザUに提供する。情報処理システム1を利用したいユーザUは、まず、ユーザ端末20を利用してフロントエンドサーバ30にアクセスする。フロントエンドサーバ30は、テンプレート情報10(図2)や入力データを指定するためのWebページを、ユーザ端末20に提供する。ユーザUは、提供されたWebページをユーザ端末20で利用することで、テンプレート5の選択やデータの入力などの操作を行う。
【0024】
ユーザ端末20は、例えば、タブレット端末などのコンピュータにより実現され、液晶ディスプレイなどの表示装置(不図示)と、タッチパネルなどの入力装置(不図示)とを有している。フロントエンドサーバ30によりユーザ端末20に提供されるWebページは、ユーザ端末20のディスプレイ(不図示)に画面表示され、ユーザUは、ユーザ端末20のタッチパネルを操作するなどして画面に表示されるGUI(Graphical User Interface)を操作することで入力や選択を行うことができる。
【0025】
ユーザ端末20を用いたWebページの利用は、例えば、ブラウザなどのアプリケーションを利用し、URL(Uniform Resource Locator)にアクセスし、本システムを利用するユーザUが予めユーザ登録済みのユーザカウントを用いてログインすることで、ユーザ端末20でWebページを利用することが可能になる。
【0026】
フロントエンドサーバ30は、ユーザUにより選択されたテンプレート5および入力データを利用して、バックエンドサーバ40に最適化を実行させる。例えばフロントエンドサーバ30は、テンプレート5の識別情報等、ユーザ端末20から受信した情報が含まれる所定のコマンドをバックエンドサーバ40へ送信することで、バックエンドサーバ40に最適化を実行させる。バックエンドサーバ40は、この指示を受けて最適化を実行することで、最適化モデル80を生成する。
【0027】
図1において破線矢印で示す処理の詳細については、後述する実施形態で説明するが、フロントエンドサーバ30は、最適化結果を表す情報(最適化モデル80に関する情報)をバックエンドサーバ40から受信して、テンプレート5に対応したビュー定義情報を用いて表示情報を生成し、ユーザ端末20に提供し、表示させることができる。
【0028】
情報処理システム1の実現形態は、前述した例に限定されない。例えばフロントエンドサーバ30とバックエンドサーバ40は、1つのコンピュータで実現されてもよい。その他にも例えば、フロントエンドサーバ30と同等の機能をユーザ端末20に持たせてもよい。すなわち、テンプレート情報10や入力データの指定を受け付ける機能、バックエンドサーバ40に対して最適化の実行を指示する機能、バックエンドサーバ40から最適化結果を受信する機能、及び受信した最適化結果から表示情報を生成する機能をユーザ端末20に持たせる(すなわち、バックエンドサーバ40とやりとりする機能を実現するアプリケーションを、ユーザ端末20にインストールする)。その他にも例えば、フロントエンドサーバ30とバックエンドサーバ40の機能の双方を、ユーザ端末20に持たせてもよい。すなわち、情報処理システム1を、ユーザUによって操作されるコンピュータで実現してもよい(情報処理システム1の全ての機能を実現するアプリケーションを、ユーザ端末20にインストールする)。
【0029】
<機能構成例>
図2は、本実施形態の情報処理装置100の構成を論理的に示す機能ブロック図である。情報処理装置100は、生成部102を備える。生成部102は、最適化問題の指標となる目的関数および制約条件を定義したテンプレート5のテンプレート情報10を用いて、最適化モデル80を生成する。
【0030】
テンプレート情報10は、項目定義情報12と、アルゴリズム定義情報14とを含む。項目定義情報12とアルゴリズム定義情報14は、ユーザUが定義する情報を含む。項目定義情報12は、目的関数および制約条件に入力されるデータ項目を特定する情報を含む。アルゴリズム定義情報14は、目的関数および制約条件のアルゴリズムを定義する情報を含む。
【0031】
最適化問題の指標となる目的関数と制約条件を定義したテンプレート5は、最適化問題別に複数準備されている。テンプレート5はテンプレート情報10により定義されている。ユーザUは業務内容や解決したい最適化の目的や内容などに応じてどのテンプレート5を利用するかを選択できる。テンプレート5は、最適化の目的別、最適化の内容別、対象業種別、対象業務内容別などで準備されているのが好ましい。例えば、勤務シフトを作成するにあたって、製品工場を対象にするのかコンビニのような小売店を対象にするのかなど最適化対象の業種や、シフト割の数や業務内容の種類は何か、などを選択の考慮材料としてテンプレート5をユーザUは選択することができてよい。ただし、テンプレート5は、ユーザU毎に業種や業務内容に特化したものが準備されていてもよい。
【0032】
さらに、最適化問題の指標である目的関数や制約条件もそれぞれ複数準備されている。ユーザUは目的関数および制約条件の中からいずれを利用して最適化を実行するか指定することができる。さらに、最適化問題の各指標には、ユーザUが変更できるパラメータ部分が設けられており、実際の業務に合うように指定することができる。このようにして業務内容や最適化の目的や内容、重視している条件などに応じてテンプレート5をカスタマイズできるようになっている。
【0033】
最適化問題の制約条件は、必ず満たす必要がする必須条件(以下、ハード制約条件とも呼ぶ)と、できれば満たした方がよい任意条件(以下、ソフト制約条件とも呼ぶ)とを含む。テンプレート情報10において、ソフト制約条件は目的関数の要素として組み込まれていて、ハード制約条件は制約条件として組み込まれている。
【0034】
<ハードウェア構成例>
図3は、上記した情報処理装置100(図2)を実現するコンピュータ1000のハードウェア構成を例示するブロック図である。本実施形態では、情報処理装置100は、図1フロントエンドサーバ30およびバックエンドサーバ40によって実現され、それぞれコンピュータ1000によって実現される。また、図1のユーザ端末20も、コンピュータ1000によって実現される。
【0035】
情報処理装置100の各機能構成部は、各機能構成部を実現するハードウェア(例:ハードワイヤードされた電子回路など)で実現されてもよいし、ハードウェアとソフトウエアとの組み合わせ(例:電子回路とそれを制御するプログラムの組み合わせなど)で実現されてもよい。以下、情報処理装置100の各機能構成部がハードウェアとソフトウエアとの組み合わせで実現される場合について、さらに説明する。
【0036】
情報処理装置100は、1つ以上のコンピュータを用いて実現される。図3は、情報処理装置100を実現するためのコンピュータ1000を例示する図である。コンピュータ1000は、任意のコンピュータである。例えばコンピュータ1000は、PC(Personal Computer)やサーバマシンなどといった、据え置き型のコンピュータである。その他にも例えば、コンピュータ1000は、スマートフォン、タブレット端末、ノートPCなどといった可搬型のコンピュータである。
【0037】
コンピュータ1000は、情報処理装置100を実現するために設計された専用のコンピュータであってもよいし、汎用のコンピュータであってもよい。後者の場合、例えば、コンピュータ1000に対して所定のアプリケーションをインストールすることにより、コンピュータ1000で、情報処理装置100の機能の少なくとも一部が実現される。上記アプリケーションは、情報処理装置100の機能構成部のいずれか1つ以上を実現するためのプログラムで構成されるアプリケーションである。
【0038】
例えば後述するように、情報処理装置100は、最適化モデルの生成を行うバックエンドサーバ40、及びユーザ端末20とバックエンドサーバ40とのインタフェースとして機能するフロントエンドサーバ30によって構成されうる(図1参照)。この場合、フロントエンドサーバ30とバックエンドサーバ40が、互いに異なるコンピュータ1000によって実現される。この場合、フロントエンドサーバ30を実現するコンピュータ1000には、情報処理装置100の機能のうち、フロントエンドサーバ30に持たせる機能を実現するためのアプリケーションがインストールされる。一方で、バックエンドサーバ40を実現するコンピュータ1000には、情報処理装置100の機能のうち、バックエンドサーバ40に持たせる機能を実現するためのアプリケーションがインストールされる。
【0039】
コンピュータ1000は、バス1010、プロセッサ1020、メモリ1030、ストレージデバイス1040、入出力インタフェース1050、およびネットワークインタフェース1060を有する。
【0040】
バス1010は、プロセッサ1020、メモリ1030、ストレージデバイス1040、入出力インタフェース1050、およびネットワークインタフェース1060が、相互にデータを送受信するためのデータ伝送路である。ただし、プロセッサ1020などを互いに接続する方法は、バス接続に限定されない。
【0041】
プロセッサ1020は、CPU(Central Processing Unit)やGPU(Graphics Processing Unit)などで実現されるプロセッサである。
【0042】
メモリ1030は、RAM(Random Access Memory)などで実現される主記憶装置である。
【0043】
ストレージデバイス1040は、HDD(Hard Disk Drive)、SSD(Solid State Drive)、メモリカード、又はROM(Read Only Memory)などで実現される補助記憶装置である。ストレージデバイス1040は情報処理装置100の各機能(例えば、後述する生成部102、受付部104など)を実現するプログラムモジュールを記憶している。プロセッサ1020がこれら各プログラムモジュールをメモリ1030上に読み込んで実行することで、そのプログラムモジュールに対応する各機能が実現される。また、ストレージデバイス1040はテンプレート情報記憶装置60の各データ(例えば、テンプレート情報10)や、入力データ、生成された最適化モデル80などの各データも記憶してもよい。
【0044】
プログラムモジュールは、記録媒体に記録されてもよい。プログラムモジュールを記録する記録媒体は、非一時的な有形のコンピュータ1000が使用可能な媒体を含み、その媒体に、コンピュータ1000(プロセッサ1020)が読み取り可能なプログラムコードが埋め込まれてよい。
【0045】
入出力インタフェース1050は、コンピュータ1000と各種入出力機器とを接続するためのインタフェースである。入出力インタフェース1050は、ブルートゥース(登録商標)、NFC(Near Field Communication)などの近距離無線通信を行う通信インタフェースとしても機能する。
【0046】
ネットワークインタフェース1060は、コンピュータ1000を通信ネットワークに接続するためのインタフェースである。この通信ネットワークは、例えばLAN(Local Area Network)やWAN(Wide Area Network)である。ネットワークインタフェース1060が通信ネットワークに接続する方法は、無線接続であってもよいし、有線接続であってもよい。
【0047】
そして、コンピュータ1000は、入出力インタフェース1050またはネットワークインタフェース1060を介して、必要な機器(例えば、フロントエンドサーバ30、バックエンドサーバ40、およびユーザ端末20のディスプレイ、タッチパネル、キーボード、マウス、操作スイッチ、スピーカ、マイクロフォン、カメラ、プリンタ(いずれも不図示)等)に接続する。
【0048】
<動作例>
図4は、本実施形態の情報処理装置100の動作の一例を示すフローチャートである。まず、最適化テンプレート5を準備する(ステップS101)。テンプレート5の準備とは、最適化に利用する指標の選択およびパラメータの設定(変更)の受付および保存などが含まれる。指標が選択され、かつ、パラメータが設定されたテンプレート5がテンプレート情報記憶装置60に記憶されている。このパラメータの設定処理については、後述する実施形態で詳細を説明する。本実施形態では、パラメータが設定済みのテンプレート5を用いる構成とする。
【0049】
そして、生成部102は、テンプレート5を用いて最適化モデル80を生成する(ステップS103)。
【0050】
このように、生成部102は、入力データを最適化して最適化モデル80を生成し、生成した最適化モデル80に関する情報を出力する。ここで、最適化モデル80の生成方法や、生成した最適化モデル80についてどのような態様で情報を出力するかを、予めテンプレート5として定めている。以下、このテンプレート5を表す情報をテンプレート情報10と呼ぶ。
【0051】
上記したように、テンプレート情報10は、項目定義情報12、アルゴリズム定義情報14を含む。項目定義情報12は、最適化モデル80の生成に利用する各入力データの項目を特定する情報である。例えば、アルバイトのシフトを最適化する最適化モデル80の生成に、従業員毎の過去のシフト実績や将来のシフト希望に関する情報や従業員毎に担当可能な仕事などの属性に関する情報を利用するとする。この場合、最適化モデル80を生成するためのテンプレート情報10において、項目定義情報12には、「従業員のシフト実績に関する情報」に相当する項目(「勤務シフト実績」など)や、「従業員の休暇・勤務の希望に関する情報」に相当する項目(「休暇・勤務希望」など)、「従業員の属性に関する情報」に相当する項目(「従業員属性」など)などが含まれる。
【0052】
アルゴリズム定義情報14は、最適化モデル80を生成するためのアルゴリズムを特定する。例えば、最適化モデル80を生成するためのアルゴリズムを具現化したプログラムモジュールとして、複数種類のAIエンジンが用意されているとする。この場合、アルゴリズム定義情報14は、それら複数種類のAIエンジンのうちの1つを特定する情報(AIエンジンの識別情報)を示す。ただし、アルゴリズム定義情報14には、AIエンジンの識別情報ではなく、AIエンジンそのものが含まれていてもよい。また、最適化モデル80の生成に利用するアルゴリズムを具現化したものは、AIエンジンに限定されない。
【0053】
図5は、ある最適化テンプレート5の指標一覧画面200の一例を示す図である。指標一覧画面200は、目的関数一覧210と、制約条件一覧220と、実行ボタン240と、中断ボタン242と、を含んでいる。目的関数一覧210には複数の目的関数が含まれており、最適化すべき項目毎、つまり、解決すべき最適化問題の指標毎に設けられている。さらに、制約条件一覧220にも複数の制約条件が含まれており、最適化すべき項目毎、つまり、解決すべき最適化問題の指標毎に設けられている。最適化すべき項目とは、例えば、小売店での場合は従業員の手当てなどの運営コスト、従業員全体の総勤務時間、従業員の勤怠希望達成率、顧客満足期待値、来客予定数などがある。
【0054】
テンプレート5において、複数の指標の組は、最適化の目的別に設けられている。最適化の目的(最適化問題)は、例えば、製品工場や小売店における勤務シフトの最適化、そのスケジュール上の工程における必要な人員の属性と必要な人材のマッチングの最適化などが挙げられる。
【0055】
目的関数一覧210は、目的関数名欄と、指標説明欄と、当該目的関数の利用の有無を示す利用欄と、効果欄と、重み欄と、パラメータ欄とを含む。制約条件一覧220は、制約条件名欄と、条件説明欄と、利用欄と、パラメータ欄と、を含む。各欄の詳細については、後述する実施形態で説明する。
【0056】
さらに、目的関数一覧210および制約条件一覧220において、行毎に設定ボタン230が設けられていて、設定ボタン230の押下を受け付けることで各指標のパラメータや重みなどを設定できるようになっている。パラメータや重みの設定の詳細についても後述する実施形態で説明する。また、目的関数一覧210および制約条件一覧220において、利用欄には、ユーザUにより利用選択された指標に「●」が表示されている。例えば、目的関数一覧210および制約条件一覧220の各指標の行の利用欄を選択操作することで、当該指標の利用の有無を指定できてよい。
【0057】
図5は、ある店舗におけるアルバイトの勤務シフトの最適化テンプレート5の指標一覧画面200の例を示している。そして、目的関数として連続シフト制約、シフト連続組み合わせ制約、曜日別・シフト別最少人数、および従業員コストが利用選択され、制約条件として、連続シフト制約、1週単位シフト制約、シフト連続組み合わせ制約、および曜日別・シフト別最少人数が利用選択されている。他にも、商品の棚割り最適化問題の場合は、目的関数として最少品目数、最少商品数、最大商品コスト、商品品目の組み合わせ制約などが挙げられる。本実施形態では、利用する目的関数および制約条件が予め選択された状態であり、各指標のパラメータも予め設定された状態であるものとする。
【0058】
図6は、図5のテンプレート5のテンプレート情報10のデータ構造の一例を示す図である。エンジンタイプには、最適化AIエンジンが指定されている。最適化指標には、図5で指定可能な目的関数および制約条件が含まれ、アルゴリズム定義情報14に相当する。出力値は、最適化結果として出力される出力値に関する情報である。ここでは勤務スケジュールが出力され、スケジュールの開始日とスケジュール期間の指定、出力データファイルのレイアウト情報も含まれてよい。項目定義は、入力されるデータ項目を示し、項目定義情報12に相当する。
【0059】
このようにテンプレート情報10は、最適化モデル80による解析結果に関する情報の表示態様を特定するビュー定義情報16(不図示)をさらに含む。例えばビュー定義情報16には、最適化モデル80に関する情報を表すために利用する図表の種類や構造、または複数の図表の配置などが含まれる。
【0060】
テンプレート情報10のビュー定義情報16によって定義される表示態様で、生成部102によって生成された最適化モデル80についての表示情報は生成される。例えば最適化モデル80に関する情報は、視覚的に把握しやすい図を使って表示される。そこで、ビュー定義情報16には、表示情報に含まれる1つ以上の図それぞれについて、種類や構造などの定義が含まれる。図の種類には、テーブル、散布図、折れ線グラフ、及び棒グラフなどといった任意の種類を採用できる。テーブルの構造には、例えば、各列の定義が含まれる。グラフの構造には、例えば、各軸の定義が含まれる。また、ビュー定義情報16には、複数の図やその他の情報の全体的な配置を定める情報がさらに含まれる。
【0061】
上記したフロントエンドサーバ30は、ビュー定義情報16を利用して最適化モデル80を加工することで、表示情報を生成することができる。フロントエンドサーバ30は、ユーザ端末20に対して表示情報を出力する。例えばこの表示情報は、テンプレート情報10のビュー定義情報16で定義されている表示態様で最適化モデル80に関する情報を閲覧することができるWebページである。その他にも例えば、表示情報は、PDFファイルなどのファイルとして提供されてもよい。
【0062】
図5に戻り、指標一覧画面200は、最適化区間週数指定欄202および最適化区間開始日指定欄204をさらに含む。最適化区間週数指定欄202は、最適化したい期間の週数の指定を受け付けるテキストボックスであり、最適化区間開始日指定欄204は、最適化したい期間の開始日の指定を受け付けるテキストボックスである。ただし、週数の指定ではなく、最適化実行期間の終了日の指定を受け付けてもよい。
【0063】
ユーザUにより実行ボタン240が押下されると、押下に呼応して、生成部102は、テンプレート情報10(図6)において予め利用選択された指標と、その指標において予め設定されているパラメータを用いて、最適化区間で指定された期間の最適化モデル80を生成する。つまり、この例では、指定された最適化区間のアルバイトの勤務シフトスケジュールが最適化されて生成される。一方、ユーザUにより中断ボタン242が押下されると、押下に呼応して、最適化を中止し指標一覧画面200を閉じる。
【0064】
以上説明したように、本実施形態によれば、生成部102は、最適化問題の指標となる目的関数および制約条件を定義したテンプレート5を用いて最適化モデル80を生成するので、指標をユーザUが定義することで業務に特化したテンプレート5を用いて最適化モデル80を生成することが可能になる。これにより、複雑な最適化問題を効率よく効果的に解決する最適化モデル80を生成できることになる。
【0065】
(第2実施形態)
<機能構成例>
図7は、本実施形態の情報処理装置100の構成を論理的に示す機能ブロック図である。図7の情報処理装置100は、図2の情報処理装置100と同じ生成部102を備えるとともに、さらに、受付部104を備えている。本実施形態の情報処理装置100は、最適化問題の指標のうちの少なくとも一部を変更するためのパラメータの指定を受け付け、パラメータを用いて最適化モデル80を生成する構成をさらに備える点以外は図2の情報処理装置100と同じである。また、本実施形態の情報処理装置100は、他の実施形態の構成の少なくともいずれか一つと矛盾を生じない範囲で組み合わせてもよい。
【0066】
受付部104は、最適化問題の指標のうちの少なくとも一部を変更するためのパラメータの指定を受け付ける。生成部102は、受け付けたパラメータを用いて変更されたテンプレート5を用いて最適化モデル80を生成する。
【0067】
<動作例:パラメータの設定>
図8は、本実施形態の情報処理装置100の動作の一例を示すフローチャートである。図8のフローチャートは、図4のフローチャートのステップS101の代わりにステップS111およびステップS113を含む。図9は、最適化実行画面400の一例を示す図である。まず、ユーザUは、適化を実行する際にユーザ端末20に最適化実行画面400を表示させ、最適化テンプレート5を選択する(図8のステップS111)。
【0068】
図9の最適化実行画面400は、テンプレートリスト402と、最適化実行ボタン406と、含む。テンプレートリスト402は、テンプレート5毎に、テンプレート5の識別情報(テンプレートID)と、テンプレート5の名称(テンプレート名)と、テンプレート5の分類などが含まれる。ユーザUによりテンプレート5が選択されると(例えば、該当行にマウスオーバーした状態でクリックなど)、選択に呼応して、該当する行404が、例えば反転表示される。
【0069】
最適化実行ボタン406の押下を受け付けると、生成部102は、選択されているテンプレート5の指標一覧画面200(図5)を表示する。受付部104は、指標一覧画面200に表示されている複数の指標(目的関数および制約条件)の中からユーザUが指定した利用する指標の選択およびユーザUが設定したパラメータを受け付ける(ステップS113)。
【0070】
具体的には、図5の指標一覧画面200において、受付部104は、目的関数一覧210および制約条件一覧220の各行の設定ボタン230の押下を受け付けると、図10の指標のパラメータ設定画面300を表示させる。この例では、制約条件一覧220の曜日別・シフト別最少人数の制約条件の設定ボタン230が押下されてパラメータ設定画面300が表示された例を示している。
【0071】
以下の説明において、各種画面は、フロントエンドサーバ30によりユーザ端末20のディスプレイに表示される。そして、画面に表示されるGUIのユーザUによる操作をフロントエンドサーバ30(受付部104)が受け付け、バックエンドサーバ40に受け付けたデータや指示などの入力を受け渡す。
【0072】
パラメータ設定画面300は、指定方法説明欄310と、パラメータ指定欄320と、重み指定欄330と、を含む。さらに、パラメータ設定画面300は、登録ボタン340と、戻るボタン342とを含む。指定方法説明欄310には、指標のうち少なくとも一部を変更するためのパラメータの指定方法が記載される。パラメータ指定欄320は、複数行で記入するテキスト形式で入力できるようになっている。指定方法説明欄310の指定方法に従いパラメータを指定できる。この指標は、曜日別・シフト別最少人数の制約条件であるため、パラメータ指定欄320の1行毎に、曜日および午前、午後、夜勤などのシフト単位で必要な人員の最少人数をパラメータとして指定できるようになっている。シフトを示すコードは、午前勤が1、午後勤が2、夜勤が3である。
【0073】
この図の例では、1~4行目で、月曜日の午前勤は最少2人、月曜日の午後勤は最少3人、月曜日の夜勤は最少1人、火曜日の午前勤は最少2人と指定されている。
【0074】
さらに、この図の例では、指標を変更するためのパラメータの一つとして「重み」を指定しているが、「重み」の設定については後述する実施形態で説明する。
【0075】
パラメータ指定欄320および重み指定欄330においてパラメータの記入が終了した後、受付部104によりユーザUによる登録ボタン340の押下を受け付けると、欄に記入された内容に基づいて、パラメータが設定され、テンプレート5のテンプレート情報10が更新される。受付部104により、ユーザUによる戻るボタン342の押下を受け付けると、パラメータ設定画面300は閉じられて、指標一覧画面200に戻る。パラメータ設定画面300において、パラメータの変更が行われて登録ボタン340が押下された場合には、指標一覧画面200に戻ると変更されたパラメータが目的関数一覧210および制約条件一覧220に表示される。
【0076】
そして、生成部102は、変更されたテンプレート5を用いて最適化モデル80を生成する(図8のステップS103)。
【0077】
このように本実施形態では、受付部104は、最適化問題の指標のうちの少なくとも一部を変更するためのパラメータの指定を受け付け、生成部102は、受け付けたパラメータを用いて変更されたテンプレート5を用いて最適化モデル80を生成する。この構成により、最適化問題の指標パラメータを指定することで、業務内容に合わせてパラメータを変更することができ、変更されたパラメータを用いて最適化モデル80を生成することができる。よって、複雑な最適化問題を効率よく、業務内容に合わせて効果的に解決することができる。
【0078】
(第3実施形態)
<機能構成例>
本実施形態の情報処理装置100は、図7の情報処理装置100と同様な生成部102と、受付部104とを備える。本実施形態の情報処理装置100は、生成部102が、項目定義情報12で定義されているデータの入力を受け付けて指定された指標を用いて最適化を行い、最適化モデル80を生成する構成を有する点で図7の情報処理装置100と相違する。また、本実施形態の情報処理装置100は、他の実施形態の構成の少なくともいずれか一つと矛盾を生じない範囲で組み合わせてもよい。例えば、図2の情報処理装置100と組み合わせてもよい。その場合は、受付部104を有していないため、生成部102は、最適化問題の指標が予め指定されているテンプレートを用いて最適化を行う。
【0079】
生成部102は、項目定義情報12で定義されたデータ項目のデータを入力し、テンプレート5を用いて、入力されたデータを最適化して最適化モデル80を生成する。
【0080】
<動作例:データインポート>
まず、ユーザUは、最適化を実行する際にユーザ端末20に図9の最適化実行画面400を表示させる。そして、生成部102は、テンプレートリスト402において選択されたテンプレート5のテンプレートIDを受け付ける。そして、生成部102は、最適化実行ボタン406の押下に呼応して、選択されたテンプレート5を用いた最適化に必要なデータをインポートする。
【0081】
生成部102は、選択されたテンプレート5の項目定義情報12で定義されているデータ項目のデータを含むデータファイルの指定を受け付け、データファイルからデータを入力する。具体的には、以下のようにインポート画面500でインポートするデータファイルを指定する。
【0082】
図11は、インポート画面500の一例を示す図である。例えば、図9の最適化実行画面400の最適化実行ボタン406の押下を受け付けると、インポート画面500が表示される。ただし、最適化に必要なデータ項目が記憶されているデータファイルは、予め指定されていてもよく、その場合にはインポート画面500は表示されなくてもよい。例えば、項目定義情報12のデータ項目に指定されているデータが記憶されているデータファイルが予め紐付けられていてもよい。
【0083】
インポート画面500は、ファイル指定リスト502と、インポート実行ボタン506と、を含む。ファイル指定リスト502は、最適化に必要なデータ項目の情報(例えば、データ名)と、ユーザUが当該データのファイルの保存場所を参照するためのファイル選択ボタン504とを含む。また、必要なデータ項目のレイアウトを参照できる操作ボタン(不図示)を含んでもよい。必要なデータ項目のレイアウトを参照できるので、必要なデータ項目を含むデータファイルを作成して指定することができる。
【0084】
データファイルは、例えば、CSV(Comma Separated Values)ファイルである。ただし、データファイル形式は他の形式でもよく、XML(Extensible Markup Language)言語で記載されたテキストファイル、TSV(Tab-Separated Values)ファイル、エクセル(登録商標)ファイル、SYLK(SYmbolic LinK)ファイルなどでもよく、これらに限定されない。
【0085】
また、データファイルの1行目にデータ項目が指定されていることを指定できるチェックボックスを、ファイル指定リスト502のデータ毎(1行毎)にさらに含んでもよい。複数のデータファイルを指定できてもよく、ファイル追加ボタン(不図示)をデータ毎(1行毎)にさらに含んでもよい。
【0086】
図12は、図11でインポートされるデータファイルの例を示す図である。勤務シフト最適化(アルバイト管理)の最適化のテンプレート5が選択された時にインポートするデータファイルは、例えば、シフト実績データ510(図12(a))、休暇・勤務希望データ512(図12(b))、および従業員マスタ514(図12(c))である。
【0087】
そして、インポート画面500でデータファイルのインポートが終了すると、図5の指標一覧画面200が表示される。
【0088】
指標一覧画面200の実行ボタン240の押下を受け付けると、生成部102は、インポートされたデータを、テンプレート5で指定された最適化問題の指標(目的関数および制約条件)を利用して最適化し、最適化モデル80を生成する。
【0089】
本実施形態において、生成部102は、項目定義情報12で定義されたデータ項目のデータを入力し、テンプレート5を用いて、入力されたデータを最適化して最適化モデル80を生成する。この構成により、テンプレート5の項目定義情報12およびアルゴリズム定義情報14に従い、最適化に必要なデータの指定をユーザUに促してインポートさせて最適化モデル80を生成できる。よって、複雑な最適化問題を効率よく、業務内容に合わせて効果的に解決することができる。
【0090】
(第4実施形態)
本実施形態の情報処理装置100は、図7の情報処理装置100と同じ生成部102および受付部104を備えるので、図7を用いて説明する。本実施形態の情報処理装置100は、生成部102が、過去の実績を利用して、ユーザの意図を示す「重み」を意図学習により導出し、最適化問題の指標を「重み」を用いて変更する点で上記したいずれの情報処理装置100とも相違する。また、本実施形態の情報処理装置100は、他の実施形態の構成の少なくともいずれか一つと矛盾を生じない範囲で組み合わせてもよい。
【0091】
テンプレート情報10は、最適化問題の指標毎に、ユーザUの意図を示す重みを含む。ここでユーザUとは、店舗の店長、職場の管理職、熟練者などである。「重み」は、過去の実績を利用して、ユーザUの意図を学習する意図学習により導出される。アルゴリズム定義情報14は、この重みを推定するための意図学習アルゴリズムを含む。生成部102は、この意図学習アルゴリズムを用いて重みを算出する。生成部102は、算出した重みをテンプレート情報10に反映して最適化モデル80を生成する。
【0092】
上記したように、重みは店長などの意図を示すため、例えば、店長が重要視していることを再現して最適化することが可能になる。
【0093】
図10のパラメータ設定画面300の例では、シフト別に最少人数を超過した場合に対するペナルティを示す「重み」が指定できる。この例では「重み」はペナルティであるが、これに限定されない。他の例では、「重み」は、ペナルティではなく、評価であってもよいし、レベルであってもよいし、ポイントであってもよい。「重み」とは、指標の重要度を示す指標であり、店舗であれば、店長等が重要視している程度を示してもよいし、キャンペーンなどの特定期間に重要となる指標についてその程度を示してもよい。
【0094】
この例では1~5の数値で指定され、数値が大きい程、重いペナルティが課されることを意味している。指定方法説明欄310には重みの指定方法が記載されている。重みも複数行で記入するテキスト形式で入力できる。シフト毎に各1行として、重みを指定するようになっている。この図の例では、午前勤(シフトコード1)の重みは2、午後勤(シフトコード2)の重みは2、夜勤(シフトコード3)の重みは5と指定されている。
【0095】
本実施形態では、生成部102は、意図学習によりこの重みの指定をさらに変更することができる。
【0096】
<動作例:意図学習>
図13は、本実施形態の情報処理装置100の動作の一例を示すフローチャートである。図13のフローチャートは、図4と同じステップS101とステップS103を含むとともに、ステップS101とステップS103の間にステップS121を含む。なお、図13のフローチャートのステップS101を図8のステップS111およびステップS113に替えてもよい。
【0097】
図14は、図9の最適化実行画面400の他の例を示す図である。最適化実行画面400は、さらに、意図学習実行ボタン408を含んでいる。最適化実行画面400において、テンプレート5が選択された状態で意図学習実行ボタン408の押下を受け付けると、生成部102は、意図学習により重みを算出し、テンプレート5の重みに反映させる(図13のステップS121)。図15は、意図学習を実行するためのテンプレート5のテンプレート情報10のデータ構造例を示す図である。図6のテンプレート情報10のデータ構造に加え、学習エンジンに意図学習AIエンジンが追加されている。さらに、意図学習結果の出力値として、暇・勤務リクエスト達成状況が追加されている。
【0098】
図16は、指標一覧画面200の他の例を示す図である。図16は、図5の指標一覧画面200に加え、さらに、学習区間開始日指定欄206、学習区間終了日指定欄207、検証区間開始日指定欄208、および検証区間終了日指定欄209を含む。
【0099】
これらの欄で指定された学習区間で意図学習が行われる。また、検証区間とは、意図学習された重みをユーザUが手動で調整した後、最適化を行う期間である。そして、意図学習によりユーザUの意図が反映されたテンプレート5を用いて生成部102は最適化モデル80を生成する(図13のステップS103)。
【0100】
最適化モデル80は、意図学習の結果として、最適化問題の指標毎に、意図学習により算出された重みと、その平均値および標準偏差の値を含む。さらに、最適化モデル80は、意図学習で算出された重みを使った最適化問題を解いた結果として、最適化問題の指標毎に、平均値および標準偏差の値を含む。さらに、最適化モデル80は、最適化問題の結果について予め指定されている評価基準に対する評価結果(例えば、OKまたはNG)を指標毎に含んでもよい。
【0101】
また、最適化モデル80は、意図学習で算出された重みをさらにユーザUが手動で調整してもよく、調整後の重みを用いて最適化問題を解いたシミュレーション結果を指標毎に含んでもよい。
【0102】
図17は、解析結果の出力例を示す図である。図17(a)は、シフトスケジュール600を示し、図17(b)は、休暇・勤務リクエスト達成状況610を示している。シフトスケジュール600は、シフトの日単位の指標値(ここでは昼繁忙時間帯の人員数とレジ担当可能者数)と、指標値が評価基準を満たしているか否かの評価結果(例えば、OKまたはNG)を含む。評価基準は、例えば、必須の制約条件である。
【0103】
図17(a)のシフトスケジュール600の人単位または日単位に、ドリルダウンできてもよい。例えば、日単位でシフトに入っている従業員の属性を参照できてもよい。
【0104】
図17(b)の休暇・勤務リクエスト達成状況610は、休暇・勤務の希望について、人単位で達成状況(ここでは、承認または非承認)を表示している。
【0105】
このように本実施形態では、生成部102は、意図学習で算出された重みを用いて最適化モデル80を生成する。この構成により、最適化問題の指標を、店長などのユーザUの意図に沿ったもの、つまりユーザUが重要視している指標で最適化モデル80を生成することができる。よって、複雑な最適化問題を効率よく、業務内容およびユーザUの意図に合わせて効果的に解決することができる。
【0106】
(第5実施形態)
本実施形態の情報処理装置100は、図7の情報処理装置100と同じ生成部102および受付部104を備えるので、図7を用いて説明する。本実施形態の情報処理装置100は、生成部102が、最適化モデル80の入力データ項目の一つとして、予測モデルによる予測結果を用いる点で上記したいずれの情報処理装置100とも相違する。また、本実施形態の情報処理装置100は、他の実施形態の構成の少なくともいずれか一つと矛盾を生じない範囲で組み合わせてもよい。
【0107】
生成部102は、最適化モデル80の入力データ項目の一つとして、予測モデルによる予測結果を用いる。
【0108】
予測モデルは様々なアルゴリズムに基づいて入力データを処理することで業務に関する様々な予測分析を行い、生成される。予測モデルを生成するアルゴリズムとしては、例えば、異種混合学習(特許文献3)、RAPID時系列分析(非特許文献1)、ニューラルネットワーク、又はSVM(Support Vector Machine)などといった種々の機械学習アルゴリズムを扱うことができる。
【0109】
例えば、様々な機械学習アルゴリズムそれぞれについて、そのアルゴリズムを実現するプログラムモジュールであるAIエンジンを設けておく。予測モデルも本実施形態の最適化モデル80の生成に利用するテンプレート5と同様なテンプレート5を用いて生成されてよい。この場合、例えばアルゴリズム定義情報14には、これら複数のAIエンジンのうちの1つを特定する識別情報が含まれる。予測モデルは、アルゴリズム定義情報14に含まれる識別情報で特定されるAIエンジンを利用して生成される。
【0110】
ここで、同一のAIエンジンを複数の分析タイプ(回帰や判別など)で利用できることもある。この場合、アルゴリズム定義情報14には、行いたい分析のタイプ(生成したい予測モデルのタイプ)を示す情報をさらに含めておく。例えば、商品の売上げを予測する予測モデルを異種混合学習で生成するためのテンプレート情報10では、「AIエンジン:異種混合学習、分析タイプ:回帰」となる。一方、将来的に機器が故障するか否かを予測する予測モデルを異種混合学習で生成するためのテンプレート情報10では、「AIエンジン:異種混合学習、分析タイプ:判別」となる。
【0111】
また、アルゴリズム定義情報14には、AIエンジンの目的変数や説明変数と、入力データとの対応付けを表す情報も含めておく。例えば、項目定義情報12で特定される小項目のうち、どの小項目を目的変数として用いるか、及びどの小項目を説明変数として用いるかが、アルゴリズム定義情報14に定められている。ただし、目的変数や説明変数は、項目定義情報12で特定される1つ以上の小項目と何らかの関係を持てばよく、小項目と完全に一致する必要はない。例えば、商品の売上数の予測において、売上実績データに商品の売上数を含めておき(売上実績データという大項目に対応する小項目に「売上数」を含めておき)、目的変数を「売上数の移動平均からの差分」とすることができる。
【0112】
また、アルゴリズム定義情報14には、AIエンジンに設定するハイパーパラメータがさらに定められていてもよい。ハイパーパラメータとしては、異種混合学習における木の深さや、ニューラルネットワークにおける層の深さなどが挙げられる。
【0113】
さらに、AIエンジンへ投入する前に入力データに対して施す前処理を特定する情報が定められていてもよい。AIエンジンで予測モデルを生成する際、入力データをそのまま用いるのではなく、スケール変換等を行うことで、学習精度を向上させることができる。そこで、項目定義情報12において、入力データに対して加えるべきこのような前処理を定義しておく。その他にも例えば、入力データの一部のみを処理対象として抽出する処理なども、前処理として定義しておく。その他にも例えば、入力データのフォーマットをAIエンジンごとに定められている所定のフォーマット(AIエンジンが解釈可能なフォーマット)に変換する処理も、前処理として定義しておく。
【0114】
なお、アルゴリズム定義情報14には、前処理を実現するプログラムモジュールそのものが含まれていてもよいし、前処理を実現するプログラムを呼び出すための識別情報(関数名など)や設定情報(引数など)が含まれていてもよい。後者の場合、種々の前処理を予め生成部102に設けておく。そして、アルゴリズム定義情報14において、利用したい前処理の識別情報及びその前処理の設定情報を定めておくことで、生成部102によって所望の前処理が実行されるようにする。
【0115】
ここで、1つのテンプレート情報10を利用した分析で生成される予測モデル(予測の対象)は、1つに限定されない。例えば、店舗ごと及び商品ごとに売上数を予測するためのテンプレート情報10が用意されているとする。この場合、予測の対象は、「店舗、商品」の組み合わせごとの売上数となる。よって、このテンプレート情報10を利用すると、店舗ごと及び商品ごとの予測モデルが生成される。
【0116】
例えば簡単な例として、商品G1~G3という3種類の商品があり、店舗S1~S2という2つの店舗があるとする。この場合、6つの予測対象があるため、6個の予測モデルが生成される。具体的には、店舗S1とS2のそれぞれについて、商品G1~3それぞれの売上数の予測モデルが生成される。
【0117】
1つのテンプレート情報10を利用した分析によってどのような予測モデルが作られるかは、アルゴリズム定義情報14によって予め定義される。すなわち、店舗ごと及び商品ごとの売上数を予測する予測モデルを生成するためのテンプレート情報10では、「店舗ごと及び商品ごとの売り上げ」などといった形で、目的変数が予め定義されている。そのため、生成部102により、店舗ごと及び商品ごとに予測モデルが生成される。
【0118】
ここで、生成部102は、予測モデルの生成だけでなく、その精度の評価(検証)も行うことが好適である。この場合、例えば生成部102は、入力データを学習用データと検証データに分割する。そして、生成部102は、学習用データを利用して予測モデルの生成(モデルの学習)を行い、検証データを利用して予測モデルの検証を行う。その他にも例えば、生成部102は、いわゆるクロスバリデーションを行ってもよい。このように入力データを分割してモデルの生成と評価を行う具体的な方法は、既存の技術を利用することができる。
【0119】
さらに、生成部102は、予測モデルの生成や検証に加え、予測モデルを利用した予測を実行してもよい。この場合、例えば生成部102は、入力データを、予測に利用するテストデータと、それ以外のデータ(学習と検証に利用するデータ)に分割する。そして、生成部102は、後者で予測モデルの生成と検証を行った後、テストデータを利用して予測を実行する。なお、このように入力データを分割して、予測モデルの生成と検証、及び予測を行う具体的な方法には、既存の技術を利用することができる。
【0120】
ただし、情報処理装置100は、必ずしも、予測モデルを生成してすぐに予測を実行する必要はない。例えばユーザは、まず、情報処理装置100を利用して、予測モデルの生成と検証を行っておく。生成された予測モデルは、情報処理装置100からアクセス可能な記憶装置に格納される。その後、ユーザは、予測する必要が生じた際に、予め生成しておいた予測モデルを利用して、予測を行う。
【0121】
ここで、入力データの分割方法は、テンプレート情報10によらずに固定で定められていてもよいし、テンプレート情報10で定められていてもよいし、ユーザによって指定されてもよい。例えば入力データを期間で分割する場合、ユーザは、学習用データ、検証データ、テストデータそれぞれについて、利用する入力データの期間を指定する。
【0122】
なお、予測モデルを利用した予測の実行は、必ずしも情報処理装置100で実行される必要はない。例えば前述したようにフロントエンドサーバ30とバックエンドサーバ40で情報処理装置100が構成される場合に、予測モデルを利用した予測については、ユーザ端末20で実行されるようにしてもよい。この場合、情報処理装置100によって生成された予測モデルを、ユーザ端末20からアクセス可能な記憶装置に格納しておく。
【0123】
本実施形態において、生成部102は、最適化モデルの入力データの項目の一つとして、予測モデルによる予測結果を用いることができる。これにより、様々な分析内容に基づいて、最適化モデル80を生成できるので、より高度な最適化モデル80を生成可能となる。
【0124】
以上、図面を参照して本発明の実施形態について述べたが、これらは本発明の例示であり、上記以外の様々な構成を採用することもできる。
たとえば、上記実施形態で利用するテンプレート5自体をカスタマイズする構成を有してもよい。例えば、インポートするデータファイルのレイアウトを変更できてもよい。さらに、テンプレート5に含まれる目的関数および制約条件を追加および変更し、別のテンプレート5として作成できてもよい。さらに、最適化や意図学習を行うためのAIエンジンの選択や、最適化や意図学習を実行する区間の指定方法なども変更できてもよい。
【0125】
以上、実施形態および実施例を参照して本願発明を説明したが、本願発明は上記実施形態および実施例に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
なお、本発明において利用者に関する情報を取得、利用する場合は、これを適法に行うものとする。
【0126】
上記の実施形態の一部または全部は、以下の付記のようにも記載されうるが、以下に限られない。
1. 最適化問題の指標となる目的関数および制約条件を定義したテンプレートを用いて、最適化モデルを生成する生成手段を備え、
前記テンプレートは、前記目的関数および前記制約条件に入力されるデータ項目を特定する項目定義情報と、前記目的関数および前記制約条件のアルゴリズムを定義するアルゴリズム定義情報と、を含む、情報処理装置。
2. 1.に記載の情報処理装置において、
前記最適化問題の前記指標のうちの少なくとも一部を変更するためのパラメータの指定を受け付ける受付手段をさらに備え、
前記生成手段は、受け付けた前記パラメータを用いて変更された前記テンプレートを用いて前記最適化モデルを生成する、情報処理装置。
3. 1.または2.に記載の情報処理装置において、
前記生成手段は、前記項目定義情報で定義された前記データ項目のデータを入力し、前記テンプレートを用いて、入力された前記データを最適化して前記最適化モデルを生成する、情報処理装置。
4. 1.から3.のいずれか一つに記載の情報処理装置において、
前記テンプレートは、前記最適化モデルによる解析結果に関する情報の表示態様を特定するビュー定義情報を含む、情報処理装置。
5. 1.から4.のいずれか一つに記載の情報処理装置において、
前記テンプレートは、前記最適化モデルで最適化すべき項目別に設けられている、情報処理装置。
6. 1.から5.のいずれか一つに記載の情報処理装置において、
前記テンプレートにおいて、複数の前記指標の組は、最適化の目的別に設けられている、情報処理装置。
7. 1.から6.のいずれか一つに記載の情報処理装置において、
前記生成手段は、前記最適化モデルの前記入力されるデータの前記データ項目の一つとして、予測モデルによる予測結果を用いる、情報処理装置。
8. 1.から7.のいずれか一つに記載の情報処理装置において、
前記テンプレートは、前記最適化問題の指標毎に、ユーザの意図を示す重みを含む、情報処理装置。
9. 8.に記載の情報処理装置において、
前記アルゴリズム定義情報は、前記重みを推定するための意図学習アルゴリズムを含み、
前記生成手段は、前記意図学習アルゴリズムを用いて前記重みを算出し、前記テンプレートに反映させて前記最適化モデルを生成する、情報処理装置。
【0127】
10. 情報処理装置が、
最適化問題の指標となる目的関数および制約条件を定義したテンプレートを用いて、最適化モデルを生成し、
前記テンプレートは、前記目的関数および前記制約条件に入力されるデータ項目を特定する項目定義情報と、前記目的関数および前記制約条件のアルゴリズムを定義するアルゴリズム定義情報と、を含む、情報処理方法。
11. 10.に記載の情報処理方法において、
前記情報処理装置が、さらに、
前記最適化問題の前記指標のうちの少なくとも一部を変更するためのパラメータの指定を受け付け、
受け付けた前記パラメータを用いて変更された前記テンプレートを用いて前記最適化モデルを生成する、情報処理方法。
12. 10.または11.に記載の情報処理方法において、
前記情報処理装置が、
前記項目定義情報で定義された前記データ項目のデータを入力し、前記テンプレートを用いて、入力された前記データを最適化して前記最適化モデルを生成する、情報処理方法。
13. 10.から12.のいずれか一つに記載の情報処理方法において、
前記テンプレートは、前記最適化モデルによる解析結果に関する情報の表示態様を特定するビュー定義情報を含む、情報処理方法。
14. 10.から13.のいずれか一つに記載の情報処理方法において、
前記テンプレートは、前記最適化モデルで最適化すべき項目別に設けられている、情報処理方法。
15. 10.から14.のいずれか一つに記載の情報処理方法において、
前記テンプレートにおいて、複数の前記指標の組は、最適化の目的別に設けられている、情報処理方法。
16. 10.から15.のいずれか一つに記載の情報処理方法において、
前記情報処理装置が、
前記最適化モデルの前記入力されるデータの前記データ項目の一つとして、予測モデルによる予測結果を用いる、情報処理方法。
17. 10.から16.のいずれか一つに記載の情報処理方法において、
前記テンプレートは、前記最適化問題の指標毎に、ユーザの意図を示す重みを含む、情報処理方法。
18. 17.に記載の情報処理方法において、
前記アルゴリズム定義情報は、前記重みを推定するための意図学習アルゴリズムを含み、
前記情報処理装置が、
前記意図学習アルゴリズムを用いて前記重みを算出し、前記テンプレートに反映させて前記最適化モデルを生成する、情報処理方法。
【0128】
19. コンピュータに、
最適化問題の指標となる目的関数および制約条件を定義したテンプレートを用いて、最適化モデルを生成する手順、を実行させ、
前記テンプレートは、前記目的関数および前記制約条件に入力されるデータ項目を特定する項目定義情報と、前記目的関数および前記制約条件のアルゴリズムを定義するアルゴリズム定義情報と、を含む、プログラム。
20. 19.に記載のプログラムにおいて、
前記最適化問題の前記指標のうちの少なくとも一部を変更するためのパラメータの指定を受け付ける手順、
受け付けた前記パラメータを用いて変更された前記テンプレートを用いて前記最適化モデルを生成する手順、をコンピュータに実行させるためのプログラム。
21. 19.または20.に記載のプログラムにおいて、
前記項目定義情報で定義された前記データ項目のデータを入力し、前記テンプレートを用いて、入力された前記データを最適化して前記最適化モデルを生成する手順をコンピュータに実行させるためのプログラム。
22. 19.から21.のいずれか一つに記載のプログラムにおいて、
前記テンプレートは、前記最適化モデルによる解析結果に関する情報の表示態様を特定するビュー定義情報を含む、プログラム。
23. 19.から22.のいずれか一つに記載のプログラムにおいて、
前記テンプレートは、前記最適化モデルで最適化すべき項目別に設けられている、プログラム。
24. 19.から23.のいずれか一つに記載のプログラムにおいて、
前記テンプレートにおいて、複数の前記指標の組は、最適化の目的別に設けられている、プログラム。
25. 19.から24.のいずれか一つに記載のプログラムにおいて、
前記最適化モデルの前記入力されるデータの前記データ項目の一つとして、予測モデルによる予測結果を用いる手順をコンピュータに実行させるためのプログラム。
26. 19.から25.のいずれか一つに記載のプログラムにおいて、
前記テンプレートは、前記最適化問題の指標毎に、ユーザの意図を示す重みを含む、プログラム。
27. 26.に記載のプログラムにおいて、
前記アルゴリズム定義情報は、前記重みを推定するための意図学習アルゴリズムを含み、
前記意図学習アルゴリズムを用いて前記重みを算出し、前記テンプレートに反映させて前記最適化モデルを生成する手順をコンピュータに実行させるためのプログラム。
【0129】
この出願は、2021年4月19日に出願された日本出願特願2021-070593号を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【符号の説明】
【0130】
1 情報処理システム
5 テンプレート
10 テンプレート情報
12 項目定義情報
14 アルゴリズム定義情報
16 ビュー定義情報
20 ユーザ端末
30 フロントエンドサーバ
30 エンドサーバ
40 バックエンドサーバ
60 テンプレート情報記憶装置
80 最適化モデル
100 情報処理装置
102 生成部
104 受付部
200 指標一覧画面
202 最適化区間週数指定欄
204 最適化区間開始日指定欄
206 学習区間開始日指定欄
207 学習区間終了日指定欄
208 検証区間開始日指定欄
209 検証区間終了日指定欄
210 目的関数一覧
220 制約条件一覧
230 設定ボタン
240 実行ボタン
242 中断ボタン
300 パラメータ設定画面
310 指定方法説明欄
320 パラメータ指定欄
330 重み指定欄
340 登録ボタン
342 ボタン
400 最適化実行画面
402 テンプレートリスト
404 行
406 最適化実行ボタン
408 意図学習実行ボタン
500 インポート画面
502 ファイル指定リスト
504 ファイル選択ボタン
506 インポート実行ボタン
510 シフト実績データ
512 休暇・勤務希望データ
514 従業員マスタ
600 シフトスケジュール
610 休暇・勤務リクエスト達成状況
1000 コンピュータ
1010 バス
1020 プロセッサ
1030 メモリ
1040 ストレージデバイス
1050 入出力インタフェース
1060 ネットワークインタフェース
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17