(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022091019
(43)【公開日】2022-06-20
(54)【発明の名称】情報処理装置、情報処理方法、プログラム
(51)【国際特許分類】
G06N 20/00 20190101AFI20220613BHJP
G06T 7/00 20170101ALI20220613BHJP
【FI】
G06N20/00 130
G06T7/00 350B
【審査請求】未請求
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2020203683
(22)【出願日】2020-12-08
(71)【出願人】
【識別番号】390002761
【氏名又は名称】キヤノンマーケティングジャパン株式会社
(71)【出願人】
【識別番号】592135203
【氏名又は名称】キヤノンITソリューションズ株式会社
(74)【代理人】
【識別番号】100189751
【弁理士】
【氏名又は名称】木村 友輔
(72)【発明者】
【氏名】中山 正明
【テーマコード(参考)】
5L096
【Fターム(参考)】
5L096DA03
5L096KA04
5L096KA15
(57)【要約】
【課題】 説明変数の特性に応じて適切な推論結果を得られる仕組みを提供すること
【解決手段】 複数のカラムから構成される学習データのうち、グループカラムの設定を受け付け、受け付けたグループカラムの値毎に学習済みモデルを生成する。生成された学習済みモデルのうち、推論対象の新規データにおけるグループカラムの値に対応する学習済みモデルを用いて、当該新規データに対する推論処理を実行する
【選択図】
図1
【特許請求の範囲】
【請求項1】
複数のカラムから構成される学習データのうち、グループカラムの設定を受け付ける受付手段と、
前記受付手段により受け付けたグループカラムの値毎に学習済みモデルを生成する生成手段と、
前記生成手段により生成された学習済みモデルのうち、推論対象の新規データにおけるグループカラムの値に対応する学習済みモデルを用いて、当該新規データに対する推論処理を実行する推論手段と、
を備えることを特徴とする情報処理システム。
【請求項2】
前記受付手段は、さらに、グループカラムの値毎の学習済みモデルを生成するかを判定するための最少レコード数を受け付け、
前記生成手段は、前記学習データにおけるグループカラムの値のうち、レコード数が前記受付手段で受け付けた最小レコード数を満たす値について、グループカラムの値毎の学習済みモデルを生成することを特徴とする請求項1に記載の情報処理システム。
【請求項3】
前記生成手段は、さらに、前記学習データの全レコードを用いて学習済みモデルを生成することを特徴とし、
前記推論手段は、前記推論対象の新規データにおけるグループカラムの値に対応する学習済みモデルが生成されていない場合、前記学習データの全レコードを用いて生成された学習済みモデルを用いて当該新規データに対する推論処理を実行することを特徴とする請求項に記載の情報処理システム。
【請求項4】
前記推論対象の新規データにおけるグループカラムの値に対応する学習済みモデルが生成されていない場合、その旨を通知する通知手段を備えることを特徴とする請求項2または3に記載の情報処理システム。
【請求項5】
情報処理システムの受付手段が、複数のカラムから構成される学習データのうち、グループカラムの設定を受け付ける受付工程と、
前記情報処理システムの生成手段が、前記受付工程により受け付けたグループカラムの値毎に学習済みモデルを生成する生成工程と、
前記情報処理システムの推論手段が、前記生成工程により生成された学習済みモデルのうち、推論対象の新規データにおけるグループカラムの値に対応する学習済みモデルを用いて、当該新規データに対する推論処理を実行する推論工程と、
を備えることを特徴とする情報処理方法。
【請求項6】
コンピュータを、
複数のカラムから構成される学習データのうち、グループカラムの設定を受け付ける受付手段と、
前記受付手段により受け付けたグループカラムの値毎に学習済みモデルを生成する生成手段と、
前記生成手段により生成された学習済みモデルのうち、推論対象の新規データにおけるグループカラムの値に対応する学習済みモデルを用いて、当該新規データに対する推論処理を実行する推論手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、情報処理方法、プログラムに関する。
【背景技術】
【0002】
近年、ディープラーニングを用いて生成された学習済みモデルを用いた仕組みが、様々な場面で活用されている。例えば、画像から物体を検出したり、物体の分類を行うことに用いられたり、音声認識や言語処理の分野でも活用されている。さらに、特許文献1に開示されている通り、需要予測のような、過去の需要実績や天候などの様々な説明変数から予測値を算出する場面においても、学習済みモデルを用いた方法が用いられている。
【先行技術文献】
【特許文献】
【0003】
【発明の開示】
【発明が解決しようとする課題】
【0004】
説明変数として、数値変数やカテゴリ変数などがあるが、カテゴリ変数によっては、その値次第で、他の説明変数が予測結果に与える影響がまったく異なってくる場合がある。例えば、「商品カテゴリ」が「飲料物」であれば、「気温」が「商品売り上げ数」に影響すると考えられるが、「商品カテゴリ」が「PC用品」であれば、「気温」の「商品売り上げ数」への影響はあまりないと考えられる。このような場合に、学習データ全体で一つのモデルを学習しても、適切なモデル化を行えず、予測の精度が低くなってしまうことが考えられる。
【0005】
このように、適切な推論結果を得るためには、カテゴリ変数の値に応じて異なる複数のモデルを学習する必要がある場合がある。
【0006】
そこで、本発明では、説明変数の特性に応じて適切な推論結果を得られる仕組みを提供することを目的とする。
【課題を解決するための手段】
【0007】
本発明の情報処理システムは、複数のカラムから構成される学習データのうち、グループカラムの設定を受け付ける受付手段と、前記受付手段により受け付けたグループカラムの値毎に学習済みモデルを生成する生成手段と、前記生成手段により生成された学習済みモデルのうち、推論対象の新規データにおけるグループカラムの値に対応する学習済みモデルを用いて、当該新規データに対する推論処理を実行する推論手段と、を備えることを特徴とする。
【発明の効果】
【0008】
本発明によれば、説明変数の特性に応じて適切な推論結果を得ることが可能となる。
【図面の簡単な説明】
【0009】
【
図1】情報処理システムの構成の一例を示す図である。
【
図2】情報処理装置101のハードウェア構成の一例を示すブロック図である。
【発明を実施するための形態】
【0010】
以下、図面を参照して、本発明の実施形態を詳細に説明する。
【0011】
図1は、本発明の実施形態におけるシステム構成の一例を示す図である。
【0012】
本発明の情報処理システムは、情報処理装置101と外部装置102とがネットワーク110を介して通信可能に接続されたシステムである。
【0013】
情報処理装置101は、ユーザにより操作される装置であり、各種パラメータの設定の受け付けや、学習処理(
図3のフローチャートの処理)、推論処理(
図4のフローチャートの処理)の実行指示を受け付け、当該処理を実行する。
【0014】
外部装置102は、学習用データの管理等を行う。
【0015】
なお、本実施例においては、情報処理装置101が
図3、
図4のフローチャートの処理を実行するものとして説明するが、外部装置102が実行する形態であってもよい。また、学習用データの管理など、外部装置102で行うものとして説明した処理について、情報処理装置101で行ってもよい。
【0016】
図2は、本発明の情報処理装置101、外部装置102のハードウェア構成の一例を示すブロック図である。
【0017】
図2に示すように、情報処理装置101、外部装置102は、システムバス200を介してCPU(Central Processing Unit)201、ROM(Read Only Memory)202、RAM(Random Access Memory)203、記憶装置204、入力コントローラ205、音声コントローラ206、ビデオコントローラ207、メモリコントローラ208、よび通信I/Fコントローラ209が接続される。
【0018】
CPU201は、システムバス200に接続される各デバイスやコントローラを統括的に制御する。
【0019】
ROM202あるいは外部メモリ213は、CPU201が実行する制御プログラムであるBIOS(Basic Input/Output System)やOS(Operating System)や、本情報処理方法を実現するためのコンピュータ読み取り実行可能なプログラムおよび必要な各種データ(データテーブルを含む)を保持している。
【0020】
RAM203は、CPU201の主メモリ、ワークエリア等として機能する。CPU201は、処理の実行に際して必要なプログラム等をROM202あるいは外部メモリ213からRAM203にロードし、ロードしたプログラムを実行することで各種動作を実現する。
【0021】
入力コントローラ205は、キーボード210や不図示のマウス等のポインティングデバイス等の入力装置からの入力を制御する。入力装置がタッチパネルの場合、ユーザがタッチパネルに表示されたアイコンやカーソルやボタンに合わせて押下(指等でタッチ)することにより、各種の指示を行うことができることとする。
【0022】
また、タッチパネルは、マルチタッチスクリーンなどの、複数の指でタッチされた位置を検出することが可能なタッチパネルであってもよい。
【0023】
ビデオコントローラ207は、ディスプレイ212などの外部出力装置への表示を制御する。ディスプレイは本体と一体になったノート型パソコンのディスプレイも含まれるものとする。なお、外部出力装置はディスプレイに限ったものははく、例えばプロジェクタであってもよい。また、前述のタッチ操作を受け付け可能な装置については、入力装置も提供する。
【0024】
なおビデオコントローラ207は、表示制御を行うためのビデオメモリ(VRAM)を制御することが可能で、ビデオメモリ領域としてRAM203の一部を利用することもできるし、別途専用のビデオメモリを設けることも可能である。
【0025】
メモリコントローラ208は、外部メモリ213へのアクセスを制御する。外部メモリとしては、ブートプログラム、各種アプリケーション、フォントデータ、ユーザファイル、編集ファイル、および各種データ等を記憶する外部記憶装置(ハードディスク)、フレキシブルディスク(FD)、或いはPCMCIAカードスロットにアダプタを介して接続されるコンパクトフラッシュ(登録商標)メモリ等を利用可能である。
【0026】
通信I/Fコントローラ209は、ネットワークを介して外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、TCP/IPを用いた通信やISDNなどの電話回線、および携帯電話の4G回線、5G回線等を用いた通信が可能である。
【0027】
尚、CPU201は、例えばRAM203内の表示情報用領域へアウトラインフォントの展開(ラスタライズ)処理を実行することにより、ディスプレイ212上での表示を可能としている。また、CPU201は、ディスプレイ212上の不図示のマウスカーソル等でのユーザ指示を可能とする。
【0028】
次に、
図3のフローチャート、
図5のイメージ図を用いて、学習時の処理について説明する。
【0029】
まず、
図5のイメージ図を用いて、学習時の処理の全体像を説明する。
【0030】
図5の「全レコード」に示すデータが、学習用データのもととなるデータである。「全レコード」のリストに示す通り、説明変数1~Nまでのデータと、グループを示すデータ(グループカラム)とを説明変数として、目的変数が算出されるものとする。すなわち、「説明変数1~Nまでのデータとグループを示すデータ」に対して「目的変数」の値を正解データとして対応付けて学習処理が実行される。
【0031】
ここで、グループカラムは、「A」または「B」といった予め定められたユニーク値から選択されるデータ(カテゴリ変数)であるとする。一方で、説明変数1~Nについては、何ら制約のないデータ(値)(数値変数)でも、カテゴリ変数でもよい。
【0032】
このようなデータにおいて、グループカラムの値が「A」のデータと、「B」のデータとに分割し、グループカラムの値が「A」のデータを使って学習した学習済みモデルAと、グループカラムの値が「B」のデータを使って学習した学習済みモデルBをそれぞれ生成する。
【0033】
また、グループを分割する際、レコードの数が予め設定された最小レコード数に満たないユニーク値については、当該ユニーク値ごとの学習済みモデルの生成は行わない。具体的には、最小レコード数が10である場合、グループカラムの値が「A」のレコード数が20、「B」のレコード数が15、「C」のレコード数が8、「D」のレコード数が5であった場合、10を満たすレコード数があるユニーク値「A」と「B」について、それぞれ学習済みモデルA,Bを生成する。
【0034】
次に
図3のフローチャートを用いて、学習時の処理について説明する。
【0035】
ステップS301では、学習最少レコード数の入力を受け付ける。グループカラムの値のうち、この学習最少レコード数を満たすレコード数があるユニーク値について、ユニーク値ごとの学習済みモデル生成が行われる。
【0036】
ステップS302では、グループカラムとなるカラムの名称の設定を受け付ける。
【0037】
ステップS303では、学習データを読み込む。具体的には、
図5の「全レコード」で示すデータであり、説明変数とグループカラムと目的変数とから構成される。
【0038】
ステップS304では、グループカラムに設定可能なユニーク値のリストを取得する。例えば
図5の例では「A」と「B」がユニーク値である。
【0039】
ステップS305では、ステップS304で取得したユニーク値リストの1番目のユニーク値を取得する。
【0040】
ステップS306では、ステップS303で取得した学習データのうち、グループカラムの値が処理対象のユニーク値(1回目の処理については、ステップS305で取得されたリストの1番目のユニーク値。2回目以降はステップS311で取得されたユニーク値)であるレコード群を取得する。
【0041】
ステップS307では、ステップS306で取得したレコード群のレコード数が、ステップS301で受け付けた最少レコード数を満たすかを判定する。
【0042】
最少レコード数を満たす場合(ステップS307:YES)は、処理をステップS308に移行する。
【0043】
満たさない場合(ステップS307:NO)は、処理をステップS310に移行する。
【0044】
ステップS308では、ステップS306で取得したレコード群を学習データとして、モデルの学習を行い、学習済みモデルを生成する。
【0045】
ステップS309では、ステップS308で生成された学習済みモデルを、処理対象のユニーク値に対応する学習済みモデルとして保存する。
【0046】
ステップS310では、ステップS304で取得したリストに含まれるユニーク値すべてに対して、ステップS306~S309の処理を実行したかを判定する。
【0047】
すべてのユニーク値に対して処理を実行した場合は、処理をステップS311に移行する。
【0048】
処理を実行していないユニーク値が残っている場合は、処理をステップS312に移行する。
【0049】
ステップS311では、ステップS303で取得した学習データの全レコードを用いて、学習済みモデルを生成する。そして、生成した学習済みモデルを、他のユニーク値ごとの学習済みモデルと同様に保存する。
【0050】
なお、本実施例においては、いかなる場合も全レコードを用いた学習済みモデルを生成する処理を実行するものとして説明したが、最少レコード数を満たさないユニーク値が存在するか判定し、存在すると判定された場合にのみ全レコードを用いた学習済みモデルを生成する処理を実行してもよい。
【0051】
ステップS312では、ステップS304で取得したリストにある次のユニーク値を取得する。そして、当該ユニーク値に対してステップS306以降の処理を実行する。
【0052】
以上の処理により、グループカラムの値毎の学習済みモデルを生成することができる。
【0053】
次に、
図4のフローチャート、
図6のイメージ図を用いて、推論時の処理について説明する。
【0054】
まず、
図6のイメージ図を用いて、推論時の処理の全体像を説明する。
【0055】
図6の新規レコード1、2で示すデータが推論対象のデータである。新規レコードは、説明変数とグループカラムから構成されるデータである。推論処理は、このデータを学習済みモデルに入れることで、目的変数を算出する処理である。
【0056】
例えば、新規レコード1については、グループカラムが「B」であるため、グループカラムが「B」のレコード群を用いた学習により生成された学習済みモデルBによって推論処理が行われる。推論処理により求められた「14」という値が、算出(予測)された目的変数である。
【0057】
このように、グループカラムの値に応じて適切な(当該値のレコード群を用いて学習した)学習済みモデルを用いて推論を行うことで、グループカラムの値を適切に考慮した推論結果を得ることが可能となる。
【0058】
次に、
図4のフローチャートを用いて、推論処理の内容を説明する。
【0059】
ステップS401では、予測対象のレコード(
図6における新規レコード)を取得する。
【0060】
ステップS402では、ステップS401で取得した予測対象レコードのグループカラムの値を取得する。(
図6における新規レコード1では「B」)。
【0061】
ステップS403では、ステップS402で取得したグループカラムの値に対応する学習済みモデルが存在するか(ステップS308で生成されS309で保存された学習済みモデルの中に存在するか)を判定する。
【0062】
存在する場合(ステップS403:YES)は、処理をステップS404に移行する。
【0063】
存在しない場合(ステップS403:NO)は、処理をステップS406に移行する。
【0064】
ステップS404では、ステップS402で取得したグループカラムの値に対応する学習済みモデルを読み込む。
【0065】
ステップS405では、ステップS404で読み込んだ学習済みモデルを用いて、ステップS401で取得したレコードに対する推論処理を実行する。
【0066】
ステップS406では、ステップS402で取得したグループカラムの値に対応する学習済みモデルが存在しない旨を通知する。
【0067】
ステップS407では、ステップS311で生成した、全レコードを用いて学習した学習済みモデルを読み込む。
【0068】
ステップS408では、ステップS407で読み込んだ学習済みモデルを用いて、ステップS401で取得したレコードに対する推論処理を実行する。
【0069】
以上の処理により、グループカラムの値に応じて適切な(当該値のレコード群を用いて学習した)学習済みモデルを用いて推論を行うことが可能となり、その結果、グループカラムの値を適切に考慮した推論結果を得ることが可能となる。
【0070】
また、レコード数が最少レコード数を満たさないグループカラムの値については、当該値のレコードだけで学習済みモデルを生成しても、学習データの数が少ないことから適切な推論が可能なモデルが生成できない。そのため、全レコードを用いて学習済みモデルを生成し、レコード数が最少レコード数を満たさないグループカラムの値の新規データについては、当該学習済みモデルにより推論を行うことで、推論処理が実行できないという事態を回避することが可能となる。
【0071】
図7は、学習最少レコード数やグループカラムの名称などの入力を受け付ける設定画面の一例である。701に示す入力欄が学習最少レコード数の入力を受け付ける入力欄である。702の入力欄はグループカラムとなるカラムの名称の設定を受け付ける入力欄である。
【0072】
以上、情報処理装置101において処理を実行する実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記録媒体等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【0073】
また、本発明におけるプログラムは、
図3、4に示すフローチャートの処理方法をコンピュータが実行可能なプログラムであり、本発明の記憶媒体は
図3、4の処理方法をコンピュータが実行可能なプログラムが記憶されている。
【0074】
以上のように、前述した実施形態の機能を実現するプログラムを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記録媒体に格納されたプログラムを読み出し、実行することによっても本発明の目的が達成されることは言うまでもない。
【0075】
この場合、記録媒体から読み出されたプログラム自体が本発明の新規な機能を実現することになり、そのプログラムを記録した記録媒体は本発明を構成することになる。
【0076】
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD-ROM、CD-R、DVD-ROM、磁気テープ、不揮発性のメモリカード、ROM、EEPROM、シリコンディスク等を用いることが出来る。
【0077】
また、コンピュータが読み出したプログラムを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0078】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0079】
また、本発明は、複数の機器から構成されるシステムに適用しても、ひとつの機器から成る装置に適用しても良い。また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのプログラムを格納した記録媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【0080】
さらに、本発明を達成するためのプログラムをネットワーク上のサーバ、データベース等から通信プログラムによりダウンロードして読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。なお、上述した各実施形態およびその変形例を組み合わせた構成も全て本発明に含まれるものである。
【符号の説明】
【0081】
101 情報処理装置
102 外部装置
110 ネットワーク