(57)【特許請求の範囲】
【請求項１】
コンピュータに、
アプリケーションプログラムの用途に応じた学習モデルごとに、前記アプリケーションプログラムを用いて前記学習モデルについて入力された複数のデータの各データと、前記学習モデルとによって得られる、前記学習モデルについて入力された複数のデータの各データに含まれるいずれかのデータについての予測データと、前記学習モデルについて入力された複数のデータの各データに含まれるいずれかのデータについての指定されたデータと、の不一致度を算出し、
前記学習モデルごとに、前記学習モデルについて入力された各データについて算出した前記不一致度が第１度合を超えたか否かを判定し、
前記学習モデルごとに、前記学習モデルについて入力された各データについて算出した前記不一致度が第２度合を超えたか否かを判定し、
前記学習モデルごとに、前記学習モデルについて入力された各データのうち前記不一致度が前記第２度合を超えたと判定したデータの数と、前記学習モデルについて入力された複数のデータに含まれるデータの数との比率を算出し、
前記アプリケーションプログラムの用途に応じた前記学習モデルのうち、いずれかの学習モデルについて入力された複数のデータのいずれかのデータについて算出された前記不一致度が前記第１度合を超えたと判定した場合に、前記不一致度を前記いずれかの学習モデルの提供元の装置に送信し、
前記アプリケーションプログラムを利用するいずれかのユーザに対応する前記学習モデルの識別情報の通知要求を受信し、
前記アプリケーションプログラムを利用する複数のユーザの各ユーザの識別情報と、前記アプリケーションプログラムの用途に応じた複数の学習モデルのうちの前記各ユーザに対応する学習モデルの識別情報とを対応付けて記憶する記憶部を参照して、受信した前記通知要求に応じて、前記いずれかのユーザの識別情報に対応付けられた前記学習モデルの識別情報と、前記いずれかのユーザの識別情報に対応付けられた前記学習モデルについて算出された前記比率とを、前記通知要求の要求元の装置に送信する、
処理を実行させることを特徴とする学習モデル差分提供プログラム。
【請求項２】
前記学習モデルごとに、前記学習モデルについて算出された前記比率が所定率を超えているか否かを判定し、
前記アプリケーションプログラムの用途に応じた前記学習モデルのうち、いずれかの学習モデルについて算出された前記比率が前記所定率を超えていると判定した場合に、前記いずれかの学習モデルについて算出された前記比率を前記いずれかの学習モデルの提供元の装置に送信する、
処理を実行させることを特徴とする請求項１に記載の学習モデル差分提供プログラム。
【請求項３】
前記コンピュータに、
前記アプリケーションプログラムを利用するユーザに対応する装置に、算出した前記比率を送信する、
処理を実行させることを特徴とする請求項２に記載の学習モデル差分提供プログラム。
【請求項４】
前記アプリケーションプログラムが、対象装置の設計を支援するアプリケーションプログラムであって、
前記不一致度を算出する処理では、
前記アプリケーションプログラムを用いて入力された設計データと前記学習モデルとに基づいて前記設計データ内のいずれかの項目についての予測データと、前記いずれかの項目についての指定されたデータと、の不一致度を算出する、
ことを特徴とする請求項１〜３のいずれか一つに記載の学習モデル差分提供プログラム。
【請求項５】
コンピュータが、
アプリケーションプログラムの用途に応じた学習モデルごとに、前記アプリケーションプログラムを用いて前記学習モデルについて入力された複数のデータの各データと、前記学習モデルとによって得られる、前記学習モデルについて入力された複数のデータの各データに含まれるいずれかのデータについての予測データと、前記学習モデルについて入力された複数のデータの各データに含まれるいずれかのデータについての指定されたデータと、の不一致度を算出し、
前記学習モデルごとに、前記学習モデルについて入力された各データについて算出した前記不一致度が第１度合を超えたか否かを判定し、
前記学習モデルごとに、前記学習モデルについて入力された各データについて算出した前記不一致度が第２度合を超えたか否かを判定し、
前記学習モデルごとに、前記学習モデルについて入力された各データのうち前記不一致度が前記第２度合を超えたと判定したデータの数と、前記学習モデルについて入力された複数のデータに含まれるデータの数との比率を算出し、
前記アプリケーションプログラムの用途に応じた前記学習モデルのうち、いずれかの学習モデルについて入力された複数のデータのいずれかのデータについて算出された前記不一致度が前記第１度合を超えたと判定した場合に、前記不一致度を前記いずれかの学習モデルの提供元の装置に送信し、
前記アプリケーションプログラムを利用するいずれかのユーザに対応する前記学習モデルの識別情報の通知要求を受信し、
前記アプリケーションプログラムを利用する複数のユーザの各ユーザの識別情報と、前記アプリケーションプログラムの用途に応じた複数の学習モデルのうちの前記各ユーザに対応する学習モデルの識別情報とを対応付けて記憶する記憶部を参照して、受信した前記通知要求に応じて、前記いずれかのユーザの識別情報に対応付けられた前記学習モデルの識別情報と、前記いずれかのユーザの識別情報に対応付けられた前記学習モデルについて算出された前記比率とを、前記通知要求の要求元の装置に送信する、
処理を実行することを特徴とする学習モデル差分提供方法。
【請求項６】
アプリケーションプログラムを実行する第１端末装置と、
前記アプリケーションプログラムの用途に応じた学習モデルごとの提供元の第２端末装置と、
前記アプリケーションプログラムを用いて入力されたデータを管理する情報処理装置と、
を有する学習モデル差分提供システムであって、
前記情報処理装置が、
前記アプリケーションプログラムの用途に応じた前記学習モデルごとに、前記アプリケーションプログラムを用いて前記学習モデルについて入力された複数のデータの各データと、前記学習モデルとによって得られる、前記学習モデルについて入力された複数のデータの各データに含まれるいずれかのデータについての予測データと、前記学習モデルについて入力された複数のデータの各データに含まれるいずれかのデータについての指定されたデータと、の不一致度を算出し、
前記学習モデルごとに、前記学習モデルについて入力された各データについて算出した前記不一致度が第１度合を超えたか否かを判定し、
前記学習モデルごとに、前記学習モデルについて入力された各データについて算出した前記不一致度が第２度合を超えたか否かを判定し、
前記学習モデルごとに、前記学習モデルについて入力された各データのうち前記不一致度が前記第２度合を超えたと判定したデータの数と、前記学習モデルについて入力された複数のデータに含まれるデータの数との比率を算出し、
前記アプリケーションプログラムの用途に応じた前記学習モデルのうち、いずれかの学習モデルについて入力された複数のデータのいずれかのデータについて算出された前記不一致度が前記第１度合を超えたと判定した場合に、前記不一致度を前記いずれかの学習モデルの提供元の前記第２端末装置に送信し、
前記アプリケーションプログラムを利用するいずれかのユーザに対応する前記学習モデルの識別情報の通知要求を、前記第１端末装置から受信し、
前記アプリケーションプログラムを利用する複数のユーザの各ユーザの識別情報と、前記アプリケーションプログラムの用途に応じた複数の学習モデルのうちの前記各ユーザに対応する学習モデルの識別情報とを対応付けて記憶する記憶部を参照して、受信した前記通知要求に応じて、前記いずれかのユーザの識別情報に対応付けられた前記学習モデルの識別情報と、前記いずれかのユーザの識別情報に対応付けられた前記学習モデルについて算出された前記比率とを、前記通知要求の要求元の前記第１端末装置に送信する、
処理を実行することを特徴とする学習モデル差分提供システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、学習モデル差分提供プログラム、学習モデル差分提供方法、および学習モデル差分提供システムに関する。
【背景技術】
【０００２】
近年、ユーザがインターネットを介してアプリケーションのサービスを受けるクラウド型アプリケーションと呼ばれる技術がある。以下クラウド型アプリケーションを省略してクラウド型アプリと称す。ユーザが使用する装置には、クラウド型アプリがインストールされる。装置にインストールされたクラウド型アプリの設定情報、編集データ、利用履歴などは、ネットワーク上のサーバに記憶される。
【０００３】
また、データから得られる規則性やパターンを利用して将来の予測を行う機械学習と呼ばれる技術がある。例えば、機械学習の学習モデルでは、入力データを受け取り、受け取ったデータに対する予測値を計算して予測値を出力する。
【０００４】
また、先行技術としては、初期設定の学習データを用いて作成された既存の識別器と、新たに設定された学習データを用いて作成された新規の識別器との判別精度をそれぞれ算出し、既存の識別器を判別精度に優れた識別器に切り替える技術がある（例えば、以下特許文献１参照。）。また、先行技術としては、商品の予測量を算出する複数の学習モデルを有し、過去の予測累積量と実績累積量との差分から算出した予測誤差に基づいて各学習モデルの評価値を算出し、各評価値に基づいて複数の学習モデルから一の学習モデルを選択する技術がある（例えば、以下特許文献２参照。）。また、先行技術としては、入力データから適用可能な相関発見用の学習モデルを判断して、各学習モデルに対して任意のパラメータセットを適用して予測結果を算出し、予測結果と入力データとの残差に基づいて、最適な学習モデルを選択する（例えば、以下特許文献３参照。）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】国際公開第２０１０／０５０３３４号
【特許文献２】特開２００６−８５６４６号公報
【特許文献３】特開２００６−２３５８４８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、従来、機械学習の学習モデルの提供者は学習モデルによって得られる予測データが正しいか否かを判断することができないという問題点がある。例えば、予測データが正しいか否かを判断できないと、学習モデルの修正などを行うことが難しい。
【０００７】
１つの側面では、本発明は、学習モデルのずれに関する情報を学習モデルの提供側に提供できる学習モデル差分提供プログラム、学習モデル差分提供方法、および学習モデル差分提供システムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の一側面によれば、アプリケーションプログラムを用いて入力されたデータと、前記アプリケーションプログラムの用途に応じた学習モデルとによって得られる、前記入力されたデータに含まれるいずれかのデータについての予測データと、前記いずれかのデータについての指定されたデータと、の不一致度を算出し、算出した前記不一致度が第１度合を超えたか否かを判定し、前記不一致度が前記第１度合を超えたと判定した場合に、前記不一致度を前記学習モデルの提供元の装置に送信する学習モデル差分提供プログラム、学習モデル差分提供方法、および学習モデル差分提供システムが提案される。
【発明の効果】
【０００９】
本発明の一態様によれば、学習モデルのずれに関する情報を学習モデルの提供側に提供できる。
【図面の簡単な説明】
【００１０】
【図１】図１は、学習モデル差分提供システムによる一動作例を示す説明図である。
【図２】図２は、クラウド型アプリの使用環境例を示す説明図である。
【図３】図３は、機械学習の学習モデル例を示す説明図である。
【図４】図４は、学習モデル提供側による学習モデル管理例を示す説明図である。
【図５】図５は、学習モデルの利用例を示す説明図である。
【図６】図６は、クラウド型アプリにおけるクラウド上の学習モデルの利用例を示す説明図である。
【図７】図７は、学習モデル差分提供システム例を示す説明図である。
【図８】図８は、端末装置ｃのハードウェア構成例を示す説明図である。
【図９】図９は、サーバＳのハードウェア構成例を示す説明図である。
【図１０】図１０は、学習モデル差分提供システムの機能的構成例を示すブロック図である。
【図１１】図１１は、システムが行う処理手順例を示すフローチャートである。
【図１２】図１２は、学習モデルの利用および予測精度の判定の簡単な例を示すタイミングチャートである。
【図１３】図１３は、電気系ＣＡＤの利用例を示す説明図である。
【図１４】図１４は、学習モデルの作成例を示す説明図である。
【図１５】図１５は、ＣＡＤ管理サーバが記憶するテーブル例（その１）を示す説明図である。
【図１６】図１６は、ＣＡＤ管理サーバが記憶するテーブル例（その２）を示す説明図である。
【図１７】図１７は、ＣＡＤ管理サーバが記憶するテーブル例（その３）を示す説明図である。
【図１８】図１８は、ＣＡＤ管理サーバが記憶するテーブル例（その４）を示す説明図である。
【図１９】図１９は、ＣＡＤ管理サーバが記憶するテーブル例（その５）を示す説明図である。
【図２０】図２０は、設計データ例を示す説明図である。
【図２１】図２１は、モデル管理サーバに保持された学習モデル管理テーブル例を示す説明図である。
【図２２】図２２は、学習モデルの登録処理手順を示すシーケンス図である。
【図２３】図２３は、対象者および精度判定段階の選択と精度判定基準の入力例を示す説明図である。
【図２４】図２４は、学習モデルの利用方法の情報例を示す説明図である。
【図２５】図２５は、学習モデルの登録例を示す説明図である。
【図２６】図２６は、モデルＩＤ管理テーブルへの登録例を示す説明図である。
【図２７】図２７は、学習モデルの登録処理手順を示すシーケンス図である。
【図２８】図２８は、モデルＩＤ管理テーブルに関連した各テーブル更新例（その１）を示す説明図である。
【図２９】図２９は、設計データへの反映例を示す説明図である。
【図３０】図３０は、モデルＩＤ管理テーブルに関連した各テーブル更新例（その２）を示す説明図である。
【図３１】図３１は、学習モデルの予測精度判定処理手順例１を示すシーケンス図である。
【図３２】図３２は、予測値の判定例を示す説明図である。
【図３３】図３３は、予測精度の判定例を示す説明図である。
【図３４】図３４は、学習モデルの予測精度判定処理手順例２を示すシーケンス図である。
【図３５】図３５は、学習モデルの予測を利用した設計データかの判定例を示す説明図である。
【図３６】図３６は、アップロードファイルの反映例を示す説明図である。
【図３７】図３７は、学習モデルの分析用データの提供処理手順例を示すシーケンス図である。
【図３８】図３８は、学習モデルＩＤに関連するデータ例を示す説明図である。
【図３９】図３９は、学習モデル更新時のユーザへの通知処理手順例を示すシーケンス図である。
【図４０】図４０は、学習モデルの更新例を示す説明図である。
【図４１】図４１は、学習モデルの更新の通知例を示す説明図である。
【図４２】図４２は、クラウド型アプリが文書作成アプリの例を示す説明図である。
【図４３】図４３は、文書作成アプリの用途に応じた学習モデル例を示す説明図である。
【発明を実施するための形態】
【００１１】
以下に添付図面を参照して、本発明にかかる学習モデル差分提供プログラム、学習モデル差分提供方法、および学習モデル差分提供システムの実施の形態を詳細に説明する。
【００１２】
図１は、学習モデル差分提供システムによる一動作例を示す説明図である。学習モデル差分提供システム１００は、アプリケーションプログラムの用途に応じた機械学習の予測モデルによって得られる予測データとユーザｕｓに指定されたデータとのずれに関する情報を機械学習の学習モデルの提供者にフィードバック可能なシステムである。アプリケーションプログラムは、以下アプリと称する。機械学習の予測モデルは、以下省略して学習モデルと称する。学習モデルは、入力データを与えると、入力データに基づいて予測データを出力する関数がコーディングされたプログラムである。
【００１３】
従来技術では、学習モデルの提供者は学習モデルによって得られる予測データが正しいか否かを判断することができないという問題点がある。例えば、予測データが正しいか否かを判断できないと、学習モデルの修正などを行うことが難しい。
【００１４】
本実施の形態では、情報処理装置１０１は、アプリでの入力データに基づく学習モデル１０４で得た該データ内のデータに関する予測値と該データに関する指定値との不一致度が高い場合、不一致度を学習モデルの提供元の装置に通知する。これにより、学習モデル１０４のずれに関する情報を学習モデルの提供者に提供できる。したがって、提供者は不一致度に応じて学習モデルの修正を検討することができ、学習モデルの予測精度の向上を支援することができる。
【００１５】
学習モデル差分提供システム１００は、利用者端末装置１０２と、情報処理装置１０１と、提供者端末装置１０３と、を有する。利用者端末装置１０２は、インストールされたアプリを実行する第１端末装置である。利用者端末装置１０２では、ユーザｕｓの操作によりアプリを用いてデータを作成する。ここでのユーザｕｓは、アプリのユーザであり、かつ学習モデル１０４のユーザである。ユーザｕｓは、個人であっても会社のようなグループであってもよい。ここでは、アプリは、クラウド型アプリとする。情報処理装置１０１は、アプリによって作成された電子ファイルであるデータを管理する。また、情報処理装置１０１は、クラウド型アプリの設定情報などを管理する。提供者端末装置１０３は、学習モデル１０４の提供者が使用可能な装置であって、学習モデル１０４の提供元の第２端末装置である。学習モデル１０４の提供者はサービサーｓｒとも称する。サービサーｓｒは、例えば、個人でも会社であってもよい。ここで、利用者端末装置１０２と、提供者端末装置１０３とは、それぞれ複数であってもよいが、ここでは理解の容易化のために、それぞれ１つとする。
【００１６】
また、情報処理装置１０１は、入力されたデータ１０５と、学習モデル１０４とによって得られる、データ１０５に含まれるいずれかのデータについての予測データ１０６と、いずれかのデータについての指定された反映データ１０７と、の不一致度を算出する。入力されたデータ１０５はアプリを用いて入力されたデータである。予測データ１０６と反映データ１０７とは、数値、文字や文字列ある。不一致度は、予測データ１０６と反映データ１０７とが不一致である度合を示す。不一致度は、例えば、文字や数値で表される。不一致度としては、例えば、予測データ１０６と反映データ１０７とが一致しているか否かを示す情報が挙げられる。また、不一致度としては、例えば、予測データ１０６と反映データ１０７との差分値が挙げられる。
【００１７】
例えば、アプリがＣＡＤ（Ｃｏｍｐｕｔｅｒ  Ａｉｄｅｄ  Ｄｅｓｉｇｎ）の場合、アプリを用いて入力されたデータ１０５とは、設計データである。そして、設計データに含まれるいずれかのデータは、設計データに含まれるいずれかの項目である。いずれかのデータについての予測データ１０６とは、項目についての予測値である。例えば、項目が基板数の項目であれば、予測値は基板数である。学習モデル１０４は、例えば、設計データを入力データとして、基板数についての予測値を予測する。ＣＡＤの用途に応じた学習モデル１０４は、例えば、ＣＡＤによって設計される製品の種別などに応じて作成されてもよい。いずれかのデータについての指定された反映データ１０７とは、ユーザｕｓによって指定された基板数である。
【００１８】
また、例えば、アプリが文書作成アプリの場合、アプリを用いて入力されたデータ１０５とは、文書データである。学習モデル１０４は、例えば、文字の漢字変換候補である。文書データに含まれるいずれかのデータは、文書データに含まれる変換対象の文字列である。いずれかのデータについての予測データ１０６は、例えば、変換対象の文字列の変換候補である。ここでの変換とは、例えば、入力文字の漢字変換が挙げられる。
【００１９】
図１の例では、予測データ１０６が６であり、反映データ１０７が４である。情報処理装置１０１は、不一致度として、予測データ１０６と反映データ１０７との差分値を算出する。図１の例では、不一致度は２である。
【００２０】
つぎに、情報処理装置１０１は、算出した不一致度が第１度合を超えたか否かを判定する。第１度合は予め定められた情報である。第１度合は不一致度と同様に文字や数値で表される。図１の例では、不一致度が差分値であるため、第１度合は、数値で表され、１である。図１の例では、情報処理装置１０１は、不一致度が第１度合を超えたと判定する。
【００２１】
そして、情報処理装置１０１は、不一致度が第１度合を超えたと判定した場合に、不一致度を提供者端末装置１０３に送信する。不一致度を送信する処理としては、情報処理装置１０１は、例えば、不一致度と学習モデル１０４の識別情報とを関連付けてｅメールやメッセージなどを提供者端末装置１０３に送信する。これにより、予測データ１０６のずれに関する情報をサービサーｓｒに提供でき、サービサーｓｒによる学習モデル１０４の作成を支援することができる。
【００２２】
図１では、アプリがクラウド型アプリのため、利用者端末装置１０２と情報処理装置１０１とを異なる例としたが、アプリがクラウド型アプリでない場合、利用者端末装置１０２と情報処理装置１０１とが同じであってもよい。
【００２３】
本実施の形態では、アプリがクラウド型アプリを前提として、複数のユーザｕｓによってクラウド型アプリが利用される場合を想定した学習モデル差分提供システム１００例を説明する。ここで、学習モデル差分提供システム１００の詳細例の説明の前に、クラウド型アプリや学習モデル１０４について簡単に説明する。
【００２４】
図２は、クラウド型アプリの使用環境例を示す説明図である。近年、ユーザｕｓがインターネットを介してアプリのサービスを受けるクラウド型アプリと呼ばれる技術がある。ユーザｕｓが使用する各装置にはクラウド型アプリがインストールされてある。ユーザｕｓが使用する装置としては、例えば、ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）や携帯端末装置などのローカルな装置、クラウド型の装置、ＶＭ（Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ）などが挙げられる。
【００２５】
例えば、ユーザｕｓが使用する装置としてクラウド型の装置を利用する場合、ユーザｕｓは、ユーザｕｓが操作可能なＰＣや携帯端末装置を介して、クラウド型アプリがインストールされたクラウド型の装置にアクセスすることによりクラウド型アプリを利用できる。例えば、ユーザｕｓが使用する装置としてＶＭを利用する場合、サーバがアプリケーションプログラムを実行し、利用者が操作可能な装置は、リモートデスクトップとしてサーバから転送された画面の画像を表示する。図２の例では、ＰＣや携帯端末装置などのローカルな装置が利用者端末装置１０２である。
【００２６】
また、各利用者端末装置１０２の利用者情報２０１はアプリ管理サーバ２００などに保存される。各利用者端末装置１０２にインストールされたクラウド型アプリのアプリ設定情報２０２などは、クラウド型アプリ管理サーバ２００などに保存される。これにより、ユーザｕｓは、クラウド型アプリがインストールされたどの装置を使用してもサーバに保存された設定情報などを利用することにより最新の設定状態によってクラウド型アプリを使用することができる。さらに、クラウド型アプリによって編集されるアプリ編集ファイル２０３もクラウド上のサーバなどに保存される。これにより、ユーザｕｓは、クラウド型アプリがインストールされたいずれの利用者端末装置１０２を使用してもクラウド型アプリ管理サーバ２００に保存されたアプリ編集ファイル２０３などを利用することができる。これにより、最新のアプリ編集ファイル２０３によってクラウド型アプリを使用することができる。
【００２７】
また、クラウド型アプリ管理サーバ２００にファイルをアップロードせずに利用者が操作可能な装置に保存することも可能である。また、利用者端末装置１０２による操作やファイル編集などの利用履歴についてはアプリ利用ログ２０４としてクラウド型アプリ管理サーバ２００に保存される。
【００２８】
図３は、機械学習の学習モデル例を示す説明図である。学習モデル３００とは、入力データに基づいて予測データを出力する関数がコーディングされたプログラムである。学習モデル３００については、アプリの用途ごとに作成される。
【００２９】
また、機械学習とは、データから規則性やパターンを見つけ、規則性やパターンを利用して将来の予測を行う技術である。例えば、機械学習の学習モデル３００では、入力データを受け取り、受け取ったデータに対する予測データを計算して予測データを出力する。
【００３０】
学習モデル３００の運用においては、学習モデル３００を利用する利用側と、学習モデル３００を作成および提供する提供側と、に分かれる。
【００３１】
図４は、学習モデル提供側による学習モデル管理例を示す説明図である。図４（１）に示すように、学習モデル４０１の提供者端末装置１０３は、クラウド上のモデル管理サーバ４００に学習モデル４０１と、提供者情報４０２と、学習モデル４０１の利用方法の情報４０３をクラウド上のモデル管理サーバ４００へ送信する。学習モデル４０１の提供側が使用可能な装置は、ローカルのＰＣや携帯端末装置だけでなく、クラウド上のサーバ、ＶＭなどが挙げられる。
【００３２】
図４（２）に示すように、クラウド上のモデル管理サーバ４００は、提供された学習モデル４０１、利用方法の情報４０３を管理する。モデル管理サーバ４００は、学習モデル４０１の利用方法の情報４０３と学習モデル４０１の指定方法を学習モデル４０１のユーザｕｓ側に公開する。
【００３３】
図５は、学習モデルの利用例を示す説明図である。まず、図５（１）に示すように、学習モデル４０１利用側は、利用者端末装置１０２によって使用する学習モデル４０１の指示および学習モデル４０１に与える入力データをモデル管理サーバ４００へ送信する。
【００３４】
つぎに、図５（２）に示すように、モデル管理サーバ４００は、指定された学習モデル４０１を使用して入力データから予測データを算出する。そして、図５（３）に示すように、モデル管理サーバ４００は、学習モデル４０１から計算された予測データである出力データを利用者端末装置１０２へ送信する。
【００３５】
図６は、クラウド型アプリにおけるクラウド上の学習モデルの利用例を示す説明図である。クラウド型アプリ管理サーバ２００とモデル管理サーバ４００とは同一の装置であってもよいが、本実施の形態では、クラウド型アプリの機能と学習モデル４０１の機能とを区別するために異なる装置として説明する。
【００３６】
学習モデル４０１の提供者であるサービサーｓｒは、クラウド型アプリ用の学習モデル４０１を作成して提供する。モデル管理サーバ４００は、クラウド型アプリに関係する用途ごとの複数の学習モデル４０１を保管および管理する。学習モデル４０１利用側は、クラウド型アプリの用途に応じた学習モデル４０１の指定と学習モデル４０１の入力データをモデル管理サーバ４００に送信し、モデル管理サーバ４００から学習モデル４０１の出力値を出力する。学習モデル４０１のユーザｕｓは、モデル管理サーバ４００から取得した学習モデル４０１の出力値をクラウド型編集ファイルに反映する。
【００３７】
（学習モデル差分提供システム１００例）
図７は、学習モデル差分提供システム例を示す説明図である。学習モデル差分提供システム１００は、例えば、利用者端末装置１０２と、クラウド型アプリ管理サーバ２００と、モデル管理サーバ４００と、提供者端末装置１０３と、を有する。利用者端末装置１０２と、クラウド型アプリ管理サーバ２００と、モデル管理サーバ４００と、提供者端末装置１０３とは、ネットワークを介して接続される。
【００３８】
利用者端末装置１０２は、クラウド型アプリがインストールされた装置であり、学習モデルのユーザｕｓが使用可能な装置である。利用者端末装置１０２は、例えば、ＰＣや携帯端末装置、クラウド上の装置、ＶＭなどであってもよい。提供者端末装置１０３は、学習モデルの提供側が使用可能な装置である。提供者端末装置１０３は、例えば、ＰＣや携帯端末装置、クラウド上の装置、ＶＭなどであってもよい。
【００３９】
クラウド型アプリ管理サーバ２００は、利用者端末装置１０２によるクラウド型アプリの設定情報、編集データや利用履歴などを管理する。モデル管理サーバ４００は、提供者端末装置１０３によって提供された学習モデルを管理して指示された学習モデルと入力データに基づいて予測値を出力する。
【００４０】
ここで、本実施の形態では、クラウド型アプリがＣＡＤの場合には、クラウド型アプリ管理サーバ２００は、ＣＡＤ管理サーバと称し、クラウド型アプリが文書作成アプリの場合、クラウド型アプリ管理サーバ２００は、文書アプリ管理サーバとも称する。
【００４１】
（端末装置ｃのハードウェア構成例）
つぎに、利用者端末装置１０２や提供者端末装置１０３などの端末装置のハードウェア構成例について説明する。ここでは、利用者端末装置１０２や提供者端末装置１０３を「端末装置ｃ」と表記する。
【００４２】
図８は、端末装置ｃのハードウェア構成例を示す説明図である。端末装置ｃは、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）８０１と、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）８０２と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）８０３と、ディスクドライブ８０４と、ディスク８０５と、を有する。学習モデル差分提供装置は、Ｉ／Ｆ（Ｉｎｔｅｒ／Ｆａｃｅ）８０６と、キーボード８０７と、マウス８０８と、ディスプレイ８０９と、を有する。また、ＣＰＵ８０１と、ＲＯＭ８０２と、ＲＡＭ８０３と、ディスクドライブ８０４と、Ｉ／Ｆ８０６と、キーボード８０７と、マウス８０８と、ディスプレイ８０９とは、バス８００によってそれぞれ接続される。
【００４３】
ここで、ＣＰＵ８０１は、クライアント端末装置ｃｊの全体の制御を司る。ＲＯＭ８０２は、ブートプログラムなどのプログラムを記憶する。ＲＡＭ８０３は、ＣＰＵ８０１のワークエリアとして使用される。ディスクドライブ８０４は、ＣＰＵ８０１の制御にしたがってディスク８０５に対するデータのリード／ライトを制御する。ディスク８０５は、ディスクドライブ８０４の制御で書き込まれたデータを記憶する。ディスク８０５としては、磁気ディスク、光ディスクなどが挙げられる。
【００４４】
Ｉ／Ｆ８０６は、通信回線を通じてＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、インターネットなどのネットワーク８１０に接続され、このネットワーク８１０を介して各サーバなどの他の装置に接続される。そして、Ｉ／Ｆ８０６は、ネットワーク８１０と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。Ｉ／Ｆ８０６には、例えばモデムやＬＡＮアダプタなどを採用することができる。
【００４５】
キーボード８０７やマウス８０８は、利用者の操作により、各種データの入力を受け付けるインターフェースである。ディスプレイ８０９は、ＣＰＵ８０１の指示により、データを出力するインターフェースである。
【００４６】
また、図示を省略するが、端末装置ｃには、カメラから画像や動画を取り込む入力装置やマイクから音声を取り込む入力装置が設けられていてもよい。また、図示を省略するが、端末装置ｃには、プリンタなどの出力装置が設けられていてもよい。
【００４７】
（サーバのハードウェア構成例）
つぎに、クラウド型アプリ管理サーバ２００、モデル管理サーバ４００のハードウェア構成例について説明する。ここでは、クラウド型アプリ管理サーバ２００、モデル管理サーバ４００を「サーバＳ」と表記する。
【００４８】
図９は、サーバＳのハードウェア構成例を示す説明図である。サーバＳは、ＣＰＵ９０１と、ＲＯＭ９０２と、ＲＡＭ９０３と、ディスクドライブ９０４と、ディスク９０５と、Ｉ／Ｆ９０６と、を有する。
【００４９】
ＣＰＵ９０１と、ＲＯＭ９０２と、ＲＡＭ９０３と、ディスクドライブ９０４と、Ｉ／Ｆ９０６とは、バス９００によってそれぞれ接続される。
【００５０】
ここで、ＣＰＵ９０１は、サーバＳの全体の制御を司る。ＲＯＭ９０２は、各種プログラムを記憶する。ＲＯＭ９０２に記憶されるプログラムは、ＣＰＵ９０１にロードされることにより、コーディングされている処理をＣＰＵ９０１に実行させる。ＲＡＭ９０３はＣＰＵ９０１のワークエリアとして使用される。
【００５１】
Ｉ／Ｆ９０６は、通信回線を通じてネットワーク８１０に接続され、ネットワーク８１０を介して各端末装置ｃなどの他の装置に接続される。そして、Ｉ／Ｆ９０６は、ネットワーク８１０と内部のインターフェースを司り、他のコンピュータからのデータの入出力を制御する。Ｉ／Ｆ９０６には、例えば、モデムやＬＡＮアダプタなどを採用することができる。
【００５２】
ディスクドライブ９０４は、ＣＰＵ９０１の制御に従ってディスク９０５に対するデータのリード／ライトを制御する。ディスク９０５は、ディスクドライブ９０４の制御で書き込まれたデータを記憶する。ディスク９０５としては、例えば、磁気ディスク、光ディスクなどが挙げられる。
【００５３】
また、サーバＳは、上述した構成部のほか、例えば、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）、キーボード、マウス、ディスプレイなどを有することにしてもよい。
【００５４】
（学習モデル差分提供システムの機能的構成例）
図１０は、学習モデル差分提供システムの機能的構成例を示すブロック図である。学習モデル差分提供システム１００は、例えば、利用者端末装置１０２と、クラウド型アプリ管理サーバ２００と、モデル管理サーバ４００と、提供者端末装置１０３と、を有する。
【００５５】
クラウド型アプリ管理サーバ２００は、記憶部１０００と、受信部１００１と、第１算出部１００２と、第１判定部１００３と、送信部１００４と、第２算出部１００５と、第２判定部１００６と、を有する。記憶部１０００は、例えば、ＲＯＭ９０２、ＲＡＭ９０３、ディスク９０５などの記憶装置である。受信部１００１から第２判定部１００６までの制御部の処理は、例えば、図９に示すＣＰＵ９０１がアクセス可能なＲＯＭ９０２、ＲＡＭ９０３、ディスク９０５などの記憶装置に記憶されたプログラムにコーディングされている。そして、ＣＰＵ９０１が記憶装置から該プログラムを読み出して、プログラムにコーディングされている処理を実行する。これにより、制御部の処理が実現される。
【００５６】
記憶部１０００には、ユーザｕｓごとに、利用者情報、クラウド型アプリの設定情報、クラウド型アプリによって作成中または作成後のデータなどが記憶される。また、記憶部１０００には、学習モデルを管理するテーブルが記憶される。学習モデルを管理するテーブルには、例えば、学習モデルごとに学習モデルを利用したユーザｕｓ、学習モデルによって予測された予測情報、実際の反映データなどが記憶される。各種情報の例については、図１１以降のクラウド型アプリが電気系のＣＡＤの場合を例に挙げて説明する。
【００５７】
受信部１００１は、ネットワーク８１０を介して、利用者端末装置１０２からの各種データを受信する。送信部１００４は、ネットワーク８１０を介して、各種データを利用者端末装置１０２へ送信する。また、受信部１００１は、モデル管理サーバ４００からの各種データを受信する。送信部１００４は、ネットワーク８１０を介して、各種データをモデル管理サーバ４００へ送信する。また、受信部１００１は、ネットワーク８１０を介して、提供者端末装置１０３からの各種データを受信する。送信部１００４は、ネットワーク８１０を介して、各種データをモデル管理サーバ４００へ送信する。
【００５８】
第１算出部１００２は、アプリを用いて入力されたデータと、学習モデルとによって得られる、入力されたデータに含まれるいずれかのデータについての予測データと、いずれかのデータについての指定された反映データと、の不一致度を算出する。
【００５９】
つぎに、第１判定部１００３は、算出した不一致度が第１度合を超えたか否かを判定する。第１度合は、学習モデルのサービサーｓｒなどによって予め定められ、記憶部１０００などに記憶される。
【００６０】
送信部１００４は、不一致度が第１度合を超えたと判定した場合に、不一致度を提供者端末装置１０３に送信する。
【００６１】
また、第１判定部１００３は、算出した不一致度が第２度合を超えたか否かを判定する。第１度合は、学習モデルのサービサーｓｒなどによって予め定められ、記憶部１０００などに記憶される。第２度合は、例えば、第１度合と同じ、または第１度合よりも低く設定される。本実施の形態では、第２度合は第１度合よりも低くする。これにより、学習モデルによる予測データと実際の反映データとのずれを段階的に評価できる。
【００６２】
また、第２算出部１００５は、各データのうち不一致度が第２度合を超えたと判定したデータの数と、各データの数との比率を算出する。学習モデルが複数回利用される場合において、比率が、どの程度一致していないかの指標となる。
【００６３】
第２判定部１００６は、算出した比率が所定率を超えているか否かを判定する。所定率は学習モデルのサービサーｓｒなどによって予め定められ、記憶部１０００などに記憶される。
【００６４】
送信部１００４は、比率が所定率を超えていると判定した場合に、比率を提供者端末装置１０３に送信する。また、送信部１００４は、算出した比率を利用者端末装置１０２に送信する。
【００６５】
ここで、記憶部１０００には、複数のユーザｕｓの各ユーザｕｓの識別情報と、アプリの用途に応じた複数の学習モデルのうちの各ユーザｕｓに対応する学習モデルの識別情報とを対応付けて記憶される。学習モデルの識別情報は、学習モデルＩＤ（ＩＤｅｎｔｉｆｉｃａｔｉｏｎ）である。ここでユーザｕｓの識別情報については、ユーザアカウントとも称する。ここで、ユーザアカウントは、例えば、ｅメールアドレスやメッセージアドレスなどが使用される。
【００６６】
受信部１００１は、アプリを利用するいずれかのユーザｕｓに対応する学習モデルの識別情報の通知要求を受信する。
【００６７】
送信部１００４は、受信した通知要求に応じて、いずれかのユーザｕｓのユーザアカウントに対応付けられた学習モデルの学習モデルＩＤと、いずれかのユーザｕｓに対応する学習モデルについて算出した比率と、を通知要求の要求元の装置に送信する。
【００６８】
これにより、ユーザｕｓは、使用可能な学習モデルの一覧を参照するとともに、予測精度を参照することができる。このため、ユーザｕｓは、予測精度を基に、利用したい学習モデルを選択することができる。
【００６９】
モデル管理サーバ４００は、記憶部１０１０と、受信部１０１１と、モデル実行部１０１２と、送信部１０１３と、を有する。記憶部１０１０は、例えば、ＲＯＭ９０２、ＲＡＭ９０３、ディスク９０５などの記憶装置である。受信部１０１１から送信部１０１３までの制御部の処理は、例えば、図９に示すＣＰＵ９０１がアクセス可能なＲＯＭ９０２、ＲＡＭ９０３、ディスク９０５などの記憶装置に記憶されたプログラムにコーディングされている。そして、ＣＰＵ９０１が記憶装置から該プログラムを読み出して、プログラムにコーディングされている処理を実行する。これにより、制御部の処理が実現される。
【００７０】
記憶部１０１０には、学習モデルが記憶される。受信部１０１１は、学習モデルの識別情報と、学習モデルに与える入力データと、を受信する。学習モデルの識別情報は、例えば、学習モデルＩＤである。
【００７１】
また、本実施の形態では、利用者端末装置１０２および提供者端末装置１０３と、モデル管理サーバ４００とのデータの受け渡しについては、クラウド型アプリ管理サーバ２００を介して行うこととする。
【００７２】
受信部１００１は、学習モデルによる予測要求を受け付ける。受信部１００１は、例えば、予測要求を示す情報を受信する。予測要求を示す情報には、学習モデルＩＤと学習モデルに与える入力データとがある。送信部１００４は、予測要求を示す情報をモデル管理サーバ４００へ転送する。
【００７３】
受信部１０１１は、予測要求を示す情報を受信する。そして、モデル実行部１０１２は、予測要求を示す情報に含まれる学習モデルＩＤが示す学習モデルを記憶部１０１０から取得する。モデル実行部１０１２は、取得した学習モデルに、予測要求を示す情報に含まれる入力データを与えて予測情報を出力する。そして、送信部１０１３は、予測要求に対する予測結果をクラウド型アプリ管理サーバ２００へ送信する。
【００７４】
受信部１００１は、予測要求に対する予測結果を受信する。そして、送信部１００４は、予測要求の送信元の利用者端末装置１０２へ受信した予測結果を送信する。また、記憶部１０００は、受信部１００１によって受信された予測結果を記憶する。
【００７５】
また、受信部１００１は、実際に反映された反映データを受信する。そして、記憶部１０００は、反映データを記憶させる。これにより、第１算出部１００２よる不一致度の算出を行うことができる。
【００７６】
以上を踏まえて、クラウド型アプリが電気系のＣＡＤの場合を例に挙げて、システムにおける詳細な処理について説明する。
【００７７】
図１１は、システムが行う処理手順例を示すフローチャートである。ここでは、電気系ＣＡＤをクラウド型アプリとして利用する例である。提供者端末装置１０３は、モデル管理サーバ４００に対してサービサーｓｒによって学習モデルの登録を行う（ステップＳ１１０１）。利用者端末装置１０２は、ユーザｕｓによってＣＡＤを利用しつつ、ＣＡＤに応じた学習モデルを利用する（ステップＳ１１０２）。
【００７８】
モデル管理サーバ４００は、予測精度を判定する（ステップＳ１１０３）。予測精度は、上述した比率である。モデル管理サーバ４００は、サービサーｓｒへの学習モデル分析用データを提供し（ステップＳ１１０４）、一連の処理を終了する。また、サービサーｓｒは、提供された学習モデル分析用データに応じて学習モデルを改善する。そして、提供者端末装置１０３は、ステップＳ１１０１へ戻る。
【００７９】
図１２は、学習モデルの利用および予測精度の判定の簡単な例を示すタイミングチャートである。まず、利用者端末装置１０２は、使用可能予測処理の一覧を要求する（ステップＳ１２０１）。つぎに、ＣＡＤ管理サーバ２００は、学習モデルの情報を要求する（ステップＳ１２０２）。モデル管理サーバ４００は、学習モデルの情報を送信する（ステップＳ１２０３）。つづいて、ＣＡＤ管理サーバ２００は、使用可能予測処理の一覧を利用者端末装置１０２へ送信する（ステップＳ１２０４）。
【００８０】
利用者端末装置１０２は、使用可能予測処理の一覧から、ユーザｕｓによる予測処理の選択を受け付ける。そして、利用者端末装置１０２は、予測処理用データを作成する（ステップＳ１２０５）。利用者端末装置１０２は、予測処理入力データをＣＡＤ管理サーバ２００へ送信する（ステップＳ１２０６）。
【００８１】
つぎに、ＣＡＤ管理サーバ２００は、予測処理入力データを学習モデル入力データとしてモデル管理サーバ４００へ送信する（ステップＳ１２０７）。
【００８２】
つぎに、モデル管理サーバ４００は、指定された学習モデルと入力データを使用して予測値を計算する（ステップＳ１２０８）。モデル管理サーバ４００は、予測値を学習モデル出力データとしてＣＡＤ管理サーバ２００へ送信する（ステップＳ１２０９）。
【００８３】
ＣＡＤ管理サーバ２００は、受信した学習モデル出力データを利用者端末装置１０２へ送信する（ステップＳ１２１０）。
【００８４】
利用者端末装置１０２は、ユーザｕｓに予測値を確認させる。そして、利用者端末装置１０２は、ユーザｕｓの指示に応じて予測値をそのままもしくは修正された値を設計データに反映する（ステップＳ１２１１）。利用者端末装置１０２は、反映された設計データ情報をＣＡＤ管理サーバ２００へ送信する（ステップＳ１２１２）。
【００８５】
ＣＡＤ管理サーバ２００は、モデル管理サーバ４００に対して学習モデルの予測精度判定基準を要求する（ステップＳ１２１３）。モデル管理サーバ４００は、ＣＡＤ管理サーバ２００からの要求に応じて、予測精度判定基準を送信する（ステップＳ１２１４）。
【００８６】
ＣＡＤ管理サーバ２００は、設計データの予測値の反映個所を分析する。ＣＡＤ管理サーバ２００は、分析結果と予測精度判定基準とに基づいて予測精度を算出する（ステップＳ１２１５）。そして、ＣＡＤ管理サーバ２００は、モデル管理サーバ４００に対して学習モデルのサービサーｓｒ情報を要求する（ステップＳ１２１６）。サービサーｓｒ情報とは、例えば、ｅメールやメッセージアプリなどのアドレス情報である。モデル管理サーバ４００は、モデル管理サーバ４００からの要求に応じて、学習モデルのサービサーｓｒ情報を送信する（ステップＳ１２１７）。そして、ＣＡＤ管理サーバ２００は、学習モデルのサービサーｓｒに対して精度に問題のある学習モデルＩＤを通知する（ステップＳ１２１８）。
【００８７】
図１３は、電気系ＣＡＤの利用例を示す説明図である。ここで、クラウド型アプリの例として、電気系ＣＡＤを例に挙げる。各利用者端末装置１０２には、ＣＡＤがインストールされてある。利用者端末装置１０２は、利用者情報１３００、ＣＡＤ設定情報１３０１、設計データ１３０２、ＣＡＤ利用ログ１３０３をＣＡＤ管理サーバ２００へ送信する。ＣＡＤ管理サーバ２００は、利用者ごとに利用者情報１３００、ＣＡＤ設定情報１３０１、設計データ１３０２、ＣＡＤ利用ログ１３０３を格納する。
【００８８】
そして、ＣＡＤ管理サーバ２００は、利用者端末装置１０２から情報を要求されると、ＣＡＤ設定情報１３０１や設計データ１３０２などを利用者端末装置１０２へ送信する。
【００８９】
図１４は、学習モデルの作成例を示す説明図である。電気系ＣＡＤの用途に応じた学習モデル例について説明する。学習モデル１４００は、電気系ＣＡＤによって作成される設計データ１３０２に含まれるいずれかの項目についてのデータを予測する。予測されるデータとしては、例えば、対象装置に含まれるプリント基板の層数等が挙げられる。また、予測されるデータとしては、例えば、配線層数、配線長などであってもよく特に限定しない。
【００９０】
サービサーｓｒは、例えば、過去の設計データ１４０１から特徴抽出を行う。教師をプリント基板の層数とした場合に、サービサーｓｒは、過去の設計データ１４０１から部品数、ピン数、ネット数、基板サイズなどを特徴として抽出する。そして、サービサーｓｒは、抽出した特徴と教師とに基づいてプリント板の層数を予測する学習モデル１４００を作成する。
【００９１】
電気系ＣＡＤの用途とは、例えば、製品やテクノロジーなどが挙げられる。テクノロジーとは、製造プロセスなどが挙げられる。サービサーｓｒは、製品やテクノロジーごとに設計データ１３０２や特徴を変更することによって複数の学習モデル１４００を作成することができる。図１４の例では、プリント基板の層数を予測値として出力する学習モデル１４００としては、サーバ用の学習モデル１４００−１、ネットワーク機器用の学習モデル１４００−２、スマートフォン用の学習モデル１４００−３などが作成される。
【００９２】
図１５は、ＣＡＤ管理サーバが記憶するテーブル例（その１）を示す説明図である。ＣＡＤ管理サーバ２００は、例えば、モデル管理サーバ４００を管理するための学習モデル管理サーバテーブル１５００を有する。学習モデル管理サーバテーブル１５００は、例えば、ディスク９０５などの記憶装置に記憶される。学習モデル管理サーバテーブル１５００は、サーバ名、ＩＰアドレスのフィールドを有する。学習モデル管理サーバテーブル１５００は、各フィールドに情報が設定されることによりレコード（例えば、１５０１−１など）が記憶される。サーバ名のフィールドには、モデル管理サーバ４００の名称が設定される。ＩＰアドレスのフィールドには、モデル管理サーバ４００のＩＰアドレスが設定される。
【００９３】
図１６は、ＣＡＤ管理サーバが記憶するテーブル例（その２）を示す説明図である。ＣＡＤ管理サーバ２００は、例えば、ユーザｕｓとサービサーｓｒごとに認証用に割り当てたアカウントを管理するアカウントテーブル１６００を有する。アカウントテーブル１６００は、ディスク９０５などの記憶装置に記憶される。また、ＣＡＤ管理サーバ２００は、アカウントごとにファイル格納ディレクトリ１６０１をディスク９０５などの記憶装置に割り当てる。例えば、ＣＡＤ管理サーバ２００では、ＣＡＤ管理サーバ２００に対する認証を行うために、ＣＡＤのユーザｕｓとサービサーｓｒごとにアカウントが作成される。
【００９４】
アカウントテーブル１６００は、アカウント、所属するグループ、サービサーｓｒフラグなどのフィールドを有する。アカウントのフィールドには、ユーザｕｓやサービサーｓｒのｅメールのアドレス情報などが設定される。所属するグループのフィールドには、ユーザｕｓとサービサーｓｒが所属するグループが設定される。ＣＡＤのユーザｕｓやサービサーｓｒは、予めグループ化されてある。ＣＡＤのユーザｕｓは、例えば、設計の製品ごとにグループ化されてある場合、ユーザｕｓがサーバの設計グループに所属している場合、所属するグループのフィールドには、「サーバ」などが設定される。
【００９５】
また、サービサーｓｒフラグのフィールドには、アカウントが示すＣＡＤ管理サーバ２００のユーザｕｓがサービサーｓｒであるか否かを判定する情報が設定される。アカウントが示すＣＡＤ管理サーバ２００のユーザｕｓがサービサーｓｒの場合に、サービサーｓｒフラグのフィールドには、「Ｔｒｕｅ」が設定される。アカウントが示すＣＡＤ管理サーバ２００のユーザｕｓがＣＡＤのユーザｕｓの場合に、サービサーｓｒフラグのフィールドには、「Ｆａｌｓｅ」が設定される。
【００９６】
ファイル格納ディレクトリ１６０１は、ディスク９０５などの記憶装置において、アカウントごとに各種ファイルを記憶可能な記憶領域である。ファイル格納ディレクトリ１６０１には、アカウントテーブル１６００に設定されたアカウントに関連付けられて設計データ１３０２やＣＡＤ利用ログなどが記憶される。ファイル格納ディレクトリ１６０１の各ファイルは、アカウントごとに固有の名前が付される。
【００９７】
図１７は、ＣＡＤ管理サーバが記憶するテーブル例（その３）を示す説明図である。ＣＡＤ管理サーバ２００は、例えば、グループテーブル１７００と所属ユーザテーブル１７１０とを有する。グループテーブル１７００と所属ユーザテーブル１７１０とは、例えば、ディスク９０５などの記憶装置に記憶される。
【００９８】
まず、グループテーブル１７００は、例えば、ＣＡＤのユーザｕｓをグループ化した各グループを管理するためのテーブルである。図１７の例では、ＣＡＤのユーザｕｓは、例えば、製品単位でグループ化されているとする。
【００９９】
グループテーブル１７００は、グループＩＤ、グループ名、所属ユーザテーブル１７１０へのリンクのフィールドを有する。グループテーブル１７００は、各フィールドに情報が設定されることによりレコード（例えば、１７０１−１など）が記憶される。
【０１００】
グループＩＤのフィールドには、グループの識別情報が設定される。グループ名のフィールドには、グループの名称が設定される。所属ユーザテーブル１７１０へのリンクのフィールドには、グループに所属するユーザｕｓのユーザアカウントを管理するテーブルの識別情報が設定される。
【０１０１】
所属ユーザテーブル１７１０は、グループに所属するユーザｕｓのユーザアカウントを管理するためのテーブルである。所属ユーザテーブル１７１０は、グループごとに作成される。所属ユーザテーブル１７１０は、ユーザアカウントのフィールドを有する。ユーザアカウントのフィールドには、グループに属するＣＡＤのユーザｕｓのｅメールアドレス情報などのユーザアカウントが設定される。
【０１０２】
図１８は、ＣＡＤ管理サーバが記憶するテーブル例（その４）を示す説明図である。ＣＡＤ管理サーバ２００は、例えば、予測精度判定段階テーブル１８００を有する。予測精度判定段階テーブル１８００は、例えば、ディスク９０５などの記憶装置に記憶される。
【０１０３】
まず、予測精度判定段階テーブル１８００は、例えば、予測精度を判定可能なタイミングを表すテーブルである。予測精度判定段階テーブル１８００は、判定段階ＩＤ、判定段階名のフィールドを有する。予測精度判定段階テーブル１８００は、各フィールドに情報が設定されることによりレコード（例えば、１８０１−１〜１８０１−４など）が記憶される。判定段階ＩＤのフィールドには、判定段階の識別情報が設定される。判定段階名のフィールドには、判定段階の名称が設定される。ここでは、サービサーｓｒが判定段階名を見れば、サービサーｓｒはどのタイミングで予測精度を判定するかを判別して指定可能な程度に判定段階名が設定される。
【０１０４】
電気設計を例に挙げると、予測精度の判定は、設計フェーズごとに行われてもよい。設計フェーズには、論理設計を行う回路設計完了段階または実装設計開始段階や実装設計完了段階などがある。回路設計では、例えば、利用部品の選定、部品間の論理的な接続関係の決定、制約条件の既定などが行われる。実装設計では、部品配置、部品間の配線などが行われる。判定のタイミングが回路設計完了段階または実装設計開始段階の場合、判定段階名は「回路設計完了時」である。判定のタイミングが実装設計完了段階の場合、判定段階名は「実装設計完了時」である。
【０１０５】
また、予測精度の判定は、設計データ１３０２において予測値に対応する特徴情報が反映された時に行われてもよい。判定のタイミングが予測値に対応する特徴情報が反映された時の場合、判定段階名は「予測値ファイル反映時」である。または、予測精度の判定は、予測値に対応する特徴情報が反映された後に設計データ１３０２が保存された時に行われてもよい。判定のタイミングが、特徴情報が反映された後に最初に設計データ１３０２が保存された時の場合、判定段階名は、「予測値ファイル反映後の１回目のファイル保存時」である。
【０１０６】
図１９は、ＣＡＤ管理サーバが記憶するテーブル例（その５）を示す説明図である。ＣＡＤ管理サーバ２００は、モデルＩＤ管理テーブル１９００を有する。モデルＩＤ管理テーブル１９００は、例えば、ディスク９０５などの記憶装置に記憶される。
【０１０７】
まず、モデルＩＤ管理テーブル１９００は、例えば、学習モデルＩＤに関連するテーブルを管理するためのテーブルである。モデルＩＤ管理テーブル１９００は、学習モデルＩＤ、精度、判定段階ＩＤ、対象ユーザテーブルへのリンク、対象グループテーブルへのリンク、利用履歴テーブルへのリンクのフィールドを有する。モデルＩＤ管理テーブル１９００は、各フィールドに情報が設定されることによりレコード（例えば、１９０１−１〜１９０１−３など）が記憶される。
【０１０８】
学習モデルＩＤのフィールドには、学習モデルの識別情報が設定される。精度のフィールドには、算出される判定精度が設定される。判定段階ＩＤのフィールドには、学習モデルの精度を判定するタイミングを示す判定段階ＩＤが設定される。モデルＩＤ管理テーブル１９００は、判定段階ＩＤによって予測精度判定段階テーブル１８００に関連付けられてある。
【０１０９】
対象ユーザテーブルへのリンクのフィールドには、学習モデルを利用する対象となるＣＡＤのユーザｕｓを示す対象ユーザテーブルへのリンクが設定される。対象ユーザテーブル１９１０は、ユーザアカウントのフィールドを有する。対象ユーザテーブル１９１０は、学習モデルごとに作成される。対象ユーザテーブル１９１０は、例えば、ディスク９０５などの記憶装置に記憶される。ユーザアカウントのフィールドには、学習モデルを利用する対象となるＣＡＤのユーザｕｓのユーザアカウントが設定される。
【０１１０】
また、モデルＩＤ管理テーブル１９００の説明に戻って、対象グループテーブル１９２０へのリンクのフィールドには、ＣＡＤのユーザｕｓをグループ化したグループのうちの学習モデルを利用する対象となるグループの情報が設定される。対象グループテーブル１９２０は、学習モデルごとに作成される。対象グループテーブル１９２０は、対象グループのフィールドを有する。対象グループのフィールドには、学習モデルの対象となるグループのグループ名が設定される。対象グループテーブル１９２０は、例えば、ディスク９０５などの記憶装置に記憶される。
【０１１１】
モデルＩＤ管理テーブル１９００の説明に戻って、利用履歴テーブルへのリンクは、学習モデルの利用履歴テーブルへのリンクが設定される。学習モデルの利用履歴テーブル１９３０は、学習モデルを利用した履歴を示すテーブルである。学習モデルの利用履歴テーブル１９３０は、例えば、ディスク９０５などの記憶装置に記憶される。
【０１１２】
利用履歴テーブル１９３０は、学習モデルごとに作成される。利用履歴テーブル１９３０は、利用ユーザアカウント、入力データ、出力データ、設計データ名、設計データ反映個所、反映データ、予測値に問題ありかのフィールドを有する。利用履歴テーブル１９３０は、各フィールドに情報が設定されることによりレコード（例えば、１９３１−１〜１９３１−３など）が記憶される。
【０１１３】
利用ユーザアカウントのフィールドには、学習モデルを利用したユーザアカウントが設定される。入力データのフィールドには、学習モデルに与えるために利用者端末装置１０２によって作成された入力データが設定される。出力データのフィールドには、学習モデルによって得られる予測値が設定される。設計データ名のフィールドには、学習モデルの利用対象となる設計データ１３０２の名称が設定される。設計データ反映個所のフィールドには、設計データ１３０２に含まれる各データのうちの反映された箇所を示す情報が設定される。例えば、後述する図２０に示すように設計データ１３０２に含まれる基板データ内の基板の層数が反映された場合に、設計データ反映個所のフィールドには、「基板データ−層数」が設定される。
【０１１４】
反映データのフィールドには、指定された反映データが設定される。反映データは、学習モデルによって得られる予測値に対する正解値となる。予測値に問題ありかのフィールドには、予測値に問題があるか否かを示す情報が設定される。予測値に問題があると判定された場合に、予測値に問題ありかのフィールドには、「Ｔｒｕｅ」が設定される。予測値に問題がないと判定された場合に、予測値に問題ありかのフィールドには、「Ｆａｌｓｅ」が設定される。予測値に問題があるか否かの判定方法は後述する。
【０１１５】
図２０は、設計データ例を示す説明図である。設計データ１３０２は、ＣＡＤによって作成されるデータであり、設計対象の装置を示すデータである。設計データ１３０２は、上述したように、アカウントごとのファイル格納ディレクトリ１６０１などに記憶される。
【０１１６】
設計データ１３０２は、例えば、基板仕様データ２００１、基板データ２００２、基板部品データ２００３、基板部品ピンデータ２００４、ネットデータ２００５、ビアデータ２００６、ラインデータ２００７、ラッツネストデータ２００８、バス概略配線データ２００９、禁止領域データ２０１０、制約条件データ２０１１、配線難易度の設定データ２０１２などを有する。
【０１１７】
基板仕様データ２００１は、例えば、基板名、設計ルールなどの項目を含む情報である。設計ルールとしては、線幅や部品間の間隙の間隔などである。
【０１１８】
基板データ２００２は、基板の層数、外形形状、基板の厚さなどの項目を含む情報である。基板部品データ２００３は、部品名、部品ライブラリ名、搭載面、配置座標などの項目を含む情報である。基板部品ピンデータ２００４は、部品名、部品ピン名、ネット番号、座標、層番号などの項目を含む情報である。ネットデータ２００５は、ネットごとにネット番号、ネット名などの項目を含む情報である。
【０１１９】
ビアデータ２００６は、ビアごとに、ネット番号、座標、層番号の項目を含む情報である。ネット番号は、ビアが接続されるネットを示すネット番号である。座標のフィールドには、ビアの座標値が設定される。層番号のフィールドには、ビアが配置されるプリント基板の層が設定される。
【０１２０】
ラインデータ２００７は、ラインごとにネット番号、座標１、座標２、線幅、層番号などの項目を含む情報である。座標１と座標２とは、ラインの開始点の座標値とラインの終点の座標値である。ラインが向きを変えるような配線パターンの場合、ラインデータ２００７は、配線パターンの折り返し点の座標値などを有していてもよい。
【０１２１】
ラッツネストデータ２００８は、ラッツネストごとにラッツネスト名、座標１、座標２、層番号などの項目を含む情報である。バス概略配線データ２００９は、バス概略配線番号、バス概略配線名、ルート情報、ネット列、層番号などの項目を含む情報である。バス概略配線番号は、バス・ラインごとに、バス概略配線番号、バス概略配線名、ルート情報、ネット列、層番号などの項目を含む情報である。バス・ラインは省略してバストも称する。例えば、データバスなどであれば、８〜３２本程度などのようにバスは多くの配線パターンを有する。ルート情報としては、バスの配線パターンの経路上の各点の座標値を含む。
【０１２２】
禁止領域データ２０１０は、部品や配線パターンの禁止領域ごとに、禁止領域の外形の点を表す座標列、層番号などの項目を含む情報である。制約条件データ２０１１は、制約条件ごとに、制約条件名、制約条件内容などの項目を含む情報である。配線難易度の設定データ２０１２は、各配線難易度のレベルの項目を含む情報である。
【０１２３】
図２１は、モデル管理サーバに保持された学習モデル管理テーブル例を示す説明図である。学習モデル管理テーブル２１００は、各学習モデルを管理する情報である。学習モデル管理テーブル２１００は、モデル管理サーバ４００のディスク９０５などの記憶装置に記憶される。
【０１２４】
学習モデル管理テーブル２１００は、学習モデルＩＤ、学習モデルパス、サービサーアカウント、利用用途、予測精度判定基準のフィールドを有する。学習モデル管理テーブル２１００は、各フィールドに情報が設定されることによりレコード（例えば、２１０１−１〜２１０１−３）が記憶される。
【０１２５】
学習モデルＩＤのフィールドには、学習モデルの識別情報が設定される。学習モデルパスのフィールドには、学習モデルディレクトリ２１１０へのリンク情報が設定される。学習モデルディレクトリ２１１０は、学習モデルＩＤに関連付けられた学習モデル１４００と利用方法の情報２１１１とが記憶されるディスク９０５などの記憶装置の領域である。
【０１２６】
サービサーアカウントのフィールドには、学習モデルのサービサーｓｒのアカウントが設定される。サービサーアカウントとしては、例えば、提供者端末装置１０３のｅメールアドレス情報である。利用用途のフィールドには、学習モデル１４００の利用用途が設定される。
【０１２７】
予測精度判定基準のフィールドには、算出した予測精度によって予測値に問題があるか否かを判定するための基準値が設定される。予測精度判定基準には、「正解値との許容誤差との閾値」、「正解値とかけ離れていると判定する閾値」、「正解値との許容誤差内にない予測数／全予測数」の３つの基準値がある。
【０１２８】
まず、「正解値との許容誤差との閾値」は、正解値と予測値との差分値が許容誤差と判定可能な範囲である。「正解値との許容誤差との閾値」は上述した第２度合である。つぎに、「正解値とかけ離れていると判定する閾値」は正解値と予測値との差分が大きいと判定可能な範囲である。「正解値とかけ離れていると判定する閾値」は上述した第１度合である。そして、「正解値との許容誤差内にない予測数／全予測数」は、正解値と予測値との差分値が第１範囲内にないと判定された予測数／全予測数の閾値である。「正解値との許容誤差内にない予測数／全予測数」は、上述した所定率である。
【０１２９】
つぎに、図１１に示した学習モデルの登録処理、学習モデルの利用処理、予測精度判定処理と、の各手順を詳細に説明する。
【０１３０】
（学習モデルの登録処理手順）
図２２は、学習モデルの登録処理手順を示すシーケンス図である。ここで、図１１に示したサービサーｓｒによる学習モデルの登録処理手順について説明する。まず、提供者端末装置１０３は、Ｗｅｂブラウザなどを表示する。そして、提供者端末装置１０３は、サービサーｓｒの入力に応じてＷｅｂブラウザを介して認証要求を行う（ステップＳ２２０１）。ここでは、サービサーｓｒは、例えば、Ｗｅｂブラウザに対してユーザアカウントとしてｅメールアドレスなどを入力する。
【０１３１】
つぎに、ＣＡＤ管理サーバ２００は、認証要求に応じて認証を行う。ここでは、ＣＡＤ管理サーバ２００は、認証を許可して認証許可を提供者端末装置１０３へ通知する（ステップＳ２２０２）。つぎに、提供者端末装置１０３は、ユーザ一覧、グループ一覧、予測精度判定段階一覧を要求する（ステップＳ２２０３）。
【０１３２】
ＣＡＤ管理サーバ２００は、提供者端末装置１０３からの要求を受け付けると、アカウントテーブル１６００、グループテーブル１７００、予測精度判定段階テーブル１８００から、ユーザ一覧、グループ一覧、予測精度判定段階一覧を作成する。ＣＡＤ管理サーバ２００は、作成したユーザｕｓ一覧、グループ一覧、予測精度判定段階一覧を提供者端末装置１０３へ送信する。
【０１３３】
提供者端末装置１０３は、受信したユーザ一覧、グループ一覧、予測精度判定段階一覧を表示する。そして、提供者端末装置１０３は、サービサーｓｒによる学習モデルの対象ユーザｕｓまたはグループの選択、予測精度判定段階の選択、予測精度判定基準の入力を受け付ける（ステップＳ２２０５）。
【０１３４】
図２３は、対象者および精度判定段階の選択と精度判定基準の入力例を示す説明図である。提供者端末装置１０３は、ディスプレイ８０９などに画面２３００を表示する。
【０１３５】
画面２３００には、ユーザ一覧から学習モデルのユーザアカウントを選択可能な項目を含む。画面２３００には、グループ一覧から学習モデルのユーザアカウントを選択可能な項目を含む。画面２３００には、予測程度判定段階一覧から学習モデルの予測精度を判定するタイミングを示す判定段階ＩＤを選択可能な項目を含む。
【０１３６】
また、画面２３００には、「予測値との許容誤差の閾値」を入力可能な項目を含む。画面２３００には、「予測値とかけ離れていると判定する閾値」を入力可能な項目を含む。画面２３００には、「正解値との許容誤差内にない予測数／全予測数」を入力可能な項目を含む。
【０１３７】
サービサーｓｒは、例えば、ユーザ一覧よりユーザアカウントの選択をしない。サービサーｓｒは、グループ一覧よりグループＩＤとして「２：ネットワーク」を選択する。
【０１３８】
サービサーｓｒは、例えば、予測精度判定段階一覧より判定段階ＩＤとして「２：実装設計完了時」を選択する。
【０１３９】
サービサーｓｒは、「予測値との許容誤差の閾値」として「１」を入力する。すなわち、予測値と正解値との差分値が１層以内であれば、予測値は正解値と近いとする。サービサーｓｒは、「予測値とかけ離れていると判定する閾値」として「３」を入力する。すなわち、予測値と正解値との差分値が３層以上離れていれば、予測値は正解値からかけ離れていると判定する。サービサーｓｒは、「正解値との許容誤差内にない予測数／全予測数」として「０．１」を入力する。すなわち、１０［％］が１層以内の予測範囲内ない場合、学習モデルの精度が疑わしいと判定される。
【０１４０】
図２２の説明に戻って、提供者端末装置１０３は、学習モデル、学習モデルの利用方法、選択された利用対象ユーザｕｓまたはグループ、予測精度判定段階、予測精度判定基準をＣＡＤ管理サーバ２００へ送信する（ステップＳ２２０６）。
【０１４１】
図２４は、学習モデルの利用方法の情報例を示す説明図である。ステップＳ２２０６においてＣＡＤ管理サーバ２００へ送信される学習モデルの利用方法の情報２１１１は、例えば、利用用途、学習モデルに与える入力データの項目、出力データの項目などを示す。プリント基板の層数を予測する学習モデルの場合、利用用途は「層数予測」である。入力データの項目は「部品数、部品ピン数、ネット数、基板面積など」であり、出力データの項目は「予測層数」である。
【０１４２】
図２２の説明に戻って、ＣＡＤ管理サーバ２００は、学習モデル１４００、学習モデルの利用方法の情報２１１１、サービサー情報ＩＤ、予測精度判定基準をモデル管理サーバ４００へ送信する（ステップＳ２２０７）。モデル管理サーバ４００は、学習モデルＩＤを発行して、学習モデルＩＤ、学習モデル１４００、学習モデルの利用方法の情報２１１１、サービサーアカウント、予測精度判定基準を関連付けて保存する（ステップＳ２２０８）。
【０１４３】
図２５は、学習モデルの登録例を示す説明図である。ステップＳ２２０８において、モデル管理サーバ４００は、発行された学習モデルＩＤに対応する学習モデルディレクトリ２１１０に、学習モデルＩＤと、学習モデル１４００と、利用方法の情報２１１１と、を関連付けて記憶させる。
【０１４４】
そして、モデル管理サーバ４００は、学習モデルＩＤと、学習モデルディレクトリ２１１０への学習モデルパスと、サービサーアカウントと、利用用途と、予測精度判定基準と、を関連付けて、学習モデル管理テーブル２１００へ記憶させる。これにより、学習モデル管理テーブル２１００に新たなレコード２１０１−８が生成される。
【０１４５】
図２２の説明に戻って、モデル管理サーバ４００は、発行した学習モデルＩＤをＣＡＤ管理サーバ２００へ通知する（ステップＳ２２０９）。つぎに、ＣＡＤ管理サーバ２００は、通知された学習モデルＩＤ、受信した対象ユーザｕｓまたはグループ、予測精度判定段階を関連付けて保存する（ステップＳ２２１０）。
【０１４６】
図２６は、モデルＩＤ管理テーブルへの登録例を示す説明図である。ＣＡＤ管理サーバ２００は、ステップＳ２２０９において通知された学習モデルＩＤ、ステップＳ２２０６において受信した対象ユーザｕｓまたはグループ、予測精度判定段階を関連付けて保存する。
【０１４７】
図２２の説明に戻って、ＣＡＤ管理サーバ２００は、学習モデルＩＤを提供者端末装置１０３へ送信する（ステップＳ２２１１）。これにより、サービサーｓｒは新たに学習モデルを登録することができる。
【０１４８】
（学習モデルの登録処理手順）
図２７は、学習モデルの登録処理手順を示すシーケンス図である。ここで、図１１に示したサービサーｓｒによる学習モデルの登録処理手順について説明する。利用者端末装置１０２は、ｅメールアドレスなどによる認証要求を行う（ステップＳ２７０１）。ＣＡＤ管理サーバ２００は、認証要求に応じて認証を行う。ここで、クラウド型管理サーバは、認証を許可する（ステップＳ２７０２）。
【０１４９】
利用者端末装置１０２は、認証が許可されると、設計データ１３０２を要求する（ステップＳ２７０３）。そして、ＣＡＤ管理サーバ２００は、利用者端末装置１０２からの要求に応じて設計データ１３０２を送信する（ステップＳ２７０４）。これにより、ユーザｕｓは、ＣＡＤを用いて設計データ１３０２の編集を開始する。
【０１５０】
利用者端末装置１０２は、使用可能予測処理一覧をＣＡＤ管理サーバ２００へ要求する（ステップＳ２７０５）。ＣＡＤ管理サーバ２００は、利用者端末装置１０２からの要求に応じて、モデルＩＤ管理テーブル１９００にリンクされた対象ユーザテーブル１９１０に要求ユーザｕｓのユーザアカウントが含まれている学習モデルＩＤを検索する。また、ＣＡＤ管理サーバ２００は、モデルＩＤ管理テーブル１９００にリンクされた対象グループに要求ユーザｕｓのユーザアカウントが属するグループが含まれる学習モデルＩＤを検索する。そして、ＣＡＤ管理サーバ２００は、ユーザｕｓまたはユーザｕｓが属するグループの検索された学習モデルＩＤの利用方法の情報２１１１をモデル管理サーバ４００へ要求する（ステップＳ２７０６）。
【０１５１】
モデル管理サーバ４００は、学習モデル管理テーブル２１００から、要求された学習モデルＩＤに対応する利用方法の情報２１１１を抽出する。そして、モデル管理サーバ４００は、抽出した学習モデルの利用方法の情報２１１１をＣＡＤ管理サーバ２００へ送信する（ステップＳ２７０７）。
【０１５２】
つぎに、ＣＡＤ管理サーバ２００は、検索した学習モデルＩＤおよび受信した学習モデルの利用方法の情報２１１１に基づき使用可能予測処理一覧を作成する。ＣＡＤ管理サーバ２００は、モデルＩＤ管理テーブル１９００から、検索した学習モデルＩＤを含むレコード２１０１内に精度が設定済みの場合、使用可能予測処理一覧に含まれる学習モデルＩＤに精度を関連付ける。そして、ＣＡＤ管理サーバ２００は、作成した使用可能予測処理一覧を利用者端末装置１０２へ送信する（ステップＳ２７０８）。
【０１５３】
利用者端末装置１０２は、ディスプレイ８０９によって受信した使用可能予測処理一覧を表示する。ディスプレイ８０９に表示される画面２７００には、例えば、使用可能な学習モデルごとに、学習モデルＩＤ、利用方法の情報、および予測精度が含まれる。利用者端末装置１０２は、ユーザｕｓによる使用可能予測処理一覧からの予測処理の選択を受け付ける。そして、利用者端末装置１０２は、編集中の設計データ１３０２から予測処理用の入力データを作成する（ステップＳ２７０９）。ここでは、プリント基板の層数を予測する予測処理が選択されたとする。上述したように、設計データ１３０２から入力データとして、部品数、部品ピン数、ネット数、基板面積などを示す情報が生成される。例えば、ＣＡＤにおいて入力データの作成コマンドが作成済みであれば、利用者端末装置１０２は、作成コマンドの実行により入力データを作成する。また、利用者端末装置１０２は、入力データに不足がある場合、ユーザｕｓに入力を促して不足の情報の入力を受け付けて入力データを作成する。
【０１５４】
利用者端末装置１０２は、選択した予測処理に対応する学習モデルＩＤと作成した入力データとを関連付けてＣＡＤ管理サーバ２００へ送信する（ステップＳ２７１０）。ＣＡＤ管理サーバ２００は、学習モデルＩＤと学習モデルの入力データとをモデル管理サーバ４００へ送信する（ステップＳ２７１１）。
【０１５５】
モデル管理サーバ４００は、指定された学習モデルＩＤに対応する学習モデルと入力データとを使用して予測値を計算する（ステップＳ２７１２）。そして、モデル管理サーバ４００は、学習モデルの出力データをＣＡＤ管理サーバ２００へ送信する（ステップＳ２７１３）。
【０１５６】
ＣＡＤ管理サーバ２００は、要求ユーザｕｓ、学習モデルＩＤ、学習モデルの入力データ、学習モデルの出力データを関連付けて保存する（ステップＳ２７１４）。
【０１５７】
図２８は、モデルＩＤ管理テーブルに関連した各テーブル更新例（その１）を示す説明図である。ステップＳ２７１４において、ＣＡＤ管理サーバ２００は、学習モデルＩＤに対応する利用履歴テーブル１９３０を参照する。そして、ＣＡＤ管理サーバ２００は、ユーザアカウントとして「ＡＡＡ」と、入力データと、出力データとして「７」と、を関連付けて利用履歴テーブル１９３０に格納する。
【０１５８】
図２７の説明に戻って、ＣＡＤ管理サーバ２００は、学習モデルの出力データを利用者端末装置１０２へ送信する（ステップＳ２７１５）。そして、利用者端末装置１０２は、受信した学習モデルの出力データを表示する。ユーザｕｓは、予測値を確認する。そして、利用者端末装置１０２は、ユーザｕｓの入力に応じて、予測値をそのままもしくは修正して設計データ１３０２に反映させる（ステップＳ２７１６）。
【０１５９】
図２９は、設計データへの反映例を示す説明図である。ステップＳ２７２４において、利用者端末装置１０２は、予測値に基づいて入力された反映データとして「５」を設計データ１３０２に含まれる基板データ２００２の基板の層数に設定する。
【０１６０】
図２７の説明に戻って、利用者端末装置１０２は、編集中の設計データ名、反映箇所、反映データを送信する（ステップＳ２７１７）。そして、ＣＡＤ管理サーバ２００は、編集中の設計データ名、反映箇所、反映データを、ユーザアカウント、学習モデルＩＤ、学習モデル入力データ、学習モデル出力データと関連付けて保存する（ステップＳ２７１８）。
【０１６１】
図３０は、モデルＩＤ管理テーブルに関連した各テーブル更新例（その２）を示す説明図である。ステップＳ２７１８において、ＣＡＤ管理サーバ２００は、学習モデルＩＤに対応する利用履歴テーブル１９３０の要求ユーザｕｓのユーザアカウントを有するレコード１９３１−１について、編集中の設計データ名、設計データ反映個所、反映データを保存する。
【０１６２】
（予測精度判定処理手順例１）
図３１は、学習モデルの予測精度判定処理手順例１を示すシーケンス図である。判定処理手順例１では、予測精度を判定するタイミングが予測値ファイル反映段階の場合についての手順を説明する。
【０１６３】
ＣＡＤ管理サーバ２００は、予測精度を判定するタイミングになった場合に、学習モデルＩＤの予測精度判定基準を要求する（ステップＳ３１０１）。モデル管理サーバ４００は、予測精度判定基準を送信する（ステップＳ３１０２）。
【０１６４】
つぎに、ＣＡＤ管理サーバ２００は、予測値と、反映データと、予測精度判定基準とに基づいて、予測値に問題がないか否かを判定する。そして、ＣＡＤ管理サーバ２００は、判定結果を各データに関連付けて保存する（ステップＳ３１０３）。
【０１６５】
図３２は、予測値の判定例を示す説明図である。ＣＡＤ管理サーバ２００は、出力データと反映データとの差分値が第２度合を超えるか否かを判断する。第２度合は±１である。ＣＡＤ管理サーバ２００は、出力データと反映データとの差分値が第２度合を超えないと判断された場合、予測値に問題がないと判断する。ＣＡＤ管理サーバ２００は、予測値に問題がないと判断した場合、予測値に問題がありかのフィールドに「Ｆａｌｓｅ」を設定する。
【０１６６】
ＣＡＤ管理サーバ２００は、出力データと反映データとの差分値が第２度合内であると判断された場合、予測値に問題があると判断する。ＣＡＤ管理サーバ２００は、予測値に問題があると判断した場合、予測値に問題がありかのフィールドに「Ｔｒｕｅ」を設定する。
【０１６７】
レコード１９３１−１を例に挙げると、出力データが「７」であり、反映データが「６」であるため、予測値に問題がないと判断され、「Ｆａｌｓｅ」が設定される。レコード１９３１−ｎを例に挙げると、出力データが「７」であり、反映データが「５」であるため、予測値に問題があると判断され、「Ｔｒｕｅ」が設定される。
【０１６８】
また、ＣＡＤ管理サーバ２００は、出力データと反映データとの差分値が第２度合を超える場合に、出力データと反映データとの差分値が第１度合を超えるか否かを判断する。ＣＡＤ管理サーバ２００は、出力データと反映データとの差分値が第１度合を超える場合に、予測値が正解値とかけ離れていると判定する。そして、ＣＡＤ管理サーバ２００は、予測値が正解値とかけ離れていると判定した場合に、予測値が正確値とかけ離れていることを提供者端末装置１０３へ直ちに通知する。通知方法は、例えば、ｅメールなどが挙げられる。ここで、ＣＡＤ管理サーバ２００は、例えば、差分値と学習モデルＩＤとを関連付けてｅメールなどにより提供者端末装置１０３へ通知する。これにより、予測値が正解値である反映データとかけ離れていることがサービサーｓｒへ通知される。
【０１６９】
レコード１９３１−ｍを例に挙げると、出力データが「８」であり、反映データが「２」であるため、出力データと反映データとの差分値が第１度合を超える。このため、予測値が正解値とかけ離れていると判定され、サービサーｓｒへ通知される。
【０１７０】
つぎに、図３１の説明に戻って、ＣＡＤ管理サーバ２００は、学習モデルの予測精度を算出し、精度に問題がないか判定する（ステップＳ３１０４）。
【０１７１】
図３３は、予測精度の判定例を示す説明図である。ＣＡＤ管理サーバ２００は、第１範囲内にないと判断された予測数と全体の予測数とに基づいて予測精度を算出する。
【０１７２】
図３３に示すように、ＣＡＤ管理サーバ２００は、以下式（１）の通り予測精度を算出する。
【０１７３】
学習モデルの予測精度＝学習モデルの利用履歴テーブル１９３０に登録されたＦａｌｓｅの数／利用履歴テーブル１９３０に登録されたデータ数・・・式（１）
【０１７４】
図３３の例では、Ｆａｌｓｅの数が１３であり、全体のデータ数が２０であるため、予測精度は０．６５である。ＣＡＤ管理サーバ２００は、算出した予測精度をモデルＩＤ管理テーブル１９００へ格納する。
【０１７５】
図３３に示すように、ＣＡＤ管理サーバ２００は、以下の関係式（２）が成り立つときに予測精度に問題があると判定する。
【０１７６】
規定値＜１−学習モデルの予測精度・・・関係式（２）
【０１７７】
上述したように規定値は、予測値と正解値との差分値が予測精度判定基準の第１範囲内にない予測数／全予測数についての閾値である。
【０１７８】
図３３の例では、規定値は０．１であり、予測精度が０．６５であるため、ＣＡＤ管理サーバ２００は、学習モデルの予測精度に問題ありと判定する。
【０１７９】
図３１の説明に戻って、ＣＡＤ管理サーバ２００は、学習モデルの予測精度に問題があると判定された場合に、学習モデルＩＤを提供するサービサーｓｒのサービサーアカウントをモデル管理サーバ４００へ要求する（ステップＳ３１０５）。
【０１８０】
モデル管理サーバ４００は、サービサーアカウントをＣＡＤ管理サーバ２００へ送信する（ステップＳ３１０６）。ＣＡＤ管理サーバ２００は、ｅメールなどのアドレスであるサービサーアカウントに基づいて、精度に問題があると判定した学習モデルの学習モデルＩＤと、学習モデルの予測精度とを提供者端末装置１０３へ通知する（ステップＳ３１０７）。これにより、予測精度を判定してサービサーｓｒへフィードバックできる。
【０１８１】
（予測精度判定処理手順例２）
図３４は、学習モデルの予測精度判定処理手順例２を示すシーケンス図である。判定処理手順例２では、予測精度を判定するタイミングが回路または実装設計完了段階、設計データ保存段階の場合についての手順を説明する。
【０１８２】
利用者端末装置１０２は、設計が完了した設計データ１３０２または保存した設計データ１３０２をＣＡＤ管理サーバ２００へ送信する（ステップＳ３４０１）。ＣＡＤ管理サーバ２００は、アップロードされた設計データが、学習モデルの予測を利用した設計データ１３０２であるか否かを判定する（ステップＳ３４０２）。
【０１８３】
図３５は、学習モデルの予測を利用した設計データかの判定例を示す説明図である。ステップＳ３４０２において、ＣＡＤ管理サーバ２００は、ユーザｕｓの利用ログに基づいて、アップロードされた設計データ１３０２の設計状況を分析する。例えば、前回の設計状況の分析時には、部品の配置に対する操作が行われていなかったが、今回の設計状況の分析時には、部品の配置に対する操作が行われていた場合に、ＣＡＤ管理サーバ２００は、回路設計完了／実装設計開始段階であると判定する。
【０１８４】
そして、ＣＡＤ管理サーバ２００は、予測精度判定段階に達していると判定した場合に、アップロードされた設計データのユーザアカウントおよびファイル名が、学習モデルの利用ユーザアカウントおよび設計データ名に一致するか否かを判定する。
【０１８５】
図３６は、アップロードファイルの反映例を示す説明図である。ＣＡＤ管理サーバ２００は、アップロードされた設計データ１３０２のユーザアカウントおよびファイル名が、学習モデルの利用ユーザアカウントおよび設計データ名に一致すると判定した場合に、アップロードファイルの反映箇所の値を反映データとして保存する。
【０１８６】
図３４の説明に戻って、つぎのステップＳ３４０４からステップＳ３４１０については、それぞれ図３１に示したステップＳ３１０１からステップＳ３１０７までの処理と同様であるため、詳細な説明を省略する。
【０１８７】
（分析用データの提供処理手順）
図３７は、学習モデルの分析用データの提供処理手順例を示すシーケンス図である。提供者端末装置１０３は、ＣＡＤ管理サーバ２００に対して認証要求を行う（ステップＳ３７０１）。ここで、サービサーｓｒは、ＣＡＤ管理サーバ２００とのデータや要求のやり取りなどについてＷｅｂブラウザを介して行う。
【０１８８】
つぎに、ＣＡＤ管理サーバ２００は、認証要求に応じて認証を行う。上述したように認証はｅメールアドレスやユーザＩＤなどのユーザアカウントによって行われる。ここでは、ＣＡＤ管理サーバ２００は、認証を許可する（ステップＳ３７０２）。
【０１８９】
つぎに、提供者端末装置１０３は、学習モデルＩＤに関連して保存しているデータの送信を要求する（ステップＳ３７０３）。そして、ＣＡＤ管理サーバ２００は、学習モデルＩＤに関連して保存しているデータを提供者端末装置１０３へ送信する（ステップＳ３７０４）。
【０１９０】
図３８は、学習モデルＩＤに関連するデータ例を示す説明図である。ステップＳ３７０４において、ＣＡＤ管理サーバ２００は、提供者端末装置１０３によって送信された学習モデルＩＤに基づいて、モデルＩＤ管理テーブル１９００から、当該学習モデルＩＤに対応するレコードを検索する。
【０１９１】
例えば、学習モデルＩＤ「８」に対応するレコード−８が検出される。クラウド側アプリ管理サーバは、レコード−８に含まれる利用履歴テーブルへのリンクによって利用履歴テーブル１９３０を取得する。そして、ステップＳ３７０４において、ＣＡＤ管理サーバ２００は、取得した利用履歴テーブル１９３０を提供者端末装置１０３へ送信する。
【０１９２】
図３７の説明に戻って、提供者端末装置１０３は、取得した利用履歴テーブル１９３０を分析して学習モデルを再作成する（ステップＳ３７０５）。
【０１９３】
（ユーザｕｓへの通知処理手順）
図３９は、学習モデル更新時のユーザへの通知処理手順例を示すシーケンス図である。提供者端末装置１０３は、ＣＡＤ管理サーバ２００に対して認証要求を行う（ステップＳ３９０１）。つぎに、ＣＡＤ管理サーバ２００は、認証要求に応じて認証を行う。ここでは、ＣＡＤ管理サーバ２００は、認証を許可する（ステップＳ３９０２）。提供者端末装置１０３は、更新対象の学習モデルＩＤ、更新後の学習モデルを送信する（ステップＳ３９０３）。
【０１９４】
ＣＡＤ管理サーバ２００は、受信した更新対象の学習モデルＩＤおよび更新後の学習モデルをモデル管理サーバ４００へ送信する（ステップＳ３９０４）。機械学習管理サーバは、保持している学習モデルＩＤの学習モデルを受信した更新後の学習モデルに置き換える（ステップＳ３９０５）。
【０１９５】
図４０は、学習モデルの更新例を示す説明図である。ステップＳ３９０５において、モデル管理サーバ４００は、学習モデル管理テーブル２１００から、受信した学習モデルＩＤに対応するレコード２１０１を検索する。そして、ステップＳ３９０５において、モデル管理サーバ４００は、検出したレコード２１０１に含まれる学習モデルパスに基づいて学習モデルＩＤに対応するディレクトリに記憶された学習モデルを、受信した更新後の学習モデルに置き換える。
【０１９６】
図３９の説明に戻って、モデル管理サーバ４００は、学習モデルの更新完了をＣＡＤ管理サーバ２００へ通知する（ステップＳ３９０６）。つぎに、ＣＡＤ管理サーバ２００は、学習モデルの更新完了を提供者端末装置１０３へ通知する（ステップＳ３９０７）。ＣＡＤ管理サーバ２００は、更新前の学習モデル利用時において、予測値に問題があると判定された際のユーザｕｓのユーザアカウントを探索する（ステップＳ３９０８）。そして、ＣＡＤ管理サーバ２００は、検出したユーザアカウントに基づいて精度に問題があった学習モデルが更新されたことを通知する（ステップＳ３９０９）。
【０１９７】
図４１は、学習モデルの更新の通知例を示す説明図である。ステップＳ３９０８において、ＣＡＤ管理サーバ２００は、モデルＩＤ管理テーブル１９００から、更新対象の学習モデルＩＤに対応するレコード１９０１を検索する。ＣＡＤ管理サーバ２００は、検出したレコードに含まれる利用履歴テーブルへのリンクに基づいて利用履歴テーブル１９３０を参照する。
【０１９８】
そして、ＣＡＤ管理サーバ２００は、学習モデルＩＤに対応する利用履歴テーブル１９３０から、予測値に問題ありかのフラグが「Ｔｒｕｅ」の利用ユーザアカウントを探索する。図４１の例では、利用ユーザアカウント「ＡＡＡ」が検出される。利用ユーザアカウントがｅメールのアドレスである場合、クラウド型管理サーバは、利用ユーザアカウントに基づいて、予測精度が低かった学習モデルが更新されたことをｅメールにより通知する。そして、利用者端末装置１０２は、学習モデルが更新されたことを表示する。
【０１９９】
このようにして、学習モデルが更新された場合に、予測精度が低いと判定された際のユーザｕｓに学習モデルの更新を通知することが可能となる。
【０２００】
図４２は、クラウド型アプリが文書作成アプリの例を示す説明図である。学習モデルを利用するクラウド型アプリとしては、例えば、文書作成アプリが採用可能である。利用者端末装置１０２には、文書作成アプリがインストールされる。文書アプリ管理サーバは、利用者ごとに、利用者情報４２０１、アプリ設定情報４２０２と、文書ファイル４２０３やアプリ利用ログ４２０４などのアプリ編集ファイル群を保持する。
【０２０１】
図４３は、文書作成アプリの用途に応じた学習モデル例を示す説明図である。文書作成アプリ用の学習モデル４３００としては、例えば、文言の変換を予測するモデルが挙げられる。文言の変換としては、例えば、入力された文字から漢字変換が挙げられる。
【０２０２】
学習モデル４３００については、文書作成アプリの用途に応じて用意される。例えば、文書作成アプリによって作成される文書は、法律文書、医学文書、ＩＴ文書などのように用途によって区別させることができる。
【０２０３】
例えば、「ちょう」の変換候補を予測する場合、法律文書用の学習モデル４３００−１であれば「庁」が予測され、医学文書用の学習モデル４３００−２であれば「腸」が予測され、ＩＴ文書用の学習モデル４３００−３であれば「長」が予測される。
【０２０４】
変換候補を予測する学習モデルであれば、学習モデル４３００の入力データとしては、例えば、直前の複数の入力文字などが挙げられる。
【０２０５】
「学習モデル差分提供○で、×××の△△△は□□□」という文章の作成中に、□□□の変換候補を予測する場合、図４３の例のように、「□□□」と「学習モデル差分提供○、×××、△△△」とが入力データである。例えば、「消化器内科の学会で、明日の議題はちょう」と入力された場合の「ちょう」は「腸」と変換候補が出力される。
【０２０６】
つぎに、予測精度の判定について説明する。例えば、予測精度の判定タイミングを文書データの編集完了後とする。利用者端末装置１０２が文書データを文書アプリサーバにアップロードすると、クラウド型アプリ管理サーバ２００は、アップロードされた文書データを分析して「入力データ」と合致する変換箇所を特定する。
【０２０７】
クラウド型アプリ管理サーバ２００は、例えば、「学習モデル差分提供○」、「×××」、「△△△」の順に「学習モデル差分提供○」、「×××」、「△△△」が記載された箇所を文書データから検索する。そして、クラウド型アプリ管理サーバ２００は、検出した箇所のつぎの語句を「□□□」が変換された箇所として特定する。
【０２０８】
クラウド型アプリ管理サーバ２００は、特定した箇所と、「□□□」の変換候補の予測データと、が一致するか否かを判定する。クラウド型アプリ管理サーバ２００は、予測データが「☆☆☆」であり、特定した箇所が「☆☆☆」であれば、特定した箇所と「□□□」の変換候補の予測データとが一致すると判定する。つぎに、クラウド型アプリ管理サーバ２００は、予測データが「☆☆☆」であり、特定した箇所が「★★★」であれば、特定した箇所と「□□□」の変換候補の予測データとが一致しないと判定する。このようにして、クラウド型アプリ管理サーバ２００は不一致度を判定して予測精度を算出することができる。予測精度の算出については、クラウド型アプリがＣＡＤの場合と同様であるため、詳細な説明を省略する。
【０２０９】
また、ＣＡＤや文書アプリ以外であってもクラウド型アプリに対して同様に学習モデルの予測精度を判定することができる。
【０２１０】
以上説明したように、情報処理装置１０１は、アプリでの入力データと学習モデルとによって得られる入力データ内のデータの予測値と該データの指定値との不一致度が高い場合、不一致度を学習モデルの提供元の装置に通知する。これにより、学習モデル１０４のずれに関する情報を学習モデルの提供者に提供できる。したがって、提供者は不一致度に応じて学習モデルの修正を検討することができ、学習モデルの予測精度の向上を支援することができる。
【０２１１】
また、情報処理装置１０１は、入力された複数のデータの各データについて算出した不一致度が第２度合を超えたと判定したデータの数と、各データの数との比率が、所定率を超えていると判定した場合に、比率を提供元の装置に送信する。これにより、精度が低い学習モデルについて学習モデルのずれに関する情報を提供者に提供できる。提供元の装置は、複数のデータにおいて学習モデルによって得られる予測値と実際の値とがずれていることを把握できる。したがって、情報処理装置１０１によれば、学習モデルの修正を支援することができる。
【０２１２】
また、情報処理装置１０１は、算出した比率を、アプリを利用するユーザに対応する装置へ送信する。これにより、学習モデルのユーザは、学習モデルの予測値をどの程度信頼できるかの判定を行うことができる。
【０２１３】
また、情報処理装置１０１は、アプリを利用するいずれかのユーザに対応する学習モデルの識別情報の通知要求の要求元に、いずれかのユーザに対応する学習モデルの識別情報と、いずれかのユーザに対応する学習モデルについて算出した比率と、を送信する。これにより、学習モデルの提供先を限定でき、提供者の意図しない学習モデルの提供を抑制できる。また、学習モデルが複数あっても、ユーザは、利用可能な学習モデルが明確になり、ユーザに適した学習モデルを利用できる。
【０２１４】
また、情報処理装置１０１は、アプリがＣＡＤの場合に、設計データに含まれるいずれかの項目についての予測データと、いずれかの項目について指定されたデータと、の不一致度を算出する。これにより、設計対象の装置に含まれるプリント基板の層数などの予測値の精度の向上を図ることができる。
【０２１５】
なお、本実施の形態で説明した学習モデル差分提供方法は、予め用意された学習モデル差分提供プログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本学習モデル差分提供プログラムは、磁気ディスク、光ディスク、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）フラッシュメモリなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、学習モデル差分提供プログラムは、インターネット等のネットワーク８１０を介して配布してもよい。
【符号の説明】
【０２１６】
１００  学習モデル差分提供システム
１０１  情報処理装置
１０２  利用者端末装置
１０３  提供者端末装置
１０４，３００，４０１，１４００  学習モデル
２００  クラウド型アプリ管理サーバ，ＣＡＤ管理サーバ
４００  モデル管理サーバ
４０２  提供者情報
４０３，２１１１  情報
１０００，１０１０  記憶部
１００１，１０１１  受信部
１００２  第１算出部
１００３  第１判定部
１００４，１０１３  送信部
１００５  第２算出部
１００６  第２判定部
１０１２  モデル実行部
１３００  利用者情報
１３０１  ＣＡＤ設定情報
１３０２，１４０１  設計データ
１３０３  ＣＡＤ利用ログ
１５００  学習モデル管理サーバテーブル
１６００  アカウントテーブル
１６０１  ファイル格納ディレクトリ
１７００  グループテーブル
１７１０  所属ユーザテーブル
１８００  予測精度判定段階テーブル
１９００  モデルＩＤ管理テーブル
１９１０  対象ユーザテーブル
１９２０  対象グループテーブル
１９３０  利用履歴テーブル
２００１  基板仕様データ
２００２  基板データ
２００３  基板部品データ
２００４  基板部品ピンデータ
２００５  ネットデータ
２００６  ビアデータ
２００７  ラインデータ
２００８  ラッツネストデータ
２００９  バス概略配線データ
２０１０  禁止領域データ
２０１１  制約条件データ
２０１２  設定データ
２１００  学習モデル管理テーブル
２１１０  学習モデルディレクトリ
２３００，２７００  画面
【図１】
0006701979.tif 000002
【図２】
0006701979.tif 000003
【図３】
0006701979.tif 000004
【図４】
0006701979.tif 000005
【図５】
0006701979.tif 000006
【図６】
0006701979.tif 000007
【図７】
0006701979.tif 000008
【図８】
0006701979.tif 000009
【図９】
0006701979.tif 000010
【図１０】
0006701979.tif 000011
【図１１】
0006701979.tif 000012
【図１２】
0006701979.tif 000013
【図１３】
0006701979.tif 000014
【図１４】
0006701979.tif 000015
【図１５】
0006701979.tif 000016
【図１６】
0006701979.tif 000017
【図１７】
0006701979.tif 000018
【図１８】
0006701979.tif 000019
【図１９】
0006701979.tif 000020
【図２０】
0006701979.tif 000021
【図２１】
0006701979.tif 000022
【図２２】
0006701979.tif 000023
【図２３】
0006701979.tif 000024
【図２４】
0006701979.tif 000025
【図２５】
0006701979.tif 000026
【図２６】
0006701979.tif 000027
【図２７】
0006701979.tif 000028
【図２８】
0006701979.tif 000029
【図２９】
0006701979.tif 000030
【図３０】
0006701979.tif 000031
【図３１】
0006701979.tif 000032
【図３２】
0006701979.tif 000033
【図３３】
0006701979.tif 000034
【図３４】
0006701979.tif 000035
【図３５】
0006701979.tif 000036
【図３６】
0006701979.tif 000037
【図３７】
0006701979.tif 000038
【図３８】
0006701979.tif 000039
【図３９】
0006701979.tif 000040
【図４０】
0006701979.tif 000041
【図４１】
0006701979.tif 000042
【図４２】
0006701979.tif 000043
【図４３】
0006701979.tif 000044