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

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

▶ 日新電機株式会社の特許一覧 ▶ 国立大学法人京都工芸繊維大学の特許一覧

<>
  • 特開-モデル生成装置およびモデル生成方法 図1
  • 特開-モデル生成装置およびモデル生成方法 図2
  • 特開-モデル生成装置およびモデル生成方法 図3
  • 特開-モデル生成装置およびモデル生成方法 図4
  • 特開-モデル生成装置およびモデル生成方法 図5
  • 特開-モデル生成装置およびモデル生成方法 図6
  • 特開-モデル生成装置およびモデル生成方法 図7
  • 特開-モデル生成装置およびモデル生成方法 図8
  • 特開-モデル生成装置およびモデル生成方法 図9
  • 特開-モデル生成装置およびモデル生成方法 図10
  • 特開-モデル生成装置およびモデル生成方法 図11
  • 特開-モデル生成装置およびモデル生成方法 図12
  • 特開-モデル生成装置およびモデル生成方法 図13
  • 特開-モデル生成装置およびモデル生成方法 図14
  • 特開-モデル生成装置およびモデル生成方法 図15
  • 特開-モデル生成装置およびモデル生成方法 図16
  • 特開-モデル生成装置およびモデル生成方法 図17
  • 特開-モデル生成装置およびモデル生成方法 図18
  • 特開-モデル生成装置およびモデル生成方法 図19
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024037024
(43)【公開日】2024-03-18
(54)【発明の名称】モデル生成装置およびモデル生成方法
(51)【国際特許分類】
   G06N 20/00 20190101AFI20240311BHJP
   G06F 30/10 20200101ALI20240311BHJP
   G06F 30/27 20200101ALI20240311BHJP
   G06F 16/9035 20190101ALI20240311BHJP
【FI】
G06N20/00
G06F30/10
G06F30/27
G06F16/9035
【審査請求】未請求
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2022141643
(22)【出願日】2022-09-06
(71)【出願人】
【識別番号】000003942
【氏名又は名称】日新電機株式会社
(71)【出願人】
【識別番号】504255685
【氏名又は名称】国立大学法人京都工芸繊維大学
(74)【代理人】
【識別番号】110000338
【氏名又は名称】弁理士法人 HARAKENZO WORLD PATENT & TRADEMARK
(72)【発明者】
【氏名】森本 充
(72)【発明者】
【氏名】竹原 輝巳
(72)【発明者】
【氏名】寶珍 輝尚
【テーマコード(参考)】
5B146
5B175
【Fターム(参考)】
5B146DC03
5B146DC04
5B146DL04
5B146DL08
5B175DA10
5B175HA01
(57)【要約】
【課題】図面検索を行うために適正な学習モデルを見出すまでに要する学習時間の延伸を抑制することができる。
【解決手段】学習装置(11)において、学習モデル生成部(113)は、(i)複数の前処理後内容パラメータセットのそれぞれを用いて、複数の学習モデルを生成し、(ii)上記複数の学習モデルのそれぞれの品質を示す複数の指標値を取得する。学習モデル生成部(113)は、所定の最適化手法に従って、上記複数の指標値に基づいてよりよい指標値を有する学習モデルを探索することにより、複数種類の前処理手法の内、よりよい指標値を有する当該学習モデルに対応する前処理手法を、適正前処理手法として選択する。
【選択図】図16
【特許請求の範囲】
【請求項1】
複数の検索対象図面の内からターゲット図面に対応する少なくとも1つの図面を検索するための学習モデルを生成するモデル生成装置であって、
上記複数の検索対象図面を解析することにより、上記複数の検索対象図面のそれぞれの記載内容に関連した複数の内容パラメータを含む内容パラメータセットを取得する取得部と、
所定の複数種類の前処理手法の組み合わせに従って、上記内容パラメータセットに含まれる上記複数の内容パラメータのそれぞれを前処理することにより、複数の前処理後内容パラメータをそれぞれ含む複数の前処理後内容パラメータセットを生成する前処理部と、
(i)機械学習アルゴリズムを適用することにより、上記複数の前処理後内容パラメータセットのそれぞれを用いて、複数の学習モデルを生成し、(ii)上記複数の前処理後内容パラメータセットのそれぞれを用いて上記複数の学習モデルのそれぞれを検証することにより上記複数の学習モデルのそれぞれの品質を示す複数の指標値を取得する学習部と、を備えており、
上記学習部は、所定の最適化手法に従って、上記複数の指標値に基づいてよりよい指標値を有する学習モデルを探索することにより、上記複数種類の前処理手法の内、よりよい指標値を有する当該学習モデルに対応する前処理手法を、適正前処理手法として選択する、モデル生成装置。
【請求項2】
上記学習部は、上記複数の前処理後内容パラメータセットおよび複数種類の機械学習アルゴリズムごとに、
上記複数種類の機械学習アルゴリズムのそれぞれにおいて設定される複数のハイパーパラメータ設定のそれぞれを用いて、上記複数の学習モデルを生成し、
上記所定の最適化手法に従って、上記複数の指標値に基づいてよりよい指標値を有する上記学習モデルを探索することにより、上記複数種類の前処理手法の内、よりよい指標値を有する上記学習モデルに対応する前処理手法を、上記適正前処理手法として選択する、請求項1に記載のモデル生成装置。
【請求項3】
上記学習部は、複数のハイパーパラメータ設定をそれぞれ設定した複数種類の機械学習アルゴリズムのそれぞれを、上記複数の前処理後内容パラメータセットのそれぞれに適用することにより、上記複数の学習モデルを生成する、請求項1に記載のモデル生成装置。
【請求項4】
上記最適化手法は、離散的な上記複数の前処理後内容パラメータに対して適用可能な最適化手法である、請求項1~3のいずれか1項に記載のモデル生成装置。
【請求項5】
上記最適化手法は、ネルダー・ミード法またはパウエル法である、請求項4に記載のモデル生成装置。
【請求項6】
複数の検索対象図面の内からターゲット図面に対応する少なくとも1つの図面を検索するための学習モデルを生成するモデル生成方法であって、
上記複数の検索対象図面を解析することにより、上記複数の検索対象図面のそれぞれの記載内容に関連した複数の内容パラメータを含む内容パラメータセットを取得する取得工程と、
所定の複数種類の前処理手法の組み合わせに従って、上記内容パラメータセットに含まれる上記複数の内容パラメータのそれぞれを前処理することにより、複数の前処理後内容パラメータをそれぞれ含む複数の前処理後内容パラメータセットを生成する前処理工程と、
(i)機械学習アルゴリズムを適用することにより、上記複数の前処理後内容パラメータセットのそれぞれを用いて、複数の学習モデルを生成し、(ii)上記複数の前処理後内容パラメータセットのそれぞれを用いて上記複数の学習モデルのそれぞれを検証することにより上記複数の学習モデルのそれぞれの品質を示す複数の指標値を取得する学習工程と、を含んでおり、
上記学習工程において、所定の最適化手法に従って、上記複数の指標値に基づいてよりよい指標値を有する学習モデルを探索することにより、上記複数種類の前処理手法の内、よりよい指標値を有する学習モデルに対応する前処理手法を、適正前処理手法として選択する、モデル生成方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の一態様は、図面検索を行うための学習モデルを生成するモデル生成装置に関する。
【背景技術】
【0002】
例えば、プラントエンジニアリング分野では、大量の図面(例:過去図面)の取り扱いが必要となる。このため、大量の図面の内から、所望の図面を効率的に検索するための技術が提案されている。
【0003】
一例として、特許文献1には、図面検索におけるユーザの利便性を高めることを目的とした技術が開示されている。具体的には、特許文献1の技術では、機械学習を利用して、図面検索を行うための学習モデルが生成される。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2021-12413号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
本発明の一態様は、図面検索を行うために適正な学習モデルを見出すまでに要する学習時間の延伸を抑制することを目的とする。
【課題を解決するための手段】
【0006】
上記の課題を解決するために、本発明の一態様に係るモデル生成装置は、複数の検索対象図面の内からターゲット図面に対応する少なくとも1つの図面を検索するための学習モデルを生成するモデル生成装置であって、上記複数の検索対象図面を解析することにより、上記複数の検索対象図面のそれぞれの記載内容に関連した複数の内容パラメータを含む内容パラメータセットを取得する取得部と、所定の複数種類の前処理手法の組み合わせに従って、上記内容パラメータセットに含まれる上記複数の内容パラメータのそれぞれを前処理することにより、複数の前処理後内容パラメータをそれぞれ含む複数の前処理後内容パラメータセットを生成する前処理部と、(i)機械学習アルゴリズムを適用することにより、上記複数の前処理後内容パラメータセットのそれぞれを用いて、複数の学習モデルを生成し、(ii)上記複数の前処理後内容パラメータセットのそれぞれを用いて上記複数の学習モデルのそれぞれを検証することにより上記複数の学習モデルのそれぞれの品質を示す複数の指標値を取得する学習部と、を備えており、上記学習部は、所定の最適化手法に従って、上記複数の指標値に基づいてよりよい指標値を有する学習モデルを探索することにより、上記複数種類の前処理手法の内、よりよい指標値を有する当該学習モデルに対応する前処理手法を、適正前処理手法として選択する。
【0007】
また、本発明の一態様に係るモデル生成方法は、複数の検索対象図面の内からターゲット図面に対応する少なくとも1つの図面を検索するための学習モデルを生成するモデル生成方法であって、上記複数の検索対象図面を解析することにより、上記複数の検索対象図面のそれぞれの記載内容に関連した複数の内容パラメータを含む内容パラメータセットを取得する取得工程と、所定の複数種類の前処理手法の組み合わせに従って、上記内容パラメータセットに含まれる上記複数の内容パラメータのそれぞれを前処理することにより、複数の前処理後内容パラメータをそれぞれ含む複数の前処理後内容パラメータセットを生成する前処理工程と、(i)機械学習アルゴリズムを適用することにより、上記複数の前処理後内容パラメータセットのそれぞれを用いて、複数の学習モデルを生成し、(ii)上記複数の前処理後内容パラメータセットのそれぞれを用いて上記複数の学習モデルのそれぞれを検証することにより上記複数の学習モデルのそれぞれの品質を示す複数の指標値を取得する学習工程と、を含んでおり、上記学習工程において、所定の最適化手法に従って、上記複数の指標値に基づいてよりよい指標値を有する学習モデルを探索することにより、上記複数種類の前処理手法の内、よりよい指標値を有する学習モデルに対応する前処理手法を、適正前処理手法として選択する、
【発明の効果】
【0008】
本発明の一態様によれば、図面検索を行うために適正な学習モデルを見出すまでに要する学習時間の延伸を抑制することができる。
【図面の簡単な説明】
【0009】
図1】参考形態における情報処理システムの要部の構成を示すブロック図である。
図2】参考形態における過去物件・図面対応テーブルの一例を示す図である。
図3】参考形態における過去図面内容パラメータテーブルの一例を示す図である。
図4】参考形態における、初期状態における内容パラメータ設定テーブルの一例を示す図である。
図5】参考形態における、各データセットにおける前処理後内容パラメータ数の一例を示す図である。
図6】参考形態における、データセット1のデータ構造を模式的に例示する図である。
図7】参考形態における、正規化用データ表および標準化用データ表の一例を示す図である。
図8】参考形態における、データセット・前処理手法対応テーブルの一例を示す図である。
図9】参考形態において、学習用前処理部によって生成された複数のデータセットの内の一部を例示する図である。
図10】参考形態における、評価結果テーブルの一例を示す図である。
図11】参考形態における、更新後の内容パラメータ設定テーブルの一例を示す図である。
図12】参考形態における、新規図面内容パラメータテーブルの一例を示す図である。
図13】参考形態における、前処理後新規図面内容パラメータテーブルの一例を示す図である。
図14】参考形態における、複数の生値・ラベル値変換テーブルの内の一部を例示する図である。
図15】参考形態における、生値・ラベル値変換統合テーブルの一例を表す。
図16】実施形態1における情報処理システムの要部の構成を示すブロック図である。
図17】学習モデル生成部の主要な処理の流れを概略的に示すフローチャートである。
図18】ネルダー・ミード法の概念を概略的に説明するための図である。
図19】最適化を実行する処理の流れを示すフローチャートである。
【発明を実施するための形態】
【0010】
〔参考形態〕
実施形態1の情報処理システム100の説明に先立ち、参考形態としての情報処理システム100sについて述べる。説明の便宜上、参考形態にて説明した構成要素(コンポーネント)と同じ機能を有する構成要素については、以降の各実施形態では、同じ符号を付記し、その説明を繰り返さない。また、簡潔化のため、公知技術と同様の事項についても、説明を適宜省略する。
【0011】
本明細書において以下に述べる各数値は、単なる一例であることに留意されたい。本明細書では、2つの数AおよびBについての「A~B」という記載は、特に明示されない限り、「A以上かつB以下」を意味するものとする。
【0012】
(情報処理システム100sの概要)
図1は、情報処理システム100sの要部の構成を示すブロック図である。情報処理システム100sは、情報処理装置1s、過去物件図面DB(Database)91、および新規物件図面DB92を備える。
【0013】
情報処理装置1sは、制御装置10s、入力部71、表示部72、および記憶部80を備える。制御装置10sは、学習装置11sおよび図面検索装置12を備える。本明細書の「物件」とは、例えば、プラントエンジニアリングにおける「サイト」を意味する。
【0014】
情報処理装置1sは、過去物件図面DB91および新規物件図面DB92と通信可能に接続されていればよい。このため、図1の例とは異なり、情報処理装置1sの内部に、過去物件図面DB91および新規物件図面DB92の少なくとも一方が設けられていてもよい。
【0015】
情報処理装置1s(より具体的には、制御装置10s)による検索対象となる図面(検索対象図面)には、例えば、仕様図面、設計図面、および製作図面が含まれる。また、検索対象図面には、仕様書、設計書、および、見積書が含まれていてもよい。このように、検索対象図面は、「図面」という名称が含まれている書面に限定されない。一例として、検索対象図面には、プラントエンジニアリング分野におけるプロジェクトの計画に関する任意の種類の書面が含まれる。
【0016】
但し、当業者であれば明らかである通り、本発明の一態様に係る情報処理装置は、プラントエンジニアリング以外の分野における図面の検索についても適用可能である。本発明の一態様に係る図面は、上記情報処理装置によって内容パラメータを取得することが可能な図面であればよい。
【0017】
制御装置10sは、情報処理装置1sの各部を統括的に制御する。記憶部80は、制御装置10sの処理に用いられる各種のデータおよびプログラムを格納する。以下に述べるように、制御装置10sは、機械学習を利用して、複数の検索対象図面(例:過去図面a1~MN)から、ターゲット図面(例:図面ND)に対応する少なくとも1つの図面を検索する。
【0018】
入力部71は、ユーザの操作(ユーザ操作)を受け付ける。表示部72は、各種のデータを表示する。一例として、表示部72には、制御装置10sによる検索結果を示すデータが表示されてよい。なお、入力部71と表示部72とは、一体として設けられてもよい。例えば、タッチパネルを用いることにより、入力部71と表示部72とを一体化できる。
【0019】
(過去物件図面DB91)
過去物件図面DB91には、過去の各物件(既設の各物件)に関する各図面(厳密には、図面データ)が格納されている。以下の説明では、「図面A(ある図面)の図面データ」を、単に「図面A」と適宜略称する。また、「図面Aの図面番号」を、単に「図面A」と適宜略称する。
【0020】
参考形態では、過去物件図面DB91には、複数のM個の異なる物件のそれぞれについての各図面が格納されている。Mは、1以上の整数である。以下、j番目の物件を、「物件j」とも称する。jは、1以上かつM以下の整数である。
【0021】
また、過去物件図面DB91には、物件1~Mのそれぞれについて、N個(N種類)の異なる図面が格納されている。Nは、1以上の整数である。以下、物件jにおけるi番目の図面を、「図面(i,j)」とも称する。また、各物件におけるi番目(i種類目)の図面を、総称的に図面iとも称する。iは、1以上かつN以下の整数である。
【0022】
以上のように、過去物件図面DB91には、合計でT個の図面が格納されている。参考形態の例では、T=M×Nである。Tは、2以上の整数であるものとする。つまり、MおよびNの少なくとも1つは、1以上であるものとする。
【0023】
具体的には、過去物件図面DB91では、特許文献1と同様に、図2に示す過去物件・図面対応テーブルTB1の形態で、各種類の図面番号が物件番号毎にリスト化されている。以下、過去物件・図面対応テーブルTB1を、「TB1」とも略記する。その他の要素についても、適宜同様に略記する。TB1のi行j列目のセルは、図面(i,j)の図面番号を示す。
【0024】
図2の例では、便宜上、物件1~3をそれぞれ、物件A~Cとも表記する。図2の例では、1種類目の図面(図面1)は外形図であり、2種類目の図面(図面2)は組立図であり、3種類目の図面(図面3)は基礎図である。また、N種類目の図面(図面N)は構成図である。
【0025】
以下では、簡単のため、図2の例における図面(1,1)~(N,1)(すなわち、物件AにおけるN種類のそれぞれの図面)を、図面a1~aNとも表記する。例えば、図2の例における図面a1~aNはそれぞれ、物件Aの外形図~構成図を指す。その他の物件における各図面についても、同様に表記する。
【0026】
以上のように、過去物件図面DB91には、図面a1から図面MNまでの、合計T個の図面が格納されている。以下、図面a1~MNを総称的に、過去図面とも称する。過去図面は、検索対象図面の一例である。このため、図面a1~MNは、検索対象図面群とも称される。
【0027】
また、本明細書では、複数の過去図面(検索対象図面)のうちの任意の1つの図面を、候補図面とも称する。一例として、図面a1(物件Aの外形図)を候補図面とした場合の、各処理について主に例示する。その他の図面に対する処理については、適宜説明を省略するが、図面a1の場合と同様である。
【0028】
(新規物件図面DB92)
新規物件図面DB92には、新規物件(例:これから建設が行われる予定である、少なくとも1つの物件)に関する各図面(以下、総称的に新規図面とも称する)が、新規物件データセットとして格納されている。本明細書では、新規物件データセットに含まれる1つの新規物件(物件T)について述べる。
【0029】
一例として、新規物件図面DB92には、物件Tについて、過去物件と同種類のN個の異なる図面(外形図~構成図)が格納されている。本明細書では、物件Tの外形図を、新規図面の一例として例示する。以下、物件Tの外形図を、図面NDと称する。参考形態における図面NDは、特許文献1と同様であるものとする。
【0030】
(学習装置11s)
学習装置11sは、過去図面データ取得部111、過去図面内容パラメータ取得部112(候補図面内容パラメータ取得部,検索対象図面内容パラメータ取得部,取得部)、学習用前処理部114(前処理部)、および学習モデル生成部113sを備える。学習装置11sは、図面a1~MNに基づき、図面検索装置12sによる図面検索のための学習モデルを生成する。このことから、学習装置11sは、モデル生成装置と称されてもよい。以下、学習装置11sの処理の流れの一例について述べる。
【0031】
(候補図面の取得)
過去物件図面DB91では、TB1に従って、図面a1~MNが、図面種類別に予めソートされている。従って、例えば、過去図面データ取得部111は、「図面a1→b1→…→M1」の順に、各外形図を過去物件図面DB91から取得する。続いて、過去図面データ取得部111は、「図面a2→b2→…→M2」の順に、各組立図を過去物件図面DB91から取得する。そして、最終的には、過去図面データ取得部111は、「図面aN→bN→…→MN」の順に、各構成図を過去物件図面DB91から取得する。参考形態におけるこれらの図面a1~MNは、特許文献1と同様であるものとする。
【0032】
上記の例の場合、過去図面データ取得部111は、はじめにTB1の1行1列目のセルを参照する。そして、過去図面データ取得部111は、上記セルに対応する図面(1,1)、すなわち図面a1を、過去物件図面DB91から取得する。過去図面データ取得部111は、取得した図面a1を、過去図面内容パラメータ取得部112に供給する。
【0033】
(候補図面に対応する内容パラメータセットの取得)
過去図面内容パラメータ取得部112は、特許文献1と同様にして、図面a1を解析することにより(より詳細には、OCR処理後の図面a1に対して、以下に述べる第k特定文字列に着目した構文解析を行うことにより)、当該図面a1に対応する内容パラメータセットを取得する。内容パラメータセットは、第k特定文字列に対応付けられた第k内容パラメータ(以下、Ak)を示すデータセットである。また、第1~第L内容パラメータを総称的に、内容パラメータとも称する。
【0034】
本明細書では、各図面について予め設定された特定の文字列(ストリング)を、特定文字列と称する。参考形態では、L個(Lは2以上の整数)の異なる第k特定文字列が、予め設定されているものとする。以下では、k番目の特定文字列を、第k特定文字列と称する。kは、1以上かつL以下の整数である。以下の説明では、第1特定文字列が「電圧値」、第2特定文字列が「電流値」、第3特定文字列が「OR」、第L特定文字列が「開」として設定されている場合について、例示する。
【0035】
内容パラメータは、図面の記載内容(具体的には、特定文字列に係る記載内容)に関連付けられた量である。従って、内容パラメータは、当該記載内容を数値化(定量化)したデータの1つであると言える。このため、内容パラメータは、図面の記載内容を示す指標として用いられる。
【0036】
なお、後述するターゲット図面内容パラメータとの区別のため、検索対象図面(過去図面)の内容パラメータを、検索対象図面内容パラメータとも称する。また、検索対象図面の第k内容パラメータを、検索対象図面第k内容パラメータとも称する。但し、以下の説明では、特に明示されない限り、内容パラメータは、過去図面内容パラメータを指すものとする。同様に、特に明示されない限り、内容パラメータセットは、過去図面内容パラメータセットを指すものとする。
【0037】
本明細書では、図面(i,j)のAkを、Ak(i,j)とも表記する。上述の通り、過去図面内容パラメータ取得部112は、図面(i,j)に対する解析結果(より具体的には、図面(i,j)における特定文字列の検出結果)に基づき、Ak(i,j)を設定する。
【0038】
以上のように、過去図面内容パラメータ取得部112は、図面a1について、A1~ALを設定する。以上のように、過去図面内容パラメータ取得部112は、候補図面を解析することにより、当該候補図面の内容パラメータを取得する。このことから、過去図面内容パラメータ取得部112は、候補図面内容パラメータ取得部とも呼称される。
【0039】
また、過去図面内容パラメータ取得部112は、その他の過去図面についても、同様の処理を行う。すなわち、過去図面内容パラメータ取得部112は、図面a1~MNのそれぞれに対し、A1~ALを設定する。
【0040】
その後、過去図面内容パラメータ取得部112は、図面a1~MNのそれぞれのA1~AL、すなわち、A1(1,1)~AL(M,N)、を示す過去図面内容パラメータテーブルTB2を生成する。
【0041】
TB2には、過去図面内容パラメータテーブル内第iサブテーブルTB2-iが含まれている。図3には、一例として、TB2-1が示されている。TB2-iは、図面iのそれぞれのA1~ALを示すテーブルである。TB2-1には、図面a1~M1(物件A~Mの外形図)のそれぞれのA1~ALが示されている。TB2は、TB2-1~TB2-Nという、N個のサブテーブルのセットによって構成されている。このように、参考形態では、図面種別ごとにサブテーブルが作成される。参考形態におけるこれらのサブテーブルは、特許文献1と同様であるものとする。
【0042】
TB2には、複数の過去図面のそれぞれ(例:図面a1)の番号(識別子の一例)と、当該複数の過去図面のそれぞれのA1~ALとの対応関係が示されている。そこで、学習モデル生成部113sは、TB2を教師データとして取得する。一例として、学習モデル生成部113sは、当該教師データを用いた多項ロジスティック回帰を行うことにより、学習モデルを生成してよい。但し、後述の説明からも明らかである通り、本発明の一態様に係る機械学習アルゴリズムは、この例に限定されず、公知のその他のアルゴリズムが適用されてよい。なお、機械学習における正解データとしては、TB2において示されている各過去図面の番号(識別子)が用いられる。
【0043】
参考形態では、過去図面内容パラメータ取得部112は、第k内容パラメータを取得するとともに、当該第k内容パラメータの変数種類を示す情報(第k内容パラメータ変数種類情報)をさらに取得する。第k内容パラメータ変数種類情報とは、第k内容パラメータの変数種類(データ種類)を示す情報である。具体的には、第k内容パラメータ変数種類情報とは、第k内容パラメータが質的変数(以下、VLと表記)または量的変数(以下、VNと表記)のいずれであるかを示す情報である。以下、第1~第k内容パラメータ変数種類情報を総称的に、内容パラメータ変数種類情報と称する。
【0044】
一例として、過去図面内容パラメータ取得部112は、上述の構文解析の結果に基づいて、内容パラメータ変数種類情報を取得してよい。例えば、上述の通り、過去図面内容パラメータ取得部112は、構文解析の結果、第1特定文字列「電圧値」に後続する文字列「90V」に含まれる数値「90」が、電圧値の大きさであると判定する。この場合、過去図面内容パラメータ取得部112は、第1内容パラメータはVNであると判定する。同様に、過去図面内容パラメータ取得部112は、第2内容パラメータはVNであると判定する。
【0045】
また、過去図面内容パラメータ取得部112は、構文解析の結果、第3特定文字列「OR」は、量的変数に対応する文字が後続していない旨を判定する。この場合、過去図面内容パラメータ取得部112は、第3内容パラメータはVLであると判定する。同様に、過去図面内容パラメータ取得部112は、第L内容パラメータはVLであると判定する。
【0046】
(学習用前処理部114における処理の一例)
学習用前処理部114は、過去図面内容パラメータ取得部112から、図面a1~MNに対応する内容パラメータセット(図面a1~MNのそれぞれの第1~第L内容パラメータ)、および、内容パラメータ変数種類情報を取得する。そして、学習用前処理部114は、取得した内容パラメータ変数種類情報に応じて、内容パラメータ設定テーブルTB3を生成する。
【0047】
以下の説明では、図面a1~M1(外形図)の内容パラメータセット(図面a1~M1のそれぞれの第1~第L内容パラメータ)に基づく各処理について主に述べる。従って、以下に述べる各図におけるテーブルおよびデータは、外形図の内容パラメータセットに基づいて生成されている。これらのテーブルおよびデータは、図2に示されるその他の種類の図面(例:組立図、基礎図、および構成図)についても、外形図に関する以下の説明と同様の処理の流れによって生成されることに留意されたい。このように、参考形態では、これらのテーブルおよびデータは、図2に示されている図面の種類毎に生成される。
【0048】
図4には、初期状態におけるTB3の一例が示されている。図4に示す通り、TB3は、(i)第1~第L内容パラメータのそれぞれの変数種類(データ種類)と、(ii)当該第1~第L内容パラメータのそれぞれに適用すべき前処理手法と、の対応関係を示す表である。学習用前処理部114は、取得した内容パラメータ変数種類情報を、TB3の「変数」の項目に記録する。なお、第1~第L内容パラメータのそれぞれに適用すべき前処理手法は、現段階では未決定である。このため、初期状態のTB3では、「前処理手法」の項目は全てブランク項目として設定されている。本明細書では、初期状態のTB3を、TB3initと称する。
【0049】
続いて、学習用前処理部114は、第k内容パラメータ変数種類情報に応じて、第k内容パラメータに複数種類の前処理手法を適用する。具体的には、参考形態では、学習用前処理部114は、第k内容パラメータがVLである場合には、第kパラメータに対し、以下の(i)~(iv)、
(i)生値(Raw値)をそのまま用いる処理(恒等処理)(以下、[R]と表記);
(ii)ワンホットエンコーディング(One hot Encoding)(以下、[O]と表記);
(iii)正規化(Normalization)(以下、[N]と表記);
(iiii)標準化(Standardization)(以下、[S]と表記);
という4種類の前処理手法を適用する。
【0050】
なお、第k内容パラメータがVLである場合には、当該第k内容パラメータは、第k特定文字列が過去図面内容パラメータ取得部112によってラベルエンコーディング(Label Encoding)(以下、[L]と表記)されることによって導出された値であると理解することもできる。このため、第k内容パラメータがVLである場合には、[R]は[L]に読み替えることができる。このように、第k内容パラメータがVLである場合には、[R]と[L]とは、等価な前処理手法である。なお、前処理手法[L]の一例については、後述する。
【0051】
他方、学習用前処理部114は、第k内容パラメータがVNである場合には、第kパラメータに対し、以下の(i)~(v)、
(i)[R];
(ii)[L];
(iii)[O];
(iv)[N];
(v)[S];
という5種類の前処理手法を適用する。但し、当業者であれば明らかである通り、本発明の一態様に係る前処理手法は、これらの例に限定されない。本発明の一態様に係る前処理手法は、VLまたはVNに適用可能な任意の前処理手法であってよい。
【0052】
以上の通り、学習用前処理部114は、内容パラメータセットに含まれる各内容パラメータに対し、第k内容パラメータ変数種類情報に応じた複数種類の前処理手法を適用することにより、当該内容パラメータセットを拡張(水増し)(data augmentation)する。以下、内容パラメータセットに含まれているVLおよびVNの個数を、FLおよびFNとそれぞれ表記する。
【0053】
上記の説明から明らかである通り、参考形態の例では、内容パラメータセットに対する前処理のパターンの組み合わせの総数は、4FL×5FN通りである。従って、学習用前処理部114は、1つの内容パラメータセットを、4FL×5FN個の内容パラメータセットへと拡張する。以下、当該4FL×5FN個の内容パラメータセットを、総称的に拡張後内容パラメータセットと称する。そして、当該4FL×5FN個の内容パラメータセットのそれぞれを、データセット1、データセット2、…、データセット4FL×5FNと称する。拡張後内容パラメータセットは、前処理後内容パラメータセットと称されてもよい。なお、例えば、データセット1は、データセットNo.1と称されてもよい。
【0054】
なお、過去図面内容パラメータセットは、検索対象図面内容パラメータセットと称されてもよい。従って、拡張後内容パラメータセットは、過去図面拡張後内容パラメータセット(あるいは、検索対象図面拡張後内容パラメータセット)と称されてもよい。同様に、前処理後内容パラメータセットは、前処理後過去図面内容パラメータセット(あるいは、前処理後検索対象図面内容パラメータセット)と称されてもよい。なお、前処理後内容パラメータセットに含まれる各データは、前処理後内容パラメータ(より詳細には、前処理後検索対象図面内容パラメータ)と称されてもよい。
【0055】
図5には、各データセットにおける前処理後内容パラメータの数(以下、前処理後内容パラメータ数と称する)の一例が示されている。1つのデータセット(例:データセット1)における前処理後内容パラメータ数は、同データセットに含まれるデータの数とも表現できる。従って、例えば、データセット1における前処理後内容パラメータ数は、データセット1の次元数(要素数)と称されてもよい。以下では、前処理後の第k内容パラメータを、前処理後第k内容パラメータと称する。
【0056】
以下に述べる図6からも明らかである通り、前処理後内容パラメータ数は、内容パラメータセットに含まれる各内容パラメータに対して適用される前処理手法に応じて変化しうる。例えば、より多くの内容パラメータに対して[O]が適用されるほど、前処理後内容パラメータ数が増加する傾向がある(後述の図8も参照)。
【0057】
図6は、データセット1のデータ構造を模式的に例示する図である。図6の例におけるデータセット1は、(i)第1内容パラメータに対して[S]が、(ii)第2内容パラメータに対して[S]が、(iii)第3内容パラメータに対して[O]が、(iv)第L内容パラメータに対して[L]が、それぞれ施されることにより、生成されたデータ構造(例:データフレーム)である(後述の図8も参照)。
【0058】
図6の例では、第3内容パラメータ(第3特定文字列「OR」に対応する内容パラメータ)がワンホットエンコーディングされることにより、「OR_0」、「OR_1」、「OR_2」、および「OR_3」という、当該第3内容パラメータに対応する4つの前処理後内容パラメータが生成されている。
【0059】
説明の便宜上の一例として、内容パラメータセットに含まれる第3内容パラメータ(A3)の最小値が0であり、最大値が3である場合を考える。すなわち、内容パラメータセットにおいて、A3が0から3までの4通りの離散値をとっている場合を考える。この場合、A3のそれぞれの値は、4次元のワンホットベクトル(より具体的には、4ビットのワンホットベクトル)によって表現可能である。
【0060】
例えば、A3=0である場合、
OR_0=(1,0,0,0);
OR_1=(0,0,0,0);
OR_2=(0,0,0,0);
OR_3=(0,0,0,0);
である。
【0061】
また、A3=1である場合、
OR_0=(0,0,0,0);
OR_1=(0,1,0,0);
OR_2=(0,0,0,0);
OR_3=(0,0,0,0);
である。
【0062】
また、A3=2である場合、
OR_0=(0,0,0,0);
OR_1=(0,0,0,0);
OR_2=(0,0,1,0);
OR_3=(0,0,0,0);
である。
【0063】
また、A3=3である場合、
OR_0=(0,0,0,0);
OR_1=(0,0,0,0);
OR_2=(0,0,0,0);
OR_3=(0,0,0,1);
である。以上の通り、A3=i(この説明におけるiは、0から3までの任意の自然数)であることは、i番目の要素のみに成分「1」を有するワンホットベクトルOR_iによって表現される。
【0064】
続いて、前処理手法[N]の一例について説明する。以下では、学習用前処理部114が、第k内容パラメータ(Ak)を正規化する場合を例示する。まず、学習用前処理部114は、内容パラメータセットから、Akの最大値(Akmax)および最小値(Akmin)を取得する。
【0065】
そして、学習用前処理部114は、
Ak_Normalized=(Ak-Akmin)/(Akmax-Akmin)
…(1)
の通り、Ak_Normalizedを算出する。Ak_Normalizedは、正規化後第k内容パラメータ(より詳細には、正規化後過去図面第k内容パラメータ)と称される。また、正規化後第1~第L内容パラメータを総称的に、正規化後内容パラメータ(より詳細には、正規化後過去図面内容パラメータ)と称する。正規化後内容パラメータは、前処理後内容パラメータの一例である。
【0066】
以上の通り、学習用前処理部114は、式(1)に従って、AkをAk_Normalizedへと正規化する。正規化は、Min-Maxスケーリングとも称される。式(1)から理解される通り、[N]によって生成されたデータセットでは、正規化後内容パラメータの最小値は0であり、最大値は1である。
【0067】
さらに、前処理手法[S]の一例について説明する。以下では、学習用前処理部114が、Akを標準化する場合を例示する。まず、学習用前処理部114は、内容パラメータセットから、Akの平均値(Akmean)および標準偏差(Aksd)を導出する。
【0068】
続いて、学習用前処理部114は、
Ak_Standardized=(Ak-Akmean)/Aksd …(2)の通り、Ak_Standardizedを算出する。Ak_Standardizedは、標準化後第k内容パラメータ(より詳細には、標準化後過去図面第k内容パラメータ)と称される。また、標準化後第1~第L内容パラメータを総称的に、標準化後内容パラメータ(より詳細には、標準化後過去図面内容パラメータ)と称する。標準化後内容パラメータは、前処理後内容パラメータの一例である。
【0069】
以上の通り、学習用前処理部114は、式(2)に従って、AkをAk_Standardizedへと標準化する。式(2)から理解される通り、[S]によって生成されたデータセットでは、標準化後内容パラメータの平均値は0であり、標準偏差は1である。
【0070】
学習用前処理部114は、[S]の過程にて取得したAkmaxおよびAkminを記録した表(標準化用データ表)を生成してもよい。同様に、学習用前処理部114は、[N]の過程にて取得したAkmeanおよびAksdを記録した表(正規化用データ表)を生成してもよい。
【0071】
図7の正規化用データ表700Aおよび標準化用データ表700Bはそれぞれ、参考形態における正規化用データ表および標準化用データ表の一例である。具体的には、正規化用データ表700Aおよび標準化用データ表700Bはそれぞれ、データセット1の生成に伴って生成された表である。
【0072】
上述の説明から理解される通り、[N]が施されない第k内容パラメータについては、AkmaxおよびAkminがそもそも取得されない。このため、正規化用データ表700Aでは、[N]が施されない第k内容パラメータについては、AkmaxおよびAkminに、ダミー値(例:0)が割り当てられる。
【0073】
上述の例では、データセット1における前処理後第1~第3内容パラメータおよび前処理後第L内容パラメータはいずれも、[N]以外の前処理手法によって導出されている。このため、図7に示される通り、正規化用データ表700Aでは、前処理後第1~第3内容パラメータおよび前処理後第N内容パラメータについては、AkmaxおよびAkminとして、ダミー値である0が記録される。
【0074】
参考形態では、学習用前処理部114によって、A1mean=71.9、A1sd=10.5、A2mean=2.4、A2sd=0.6が取得された場合を例示する。この場合、学習用前処理部114は、標準化用データ表700Bの第1内容パラメータおよび第2内容パラメータのそれぞれの項目に、これらの値を記録する。
【0075】
なお、[S]が施されない第k内容パラメータについては、AkmeanおよびAksdがそもそも取得されない。このため、標準化用データ表700Bでは、[S]が施されない第k内容パラメータについては、AkmeanおよびAksdに、ダミー値(例:0)が割り当てられる。図7の例では、前処理後第3内容パラメータおよび前処理第L内容パラメータはいずれも、[S]以外の前処理手法によって導出されている。このため、標準化用データ表700Bでは、前処理後第3内容パラメータおよび前処理第L内容パラメータについては、AkmaxおよびAkminとして、ダミー値である0が記録される。
【0076】
学習用前処理部114は、各データセットと各前処理手法との対応関係を示すテーブル(データセット・前処理手法対応テーブル)を生成してよい。図8のテーブルTB4は、データセット・前処理手法対応テーブルの一例である。なお、図8の例において、データセット1に対応する前処理手法にハッチングが付されている趣旨については後述する。
【0077】
図9には、学習用前処理部114によって生成された複数のデータセットの内の一部が例示されている。図9において、符号900Aはデータセット1を、符号900Bはデータセット2を、符号900Cはデータセット4FL×5FNを、それぞれ表す。上述の説明から理解される通り、データセット1における前処理後第1~第2内容パラメータはそれぞれ、標準化後第1~第2内容パラメータである。標準化後第1内容パラメータおよび標準化後第2内容パラメータはそれぞれ、上述の式(2)に従って第1内容パラメータおよび第2内容パラメータが標準化された値である。
【0078】
上述の図8から理解される通り、図9の例におけるデータセット2は、データセット1とは異なり、第3内容パラメータに対して[L]が適用されることにより生成されている。その他の内容パラメータに対する前処理手法については、データセット1の例と同様である。
【0079】
以上の通り、データセット2では、データセット1とは異なり、第3内容パラメータに対して[O]が適用されていない。それゆえ、データセット2の次元数は、データセット1の次元数よりも小さい。具体的には、上述の図5に示す通り、データセット1の次元数は50であり、データセット2の次元数は28である。
【0080】
また、上述の図8から理解される通り、図9の例におけるデータセット4FL×5FNは、データセット1・2とは異なり、全ての内容パラメータに対して[O]が適用されることにより生成されている。このため、データセット4FL×5FNの次元数は、データセット1・2の次元数に比べて大きい。具体的には、図5に示す通り、データセット4FL×5FNの次元数は151である。
【0081】
(学習モデル生成部113sにおける学習フェーズ)
学習モデル生成部113sにおける処理は、学習フェーズと検証フェーズとに大別できる。まず、学習フェーズについて述べる。学習モデル生成部113sは、学習用前処理部114から拡張後内容パラメータセット(データセット1~データセット4FL×5FN)を取得する。そして、学習モデル生成部113sは、データセット1~データセット4FL×5FNのそれぞれを、訓練データと検証データとに分割する。
【0082】
学習モデル生成部113sは、データセット1~4FL×5FNの内の任意の1つのデータセット(便宜上、注目データセットと称する)に対し、所定の複数種類の機械学習アルゴリズムのそれぞれを適用することによって、複数の学習モデルを生成する。具体的には、学習モデル生成部113sは、所定の複数種類の機械学習アルゴリズムのそれぞれを適用することによって、注目データセットの訓練データを用いて、複数の学習モデルを生成する。
【0083】
一例として、学習モデル生成部113sは、所定の複数種類の機械学習アルゴリズムのそれぞれを適用することによって、データセット1の訓練データを用いて、データセット1に対応する複数の学習モデルを生成する。このように、学習モデル生成部113sは、注目データセットに対応する複数の学習モデルを生成する。
【0084】
参考形態の例では、複数種類の機械学習アルゴリズムには、勾配ベースの機械学習アルゴリズムと距離ベースの機械学習アルゴリズムとが含まれる。勾配ベースの機械学習アルゴリズムとは、勾配降下法を利用した機械学習アルゴリズムである。勾配ベースの機械学習アルゴリズムの具体例としては、DT(Decision Tree,決定木)、LR(Logistic Regression,ロジスティック回帰)、およびNN(Neural Network,ニューラルネットワーク)を挙げることができる。上述の多項ロジスティック回帰は、RSの一例である。
【0085】
本発明の一態様に係るDTとは、より厳密には、GBDT(Gradient Boosting DT,勾配ブースティング決定木)を意味する。従って、本発明の一態様に係るDTの例としては、XGBoost(eXtreme Gradient Boosting)およびLightGBM(Light Gradient Boosting Machine)を挙げることができる。
【0086】
距離ベースの機械学習アルゴリズムとは、各入力データに含まれる1つ以上のパラメータの分布を示す距離空間における各入力データ間の距離に基づいて、各入力データを評価(例:分類)する機械学習アルゴリズムである。距離ベースの機械学習アルゴリズムの具体例としては、SVM(Support Vector Machine,サポートベクターマシン)および重回帰を挙げることができる。
【0087】
以上の通り、学習モデル生成部113sは、データセット1~4FL×5FNのそれぞれに対して各機械学習アルゴリズムを網羅的に(総当たりで)適用することにより、複数の学習モデルを生成してよい。これにより、以下に述べる検証フェーズにおいて評価(検証)の対象となる学習モデルを、十分な数だけ生成できる。
【0088】
加えて、学習モデル生成部113sは、ある機械学習アルゴリズムの各ハイパーパラメータセットを変更してもよい。この場合、学習モデル生成部113sは、変更後のハイパーパラメータセットを用いて、同機械学習アルゴリズムを適用して学習モデルをさらに生成する。このように、学習モデル生成部113sは、ハイパーパラメータセットをも網羅的に適用することにより、複数の学習モデルを生成してもよい。これにより、さらに多くの学習モデルを生成できる(後述の図10を参照)。
【0089】
(学習モデル生成部113sにおける検証フェーズ)
続いて、検証フェーズについて述べる。学習モデル生成部113sは、学習フェーズにおいて生成された複数の学習モデルのそれぞれの品質を、データセット1~4FL×5FNのそれぞれを用いて(より具体的には、データセット1~4FL×5FNのそれぞれの検証データを用いて)評価する。
【0090】
一例として、注目データセットとしてデータセットjを考える。jは、後述するTB5(図10を参照)の列番号を示す添字である。学習モデル生成部113sは、データセットjに対応する複数の学習モデルのそれぞれについて、データセットjの検証データを用いて、当該複数の学習モデルのそれぞれの予測精度(判定精度)を示す指標値を取得する。例えば、学習モデル生成部113sは、後述するモデル(i,j)にデータセットjの検証データを入力することにより、上記指標値をモデル(i,j)に出力(導出)させる。上記指標値は、モデル(i,j)の品質を示す指標値とも表現できる。
【0091】
参考形態では、学習モデル生成部113sは、上記指標値として、Accuracy(正解率)を取得する。このことから、参考形態における予測精度は、検索精度(より詳細には、過去図面の検索精度)と称されてもよい(図10を参照)。但し、当業者であれば明らかである通り、本発明の一態様に係る指標値は上記の例に限定されず、機械学習分野における公知のその他の指標値が用いられてもよい。従って、例えば、学習モデル生成部113sは、指標値として、Precision(適合率)またはRecall(再現率)を取得してもよい。あるいは、学習モデル生成部113sは、指標値として、Fスコア(F-score)を取得してもよい。周知の通り、Fスコアは、PrecisionとRecallとの調和平均である。
【0092】
学習モデル生成部113sは、取得した複数の指標値に応じて、ベスト学習モデルを選択する。参考形態の例では、学習モデル生成部113sは、複数の指標値の内の最大値(最大指標値)を特定する。そして、学習モデル生成部113sは、最大指標値を有する学習モデルを、ベスト学習モデルとして選択する。
【0093】
学習モデル生成部113sは、評価フェーズにおける評価結果を示すテーブル(評価結果テーブル)を生成してよい。図10のテーブルTB5は、評価結果テーブルの一例である。TB5では、1つのデータセットと1つの機械学習アルゴリズムと1つのハイパーパラメータセット(例:Para1)と1対1に対応するように、1つの指標値が記録されている。
【0094】
図10の例におけるPara1およびPara2はそれぞれ、ある1つの機械学習アルゴリズム(例:DT)に適用されるハイパーパラメータセット(一連のハイパーパラメータ)を示す。図10の例では、
・DTのPara1:データ分割方法="gni"、最大深度=3、…
・DTのPara2:データ分割方法="entropy"、最大深度=3、…
・LRのPara1:正則化の種類="l2"、正則化項の係数=1.0、…
・LRのPara2:正則化の種類="l2"、正則化項の係数=0.5、…
・NNのPara1:バッチサイズ=256、最大学習回数=1000、…
・NNのPara2:バッチサイズ=128、最大学習回数=1000、…
・SVMのPara1:カーネルの種類="rbf"、正則化項の係数=1.0、…
・SVMのPara2:カーネルの種類="rbf"、正則化項の係数=0.5、…
の通りである。なお、当業者であれば明らかである通り、ハイパーパラメータセットの数は2つに限定されない。例えば、Para1~Para5までの5つのハイパーパラメータセットが、各機械学習アルゴリズムに対して割り当てられてもよい。
【0095】
以下では、TB5のi行j列目の成分を、TB5(i,j)と表記する。また、TB5(i,j)に対応する学習モデルを、モデル(i,j)と称する。TB8では、行方向(i方向)に、機械学習アルゴリズムおよび当該機械学習アルゴリズムのハイパーパラメータセットが配列されている。そして、列方向(j方向)に、データセットが配列されている。従って、一例として、図10におけるTB8(1,1)は、DTにおいてPara1が適用された場合に得られた検索精度である。図10の例では、TB5(1,1)=42.1%である。上述の通り、TB5(1,1)は、Para1が適用されたDTによって生成された学習モデル、すなわちモデル(1,1)の品質を示す指標値とも言える。
【0096】
説明の便宜上、図10の例において、NNのPara1に対応する行番号を、imと表記する。図10の例では、TB5(im,1)=81.6%が、各TB5(i,j)の内の最大値である(TB5においてハッチングが付されているセルを参照)。
【0097】
以上の通り、学習装置11sは、図面a1~M1(外形図)の内容パラメータセット(便宜上、第1図面種類内容パラメータセットと称する)に基づいて、複数の学習モデルを生成する。そして、学習装置11は、第1図面種類内容パラメータセットに基づいて生成した当該複数の学習モデルのそれぞれの品質を評価する(より具体的には、生成した複数の学習モデルのそれぞれの指標値を導出する)。
【0098】
外形図についての上記の例と同様に、学習装置11sは、図面の種類毎に、当該図面の内容パラメータセットに基づいて、複数の学習モデルを生成する。そして、学習装置11sは、当該内容パラメータセットに基づいて生成した複数の学習モデルのそれぞれの品質を評価する。
【0099】
一例として、学習装置11sは、図面a2~M2(組立図)の内容パラメータセット(便宜上、第2内容図面種類パラメータセットと称する)に基づいて、複数の学習モデルを生成する。そして、学習装置11は、第2図面種類内容パラメータセットに基づいて生成した複数の学習モデルのそれぞれの品質を評価する。別の例として、学習装置11sは、図面aN~MN(構成図)の内容パラメータセット(便宜上、第N図面種類内容パラメータセットと称する)に基づいて、複数の学習モデルを生成する。そして、学習装置11sは、第N図面種類内容パラメータセットに基づいて生成した複数の学習モデルのそれぞれの品質を評価する。
【0100】
参考形態では、以上の通り第1図面種類内容パラメータセット~第N図面種類内容パラメータセットに基づいて導出された全ての指標値の内、TB5(im,1)が、最大値であるものとする。従って、参考形態では、学習モデル生成部113sは、TB5(im,1)を最大指標値として特定する。そして、学習モデル生成部113sは、最大指標値を有する学習モデル、すなわちモデル(im,1)を、ベスト学習モデルとして選択する。以上の通り、参考形態の例では、学習モデル生成部113sは、学習フェーズにおいて生成された複数の学習モデルの内、最も高品質な学習モデルを、ベスト学習モデルとして選択する。なお、本明細書では、ベスト学習モデルに対応する機械学習アルゴリズムを、ベスト機械学習アルゴリズムと称する。図10の例におけるベスト機械学習アルゴリズムは、NNである。
【0101】
なお、当業者であれば明らかである通り、ベスト学習モデルの選択手法は上記の例に限定されない。学習モデル生成部113sは、複数の指標値に基づいて、複数の学習モデルの内から、ベスト学習モデルを選択できればよい。例えば、学習モデル生成部113sは、複数の指標値に基づいて統計値を導出し、当該統計値に基づいてベスト学習モデルを選択してよい。参考形態における最大指標値は、統計値の一例である。
【0102】
(学習フェーズについての補足)
ところで、距離ベースの機械学習アルゴリズムは、勾配ベースの機械学習アルゴリズムとは異なり、いわゆる「次元の呪い」の影響を受けることが知られている。このため、注目データセットの次元数が多い場合、距離ベースの機械学習アルゴリズムによって生成された学習モデル(以下、距離ベース学習モデルと称する)は、勾配ベースの機械学習アルゴリズムによって生成された学習モデル(以下、勾配ベース学習モデルと称する)に比べて、低品質な学習モデルとなる傾向にある。このことから、注目データセットの次元数が多い場合、当該注目データセットを用いて生成された距離ベース学習モデルがベスト学習モデルとして選択される可能性はそもそも低いと考えられる。
【0103】
そこで、参考形態では、学習モデル生成部113sは、注目データセットの次元数が所定の次元数閾値Dth以上である場合には、当該注目データセットを用いて距離ベースの機械学習アルゴリズムによって学習モデルを生成することを停止することが好ましい。これにより、品質が低いと予期される学習モデルが生成されることを未然に防止することができるので、学習フェーズにおける演算コストを低減できる。加えて、後続する評価フェーズにおける演算コストを低減することもできる。
【0104】
機械学習分野では、データセットの次元数が30以上の場合、距離ベース学習モデルの品質が低下する傾向が高くなることが経験的に知られている。そこで、例えば、Dthは30以上の所定の値として設定されてよい。参考形態では、Dth=30に設定されている場合を例示する。
【0105】
上述の通り、参考形態の例では、データセット1の次元数は50であり、データセット4FL×5FNの次元数は151である。このため、図10の例では、学習モデル生成部113sは、データセット1およびデータセット4FL×5FNに対しては、距離ベースの機械学習アルゴリズム(例:SVM)による学習モデルの生成を行わない(TB5において「×」マークが付されているセルを参照)。
【0106】
以上のことから、図10の例では、学習モデル生成部113sは、データセット1およびデータセット4FL×5FNに対しては、勾配ベースの機械学習アルゴリズム(例:DT、LR、およびNN)のみを適用して、学習モデルを生成する。このように、学習モデル生成部113sは、データセット1およびデータセット4FL×5FNに対しては、距離ベース学習モデルを生成することなく、勾配ベース学習モデルのみを生成する。
【0107】
他方、学習モデル生成部113sは、注目データセットの次元数がDth未満である場合には、距離ベースの機械学習アルゴリズムを適用して、当該データセットを用いて学習モデルを生成してもよい。参考形態の例では、データセット2の次元数は28である。このため、図10の例では、学習モデル生成部113sは、データセット2に対しては、勾配ベース学習モデルを生成するとともに、距離ベース学習モデルをさらに生成する。
【0108】
(学習モデル生成部113sにおける検証フェーズ後の処理)
学習モデル生成部113sは、TB5に含まれている各データセットのうち、ベスト学習モデルに対応する1つのデータセットを、ベストデータセットとして選択する。図10の例では、学習モデル生成部113sは、データセット1をベストデータセットとして選択する。
【0109】
続いて、学習モデル生成部113sは、ベストデータセットに対応する前処理手法を、ベスト前処理手法として選択する。参考形態の例では、学習モデル生成部113sは、上述のTB4を参照し、データセット1に対応する前処理手法を、ベスト前処理手法として読み出す(図8のハッチング箇所を参照)。以上の説明から理解される通り、学習モデル生成部113sは、ベスト学習モデルに対応する前処理手法を、ベスト前処理手法として選択する。
【0110】
続いて、学習モデル生成部113sは、上述のTB3initにおける「前処理手法」の項目に、ベスト前処理手法を記録することにより、TB3initを更新する。本明細書では、更新後の内容パラメータ設定初期テーブルを、TB3newと称する。図11には、TB3newの一例が示されている。図11の例では、データセット1に対応する前処理手法(換言すれば、ベスト学習モデルに対応する前処理手法)が、ベスト前処理手法として、「前処理手法」の項目に記録されている。
【0111】
(図面検索装置12)
続いて、図面検索装置12について述べる。図面検索装置12は、新規図面データ取得部121、新規図面内容パラメータ取得部122(ターゲット図面内容パラメータ取得部)、検索用前処理部125、および検索部126を備える。
【0112】
図面検索装置12は、学習装置11sによって生成された学習モデル(参考形態の例では、ベスト学習モデル)を用いて、ターゲット図面を複数の検索対象図面のそれぞれと照合することにより、少なくとも1つの図面を検索する。参考形態の図面NDは、ターゲット図面の一例である。以下に述べるように、図面検索装置12では、上記学習モデルを用いて、図面NDに対し、図面a1~MNのそれぞれとの照合が行われる。
【0113】
(新規図面の取得)
新規図面データ取得部121は、過去図面データ取得部111と対になる機能部である。一例として、新規図面データ取得部121は、入力部71が所定のユーザ操作を受け付けたことを契機として、新規物件図面DB92の新規物件データセットに含まれている、所定の新規図面(例:図面ND)を取得する。新規図面データ取得部121は、取得した図面NDを、新規図面内容パラメータ取得部122に供給する。
【0114】
(新規図面に対応する内容パラメータセットの取得)
新規図面内容パラメータ取得部122は、過去図面内容パラメータ取得部112と対になる機能部である。新規図面内容パラメータ取得部122は、過去図面内容パラメータ取得部112と同様の処理により、図面NDに対応する内容パラメータセットを取得する。すなわち、新規図面内容パラメータ取得部122は、過去図面内容パラメータ取得部112と同じ解析手法によって図面NDを解析することにより、当該図面NDの内容パラメータを取得する。
【0115】
以下、図面NDの第k内容パラメータを、Ckとも称する。なお、上述の検索対象図面内容パラメータとの区別のため、ターゲット図面(図面ND)の内容パラメータを、ターゲット図面内容パラメータとも称する。また、ターゲット図面の第k内容パラメータを、ターゲット図面第k内容パラメータとも称する。ターゲット図面内容パラメータは、新規図面内容パラメータと称されてもよい。このため、ターゲット図面第k内容パラメータは、新規図面第k内容パラメータと称されてもよい。
【0116】
以上のように、新規図面内容パラメータ取得部122は、図面NDに対し過去図面内容パラメータ取得部112と同様の処理を行うことにより、C1~CLを設定する。その後、新規図面内容パラメータ取得部122は、C1~CLを示す新規図面内容パラメータテーブルTB-NDを生成してよい。図12には、TB-NDの一例が示されている。
【0117】
(検索用前処理部125における処理の一例)
検索用前処理部125は、新規図面内容パラメータ取得部122から、図面NDに対応する内容パラメータセット(便宜上、新規図面内容パラメータセットと称する)を取得する。具体的には、新規図面内容パラメータセットとは、図面NDの第1~第L内容パラメータ(C1~CL)を含むデータセットを意味する。一例として、検索用前処理部125は、新規図面内容パラメータ取得部122から、上述のTB-NDを取得する。
【0118】
また、検索用前処理部125は、学習モデル生成部113sから、ベスト前処理手法を取得する。一例として、検索用前処理部125は、学習モデル生成部113sからTB3を取得し、TB3からベスト前処理手法を読み出す。
【0119】
続いて、検索用前処理部125は、ベスト前処理手法に従って、新規図面内容パラメータセットに対して前処理を施すことにより、前処理後新規図面内容パラメータセットを生成する。すなわち、検索用前処理部125は、ベスト前処理手法と同じ前処理手法をC1~CLのそれぞれに施すことにより、前処理後新規図面内容パラメータセットを生成する。参考形態の例では、検索用前処理部125は、(i)C1に[S]を施し、(ii)C2に[S]を施し、(iii)C3に[O]を施し、かつ、(iv)CLに[L]を施
す。
【0120】
なお、新規図面内容パラメータセットは、ターゲット図面内容パラメータセットと称されてもよい。従って、前処理後新規図面内容パラメータセットは、前処理後ターゲット図面内容パラメータセットと称されてもよい。
【0121】
検索用前処理部125は、前処理後新規図面内容パラメータセットを示すテーブル(前処理後新規図面内容パラメータテーブル)を生成してよい。図13に示されているTB-NDPは、参考形態における前処理後新規図面内容パラメータテーブルの一例である。上述の説明から明らかである通り、前処理後新規図面内容パラメータセットは、データセット1と同じデータ構造を有している(上述の図6も参照)。
【0122】
なお、検索用前処理部125における前処理手法[S]の一例について説明すれば、次の通りである。以下では、検索用前処理部125によって、Ck(図面NDの第k内容パラメータ)を標準化する場合について述べる。
【0123】
まず、検索用前処理部125は、上述の標準化用データ表700Bを参照し、AkmeanおよびAksdを取得する。続いて、検索用前処理部125は、
Ck_Standardized=(Ck-Akmean)/Aksd …(3)の通り、Ck_Standardizedを算出する。Ck_Standardizedは、図面NDにおける標準化後の第k内容パラメータである。Ck_Standardizedは、標準化後新規図面第k内容パラメータとも称される。標準化後新規図面第k内容パラメータは、前処理後新規図面第k内容パラメータの一例である。
【0124】
また、検索用前処理部125における前処理手法[N]の一例について説明すれば、次の通りである。まず、検索用前処理部125は、上述の正規化用データ表700Aを参照し、AkmaxおよびAkminを取得する。続いて、検索用前処理部125は、
Ck_Normalized=(Ck-Akmin)/(Akmax-Akmin)
…(4)
の通り、Ck_Normalizedを算出する。Ck_Normalizedは、図面NDにおける正規化後の第k内容パラメータである。Ck_Normalizedは、正規化後新規図面第k内容パラメータとも称される。正規化後新規図面第k内容パラメータは、前処理後新規図面第k内容パラメータの別の例である。
【0125】
(検索部126における検索フェーズ)
検索部126は、検索用前処理部125から、前処理後新規図面内容パラメータセットを取得する。また、検索部126は、学習モデル生成部113sから、ベスト学習モデルを取得する。検索部126は、前処理後新規図面内容パラメータセットをベスト学習モデルに入力する。そして、検索部126は、前処理後新規図面内容パラメータセットに応じたベスト学習モデルの出力を、ベスト学習モデルから取得する。
【0126】
一例として、参考形態における各学習モデルが、図面NDに対する各過去図面(図面a1~MN)の関連性の高さを示すスコア(指標)である関連性スコアを出力(導出)するように訓練された学習モデルである場合を考える。関連性スコアの導出方法の例については、特許文献1を参照されたい。
【0127】
この場合、検索部126は、ベスト学習モデルに前処理後新規図面内容パラメータセットを入力することにより、当該前処理後新規図面内容パラメータセットに応じた関連性スコアを、ベスト学習モデルに出力させる。そして、検索部126は、ベスト学習モデルの出力(例:関連性スコア)に基づいて、図面NDに対応する少なくとも1つの過去図面を検索する。関連性スコアに基づく当該過去図面の検索手法の例については、特許文献1を参照されたい。検索部126は、特許文献1と同様に、検索結果を示すデータを、表示部72に表示させてよい。
【0128】
(参考形態の効果)
参考形態における情報処理システム100s(情報処理装置1s)によれば、上記先行技術(特許文献1の技術)と同様に、図面検索におけるユーザの利便性を従来よりも高めることが可能となる。加えて、学習装置11sによれば、上記先行技術とは異なり、検索対象図面内容パラメータセット(過去図面内容パラメータセット)に対して複数種類の前処理手法が網羅的に施されることにより、当該検索対象図面内容パラメータセットが拡張される。すなわち、複数の前処理後検索対象図面内容パラメータセットが生成される。
【0129】
続いて、複数の機械学習アルゴリズムを適用することにより、複数の前処理後検索対象図面内容パラメータセット(例:データセット1~4FL×5FN)を用いて、複数の学習モデルが生成される。そして、複数の学習モデルのそれぞれの品質を示す指標値(例:過去図面の検索精度)に基づいて、当該複数の学習モデルの内から、ベスト学習モデルが選択される。言い換えれば、上記指標値に基づいて、複数の機械学習アルゴリズムの内から、ベスト機械学習アルゴリズムが選択される。続いて、ベスト学習モデルに対応するベスト前処理手法が選択される。
【0130】
一般的に、機械学習アルゴリズムによって生成される学習モデルの品質は、学習用データ(例:検索対象図面内容パラメータセット)に適用される前処理手法に応じて変化しうる。加えて、学習モデルの品質は、前処理後の学習用データに適用される機械学習アルゴリズムの種類に応じても変化しうる。
【0131】
適切な前処理手法および機械学習アルゴリズムが選択された場合には、高品質な学習モデルを生成することが可能である。但し、機械学習分野において適用可能な前処理手法および機械学習アルゴリズムの種類は、多岐に亘っている。このため、学習モデルの品質向上に好適な(理想的には最適な)前処理手法および機械学習アルゴリズムの組み合わせを、ユーザが人為的に選択することは必ずしも容易ではない。
【0132】
そこで、学習装置11sでは、上述の通り、生成された複数の学習モデルのそれぞれを、上記指標値に基づいて網羅的に評価することにより、ベスト学習モデルおよびベスト前処理手法が選択される。すなわち、生成された複数の学習モデルに対してグリッドサーチを行うことにより、ベスト学習モデルおよびベスト前処理手法が選択される。
【0133】
上記の構成によれば、ユーザの人為的な選択を経ることなく、ベスト学習モデルおよびベスト前処理手法を特定することができる。すなわち、学習モデルの品質向上に最適である(少なくとも好適である)と期待される前処理手法および機械学習アルゴリズムの組み合わせを、学習装置11によって自動的に選択できる。
【0134】
その後、図面検索装置12では、学習装置11sによって選択されたベスト前処理手法に従って、ターゲット図面内容パラメータセット(新規図面内容パラメータセット)に対して前処理が施される。すなわち、ベスト前処理手法に従って、前処理後ターゲット図面内容パラメータセット(前処理後新規図面内容パラメータセット)が生成される。
【0135】
上記の構成によれば、ベスト学習モデルに適したデータ構造を有する入力データセットとして、前処理後ターゲット図面内容パラメータセットが生成される。このため、当該前処理後ターゲット図面内容パラメータセットをベスト学習モデルに入力することにより、上記先行技術に比べてさらに高精度な学習モデルの出力(例:ベスト学習モデルによって導出された関連性スコア)を得ることができる。
【0136】
以上の通り、情報処理システム100sでは、(i)学習装置11sによって予め選択されたベスト前処理手法、および、(ii)学習装置11sによって予め生成されたベスト学習モデルを用いて、図面検索装置12に検索を行わせることができる。その結果、情報処理システム100sによれば、上記先行技術に比べてさらに高い検索精度を実現できる。
【0137】
(参考形態における補足)
前処理手法[L]の一例について、以下に説明する。参考形態では、学習用前処理部114は、生値・ラベル値変換テーブルに従って、生値(過去図面内容パラメータ取得部112によって取得された内容パラメータ)をラベルエンコーディングしてよい。具体的には、学習用前処理部114は、ある生値と当該生値に対応するラベル値の対応関係を示すテーブル(以下、生値・ラベル値変換テーブルと称する)に従って、生値をラベル値へと変換してよい。
【0138】
一例として、情報処理システム100sでは、第1~第L内容パラメータのそれぞれについて、個別の生値・ラベル値変換テーブルが予め設定されている。以下、第k内容パラメータに対応する生値・ラベル値変換テーブルを、第k生値・ラベル値変換テーブルと称する。
【0139】
図14には、複数の生値・ラベル値変換テーブルの内の一部が例示されている。図14において、(i)符号1400-1は第1生値・ラベル値変換テーブルを、(ii)符号1400-2は第2生値・ラベル値変換テーブルを、(iii)符号1400-3は第3生値・ラベル値変換テーブルを、(iv)符号1400-Lは第L生値・ラベル値変換テーブルを、それぞれ表す。
【0140】
図14の例では、学習用前処理部114は、第k生値・ラベル値変換テーブルに従って、第k内容パラメータをラベルエンコーディングしてよい。例えば、学習用前処理部114は、第1生値・ラベル値変換テーブルに従って、第1内容パラメータをラベルエンコーディングする。また、学習用前処理部114は、第L生値・ラベル値変換テーブルに従って、第L内容パラメータをラベルエンコーディングする。
【0141】
以上の通り、第k内容パラメータの変数種類によらず(すなわち、第k内容パラメータがVLまたはVNのいずれであっても)、当該第k内容パラメータに対し、前処理手法[L]が施されてよい。なお、上述の通り、第k内容パラメータがVLである場合には、[L]は、[R]と等価な前処理手法であると言える。
【0142】
別の例として、情報処理システム100sでは、第1~第L生値・ラベル値変換テーブルを統合したテーブル(以下、生値・ラベル値変換統合テーブルと称する)が予め作成されていてもよい。図15における符号1500は、生値・ラベル値変換統合テーブルの一例を表す。
【0143】
図15の例において、生値・ラベル値変換統合テーブルのk行目は、第k生値・ラベル値変換テーブルに対応する。従って、学習用前処理部114は、生値・ラベル値変換統合テーブルのk行目を参照し、第k内容パラメータをラベルエンコーディングしてもよい。例えば、学習用前処理部114は、生値・ラベル値変換統合テーブルの2行目を参照し、第2内容パラメータをラベルエンコーディングする。
【0144】
〔実施形態1〕
図16は、実施形態1の情報処理システム100の要部の構成を示すブロック図である。情報処理システム100の情報処理装置を、情報処理装置1と称する。情報処理装置1の制御装置を、制御装置10と称する。制御装置10の学習装置を、学習装置11(モデル生成装置)と称する。
【0145】
学習装置11は、学習装置11sとは異なり、学習モデル生成部113sに替えて、学習モデル生成部113(学習部)を備える。学習装置11の各部の動作の説明に先立ち、参考形態において改善可能な点について以下に述べる。
【0146】
上述の通り、参考形態では、データセット1~4FL×5FNのそれぞれに対して各機械学習アルゴリズムを網羅的に(総当たりで)適用することにより、複数の学習モデルが生成される。次いで、生成された複数の学習モデルのそれぞれを、指標値に基づいて網羅的に評価することにより、ベスト学習モデルおよびベスト前処理手法が選択される。すなわち、生成された複数の学習モデルに対してグリッドサーチを行うことにより、ベスト学習モデルおよびベスト前処理手法が選択される。
【0147】
しかしながら、参考形態では、全パターンのデータセット1~4FL×5FNに全パターンのハイパーパラメータ設定(ハイパーパラメータセット)を適用して複数の学習モデルを生成しているため、学習フェーズに要する計算時間(学習時間)の延伸が生じる可能性がある。このような学習時間の延伸を抑制するためには、全パターンのデータセット1~4FL×5FNおよび全パターンのハイパーパラメータ設定を探索することなく、効率よく適正学習モデルを見出すことが好ましい。なお、適正学習モデルとは、例えば、所定の閾値より大きい指標値を有する学習モデルのことである。実施形態1の学習装置11は、この考え方に基づき、本願の発明者らによって新たに創作された。
【0148】
(学習モデル生成部113の処理の一例)
参考形態と同様にして、学習モデル生成部113は、(少なくとも1種類以上の)機械学習アルゴリズムを適用することにより、複数の前処理後内容パラメータセットのそれぞれを用いて、複数の学習モデルを生成する。そして、学習モデル生成部113は、複数の前処理後内容パラメータセットのそれぞれを用いて上記複数の学習モデルのそれぞれを検証することにより、上記複数の学習モデルのそれぞれの品質を示す複数の指標値を取得する。
【0149】
ここで、学習モデル生成部113は、所定の最適化手法に従って、上記複数の指標値に基づいてよりよい指標値を有する学習モデル(適正学習モデル)を探索する。これにより、学習モデル生成部113は、学習用前処理部114において用いられた複数種類の前処理手法の内、適正学習モデルに対応する前処理手法を、適正前処理手法として選択する。
【0150】
実施形態1では、一例として、学習モデル生成部113が、複数の前処理後内容パラメータセット(データセット1~データセット4FL×5FN)および複数種類の機械学習アルゴリズム(DT、LR、NN、SVM、・・・)ごとに、よりよい指標値を有する学習モデル(ベター学習モデルと称する)を探索する場合について説明する。具体的には、学習モデル生成部113は、ある1つの前処理後内容パラメータセット(注目データセットと称する)に、ある1つの機械学習アルゴリズム(注目機械学習アルゴリズムと称する)において設定される複数のハイパーパラメータ設定をそれぞれ適用することによって生成された複数の学習モデルのうち、ベター学習モデルを探索する。以下、ある1つの前処理後内容パラメータセットに、ある1つの機械学習アルゴリズムを適用したときの、学習モデル生成部113の一連の処理について説明する。
【0151】
参考形態における学習モデル生成部113sと同様に、まず、学習モデル生成部113は、学習用前処理部114から前処理後第1図面種類内容パラメータセット(第1図面種類内容パラメータセットに複数パターンの前処理のそれぞれが施されることによって得られたデータセット)(便宜上、前処理後内容パラメータセットと称する)を取得する。そして、学習モデル生成部113は、前処理後内容パラメータセットに含まれる各データセットを、訓練データと検証データとに分割する。
【0152】
次いで、学習モデル生成部113は、複数の前処理後内容パラメータセットおよび複数種類の機械学習アルゴリズムごとに、所定の最適化手法に従って、学習モデルを探索する。具体的には、学習モデル生成部113は、所定の最適化手法に従って学習フェーズと検証フェーズとを繰り返すことで、学習モデルを探索する。
【0153】
上記学習フェーズでは、学習モデル生成部113は、注目データセットの訓練データを基に、注目機械学習アルゴリズムの複数のハイパーパラメータ設定をそれぞれ適用することにより、複数の学習モデルを生成する。上記注目データセットは、データセット1~データセット4FL×5FNのうちの1つである。上記注目機械学習アルゴリズムは、参考形態において述べた所定の複数種類の機械学習アルゴリズムのうちの1つである。
【0154】
上記検証フェーズでは、学習フェーズにおいて生成された複数の学習モデルのそれぞれの指標値を、注目データセットの検証データを用いて取得する。上記指標値は、参考形態において述べた通り、過去図面の検索精度(以下、図面検索精度と称する)としてAccuracy(正解率)が用いられてもよいし、機械学習分野における公知のその他の指標値が用いられてもよい。
【0155】
学習モデル生成部113は、複数の前処理後内容パラメータセットおよび複数種類の機械学習アルゴリズムごとに複数のハイパーパラメータ設定を適用することによって得られた複数の学習モデルから、所定の最適化手法に従って、上記指標値に基づいてベター学習モデルを見出す。なお、参考形態における学習モデル生成部113sと同様に、次元数が30以上であるデータセットに対しては、「次元の呪い」の影響を受け得る距離ベースの機械学習アルゴリズム(例:SVM)による学習モデルの探索は行わなくてもよい。所定の最適化手法による具体的な処理の流れについては、図17図19を参照し後述する。
【0156】
同様に、学習モデル生成部113は、学習用前処理部114から前処理後第2図面種類内容パラメータセット(第2図面種類内容パラメータセットに複数パターンの前処理のそれぞれが施されることによって得られたデータセット)を取得する。学習モデル生成部113は、前処理後第2図面種類内容パラメータセットに基づいて、複数の前処理後内容パラメータセットおよび複数種類の機械学習アルゴリズムごとのベター学習モデルを見出す。また、学習モデル生成部113は、学習用前処理部114から前処理後第N図面種類内容パラメータセット(第N図面種類内容パラメータセットに複数パターンの前処理のそれぞれが施されることによって得られたデータセット)を取得する。学習モデル生成部113は、前処理後第N図面種類内容パラメータセットに基づいて、当該前処理後第2図面種類内容パラメータセットに対応するベター学習モデルを見出す。
【0157】
次いで、学習モデル生成部113は、第1図面種類内容パラメータセット~第N図面種類内容パラメータセットにおける、複数の前処理後内容パラメータセットおよび複数種類の機械学習アルゴリズムごとに見出したベター学習モデルのうち、適正学習モデルを選択する。例えば、学習モデル生成部113は、全てのベター学習モデルのうち、(統計値の一例としての)最大指標値を有する学習モデルを適正学習モデルとして選択する。
【0158】
次いで、学習モデル生成部113は、適正学習モデルに対応する前処理手法を、適正前処理手法として選択する。実施形態1における以降の処理については、参考形態における「ベスト学習モデル」および「ベスト前処理手法」との用語がそれぞれ「適正学習モデル」および「適正前処理手法」に置き換わる点を除き、参考形態と同様である。
【0159】
(所定の最適化手法の一例)
以下、図17図19を参照し、所定の最適化手法による具体的な処理の流れについて説明する。図17は、学習モデル生成部113の主要な処理の流れを概略的に示すフローチャートである。以下では、上述の図9における符号900Aに示されているデータセット1(注目データセット)に、機械学習アルゴリズムとしてDT(注目機械学習アルゴリズム)を適用した場合について説明する。
【0160】
まず、学習モデル生成部113は、探索パラメータリストの項目数N(リスト総数N)を取得する(S1)。探索パラメータリストとは、学習モデルを探索するために用いられるパラメータ(以下、探索パラメータと称する)のリストのことである。実施形態1では、学習モデル生成部113は、複数の前処理後内容パラメータセットおよび複数の機械学習アルゴリズムごとに、複数のハイパーパラメータ設定を用いて学習モデルを探索するため、探索パラメータリストは、ハイパーパラメータのみを含む。すなわち、探索パラメータリストの項目数Nは、ハイパーパラメータ設定の項目数に等しい。以下、簡単のため、N=2である場合を例示する。言い換えれば、ハイパーパラメータ設定の項目数が2である場合を例示する。
【0161】
次いで、学習モデル生成部113は、探索パラメータリストの項目内からランダムな数値の組み合わせをN+1通り設定する。そして、学習モデル生成部113は、当該組合せに対応するN次元空間上のN+1個の格子点P~PN+1を、初期点として生成する(S2)。本明細書における格子点とは、空間格子を形成する点を意味する。実施形態1では、N+1=3であるので、学習モデル生成部113は、
・P=(HA,HB
・P=(HA,HB
・P=(HA,HB
という3つの格子点P~Pを、初期点として生成する。ここで、HA(j=1,2,3)はDTの第1ハイパーパラメータ(例えば、データ分割方法)を示すインデックスであり、HB(j=1,2,3)はDTの第2ハイパーパラメータ(例えば、最大深度)を示すインデックスである。
【0162】
次いで、学習モデル生成部113は、データセット1の訓練データを基に、S2において設定した(各格子点P~PN+1に対応する)複数の探索パラメータ(複数のハイパーパラメータ設定)をそれぞれ用いて複数の学習モデルを生成する(S3)。これにより、学習モデル生成部113は、各格子点P~PN+1に対応する学習モデルを生成する。
【0163】
次いで、学習モデル生成部113は、S3において生成された複数の学習モデルのそれぞれの指標値を、データセット1の検証データを用いて取得する(S4)。これにより、学習モデル生成部113は、各格子点P~PN+1に対応する関数f(P)~f(PN+1)を取得(導出)する。
【0164】
関数fは、指標値(例:図面検索精度)を評価するための関数(いわゆる目的関数)として設定されていればよい。例えば、関数fは、図面検索精度に対する単調減少関数として設定されていればよい。この場合、図面検索精度が大きくなるにつれて、関数fの値は小さくなる。実施形態1の例では、関数fは、
f=100-図面検索精度[%]…(5)
として設定されている。
【0165】
以下、(i)データセット1の訓練データを基に、格子点Pの各インデックスに対応する探索パラメータを用いて学習モデルを生成し、(ii)データセット1の検証データを用いて、当該学習モデルの指標値を取得し、(iii)上述の関数fからf(P)を求めることを単に「f(P)を導出する」と表記する。
【0166】
次いで、学習モデル生成部113は、S4において取得された指標値(言い換えれば、関数f(P)~f(PN+1))に基づいて、各格子点P~PN+1を序列化する(S5)。実施形態1では、学習モデル生成部113は、3つの初期点の内、最良の図面検索精度(最も高い図面検索精度)が割り当てられた点を、最良点B(m)として決定する。mは、以下に述べるS6における最適化繰り返し回数(最適化反復回数)である。mは、1≦m≦qを満たす整数である。qは、最適化繰り返し回数の上限値である。qは、予め設定されている。そして、学習モデル生成部113は、3つの初期点の内、最悪の図面検索精度(最も低い図面検索精度)が割り当てられた点を、最悪点W(m)として決定する。次いで、学習モデル生成部113は、3つの初期点の内、最悪点に次いで悪い図面検索精度(2番目に低い図面検索精度)が割り当てられた点を、第2最悪点BW(m)として決定する。例えば、f(P)≦f(P)≦f(P)であった場合、格子点Pは最良点B(m)、格子点Pは第2最悪点BW(m)、格子点Pは最悪点W(m)である。
【0167】
次いで、学習モデル生成部113は、序列化した各格子点P~PN+1に基づいて、所定の最適化手法による最適化を実行する(S6)。S6の処理内容については後述する。
【0168】
実施形態1では、所定の最適化手法としてネルダー・ミード法(Nelder-Mead method)が用いられる場合を例示する。ネルダー・ミード法は、滑降シンプレックス法、超多面体法、またはアメーバ法とも称される。ネルダー・ミード法は、微分法に依らずに多次元の非線形最適化問題を解くことができる。例えば、ネルダー・ミード法によれば、微分法に依らずに、目的関数の局所的最適解を導出できる。従って、ネルダー・ミード法によれば、微分法に依らずに、目的関数の極値(極大値または極小値)を得ることができる。実施形態1において、目的関数は、f(P)を導出する式(5)として表される。このため、実施形態1において、ネルダー・ミード法を用いることにより、目的関数の極小値(理想的には最小値)を得ることができる。言い換えれば、ネルダー・ミード法を用いることにより、図面検索精度の極大値(理想的には最大値)を得ることができる。すなわち、ネルダー・ミード法を用いることにより、ベター学習モデルを見出すことができる。
【0169】
図18は、ネルダー・ミード法の概念を概略的に説明するための図である。図18では、簡単のため、N=2の場合(2次元の場合)が例示されている。図18では、m=1、2、q-1、およびqのそれぞれの場合における、B(m)、W(m)、およびBW(m)が示されている。図18の例における点線は、図面検索精度の等高線を示す。図面検索精度の等高線は、目的関数の等高線と読み換えることもできる。
【0170】
図18に示される通り、ネルダー・ミード法によれば、最適化繰り返し処理の進展(mの増加)に伴い、より高い図面検索精度を実現しうる各ハイパーパラメータの組み合わせ(B(m)、W(m)、およびBW(m)のそれぞれの座標)が導出される。すなわち、ネルダー・ミード法によれば、図面検索精度の局所的最適解(図面検索精度の極大値)に至るように、各ハイパーパラメータを最適化できる。
【0171】
図19は、最適化を実行する処理の流れを示すフローチャートである。図19は、図17におけるS6の処理内容をより具体的に示す。図19では、ネルダー・ミード法による最適化が例示されている。
【0172】
まず、S11において、学習モデル生成部113は、最悪点W(m)以外の各点(総称的に、各点P (m)と表す)を用いて、各点P (m)によって構成される超多面体の重心G(m)を求める。具体的には、学習モデル生成部113は、
【数1】
…(6)
の通り、重心G(m)を求める。実施形態1の例では、式(6)にN=2を代入して、重心G(m)を求める。
【0173】
次いで、S12において、学習モデル生成部113は、線分W(m)(m)を2:1に外分する外分点R(m)を求める。具体的には、学習モデル生成部113は、
(m)=2G(m)-W(m) …(7)
の通り、外分点R(m)を求める。
【0174】
次いで、S13において、学習モデル生成部113は、上述の関数fを用いて、f(R(m))を導出する。そして、学習モデル生成部113は、
f(R(m))≦f(B(m)) …(8)
という条件(便宜上、第1判定条件と称する)が満たされているか否かを判定する。第1判定条件が満たされている場合、S14に進む。第1判定条件が満たされていない場合、S17に進む。
【0175】
第1判定条件が満たされている場合、S14において、学習モデル生成部113は、線分W(m)(m)を3:2に外分する外分点E(m)を求める。具体的には、学習モデル生成部113は、
(m)=3G(m)-2W(m) …(9)
の通り、外分点E(m)を求める。
【0176】
次いで、S15において、学習モデル生成部113は、関数fを用いて、f(E(m))を導出する。そして、学習モデル生成部113は、
f(E(m))≦f(R(m)) …(10)
という条件(便宜上、第2判定条件と称する)が満たされているか否かを判定する。第2判定条件が満たされている場合、S16に進む。第2判定条件が満たされていない場合、S18に進む。
【0177】
第2判定条件が満たされている場合、S16において、学習モデル生成部113は、最悪点W(m)を最適化対象から削除するとともに、点E(m)を最適化対象に加える。そして、後述するS23に進む。
【0178】
第1判定条件が満たされていない場合、S17において、学習モデル生成部113は、
f(R(m))≦f(BW(m)) …(11)
という条件(便宜上、第3判定条件と称する)が満たされているか否かを判定する。第3判定条件が満たされている場合、S18に進む。第3判定条件が満たされていない場合、S19に進む。
【0179】
第3判定条件が満たされている場合、S18において、学習モデル生成部113は、最悪点W(m)を最適化対象から削除するとともに、点R(m)を最適化対象に加える。そして、S23に進む。
【0180】
第3判定条件が満たされていない場合、S19において、学習モデル生成部113は、線分W(m)(m)の中点S(m)を求める。具体的には、学習モデル生成部113は、
(m)=(1/2)×(G(m)+W(m)) …(12)
の通り、中点S(m)を求める。
【0181】
次いで、S20において、学習モデル生成部113は、関数fを用いて、f(S(m))を導出する。そして、学習モデル生成部113は、
f(S(m))≦f(W(m)) …(13)
という条件(便宜上、第4判定条件と称する)が満たされているか否かを判定する。第4判定条件が満たされている場合、S21に進む。第4判定条件が満たされていない場合、S22に進む。
【0182】
第4判定条件が満たされている場合、S21において、学習モデル生成部113は、最悪点W(m)を最適化対象から削除するとともに、点S(m)を最適化対象に加える。そして、S23に進む。
【0183】
第4判定条件が満たされていない場合、S22において、学習モデル生成部113は、各jについて、線分B(m) (m)の中点P (m)’を求める。具体的には、学習モデル生成部113は、具体的には、学習モデル生成部113は、
(m)’=(1/2)×(P (m)+B(m)) …(14)
の通り、中点P (m)’を求める。そして、学習モデル生成部113は、各点P (m)を各点P (m)’に更新する。そして、S23に進む。
【0184】
S23において、学習モデル生成部113は、上述のS5と同様にして、関数fに基づいて各点P (m)を序列化する。
【0185】
次いで、S24において、学習モデル生成部113は、所定の設定判定条件が満たされているかを判定する。設定判定条件が満たされている場合、S25に進む。設定判定条件が満たされていない場合、S11に戻り、上述の各処理が繰り返される。このように、学習モデル生成部113は、設定判定条件が満たされるまで、上述の各処理を繰り返す。
【0186】
実施形態1における設定判定条件は、例えば、以下の条件1~7の少なくとも1つを含んでいてよい。ここで、Vmは各点P (m)によって構成される超多面体の体積であり、V0は各初期点によって構成される超多面体の体積である。また、αは、
【数2】
を表す。αは、点(最良点)B(m)における、関数fのmに関する勾配である。
【0187】
(条件1)Vm/V0(V0に対するVmの比率)が、所定の閾値(体積比率閾値)以下となった;
(条件2)mが、上限値qに達した;
(条件3)最適化処理の計算時間が、所定の時間に達した;
(条件4)点B(m)が、所定の繰り返し回数以上に亘って変更されなかった;
(条件5)点B(m)の図面検索精度が、所定の閾値(図面検索精度閾値)以上となった;
(条件6)αが、所定の閾値(勾配閾値)以下となった;
但し、当業者であれば明らかである通り、設定判定条件は上記の例に限定されない。本発明の一態様に係る設定判定条件は、「関数f(すなわち、実施形態1の例における図面検索精度)の局所的最適解が見出された状態」および「当該局所的最適解のさらなる探索を打ち切るべき条件」の少なくとも一方を表すように設定されていればよい。
【0188】
設定判定条件が満たされている場合、S25において、学習モデル生成部113は、最良点B(m)のハイパーパラメータの組み合わせを採用する。一例として、S25における最良点B(m)の座標を、
(m)=(HAbetter,HBbetter
と表す。この場合、学習モデル生成部113は、HAbetter,HBbetterに対応するハイパーパラメータ設定の項目をベターハイパーパラメータ設定として選択する。そして、学習モデル生成部113は、データセット1の訓練データを基に、DTの上記ベターハイパーパラメータ設定を適用することによって得られた学習モデルをベター学習モデルとして見出す。
【0189】
学習モデル生成部113は、複数の前処理後内容パラメータセットおよび複数種類の機械学習アルゴリズムごとに、上述の最適化手法を実行し、ベター学習モデルを見出す。そして、学習モデル生成部113は、複数の前処理後内容パラメータセットおよび複数種類の機械学習アルゴリズムごとに見出したベター学習モデルのうち、(例えば、最も高い指標値を有するベター学習モデルである)適正学習モデルを選択する。
【0190】
(ネルダー・ミード法の補足)
上述のネルダー・ミード法において、式(7)に従って求められた外分点R(m)の各座標は整数とは限らない。そのため、整数でなければならないハイパーパラメータ(例:学習回数、ネットワークの層数、またはノード数など)が探索パラメータリストに含まれる場合、外分点R(m)の各座標に対応するハイパーパラメータセットが存在せず、学習モデルを生成できない(すなわち関数fが導出できない)可能性がある。
【0191】
そこで、学習モデル生成部113は、外分点R(m)を求めた後、外分点R(m)の座標を全て整数化した(各座標の値の小数第一位を四捨五入した、切り捨てた、または切り上げた)、外分点R(m)に対応する格子点R(m)’を求める。以降、学習モデル生成部113は、このような格子点R(m)’を外分点R(m)の代わりに用いる。これにより、学習モデル生成部113は、整数でなければならないハイパーパラメータが探索パラメータリストに含まれる場合においても、外分点R(m)に対応する格子点R(m)’を用いて、関数fを導出することができる。外分点R(m)の座標を全て整数化する上述の形態により、学習装置11の構成を簡略化できる。
【0192】
学習モデル生成部113は、外分点R(m)の各座標のうち、整数でなければならないハイパーパラメータに対応する座標のみについて整数化してもよい。具体的には、学習モデル生成部113は、探索パラメータリストに含まれるハイパーパラメータのうち、整数でなくても問題ないハイパーパラメータ(例:学習率、正則化項の係数など)に対応する座標については整数化しない。一方、学習モデル生成部113は、探索パラメータリストに含まれるハイパーパラメータのうち、整数でなければならないハイパーパラメータに対応する座標については整数化する。
【0193】
なお、外分点E(m)、中点S(m)、中点P (m)’についても、外分点R(m)と同様に、各座標の整数化が行われる。
【0194】
(実施形態1の効果)
実施形態1における学習装置11によれば、所定の最適化手法(例:ネルダー・ミード法)を実行することによって、適正学習モデルを見出すことができる。そのため、参考形態とは異なり、全パターンのデータセット1~4FL×5FNおよび全パターンのハイパーパラメータ設定を探索することなく、効率よく適正学習モデルを見出すことができる。したがって、適正学習モデルを見出すまでに要する学習時間の延伸を抑制することができる。
【0195】
また、複数の前処理後内容パラメータセットおよび複数種類の機械学習アルゴリズムごとに所定の最適化手法を実行することによって、所定の最適化手法における探索パラメータを機械学習アルゴリズムのハイパーパラメータのみとすることができる。そのため、所定の最適化手法において学習モデルを探索するまでの処理時間を短縮することができる。また、次元数が所定の閾値(例えば30)以上であるデータセットに対して距離ベースの機械学習アルゴリズムによる学習モデルの探索を行わないことにより、学習時間の延伸をさらに抑制することができる。
【0196】
〔変形例1〕
実施形態1では、学習モデル生成部113が、複数の前処理後内容パラメータセットおよび複数種類の機械学習アルゴリズムごとに、所定の最適化手法に従って、複数のハイパーパラメータ設定を用いて学習モデルを探索する場合を例示した。しかしながら、学習モデル生成部113は、複数種類の機械学習アルゴリズムごとに、所定の最適化手法に従って、複数のデータセット(複数の前処理後内容パラメータセット)および複数のハイパーパラメータ設定を用いて学習モデルを探索してもよい。すなわち、複数のハイパーパラメータ設定に加えて複数のデータセットを所定の最適化手法に従って最適化してもよい。
【0197】
具体的には、学習モデル生成部113は、所定の最適化手法に従って学習フェーズと検証フェーズとを繰り返すことで、学習モデルを探索する。上記学習フェーズでは、学習モデル生成部113は、複数の前処理後内容パラメータセットのそれぞれに対し、注目機械学習アルゴリズムの複数のハイパーパラメータ設定をそれぞれ適用することにより、複数の学習モデルを生成する。上記検証フェーズでは、学習フェーズにおいて生成された複数の学習モデルのそれぞれの指標値を、複数のデータセットのそれぞれの検証データを用いて取得する。
【0198】
この場合、所定の最適化手法において、探索パラメータリストは、ハイパーパラメータとデータセットの順位とを含む。すなわち、実施形態1と比較し、探索パラメータとしてデータセットの順位が追加される。ここで、データセットの順位は、所定の順位付けに従って4FL×5FN個のデータセットに付与される。例えば、データセットの順位は、図10における列番号である。
【0199】
学習モデル生成部113は、このような探索パラメータを上述した所定の最適化手法に従って最適化する。これにより、学習モデル生成部113は、複数の前処理後内容パラメータセットのそれぞれに対し、注目機械学習アルゴリズムの複数のハイパーパラメータ設定をそれぞれ適用することによって得られる複数の学習モデルのうち、ベター学習モデルを見出す。そして、学習モデル生成部113は、第1図面種類内容パラメータセット~第N図面種類内容パラメータセットにおける、複数種類の機械学習アルゴリズムごとに見出したベター学習モデルのうち、適正学習モデルを選択する。
【0200】
変形例1では、複数のハイパーパラメータ設定に加えて複数のデータセットを所定の最適化手法に従って最適化することにより、学習モデルを探索している。そのため、全パターンのデータセット1~4FL×5FNごとに学習モデルを探索する必要がないため、適正学習モデルを見出すまでに要する学習時間の延伸をさらに抑制することができる。
【0201】
〔変形例2〕
なお、学習モデル生成部113は、所定の最適化手法に従って、複数のデータセットおよび複数種類の機械学習アルゴリズムの複数のハイパーパラメータ設定を用いて学習モデルを探索してもよい。すなわち、複数種類の機械学習アルゴリズムについても所定の最適化手法に従って最適化してもよい。
【0202】
具体的には、学習モデル生成部113は、所定の最適化手法に従って学習フェーズと検証フェーズとを繰り返すことで、学習モデルを探索する。上記学習フェーズでは、学習モデル生成部113は、複数のハイパーパラメータ設定をそれぞれ設定した複数種類の機械学習アルゴリズムのそれぞれを、複数の前処理後内容パラメータセットのそれぞれに適用することにより、複数の学習モデルを生成する。上記検証フェーズでは、学習フェーズにおいて生成された複数の学習モデルのそれぞれの指標値を、複数のデータセットのそれぞれの検証データを用いて取得する。
【0203】
この場合、所定の最適化手法において、探索パラメータリストは、機械学習アルゴリズムの順位とハイパーパラメータとデータセットの順位とを含む。すなわち、変形例1と比較し、探索パラメータとして機械学習アルゴリズムの順位が追加される。ここで、機械学習アルゴリズムの順位は、所定の順位付けに従って複数種類の機械学習アルゴリズムに付与される。例えば、1.重回帰分析、2.決定木分析、3.ランダムフォレスト、・・・のように、複数種類の機械学習アルゴリズムに対して順位付けされる。なお、この場合、各機械学習アルゴリズムに固有のハイパーパラメータ(例えば、DTにおける木の深さ、NNにおける層数など)については固定されることが好ましい。
【0204】
学習モデル生成部113は、このような探索パラメータを上述した所定の最適化手法に従って最適化する。これにより、学習モデル生成部113は、複数のハイパーパラメータ設定をそれぞれ設定した複数種類の機械学習アルゴリズムのそれぞれを、複数の前処理後内容パラメータセットのそれぞれに適用することにより得られる複数の学習モデルのうち、ベター学習モデルを見出す。そして、学習モデル生成部113は、第1図面種類内容パラメータセット~第N図面種類内容パラメータセットにおけるベター学習モデルのうち、適正学習モデルを選択する。
【0205】
変形例2では、複数種類の機械学習アルゴリズムについても所定の最適化手法に従って最適化することにより、学習モデルを探索している。そのため、複数種類の機械学習アルゴリズムごとに学習モデルを探索する必要がないため、適正学習モデルを見出すまでに要する学習時間の延伸をさらに抑制することができる。
【0206】
〔変形例3〕
実施形態1では、最適化手法としてネルダー・ミード法が使用されている場合を例示した。但し、当業者であれば明らかである通り、本発明の一態様に係る最適化手法として、その他の手法が採用されてもよい。
【0207】
最適化手法の別の例としては、パウエル法(Powell method)を挙げることができる。パウエル法も、ネルダー・ミード法と同様に、微分法に依らずに、多次元の非線形最適化問題を解くことができる。従って、ネルダー・ミード法に替えてパウエル法を用いて、図面検索精度の極大値を導出することもできる。
【0208】
また、1次元の非線形最適化問題を解く場合には、最適化手法として黄金分割法を使用することもできる。黄金分割法は、微分法に依らずに、1次元の非線形最適化問題を解くことができる。黄金分割法によれば、微分法に依らずに、1次元の非線形関数として表される図面検索精度の極大値を導出できる。
【0209】
当業者であれば明らかである通り、本発明の一態様に係る最適化手法は、特に限定されない。但し、アルゴリズムの実装の容易化の観点からは、本発明の一態様に係る最適化手法は、微分法に依らない最適化手法、すなわちDFO(Derivative-Free Optimization)であることが好ましい。ネルダー・ミード法、パウエル法、および黄金分割法はいずれも、DFOの例である。
【0210】
また、複数の前処理後内容パラメータセットは離散的な複数の前処理後内容パラメータ(例えば、前処理[O]が施された後の内容パラメータ)を含むことから、本発明の一態様に係る最適化手法は、離散的な複数の前処理後内容パラメータに対して適用可能な最適化手法であることが好ましい。ネルダー・ミード法、パウエル法、および黄金分割法はいずれも、離散的な変数に対して適用可能な最適化手法の例である。
【0211】
〔ソフトウェアによる実現例〕
情報処理システム100s・100(以下、「装置」と呼ぶ)の機能は、当該装置としてコンピュータを機能させるためのプログラムであって、当該装置の各制御ブロック(特に制御装置10s・10に含まれる各部)としてコンピュータを機能させるためのプログラムにより実現することができる。
【0212】
この場合、上記装置は、上記プログラムを実行するためのハードウェアとして、少なくとも1つの制御装置(例えばプロセッサ)と少なくとも1つの記憶装置(例えばメモリ)を有するコンピュータを備えている。この制御装置と記憶装置により上記プログラムを実行することにより、上記各実施形態で説明した各機能が実現される。
【0213】
上記プログラムは、一時的ではなく、コンピュータ読み取り可能な、1または複数の記録媒体に記録されていてもよい。この記録媒体は、上記装置が備えていてもよいし、備えていなくてもよい。後者の場合、上記プログラムは、有線または無線の任意の伝送媒体を介して上記装置に供給されてもよい。
【0214】
また、上記各制御ブロックの機能の一部または全部は、論理回路により実現することも可能である。例えば、上記各制御ブロックとして機能する論理回路が形成された集積回路も本発明の範疇に含まれる。この他にも、例えば量子コンピュータにより上記各制御ブロックの機能を実現することも可能である。
【0215】
上述の各説明から明らかである通り、上記各実施形態で説明した各処理は、AI(Artificial Intelligence:人工知能)に実行させることができる。この場合、AIは上記制御装置で動作するものであってもよいし、他の装置(例えばエッジコンピュータまたはクラウドサーバ等)で動作するものであってもよい。
【0216】
〔付記事項〕
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
【符号の説明】
【0217】
1 情報処理装置
10 制御装置
11 学習装置(モデル生成装置)
100 情報処理システム
111 過去図面データ取得部
112 過去図面内容パラメータ取得部(取得部)
113 学習モデル生成部(学習部)
114 学習用前処理部(前処理部)
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19