(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-10-07
(45)【発行日】2024-10-16
(54)【発明の名称】モデルの評価方法及び計算機システム
(51)【国際特許分類】
G06N 20/00 20190101AFI20241008BHJP
G06F 16/35 20190101ALI20241008BHJP
【FI】
G06N20/00 130
G06F16/35
(21)【出願番号】P 2021123995
(22)【出願日】2021-07-29
【審査請求日】2023-12-01
(73)【特許権者】
【識別番号】000233055
【氏名又は名称】株式会社日立ソリューションズ
(74)【代理人】
【識別番号】110001678
【氏名又は名称】藤央弁理士法人
(72)【発明者】
【氏名】松浦 由真
(72)【発明者】
【氏名】真野 将彦
(72)【発明者】
【氏名】西村 涼
(72)【発明者】
【氏名】石田 友樹
【審査官】真木 健彦
(56)【参考文献】
【文献】国際公開第2020/044425(WO,A1)
【文献】特開2020-154684(JP,A)
【文献】国際公開第2016/157467(WO,A1)
【文献】特開2011-170786(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 20/00
G06N 5/045
G06F 16/35
(57)【特許請求の範囲】
【請求項1】
計算機システムが実行する、文書を入力として受け付け、前記文書を用いたタスクを実行することによって分類ラベルを出力するモデルの評価方法であって、
前記計算機システムは、
プロセッサ、前記プロセッサに接続される記憶装置、及び前記プロセッサに接続されるインタフェースを有する、少なくとも一つの計算機を備え、
前記分類ラベルと、人が前記分類ラベルを付与する場合に重要視する着目キーワードとの対応付けを管理する判断根拠情報を保持し、
前記モデルの評価方法は、
前記少なくとも一つの計算機が、入力文書及び正解分類ラベルを含むテストデータを前記モデルに入力する第1のステップと、
前記少なくとも一つの計算機が、前記モデルが前記分類ラベルの出力時に重要視した前記入力文書内の根拠キーワードを特定する第2のステップと、
前記少なくとも一つの計算機が、前記分類ラベルと、前記正解分類ラベルとに基づいて前記モデルの出力の正誤を判定する第3のステップと、
前記少なくとも一つの計算機が、前記根拠キーワードと、前記分類ラベルに対応する前記着目キーワードとに基づいて前記モデルの判断根拠の正誤を判定する第4のステップと、
前記少なくとも一つの計算機が、前記モデルの出力及び前記モデルの判断根拠の正誤の判定結果に基づいて、前記モデルの再学習に使用する学習データ及び前記テストデータの改善指針となる情報を含む評価結果を提示する第5のステップと、
を含むことを特徴とするモデルの評価方法。
【請求項2】
請求項1に記載のモデルの評価方法であって、
前記第5のステップは、前記少なくとも一つの計算機が、前記モデルの出力の正誤及び前記モデルの判断根拠の正誤の判定結果に基づいて、改善対象の前記分類ラベルを示す情報を含む前記評価結果を提示するステップを含むことを特徴とするモデルの評価方法。
【請求項3】
請求項1に記載のモデルの評価方法であって、
前記第2のステップは、
前記少なくとも一つの計算機が、前記モデルの自然言語処理において、前記入力文書に含まれるキーワードの重要度を表す指標を取得するステップと、
前記少なくとも一つの計算機が、前記指標に基づいて、前記入力文書に含まれる前記キーワードの中から前記根拠キーワードを特定するステップと、を含むことを特徴とするモデルの評価方法。
【請求項4】
請求項1に記載のモデルの評価方法であって、
前記少なくとも一つの計算機が、前記判断根拠情報を入力するためのインタフェースを提供するステップを含むことを特徴とするモデルの評価方法。
【請求項5】
計算機システムであって、
プロセッサ、前記プロセッサに接続される記憶装置、及び前記プロセッサに接続されるインタフェースを有する、少なくとも一つの計算機を備え、
文書を入力として受け付け、前記文書を用いたタスクを実行することによって分類ラベルを出力するモデルの情報、及び、前記分類ラベルと、人が前記分類ラベルを付与する場合に重要視する着目キーワードとの対応付けを管理する判断根拠情報を保持し、
前記少なくとも一つの計算機は、
入力文書及び正解分類ラベルを含むテストデータを前記モデルに入力し、
前記モデルが前記分類ラベルの出力時に重要視した前記入力文書内の根拠キーワードを特定し、
前記分類ラベルと、前記正解分類ラベルとに基づいて前記モデルの出力の正誤を判定し、
前記根拠キーワードと、前記分類ラベルに対応する前記着目キーワードとに基づいて前記モデルの判断根拠の正誤を判定し、
前記モデルの出力及び前記モデルの判断根拠の正誤の判定結果に基づいて、前記モデルの再学習に使用する学習データ及び前記テストデータの改善指針となる情報を含む評価結果を提示することを特徴とする計算機システム。
【請求項6】
請求項5に記載の計算機システムであって、
前記少なくとも一つの計算機は、前記モデルの出力の正誤及び前記モデルの判断根拠の正誤の判定結果に基づいて、改善対象の前記分類ラベルを示す情報を含む前記評価結果を提示することを特徴とする計算機システム。
【請求項7】
請求項5に記載の計算機システムであって、
前記少なくとも一つの計算機は、
前記モデルの自然言語処理において、前記入力文書に含まれるキーワードの重要度を表す指標を取得し、
前記指標に基づいて、前記入力文書に含まれる前記キーワードの中から前記根拠キーワードを特定することを特徴とする計算機システム。
【請求項8】
請求項5に記載の計算機システムであって、
前記少なくとも一つの計算機は、前記判断根拠情報を入力するためのインタフェースを提供することを特徴とする計算機システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、自然言語処理を行うモデルの生成に使用する学習データの改善技術に関する。
【背景技術】
【0002】
自然言語処理の分野では、テキストデータを解析し、意味解釈及び分類等を行うAI(モデル)の開発が行われている。モデルは機械学習によって生成される。
【0003】
機械学習では、大量の学習データを用いた演算が実行される。従来の機械学習では、学習データを用意するコストが高く、また、学習データの数を増やしてもモデルの予測精度が必ずしも向上しないという課題がある。高い予測精度のモデルを生成するためには、予測精度の向上効果が大きい質の高い学習データを用意する必要がある。これに対して、特許文献1に記載の技術が知られている。
【0004】
特許文献1には「本発明は、所定の表示を行う表示部6と、力学モデルを用いて、自然言語分析の対象となる学習データについてノードの最適配置を算出するノード最適配置算出処理部2bと、ノード最適配置算出処理部2bによる算出結果に基づいて上記学習データを可視化して表示部6に表示するよう制御する表示制御部2eとを備えた学習データ精度可視化システム」が開示されている。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【発明が解決しようとする課題】
【0006】
特許文献1に記載の技術では、モデルへの入力(質問)と、モデルからの出力(回答)との相関関係を可視化して、ユーザによる学習データの修正を支援している。
【0007】
自然言語処理を実行するモデルの予測精度を向上させるためには、自然言語に対する人の思考と同様の処理を行うアルゴリズムを獲得する必要である。したがって、モデルの出力だけではなく、アルゴリズムの正しさも考慮して学習データを改善する必要がある。ここで、学習データの改善とは、学習データの修正及び学習データの追加を含む概念である。
【0008】
また、モデルの予測精度は、モデルを評価するテストデータの質にも依存するため、テストデータの改善も重要である。
【0009】
従来技術では、アルゴリズムの正しさは考慮されておらず、また、テストデータの改善についても考慮されていない。
【0010】
本発明は、モデルの出力及びアルゴリズムの正しさを考慮して、学習データ及びテストデータの改善を支援するシステム及び方法を提供することを目的とする。
【課題を解決するための手段】
【0011】
本願において開示される発明の代表的な一例を示せば以下の通りである。すなわち、計算機システムが実行する、文書を入力として受け付け、前記文書を用いたタスクを実行することによって分類ラベルを出力するモデルの評価方法であって、前記計算機システムは、プロセッサ、前記プロセッサに接続される記憶装置、及び前記プロセッサに接続されるインタフェースを有する、少なくとも一つの計算機を備え、前記分類ラベルと、人が前記分類ラベルを付与する場合に重要視する着目キーワードとの対応付けを管理する判断根拠情報を保持し、前記モデルの評価方法は、前記少なくとも一つの計算機が、入力文書及び正解分類ラベルを含むテストデータを前記モデルに入力する第1のステップと、前記少なくとも一つの計算機が、前記モデルが前記分類ラベルの出力時に重要視した前記入力文書内の根拠キーワードを特定する第2のステップと、前記少なくとも一つの計算機が、前記分類ラベルと、前記正解分類ラベルとに基づいて前記モデルの出力の正誤を判定する第3のステップと、前記少なくとも一つの計算機が、前記根拠キーワードと、前記分類ラベルに対応する前記着目キーワードとに基づいて前記モデルの判断根拠の正誤を判定する第4のステップと、前記少なくとも一つの計算機が、前記モデルの出力及び前記モデルの判断根拠の正誤の判定結果に基づいて、前記モデルの再学習に使用する学習データ及び前記テストデータの改善指針となる情報を含む評価結果を提示する第5のステップと、を含む。
【発明の効果】
【0012】
本発明によれば、モデルの出力及び判断根拠の正しさを考慮した学習データ及びテストデータの改善指針を提示することによって、学習データ及びテストデータの改善を支援できる。ユーザは、改善指針に基づいて、学習データ及びテストデータの少なくともいずれかを改善することによって、予測精度の高いモデルを生成することができる。
【図面の簡単な説明】
【0013】
【
図1】実施例1のシステムの構成例を示す図である。
【
図2】実施例1の計算機システムを構成する計算機のハードウェア構成の一例を示す図である。
【
図3A】実施例1の学習データのデータ構造の一例を示す図である。
【
図3B】実施例1のテストデータのデータ構造の一例を示す図である。
【
図4A】実施例1の学習データセットを管理するための情報のデータ構造の一例を示す図である。
【
図4B】実施例1のテストデータセットを管理するための情報のデータ構造の一例を示す図である。
【
図5】実施例1の判断根拠情報に格納されるデータのデータ構造の一例を示す図である。
【
図6A】実施例1のモデル管理情報に格納されるデータのデータ構造の一例を示す図である。
【
図6B】実施例1のモデル管理情報に格納されるデータのデータ構造の一例を示す図である。
【
図6C】実施例1のモデル管理情報に格納されるデータのデータ構造の一例を示す図である。
【
図7】実施例1のシステムの処理の流れを説明するシーケンス図である。
【
図8】実施例1の計算機システムが実行する学習/評価処理を説明するフローチャートである。
【発明を実施するための形態】
【0014】
以下、本発明の実施例を、図面を用いて説明する。ただし、本発明は以下に示す実施の形態の記載内容に限定して解釈されるものではない。本発明の思想ないし趣旨から逸脱しない範囲で、その具体的構成を変更し得ることは当業者であれば容易に理解される。
【0015】
以下に説明する発明の構成において、同一又は類似する構成又は機能には同一の符号を付し、重複する説明は省略する。
【実施例1】
【0016】
図1は、実施例1のシステムの構成例を示す図である。
図2は、実施例1の計算機システムを構成する計算機のハードウェア構成の一例を示す図である。
図3Aは、実施例1の学習データのデータ構造の一例を示す図である。
図3Bは、実施例1のテストデータのデータ構造の一例を示す図である。
【0017】
システムは、計算機システム100及び端末101から構成される。計算機システム100及び端末101は、直接又は図示しないネットワークを介して互いに接続される。ネットワークは、例えば、WAN(Wide Area Network)及びLAN(Local Area Network)等であり、接続方式は有線及び無線のいずれでもよい。
【0018】
端末101は、計算機システム100を利用するユーザが操作する端末である。端末101は、図示しない、プロセッサ、メモリ、及びネットワークインタフェースを有する。
【0019】
計算機システム100は、問い合わせ及び報告書等のテキストデータを解析し、解析結果に基づいてテキストデータの分類及び二つのテキストデータの含有判定のいずれかのタスクを実行し、分類ラベルを出力する。テキストデータの分類では、例えば、テキスト内容が関連する業務分野が特定され、特定された分野を示す分類ラベルがテキストデータに付与される。テキストデータの含有判定では、例えば、二つのテキストの類似性等が判定され、類似又は非類似のいずれかを示す分類ラベルがテキストデータに付与される。
【0020】
計算機システム100は、
図2に示すような計算機200から構成される。なお、計算機システム100は、ストレージシステム及びネットワークスイッチ等を含んでもよい。
【0021】
計算機200は、プロセッサ201、主記憶装置202、副記憶装置203、及びネットワークインタフェース204を有する。
【0022】
プロセッサ201は、主記憶装置202に格納されるプログラムを実行する。プロセッサ201がプログラムにしたがって処理を実行することによって、特定の機能を実現する機能部(モジュール)として動作する。以下の説明では、機能部を主語に処理を説明する場合、プロセッサ201が当該機能部を実現するプログラムを実行していることを示す。主記憶装置202は、メモリ等であり、プロセッサ201が実行するプログラム及びプログラムが使用するデータを格納する。主記憶装置202は、ワークエリアとしても用いられる。副記憶装置203は、HDD(Hard Disk Drive)及びSSD(Solid State Drive)等であり、データを永続的に格納する。主記憶装置202に格納されるプログラム及びデータは、副記憶装置203に格納されてもよい。この場合、プロセッサ201が副記憶装置203からプログラム及びデータを読み出し、主記憶装置202にロードする。ネットワークインタフェース204は、ネットワークを介して他の装置と通信する。
【0023】
なお、計算機200は、キーボード、マウス、及びタッチパネル等の入力装置、並びにディスプレイ及びプリンタ等の出力装置と接続するIOインタフェースを有してもよい。
【0024】
計算機システム100は、機能部として、学習部110、予測部111、API112、及びデータ記憶部113を有する。
【0025】
API112は、端末101に対して、計算機システム100の各種機能を利用するためのインタフェースを提供する。端末101は、API112を介して、データセットの登録及び更新、並びに学習処理の実行等を行う。本実施例では、ユーザは、端末101を用いて、判断根拠情報120を入力する。判断根拠情報120は、タスクにおけるモデルの判断根拠となるキーワードに関する情報である。判断根拠情報120の詳細は
図5を用いて説明する。
【0026】
データ記憶部113は、一つ以上の学習データセット130及び一つ以上のテストデータセット140を記憶し、管理する。
【0027】
学習データセット130は、一つ以上の学習データ131から構成される。学習データ131は、モデルを生成するための学習処理に用いられるデータであり、
図3Aに示すように、データID301、テキストデータ302、及び分類ラベル303を含む。なお、学習データ131は、前述した以外のフィールドを含んでもよい。
【0028】
データID301は、学習データ131の識別情報を格納するフィールドである。テキストデータ302は、モデルに入力するテキストデータを格納するフィールドである。タスクが分類の場合、テキストデータ302には一つのテキストデータが格納され、タスクが含有判定の場合、テキストデータ302には二つのテキストデータが格納される。分類ラベル303は、テキストデータに対するタスクの実行によって出力される分類ラベルの正解値を格納するフィールドである。テキストデータの分類では、分類ラベル303には業務分野等が格納され、テキストデータの含有判定では、分類ラベル303には類似又は非類似等が格納される。
【0029】
テストデータセット140は、一つ以上のテストデータ141から構成される。テストデータ141は、モデルの予測精度を評価するために用いられるデータであり、
図3Bに示すように、データID311、テキストデータ312、及び分類ラベル313を含む。なお、テストデータ141は、前述した以外のフィールドを含んでもよい。
【0030】
データID311は、テストデータ141の識別情報を格納するフィールドである。テキストデータ312は、モデルに入力するテキストデータを格納するフィールドである。タスクが分類の場合、テキストデータ312には一つのテキストデータが格納され、タスクが含有判定の場合、テキストデータ312には二つのテキストデータが格納される。分類ラベル313は、テキストデータに対するタスクの実行によって出力される分類ラベルの正解値を格納するフィールドである。テキストデータの分類では、分類ラベル303には業務分野等が格納され、テキストデータの含有判定では、分類ラベル303には類似又は非類似等が格納される。
【0031】
なお、学習データセット130から一部の学習データ131を選択し、テストデータセット140を生成してもよい。
【0032】
以下の説明では、学習データセット130及びテストデータセット140を区別しない場合、データセットと記載する。
【0033】
学習部110は、タスクを行うためのモデルを生成するための学習処理を実行する。また、学習部110は、モデルの評価処理を実行する。学習部110は、学習処理及び評価処理の結果をモデル管理情報121に格納する。モデル管理情報121の詳細は
図6A、
図6B、及び
図6Cを用いて説明する。
【0034】
予測部111は、モデル管理情報121に格納されるモデルの情報を用いて、入力されたテキストデータに対してタスクを実行する。
【0035】
なお、計算機システム100が有する各機能部については、複数の機能部を一つの機能部にまとめてもよいし、一つの機能部を機能毎に複数の機能部に分けてもよい。
【0036】
図4Aは、実施例1の学習データセット130を管理するための情報のデータ構造の一例を示す図である。
図4Bは、実施例1のテストデータセット140を管理するための情報のデータ構造の一例を示す図である。
【0037】
データ記憶部113は、
図4Aに示すデータセット管理データ400を用いて学習データセット130を管理し、また、
図4Bに示すデータセット管理データ410を用いてテストデータセット140を管理する。一つの学習データセット130に対して一つのデータセット管理データ400が存在し、また、一つのテストデータセット140に対して一つのデータセット管理データ410が存在する。
【0038】
データセット管理データ400は、学習データセット名401、タスク402、及びリスト403を含む。なお、データセット管理データ400は、前述以外のフィールドを含んでもよい。
【0039】
学習データセット名401は、学習データセット130の識別情報である名称を格納するフィールドである。タスク402は、学習データセット130を用いて生成されるモデルが実行するタスクの種別を格納するフィールドである。リスト403は、学習データセット130を構成する学習データ131の識別情報のリストを格納するフィールドである。なお、識別情報のリストの代わりに、学習データ131そのものが格納されてもよい。
【0040】
データセット管理データ410は、テストデータセット名411、タスク412、及びリスト413を含む。なお、データセット管理データ410は、前述以外のフィールドを含んでもよい。
【0041】
テストデータセット名411は、テストデータセット140の識別情報である名称を格納するフィールドである。タスク412は、評価対象のモデルが実行するタスクの種別を格納するフィールドである。リスト413は、テストデータセット140を構成するテストデータ141の識別情報のリストを格納するフィールドである。なお、識別情報のリストの代わりに、テストデータ141そのものが格納されてもよい。
【0042】
図5は、実施例1の判断根拠情報120に格納されるデータのデータ構造の一例を示す図である。
【0043】
判断根拠情報120は、一つ以上の判断根拠データ500を含む。一つの分類ラベルに対して一つの判断根拠データ500が存在する。判断根拠データ500は、分類ラベル501及びキーワード502を含む。
【0044】
分類ラベル501は分類ラベルを格納するフィールドである。キーワード502は、分類ラベルを付与する場合に、ユーザが重要視するキーワードを格納するフィールドである。すなわち、人の判断根拠を示すデータが格納される。
【0045】
図6A、
図6B、及び
図6Cは、実施例1のモデル管理情報121に格納されるデータのデータ構造の一例を示す図である。
【0046】
モデル管理情報121は、一つ以上のモデルデータ600を含む。一つのモデルに対して一つのモデルデータ600が存在する。モデルデータ600は、モデル名601、タスク602、モデルパラメータ603、学習パラメータ604、学習データセット名605、テストデータセット名606、ステータス607、有効フラグ608、精度評価指標609、及び評価結果610を含む。なお、モデルデータ600は、前述以外のフィールドを含んでもよい。
【0047】
モデル名601は、モデルの識別情報である名称を格納するフィールドである。
【0048】
タスク602は、モデルが実行するタスクの種別を格納するフィールドである。
【0049】
モデルパラメータ603は、モデルを定義するパラメータを格納するである。学習処理の開始時には、モデルパラメータ603には、初期モデルのパラメータが格納される。例えば、BERT(Bidirectional Encoder Representations from Transformers)の場合、モデルパラメータ603には、事前学習で生成されたモデルのパラメータが格納される。
【0050】
学習パラメータ604は、学習処理を制御するためのハイパーパラメータを格納するフィールドである。
【0051】
学習データセット名605は、学習処理に使用する学習データセット130の名称を格納するフィールドである。なお、学習データセット名605には、学習データセット130から取得する学習データ131の数が格納されてもよい。
【0052】
テストデータセット名606は、評価処理に使用するテストデータセット140の名称を格納するフィールドである。なお、テストデータセット名606には、テストデータセット140から取得するテストデータ141の数が格納されてもよい。
【0053】
ステータス607は、学習処理の実行状態を示す値を格納するフィールドである。例えば、ステータス607には、学習前、学習中、及び学習完了等が格納される。
【0054】
有効フラグ608は、予測部111が使用するモデルとして有効化されているか否かを示すフラグを格納する。例えば、有効フラグ608には、モデルが有効化されていることを示すTrue、及びモデルが無効化されていることを示すFalse等が格納される。
【0055】
精度評価指標609は、モデルの予測精度を評価するための指標の値を格納するフィールドである。例えば、精度評価指標609には、正解率、再現率、適合率、及びF値等が格納される。
【0056】
評価結果610は、評価処理の結果を格納するフィールドである。評価結果610には、
図6Bに示すような評価結果データ650が格納される。一つのテストデータ141に対して一つの評価結果データ650が存在する。
【0057】
評価結果データ650は、データID651、分類ラベル652、確信度653、分類ラベル正誤654、モデル判断根拠655、及び判断根拠正誤656を含む。なお、評価結果データ650は、前述以外のフィールドを含んでもよい。
【0058】
データID651はデータID311と同一のフィールドである。
【0059】
分類ラベル652は、テストデータ141をモデルに入力することによって得られた分類ラベルを格納するフィールドである。
【0060】
確信度653は、モデルが出力した分類ラベルの確信度(確率)を格納するフィールドである。
【0061】
分類ラベル正誤654は、テストデータ141の分類ラベル313の値と、分類ラベル652の値とが一致するか否かを示す値を格納するフィールドである。例えば、分類ラベル正誤654には、二つの値が一致していることを示すTrue、及び二つの値が一致していないことを示すFalse等が格納される。
【0062】
モデル判断根拠655は、モデルが分類ラベルを出力する場合に重要視したキーワードに関する情報を格納するフィールド群である。すなわち、モデルの判断根拠を示すデータが格納される。モデル判断根拠655は、トークンリスト661及びアテンションリスト662を含む。
図6Cに示すように、トークンリスト661には、テキストデータから抽出された単語等の文字列のリストが格納される。アテンションリスト662には、トークンリスト661に格納される文字列の重要度のリストが格納される。なお、文字列の重要度は、アテンション機構及びSHAP(SHapley Additive exPlanations)等、公知の技術を用いて算出される値である。
【0063】
判断根拠正誤656は、ユーザの判断根拠及びモデルの判断根拠が一致するか否かを示す値を格納するフィールドである。例えば、分類ラベル正誤654には、ユーザ及びモデルの判断根拠が一致していることを示すTrue、及びユーザ及びモデルの判断根拠が一致していないことを示すFalse等が格納される。
【0064】
図7は、実施例1のシステムの処理の流れを説明するシーケンス図である。
【0065】
実施例1のシステムでは、データセットの登録、モデルの生成及び評価、並びに、学習データセット130の更新の三つの処理フェーズが存在する。
【0066】
ユーザは、端末101を操作して、学習データセット130及びテストデータセット140の少なくともいずれかを設定するためのデータセット登録要求を計算機システム100に送信する(ステップS101)。データセット登録要求には、データセットの名称、タスクの種別、及びデータセットに含めるデータ等が含まれる。
【0067】
データ記憶部113は、API112を介して、データセット登録要求を受信した場合、データセットを記憶領域に登録し(ステップS102)、完了通知を端末101に送信する(ステップS103)。このとき、データ記憶部113は、データセットに対応したデータセット管理データ400及びデータセット管理データ410の少なくともいずれかを生成する。
【0068】
ユーザは、端末101を操作して、学習実行要求を計算機システム100に送信する(ステップS111)。学習実行要求には、モデルの名称、学習データセット130の名称、テストデータセット140の名称、学習パラメータ、及び判断根拠情報120が含まれる。
【0069】
学習部110は、API112を介して、学習実行要求を受信した場合、学習/評価処理を実行する(ステップS112)。学習/評価処理の詳細は
図8を用いて説明する。
【0070】
学習部110は、学習/評価処理が終了した場合、API112を介して、完了通知を端末101に送信する(ステップS113)。
【0071】
ユーザは、端末101を操作して、評価結果を取得するための取得要求を計算機システム100に送信する(ステップS114)。
【0072】
学習部110は、API112を介して、取得要求を受信した場合、評価情報を生成し、評価情報を端末101に送信する(ステップS115)。評価情報は、例えば、精度評価指標の値及び評価結果データ650を含む。なお、評価情報には、分類ラベル正誤654がFalseの評価結果データ650のみを含めてもよい。
【0073】
ユーザは、評価情報を参照して、データセットの更新方法を決定する。例えば、モデルの分類ラベル及び判断根拠の両方に誤りがある場合、ユーザは、モデルが判断根拠として指定した文字列を正しく認識できないと判断し、文字列に関連する学習データ131を追加する。また、判断根拠は正しいが、モデルの分類ラベルが誤っている場合、ユーザは、テストデータ141に誤りがあると判断し、テストデータ141を修正する。
【0074】
なお、学習部110が、前述のような判定を行って、判定結果を評価情報に含めてもよい。
【0075】
ユーザは、データセットの更新方法を決定した後、端末101を操作して、データセットの更新内容を含むデータセット更新要求を計算機システム100に送信する(ステップS121)。
【0076】
データ記憶部113は、API112を介して、データセット更新要求を受信した場合、更新対象のデータセットを更新し(ステップS122)、完了通知を端末101に送信する(ステップS123)。このとき、データ記憶部113は、データセットに対応したデータセット管理データ400及びデータセット管理データ410の少なくともいずれかを更新する。
【0077】
ユーザは、データセットを更新した後、端末101を操作して、学習実行要求を計算機システム100に送信する(ステップS111)。
【0078】
図8は、実施例1の計算機システム100が実行する学習/評価処理を説明するフローチャートである。
【0079】
学習部110は、モデルデータ600を生成し、判断根拠情報120をワークエリアに保存する(ステップS201)。
【0080】
具体的には、学習部110は、学習実行要求に含まれる情報に基づいて、モデルデータ600のモデル名601、タスク602、学習パラメータ604、学習データセット名605、及びテストデータセット名606の各々に値を設定する。また、学習部110は、モデルデータ600のステータス607に「学習前」を設定する。
【0081】
次に、学習部110は、ユーザによって指定された学習データセット130から学習データ131を取得する(ステップS202)。なお、学習データセット130の全ての学習データ131を取得してもよいし、所定の数の学習データ131を取得してもよい。
【0082】
次に、学習部110は、学習データ131及び学習パラメータ等を用いて、モデルを生成するための学習処理を実行する(ステップS203)。学習処理は公知の技術であるため詳細な説明は省略する。なお、本発明は、学習するモデルの種別及び学習の手法に限定されない。
【0083】
学習部110は、学習処理の開始時に、モデルデータ600のステータス607を「学習中」に更新し、事前学習で生成されたモデルの情報をモデルパラメータ603に設定する。学習部110は、学習処理が終了した場合、モデルデータ600のステータス607を「学習完了」に更新し、モデルパラメータ603に生成されたモデルのパラメータを設定する。
【0084】
次に、学習部110は、ユーザによって指定されたテストデータセット140からテストデータ141を取得する(ステップS204)。なお、テストデータセット140の全てのテストデータ141を取得してもよいし、所定の数のテストデータ141を取得してもよい。
【0085】
次に、学習部110は、取得したテストデータ141を用いて評価処理を開始する(ステップS205)。学習部110は、取得したテストデータ141の中から一つのテストデータ141を選択する。
【0086】
次に、学習部110は、学習処理によって生成されたモデルにテストデータを入力し、モデルから出力を取得する(ステップS206)。モデルから取得する出力には、分類ラベル、確信度、及びモデル判断根拠データ(トークンリスト及びアテンションリスト)が含まれる。
【0087】
次に、学習部110は、モデル判断根拠データに基づいて、モデルが重要視したキーワードを特定する(ステップS207)。例えば、アテンションの値が最も大きいキーワード、又は、アテンションの値が閾値より大きいキーワードが特定される。
【0088】
次に、学習部110は、分類ラベル及び判断根拠の正誤を判定する(ステップS208)。具体的には、以下のような処理が実行される。
【0089】
(S208-1)学習部110は、テストデータ141の分類ラベル313の値と、モデルが出力した分類ラベルとを比較することによって、分類ラベルの正誤を判定する。すなわち、モデルの出力の正しさが評価される。
【0090】
(S208-2)学習部110は、判断根拠情報120を参照して、分類ラベル501がテストデータ141の分類ラベル313に一致する判断根拠データ500を検索する。学習部110は、特定されたキーワードと、検索された判断根拠データ500のキーワード502に設定されるキーワードとを比較することによって、判断根拠の正誤を判定する。すなわち、モデルのアルゴリズムの正しさが評価される。
【0091】
例えば、特定されたキーワードと、キーワード502に設定されるキーワードとが完全に一致する場合、又は、特定されたキーワードがキーワード502に設定されるキーワードに含まれる場合、学習部110は人の判断根拠とモデルの判断根拠とが一致する、と判定する。
【0092】
以上が、ステップS208の処理の説明である。
【0093】
次に、学習部110は、評価結果データ650を生成する(ステップS209)。
【0094】
具体的には、学習部110は、データID651にテストデータ141の識別情報が設定された評価結果データ650を生成する。また、学習部110は、モデルデータ600の評価結果610に評価結果データ650を格納する。
【0095】
次に、学習部110は、取得した全てのテストデータ141について処理が完了したか否かを判定する(ステップS210)。
【0096】
取得した全てのテストデータ141について処理が完了していない場合、学習部110は、ステップS205に戻り、同様の処理を実行する。
【0097】
取得した全てのテストデータ141について処理が完了した場合、学習部110は、精度評価指標を算出する(ステップS211)。このとき、学習部110は、モデルデータ600の精度評価指標609に算出された精度評価指標を設定する。
【0098】
次に、学習部110は、終了条件を満たすか否かを判定する(ステップS212)。例えば、精度評価指標が閾値より大きい場合、又は、学習処理の実行回数が閾値より大きい場合、学習部110は終了条件を満たすと判定する。
【0099】
終了条件を満たさないと判定された場合、学習部110は、ステップS202に戻り、同様の処理を実行する。このとき、学習部110は、モデルデータ600の精度評価指標609及び評価結果610を初期化する。
【0100】
終了条件を満たすと判定された場合、学習部110は、学習/評価処理を終了する。
【0101】
本発明によれば、計算機システム100は、人の判断根拠及びモデルの判断根拠を比較することによってモデルのアルゴリズムの正しさを評価し、ユーザに提示できる。ユーザは、モデルの出力及びアルゴリズムの正しさを考慮して学習データ及びテストデータの改善を行うことができる。これによって、高い予測精度のモデルを生成することができる。
【0102】
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。また、例えば、上記した実施例は本発明を分かりやすく説明するために構成を詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、実施例の構成の一部について、他の構成に追加、削除、置換することが可能である。
【符号の説明】
【0103】
100 計算機システム
101 端末
110 学習部
111 予測部
112 API
113 データ記憶部
120 判断根拠情報
121 モデル管理情報
130 学習データセット
131 学習データ
140 テストデータセット
141 テストデータ
200 計算機
201 プロセッサ
202 主記憶装置
203 副記憶装置
204 ネットワークインタフェース
400、410 データセット管理データ
500 判断根拠データ
600 モデルデータ
650 評価結果データ