(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023169844
(43)【公開日】2023-11-30
(54)【発明の名称】モデル評価装置、ユーザ端末、モデル評価方法、およびプログラム
(51)【国際特許分類】
G06F 9/44 20180101AFI20231122BHJP
G06N 20/00 20190101ALI20231122BHJP
【FI】
G06F9/44
G06N20/00 130
【審査請求】未請求
【請求項の数】15
【出願形態】OL
(21)【出願番号】P 2022111223
(22)【出願日】2022-07-11
(31)【優先権主張番号】P 2022080608
(32)【優先日】2022-05-17
(33)【優先権主張国・地域又は機関】JP
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.TENSORFLOW
(71)【出願人】
【識別番号】516166052
【氏名又は名称】株式会社アナリティックウェア
(74)【代理人】
【識別番号】100115749
【弁理士】
【氏名又は名称】谷川 英和
(72)【発明者】
【氏名】百瀬 公朗
【テーマコード(参考)】
5B376
【Fターム(参考)】
5B376BC61
(57)【要約】 (修正有)
【課題】2以上のユーザにより、機械学習の学習モデルの評価を行えるプラットフォームを提供する。
【解決手段】複数のユーザ端末とモデル評価装置とを有するモデル評価システムにおいて、モデル評価装置5は、機械学習の予測処理を行う予測プログラムを含む評価プログラムとが格納される格納部51と、学習モデルと評価プログラムとを2以上の各ユーザ端末に送信するモデル送信処理を行うモデル送信部521と、2以上の各ユーザ端末において、評価プログラムが学習モデルを使用した結果に関する結果情報を、2以上の各ユーザ端末から受信する結果受信部531と、結果受信部531が受信した2以上の結果情報を蓄積する蓄積部541と、を具備する。
【選択図】
図19
【特許請求の範囲】
【請求項1】
学習モデルと当該学習モデルの評価のためのプログラムであり、機械学習の予測処理を行う予測プログラムを含む評価プログラムとが格納される格納部と、
前記学習モデルと前記評価プログラムとを2以上の各ユーザ端末に送信するモデル送信処理を行うモデル送信部と、
前記2以上の各ユーザ端末において、前記評価プログラムが前記学習モデルを使用した結果に関する結果情報を、前記2以上の各ユーザ端末から受信する結果受信部と、
前記結果受信部が受信した2以上の結果情報を蓄積する蓄積部とを具備するモデル評価装置。
【請求項2】
前記結果受信部は、
前記結果情報に加えて、前記予測処理の対象である対象データを受信し、
前記蓄積部は、
前記結果情報と前記対象データとを対応付けて蓄積する請求項1記載のモデル評価装置。
【請求項3】
前記結果受信部は、
前記結果情報に加えて、前記対象データと正しいデータである正解データとを受信し、
前記蓄積部は、
前記結果情報と前記対象データと前記正解データとを対応付けて蓄積する請求項2記載のモデル評価装置。
【請求項4】
前記蓄積部が蓄積した2以上の結果情報に応じて、前記学習モデルに関して、異なる処理を行うモデル処理部をさらに具備する請求項1から請求項3いずれか一項に記載のモデル評価装置。
【請求項5】
前記モデル処理部は、
前記2以上の結果情報が評価停止条件に合致するほど良好であるか否かを判断し、前記評価停止条件に合致する場合は、前記学習モデルと前記評価プログラムの送信を停止するための送信停止処理を行う請求項4記載のモデル評価装置。
【請求項6】
前記モデル処理部は、
前記1以上の結果情報が評価停止条件に合致するほど良好であるか否かを判断し、前記評価停止条件に合致しない場合は、前記モデル送信部に、前記モデル送信処理をさらに行うように指示する請求項4記載のモデル評価装置。
【請求項7】
前記結果受信部は、
ユーザ識別子に対応付けて、前記結果情報を受信し、
前記結果情報の受信に対して、前記ユーザ識別子で識別されるユーザに対する報償処理を行う報償部をさらに具備する請求項1から請求項6いずれか一項に記載のモデル評価装置。
【請求項8】
前記結果受信部は、
前記結果情報に加えて、前記予測処理の対象である対象データをも受信し得、
前記報償部は、
前記対象データの受信に対しても、前記ユーザ識別子で識別されるユーザに対する報償処理を行う請求項7記載のモデル評価装置。
【請求項9】
前記2以上の各ユーザ端末から受信した前記対象データと前記正解データとを有する教師データを用いて、機械学習の学習処理を行い、学習モデルを取得し、蓄積する学習部をさらに具備する請求項3記載のモデル評価装置。
【請求項10】
請求項1から請求項9いずれか一項に記載のモデル評価装置から前記学習モデルと前記評価プログラムとを受信する端末受信部と、
前記学習モデルを使用する前記評価プログラムを実行し、予測結果を取得する端末実行部と、
前記端末実行部が取得した前記予測結果に対する評価である結果情報を受け付ける端末受付部と、
前記結果情報を前記モデル評価装置に送信する端末送信部とを具備するユーザ端末。
【請求項11】
前記評価プログラムに与える対象データを取得する端末取得部をさらに具備し、
前記端末実行部は、
前記評価プログラムが有する情報取得プログラムを実行し、対象データを取得するデータ取得手段と、
前記学習モデルと前記対象データとを使用して、前記評価プログラムが有する予測プログラムを実行し、前記予測結果を取得し、出力する予測手段とを具備し、
前記端末送信部は、
前記対象データと前記結果情報とを前記モデル評価装置に送信する請求項10記載のユーザ端末。
【請求項12】
前記端末受付部は、
正解データをも受け付け、
前記端末送信部は、
前記対象データと前記結果情報と前記正解データとを前記モデル評価装置に送信する請求項11記載のユーザ端末。
【請求項13】
学習モデルと当該学習モデルの評価のためのプログラムであり、機械学習の予測処理を行う予測プログラムを含む評価プログラムとが格納される格納部と、モデル送信部と、結果受信部と、蓄積部とにより実現されるモデル評価方法であって、
前記モデル送信部が、前記学習モデルと前記評価プログラムとを2以上の各ユーザ端末に送信するモデル送信処理を行うモデル送信ステップと、
前記結果受信部が、前記2以上の各ユーザ端末において、前記評価プログラムが前記学習モデルを使用した結果に関する結果情報を、前記2以上の各ユーザ端末から受信する結果受信ステップと、
前記蓄積部が、前記結果受信部が受信した2以上の結果情報を蓄積する蓄積ステップとを具備するモデル評価方法。
【請求項14】
学習モデルと当該学習モデルの評価のためのプログラムであり、機械学習の予測処理を行う予測プログラムを含む評価プログラムとが格納される格納部にアクセス可能なコンピュータを、
前記学習モデルと前記評価プログラムとを2以上の各ユーザ端末に送信するモデル送信処理を行うモデル送信部と、
前記2以上の各ユーザ端末において、前記評価プログラムが前記学習モデルを使用した結果に関する結果情報を、前記2以上の各ユーザ端末から受信する結果受信部と、
前記結果受信部が受信した2以上の結果情報を蓄積する蓄積部として機能させるためのプログラム。
【請求項15】
コンピュータを、
請求項1から請求項9いずれか一項に記載のモデル評価装置から前記学習モデルと前記評価プログラムとを受信する端末受信部と、
前記学習モデルを使用する前記評価プログラムを実行し、予測結果を取得する端末実行部と、
前記端末実行部が取得した前記予測結果に対する評価である結果情報を受け付ける端末受付部と、
前記結果情報を前記モデル評価装置に送信する端末送信部として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、2以上のユーザに学習モデルを評価してもらうことを支援するモデル評価装置等に関するものである。
【背景技術】
【0002】
従来、画像に含まれるオブジェクトを予測したり、情報を分類したりする機械学習の技術があった(例えば、非特許文献1参照)。
【先行技術文献】
【非特許文献】
【0003】
【非特許文献1】“TensorFlow”、[online]、[令和4年4月30日検索]、インターネット[URL:https://www.tensorflow.org/?hl=ja]
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、従来、2以上のユーザにより、機械学習の学習モデルの評価を行えるプラットフォームが存在しなかった。
【0005】
また、従来技術においては、機械学習の学習モデルを構築するための教師データは、通常、大量に必要であり、その大量の教師データを作成したり、収集したりすることが容易ではなかった。
【課題を解決するための手段】
【0006】
本第一の発明のモデル評価装置は、学習モデルと学習モデルの評価のためのプログラムであり、機械学習の予測処理を行う予測プログラムを含む評価プログラムとが格納される格納部と、学習モデルと評価プログラムとを2以上の各ユーザ端末に送信するモデル送信処理を行うモデル送信部と、2以上の各ユーザ端末において、評価プログラムが学習モデルを使用した結果に関する結果情報を、2以上の各ユーザ端末から受信する結果受信部と、結果受信部が受信した2以上の結果情報を蓄積する蓄積部とを具備するモデル評価装置である。
【0007】
かかる構成により、2以上のユーザにより、機械学習の学習モデルの評価を行えるプラットフォームを提供できる。
【0008】
また、本第二の発明のモデル評価装置は、第一の発明に対して、結果受信部は、結果情報に加えて、予測処理の対象である対象データを受信し、蓄積部は、結果情報と対象データとを対応付けて蓄積するモデル評価装置である。
【0009】
かかる構成により、2以上の各ユーザが学習モデルの評価のために用いた対象データも収集できる。
【0010】
また、本第三の発明のモデル評価装置は、第二の発明に対して、結果受信部は、結果情報に加えて、対象データと正しいデータである正解データとを受信し、蓄積部は、結果情報と対象データと正解データとを対応付けて蓄積するモデル評価装置である。
【0011】
かかる構成により、精度の高い学習モデルを構築するための正解データも収集できる。
【0012】
また、本第四の発明のモデル評価装置は、第一から第三いずれか1つの発明に対して、蓄積部が蓄積した2以上の結果情報に応じて、学習モデルに関して、異なる処理を行うモデル処理部をさらに具備するモデル評価装置である。
【0013】
かかる構成により、2以上の評価結果に応じた異なる処理を行える。
【0014】
また、本第五の発明のモデル評価装置は、第四の発明に対して、モデル処理部は、2以上の結果情報が評価停止条件に合致するほど良好であるか否かを判断し、評価停止条件に合致する場合は、学習モデルと評価プログラムの送信を停止するための送信停止処理を行うモデル評価装置である。
【0015】
かかる構成により、2以上の評価結果が良好である場合に、当該学習モデルの評価を停止できる。
【0016】
また、本第六の発明のモデル評価装置は、第四の発明に対して、モデル処理部は、1以上の結果情報が評価停止条件に合致するほど良好であるか否かを判断し、評価停止条件に合致しない場合は、モデル送信部に、モデル送信処理をさらに行うように指示するモデル評価装置である。
【0017】
かかる構成により、2以上の評価結果が不良である場合に、当該学習モデルの評価をさらに行える。
【0018】
また、本第七の発明のモデル評価装置は、第一から第六いずれか1つの発明に対して、結果受信部は、ユーザ識別子に対応付けて、結果情報を受信し、結果情報の受信に対して、ユーザ識別子で識別されるユーザに対する報償処理を行う報償部をさらに具備するモデル評価装置である。
【0019】
かかる構成により、学習モデルを評価したユーザに対して、報償を与えることができる。
【0020】
また、本第八の発明のモデル評価装置は、第七の発明に対して、結果受信部は、結果情報に加えて、予測処理の対象である対象データをも受信し得、報償部は、対象データの受信に対しても、ユーザ識別子で識別されるユーザに対する報償処理を行うモデル評価装置である。
【0021】
かかる構成により、学習モデルを評価したユーザに対して、適切な報償を与えることができる。
【0022】
また、本第九の発明のモデル評価装置は、第三の発明に対して、2以上の各ユーザ端末から受信した対象データと正解データとを有する教師データを用いて、機械学習の学習処理を行い、学習モデルを取得し、蓄積する学習部をさらに具備するモデル評価装置である。
【0023】
かかる構成により、受信された対象データと正解データとを有する教師データを用いて精度の高い学習モデルを取得できる。
【0024】
また、本第十の発明のユーザ端末は、モデル評価装置から学習モデルと評価プログラムとを受信する端末受信部と、学習モデルを使用する評価プログラムを実行し、予測結果を取得する端末実行部と、端末実行部が取得した予測結果に対する評価である結果情報を受け付ける端末受付部と、結果情報をモデル評価装置に送信する端末送信部とを具備するユーザ端末である。
【0025】
かかる構成により、機械学習の学習モデルの評価を行える端末を提供できる。
【0026】
また、本第十一の発明のユーザ端末は、第十の発明に対して、評価プログラムに与える対象データを取得する端末取得部をさらに具備し、端末実行部は、評価プログラムが有する情報取得プログラムを実行し、対象データを取得するデータ取得手段と、学習モデルと対象データとを使用して、評価プログラムが有する予測プログラムを実行し、予測結果を取得し、出力する予測手段とを具備し、端末送信部は、対象データと結果情報とをモデル評価装置に送信するユーザ端末である。
【0027】
かかる構成により、学習モデルの評価のために用いた対象データを収集するための端末を提供できる。
【0028】
また、本第十二の発明のユーザ端末は、第十一の発明に対して、端末受付部は、正解データをも受け付け、端末送信部は、対象データと結果情報と正解データとをモデル評価装置に送信するユーザ端末である。
【0029】
かかる構成により、学習モデルの評価のために用いた対象データと正解データとを収集するための端末を提供できる。
【0030】
本発明のデータ収集装置は、機械学習の学習処理により学習モデルを構築するための教師データを構成する元になる第一教師データ元情報が格納される元情報格納部と、第一教師データ元情報を2以上の各ユーザ端末に送信する元情報送信部と、元情報送信部が送信し、ユーザ端末で処理された第一教師データ元情報に対してユーザが入力した入力情報を含む第二教師データ元情報を、第一教師データ元情報に対応付く態様でユーザ端末から受信する元情報受信部と、第一教師データ元情報と元情報受信部が受信した第二教師データ元情報とを用いて、機械学習の学習処理のために使用する教師データを構成する教師データ構成部と、教師データ構成部が構成した教師データを蓄積する蓄積部とを具備するデータ収集装置である。
【0031】
かかる構成により、機械学習の学習モデルを構築するための教師データを収集するためのプラットフォームを提供できる。
【0032】
また、本発明のデータ収集装置は、上記の発明に対して、第一教師データ元情報は、教師データを構成する要素情報を含み、第二教師データ元情報は、要素情報を識別するラベルであり、ユーザが要素情報に対して入力したラベルであり、教師データは、要素情報とラベルとを含む、データ収集装置である。
【0033】
かかる構成により、要素情報から当該要素情報のラベルを予測するための学習モデルを構築するための教師データを収集するためのプラットフォームを提供できる。
【0034】
また、本発明のデータ収集装置は、上記の発明に対して、第一教師データ元情報は、教師データを構成する要素情報を含み、第二教師データ元情報は、要素情報を変換した情報である変換情報であり、ユーザが要素情報に対して入力した変換情報であり、教師データは、要素情報と変換情報とを含む、データ収集装置である。
【0035】
かかる構成により、要素情報から当該要素情報を変換した変換情報を予測するための学習モデルを構築するための教師データを収集するためのプラットフォームを提供できる。
【0036】
また、本発明のデータ収集装置は、上記の発明に対して、要素情報は、第一言語の用語または文であり、変換情報は、第二言語の用語または文である、データ収集装置である。
【0037】
かかる構成により、第一言語の要素情報から当該第二言語に翻訳した変換情報を予測するための学習モデルを構築するための教師データを収集するためのプラットフォームを提供できる。
【0038】
また、本発明のデータ収集装置は、上記の発明に対して、第一教師データ元情報は、教師データを構成する要素情報を含み、第二教師データ元情報は、要素情報を説明する情報である説明情報であり、ユーザが要素情報に対して入力した説明情報であり、教師データは、要素情報と説明情報とを含む、データ収集装置である。
【0039】
かかる構成により、要素情報から当該要素情報を説明する説明情報を予測するための学習モデルを構築するための教師データを収集するためのプラットフォームを提供できる。
【0040】
また、本の発明のデータ収集装置は、上記の発明に対して、第一教師データ元情報は、ユーザが入力情報を入力することを支援するプログラムを含み、元情報受信部は、ユーザ端末でプログラムが実行された後に、ユーザが入力した入力情報を含む第二教師データ元情報を受信する、データ収集装置である。
【0041】
かかる構成により、入力情報を入力することを支援するプログラムもユーザに提供できる。
【0042】
また、本発明のデータ収集装置は、上記の発明に対して、プログラムは、要素情報のラベルを予測する機械学習の予測プログラムであり、第一教師データ元情報は、教師データを構成する要素情報を含み、第二教師データ元情報は、要素情報に対して予測プログラムが実行され得られたラベルをユーザが修正したラベルを含み、教師データは、要素情報とラベルとを含む、データ収集装置である。
【0043】
かかる構成により、要素情報から当該要素情報のラベルを予測するための学習モデルを構築するための教師データを容易に収集するためのプラットフォームを提供できる。
【0044】
また、本発明のデータ収集装置は、上記の発明に対して、プログラムは、要素情報を変換する変換プログラムであり、第一教師データ元情報は、教師データを構成する要素情報を含み、第二教師データ元情報は、要素情報に対して予測プログラムが実行され得られた変換情報をユーザが修正した変換情報を含み、教師データは、要素情報と変換情報とを含む、データ収集装置である。
【0045】
かかる構成により、要素情報から当該要素情報を変換した変換情報を予測するための学習モデルを構築するための教師データを容易に収集するためのプラットフォームを提供できる。
【0046】
また、本発明のデータ収集装置は、上記の発明に対して、変換プログラムは、機械翻訳プログラムであり、要素情報は、第一言語の用語または文であり、変換情報は、第二言語の用語または文である、データ収集装置である。
【0047】
かかる構成により、第一言語の要素情報から当該第二言語に翻訳した変換情報を予測するための学習モデルを構築するための教師データを容易に収集するためのプラットフォームを提供できる。
【0048】
また、本発明のデータ収集装置は、上記の発明に対して、プログラムは、要素情報の説明情報を予測する機械学習の予測プログラムであり、第一教師データ元情報は、教師データを構成する要素情報を含み、第二教師データ元情報は、要素情報に対して予測プログラムが実行され得られた説明情報をユーザが修正した説明情報を含み、教師データは、要素情報と説明情報とを含む、データ収集装置である。
【0049】
かかる構成により、要素情報から当該要素情報を説明する説明情報を予測するための学習モデルを構築するための教師データを容易に収集するためのプラットフォームを提供できる。
【0050】
また、本発明のデータ収集装置は、上記の発明に対して、プログラムは、教師データを構成する正例と負例とを取得することを支援するプログラムであり、第二教師データ元情報は、プログラムを用いて、ユーザ端末で取得された正例と負例である、データ収集装置である。
【0051】
かかる構成により、正例か負例かを判断するための機械学習の学習モデルを構築するための教師データを収集するためのプラットフォームを提供できる。
【0052】
また、本発明のデータ収集装置は、上記の発明に対して、元情報送信部は、2以上の各ユーザ端末に、同一の第一教師データ元情報を送信し、元情報受信部は、2以上の各ユーザ端末から、同一の第一教師データ元情報に対応する第二教師データ元情報を受信し、教師データ構成部は、元情報受信部が受信した2以上の各第二教師データ元情報に含まれる入力情報を用いて、予め決められたアルゴリズムにより、蓄積する教師データを構成する、データ収集装置である。
【0053】
かかる構成により、精度の高い学習モデルを構築するための教師データを収集するためのプラットフォームを提供できる。
【0054】
また、本発明のデータ収集装置は、上記の発明に対して、教師データ構成部は、元情報受信部が受信した2以上の第二教師データ元情報に含まれる入力情報を合成し、合成入力情報を取得する合成手段と、第一教師データ元情報が有する要素情報と合成入力情報とを有する教師データ構成する教師データ構成手段とを具備するデータ収集装置である。
【0055】
かかる構成により、精度の高い学習モデルを構築するための教師データを収集するためのプラットフォームを提供できる。
【0056】
また、本発明のデータ収集装置は、上記の発明に対して、第一教師データ元情報は、データ属性値に対応付いており、ユーザごとに、1以上のユーザ属性値を含む1以上のユーザ情報が格納されるユーザ情報格納部と、データ属性値に対応するユーザ属性値を有する1以上のユーザ情報を決定するユーザ決定部とをさらに具備し、元情報送信部は、ユーザ決定部が決定した1以上の各ユーザ情報に対応するユーザ端末に第一教師データ元情報を送信する、データ収集装置である。
【0057】
かかる構成により、適切なユーザが入力した第二教師データ元情報を取得できる。
【0058】
また、本発明のデータ収集装置は、上記の発明に対して、元情報受信部が受信した第二教師データ元情報を、第二教師データ元情報を送信したユーザ端末とは異なるユーザ端末である他端末に送信する他端末送信部と、他端末から第二教師データ元情報に対する評価結果を受信する評価結果受信部と、評価結果が採用条件を満たすか否かを判断する判断部とをさらに具備し、教師データ構成部は、判断部が採用条件を満たすと判断した場合のみ、評価結果に対応する第二教師データ元情報を用いて、教師データを構成する、データ収集装置である。
【0059】
かかる構成により、精度の高い学習モデルを構築するための教師データを収集するためのプラットフォームを提供できる。
【0060】
また、本発明のデータ収集装置は、上記の発明に対して、評価結果を用いて、評価結果に対応する第二教師データ元情報に対応するユーザに対する評価であるユーザ評価を取得するユーザ評価部と、ユーザ評価を出力するユーザ評価出力部とをさらに具備するデータ収集装置である。
【0061】
かかる構成により、第二教師データ元情報を提供するユーザを評価できる。
【0062】
また、本発明のデータ収集装置は、上記の発明に対して、ユーザ端末からの第二教師データ元情報の送信に応じた報酬を特定する報酬情報を取得する報酬取得部と、報酬情報をユーザ端末を使用するユーザに対応付けて蓄積する報酬蓄積部とをさらに具備するデータ収集装置である。
【0063】
かかる構成により、第二教師データ元情報を提供するユーザに報酬を与えられる。
【0064】
また、本発明のデータ収集装置は、上記の発明に対して、前記元情報受信部が前記ユーザ端末から第二教師データ元情報を受信した場合に、他のユーザ端末から受信されていた入力情報を前記ユーザ端末に送信する他端末送信部をさらに具備する、データ収集装置である。
【0065】
かかる構成により、入力情報を送信したユーザに、他の入力情報の正しさの確認のために他の入力情報を送信できる結果、他の入力情報に対するユーザの正当な評価が得られやすくなる。
【0066】
また、本発明のデータ収集装置は、上記の発明に対して、前記他端末送信部が送信した入力情報に対する評価結果を前記ユーザ端末から受信する評価結果受信部と、前記入力情報に対応付けて、前記評価結果を蓄積し、当該評価結果に応じて、前記入力情報に対して異なる処理を行う処理部とをさらに具備する、データ収集装置である。
【0067】
かかる構成により、入力情報を送信したユーザに、他の入力情報の正しさの確認のために他の入力情報を送信できる結果、他の入力情報に対するユーザの正当な評価が得られやすくなる。
【0068】
また、本発明の学習装置は、上記の発明に対して、データ収集装置と、データ収集装置が蓄積した2以上の教師データを用いて、機械学習の学習処理を行い、学習モデルを取得し、学習モデルを蓄積する学習部を具備する学習装置である。
【0069】
かかる構成により、機械学習の学習モデルを容易に構築できる。
【0070】
また、本発明の予測装置は、要素情報を受け付ける受付部と、学習装置と、要素情報を受け付ける受付部と、学習装置が取得した学習モデルと受付部が受け付けた要素情報とを用いて、機械学習の予測処理を行い、入力情報を取得する予測部と、入力情報を出力する予測結果出力部とを具備する予測装置である。
【0071】
かかる構成により、容易に構築した学習モデルを用いて、機械学習の予測処理ができる。
【発明の効果】
【0072】
本発明によるモデル評価装置によれば、2以上のユーザにより、機械学習の学習モデルの評価を行えるプラットフォームを提供できる。
【図面の簡単な説明】
【0073】
【
図1】実施の形態1におけるデータ収集装置システムAの概念図
【
図4】同データ収集装置1の動作例について説明するフローチャート
【
図5】同ユーザ決定処理の例について説明するフローチャート
【
図6】同教師データ構成処理の例について説明するフローチャート
【
図7】同複数入力情報処理の例について説明するフローチャート
【
図8】同ユーザ端末2の動作例について説明するフローチャート
【
図15】実施の形態2における情報システムBの概念図
【
図17】実施の形態3におけるモデル評価システムCの概念図
【
図20】同データ収集装置1の動作例について説明するフローチャート
【
図21】同報償処理の例について説明するフローチャート
【
図22】同モデル評価処理の例について説明するフローチャート
【
図23】同学習処理の例について説明するフローチャート
【
図24】同ユーザ端末6の動作例について説明するフローチャート
【
図38】上記実施の形態におけるコンピュータシステムの概観図
【発明を実施するための形態】
【0074】
以下、データ収集装置、モデル評価装置等の実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
【0075】
(実施の形態1)
本実施の形態において、2以上のユーザ端末に、教師データを構成するための第一教師データ元情報を送信し、当該2以上の各ユーザ端末から入力情報を含む第二教師データ元情報を受信し、当該第一教師データ元情報と第二教師データ元情報とを用いて、教師データを構成し、蓄積するデータ収集装置について説明する。
【0076】
また、本実施の形態において、2以上のユーザ端末2に同一の第一教師データ元情報を送信し、当該同一の第一教師データ元情報に対する第二教師データ元情報を2以上の各ユーザ端末から受信し、当該第一教師データ元情報と2以上の第二教師データ元情報とを用いて、教師データを構成し、蓄積するデータ収集装置について説明する。
【0077】
また、本実施の形態において、2以上のユーザ端末2から受信した第二教師データ元情報が有する入力情報を合成した合成入力情報を取得し、当該合成入力情報を有する教師データを構成し、蓄積するデータ収集装置について説明する。
【0078】
また、本実施の形態において、ユーザ端末ごとにユーザ属性値(例えば、英語が専門であること)を管理しており、当該ユーザ属性値を用いて、第一教師データ元情報を送信するユーザ端末を決定するデータ収集装置について説明する。
【0079】
また、本実施の形態において、ユーザ端末から受信された第二教師データ元情報を、他のユーザ端末に送信し、当該他のユーザ端末からの評価結果を受信し、当該評価結果が採用条件を満たす場合のみ、当該第二教師データ元情報を採用して、教師データを構成するデータ収集装置について説明する。
【0080】
また、本実施の形態において、上記の評価結果を用いて、第二教師データ元情報を送信したユーザを評価できるデータ収集装置について説明する。
【0081】
さらに、本実施の形態において、第二教師データ元情報の送信に対する報酬を、ユーザに与えることができるデータ収集装置について説明する。
【0082】
なお、本明細書において、情報Xが情報Yに対応付いていることは、情報Xから情報Yを取得できること、または情報Yから情報Xを取得できることであり、その対応付けの方法は問わない。情報Xと情報Yとがリンク付いていても良いし、同じバッファに存在していても良いし、情報Xが情報Yに含まれていても良いし、情報Yが情報Xに含まれている等でも良い。
【0083】
図1は、本実施の形態におけるデータ収集装置システムAの概念図である。データ収集装置システムAは、データ収集装置1、および1または2以上のユーザ端末2を備える。
【0084】
データ収集装置1は、教師データを収集するためのサーバである。データ収集装置1は、例えば、いわゆるサーバであり、例えば、クラウドサーバ、ASPサーバ等である。
【0085】
ユーザ端末2は、ユーザが使用する端末である。ユーザは、ここでは、教師データを作成するための作業を行う者である。ユーザは、後述する入力情報を提供する者である。ユーザ端末2は、第一教師データ元情報を受信し、第二教師データ元情報を送信する端末である。ユーザ端末2は、例えば、いわゆるパーソナルコンピュータ、タブレット端末、スマートフォン等であり、その種類は問わない。
【0086】
データ収集装置1と1または2以上の各ユーザ端末2とは、インターネットやLAN等のネットワークにより通信可能である。
【0087】
図2は、本実施の形態におけるデータ収集装置システムAのブロック図である。
図3は、データ収集装置1のブロック図である
【0088】
データ収集装置1は、格納部11、受信部12、処理部13、および送信部14を備える。格納部11は、ユーザ情報格納部111、元情報格納部112、および教師データ格納部113を備える。受信部12は、元情報受信部121、および評価結果受信部122を備える。処理部13は、ユーザ決定部131、判断部132、教師データ構成部133、蓄積部134、報酬取得部135、報酬蓄積部136、ユーザ評価部137、およびユーザ評価出力部138を備える。教師データ構成部133は、合成手段1331、および教師データ構成手段1332を備える。送信部14は、元情報送信部141、および他端末送信部142を備える。
【0089】
ユーザ端末2は、端末格納部21、端末受付部22、端末処理部23、端末送信部24、端末受信部25、および端末出力部26を備える。
【0090】
データ収集装置1を構成する格納部11には、各種の情報が格納される。各種の情報とは、例えば、後述するユーザ情報、後述する第一教師データ元情報、後述する教師データ、各種のプログラムである。
【0091】
各種のプログラムは、ユーザ端末2で実行されるプログラムである。各種のプログラムは、例えば、要素情報を用いるプログラムである。各種のプログラムは、例えば、要素情報に対して、予め決められた処理を行うプログラムである。各種のプログラムは、例えば、機械学習の予測プログラム、機械翻訳プログラム、音声合成プログラム、音声認識プログラムである。
【0092】
ユーザ情報格納部111には、1または2以上のユーザ情報が格納される。ユーザ情報は、ユーザに関する情報である。ユーザ情報は、例えば、ユーザ識別子、1または2以上のユーザ属性値を有する。ユーザ識別子とは、ユーザを識別する情報である。ユーザ識別子は、例えば、ユーザID、電話番号、メールアドレス、ユーザ端末識別子である。ユーザ端末識別子とは、ユーザ端末2を識別する情報である。ユーザ端末識別子は、例えば、ユーザ端末2と通信するための情報である送信先情報である。ユーザ端末識別子は、例えば、ユーザ端末2のIPアドレス、MACアドレス、電話番号である。ユーザ属性値は、ユーザの特性と言っても良い。ユーザ属性値は、例えば、専門識別子、使用言語である。専門識別子とは、ユーザの専門を特定する情報である。専門識別子は、例えば、日英翻訳(例えば、「1」)、日中翻訳(例えば、「2」)、英日翻訳(例えば、「3」)である。使用言語とは、ユーザが使用している言語である。使用言語は、例えば、日本語、英語、中国語である。ユーザ属性値は、例えば、後述する報酬情報、後述するユーザ評価である。
【0093】
元情報格納部112には、1または2以上の第一教師データ元情報が格納される。第一教師データ元情報とは、教師データを構成する元になる情報である。教師データとは、機械学習の学習処理により学習モデルを構築するための情報である。
【0094】
第一教師データ元情報には、例えば、検査フラグ、複数人フラグ、合成フラグが対応づいていても良い。検査フラグとは、受信された第二教師データ元情報を他のユーザにより検査することを示す情報である。複数人フラグとは、複数人に第一教師データ元情報を送信することを示す情報である。合成フラグとは、複数のユーザ端末2から受信された第二教師データ元情報に含まれる入力情報を合成して、合成入力情報を構成することを示す情報である。
【0095】
なお、学習モデルとは、機械学習の学習処理により構成された情報であり、機械学習の予測処理に使用される情報である。学習モデルは、学習器、分類器、分類モデル等と言っても良い。学習モデルを構築したり、学習モデルを用いて予測処理したりする機械学習のアルゴリズムは、深層学習、ランダムフォレスト、決定木、SVM、SVR等、問わない。また、機械学習には、例えば、TensorFlowのライブラリ、R言語のrandom forestのモジュール、fastText、TinySVM等の各種の機械学習の関数や、種々の既存のライブラリを用いることができる。
【0096】
第一教師データ元情報は、通常、要素情報を含む。要素情報は、教師データを構成する情報である。要素情報は、通常、教師データを構成する説明変数となる情報であるが、教師データを構成する目的変数となる情報でも良い。要素情報は、例えば、画像、映像(動画)、音情報、文字列である。要素情報は、例えば、分類を示すラベルが付されるべき情報(例えば、画像、映像)である。なお、ラベルは、要素情報を識別する情報である。ラベルは、通常、1または2以上の用語である。要素情報は、例えば、翻訳対象の用語、翻訳対象の1または2以上の文である。用語は、1または2以上の単語の集合である。要素情報は、例えば、説明される対象の情報(例えば、画像、映像)である。要素情報は、例えば、音声認識される対象の音情報(音声データ)である。要素情報は、例えば、音声合成される対象の文字列である。
【0097】
第一教師データ元情報は、ユーザが入力情報を入力することを支援するプログラムを含むことは好適である。入力情報を入力することを支援するプログラムは、例えば、要素情報を用いて、入力情報を予測する機械学習の予測プログラム、第一言語の要素情報を機械翻訳し、第二言語の入力情報の案を出力する機械翻訳プログラム、文字列である要素情報を音声合成し、音声データの案を出力する音声合成プログラム、音声データである要素情報に対して、音声認識処理を行い、文字列の案を出力する音声認識プログラムである。
【0098】
第一教師データ元情報は、データ属性値に対応付いていることは好適である。データ属性値とは、第一教師データ元情報の属性値、または第一教師データ元情報が含む要素情報の属性値である。データ属性値は、例えば、翻訳対象の要素情報の第一言語を示す情報(例えば、「英語」「日本語」)、第一言語と第二言語とを示す情報(例えば、「日→英」、「中→日」)である。
【0099】
第一教師データ元情報には、第二教師データ元情報を送信したユーザに与える報酬を算出する元になる報酬元情報が対応付いていることは好適である。報酬元情報とは、報酬情報を取得する元になる情報である。報酬元情報は、例えば、入力情報を送信する場合の単価、1つの第二教師データ元情報に対する報酬金額、1つの第二教師データ元情報に対して与えるポイント数である。
【0100】
教師データ格納部113には、1または2以上の教師データが格納される。ここでの教師データは、教師データ構成部133が構成したデータである。ここでの教師データは、そのまま学習モジュールに与えられるデータ構造であることは好適であるが、そのまま学習モジュールに与えられるデータ構造でなくても良い。ここでの教師データは、そのまま学習モジュールに与えられるデータ構造の教師データに含まれるすべての情報を有することは好適である。
【0101】
教師データは、例えば、要素情報と入力情報とを含む。教師データは、例えば、要素情報と入力情報であるラベルとを含む。ラベルとは、要素情報(例えば、動物を撮影した画像)を識別する情報(例えば、「犬」「猫」「秋田犬」)である。教師データは、例えば、要素情報(例えば、第一言語の文)と変換情報(例えば、第一言語の文を第二言語に翻訳した文)とを含む。教師データは、例えば、要素情報(例えば、画像、映像)と説明情報(例えば、画像について説明する文、映像について説明する文)とを含む。
【0102】
受信部12は、各種の情報を受信する。各種の情報とは、例えば、後述する第二教師データ元情報、後述する評価結果である。
【0103】
元情報受信部121は、1または2以上の各ユーザ端末2から第二教師データ元情報を受信する。かかるユーザ端末2は、後述する元情報送信部141が第一教師データ元情報を送信した端末である。
【0104】
第二教師データ元情報とは、教師データを構成する元になる情報である。第二教師データ元情報は入力情報を含む。第二教師データ元情報は入力情報でも良い。入力情報とは、ユーザ端末2で処理された第一教師データ元情報に対してユーザが入力した情報である。入力情報は、要素情報に対して、第一教師データ元情報が有するプログラムが処理し、出力された情報そのもの(例えば、機械翻訳結果)でも良いし、当該プログラムが処理し、出力された情報に対して、ユーザが修正した情報でも良い。ユーザが入力した情報とは、ユーザのユーザ端末2に対する操作により取得されて情報である。ユーザが入力した情報は、ユーザが手入力した情報でも良いし、ユーザが撮影した画像や映像であり、ユーザ端末2に取り込まれた画像や映像でも良いし、ユーザが発声した音声データであり、ユーザ端末2に取り込まれた音声データでも良い。ユーザが入力した情報は、ユーザの何らかの操作により、ユーザ端末2に存在するに至った情報であれば良い。
【0105】
第一教師データ元情報に対する処理とは、例えば、第一教師データ元情報の全部または一部(例えば、入力情報)を表示すること、第一教師データ元情報の全部または一部に対して変換処理を行うこと、第一教師データ元情報と図示しない学習モデルを用いて機械学習の予測処理を行い、予測結果を取得することである。なお、変換処理を行うプログラム、機械学習の予測処理を行うプログラムは、ユーザ端末2に送信される第一教師データ元情報に含まれていることは好適である。
【0106】
元情報受信部121は、通常、第二教師データ元情報を、第一教師データ元情報に対応付く態様でユーザ端末2から受信する。第一教師データ元情報に対応付く態様とは、例えば、第二教師データ元情報が第一教師データ元情報識別子を有することである。第一教師データ元情報に対応付く態様とは、例えば、第二教師データ元情報が要素情報を含むことである。なお、第一教師データ元情報識別子とは、第一教師データ元情報を識別する情報である。第一教師データ元情報を識別する情報は、第一教師データ元情報に含まれる要素情報を識別する情報でも良い。
【0107】
元情報受信部121は、例えば、ユーザ端末2でプログラムが実行された後に、ユーザが入力した入力情報を含む第二教師データ元情報を受信する。なお、ここでのプログラムは、例えば、要素情報を分類する機械学習の予測プログラムである。ここでのプログラムは、例えば、要素情報を分類する機械学習の予測プログラムと予測処理に用いる学習モデルである。ここでのプログラムは、例えば、要素情報を機械翻訳する機械翻訳のプログラムである。ここでのプログラムは、例えば、要素情報の説明情報を生成する機械学習の予測プログラムである。ここでのプログラムは、例えば、要素情報の説明情報を生成する機械学習の予測プログラムと予測処理に用いる学習モデルである。ここでのプログラムは、例えば、文字列である要素情報に対して音声合成処理を行うプログラムである。ここでのプログラムは、例えば、音声データである要素情報に対して音声認識処理を行うプログラムである。なお、プログラムの種類は問わない。
【0108】
元情報受信部121は、2以上の各ユーザ端末から、同一の第一教師データ元情報に対応する第二教師データ元情報を受信することは好適である。
【0109】
第二教師データ元情報は、例えば、要素情報を識別するラベルであり、ユーザが要素情報に対して入力したラベルを含む。第二教師データ元情報は、例えば、要素情報を変換した情報である変換情報であり、ユーザが要素情報に対して入力した変換情報を含む。第二教師データ元情報は、例えば、要素情報を説明する情報である説明情報であり、ユーザが要素情報に対して入力した説明情報を含む。
【0110】
第二教師データ元情報とは、例えば、要素情報に対して予測プログラムが実行され得られたラベルをユーザが修正したラベルを含む。第二教師データ元情報とは、例えば、要素情報に対して予測プログラムが実行され得られた変換情報をユーザが修正した変換情報を含む。第二教師データ元情報とは、例えば、要素情報に対して予測プログラムが実行され得られた説明情報をユーザが修正した説明情報を含む。
【0111】
第二教師データ元情報とは、例えば、プログラムを用いて、ユーザ端末2で取得された正例と負例である。なお、かかるプログラムは、正例と負例とを入力できるプログラムである。かかるプログラムは、正例と負例とを入力し、当該正例と負例とを含む第二教師データ元情報をデータ収集装置1に送信するプログラムである。なお、正例と負例との入力は、画像または映像の撮影でも良いし、文字列の入力でも良いし、音声データの取り込みでも良い。
【0112】
上述のプログラムは、例えば、要素情報のラベルを予測する機械学習の予測プログラム、要素情報を変換する変換プログラム、要素情報の説明情報を予測する機械学習の予測プログラム、教師データを構成する正例と負例とを取得することを支援するプログラムである。
【0113】
なお、正例は、識別したい対象の情報であり、例えば、ひび割れた壁の写真、クラックがある建造物の写真である。また、負例は、正例ではない情報であり、例えば、ひび割れていない壁の写真、クラックがない建造物の写真である。ただし、正例、負例のデータタイプ、内容等は問わない。なお、正例と負例とは逆でも良い。
【0114】
評価結果受信部122は、他端末から第二教師データ元情報に対する評価結果を受信する。なお、他端末とは、第二教師データ元情報を送信したユーザ端末2ではないユーザ端末2である。他端末とは、第二教師データ元情報を評価するユーザが使用するユーザ端末2である。
【0115】
評価結果受信部122は、他端末送信部142がユーザ端末2に送信した入力情報に対する評価結果を当該ユーザ端末2から受信しても良い。なお、かかるユーザ端末2は、当該入力情報を送信したユーザ端末2ではない。
【0116】
評価結果とは、第二教師データ元情報または第二教師データ元情報が有する入力情報に対する評価の結果を示す情報である。評価結果は、例えば、第二教師データ元情報または第二教師データ元情報が有する入力情報が正しいことを示す情報(例えば、真「1」)、第二教師データ元情報または第二教師データ元情報が有する入力情報が間違っていることを示す情報(例えば、偽「0」)、ユーザが入力した正しい入力情報である。
【0117】
処理部13は、各種の処理を行う。各種の処理とは、例えば、ユーザ決定部131、判断部132、教師データ構成部133、蓄積部134、報酬取得部135、報酬蓄積部136、ユーザ評価部137、ユーザ評価出力部138が行う処理である。
【0118】
処理部13は、送信部14が送信した入力情報に対応付けて、受信部12が受信した評価結果を蓄積する。そして、処理部13は、蓄積した1または2以上の評価結果に応じて、当該評価結果に対応する入力情報に対して異なる処理を行う。
【0119】
なお、異なる処理の内容は問わない。例えば、「正しい」との評価結果であれば、教師データとして採用し、「正しくない」との評価結果であれば、教師データとして採用しない。また、一の入力情報に対して、2以上の評価結果が存在する場合、当該2以上の評価結果の統計処理の結果が条件を満たす場合(例えば、「正しい」との評価結果の数または割合が閾値以上または閾値より多い場合)は教師データとして採用し、条件を満たさない場合(例えば、「正しくない」との評価結果の数または割合が閾値以上または閾値より多い場合)は教師データとして採用しない。
【0120】
また、教師データとして採用することは、例えば、教師データ格納部113に蓄積すること、学習モデルを構成する際に使用することである。教師データとして採用しないことは、例えば、教師データ格納部113に蓄積しないこと、学習モデルを構成する際に使用しないことである。
【0121】
また、例えば、「正しい」との評価結果であれば、他のユーザ端末2に入力情報を送信せず、「正しくない」との評価結果であれば、さらに別のユーザ端末2に入力情報を送信する。また、一の入力情報に対して、2以上の評価結果が存在する場合、当該2以上の評価結果の統計処理の結果が条件を満たす場合(例えば、「正しい」との評価結果の数または割合が閾値以上または閾値より多い場合)は、他のユーザ端末2に入力情報を送信せず、条件を満たさない場合(例えば、「正しくない」との評価結果の数または割合が閾値以上または閾値より多い場合)はさらに別のユーザ端末2に入力情報を送信する。
【0122】
ユーザ決定部131は、第一教師データ元情報を送信するユーザ端末2を決定する。ユーザ端末2を決定することは、例えば、ユーザ識別子を取得すること、送信先情報を取得することである。ユーザ端末2を決定することは、第一教師データ元情報を送信するユーザ端末2が決定できる処理であれば良い。
【0123】
ユーザ決定部131は、例えば、作業条件に合致する1以上のユーザ情報を決定する。なお、作業条件とは、第一教師データ元情報に対する入力情報を送信する作業を行えるための条件である。作業条件は、1以上のデータ属性値が、第一教師データ元情報と対になる1または2以上の各データ属性値を満足することである。ユーザ決定部131は、例えば、第一教師データ元情報と対になる1または2以上の各データ属性値を元情報格納部112から取得し、当該1以上のデータ属性値に対応するユーザ属性値を有する1以上のユーザ情報を決定する。例えば、データ属性値が「英語」である場合(例えば、翻訳する対象の第一言語が「英語」である場合)、ユーザ決定部131は、ユーザ属性値のうちの「専門」が「英日翻訳」であるユーザ属性値に対応するユーザ識別子をユーザ情報格納部111から取得する。
【0124】
ユーザ決定部131は、例えば、第一教師データ元情報を送信する候補のユーザ端末2から、ランダムに1または2以上のユーザ端末2を決定する。
【0125】
判断部132は、評価結果受信部122が受信した評価結果が採用条件を満たすか否かを判断する。採用条件とは、元情報受信部121が受信した第二教師データ元情報を採用して教師データを構成するための条件である。採用条件は、第二教師データ元情報が有する入力情報が正しいことを示す条件である。採用条件は、例えば、評価結果が「正しいことを示す情報」であること、評価結果に含まれる修正された入力情報が「NULL」であることである。
【0126】
教師データ構成部133は、元情報送信部141が送信した第一教師データ元情報と元情報受信部121が受信した第二教師データ元情報とを用いて、機械学習の学習処理のために使用する教師データを構成する。第一教師データ元情報と第二教師データ元情報とを用いて教師データを構成することは、第一教師データ元情報の一部と第二教師データ元情報の一部とを用いて教師データを構成することも含むと考えても良い。
【0127】
教師データ構成部133は、例えば、第一教師データ元情報に含まれる要素情報と第二教師データ元情報に含まれる入力情報とを用いて、教師データを構成する。教師データ構成部133は、例えば、第一教師データ元情報に含まれる要素情報を説明変数とし、教師データ元情報に含まれる入力情報を目的変数とする教師データを構成する。教師データ構成部133は、例えば、第一教師データ元情報に含まれる要素情報を目的変数とし、教師データ元情報に含まれる入力情報を説明変数とする教師データを構成する。なお、教師データのデータ構造は問わない。教師データは、例えば、要素情報と入力情報とを要素とするベクトルである。
【0128】
教師データ構成部133は、元情報受信部121が受信した2以上の各第二教師データ元情報に含まれる入力情報を用いて、予め決められたアルゴリズムにより、蓄積する教師データを構成する。なお、ここで、教師データは、通常、一つである。
【0129】
予め決められたアルゴリズムとは、例えば、多数決である。つまり、元情報受信部121が受信した2以上の各第二教師データ元情報に含まれる入力情報が全て同じ情報でない場合、教師データ構成部133は、最も頻度が高い入力情報を、教師データを構成する際に使用する入力情報として決定する。また、予め決められたアルゴリズムとは、例えば、後述する合成である。
【0130】
教師データ構成部133は、判断部132が採用条件を満たすと判断した場合のみ、評価結果に対応する第二教師データ元情報を用いて、教師データを構成することは好適である。
【0131】
教師データ構成部133を構成する合成手段1331は、元情報受信部121が受信した2以上の第二教師データ元情報に含まれる入力情報を合成し、合成入力情報を取得する。なお、合成とは、元情報受信部121が受信した2以上の第二教師データ元情報のうちの2以上の各第二教師データ元情報の全部または一部を有する合成入力情報を取得することである。
【0132】
合成手段1331は、例えば、元情報受信部121が受信した2以上の各第二教師データ元情報に含まれる入力情報(例えば、画像を識別するラベル)をすべて含む情報を、教師データを構成する際に使用する入力情報として決定する。なお、かかるすべて含む情報は、合成入力情報である。
【0133】
合成手段1331は、例えば、元情報受信部121が受信した2以上の各第二教師データ元情報に含まれる入力情報(例えば、画像を識別するラベル)に対して、ユニーク処理した結果の情報をすべて含む情報を、合成入力情報として取得する。かかる場合、合成入力情報から重複する情報(例えば、重複するラベル)は除かれる。
【0134】
教師データ構成手段1332は、例えば、第一教師データ元情報が有する要素情報と合成手段1331が取得した合成入力情報とを有する教師データ構成する。
【0135】
蓄積部134は、教師データ構成部133が構成した教師データを蓄積する。蓄積部134は、例えば、教師データを教師データ格納部113に蓄積する。
【0136】
蓄積部134は、入力情報に対応付けて、評価結果受信部122が受信した評価結果を蓄積しても良い。かかる評価結果は、対応付く入力情報に対する評価結果である。
【0137】
報酬取得部135は、ユーザ端末2からの第二教師データ元情報の送信に応じた報酬を特定する報酬情報を取得する。報酬取得部135は、通常、ユーザ端末2に対応するユーザに対応付けて、報酬情報を取得する。報酬取得部135は、例えば、第二教師データ元情報が受信された場合に、当該第二教師データ元情報に対応する第一教師データ元情報と対になる報酬元情報を元情報格納部112から取得し、当該報酬元情報を用いて、報酬情報(例えば、報酬金額、報酬のポイント数)を取得する。
【0138】
第一教師データ元情報に応じて、報酬が異なることは好適である。例えば、要素情報である画像に対して、ラベルである入力情報を送信した場合より、要素情報である画像に対して、説明情報である入力情報を送信した場合の方が高額の報酬となる。報酬取得部135は、第二教師データ元情報の数が多いほど、大きな報酬となる報酬情報を取得することは好適である。報酬取得部135は、第二教師データ元情報に対する評価結果が高い(良好である)ほど、大きな報酬となる報酬情報を取得することは好適である。
【0139】
報酬蓄積部136は、報酬取得部135が取得した報酬情報を、第二教師データ元情報を送信したユーザ端末2を使用するユーザに対応付けて蓄積する。報酬蓄積部136は、例えば、報酬取得部135が取得した報酬情報を、第二教師データ元情報を送信したユーザ端末2に対応するユーザ識別子と対にして、ユーザ情報格納部111に蓄積する。なお、報酬情報の蓄積は、例えば、当該ユーザ識別子と対にして格納されている報酬情報に、報酬取得部135が取得した報酬情報を加算した新たな報酬情報を蓄積することである。
【0140】
ユーザ評価部137は、評価結果受信部122が受信した1または2以上の評価結果を用いて、当該評価結果に対応する第二教師データ元情報に対応するユーザ(入力情報を作成したユーザ)に対する評価であるユーザ評価を取得する。
【0141】
ユーザ評価部137は、例えば、「入力情報が間違っていることを示す情報」である評価結果の数が多いほど、当該入力情報に対応するユーザの評価が低くなるユーザ評価を取得する。
【0142】
ユーザ評価出力部138は、ユーザ評価部137が取得したユーザ評価を出力する。ここで、出力とは、記録媒体への蓄積、外部の装置への送信、他の処理装置や他のプログラムなどへの処理結果の引渡しであるが、ディスプレイへの表示、プロジェクターを用いた投影、プリンタでの印字、音出力などを含む概念であっても良い。
【0143】
ユーザ評価出力部138は、例えば、ユーザ評価部137が取得したユーザ評価を、当該ユーザ評価に対応する入力情報に対応するユーザ識別子と対にして、ユーザ情報格納部111に蓄積する。ユーザ評価出力部138は、例えば、ユーザ評価部137が取得したユーザ評価を当該ユーザのユーザ端末2に送信する。
【0144】
送信部14は、各種の情報を送信する。各種の情報は、例えば、第一教師データ元情報、第二教師データ元情報である。
【0145】
元情報送信部141は、教師データの元になる第一教師データ元情報をユーザ端末2に送信する。元情報送信部141は、通常、教師データの元になる第一教師データ元情報を2以上の各ユーザ端末に送信する。元情報送信部141は、2以上の各ユーザ端末に、同一の第一教師データ元情報を送信することは好適である。元情報送信部141は、ユーザ決定部131が決定した1以上の各ユーザ情報に対応するユーザ端末2に第一教師データ元情報を送信することは好適である。
【0146】
他端末送信部142は、元情報受信部121が受信した第二教師データ元情報を、当該第二教師データ元情報を送信したユーザ端末2とは異なるユーザ端末2である他端末に送信する。
【0147】
他端末送信部142は、元情報受信部121が第二教師データ元情報をユーザ端末2から受信したことに応じて、当該第二教師データ元情報に含まれる入力情報とは異なる入力情報であり、当該ユーザ端末2とは異なる他のユーザ端末2から受信された入力情報を、当該第二教師データ元情報を送信してきたユーザ端末2に送信することは好適である。かかることにより、第二教師データ元情報を送信したユーザに、すぐに他の入力情報を評価してもらえる。つまり、当該ユーザの判断の感覚が鈍らないタイミングで、他の入力情報を評価してもらえ、入力情報の精度の向上、入力情報(ラベリング)の揺らぎを少なくする等の効果がある。
【0148】
他端末送信部142は、検査条件に合致する第二教師データ元情報のみを、他端末に送信しても良い。
【0149】
なお、検査条件とは、第二教師データ元情報を検査する条件である。検査条件は、例えば、元情報送信部141が送信した第一教師データ元情報に、第二教師データ元情報を検査することを示す検査フラグが対応付いていることである。検査条件は、例えば、ユーザ評価が閾値以下または閾値より小さい(低い評価の)ユーザのユーザ端末2から受信された第二教師データ元情報であることである。ただし、検査条件は問わない。
【0150】
ユーザ端末2を構成する端末格納部21には、各種の情報が格納される。各種の情報とは、例えば、ユーザ識別子、第一教師データ元情報、第二教師データ元情報、各種のプログラムである。
【0151】
端末受付部22は、各種の情報や指示等を受け付ける。各種の情報や指示等とは、例えば、入力情報、ユーザの操作、出力された入力情報(第二教師データ元情報)に対する評価結果、出力された入力情報に対する修正、第二送信指示である。なお、出力された入力情報は、プログラムが自動取得した入力情報の候補の情報であり、ユーザにより修正される可能性のある情報である。また、出力された入力情報に対する修正は、入力情報である。
【0152】
第二送信指示とは、入力情報を有する第二教師データ元情報を、データ収集装置1に送信する指示である。
【0153】
なお、各種の情報や指示等の入力手段は、タッチパネルやキーボードやマウスやメニュー画面によるもの等、何でも良い。
【0154】
端末処理部23は、各種の処理を行う。各種の処理は、例えば、受け付けられた情報や指示等を、送信する構造の情報や指示等にする処理である。各種の処理は、例えば、受信された情報を出力する構造の情報にする処理である。
【0155】
端末処理部23は、例えば、受信された第一教師データ元情報が有する要素情報を出力する。
【0156】
端末処理部23は、例えば、受信された第一教師データ元情報が有するプログラムを実行する。なお、プログラムを実行することは、プログラムをインストールした後に実行することも含む、とする。
【0157】
端末処理部23は、例えば、受信された第一教師データ元情報が有する要素情報に対して、機械学習の予測プログラムを実行し、予測されたラベルを取得する。
【0158】
端末処理部23は、例えば、受信された第一教師データ元情報が有する要素情報に対して、変換プログラムを実行し、予測された変換情報を取得する。
【0159】
端末処理部23は、例えば、受信された第一教師データ元情報が有する要素情報に対して、機械翻訳プログラムを実行し、予測された翻訳結果を取得する。
【0160】
端末処理部23は、例えば、受信された第一教師データ元情報が有する要素情報(音声データ)に対して、音声認識プログラムを実行し、予測された音声認識結果の文字列を取得する。
【0161】
端末処理部23は、例えば、受信された第一教師データ元情報が有する要素情報(文字列)に対して、音声合成プログラムを実行し、予測された音声データを取得する。
【0162】
端末処理部23は、例えば、受信された第一教師データ元情報が有する要素情報に対して、機械学習の予測プログラムを実行し、予測された説明情報を取得する。
【0163】
端末処理部23は、例えば、受信された第一教師データ元情報が有するプログラムを実行し、正例と負例とを入力するための入力画面を出力する。
【0164】
端末処理部23は、例えば、端末受付部22が受け付けたユーザの操作に応じて、写真を撮影し、画像を取得する。なお、かかる画像は、正例または負例である。
【0165】
端末送信部24は、各種の情報や指示等をデータ収集装置1に送信する。各種の情報や指示等は、例えば、第二教師データ元情報である。
【0166】
端末受信部25は、各種の情報をデータ収集装置1から受信する。各種の情報は、例えば、第一教師データ元情報、第二教師データ元情報、検査情報である。
【0167】
端末出力部26は、各種の情報を出力する。各種の情報は、例えば、第一教師データ元情報、第二教師データ元情報である。
【0168】
格納部11、ユーザ情報格納部111、元情報格納部112、教師データ格納部113、学習モデル格納部31、および端末格納部21は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
【0169】
格納部11等に情報が記憶される過程は問わない。例えば、記録媒体を介して情報が格納部11等で記憶されるようになってもよく、通信回線等を介して送信された情報が格納部11等で記憶されるようになってもよく、あるいは、入力デバイスを介して入力された情報が格納部11等で記憶されるようになってもよい。
【0170】
受信部12、元情報受信部121、評価結果受信部122、および端末受信部25は、通常、無線または有線の通信手段で実現されるが、放送を受信する手段で実現されても良い。
【0171】
処理部13、ユーザ決定部131、判断部132、教師データ構成部133、蓄積部134、報酬取得部135、報酬蓄積部136、ユーザ評価部137、ユーザ評価出力部138、合成手段1331、教師データ構成手段1332、および端末処理部23は、通常、プロセッサやメモリ等から実現され得る。処理部13等の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。なお、プロセッサは、CPU、MPU、GPU等であり、その種類は問わない。
【0172】
送信部14、元情報送信部141、他端末送信部142、および端末送信部24は、通常、無線または有線の通信手段で実現されるが、放送手段で実現されても良い。
【0173】
端末受付部22は、タッチパネルやキーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。
【0174】
端末出力部26は、ディスプレイやスピーカー等の出力デバイスを含むと考えても含まないと考えても良い。端末出力部26は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。
【0175】
次に、データ収集装置システムAの動作例について説明する。まず、データ収集装置1の動作例について、
図4のフローチャートを用いて説明する。
【0176】
(ステップS401)データ収集装置1は、第一教師データ元情報を送信する指示である第一送信指示を受け付けたか否かを判断する。第一送信指示を受け付けた場合はステップS402に行き、第一送信指示を受け付けなかった場合はステップS408に行く。なお、第一送信指示の受け付けは、例えば、図示しない管理者の端末からの第一送信指示の受信、予め決まられた時刻になってことである。ただし、第一教師データ元情報を送信するためのトリガーは問わない。
【0177】
(ステップS402)処理部13は、教師データを作成する対象の第一教師データ元情報であり、第一送信指示に対応する第一教師データ元情報を、元情報格納部112から取得する。
【0178】
(ステップS403)ユーザ決定部131は、ユーザ決定処理を行う。ユーザ決定処理の例について、
図5のフローチャートを用いて説明する。なお、ユーザ決定処理とは、第一教師データ元情報を送信する1または2以上のユーザ端末2を決定する処理である。
【0179】
(ステップS404)元情報送信部141は、カウンタiに1を代入する。
【0180】
(ステップS405)元情報送信部141は、ステップS403で決定されたユーザ端末2のうちで、i番目のユーザ端末2が存在するか否かを判断する。i番目のユーザ端末2が存在する場合はステップS406に行き、存在しない場合はステップS401に戻る。
【0181】
(ステップS406)元情報送信部141は、i番目のユーザ端末2に対応する送信先情報(例えば、IPアドレス、MACアドレス、メールアドレス、電話番号)をユーザ情報格納部111から取得する。次に、元情報送信部141は、当該送信先情報が示す送信先に、ステップS402で取得された第一教師データ元情報を送信する。なお、送信される第一教師データ元情報は、第一教師データ元情報識別子を有することは好適である。
【0182】
(ステップS407)元情報送信部141は、カウンタiを1、インクリメントする。ステップS405に戻る。
【0183】
(ステップS408)元情報受信部121は、ユーザ端末2から第二教師データ元情報を受信したか否かを判断する。第二教師データ元情報を受信した場合はステップS409に行き、受信しなかった場合はステップS418に行く。
【0184】
(ステップS409)判断部132は、ステップS408で受信された第二教師データ元情報が検査条件に合致するか否かを判断する。検査条件に合致する場合はステップS416に行き、検査条件に合致しない場合はステップS410に行く。
【0185】
(ステップS410)教師データ構成部133は、ステップS408で受信された第二教師データ元情報を用いて、教師データ構成処理を行う。教師データ構成処理の例について、
図6のフローチャートを用いて説明する。
【0186】
(ステップS411)蓄積部134は、ステップS410で教師データが構成されたか否かを判断する。教師データが構成された場合はステップS412に行き、教師データが構成されなかった場合はステップS413に行く。
【0187】
(ステップS412)蓄積部134は、ステップS410で構成された教師データを教師データ格納部113に蓄積する。ステップS414に行く。ここで、蓄積部134は、教師データの元になった第一教師データ元情報に対応付けて、教師データを蓄積することは好適である。
【0188】
(ステップS413)蓄積部134は、ステップS408で受信された第二教師データ元情報が有する入力情報を、受信されたステップS408で受信された第二教師データ元情報に対応する第一教師データ元情報に対応付けて、図示しないバッファに蓄積する。
【0189】
(ステップS414)報酬取得部135は、ステップS408における第二教師データ元情報の受信に応じて、当該第二教師データ元情報を送信したユーザ端末2のユーザに対する報酬情報を取得する。
【0190】
(ステップS415)報酬蓄積部136は、ステップS414で取得された報酬情報を、当該第二教師データ元情報を送信したユーザ端末2のユーザのユーザ識別子に対応付けて、ユーザ情報格納部111に蓄積する。ステップS401に戻る。
【0191】
(ステップS416)処理部13は、ステップS408で受信された第二教師データ元情報を用いて、他端末に送信する検査情報を構成する。なお、検査情報は、例えば、第二教師データ元情報を有する。検査情報は、例えば、第一教師データ元情報が有する要素情報を有する。検査情報は、例えば、要素情報と入力情報とを有する。
【0192】
(ステップS417)他端末送信部142は、検査情報を送信する他端末の送信先情報をユーザ情報格納部111から取得する。次に、他端末送信部142は、検査情報を、当該送信先情報が示す送信先に送信する。ステップS401に戻る。
【0193】
なお、取得される送信先情報は、検査者として予め決まっているユーザ(例えば、管理者、評価が高い一部のユーザ)の送信先情報でも良いし、ランダムに決定したユーザの送信先情報等でも良い。
【0194】
(ステップS418)評価結果受信部122は、ユーザ端末2から評価結果を受信したか否かを判断する。評価結果を受信した場合はステップS419に行き、評価結果を受信しなかった場合はステップS401に戻る。なお、受信される評価結果は、第二教師データ元情報に対応付いている。
【0195】
(ステップS419)判断部132は、ステップS418で受信された評価結果が採用条件を満たすか否かを判断する。採用条件を満たす場合はステップS410に行き、採用条件を満たさない場合はステップS420に行く。
【0196】
(ステップS420)教師データ構成部133は、ステップS418で受信された評価結果が修正された入力情報を含むか否かを判断する。入力情報を含む場合はステップS421に行き、入力情報を含まない場合はステップS401に戻る。
【0197】
(ステップS421)教師データ構成部133は、ステップS418で受信された評価結果が有する入力情報を取得する。また、教師データ構成部133は、ステップS418で受信された評価結果に対応する第一教師データ元情報が有する要素情報を取得する。次に、教師データ構成部133は、要素情報と入力情報とを有する教師データを構成する。ステップS412に行く。
【0198】
なお、
図4のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
【0199】
次に、ステップS403のユーザ決定処理の例について、
図5のフローチャートを用いて説明する。
【0200】
(ステップS501)ユーザ決定部131は、第一教師データ元情報と対になる1以上のデータ識別子を元情報格納部112から取得する。
【0201】
(ステップS502)ユーザ決定部131は、カウンタiに1を代入する。
【0202】
(ステップS503)ユーザ決定部131は、ユーザ情報格納部111にi番目のユーザ情報が存在するか否かを判断する。i番目のユーザ情報が存在する場合はステップS504に行き、存在しない場合は上位処理にリターンする。
【0203】
(ステップS504)ユーザ決定部131は、i番目のユーザ情報に含まれる1以上のユーザ属性値をユーザ情報格納部111から取得する。
【0204】
(ステップS505)ユーザ決定部131は、ステップS501で取得した1以上のデータ識別子とステップS504で取得した1以上のユーザ属性値とが、作業条件に合致するか否かを判断する。作業条件に合致する場合はステップS506に行き、合致しない場合はステップS508に行く。
【0205】
(ステップS506)ユーザ決定部131は、ステップS504で取得した1以上のユーザ属性値と対になるユーザ識別子をユーザ情報格納部111から取得し、図示しないバッファに一時蓄積する。
【0206】
(ステップS507)ユーザ決定部131は、取得したユーザ識別子の数が上限に達したか否かを判断する。上限に達した場合は上位処理にリターンし、上限に達していない場合はステップS508に行く。
【0207】
(ステップS508)ユーザ決定部131は、カウンタiを1、インクリメントする。ステップS503に戻る。
【0208】
次に、ステップS410の教師データ構成処理の例について、
図6のフローチャートを用いて説明する。
【0209】
(ステップS601)教師データ構成部133は、第一教師データ元情報識別子を取得する。
【0210】
(ステップS602)教師データ構成部133は、元情報格納部112に、第一教師データ元情報識別子と対に、複数人フラグが格納されているか否かを判断する。複数人フラグが格納されている場合はステップS603に行き、格納されていない場合はステップS610に行く。
【0211】
(ステップS603)教師データ構成部133は、すべてのユーザ端末2から、入力情報を有する第二教師データ元情報を受信しているか否かを判断する。すべての入力情報が揃っている場合はステップS604に行き、揃っていない場合はステップS607に行く。
【0212】
(ステップS604)教師データ構成部133は、複数入力情報処理を行う。複数入力情報処理の例について、
図7のフローチャートを用いて説明する。なお、複数入力情報処理とは、一の第一教師データ元情報に対する複数の入力情報を処理し、使用する入力情報を取得する処理である。
【0213】
(ステップS605)教師データ構成部133は、第一教師データ元情報が有する要素情報を取得する。
【0214】
(ステップS606)教師データ構成部133は、ステップS604で取得した入力情報とステップS605で取得したる要素情報とを有する教師データを構成する。上位処理にリターンする。
【0215】
(ステップS607)教師データ構成部133は、第一教師データ元情報識別子を取得する。
【0216】
(ステップS608)教師データ構成部133は、ステップS607で取得した第一教師データ元情報識別子に対応付けて、ステップS408で受信された第二教師データ元情報を一時蓄積する。
【0217】
(ステップS609)教師データ構成部133は、教師データフラグに「未完成」を代入する。上位処理にリターンする。
【0218】
(ステップS610)教師データ構成部133は、ステップS408で受信された第二教師データ元情報に対応する第一教師データ元情報の中に要素情報が存在するか否かを判断する。要素情報が存在する場合はステップS611に行き、要素情報が存在しない場合はステップS614に行く。
【0219】
(ステップS611)教師データ構成部133は、ステップS408で受信された第二教師データ元情報に対応する第一教師データ元情報の中から要素情報を取得する。
【0220】
(ステップS612)教師データ構成部133は、ステップS408で受信された第二教師データ元情報の中から入力情報を取得する。
【0221】
(ステップS613)教師データ構成部133は、ステップS611で取得した要素情報とステップS612で取得した入力情報とを有する教師データを構成する。上位処理にリターンする。
【0222】
(ステップS614)教師データ構成部133は、ステップS408で受信された第二教師データ元情報から正例と負例とを取得する。
【0223】
(ステップS615)教師データ構成部133は、ステップS614で取得した正例と負例とを教師データを構成する。上位処理にリターンする。
【0224】
次に、ステップS604の複数入力情報処理の例について、
図7のフローチャートを用いて説明する。
【0225】
(ステップS701)教師データ構成部133は、すべての入力情報を取得する。
【0226】
(ステップS702)教師データ構成部133は、元情報格納部112に、第一教師データ元情報に対応付いて、合成フラグが格納されているか否かを判断する。合成フラグが格納されている場合はステップS703に行き、合成フラグが格納されていない場合はステップS705に行く。
【0227】
(ステップS703)教師データ構成部133は、ステップS701で取得したすべての入力情報に対して、ユニーク処理を行う。
【0228】
(ステップS704)教師データ構成部133は、ステップS703におけるユニーク処理の結果である1以上の入力情報を取得する。上位処理にリターンする。
【0229】
(ステップS705)教師データ構成部133は、ステップS701で取得したすべての入力情報の中で、最も出現頻度の高い一の入力情報を取得する。上位処理にリターンする。
【0230】
なお、
図7のフローチャートのステップS703において、すべての入力情報に対してユニーク処理を行ったが、要約処理を行う等しても良い。なお、すべての入力情報である複数の文を要約する処理は、公知の自然言語処理により可能である。
【0231】
次に、ユーザ端末2の動作例について、
図8のフローチャートを用いて説明する。
【0232】
(ステップS801)端末受信部25は、データ収集装置1から第二教師データ元情報を受信したか否かを判断する。第二教師データ元情報を受信した場合はステップS802に行き、受信しなかった場合はステップS806に行く。なお、ここでの第二教師データ元情報の受信は、ユーザの操作による受信(プル型の通信)でも良い、プッシュ送信された第二教師データ元情報の受信でも良い。
【0233】
(ステップS802)端末処理部23は、ステップS801において受信された第二教師データ元情報がプログラムを含むか否かを判断する。プログラムを含む場合はステップS803に行き、プログラムを含まない場合はステップS804に行く。
【0234】
(ステップS803)端末処理部23は、ステップS801において受信された第二教師データ元情報が要素情報を含むか否かを判断する。要素情報を含む場合はステップS804に行き、要素情報を含まない場合はステップS805に行く。
【0235】
(ステップS804)端末処理部23は、ステップS801において受信された第二教師データ元情報に含まれる要素情報を取得する。
【0236】
(ステップS805)端末処理部23は、ステップS801において受信された第二教師データ元情報に含まれるプログラム、または端末格納部21に格納されているプログラムを実行する。なお、ここで、端末処理部23は、要素情報を取得している場合には、当該要素情報をプログラムに渡して、当該プログラムを実行する。ステップS801に戻る。
【0237】
(ステップS806)端末受付部22は、入力情報を受け付けたか否かを判断する。入力情報を受け付けた場合はステップS807に行き、受け付けなかった場合はステップS811に行く。
【0238】
(ステップS807)端末処理部23は、ステップS806で受け付けた入力情報を一時蓄積する。
【0239】
(ステップS808)端末受付部22は、第二送信指示を受け付けたか否かを判断する。第二送信指示を受け付けた場合はステップS809に行き、受け付けなかった場合はステップS808に戻る。
【0240】
(ステップS809)端末処理部23は、ステップS806で受け付けた入力情報を有する第二教師データ元情報を構成する。なお、第二教師データ元情報は、入力情報と第一教師データ元情報識別子とを有し、要素情報を有さないことは好適である。
【0241】
(ステップS810)端末送信部24は、ステップS809で構成された第二教師データ元情報をデータ収集装置1に送信する。ステップS801に戻る。
【0242】
(ステップS811)端末受信部25は、データ収集装置1から検査情報を受信したか否かを判断する。検査情報を受信した場合はステップS812に行き、検査情報を受信しなかった場合はステップS801に戻る。
【0243】
(ステップS812)端末処理部23は、ステップS811で受信された検査情報を用いて、出力する検査情報を構成する。端末出力部26は、当該検査情報を出力する。なお、検査情報は、通常、要素情報と入力情報とを有する。
【0244】
(ステップS813)端末受付部22は、出力された検査情報に対する入力を受け付けたか否かを判断する。入力を受け付けた場合はステップS814に行き、入力を受け付けなかった場合はステップS813に戻る。なお、ここでの入力は、評価結果を構成するための情報である。
【0245】
(ステップS814)端末処理部23は、ステップS813で受け付けられた入力を用いて、評価結果を構成する。なお、評価結果は、例えば、「正しい」「間違っている」「修正された入力情報」である。
【0246】
(ステップS815)端末送信部24は、ステップS814で構成された評価結果をデータ収集装置1に送信する。ステップS801に戻る。
【0247】
なお、
図8のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
【0248】
以下、本実施の形態におけるデータ収集装置システムAの具体的な動作例について説明する。
【0249】
データ収集装置1のユーザ情報格納部111には、
図9に示すユーザ情報管理表が格納されている、とする。ユーザ情報管理表は、「ID」「ユーザ識別子」「氏名」「送信先情報」「ユーザ属性値」を有する2以上のレコードを管理する。「ユーザ属性値」は、ここでは「専門識別子」「使用言語」「ユーザ評価」「報酬情報」を有する。「専門識別子」は、ユーザの専門を特定する情報であり、例えば、「日→英」は、日本語から英語への日英翻訳が専門であることを示す。「ユーザ評価」は、ここでは記号であるが、通常、数値である、とする。「報酬情報」は、ここでは記号であるが、通常、金額やポイントを示す数値である、とする。
【0250】
かかる場合、以下の4つの具体例について説明する。具体例1は、日本語の難解用語の英語訳をユーザに依頼し、ユーザ端末2から日本語の難解用語と英語訳とを有する第二教師データ元情報を受信する場合である。具体例2は、画像に対して、当該画像のラベルを付す作業を複数のユーザに依頼し、複数のユーザ端末2からラベルと第一教師データ元情報識別子(画像の識別子)とを有する第二教師データ元情報を受信し、複数のラベルを合成する場合である。具体例3は、ユーザ端末2に、クラックが入った外壁(正例)とクラックが入っていない外壁(負例)とのセットの画像の撮影および送信の作業をユーザに依頼する場合である。具体例4において、ユーザ端末2から目的とする情報(例えば、クラックが入った外壁の画像)を受信した後に、直ちに、他のユーザ端末2から受信した1以上の他の目的とする情報(例えば、クラックが入った外壁の画像)を送信し、目的とする情報であるか否か(クラックが入っているか否か)の評価結果を当該ユーザに入力してもらい、当該ユーザ端末2から評価結果を受信し、当該評価結果を送信した情報に対応付けて蓄積する。また、蓄積された1以上の評価結果のうち、「目的とする情報である」との評価結果が採用条件を満たす場合に、当該情報を採用する。なお、採用条件は、例えば、「目的とする情報である」との評価結果の数が閾値以上または閾値より多いこと、「目的とする情報である」との評価結果の割合が閾値以上または閾値より多いことである。
【0251】
(具体例1)
ここでは、データ収集装置1の格納部11には、機械翻訳を行い、入力情報を入力し、第二教師データ元情報を送信するためのプログラムA(アプリA)が格納されている、とする。
【0252】
データ収集装置1は、第一送信指示「<難解用語>一蓮托生 <データ属性値>日→英」を受け付けたとする。
【0253】
次に、ユーザ決定部131は、当該第一送信指示が有するデータ属性値「日→英」に合致する専門識別子「日→英」と対になる送信先情報「送信先1」を、ユーザ情報管理表(
図9)から取得する。
【0254】
次に、処理部13は、格納部11からプログラムAを取得する。また、処理部13は、本作業を識別する仕事ID「W1258」を生成する。また、処理部13は、プログラムAと要素情報である難解用語「一蓮托生」と仕事ID「W1258」とを有する第一教師データ元情報を構成する。
【0255】
次に、元情報送信部141は、当該第一教師データ元情報を送信先情報「送信先1」に対応する田中A夫のユーザ端末2に送信する。
【0256】
次に、田中A夫のユーザ端末2の端末受信部25は、データ収集装置1から当該第一教師データ元情報を受信する。次に、端末処理部23は、受信された第一教師データ元情報から要素情報「一蓮托生」を取得する。また、端末処理部23は、受信された第一教師データ元情報からプログラムAを取得する。そして、端末処理部23は、プログラムAに要素情報「一蓮托生」を渡し、プログラムAを実行する。その結果、
図10に示す画面が田中A夫のユーザ端末2に出力された、とする。つまり、プログラムAに含まれる機械翻訳モジュールでは、日本語「一蓮托生」を「Ichirentakushou」と訳した、とする。
【0257】
次に、田中A夫は、機械翻訳モジュールの自動翻訳結果は間違っているので、1001のフィールドに、「Ichirentakushou」に代えて、正しい英語翻訳「To be in the same boat.」を入力し、送信ボタン1002を指示した、とする。
【0258】
次に、端末処理部23は、第二教師データ元情報「<仕事ID>W1258 <ユーザ識別子>U001 <要素情報>一蓮托生 <入力情報>To be in the same boat.」を構成する。次に、端末送信部24は、当該第二教師データ元情報をデータ収集装置1に送信する。
【0259】
次に、データ収集装置1の元情報受信部121は、田中A夫のユーザ端末2から第二教師データ元情報「<仕事ID>W1258 <ユーザ識別子>U001 <要素情報>一蓮托生 <入力情報>To be in the same boat.」を受信する。
【0260】
次に、処理部13は、仕事ID「W1258」に対応付けて、第二教師データ元情報「<ユーザ識別子>U001 <要素情報>一蓮托生 <入力情報>To be in the same boat.」を、図示しないバッファに一時蓄積する。
【0261】
次に、判断部132は、受信された第二教師データ元情報が検査条件に合致する、と判断した、とする。ここで、検査条件は、ユーザ識別子に対応するユーザ評価が閾値以上であること、であったとする。そして、判断部132は、ユーザ識別子「U001」と対になるユーザ評価「E
1」をユーザ情報管理表(
図9)から取得する。また、判断部132は、「E
1<閾値」であると判断した、とする。
【0262】
次に、処理部13は、受信された第二教師データ元情報を用いて、他端末に送信する検査情報「<仕事ID>W1258 <要素情報>一蓮托生 <入力情報>To be in the same boat.」を構成する。ここで、他端末送信部142は、データ属性値「日→英」に合致する専門識別子「日→英」と対になる送信先情報であり、「送信先1」ではない送信先情報「送信先2」を、ユーザ情報管理表(
図9)から取得する。つまり、他端末送信部142は、他端末として、山田B子のユーザ端末2を決定する。次に、他端末送信部142は、送信先2が示す送信先に、当該検査情報を送信する。
【0263】
次に、山田B子のユーザ端末2は、当該検査情報を受信し、出力する。かかる出力例は、
図11である。
【0264】
そして、山田B子は、翻訳結果を確認し、「正しい」のチェックボックス1101にチェックを入力し、送信ボタン1102を指示した、とする。
【0265】
次に、ユーザ端末2の端末受付部22は、山田B子のかかる入力を受け付ける。次に、端末処理部23は、評価結果「<仕事ID>W1258 <評価結果>正しい」を構成する。次に、端末送信部24は、当該評価結果をデータ収集装置1に送信する。
【0266】
次に、データ収集装置1の評価結果受信部122は、山田B子のユーザ端末2から評価結果「<仕事ID>W1258 <評価結果>正しい」を受信する。
【0267】
次に、判断部132は、受信された評価結果「正しい」が採用条件を満たす、と判断する。なお、ここでは、採用条件は「評価結果=正しい」である、とする。
【0268】
次に、教師データ構成部133は、第二教師データ元情報「<仕事ID>W1258 <ユーザ識別子>U001 <要素情報>一蓮托生 <入力情報>To be in the same boat.」から教師データ(一蓮托生,To be in the same boat.)を構成する。次に、蓄積部134は、当該教師データを教師データ格納部113に蓄積する。
【0269】
以上の処理を繰り返し、教師データ格納部113には、大量の教師データ(難解な日本語用語,難解な日本語用語の英語翻訳用語)が蓄積された、とする。
【0270】
以上、本具体例によれば、難解な日本語の用語を英語の用語に変換するための学習モデルを構築するための多数の教師データを収集できる。
【0271】
(具体例2)
ここでは、データ収集装置1の格納部11には、要素情報である画像と入力情報を入力するフィールドとを有する画面を出力し、第二教師データ元情報を送信するためのプログラムB(アプリB)が格納されている、とする。
【0272】
データ収集装置1は、第一送信指示「<画像>file1 <送信人数>3 <合成フラグ>ON」を受け付けたとする。file1は、犬が撮影された画像ファイルである、とする。
【0273】
次に、ユーザ決定部131は、第一送信指示が有する送信人数「3」に従って、例えば、送信先情報「送信先1」「送信先2」「送信先3」を、ユーザ情報管理表(
図9)から取得する。
【0274】
次に、処理部13は、格納部11からプログラムBを取得する。また、処理部13は、第一教師データ元情報識別子(仕事ID)「W1260」を生成した、とする。また、処理部13は、仕事ID「W1260」とプログラムBと要素情報である画像ファイル「file1」とを有する第一教師データ元情報を構成する。また、処理部13は、仕事ID「W1260」と対に、複数人フラグと合成フラグとを蓄積する。
【0275】
次に、元情報送信部141は、当該第一教師データ元情報を送信先情報「送信先1」に対応する田中A夫、山田B子、および陳XYの各ユーザ端末2に送信する。
【0276】
次に、3人の各ユーザのユーザ端末2の端末受信部25は、データ収集装置1から当該第一教師データ元情報を受信する。次に、端末処理部23は、受信された第一教師データ元情報から要素情報である画像ファイル「file1」を取得する。また、各ユーザ端末2の端末処理部23は、受信された第一教師データ元情報からプログラムBを取得する。そして、端末処理部23は、プログラムBに要素情報「file1」を渡し、プログラムBを実行する。その結果、
図12に示す画面が各ユーザのユーザ端末2に出力された、とする。
【0277】
ここで、田中A夫と山田B子とは入力情報を入力するフィールド12に「秋田犬」を入力し、陳XYはフィールド12に「犬」を入力し、送信ボタン1202を指示した、とする。そして、3人の各ユーザのユーザ端末2は、フィールド12に入力された要素情報と第一教師データ元情報識別子「W1260」とを有する第二教師データ元情報を構成し、データ収集装置1に送信する。
【0278】
次に、データ収集装置1の元情報受信部121は、3人の各ユーザのユーザ端末2から第二教師データ元情報を受信する。
【0279】
次に、教師データ構成部133は、元情報格納部112に、第一教師データ元情報識別子「W1260」と対に、複数人フラグが格納されている、と判断する。そして、教師データ構成部133は、すべての入力情報「秋田犬,秋田犬,犬」を取得する。また、教師データ構成部133は、元情報格納部112に、第一教師データ元情報「W1260」に対応付いて、合成フラグが格納されている、と判断する。次に、教師データ構成部133は、取得したすべての入力情報に対して、ユニーク処理を行い、入力情報「秋田犬,犬」を取得する。次に、教師データ構成部133は、第一教師データ元情報が有する要素情報(画像ファイル「file1」)を取得する。次に、教師データ構成部133は、入力情報「秋田犬,犬」と要素情報(画像ファイル「file1」)とを有する教師データを構成する。次に、蓄積部134は、当該教師データを教師データ格納部113に蓄積する。
【0280】
なお、ここで、入力情報は、目的変数でも良いし、説明変数でも良い。また、入力情報が目的変数である場合、要素情報は説明変数であり、入力情報が説明変数である場合、要素情報は目的変数である。
【0281】
以上の処理を繰り返し、教師データ格納部113には、大量の教師データ(画像,1または2以上のラベル)が蓄積された、とする。
【0282】
なお、具体例2において、入力情報を一つのラベルとする場合、教師データ構成部133は、すべての入力情報「秋田犬,秋田犬,犬」に対して、多数決のアルゴリズムを採用し、入力情報「秋田犬」と決定し、当該入力情報「秋田犬」と画像ファイル「file1」からなる教師データを構成しても良い。
【0283】
また、具体例2において、プログラムBは、画像を識別する機械学習の予測モジュールを含んでも良い。かかる場合、各ユーザのユーザ端末2で、画像ファイル「file1」に対して、当該予測モジュールが実行され、当該画像の予測結果(例えば、「オオカミ」)がユーザ端末2のフィールド1201に表示される。そして、ユーザは、フィールド1201に表示された入力情報の候補を確認し、修正することとなる。
【0284】
以上、本具体例によれば、画像ファイルをラベリングするための学習モデルを構築するための多数の教師データを収集できる。
【0285】
また、本具体例によれば、ラベリから画像を生成するための学習モデルを構築するための多数の教師データを収集できる。
【0286】
(具体例3)
ここでは、データ収集装置1の格納部11には、クラックの入った外壁の箇所とクラックが入っていない外壁の箇所との撮影を促し、撮影して、2つの画像を送信するプログラムC(アプリC)が格納されている、とする。
【0287】
データ収集装置1は、第一送信指示「<プログラム>プログラムC」を受け付けたとする。
【0288】
次に、ユーザ決定部131は、ユーザ情報管理表(
図9)から、すべてのユーザの送信先情報を取得した、とする。つまり、ここでは、大量のユーザに以下の作業を依頼するものとする、
【0289】
次に、処理部13は、格納部11からプログラムCを取得する。また、処理部13は、送信する第一教師データ元情報を識別するユニークな第一教師データ元情報識別子(仕事ID)「W2522」を生成し、第一教師データ元情報に対応付けて蓄積した、とする。また、処理部13は、第一教師データ元情報識別子「W2522」とプログラムCを有する第一教師データ元情報を構成する。
【0290】
次に、元情報送信部141は、当該第一教師データ元情報をユーザ決定部131が取得した多数の送信先情報に対応する多数のユーザ端末2に送信する。
【0291】
次に、例えば、田中A夫のユーザ端末2の端末受信部25は、データ収集装置1から当該第一教師データ元情報を受信する。次に、端末処理部23は、受信された第一教師データ元情報からプログラムCを取得する。そして、端末処理部23は、プログラムCを実行する。その結果、
図13に示す画面が田中A夫のユーザ端末2に出力された、とする。
【0292】
次に、田中A夫は、
図13の画面に従って、
図13の領域1301に入るべき、クラックの入った外壁の箇所の画像を撮影するために、当該ユーザ端末2の画面をクラックの入った外壁の箇所に向け、撮影ボタン1302を指示した、とする。すると、端末受付部22は、かかる指示を受け付け、端末処理部23は、プログラムCの撮影機能を実行し、クラックの入った外壁の箇所の画像を取得した、とする。
【0293】
また、田中A夫は、
図13の画面に従って、
図13の領域1303に入るべき、クラックが入っていない外壁の箇所の画像を撮影するために、当該ユーザ端末2の画面をクラックの入っていない外壁の箇所に向け、撮影ボタン1304を指示した、とする。すると、端末受付部22は、かかる指示を受け付け、端末処理部23は、プログラムCの撮影機能を実行し、クラックが入っていない外壁の箇所の画像を取得した、とする。
【0294】
以上により、田中A夫のユーザ端末2は、クラックが入っていない外壁の箇所の画像(正例)と、クラックが入っていない外壁の箇所の画像(負例)とを取得できた。かかる出力例は、
図14である。
【0295】
次に、田中A夫は、ユーザ端末2の画面の送信ボタン1401を指示した、とする。次に、端末受付部22は、第二送信指示を受け付ける。次に、端末処理部23は、撮影された正例の画像1402と負例の画像1403と第一教師データ元情報識別子「W2522」とを有する第二教師データ元情報を構成する。次に、端末送信部24は、当該第二教師データ元情報をデータ収集装置1に送信する。
【0296】
また、他のユーザも、田中A夫と同様に、クラックが入っていない外壁の箇所の画像(正例)と、クラックが入っていない外壁の箇所の画像(負例)とを撮影し、第二教師データ元情報をデータ収集装置1に送信した、とする。
【0297】
次に、データ収集装置1は、元情報受信部121は、多数の各ユーザ端末2から第二教師データ元情報を受信する。
【0298】
次に、教師データ構成部133は、各ユーザ端末2から送信された第二教師データ元情報から正例の画像と負例の画像とを取得する。次に、教師データ構成部133は、取得した正例の画像と負例の画像との組である教師データを、多数、構成する。
【0299】
次に、蓄積部134は、構成された多数の教師データを教師データ格納部113に蓄積する。
【0300】
なお、ここで、蓄積部134は、各ユーザ端末2から送信された正例の画像と負例の画像とを対応付けて、教師データ格納部113に蓄積することは好適であるが、正例の画像と負例の画像とを対応付けず、各画像が正例の画像か負例の画像かを区別できるように、教師データ格納部113に蓄積するだけでも良い。なお、正例の画像と負例の画像とを対応付けて蓄積する場合でも、蓄積部134は、どちらが正例の画像で、どうちらが負例の画像であるかは、区別できるように、蓄積する。
【0301】
以上、本具体例によれば、外壁におけるクラックの有無を識別するための学習モデルを構築するための多数の教師データを収集できた。
【0302】
(具体例4)
具体例3で述べたクラックの外壁の画像(例えば、
図14の1402)を多数のユーザ端末2から受信し、蓄積する、とする。
【0303】
そして、今、データ収集装置1の元情報受信部121が入力情報A(例えば、クラックの入った壁の画像)を含む第二教師データ元情報を、ユーザUのユーザ端末2から受信した、とする。そして、データ収集装置1の蓄積部134は、当該第二教師データ元情報を蓄積する。次に、他端末送信部142は、ユーザUのユーザ端末2に、他のユーザ端末2から受信された入力情報Xを送信する。
【0304】
そして、ユーザUのユーザ端末2は、第二教師データ元情報の送信後、すぐにデータ収集装置1から入力情報Xを受信し、出力する。
【0305】
次に、ユーザUは、ユーザ端末2に出力された入力情報Xを見て、クラックが入っているように見えないと判断し、評価結果「正しくない」を入力した、とする。次に、ユーザ端末2は、評価結果「正しくない」を受け付け、当該評価結果「正しくない」を、入力情報Xの識別子(例えば、「X」)と対にして、データ収集装置1に送信する。
【0306】
次に、データ収集装置1の評価結果受信部122は、入力情報Xに対する評価結果「正しくない」をユーザ端末2から受信する。そして、蓄積部134は、評価結果受信部122が受信した評価結果を、入力情報Xに対応付けて蓄積する。
【0307】
このような処理を、ユーザUだけではなく、他の多数のユーザにより行われた、とする。その結果、入力情報Xに対して、多数の評価結果が入力情報Xに対応付けて蓄積された、とする。
【0308】
次に、処理部13は、評価結果「正しい」の割合が閾値以上である場合、入力情報Xを教師データとして採用するために、教師データ格納部113に蓄積する、とする。なお、かかる蓄積は、蓄積部134が行っても良い。
【0309】
以上、本具体例によれば、ユーザが入力情報を送信した後、すぐに、他の入力情報を評価する環境を提供できる結果、入力情報を評価しやくなる。その結果、適正な教師データを収集できることとなる。
【0310】
以上、本実施の形態によれば、機械学習の学習モデルを構築するための教師データを収集するためのプラットフォームを提供できる。
【0311】
また、本実施の形態によれば、要素情報から当該要素情報のラベルを予測するための学習モデルを構築するための教師データを収集するためのプラットフォームを提供できる。
【0312】
また、本実施の形態によれば、要素情報から当該要素情報を変換した変換情報を予測するための学習モデルを構築するための教師データを収集するためのプラットフォームを提供できる。
【0313】
また、本実施の形態によれば、第一言語の要素情報から当該第二言語に翻訳した変換情報を予測するための学習モデルを構築するための教師データを収集するためのプラットフォームを提供できる。
【0314】
また、本実施の形態によれば、要素情報から当該要素情報を説明する説明情報を予測するための学習モデルを構築するための教師データを収集するためのプラットフォームを提供できる。
【0315】
また、本実施の形態によれば、入力情報を入力することを支援するプログラムもユーザに提供できる。
【0316】
また、本実施の形態によれば、精度の高い学習モデルを構築するための教師データを収集するためのプラットフォームを提供できる。
【0317】
また、本実施の形態によれば、適切なユーザが入力した第二教師データ元情報を取得できる。
【0318】
また、本実施の形態によれば、第二教師データ元情報を提供するユーザを評価できる。
【0319】
また、本実施の形態によれば、入力情報を評価しやくする環境を提供できる。
【0320】
さらに、本実施の形態によれば、第二教師データ元情報を提供するユーザに報酬を与えられる。
【0321】
なお、本実施の形態における処理は、ソフトウェアで実現しても良い。そして、このソフトウェアをソフトウェアダウンロード等により配布しても良い。また、このソフトウェアをCD-ROMなどの記録媒体に記録して流布しても良い。なお、このことは、本明細書における他の実施の形態においても該当する。なお、本実施の形態におけるデータ収集装置1を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、機械学習の学習処理により学習モデルを構築するための教師データを構成する元になる第一教師データ元情報が格納される元情報格納部にアクセス可能なコンピュータを、前記第一教師データ元情報を2以上の各ユーザ端末に送信する元情報送信部と、前記元情報送信部が送信し、前記ユーザ端末で処理された前記第一教師データ元情報に対してユーザが入力した入力情報を含む第二教師データ元情報を、前記第一教師データ元情報に対応付く態様で前記ユーザ端末から受信する元情報受信部と、前記第一教師データ元情報と前記元情報受信部が受信した前記第二教師データ元情報とを用いて、機械学習の学習処理のために使用する教師データを構成する教師データ構成部と、前記教師データ構成部が構成した前記教師データを蓄積する蓄積部として機能させるためのプログラムである。
【0322】
(実施の形態2)
本実施の形態において、データ収集装置1により収集した複数の教師データを用いて、学習モデルを構築する学習装置について説明する。
【0323】
また、本実施の形態において、学習装置が構築した学習モデルを用いて、予測処理を行う予測装置について説明する。
【0324】
図15は、本実施の形態における情報システムBの概念図である。情報システムBは、データ収集装置1、学習装置3、および予測装置4を備える。
【0325】
学習装置3、予測装置4は、例えば、いわゆるサーバであり、例えば、クラウドサーバ、ASPサーバ等である。ただし、学習装置3、予測装置4は、スタンドアロンの装置でも良い。
【0326】
ここでは、例えば、データ収集装置1と学習装置3と予測装置4とは、インターネットやLAN等のネットワークにより通信可能である。
【0327】
図16は、本実施の形態における情報システムBのブロック図である。学習装置3は、教師データ格納部113、学習モデル格納部31、および学習部32を備える。予測装置4は、学習モデル格納部31、受付部41、予測部42、および予測結果出力部43を備える。
【0328】
学習装置3を構成する学習部32は、データ収集装置1が蓄積した2以上の教師データを用いて、機械学習の学習処理を行い、学習モデルを取得し、学習モデルを蓄積する。学習部32は、学習モデル格納部31に学習モデルを蓄積することは好適である。
【0329】
ここで、学習モデルを構築する機械学習のアルゴリズムは、深層学習、ランダムフォレスト、決定木、SVM、SVR等、問わない。また、機械学習には、例えば、TensorFlowのライブラリ、R言語のrandom forestのモジュール、fastText、TinySVM等の各種の機械学習の関数や、種々の既存のライブラリを用いることができる。
【0330】
予測装置4を構成する受付部41は、要素情報を受け付ける。要素情報は、例えば、ラベリングの対象の画像、翻訳対象の第一言語の用語または文、説明対象の画像、クラックが入っているか否かを判断する対象の外壁の撮影画像である。
【0331】
ここで、受け付けとは、キーボードやマウス、タッチパネルなどの入力デバイスから入力された情報の受け付け、有線もしくは無線の通信回線を介して送信された情報の受信、光ディスクや磁気ディスク、半導体メモリなどの記録媒体から読み出された情報の受け付け、撮影による画像の取得などを含む概念である。
【0332】
要素情報の入力手段は、タッチパネルやキーボードやマウスやカメラやメニュー画面によるもの等、何でも良い。
【0333】
予測部42は、学習モデル格納部31の学習モデルと受付部41が受け付けた要素情報とを用いて、機械学習の予測処理を行い、入力情報を取得する。
【0334】
ここで、予測処理を行う機械学習のアルゴリズムは、深層学習、ランダムフォレスト、決定木、SVM、SVR等、問わない。また、機械学習には、例えば、TensorFlowのライブラリ、R言語のrandom forestのモジュール、fastText、TinySVM等の各種の機械学習の関数や、種々の既存のライブラリを用いることができる。
【0335】
予測結果出力部43は、予測部42が取得した入力情報を出力する。ここで、出力とは、記録媒体への蓄積、外部の装置への送信、他の処理装置や他のプログラムなどへの処理結果の引渡し、ディスプレイへの表示、プロジェクターを用いた投影、プリンタでの印字、音出力などを含む概念である。
【0336】
学習モデル格納部31は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
【0337】
学習モデル格納部31に情報が記憶される過程は問わない。例えば、記録媒体を介して情報が学習モデル格納部31で記憶されるようになってもよく、通信回線等を介して送信された情報が学習モデル格納部31で記憶されるようになってもよく、あるいは、入力デバイスを介して入力された情報が格納部11等で記憶されるようになってもよい。
【0338】
学習部32、および予測部42は、通常、プロセッサやメモリ等から実現され得る。学習部32等の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。なお、プロセッサは、CPU、MPU、GPU等であり、その種類は問わない。
受付部41は、タッチパネルやキーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。
【0339】
受付部41は、無線または有線の通信手段で実現されることが好適であるが、放送を受信する手段、タッチパネルやキーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現されても良い。
【0340】
予測結果出力部43は、無線または有線の通信手段で実現されても良いし、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現されても良い。かかる場合、予測結果出力部43は、ディスプレイやスピーカー等の出力デバイスを含むと考えても含まないと考えても良い。
【0341】
なお、データ収集装置1は、学習装置3の学習モデル格納部31と学習部32とを具備しても良い。また、データ収集装置1は、予測装置4の受付部41と予測部42と予測結果出力部43とを具備しても良い。
【0342】
以上、本実施の形態によれば、収集した教師データを用いて、学習モデルを構築できる。
【0343】
また、本実施の形態によれば、学習モデルを用いて、予測される入力情報を出力できる。
【0344】
なお、本実施の形態における学習装置3を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、データ収集装置が蓄積した2以上の教師データにアクセス可能なプログラムを、当該2以上の教師データを用いて、機械学習の学習処理を行い、学習モデルを取得し、当該学習モデルを蓄積する学習部として機能させるためのプログラムである。
【0345】
また、本実施の形態における予測装置4を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、学習装置3が取得した学習モデルにアクセス可能なコンピュータを、要素情報を受け付ける受付部と、前記受付部が受け付けた前記要素情報とを用いて、機械学習の予測処理を行い、入力情報を取得する予測部と、前記入力情報出力する予測結果出力部として機能させるためのプログラムである。
【0346】
(実施の形態3)
本実施の形態において、学習モデルとモデル評価用プログラムとを2以上のユーザ端末に送信し、ユーザ端末で学習モデルを用いた予測処理を行ってもらい、その評価結果である結果情報を受信し、蓄積するモデル評価装置を含むモデル評価システムについて説明する。なお、モデル評価装置は、ユーザ端末から対象データや正解データを受信しても良い。また、学習モデルを評価するためのデータである対象データは、ユーザにより取得してもらうことは好適であるが、モデル評価装置がユーザ端末に送信しても良い。
【0347】
本実施の形態において、2以上の結果情報に応じて、学習モデルに関する異なる処理を行うモデル評価装置を含むモデル評価システムについて説明する。モデル評価装置は、例えば、評価結果が良好な場合はデータ収集処理を終了し、評価結果が不良である場合はデータ収集処理を継続して行う。
【0348】
本実施の形態において、学習モデルの評価に対する報酬をユーザに与えるモデル評価装置を含むモデル評価システムについて説明する。なお、モデル評価装置は、対象データや正解データに対しても報償することは好適である。
【0349】
本実施の形態において、受信された対象データと正解データとを有する教師データを用いて精度の高い学習モデルを取得する機能を有するモデル評価装置を含むモデル評価システムについて説明する。
【0350】
本実施の形態において、学習モデルとモデル評価用プログラムとを受信し、当該学習モデルを用いた予測処理を行い、当該学習モデルの評価を示す結果情報の入力を受け付け、当該結果情報をモデル評価装置に送信するユーザ端末について説明する。なお、ユーザ端末は、対象データ、正解データをも送信することは好適である。
【0351】
図17は、本実施の形態におけるモデル評価システムCの概念図である。モデル評価システムCは、モデル評価装置5、および1または2以上のユーザ端末6を備える。
【0352】
モデル評価装置5は、機械学習の学習モデルの評価のために、学習モデル等をユーザ端末6に送信し、ユーザ端末6からその評価の結果を受信し、蓄積等するサーバである。モデル評価装置5は、例えば、いわゆるサーバであり、例えば、クラウドサーバ、ASPサーバ等である。
【0353】
ユーザ端末6は、ユーザが使用する結果情報を送信する者である。ユーザ端末6は、学習モデルと評価プログラムとを受信し、結果情報を送信する端末である。ユーザ端末6は、例えば、いわゆるパーソナルコンピュータ、タブレット端末、スマートフォン等であり、その種類は問わない。
【0354】
図18は、本実施の形態におけるモデル評価システムCのブロック図である。
図19は、モデル評価装置5のブロック図である。
【0355】
モデル評価装置5は、格納部51、送信部52、受信部53、および処理部54を備える。送信部52は、モデル送信部521を備える。受信部53は、結果受信部531を備える。処理部54は、蓄積部541、モデル処理部542、報償部543、および学習部544を備える。
【0356】
ユーザ端末6は、端末格納部61、端末受付部62、端末処理部63、端末送信部64、端末受信部65、および端末出力部66を備える。端末処理部63は、端末実行部631を備える。端末実行部631は、データ取得手段6311、および予測手段6312を備える。
【0357】
モデル評価装置5を構成する格納部51には、各種の情報が格納される。また、各種の情報は、例えば、エラー情報、各種の条件、報償単価情報、停止フラグである。エラー情報は、エラーであることを伝えるための情報である。各種の条件は、例えば、学習条件、評価停止条件である。
【0358】
学習条件とは、ユーザ端末6から受信された対象データを用いた学習処理を行うための条件である。学習条件は、例えば、受信された対象データ、受信された結果情報、受信された正解データのうちの1以上の情報に基づく条件である。学習条件は、例えば、「受信された対象データの数が閾値以上または閾値より多いこと」、「受信された正解データの数が閾値以上または閾値より多いこと」、「受信された対象データの数が第一閾値以上または第一閾値より多いこと、および受信された2以上の結果情報における正解率が第二閾値以下または第二閾値未満であること」、または「受信された正解データの数が第一閾値以上または第一閾値より多いこと、および受信された2以上の結果情報における正解率が第二閾値以下または第二閾値未満であること」である。
【0359】
評価停止条件とは、学習モデルに対するさらなる評価を停止するための条件である。評価停止条件は、受信された結果情報に基づく条件である。受信された結果情報に基づく条件は、受信された結果情報の数、または内容に基づく条件である。評価停止条件は、例えば、「結果情報の数が閾値以上または閾値より多いこと」、または「結果情報の数が第一閾値以上または第一閾値より多いこと、および正解率が第二閾値以下または第二閾値未満であること」である。評価停止条件は、学習条件と同じでも良い。
【0360】
報償単価情報とは、1件の学習モデルの評価に対して、ユーザに与える報償を決定するための情報である。報償単価情報は、学習モデルごとに異なっていることは好適であるが、すべての学習モデルに対して同じでも良い。1または2以上の各報償単価情報は、モデル識別子に対応付いていることは好適である。ユーザ端末6から受信された情報が結果情報だけの場合と、結果情報と対象データを含む場合と、結果情報と対象データと正解データとを含む場合とで、報償単価情報が異なることは好適である。ユーザ端末6から受信された情報が結果情報だけの場合は最低の報償単価情報(第一報償単価情報)であり、結果情報と対象データを含む場合は中位の報償単価情報(第二報償単価情報)であり、結果情報と対象データと正解データとを含む場合は最高の報償単価情報(第三報償単価情報)であることは好適である。
【0361】
停止フラグとは、学習モデルの評価を停止するか、続けるかを識別する情報である。停止フラグは、例えば、「ON」または「OFF」である。「ON」は、学習モデルの評価を停止することを示す。「OFF」は、学習モデルの評価を続けることを示す。
【0362】
格納部51には、1または2以上の学習モデルと評価プログラムとが格納される。格納部51に格納されている評価プログラムは一つでも良いし、2以上でも良い。2以上の各評価プログラムは、1または2以上の学習モデルに対応する。
【0363】
格納部51の各学習モデルには、当該学習モデルを構築する際に使用した2以上の教師データが格納されていることは好適である。
【0364】
学習モデルとは、機械学習の学習処理により構成された情報であり、機械学習の予測処理に使用される情報である。学習モデルは、学習器、分類器、分類モデル等と言っても良い。機械学習のアルゴリズムは、深層学習、ランダムフォレスト、決定木、SVM等、問わない。また、機械学習には、例えば、TensorFlowのライブラリ、R言語のrandom forestのモジュール、fastText、TinySVM等の各種の機械学習の関数や、種々の既存のライブラリを用いることができる。
【0365】
評価プログラムとは、ユーザが学習モデルを評価することを支援するプログラムである。プログラムは、通常、実行形式のプログラムであるが、インタープリットが可能なプログラム、関数、モジュール、メソッド、実行モジュールへのリンク情報等でも良い。評価プログラムは、ユーザがユーザ端末6で学習モデルを評価するための環境を与えるものであれば良い。
【0366】
評価プログラムは、機械学習の予測処理を行う予測プログラムを含む。予測プログラムは、機械学習の予測処理を行うプログラムである。評価プログラムは、予測プログラムのみでも良い。
【0367】
評価プログラムは、例えば、予測プログラムと、1または2以上の他のプログラムとを含む。他のプログラムは、例えば、対象データ取得プログラム、結果情報受付プログラム、結果情報送信プログラムである。評価プログラムは、例えば、対象データ取得プログラム、予測プログラム、結果情報受付プログラム、正解データ受付プログラム、結果情報送信プログラムを含む。
【0368】
対象データ取得プログラムとは、対象データを取得するためのプログラムである。対象データが画像である場合、対象データ取得プログラムは、例えば、画像を撮影し、撮影した画像を出力するプログラムである。対象データが音声である場合、対象データ取得プログラムは、例えば、音声を受け付け、蓄積するプログラムである。対象データが文や文章等の文字列である場合、対象データ取得プログラムは、例えば、ユーザからの文や文章の入力を受け付け、蓄積するプログラムである。
【0369】
対象データとは、機械学習の予測処理の対象となるデータである。対象データは、学習モデルと共に、機械学習の予測処理を行うプログラムに与えられる。
【0370】
結果情報受付プログラムとは、結果情報の入力を受け付けるプログラムである。結果情報とは、評価プログラムが学習モデルを使用した結果に関する情報である。結果情報は、例えば、「正解(例えば、「1」)」、「不正解(例えば、「0」)」である。
【0371】
正解データ受付プログラムとは、正解データを受け付けるプログラムである。正解データとは、正しいデータである。正解データは、通常、ユーザがユーザ端末6に入力したデータである。
【0372】
結果情報送信プログラムとは、結果情報をモデル評価装置5に送信するプログラムである。結果情報送信プログラムは、対象データ、正解データのうちの1以上のデータをモデル評価装置5に送信するプログラムであっても良い。なお、データは、情報と言っても良い。
【0373】
格納部51には、例えば、1または2以上のユーザ情報が格納される。つまり、格納部51は、ユーザ情報格納部111を具備しても良い。ここでのユーザ情報は、例えば、氏名、送信先情報、報償情報を有する。
【0374】
ユーザ識別子とは、ユーザを識別する情報である。ユーザ識別子は、ユーザ端末6を識別する情報でも良い。ユーザ識別子は、例えば、ユーザのID、ユーザの氏名、ユーザのメールアドレス、ユーザの電話番号、ユーザ端末6のIPアドレス、ユーザ端末6のMACアドレスである。
【0375】
送信先情報とは、ユーザへの送信先を特定する情報である。送信先情報は、例えば、メールアドレス、電話番号、ユーザのIDである。
【0376】
報償情報とは、ユーザが受け取った報償を特定する情報である。報償情報は、例えば、ポイント、金額である。
【0377】
送信部52は、各種の情報を、1または2以上の各ユーザ端末6に送信する。各種の情報は、例えば、学習モデル、評価プログラムである。
【0378】
モデル送信部521は、モデル送信処理を行う。モデル送信処理とは、格納部51に格納されている学習モデルと評価プログラムとを1または2以上の各ユーザ端末6に送信する処理である。なお、モデル送信部521は、通常、学習モデル等を2以上のユーザ端末6に送信する。つまり、通常、一の学習モデルの評価は、2以上のユーザにより行われる。
【0379】
モデル送信部521は、学習モデルと評価プログラムとを一緒に送信することは好適であるが、別々に送信しても良い。学習モデルと前記評価プログラムの送信タイミングは問わない。学習モデルと前記評価プログラムの送信のトリガーも問わない。
【0380】
モデル送信部521は、例えば、モデル識別子と対にして、学習モデルをユーザ端末6に送信する。
モデル識別子とは、学習モデルを識別する情報である。モデル識別子は、例えば、学習モデルのIDである。
【0381】
受信部53は、各種の情報や指示をユーザ端末6から受信する。各種の情報や指示は、例えば、モデル送信指示、結果情報、対象データ、正解データである。
【0382】
モデル送信指示とは、学習モデル等の送信の指示である。学習モデル等とは、通常、学習モデルと評価プログラムであるが、学習モデルだけでも良い。モデル送信指示は、1または2以上の特定の学習モデルを識別するモデル識別子に対応付いていることは好適である。
【0383】
結果受信部531は、結果情報を2以上の各ユーザ端末6から受信する。結果情報は、2以上の各ユーザ端末6において、評価プログラムが学習モデルを使用した結果に関する情報である。結果情報は、対象データと正解データのうちの1以上の情報を含むと考えても良い。
【0384】
結果受信部531は、例えば、結果情報に加えて、予測処理の対象である対象データを受信する。対象データは、ユーザ端末6で取得されたデータであることは好適であるが、モデル評価装置5がユーザ端末6に送信したデータでも良い。
【0385】
結果受信部531は、例えば、結果情報に加えて、対象データと正解データとを受信する。なお、結果受信部531が正解データを受信した場合は、学習モデルを用いて取得された予測結果が不正解であると言えるので、正解データの受信を、「不正解」を示す結果情報の受信と同一視しても良い。つまり、結果受信部531が正解データの受信した場合に、「不正解」を示す結果情報の受信したものと判断しても良い。また、結果受信部531が正解データを受信しない場合を学習モデルを用いて取得された予測結果が正解であるとして、正解データを受信せずに対象データを受信したことを、「正解」を示す結果情報の受信と同一視しても良い。つまり、結果受信部531が対象データを受信し、正解データを受信しない場合に、「正解」を示す結果情報の受信したものと判断しても良い。
【0386】
結果受信部531は、例えば、結果情報のみを受信したり、結果情報と対象データとを受信したり、結果情報と対象データと正解データとを受信したりしても良い。つまり、結果受信部531は、例えば、ユーザによって、またはその時によって、異なる種類の情報を受信しても良い。
【0387】
結果受信部531は、例えば、ユーザ識別子に対応付けて、結果情報等を受信する。結果受信部531は、例えば、モデル識別子に対応付けて、結果情報等を受信する。
【0388】
処理部54は、各種の処理を行う。各種の処理は、例えば、蓄積部541、モデル処理部542、報償部543、学習部544が行う処理である。
【0389】
蓄積部541は、2以上の結果情報を蓄積する。蓄積部541は、例えば、結果情報と対象データとを対応付けて蓄積する。蓄積部541は、例えば、結果情報と対象データと正解データとを対応付けて蓄積する。蓄積部541は、例えば、結果受信部531が受信した対象データ、正解データのうちの1以上の情報を蓄積する。
【0390】
蓄積部541は、学習モデルに対応付けて結果情報等を蓄積することは好適である。蓄積部541は、結果情報等をモデル識別子と対にして蓄積することは好適である。蓄積部541は、結果情報等を、例えば、格納部51に蓄積するが、他の装置に蓄積しても良い。なお、結果情報等は、例えば、結果情報、対象データ、正解データのうちの1または2以上の情報である。
【0391】
モデル処理部542は、蓄積部541が蓄積した2以上の結果情報に応じて、学習モデルに関して、異なる処理を行う。
【0392】
モデル処理部542は、2以上の結果情報が評価停止条件に合致するほど良好であるか否かを判断し、評価停止条件に合致する場合は、学習モデルと評価プログラムの送信を停止するための送信停止処理を行う。
【0393】
送信停止処理とは、評価のために、学習モデルがユーザ端末2に送信されないようにするための処理である。送信停止処理は、例えば、学習モデルのモデル識別子に対応付けて、停止フラグ「ON」を蓄積する処理である。停止フラグとは、学習モデルの評価を停止することを示すフラグである。送信停止処理は、例えば、当該学習モデルを格納部51から削除する処理である。学習モデルの削除により、当該学習モデルはユーザ端末6に送信できなくなる。
【0394】
モデル処理部542は、1以上の結果情報が評価停止条件に合致するほど良好であるか否かを判断し、評価停止条件に合致しない場合は、モデル送信部521に、モデル送信処理をさらに行うように指示する。モデル送信処理は、学習モデルをユーザ端末6に送信する処理である。
【0395】
報償部543は、結果情報の受信に対して、当該結果情報に対応するユーザ識別子で識別されるユーザに対する報償処理を行う。報償処理は、例えば、当該ユーザ識別子と対になる報償情報を増加させる処理である。
【0396】
報償部543は、対象データの受信に対しても、ユーザ識別子で識別されるユーザに対する報償処理を行うことは好適である。
【0397】
報償部543は、正解データの受信に対しても、ユーザ識別子で識別されるユーザに対する報償処理を行うことは好適である。
【0398】
報償部543は、結果情報、対象データ、正解データのうち、結果情報のみを受信した場合は、結果情報と対象データとを受信した場合と比較して、低い報償を与える報償処理を行うことは好適である。報償部543は、結果情報、対象データ、正解データのうち、結果情報と対象データのみを受信した場合は、結果情報と対象データと正解データとを受信した場合と比較して、低い報償を与える報償処理を行うことは好適である。
【0399】
学習部544は、ユーザ端末6から受信した2以上の各対象データを含む2以上の教師データを用いて、機械学習の学習処理を行い、学習モデルを取得し、蓄積する。学習モデルの蓄積先は、例えば、格納部11であるが、他の装置でも良く、問わない。
【0400】
学習部544は、例えば、2以上の各ユーザ端末6から受信した対象データと正解データとを有する教師データを用いて、機械学習の学習処理を行い、学習モデルを取得し、蓄積する。
【0401】
学習部544は、例えば、2以上の各ユーザ端末6から受信した結果情報と対象データとを有する教師データを用いて、機械学習の学習処理を行い、学習モデルを取得し、蓄積する。
【0402】
学習部544は、例えば、格納部51に格納されている学習モデルと対になる2以上の教師データと、ユーザ端末6から受信した対象データを含む1以上の教師データとを含む3以上の教師データを用いて、機械学習の学習処理を行い、学習モデルを取得し、蓄積する。
【0403】
ユーザ端末6を構成する端末格納部61には、各種の情報が格納される。各種の情報とは、例えば、ユーザ識別子、モデル識別子、学習モデル、対象データ、正解データ、各種のプログラムである。各種のプログラムは、例えば、評価プログラムである。
【0404】
端末受付部62は、各種の情報や指示等を受け付ける。各種の情報や指示等とは、例えば、結果情報、正解データである。
【0405】
端末受付部62は、端末実行部631が取得した予測結果に対する評価である結果情報を受け付ける。端末受付部62は、正解データを受け付けても良い。端末受付部62は、対象データを受け付けても良い。
【0406】
ここで、受け付けとは、キーボードやマウス、タッチパネルなどの入力デバイスから入力された情報の受け付け、有線もしくは無線の通信回線を介して送信された情報の受信、光ディスクや磁気ディスク、半導体メモリなどの記録媒体から読み出された情報の受け付けなどを含む概念である。
【0407】
各種の情報や指示等の入力手段は、タッチパネルやキーボードやマウスやメニュー画面によるもの等、何でも良い。
【0408】
端末処理部63は、各種の処理を行う。各種の処理は、例えば、端末実行部631が行う処理である。各種の処理は、例えば、受け付けられた情報や指示等を、送信する構造の情報や指示等にする処理である。各種の処理は、例えば、受信された情報を出力する構造の情報にする処理である。
【0409】
端末実行部631は、学習モデルを使用する評価プログラムを実行し、予測結果を取得する。端末実行部631は、評価プログラムが有する予測プログラムを用いて、予測結果を取得する。
【0410】
データ取得手段6311は、評価プログラムが有する情報取得プログラムを実行し、対象データを取得する。情報取得プログラムとは、対象データを取得するためのプログラムである。データ取得手段6311は、例えば、カメラを動作させ、画像を撮影する。なお、画像は、通常、静止画であるが、動画でも良い。かかる場合、情報取得プログラムは、画像を撮影するプログラムである。データ取得手段6311は、例えば、ユーザが発生した音声を取得する。かかる場合、情報取得プログラムは、音声のデータを取得するプログラムである。データ取得手段6311は、例えば、ユーザが入力した文または文章等の文字列を取得する。かかる場合、情報取得プログラムは、ユーザからの文字列の入力を受け付けるプログラムである。
【0411】
予測手段6312は、学習モデルと対象データとを使用して、評価プログラムが有する予測プログラムを実行し、予測結果を取得し、出力する。予測手段6312は、学習モデルと対象データとを予測プログラムに与え、当該予測プログラムを実行する。なお、予測プログラムは、機械学習の予測処理を行うプログラムである。
【0412】
端末送信部64は、端末受付部62が受け付けた結果情報をモデル評価装置5に送信する。端末送信部64は、例えば、対象データと結果情報とをモデル評価装置5に送信する。
【0413】
端末送信部64は、例えば、対象データと結果情報と正解データとをモデル評価装置5に送信する。
【0414】
端末受信部65は、モデル評価装置5から学習モデルと評価プログラムとを受信する。端末受信部65は、学習モデルと評価プログラムとを、一緒に受信しても良いし、別々に受信しても良い。
【0415】
端末出力部66は、各種の情報を出力する。各種の情報は、例えば、対象データ、予測結果、正解データである。
【0416】
ここで、出力とは、通常、ディスプレイへの表示であるが、プロジェクターを用いた投影、プリンタでの印字、音出力、外部の装置への送信、記録媒体への蓄積、他の処理装置や他のプログラムなどへの処理結果の引渡しなどを含む概念であっても良い。
【0417】
格納部51、および端末格納部61は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
【0418】
格納部51等に情報が記憶される過程は問わない。例えば、記録媒体を介して情報が格納部51等で記憶されるようになってもよく、通信回線等を介して送信された情報が格納部51等で記憶されるようになってもよく、あるいは、入力デバイスを介して入力された情報が格納部51等で記憶されるようになってもよい。
【0419】
送信部52、モデル送信部521、および端末送信部64は、通常、無線または有線の通信手段で実現されるが、放送手段で実現されても良い。
【0420】
受信部53、結果受信部531、および端末受信部65は、通常、無線または有線の通信手段で実現されるが、放送を受信する手段で実現されても良い。
【0421】
処理部54、蓄積部541、モデル処理部542、報償部543、学習部544、端末処理部63、端末実行部631、データ取得手段6311、および予測手段6312は、通常、プロセッサやメモリ等から実現され得る。処理部54等の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。なお、プロセッサは、CPU、MPU、GPU等であり、その種類は問わない。
【0422】
端末受付部62は、タッチパネルやキーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。
【0423】
端末出力部66は、ディスプレイやスピーカー等の出力デバイスを含むと考えても含まないと考えても良い。端末出力部66は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。
【0424】
次に、モデル評価システムCの動作例について説明する。まず、データ収集装置1の動作例について、
図20のフローチャートを用いて説明する。
【0425】
(ステップS2001)受信部53は、モデル送信指示を受信したか否かを判断する。モデル送信指示を受信した場合はステップS2002に行き、受信しなかった場合はステップS2008に行く。なお、モデル送信指示は、例えば、モデル識別子、ユーザ識別子に対応付いている。
【0426】
(ステップS2002)モデル処理部542は、ステップS2001で受信されたモデル送信指示に対応するモデル識別子を取得する。
【0427】
(ステップS2003)モデル処理部542は、モデル識別子で識別される学習モデルが評価停止条件に合致するか否かを判断する。評価停止条件に合致する場合はステップS2006に行き、合致しない場合はステップS2004に行く。
【0428】
なお、モデル処理部542は、モデル識別子と対になる停止フラグに基づいて学習モデルが評価停止条件に合致するか否かを判断しても良いし、ステップS2015のモデル評価処理を行って、学習モデルが評価停止条件に合致するか否かを判断しても良い。
【0429】
(ステップS2004)モデル処理部542は、ステップS2001で受信されたモデル送信指示に対応するモデル識別子で識別される学習モデル等を取得する。なお、ここでの学習モデル等は、学習モデルと評価プログラム、または学習モデルである。
【0430】
(ステップS2005)モデル送信部521は、ステップS2004で取得された学習モデル等を、モデル送信指示を送信してきたユーザ端末6に送信する。ステップS2001に戻る。
【0431】
(ステップS2006)モデル処理部542は、モデル送信指示に対応する学習モデル
は、評価する必要が無いために、送信しない旨のエラー情報を取得する。なお、エラー情報は、例えば、格納部51に格納されている。
【0432】
(ステップS2007)送信部52は、ステップS2006で取得されたエラー情報を、モデル送信指示を送信してきたユーザ端末6に送信する。ステップS2001に戻る。
【0433】
(ステップS2008)結果受信部531は、結果情報等を受信したか否かを判断する。果情報等を受信した場合はステップS2009に行き、受信しなかった場合はステップS2012に行く。なお、受信された結果情報等には、通常、モデル識別子、およびユーザ識別子が対応付いている。また、結果情報等とは、例えば、結果情報と対象データ、結果情報と対象データと正解データ、結果情報のみである。
【0434】
(ステップS2009)蓄積部541は、ステップS2008で受信された結果情報等に対応するモデル識別子を取得する。
【0435】
(ステップS2010)蓄積部541は、ステップS2008で受信された結果情報等を、ステップS2009で取得したモデル識別子に対応付けて、格納部51に蓄積する。
【0436】
(ステップS2011)報償部543は、結果情報等を送信したユーザに対する報償処理を行う。ステップS2001に戻る。報償処理の例について、
図21のフローチャートを用いて説明する。
【0437】
(ステップS2012)処理部54は、学習モデルの評価のタイミングであるか否かを判断する。学習モデルの評価のタイミングでステップS2013に行き、学習モデルの評価のタイミングでなければステップS2017に行く。
【0438】
(ステップS2013)モデル処理部542は、カウンタiに1を代入する。
【0439】
(ステップS2014)モデル処理部542は、格納部51に、評価対象のi番目の学習モデルが存在するか否かを判断する。i番目の学習モデルが存在する場合はステップS2015に行き、存在しない場合はステップS2001に戻る。
【0440】
(ステップS2015)モデル処理部542は、i番目の学習モデルに対する評価処理を行う。かかるモデル評価処理の例について、
図22のフローチャートを用いて説明する。
【0441】
(ステップS2016)モデル処理部542は、カウンタiを1、インクリメントする。ステップS2014に戻る。
【0442】
(ステップS2017)学習部544は、ユーザ端末6から受信された対象データ等を用いた学習のタイミングであるか否かを判断する。学習のタイミングでステップS2018に行き、学習のタイミングでなければステップS2001に戻る。なお、学習のタイミングは、定期的でも良いし、管理者の指示が受信された時等でも良く、問わない。
【0443】
(ステップS2018)学習部544は、カウンタiに1を代入する。
【0444】
(ステップS2019)学習部544は、格納部51にi番目の学習モデルが存在するか否かを判断する。i番目の学習モデルが存在する場合はステップS2020に行き、存在しない場合はステップS2001に戻る。
【0445】
(ステップS2020)学習部544は、i番目の学習モデルが学習条件に合致するか否かを判断する。学習条件に合致する場合はステップS2021に行き、合致しない場合はステップS2022に行く。
【0446】
(ステップS2021)学習部544は、i番目の学習モデルを更新するための学習処理を行う。学習処理の例について、
図23のフローチャートを用いて説明する。
【0447】
(ステップS2022)学習部544は、カウンタiを1、インクリメントする。ステップS2019に戻る。
【0448】
なお、
図20のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
【0449】
次に、モステップS2011の報償処理の例について、
図21のフローチャートを用いて説明する。
【0450】
(ステップS2101)報償部543は、ステップS2008で受信された結果情報等に、対象データが含まれるか否かを判断する。対象データが含まれる場合はステップS2102に行き、対象データが含まれない場合はステップS2105に行く。
【0451】
(ステップS2102)報償部543は、ステップS2008で受信された結果情報等に、正解データが含まれるか否かを判断する。正解データが含まれる場合はステップS2103に行き、正解データが含まれない場合はステップS2104に行く。
【0452】
(ステップS2103)報償部543は、ステップS2008で受信された結果情報等に対応するモデル識別子に対応する最高の報償単価情報を格納部51から取得する。
【0453】
(ステップS2104)報償部543は、ステップS2008で受信された結果情報等に対応するモデル識別子に対応する中位の報償単価情報を格納部51から取得する。
【0454】
(ステップS2105)報償部543は、ステップS2008で受信された結果情報等に対応するモデル識別子に対応する最低の報償単価情報を格納部51から取得する。
【0455】
(ステップS2106)報償部543は、ステップS2008で受信された結果情報等と対になるユーザ識別子を取得する。
【0456】
(ステップS2107)報償部543は、ステップS2106で取得したユーザ識別子と対になる報償情報に、取得した報償単価情報を加算する。上位処理にリターンする。
【0457】
次に、ステップS2015のモデル評価処理の例について、
図22のフローチャートを用いて説明する。
【0458】
(ステップS2201)モデル処理部542は、対象となる学習モデルのモデル識別子と対になる停止フラグを格納部51から取得する。モデル処理部542は、当該停止フラグがOFFであるか否かを判断する。OFFであればステップS2202に行き、ONであれば上位処理にリターンする。
【0459】
なお、停止フラグがONであれば、当該学習モデルは、さらに評価する必要がない場合である。停止フラグがOFFであれば、当該学習モデルは、さらに評価する必要がある場合である。
【0460】
(ステップS2202)モデル処理部542は、対象となる学習モデルのモデル識別子を取得する。
【0461】
(ステップS2203)モデル処理部542は、ステップS2202で取得したモデル識別子と対になるすべての結果情報等を格納部51から取得する。なお、結果情報等とは、結果情報だけでも良いし、結果情報と対象データでも良いし、結果情報と対象データと正解データでも良い。
【0462】
(ステップS2204)モデル処理部542は、ステップS2203で取得した1以上の結果情報等が、評価停止条件を満たすか否かを判断する。評価停止条件を満たす場合はステップS2205に行き、評価停止条件を満たさない場合は上位処理にリターンする。
【0463】
(ステップS2205)モデル処理部542は、ステップS2202で取得したモデル識別子と対の停止フラグを「ON」にする。上位処理にリターンする。なお、停止フラグの初期値は「OFF」である。
【0464】
次に、ステップS2021の学習処理の例について、
図23のフローチャートを用いて説明する。
【0465】
(ステップS2301)学習部544は、更新の対象となる学習モデルのモデル識別子を取得する。
【0466】
(ステップS2302)学習部544は、カウンタiに1を代入する。
【0467】
(ステップS2303)学習部544は、モデル識別子と対になる対象データであり、新たに蓄積されたi番目の対象データが格納部51に存在するか否かを判断する。i番目の対象データが存在する場合はステップS2304に行き、存在しない場合はステップS2307に行く。
【0468】
(ステップS2304)学習部544は、モデル識別子と対になるi番目の対象データ等を取得する。i番目の対象データ等とは、例えば、i番目の対象データと、当該対象データと対になる正解データである。
【0469】
(ステップS2305)学習部544は、i番目の対象データ等を含む教師データを構成し、図示しないバッファに一時蓄積する。
【0470】
(ステップS2306)学習部544は、カウンタiを1、インクリメントする。ステップS2303に戻る。
【0471】
(ステップS2307)学習部544は、モデル識別子で識別される学習モデルの作成に使用した2以上の教師データを格納部51から取得する。
【0472】
(ステップS2308)学習部544は、ステップS2305で図示しないバッファに一時蓄積した1以上の教師データ、およびステップS2307で取得した2以上の教師データを、学習処理を行うモジュールである学習モジュールに与える。
【0473】
(ステップS2309)学習部544は、3以上の教師データを与えた学習モジュールを実行し、新しい学習モデルを取得する。
【0474】
(ステップS2310)学習部544は、ステップS2309で取得した新しい学習モデルを、モデル識別子と対にして、格納部51に蓄積する。上位処理にリターンする。なお、ここで、学習部544は、当該モデル識別子と対になる学習モデルに、ステップS2309で取得した新しい学習モデルを上書きしても良いし、追記しても良い。
【0475】
次に、ユーザ端末6の動作例について、
図24のフローチャートを用いて説明する。
【0476】
(ステップS2401)端末受付部62は、モデル送信指示を受け付けたか否かを判断する。モデル送信指示を受け付けた場合はステップS2402に行き、受け付けなかった場合はステップS2407に行く。なお、受け付けられたモデル送信指示は、例えば、モデル識別子を有する。
【0477】
(ステップS2402)端末処理部63は、端末格納部61のユーザ識別子を取得し、当該ユーザ識別子を含むモデル送信指示を構成する。端末送信部64は、当該モデル送信指示をモデル評価装置5に送信する。
【0478】
(ステップS2403)モデル送信指示の送信に応じて、端末受信部65は、モデル評価装置5から学習モデル等を受信したか否かを判断する。学習モデル等を受信した場合はステップS2404に行き、受信しなかった場合はステップS2405に行く。なお、学習モデル等は、通常、学習モデル、または学習モデルと評価プログラムである。
【0479】
(ステップS2404)端末実行部631は、受信された評価プログラム、または端末格納部61に格納している評価プログラムを実行し、対象データを取得するための画面を出力する。ステップS2401に戻る。
【0480】
(ステップS2405)モデル送信指示の送信に応じて、端末受信部65は、モデル評価装置5からエラー情報を受信したか否かを判断する。エラー情報を受信した場合はステップS2406に行き、受信しなかった場合はステップS2403に戻る。
【0481】
(ステップS2406)端末処理部63は、受信されたエラー情報を用いて、出力するエラー情報を構成する。端末出力部66は、当該エラー情報を出力する。ステップS2401に戻る。
【0482】
(ステップS2407)端末受付部62は、対象データ取得指示を受け付けたか否かを判断する。対象データ取得指示を受け付けた場合はステップS2408に行き、受け付けなかった場合はステップS2401に戻る。
【0483】
(ステップS2408)データ取得手段6311は、対象データを取得する。なお、データ取得手段6311は、例えば、撮影指示である対象データ取得指示の受け付けに応じて、撮影し、画像である対象データを取得する。データ取得手段6311は、例えば、文または文章の入力である対象データ取得指示の受け付けに応じて、当該文または文章の文字列を取得する。データ取得手段6311は、例えば、音声の受け付けである対象データ取得指示の受け付けに応じて、当該音声を取得する。なお、取得する音声は、音声データ、音声情報と言っても良い。
【0484】
(ステップS2409)データ取得手段6311は、ステップS2408で取得された対象データを出力する。
【0485】
(ステップS2410)予測手段6312は、ステップS2408で取得された対象データと、受信された学習モデルとを用いて、機械学習の予測処理を行い、予測結果を取得する。
【0486】
(ステップS2411)予測手段6312は、ステップS2410で取得した予測結果を出力する。
【0487】
(ステップS2412)端末受付部62は、出力された対象データと出力された予測結果とを見たユーザから、結果情報を受け付けたか否かを判断する。結果情報を受け付けた場合はステップS2413に行き、受け付けなかった場合はステップS2412に戻る。
【0488】
(ステップS2413)端末実行部631は、ステップS2412で受け付けられた結果情報が「正解」を示す情報であるか、「不正解」を示す情報であるかを判断する。「正解」を示す情報である場合はステップS2415に行き、「不正解」を示す情報である場合はステップS2414に行く。
【0489】
(ステップS2414)端末実行部631は、正解データを受け付けるための画面を出力する。そして、端末受付部62は、正解データを受け付けたか否かを判断する。正解データを受け付けた場合はステップS2415に行き、受け付けなかった場合は正解データの受け付けを待つ。
【0490】
(ステップS2415)端末実行部631は、送信する情報を構成する。送信する情報は、例えば、結果情報と対象データとを有する。送信する情報は、例えば、結果情報と対象データと正解データとを有する。なお、送信する情報が対象データのみを有する場合、デフォルトの結果情報(例えば、「正解」)を有するものとする。また、送信する情報が対象データと正解データとを有する場合、結果情報は「不正解」であり、当該結果情報を有さない場合でも、当該「不正解」の結果情報を有するものと考えても良い。「NULL」ではない正解データが存在することが、結果情報「不正解」を示すからである。
【0491】
(ステップS2416)端末送信部64は、ステップS2415で構成された情報をモデル評価装置5に送信する。ステップS2401に戻る。なお、端末送信部64は、通常、ユーザ識別子とモデル識別子とを対にして、ステップS2415で構成された情報をモデル評価装置5に送信する。
【0492】
なお、
図24のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
【0493】
以下、本実施の形態におけるモデル評価システムCの具体的な動作例について説明する。モデル評価システムCの概念図は、
図17である。
【0494】
今、モデル評価装置5の格納部51には、
図9に示すユーザ情報管理表が格納されている、とする。ここでのユーザ情報管理表は、学習モデルを評価するユーザの情報を管理する表である。ユーザ情報管理表は、「ID」「ユーザ識別子」「氏名」「送信先情報」「ユーザ属性値」を有する2以上のレコードを管理する。
【0495】
また、格納部51には、
図25に示す構造を有する評価結果管理表が格納されている、とする。ユーザ情報管理表は、「ID」「モデル識別子」「評価プログラム」「教師データ」「評価情報」「停止フラグ」を有する1以上のレコードを管理する。
【0496】
「教師データ」には、モデル識別子で識別される学習モデルを構成する際に使用した教師データの集合が格納される。「教師データ」は、「説明変数」「目的変数」を有する。
【0497】
「評価情報」は、ユーザが学習モデルを評価した結果等の情報である。「評価情報」は、ユーザ端末6から送信された結果情報等を含む。「評価情報」は、「ユーザ識別子」「結果情報」「対象データ」「正解データ」を含む。「ユーザ識別子」は、結果情報等を送信したユーザの識別子である。「結果情報」は、ここでは、学習モデルを用いた予測処理の結果が「正解」であったことを示す「1」、または学習モデルを用いた予測処理の結果が「不正解」であったことを示す「0」のうちのいずれかである。予測処理の結果が「不正解」であった場合に、「正解データ」が蓄積される、とする。正解データ「-」は、正解データが「NULL」であることを示す。
【0498】
モデル識別子「モデルA」で識別される学習モデルは、学習部544が、日本語の難解な用語または文(例えば、ことわざ)とその英訳とを有する2以上の教師データを用いて、機械学習の学習処理を行い、取得したモデルである。
【0499】
モデル識別子「モデルB」で識別される学習モデルは、学習部544が、動物の画像と動物名とを有する2以上の教師データを用いて、機械学習の学習処理を行い、取得したモデルである。
【0500】
モデル識別子「モデルC」で識別される学習モデルは、学習部544が、クラックがある外壁またはクラックがない外壁の画像と、クラックの有無、およびクラックがある場合のその領域を示す情報とを有する2以上の教師データを用いて、機械学習の学習処理を行い、取得したモデルである。
【0501】
かかる状況において、以下の3つの具体例について説明する。具体例1は、ユーザに対象データ「日本語の難解用語」を入力してもらい、機械翻訳を行う学習モデルを評価する場合である。具体例2は、ユーザに動物の写真を撮影してもらい、動物名を識別する学習モデルを評価する場合である。具体例3は、クラックが入った外壁またはクラックが入っていない外壁の写真を撮影してもらい、クラックの有無を識別する学習モデルを評価する場合である。
【0502】
(具体例1)
ユーザ「田中A男」は、モデル識別子「モデルA」を含むモデル送信指示を、ユーザ端末6に入力した、とする。次に、ユーザ端末6の端末受付部62は、当該モデル送信指示を受け付ける。次に、端末処理部63は、端末格納部61のユーザ識別子「U001」を取得し、当該ユーザ識別子「U001」とモデル識別子「モデルA」とを含むモデル送信指示を構成する。端末送信部64は、当該モデル送信指示をモデル評価装置5に送信する。
【0503】
次に、モデル評価装置5の受信部53は、ユーザ識別子「U001」とモデル識別子「モデルA」とを含むモデル送信指示を受信する。
【0504】
次に、モデル処理部542は、モデル識別子「モデルA」と対になる停止フラグ「0」を評価結果管理表(
図25)から取得し、評価停止条件に合致しない、と判断する。なお、評価停止条件は、ここでは「停止フラグ=1」である。また、「停止フラグ=1」となるための評価停止条件は、「対象データ数>=第一閾値(例えば、1000) & 正解率>=第二閾値(例えば、「95%」)」である、とする。
【0505】
次に、モデル処理部542は、モデル識別子「モデルA」と対になる評価プログラムの名称「プログラムα」を、評価結果管理表(
図25)から取得する。次に、モデル処理部542は、モデル識別子「モデルA」で識別される学習モデルを格納部51から取得する。また、モデル処理部542は、「プログラムα」で識別される評価プログラムを格納部51から取得する。
【0506】
次に、モデル送信部521は、「田中A男」のユーザ端末6に、学習モデル「モデルA」および評価プログラム「プログラムα」を送信する。
【0507】
次に、「田中A男」のユーザ端末6の端末受信部65は、モデル評価装置5から学習モデル「モデルA」および評価プログラム「プログラムα」を受信する。
【0508】
次に、端末実行部631は、受信された評価プログラム「プログラムα」を実行し、対象データを入力するための画面を出力する。かかる画面例は、
図26である。
図26において、2601は、日英の機械翻訳を行う学習モデルの評価のための対象データを入力するフィールドである。2602は、学習モデル「モデルA」の評価のための、当該学習モデルを用いた対象データの機械翻訳結果が出力されるフィ-ルドである。2603は、学習モデルを用いた対象データの機械翻訳を実行するためのボタンである。
【0509】
図26において、「田中A男」は、フィ-ルド2601に「一蓮托生」を入力し、予測ボタン2603を指示した、とする。
【0510】
すると、データ取得手段6311は、学習モデル「モデルA」を取得する。次に、予測手段6312は、学習モデル「モデルA」と対象データ「一蓮托生」とを取得し、学習モデル「モデルA」と対象データ「一蓮托生」とを、評価プログラムが有する予測プログラムに渡し、当該予測プログラムを実行する。次に、予測手段6312は、予測プログラムを用いた予測処理を行い、予測結果「Ichirentakushou」を取得する。そして、予測手段6312は、2602のフィールドに予測結果を出力する。かかる画面例は、
図27である。
図27において、ユーザは、機械翻訳の翻訳結果を見て、学習モデルを用いた予測処理の予測結果が正しいか否かを判断する。ここで、「田中A男」は、
図27の「正しくない」ボタン2701を指示した、とする。
【0511】
次に、端末受付部62は、「正しくない」ボタン2701の指示を受け付ける。つまり、端末受付部62は、出力された対象データと出力された予測結果とを見たユーザから、結果情報「不正解(0)」を受け付ける。次に、端末実行部631は、正解データの入力画面(
図28)を出力する。
【0512】
そして、「田中A男」は、「一蓮托生」の正しい英訳である「To be in the same boat.」をフィールド2801に入力し、送信ボタン2802を指示した、とする。
【0513】
すると、端末受付部62は、正解データ「To be in the same boat.」を受け付ける。次に、端末実行部631は、送信する情報を構成する。送信する情報は、結果情報「不正解(0)」、対象データ「一蓮托生」、および正解データ「To be in the same boat.」を含む。また、送信する情報は、モデル識別子「モデルA」、ユーザ識別子「U001」を含む、とする。次に、端末送信部64は、構成された情報をモデル評価装置5に送信する。
【0514】
次に、モデル評価装置5の結果受信部531は、結果情報「不正解(0)」、対象データ「一蓮托生」、正解データ「To be in the same boat.」、モデル識別子「モデルA」、およびユーザ識別子「U001」を含む情報を受信する。
【0515】
蓄積部541は、受信された結果情報等に対応するモデル識別子「モデルA」を取得する。次に、蓄積部541は、受信された結果情報等をモデル識別子「モデルA」に対応付けて、評価結果管理表(
図25)に蓄積する。なお、かかる情報は、
図25の「ID=1」のレコードの最初の評価情報である。
【0516】
次に、報償部543は、以下のように「田中A男」に報償を与える。つまり、報償部543は、受信された情報に、対象データも正解データも含まれる、と判断する。次に、報償部543は、受信された結果情報等に対応するモデル識別子「モデルB」に対応する最高の報償単価情報(例えば、30円)を取得する。次に、報償部543は、受信された結果情報等と対になるユーザ識別子「U001」を取得する。次に、報償部543は、ユーザ識別子「U001」と対になる報償情報「R
1」(
図9参照)に、取得した報償単価情報(例えば、30円)を加算し、加算した報償情報をユーザ識別子「U001」と対にして蓄積する。かかる処理により、「田中A男」に与える報償情報が増加した。
【0517】
また、「山田B子」も、同様に、対象データ「口は災いの元」を入力し、当該対象データ「口は災いの元」と学習モデル「モデルA」とを予測プログラムに与え、当該予測プログラムを実行させ、予測結果「Out of the mouth comes evil.」が取得され、出力された、とする。そして、「山田B子」は、結果情報「正解」を入力し、当該結果情報「正解」と対象データ「口は災いの元」とを有する評価情報がモデル評価装置5に送信され、モデル評価装置5に蓄積された、とする(
図25の「ID=1」のレコードの2つ目の評価情報を参照)。なお、「山田B子」は、「正解データ」を送信していないので、「山田B子」に与えられる報償は、「田中A男」より低額(例えば、「20円」)である。
【0518】
以上、本具体例において、学習モデル「モデルA」の評価を1または2以上のユーザに行ってもらい、その情報を収集できる。また、結果情報等の送信により、ユーザに報償を与えることができる。
【0519】
なお、本具体例において、評価プログラム「プログラムα」が、
図26から
図28の各種の画面を出力する処理を行った、とする。
【0520】
(具体例2)
ユーザ「陳XY」は、モデル識別子「モデルB」を含むモデル送信指示を、ユーザ端末6に入力した、とする。次に、ユーザ端末6の端末受付部62は、モデル送信指示を受け付ける。次に、端末処理部63は、端末格納部61のユーザ識別子「U003」を取得し、当該ユーザ識別子「U003」とモデル識別子「モデルB」とを含むモデル送信指示を構成する。次に、端末送信部64は、当該モデル送信指示をモデル評価装置5に送信する。
【0521】
次に、モデル評価装置5の受信部53は、ユーザ識別子「U003」とモデル識別子「モデルB」とを含むモデル送信指示を受信する。
【0522】
次に、モデル処理部542は、モデル識別子「モデルB」と対になる停止フラグ「0」を評価結果管理表(
図25)から取得し、評価停止条件に合致しない、と判断する。
【0523】
次に、モデル処理部542は、モデル識別子「モデルB」と対になるモデル識別子「モデルB」、評価プログラムの名称「プログラムβ」を、評価結果管理表(
図25)から取得する。次に、モデル処理部542は、モデル識別子「モデルB」で識別される学習モデルを格納部51から取得する。また、モデル処理部542は、「プログラムβ」で識別される評価プログラムを格納部51から取得する。
【0524】
次に、モデル送信部521は、「陳XY」のユーザ端末6に、学習モデル「モデルB」および評価プログラム「プログラムβ」を送信する。
【0525】
次に、「陳XY」のユーザ端末6の端末受信部65は、モデル評価装置5から学習モデル「モデルB」および評価プログラム「プログラムβ」を受信する。
【0526】
次に、端末実行部631は、受信された評価プログラム「プログラムβ」を実行し、対象データを入力するための画面を出力する。かかる画面例は、
図29である。なお、ここでの対象データを入力するための画面は、画像を撮影するための画面である。また、撮影する画像は、動物の画像である。
【0527】
次に、「陳XY」は、ユーザ端末6が有するカメラをペットの犬に向け、
図29の撮影ボタン2901を指示し、犬を撮影した、とする。すると、端末受付部62は、かかる指示を受け付ける。次に、データ取得手段6311は、撮影された犬の画像を取得し、出力する。その結果、
図30の画面が出力された、とする。
【0528】
次に、「陳XY」は、
図30の予測ボタン3001を指示した、とする。すると、端末受付部62は、かかる指示を受け付ける。次に、予測手段6312は、受信された学習モデルと、撮影された画像(3002)を取得する。次に、予測手段6312は、学習モデルと画像(3002)とを、機械学習の予測処理を行う予測プログラムに与え、当該プログラムを実行する。その結果、予測手段6312は、予測結果「オオカミ」を取得した、とする。そして、予測手段6312は、当該予測結果「オオカミ」を含む画面を出力する。かかる画面例は、
図31である。
図31において、予測対象の対象データの画像(3101)、予測結果3102、予測結果が「正解」である場合に指示される「正しい」ボタン3103、および予測結果が「不正解」である場合に指示される「正しくない」ボタン3104を有する。
【0529】
次に、「陳XY」は、予測結果「オオカミ」を見て、「正しくない」ボタン3104を指示した、とする。すると、端末受付部62は、当該「正しくない」ボタン3104の指示を受け付ける。次に、端末実行部631は、正解データを入力するための画面(
図32)を出力する。
図32において、3201は、正解データを入力するためのフィールドである。3202は、対象データ、正解データ等を送信するためのボタンである。
【0530】
次に、「陳XY」は、フィールド3201に「犬」を入力し、「送信」ボタン3202を指示した、とする。
【0531】
すると、端末受付部62は、正解データ「犬」を受け付ける。次に、端末実行部631は、ユーザ識別子「U003」、モデル識別子「モデルB」、結果情報「不正解(0)」、撮影された画像(3101)、および正解データ「犬」を含む情報であり、送信される情報を構成する。次に、端末送信部64は、構成された情報をモデル評価装置5に送信する。
【0532】
次に、モデル評価装置5の結果受信部531は、結果情報等を受信する。結果情報等は、ここでは、ユーザ識別子「U003」、モデル識別子「モデルB」、結果情報「不正解(0)」、撮影された画像(3101)、および正解データ「犬」を含む。なお、画像(3101)は、ファイル「動物画像X.jpeg」である、とする。
【0533】
次に、蓄積部541は、受信された結果情報等に対応するモデル識別子「モデルB」を取得する。次に、蓄積部541は、受信された結果情報等をモデル識別子「モデルB」に対応付けて、評価結果管理表(
図25)に蓄積する。かかる蓄積された評価情報は、
図25の「ID=2」のレコードに含まれる最初の評価情報である。また、蓄積部541は、ファイル「動物画像X.jpeg」を格納部51に蓄積する。
【0534】
次に、報償部543は、以下のように「陳XY」に報償を与える。つまり、報償部543は、受信された情報に、対象データも正解データも含まれる、と判断する。次に、報償部543は、受信された結果情報等に対応するモデル識別子「モデルB」に対応する最高の報償単価情報(例えば、100円)を格納部51から取得する。次に、報償部543は、受信された結果情報等と対になるユーザ識別子「U003」を取得する。次に、報償部543は、ユーザ識別子「U003」と対になる報償情報「R
3」(
図9参照)に、取得した報償単価情報(例えば、100円)を加算し、加算した報償情報をユーザ識別子「U003」と対にして蓄積する。かかる処理により、「陳XY」に与える報償情報が増加した。
【0535】
また、他の1以上の各ユーザも、同様に、対象データを撮影し、学習モデル「モデルB」の評価を行い、評価情報をモデル評価装置5に送信した、とする。そして、モデル評価装置5は、受信した各評価情報に対して、上記と同様の処理を行う。
【0536】
以上、本具体例において、学習モデル「モデルB」の評価を1または2以上のユーザに行ってもらい、その情報を収集できる。また、結果情報等の送信により、ユーザに報償を与えることができる。
【0537】
なお、本具体例において、評価プログラム「プログラムβ」が、
図29から
図32の各種の画面を出力する処理を行った、とする。
【0538】
(具体例3)
ユーザ「田中A男」は、モデル識別子「モデルC」を含むモデル送信指示を、ユーザ端末6に入力した、とする。次に、ユーザ端末6の端末受付部62は、モデル送信指示を受け付ける。次に、端末処理部63は、端末格納部61のユーザ識別子「U001」を取得し、当該ユーザ識別子「U001」とモデル識別子「モデルC」とを含むモデル送信指示を構成する。端末送信部64は、当該モデル送信指示をモデル評価装置5に送信する。
【0539】
次に、モデル評価装置5の受信部53は、ユーザ識別子「U001」とモデル識別子「モデルC」とを含むモデル送信指示を受信する。
【0540】
次に、モデル処理部542は、モデル識別子「モデルC」と対になる停止フラグ「0」を取得し、評価停止条件に合致しない、と判断する。
【0541】
次に、モデル処理部542は、モデル識別子「モデルC」と対になる評価プログラムの名称「プログラムγ」を、評価結果管理表(
図25)から取得する。次に、モデル処理部542は、モデル識別子「モデルC」で識別される学習モデルを格納部51から取得する。また、モデル処理部542は、「プログラムγ」で識別される評価プログラムを格納部51から取得する。
【0542】
次に、モデル送信部521は、「田中A男」のユーザ端末6に、学習モデル「モデルC」および評価プログラム「プログラムγ」を送信する。
【0543】
次に、「田中A男」のユーザ端末6の端末受信部65は、モデル評価装置5から学習モデル「モデルC」および評価プログラム「プログラムγ」を受信する。
【0544】
次に、端末実行部631は、受信された評価プログラム「プログラムγ」を実行し、対象データを入力するための画面を出力する。かかる画面例は、
図33である。なお、ここでの対象データを入力するための画面は、画像を撮影するための画面である。また、撮影する画像は、外壁の画像である。
【0545】
次に、「田中A男」は、クラックのある外壁にユーザ端末6のカメラを向けて、
図33の撮影ボタン3301を指示し、当該外壁を撮影した、とする。すると、端末受付部62は、かかる指示を受け付ける。次に、データ取得手段6311は、当該外壁を撮影し、当該外壁の画像を取得し、出力する。その結果、
図34の画面が出力された、とする。
【0546】
次に、「田中A男」は、
図34の予測ボタン3401を指示した、とする。すると、端末受付部62は、かかる指示を受け付ける。次に、予測手段6312は、受信された学習モデル「モデルC」と、撮影された外壁の画像(3402)を取得する。次に、予測手段6312は、学習モデル「モデルC」と画像(3402)とを、機械学習の予測処理を行う予測プログラムに与え、当該プログラムを実行する。その結果、予測手段6312は、予測結果「クラックなし「0」」を取得した、とする。そして、予測手段6312は、当該予測結果を含む画面を出力する。かかる画面例は、
図35である。
図35において、予測対象の対象データの画像(3501)、「クラックなし」の予測結果3502、予測結果が「正解」である場合に指示される「正しい」ボタン3503、および予測結果が「不正解」である場合に指示される「正しくない」ボタン3504を有する。
【0547】
次に、「田中A男」は、予測結果「クラックなし」を見て、「正しくない」ボタン3504を指示した、とする。すると、端末受付部62は、当該「正しくない」ボタン3504の指示を受け付ける。次に、端末実行部631は、正解データを入力するための画面(
図36)を出力する。
図36において、3601は、「クラックあり」または「クラックなし」の正解データを入力するためのチェックボックスである。正解データが、「クラックあり」の場合、ユーザは、3602の画像の中にクラックの領域を矩形で示すこととなる。また、3603は、対象データ、正解データ等を送信するためのボタンである。
【0548】
次に、「田中A男」は、
図36のチェックボックス3601のうちの「クラックあり」にチェックを入力し、かつ撮影画像3602の中のクラックの領域に、矩形を配置した、とする。かかる図は、
図37である。
図37において、破線の矩形3701が、「田中A男」が入力したクラックの領域を示す。次に、「田中A男」は、
図37の送信ボタン3702を指示した、とする。
【0549】
すると、端末受付部62は、正解データ「クラックあり「1」」、および矩形3701の領域を示す位置情報「(X11,Y11)(X12,Y12)」を受け付ける。次に、端末実行部631は、ユーザ識別子「U001」、モデル識別子「モデルC」、結果情報「不正解(0)」、撮影された画像(3703)、および正解データ「クラックあり「1」」と位置情報「(X11,Y11)(X12,Y12)」を含む情報であり、送信される情報を構成する。次に、端末送信部64は、構成された情報をモデル評価装置5に送信する。
【0550】
次に、モデル評価装置5の結果受信部531は、結果情報等を受信する。結果情報等は、ユーザ識別子「U001」、モデル識別子「モデルC」、結果情報「不正解(0)」、撮影された画像(3703)、および正解データ「クラックあり「1」」と位置情報「(X11,Y11)(X12,Y12)」を含む。なお、画像(3701)は、ファイル「壁画像A.jpeg」である、とする。
【0551】
次に、蓄積部541は、受信された結果情報等に対応するモデル識別子「モデルC」を取得する。次に、蓄積部541は、受信された結果情報等をモデル識別子「モデルC」に対応付けて、評価結果管理表(
図25)に蓄積する。かかる蓄積された評価情報は、
図25の「ID=3」のレコードに含まれる最初の評価情報である。また、蓄積部541は、ファイル「壁画像A.jpeg」を格納部51に蓄積する。
【0552】
次に、報償部543は、以下のように「田中A男」に報償を与える。つまり、報償部543は、受信された情報に、対象データも正解データも含まれる、と判断する。次に、報償部543は、受信された結果情報等に対応するモデル識別子「モデルC」に対応する最高の報償単価情報(例えば、200円)を格納部51から取得する。次に、報償部543は、受信された結果情報等と対になるユーザ識別子「U001」を取得する。次に、報償部543は、ユーザ識別子「U001」と対になる報償情報「R
1」(
図9参照)に、取得した報償単価情報(例えば、200円)を加算し、加算した報償情報をユーザ識別子「U001」と対にして蓄積する。かかる処理により、「田中A男」に与える報償情報が増加した。
【0553】
また、他の1以上の各ユーザも、同様に、対象データを撮影し、学習モデル「モデルC」の評価を行い、評価情報をモデル評価装置5に送信した、とする。そして、モデル評価装置5は、受信した各評価情報に対して、上記と同様の処理を行う。
【0554】
以上、本具体例において、学習モデル「モデルC」の評価を1または2以上のユーザに行ってもらい、その情報を収集できる。また、結果情報等の送信により、ユーザに報償を与えることができる。
【0555】
なお、本具体例において、評価プログラム「プログラムγ」が、
図33から
図37の各種の画面を出力する処理を行った、とする。
【0556】
以上、本実施の形態によれば、2以上のユーザにより、機械学習の学習モデルの評価を行えるプラットフォームを提供できる。
【0557】
また、本実施の形態によれば、2以上の各ユーザが学習モデルの評価のために用いた対象データも収集できる。
【0558】
また、本実施の形態によれば、精度の高い学習モデルを構築するための正解データも収集できる。
【0559】
また、本実施の形態によれば、2以上の評価結果に応じた異なる処理を行える。例えば、2以上の評価結果が良好である場合に、当該学習モデルの評価を停止できる。また、例えば、2以上の評価結果が不良である場合に、当該学習モデルの評価をさらに行える。
【0560】
また、本実施の形態によれば、学習モデルを評価したユーザに対して、適切な報償を与えることができる。
【0561】
また、本実施の形態によれば、機械学習の学習モデルの評価を行える端末を提供できる。
【0562】
また、本実施の形態によれば、学習モデルの評価のために用いた対象データを収集するための端末を提供できる。
【0563】
さらに、本実施の形態によれば、学習モデルの評価のために用いた対象データと正解データとを収集するための端末を提供できる。
【0564】
なお、本実施の形態における処理は、ソフトウェアで実現しても良い。そして、このソフトウェアをソフトウェアダウンロード等により配布しても良い。また、このソフトウェアをCD-ROMなどの記録媒体に記録して流布しても良い。なお、このことは、本明細書における他の実施の形態においても該当する。なお、本実施の形態におけるモデル評価装置5を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、学習モデルと当該学習モデルの評価のためのプログラムであり、機械学習の予測処理を行う予測プログラムを含む評価プログラムとが格納される格納部にアクセス可能なコンピュータを、前記学習モデルと前記評価プログラムとを2以上の各ユーザ端末に送信するモデル送信処理を行うモデル送信部と、前記2以上の各ユーザ端末において、前記評価プログラムが前記学習モデルを使用した結果に関する結果情報を、前記2以上の各ユーザ端末から受信する結果受信部と、前記結果受信部が受信した2以上の結果情報を蓄積する蓄積部として機能させるためのプログラムである。
【0565】
また、本実施の形態におけるユーザ端末6を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、コンピュータを、モデル評価装置5から前記学習モデルと前記評価プログラムとを受信する端末受信部と、前記学習モデルを使用する前記評価プログラムを実行し、予測結果を取得する端末実行部と、前記端末実行部が取得した前記予測結果に対する評価である結果情報を受け付ける端末受付部と、前記結果情報を前記モデル評価装置に送信する端末送信部として機能させるためのプログラムである。
【0566】
また、
図38は、本明細書で述べたプログラムを実行して、上述した種々の実施の形態のデータ収集装置1、ユーザ端末2、学習装置3、予測装置4、モデル評価装置5、ユーザ端末2を実現するコンピュータの外観を示す。上述の実施の形態は、コンピュータハードウェア及びその上で実行されるコンピュータプログラムで実現され得る。
図38は、このコンピュータシステム300の概観図であり、
図39は、システム300のブロック図である。
【0567】
図38において、コンピュータシステム300は、CD-ROMドライブを含むコンピュータ301と、キーボード302と、マウス303と、モニタ304とを含む。
【0568】
図39において、コンピュータ301は、CD-ROMドライブ3012に加えて、MPU3013と、CD-ROMドライブ3012等に接続されたバス3014と、ブートアッププログラム等のプログラムを記憶するためのROM3015と、MPU3013に接続され、アプリケーションプログラムの命令を一時的に記憶するとともに一時記憶空間を提供するためのRAM3016と、アプリケーションプログラム、システムプログラム、及びデータを記憶するためのハードディスク3017とを含む。ここでは、図示しないが、コンピュータ301は、さらに、LANへの接続を提供するネットワークカードを含んでも良い。
【0569】
コンピュータシステム300に、上述した実施の形態のデータ収集装置1等の機能を実行させるプログラムは、CD-ROM3101に記憶されて、CD-ROMドライブ3012に挿入され、さらにハードディスク3017に転送されても良い。これに代えて、プログラムは、図示しないネットワークを介してコンピュータ301に送信され、ハードディスク3017に記憶されても良い。プログラムは実行の際にRAM3016にロードされる。プログラムは、CD-ROM3101またはネットワークから直接、ロードされても良い。
【0570】
プログラムは、コンピュータ301に、上述した実施の形態のデータ収集装置1等の機能を実行させるオペレーティングシステム(OS)、またはサードパーティープログラム等は、必ずしも含まなくても良い。プログラムは、制御された態様で適切な機能(モジュール)を呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいれば良い。コンピュータシステム300がどのように動作するかは周知であり、詳細な説明は省略する。
【0571】
なお、上記プログラムにおいて、情報を送信するステップや、情報を受信するステップなどでは、ハードウェアによって行われる処理、例えば、送信ステップにおけるモデムやインターフェースカードなどで行われる処理(ハードウェアでしか行われない処理)は含まれない。
【0572】
また、上記プログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
【0573】
また、上記各実施の形態において、一の装置に存在する2以上の通信手段は、物理的に一の媒体で実現されても良いことは言うまでもない。
【0574】
また、上記各実施の形態において、各処理は、単一の装置によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい。
【0575】
本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。
【産業上の利用可能性】
【0576】
以上のように、本発明にかかるデータ収集装置1は、機械学習の学習モデルを構築するための教師データを収集するためのプラットフォームを提供することにより、大量の教師データが収集可能となるという効果を有し、当該プラットフォームを実現するサーバ等として有用である。
【0577】
また、以上のように、本発明にかかるモデル評価装置5は、2以上のユーザにより、機械学習の学習モデルの評価を行えるプラットフォームを提供できるという効果を有し、モデル評価装置等として有用である。
【符号の説明】
【0578】
1 データ収集装置
2 ユーザ端末
3 学習装置
4 予測装置
11 格納部
12 受信部
13 処理部
14 送信部
21 端末格納部
22 端末受付部
23 端末処理部
24 端末送信部
25 端末受信部
26 端末出力部
31 学習モデル格納部
32 学習部
41 受付部
42 予測部
43 予測結果出力部
111 ユーザ情報格納部
112 元情報格納部
113 教師データ格納部
121 元情報受信部
122 評価結果受信部
131 ユーザ決定部
132 判断部
133 教師データ構成部
134 蓄積部
135 報酬取得部
136 報酬蓄積部
137 ユーザ評価部
138 ユーザ評価出力部
141 元情報送信部
142 他端末送信部
1331 合成手段
1332 教師データ構成手段
5 モデル評価装置
6 ユーザ端末
51 格納部
52 送信部
53 受信部
54 処理部
61 端末格納部
62 端末受付部
63 端末処理部
64 端末送信部
65 端末受信部
66 端末出力部
521 モデル送信部
532 結果受信部
541 蓄積部
542 モデル処理部
543 報償部
545 学習部
631 端末実行部
6311 データ取得手段
6312 予測手段