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

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

▶ 株式会社Sphiaの特許一覧

特開2024-6879情報処理システム、情報処理方法およびプログラム
<>
  • 特開-情報処理システム、情報処理方法およびプログラム 図1
  • 特開-情報処理システム、情報処理方法およびプログラム 図2
  • 特開-情報処理システム、情報処理方法およびプログラム 図3
  • 特開-情報処理システム、情報処理方法およびプログラム 図4
  • 特開-情報処理システム、情報処理方法およびプログラム 図5
  • 特開-情報処理システム、情報処理方法およびプログラム 図6
  • 特開-情報処理システム、情報処理方法およびプログラム 図7
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024006879
(43)【公開日】2024-01-17
(54)【発明の名称】情報処理システム、情報処理方法およびプログラム
(51)【国際特許分類】
   G06N 20/00 20190101AFI20240110BHJP
【FI】
G06N20/00 130
【審査請求】未請求
【請求項の数】1
【出願形態】OL
(21)【出願番号】P 2022178708
(22)【出願日】2022-11-08
(31)【優先権主張番号】P 2022541632
(32)【優先日】2022-06-29
(33)【優先権主張国・地域又は機関】JP
(71)【出願人】
【識別番号】720009778
【氏名又は名称】株式会社Sphia
(74)【代理人】
【識別番号】110002871
【氏名又は名称】弁理士法人坂本国際特許商標事務所
(72)【発明者】
【氏名】鈴木 光悠
(57)【要約】
【課題】作業負担を抑制しつつ、因子の抽出精度を向上させる。
【解決手段】一の予測対象の母集団の一部であるアノテーション対象に対するアノテーション結果を取得する入力取得部と、入力取得部によりアノテーション結果が取得されると、アノテーション結果に基づく学習により、予測モデルを構築する予測部と、母集団に対して、アノテーションが必要なサンプル数と、正例の件数又は予測モデルによる予測精度との関係を統計的に算出する算出部と、算出部により算出されたサンプル数に応じた数のサンプルをランダムサンプリングし、アノテーションが行われたランダムサンプリング結果と、関係とに基づいて、母集団における正例の件数又は予測精度を算出する処理部と、を備え、処理部は、処理部による正例の件数又は予測精度の算出結果に基づいて、母集団における新たなアノテーション対象に対する予測モデルによる予測結果に対して行うべき修正の件数を表す情報を生成する、情報処理システムが開示される。
【選択図】図1
【特許請求の範囲】
【請求項1】
一の予測対象の母集団の一部であるアノテーション対象に対するアノテーション結果を取得する入力取得部と、
前記入力取得部により前記アノテーション結果が取得されると、前記アノテーション結果に基づく学習により、予測モデルを構築する予測部と、
前記母集団に対して、アノテーションが必要なサンプル数と、正例の件数又は前記予測モデルによる予測精度との関係を統計的に算出する算出部と、
前記算出部により算出された前記サンプル数に応じた数のサンプルをランダムサンプリングし、アノテーションが行われたランダムサンプリング結果と、前記関係とに基づいて、前記母集団における前記正例の件数又は前記予測精度を算出する処理部と、を備え、
前記処理部は、前記処理部による前記正例の件数又は前記予測精度の算出結果に基づいて、前記母集団における新たなアノテーション対象に対する前記予測モデルによる予測結果に対して行うべき修正の件数を表す情報を生成する、情報処理システム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、情報処理システム、情報処理方法およびプログラムに関する。
【背景技術】
【0002】
正例学習データおよび負例学習データを用いた学習に基づいてモデルを生成する物件検索支援システムが開示されている(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2020-119413号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
学習に基づいて因子を抽出するモデルを生成するに際し、学習の対象となるサンプル数を増やすことにより、情報処理精度を高めることができる。しかし、因子を網羅的かつ正確に抽出するためには、多数のサンプルに対してアノテーションをする作業が必要となり、その負担が増大する。また、必要な抽出精度を確保するために、どの程度のサンプル数を用意すればよいのか、基準が明確でないという問題がある。
【課題を解決するための手段】
【0005】
本開示の一局面によれば、一の予測対象の母集団の一部であるアノテーション対象に対するアノテーション結果を取得する入力取得部と、
前記入力取得部により前記アノテーション結果が取得されると、前記アノテーション結果に基づく学習により、予測モデルを構築する予測部と、
前記母集団に対して、アノテーションが必要なサンプル数と、正例の件数又は前記予測モデルによる予測精度との関係を統計的に算出する算出部と、
前記算出部により算出された前記サンプル数に応じた数のサンプルをランダムサンプリングし、アノテーションが行われたランダムサンプリング結果と、前記関係とに基づいて、前記母集団における前記正例の件数又は前記予測精度を算出する処理部と、を備え、
前記処理部は、前記処理部による前記正例の件数又は前記予測精度の算出結果に基づいて、前記母集団における新たなアノテーション対象に対する前記予測モデルによる予測結果に対して行うべき修正の件数を表す情報を生成する、情報処理システムが提供される。
【発明の効果】
【0006】
本開示によれば、作業負担を抑制しつつ、因子の抽出精度を向上させることができる。
【図面の簡単な説明】
【0007】
図1】一実施例の情報処理システムの構成を示す図である。
図2】因子の抽出対象となる母集団が複数の文章であり、抽出すべき因子が「不安定狭心症」である場合に適用される検索条件の例を示す図である。
図3】情報処理システムにおける処理を例示するフローチャートである。
図4】アノテーションが行われたサンプルにおける因子の抽出精度を示す評価指標を算出する処理を例示するフローチャートである。
図5】アノテーションが行われていない文章に対する因子の抽出精度を示す評価指標を算出する処理を例示するフローチャートである。
図6】予測結果修正処理を例示するフローチャートである。
図7】他の実施例の情報処理システムにおける処理を例示するフローチャートである。
【発明を実施するための形態】
【0008】
(第1の実施例)
図1は、一実施例の情報処理システムの構成を示す図である。
【0009】
図1に示すように、本実施例の情報処理システム10は、因子の抽出対象を格納する第1の記憶部11と、学習により得られるモデル(学習済みモデル)を用いて、第1の記憶部11に格納された因子の抽出対象から因子を抽出する予測部12と、因子の抽出対象とアノテーション結果(二値分類の場合は正例、負例フラグ)との対応付けを記憶する第2の記憶部13と、予測部12による因子抽出の予測結果および予測部12により得られる予測に関連する情報を記憶する第3の記憶部14と、を備える。
【0010】
また、情報処理システム10は、入力操作を受け付ける受付部21と、受付部21により受け付けられたユーザの回答や指示に従った処理、およびその他の種々の処理を実行する処理部22を備える。なお、受付部21は、後述する予測部12に対する入力を取得する入力取得部としても機能してよい。この場合、受付部21は、適宜、複数のユーザ(例えばアノテーターや検収者)からの入力を取得してもよい。
【0011】
情報処理システム10は、プログラムにより動作するコンピュータとしてのサーバ(ユーザがアクセス可能なサーバ)またはユーザ端末により構成することができる。また、情報処理システム10は、サーバと、サーバにネットワークを介して接続可能なユーザ端末との組み合わせにより構成することもできる。この場合、ネットワークは、無線通信網、インターネット、VPN(Virtual Private Network)、WAN(Wide Area Network)、有線ネットワーク、又はこれらの任意の組み合わせ等を含んでもよい。また、いずれの場合においても、サーバは1以上の任意の数のコンピュータにより構成されてもよく、ユーザ端末も1以上の任意の数のコンピュータにより構成されてもよい。
【0012】
予測部12における学習では、入力データ(抽出対象、因子)によってアーキテクチャやパラメータの最適な組み合わせは変わるので、探索により最適な組み合わせを見つけ、当該組み合わせを設定することができる。複数のアーキテクチャやパラメータが選択可能とされてもよい。
【0013】
アーキテクチャとしては、以下の(1)固定長のベクトルへの特徴抽出を行った後にモデルを学習する手法と、(2)特徴抽出せずにモデルを学習(深層学習)する手法に分類できる。なお、公知のように、特徴抽出は、ある入力データを固定長のベクトルに変換する処理をいう。
【0014】
上記(1)の特徴抽出を行った後にモデルを学習(機械学習)する手法における特徴抽出の手法としては、GPT3、BERT、ALBERT、XLNEX、ELMoなどがある。
【0015】
これらの手法では、パラメータに複数通りの組み合わせがある。また、特徴抽出における階層を任意の層数に設定できる。さらに、活性化関数を任意の関数に設定できる。
【0016】
また、上記(1)における学習の手法としては、ロジスティック回帰、サポートベクターマシーン、決定木、ランダムフォレスト、XGBoostなどの勾配ブースティング木、畳み込みニューラルネットワーク(CNN)、再起型ニューラルネットワーク(RNN)、残差ネットワーク(ResNet)、ナイーブベイズ、状態空間モデルなどがある。
【0017】
一般に、画像や音声、自然言語などの非構造化データでは、データの種類によりデータ量(例えば、画像の場合であれば画素数やRGBの階調数)が異なるため、特徴の抽出が難しく効率的に学習を行うことができない。しかし、上記(2)の深層学習を適用し、固定長に変換することにより、後続の学習処理における処理速度や精度の向上が見込まれる。
【0018】
また、予測部12における学習、とくに文章(自然言語)に対する因子抽出を行う場合には、トランスフォーマー(Transformer)と呼ばれる深層学習モデルを適用することができる。
【0019】
また、パラメータとしては、入力する変数をどのくらいの割合で採用するかを規定するパラメータ(例えば、XGBoostの場合reg_alphaやreg_lambda)や、学習に費やす時間の制限を規定するパラメータ(XGBoostの場合max_depthなど)などがある。
【0020】
パラメータの調整は、パラメータの組み合わせを複数通り試し、結果が良好なものを選択することで実行できる。例えば、上記のようなパラメータを調整する場合には、最終的に入力される変数の数と、学習時間との組み合わせを複数設定し、抽出精度がよく学習時間を短縮できる良好な(バランスのよい)パラメータの組み合わせを選択することができる。
【0021】
また、事前に、想定されるモデルのアーキテクチャやパラメータの候補を保存しておき、その中から最適な組み合わせ、例えば、抽出速度と精度のバランスが良いものを選択してもよい。処理部22は、予測部12における予測結果に応じてアーキテクチャ(手法)またはパラメータを選択し、以降の学習では、選択されたアーキテクチャ(手法)またはパラメータを適用することができる。また、複数回、学習と予測を繰り返す場合には、各学習において、個別にアーキテクチャ(手法)またはパラメータを選択してもよい。すなわち、アーキテクチャ(手法)またはパラメータを切り換えつつ、学習を繰り返してもよい。このように、学習におけるアーキテクチャ(手法)またはパラメータを自由に設定することにより、抽出精度の向上や、学習時間の短縮化を図ることができる。
【0022】
予測部12における再学習(例えば、後述するステップS122、ステップS600の処理)では、予測値と真値との組み合わせ(TN、FN、FP、TP)による4値分類し、多クラス分類(カテゴリ分類)モデルを学習することにより、効率的なモデル構築が可能となる。また、FN、FPの確率が高いと予測される対象(文章等)をユーザに示すことで、ユーザによるアノテーションの修正作業の効率化を図ることができる。なお、予測部12は、再学習時に限らず、1回目の学習においても、予測値と真値との組み合わせ(TN、FN、FP、TP)による4値分類し、多クラス分類(カテゴリ分類)モデルを学習することしてもよい。
【0023】
予測部12は、任意の検索条件を満たす集合に対して学習および予測を行うこととしても良いが、好ましくは、第1の検索条件を満たす第1の集合に対する学習および予測をする。また、第1の集合に対する予測結果の精度が一定の条件を満足する場合に、第2の検索条件を満たす第2の集合に対する学習および予測をする。同様に、第2の集合に対する予測結果の精度が一定の条件を満足する場合に、第3の検索条件を満たす第3の集合に対する学習および予測をする。
【0024】
ここで、第1の検索条件は、第2の検索条件を満たし、かつ、正例が含まれる割合が第2の集合よりも第1の集合のほうがより高くなるような条件を第2の検索条件に付加した条件である。また、第2の検索条件は、第3の検索条件を満たし、かつ、正例が含まれる割合が第3の集合よりも第2の集合のほうがより高くなるような条件を第2の検索条件に付加した条件である。
【0025】
このように、本実施例に開示される情報処理方法では、正例が含まれる割合が異なる複数の集合を準備し、正例が含まれる割合が高い集合から低い集合に向けて、順次、階層を1つずつ移行しながら学習と予測を繰り返すことにより、網羅的かつ高精度に因子を抽出することができる。準備されるべき集合の数は、2以上の任意の数であり、すなわち、2階層の集合を準備してもよく、あるいは、4つ以上の階層の集合を準備してもよい。また、一般的には、最後の階層として学習、予測の対象となる集合は、因子を抽出する対象の全体(母集団)であることが想定される。因子が網羅的に抽出されることが見込まれる場合には、特定の検索条件を満たす集合を最後の階層としてもよい。すなわち、特定の検索条件を満たす集合を母集団に設定してもよい。
【0026】
図2は、因子の抽出対象となる母集団が複数の文章であり、抽出すべき因子が「不安定狭心症」である場合に適用される検索条件の例を示す図である。
【0027】
図2において、集合Aは、不安定狭心症およびその同義語を含む文章の集合を示し、集合Bは、否定または可能性に関する単語を含まない文章の集合を示し、集合Cは、患者の家族に関する単語を含まない文章の集合を示している。集合Xは、患者本人が不安定狭心症である文章(正例)を示している。
【0028】
第1の検索条件は、集合A、集合Bおよび集合Cのいずれにも属する文章の集合(集合A、B、Cの積)に対応する。第2の検索条件は、集合Aおよび集合Bのいずれにも含まれる文章の集合(集合A、Bの積)に対応する。第3の検索条件は、集合Aに含まれる文章の集合に対応する。
【0029】
例えば、第1の検索条件を満たす文章、すなわち、集合A、集合Bおよび集合Cのいずれにも属する文章としては、「狭心症と診断された」、「心筋梗塞ではなく、狭心症と診断された」などの文言を含むものを挙げることができる。例えば、「狭心症の可能性がある」(集合Bに含まれない例)、「父は狭心症だ」(集合Cに含まれない例)などの文言のある文章を第1の検索条件により排除することによって、第2の検索条件を満たす文章や第3の検索条件を満たす集合よりも、正例の割合を高めることができる。
【0030】
このように検索条件を階層的に設定した場合、第1の検索条件に含まれる文章における正例の割合は、第2の検索条件に含まれる文章における正例の割合よりも高くなる。また、第2の検索条件に含まれる文章における正例の割合は、第3の検索条件に含まれる文章における正例の割合よりも高くなる。本実施例では、正例の割合が高い、あるいは高いと思われる集合から、順次、学習を行うことにより、網羅的かつ高精度に因子を抽出できる。
【0031】
図3は、本実施例の情報処理システムにおける処理を例示するフローチャートである。図3は、文章に含まれる因子を抽出する例を示す。本実施例では、正例を抽出する場合について説明するが、負例を抽出する場合も同様の手順を採用することができる。
【0032】
図3のステップS102では、処理部22は、現在の階層に対応する検索条件を選択し、検索条件を満たす文章を抽出する。例えば、最初の階層として、第1の検索条件を選択し、第1の記憶部11に格納された文章から第1の検索条件に合致する文章を抽出する。
【0033】
ステップS104では、処理部22は、ステップS102で抽出された文章の中に正例または負例が1件もないことを推定するのに必要なサンプルサイズ(n_sample_absence)を算出し、当該文章の中からランダムに複数の文章(サンプル)を出力する。出力されるサンプルの数は、算出されたサンプルサイズ(n_sample_absence)または、これよりも小さい数である。上記サンプルサイズは、ステップS102で抽出された文章の数に基づいて統計的手法により算出される。
【0034】
ステップS106では、処理部22は、受付部21を介し、ステップS104で出力された文章の中に正例と負例が、それぞれ少なくとも1例あるか否かの回答を受け付ける。ここでは、ステップS104で出力された文章のそれぞれに対し、正例および負例フラグのアノテーションをする作業と、当該作業の結果得られた上記の回答とが、ユーザの作業として行われる。ステップS106において、受け付けた回答が、正例と負例があることを示す場合、処理部22は、処理をステップS108へ進め、受け付けた回答が、正例と負例のいずれかがないことを示す場合、処理をステップS202へ進める。ステップS106において、受け付けた回答は、ステップS104で出力された文章のそれぞれが正例および負例のいずれかに該当するか否かの対応付けを含むことができ、その対応付けは、処理部22によって、第2の記憶部13のデータに反映される。
【0035】
当該因子(正例および負例)を抽出する学習済みのモデルがすでに存在する場合、予測部12による予測を行い、処理部22の機能により予測結果をユーザにあらかじめ提示してもよい。この場合、ユーザは、予測結果を参照することにより、正例および負例を容易に見つけ出すことが可能となる。例えば、現在の階層(検索条件)が、最初の階層ではなく、2番目以降の階層(検索条件)であれば、すでに学習済みモデルが存在する(後述するステップS108)ので、予測部12による予測結果をユーザに提示することができる。この場合、予測結果(正例か否かを示す情報)だけでなく、予測部12により得られる予測に関連する情報、例えば、処理の中間結果や予測の根拠、その他、アノテーション作業に有用となる情報を、文章に対応付けて出力することができる。例えば、正例または負例の予測の基準となるスコア、スコアの根拠とされた文章中のワード、類似する文章を指摘する情報などを出力することができる。スコアは、その値が推定の確度を示すようなパラメータであってもよく、例えば、ある閾値を超える場合に、その文章が正例または負例と推定されるパラメータであってもよい。
【0036】
なお、ステップS104で出力された文章の中に正例と負例があることがあらかじめ分かっている場合には、処理部22は、ステップS106をスキップし、ステップS108に処理を進めてもよい。
【0037】
ステップS202では、例えば、処理部22は、受付部21を介するユーザの指示に従って、因子の抽出対象となる母集団へ文章を追加するなどの修正を受け付け、処理をステップS102へ戻す。追加された文章は、処理部22により第1の記憶部11に追加記憶される。この場合、第1の検索条件に合致し、かつ正例または負例に該当する文章が追加されることにより、ステップS106および後述するステップS112の判断が肯定される可能性を高めることができる。追加されるべき文章を検索するために、正例や負例となる文章に含まれることが予測されるキーワード等を用いたフィルタリング(検索)を行うことができる。処理部22に、このようなフィルタリング(検索)の機能をもたせることもできる。
【0038】
また、ステップS202において、母集団へ文章を追加することなく、予測部12による学習の対象となる文章(サンプル)を追加してもよい。この場合、正例あるいは負例となる文章を追加する必要があるが、適当な文章がない場合には、正例あるいは負例となる文章を作成してもよい。
【0039】
ステップS108では、予測部12は、ステップS104で出力されたサンプルについて学習するとともに、学習で得られたモデルを用いて、ステップS102で抽出された文章に対する予測を行い、ステップS102で抽出された文章の中に含まれる正例数の推定値(pred_n_true)を算出する。予測部12による予測結果および予測部12により得られる予測に関連する情報は、第3の記憶部14に格納される。
【0040】
ステップS110では、処理部22は、後述する評価指標算出処理(ステップS33)での評価指標の算出に必要なサンプルサイズ(n_sample)を算出する。例えば、処理部22は、ステップS102で抽出された文章の数と、ステップS108で算出された正例数の推定値(pred_n_true)から、ステップS102で抽出された文章の中に含まれる正例数の推定に必要なサンプルサイズ(n_sample)を統計的手法(統計的推定)により算出する。例えば、処理部22は、ステップS102で抽出された文章の数と、その中に占める正例数の推定値(pred_n_true)の割合に基づき、サンプルサイズ(n_sample)を算出できる。具体的には、例えば非心t分布による推定により、サンプルサイズ(n_sample)を算出(推定)してもよい。
【0041】
ステップS112では、処理部22は、ステップS110で算出されたサンプルサイズ(n_sample)が、アノテーション済みのサンプルサイズの最大値(max_n_flag)よりも大きいか否か判断する。ここで、アノテーション済みのサンプルサイズの最大値(max_n_flag)は、アノテーション作業の負担を抑制するために、ユーザ等によりあらかじめ設定された数値であり、ステップS102で抽出された文章からのサンプリング数として選択されうる最大の数である。しかし、アノテーション済みのサンプルサイズの最大値(max_n_flag)を増加させることが許容できる場合には、ステップS112の判断が肯定されるように、ユーザの指示によりアノテーション済みのサンプルサイズの最大値(max_n_flag)を増加させてもよい。
【0042】
ステップS112の判断が肯定される場合、処理部22は、ステップS202に処理を移行する。ステップS112の判断が否定される場合、処理部22は、ステップS114へ処理を進める。
【0043】
ステップS114では、処理部22は、ステップS104で算出されたサンプルサイズ(n_sample_absence)に応じた数の文章を、ステップS102で抽出された文章からランダムに抽出し、出力する。ランダムに抽出されるサンプル数は、サンプルサイズ(n_sample_absence)を越えていてもよい。ユーザは、出力された文章に対し、正例および負例のアノテーションを行い、その結果を受付部21を介して処理部22に入力する。
【0044】
ここで、ステップS114において抽出された文章に、すでにアノテーションが行われたものが含まれている場合、その文章についてのアノテーションの作業は省略できる。また、ステップS114では、ステップS108において予測部12により得られる予測に関連する情報、例えば、処理の中間結果や予測の根拠、その他、アノテーション作業に有用となる情報を、文章に対応付けて出力することができる。例えば、正例または負例の予測の基準となるスコア、スコアの根拠とされた文章中のワード、類似する文章を指摘する情報などを出力することができる。スコアは、その値が推定の確度を示すようなパラメータであってもよく、例えば、ある閾値を超える場合に、その文章が正例または負例と推定されるパラメータであってもよい。文章の類似性は、ワードの共通性、共通するワードの配列の共通性などに基づいて算出することができる。文章の類似性を提示することにより、例えば、ユーザは、類似性が高いにもかかわらず、予測結果やアノテーション結果が相反する文章を容易に抽出することができる。これにより、アノテーションの作業(例えば、フラグの変更)を支援することができる。スコアや文章の類似性を、出力される文章の並び順(ソーティング)により示してもよい。
【0045】
ステップS116では、処理部22は、上記処理部22への入力を待って、ユーザによる正例および負例のアノテーションの結果を第2の記憶部13のデータに反映させる。
【0046】
ステップS120では、処理部22は、第2の記憶部13のデータに基づき、ステップS102で抽出された文章における正例数の期待値(estim_n_true)を算出する。ここでは、アノテーション作業の対象となった文章における正例の数(比率)と、ステップS102で抽出された文章の数に基づいて期待値(estim_n_true)が算出される。具体的には、例えばt分布による推定により、期待値(estim_n_true)を算出(推定)してもよい。
【0047】
ステップS122では、予測部12は、第2の記憶部13のデータに基づき、アノテーションが行われた文章に対する学習を実行し、ステップS102で抽出された文章に対する予測を行う。予測部12による予測結果および予測部12により得られる予測に関連する情報は、第3の記憶部14に格納される。第3の記憶部14に格納された予測結果および予測に関連する情報は、適時、ユーザにより利用可能とされる。
【0048】
次に、ステップS300では、ステップS122における予測結果の網羅性および正確性の指標、すなわち因子の抽出精度を示す評価指標を算出する処理(評価指標算出処理)を実行する。なお、予測結果の正確性および網羅性の確認が不要な場合、例えば、すでに予測結果の正確性および網羅性が確認されている場合には、ステップS300およびステップS400の処理をスキップし、ステップS122からステップS500に処理を進めてもよい。
【0049】
ステップS300における処理としては、種々の処理を採用することができる。正確性および網羅性に関する評価項目は、ユーザにより自由に設定することができ、ステップS300では、その評価項目に即した評価指標が算出される。評価指標算出処理(ステップS300)で採用される因子の抽出精度の評価方法は任意であり、交差検証による評価を適用することができる。また、F1スコア、ROC曲線とAUC、感度(Sensitivity)、特異度(Specificity)などの指標に基づく評価を行うことができる。また、F1スコア、ROC曲線とAUC、感度(Sensitivity、Recall)、特異度(Specificity)、偽陰性率、偽陽性率、偽陽性件数、偽陰性件数、適合率(Precision)などの指標に基づく評価を行うこともできる。
【0050】
その他、例えば、ユーザの作業を要することなく、情報処理システム10により単独で算出可能な評価指標として、すでにアノテーションが行われたサンプルと、当該サンプルに対する予測結果との対比に基づく評価指標を挙げることができる。
【0051】
図4は、アノテーションが行われたサンプルにおける因子の抽出精度を示す評価指標を算出する処理を例示するフローチャートである。
【0052】
図4のステップS302では、処理部22は、第2の記憶部13のデータが示すアノテーションと、第3の記憶部14に記憶された予測結果とを対比し、アノテーション結果と予測結果とが一致する文章および一致しない文章を抽出する。
【0053】
ステップS304では、処理部22は、ステップS302での処理に基づいて、アノテーションが行われたサンプルに対する因子の抽出精度を示す評価指標を算出し、リターンする。例えば、アノテーションがすべて正しいと仮定する場合、アノテーション結果と予測結果とがすべての文章で一致すれば、アノテーションが行われた文章に関しては、予測の網羅性および正確性が完全であるといえる。また、アノテーション結果と予測結果とが一致しないものはエラーとみなすことができる。ステップS304において算出される評価指標は、任意であるが、例えば、アノテーション結果は正例を示すが正例として予測(抽出)できなかったエラーの数(比率)や、アノテーション結果は正例を示さないが正例として予測(誤抽出)されたエラーの数(比率)などを評価指標とすることができる。一般に、前者は網羅性指標、後者は正確性指標とされる。
【0054】
一方、アノテーションが行われていない文章に対する抽出精度を評価する場合には、アノテーションが行われていない文章をランダムにサンプリングし、サンプリングされた文章に付すべきアノテーション結果と、予測結果とを対比することで抽出精度を示す評価指標を算出することが可能となる。
【0055】
図5は、アノテーションが行われていない文章に対する因子の抽出精度を示す評価指標を算出する処理を例示するフローチャートである。
【0056】
図5のステップS312では、処理部22は、ステップS102で抽出された文章であって、アノテーションが行われていない文章に占める正例数の推定に必要なサンプルサイズ(n_sample)を算出する。さらに、ステップS314では、処理部22は、ステップS102で抽出された文章の中から、当該サンプルサイズ(n_sample)を最大数とするアノテーションが行われていない文章をランダムにサンプリングし、出力する。ここで、サンプルサイズ(n_sample)は統計的手法により算出されるが、サンプルサイズ(n_sample)が大きいほど、正例数の割合の信頼区間を狭めることができるが、ユーザの負担が大きくなる。このため、正例数の推定に対する信頼度と、ユーザの負担のバランスを考慮しつつ、サンプルサイズ(n_sample)を決定することができる。
【0057】
出力された文章に対し、ユーザはアノテーションを行い、アノテーションの結果を受付部21を介して処理部22に入力する。
【0058】
ステップS316では、処理部22は、アノテーションの結果が入力されるのを待って、アノテーションの結果が入力された各文章のアノテーション結果と、第3の記憶部14から取得された当該文章に対する予測結果とを対比する。
【0059】
ステップS318では、処理部22は、ステップS316における対比結果に基づいて、アノテーションが行われていない文章に対する因子の抽出精度を示す評価指標を算出し、リターンする。
【0060】
ステップS138において算出される評価指標は、任意であるが、例えば、アノテーション結果は正例を示すが正例として予測(抽出)できなかったエラーの数(比率)や、アノテーション結果は正例を示さないが正例として予測(誤抽出)されたエラーの数(比率)などを評価指標とすることができる。
【0061】
なお、図4および図5に示す処理のいずれかを実行し、あるいは両者を実行してもよい。また、ステップS300における処理として、図4および図5に示す処理のいずれかと併せて、あるいは図4および図5に示す処理に代えて、他の処理により評価指標を算出してもよい。
【0062】
また、評価指標の算出処理(ステップS300)において、予測部12による予測結果に示される正例の数と、ステップS120で算出された正例数の期待値(estim_n_true)とに基づいて、評価指標を算出してもよい。
【0063】
例えば、予測部12による予測結果に示される正例の数と、ステップS120で算出された正例数の期待値(estim_n_true)とがよく一致する場合には、因子の抽出精度が高いことが推定される。また、これらが大きく異なる場合には、因子の抽出精度が低いことが推定される。したがって、両者の一致度を評価指標に反映させることができる。
【0064】
また、評価指標を算出する前提として、予測部12による予測結果に示される正例の数が、ステップS120で算出された正例数の期待値(estim_n_true)に一致するように、予測部12での予測に用いるパラメータを調整してもよい。例えば、正例か否かを判断(予測)するに際し、所定のアルゴリズム(学習済みモデル)で生成されるスコア(正例である可能性を示すスコア)と、所定の閾値との比較に基づいて正否(正例か否か)を判断(予測)する場合であれば、予測部12による予測結果に示される正例の数が正例数の期待値(estim_n_true)に一致するように、当該閾値を調整することができる。この場合、閾値を調整した後の予測結果に基づいて、図4または図5に示す評価指標算出処理(ステップS300)を実行してもよい。
【0065】
次に、ステップS400では、評価指標算出処理において算出された評価指標をユーザに提示し、予測結果の修正を受け付ける処理(予測結果修正処理)を実行する。
【0066】
図6は、予測結果修正処理を例示するフローチャートである。
【0067】
図6のステップS402では、処理部22は、評価指標算出処理(ステップS300)において算出された評価指標をユーザに提示する。ユーザは、提示された評価指標に基づいて、予測結果を許容するか否か決定し、決定内容をユーザの回答として、受付部21を介して処理部22に入力する。
【0068】
ユーザは、評価指標算出処理(ステップS300)で算出される評価指標自体を規定することができるが、予測結果を許容するか否かの判断基準も任意に規定できる。例えば、因子抽出の網羅性を重視するか、確実性を重視するかにより、判断基準が変化することが考えられる。前者を重視する場合には、例えば、抽出に失敗した正例の数や割合を低く設定すればよく、後者を重視する場合には、例えば、正例でない文章を正例として誤抽出される数や割合を低く設定すればよい。網羅性と確実性のバランスを考慮した判断基準を設定してもよい。
【0069】
ステップS404では、処理部22は、入力されたユーザからの回答が、予測結果を許容する旨の回答か否か判断する。判断が肯定される場合、処理部22は処理をステップS500(図2)へ進め(リターンし)、判断が否定される場合、処理部22は処理をステップS406へ進める。
【0070】
ステップS406では、処理部22は、第3の記憶部14にアクセスし、スコアが閾値に近い文書を、予測結果を修正する対象の候補として出力し、ユーザに提示する。例えば、スコアが閾値に近い文書を、スコアの順序に並べて表示してもよい。
【0071】
スコアが閾値に近い文書は、予測結果がエラーを示す可能性が高いため、ユーザは効率的に文書をチェックでき、予測結果がエラーを示す文書に新たにアノテーションが行うことができる。アノテーションが行われた文書についての予測結果は、アノテーション結果に従って修正されるため、ユーザは、因子抽出の精度が必要な精度に到達するまで、あるいは、因子抽出の精度が必要な精度に到達したと思われるまで、予測結果を修正することができる。
【0072】
また、処理部22は、正例の件数又は予測精度の算出結果に基づいて、母集団における新たなアノテーション対象に対する予測モデルによる予測結果に対して行うべき修正に関する情報を生成してもよい。この場合、修正に関する情報は、予測結果に対して行うべき修正の件数を直接的に示す情報だけでなく、間接的に示す情報(例えば示唆する情報)等を含んでよい。
例えば、処理部22は、予測結果を許容するか否かの判断基準(例えばユーザにより設定される判断基準)に照らし、アノテーション結果の修正が必要な文章の数を算出し、これをユーザに示してもよい。例えば、予測結果の正答率の統計的推定値が80%であるが、判断基準として正解率99%が要求されていた場合、差分の19%に相当する数の修正が必要となる。また、例えば、予測結果の正答率の統計的区間推定値が80-85%であり、判断基準として正解率99%が要求されていた場合、推定値の下限との差分の19%に相当する数が、修正に関する情報として生成されてもよい。あるいは、予測結果の正答率の統計的区間推定値が80-85%である場合に、80-85%のうちの、任意の値(例えば80%)が、修正に関する情報として生成されてもよい。また、修正に関する情報が、正答率が100%であることを表す場合、そのことが、修正が不要であることを表してもよい。また、この場合、区間推定以外にも、点推定や検定、ベイズ推定又はその類が利用されてもよい。
【0073】
また、処理部22は、文書をチェックするユーザに対し、予測結果とともに、第3の記憶部14に記憶された、予測に関連する情報を提示することができる。予測に関連する情報としては、処理の中間結果や予測の根拠、その他、アノテーション作業に有用となる情報を、文章に対応付けて出力することができる。例えば、処理部22は、スコアの根拠とされた文章中のワード、類似する文章を指摘する情報などを出力することができ、これにより、ユーザは効率的に文書をチェックできる。
【0074】
ステップS408では、処理部22は、アノテーションの結果が受付部21を介して処理部22に入力されるのを待って、アノテーションの結果を第3の記憶部14のデータおよび第2の記憶部13のデータに反映させ、リターンする。これにより、処理はステップS500(図3)に進む。
【0075】
また、ステップS408では、ユーザのチェックにおいて予測結果が正しかったと判断された文書に関しては、予測結果の通りのアノテーションが行われたものとして、アノテーションの結果として受付部21を介して処理部22に入力される。この場合も、処理部22により、予測結果に従ったアノテーションが行われて第2の記憶部13のデータに反映される。第3の記憶部14のデータは維持される。
【0076】
なお、処理部22は、ステップS408からステップS316(図5)へ処理を進めてもよい。この場合、修正された予測結果に基づいて評価指標が再度、算出される。また、ユーザは新たに算出された評価指標に基づいて、抽出結果を許容するか否かを判断することが可能となる(ステップS402~ステップS404)。
【0077】
次に、図3のステップS500では、処理部22は、すべての階層に対して因子の抽出処理(ステップS102~ステップS500)が終了したか否か判断し、判断が肯定されれば、処理を終了し、判断が否定されれば、処理をステップS102へ進める。後者の場合、ステップS102において、次の階層に対応する検索条件が選択され、その検索条件を満たす文章が抽出される。以降、同様の処理(ステップS104~ステップS500)が繰り返される。
【0078】
以上のように、本実施例によれば、予測部12による予測結果(ステップS122)に基づき、学習の対象とならなかった文章を含む、集合全体における予測の精度を評価している(ステップS300)ので、網羅的に因子を抽出できる。また、本実施例によれば、予測の精度が不足している場合に予測結果の修正を受け付けているので(ステップS400)、因子の抽出精度を担保できる。また、本実施例によれば、アノテーション結果の修正を受け付けた場合(ステップS400)、次の階層においてアノテーション結果の修正を反映させた学習および予測をする(ステップS122)ので、因子の抽出精度を向上させることができる。さらに、本実施例によれば、予測の精度を評価するのに必要なサンプリング数を算出し(ステップS110)、算出されたサンプリング数に応じた数のサンプルをランダムサンプリングし(ステップS114)、ランダムサンプリングされたサンプルに基づいて予測の精度を評価する(ステップS300)。このため、サンプル数を必要最小限の範囲まで抑制でき、予測結果をチェックする際のユーザの作業を軽減できる。
【0079】
また、本実施例によれば、正例の割合が高い、あるいは高いと思われる集合から、順次、学習を行うことにより、網羅的な因子抽出が可能となり、また、限定された作業が行われた段階で効率的に学習済みモデルを生成することが可能となる。また、学習の対象となるサンプルの数(サンプルサイズ)を統計的手法により適正化しているので、ユーザの負担を最小限に抑制しつつ、実効性のある学習が可能となるとともに、予測結果の信頼性が統計的な根拠のもとに担保できる。さらに、予測部12による予測結果をユーザが評価し、必要があればユーザにより予測結果を修正できるため、網羅的かつ高精度に因子を抽出できる。さらにまた、機械学習のために必要となるユーザの作業を支援することができる情報として、学習済みモデルによる予測結果や予測に関連する情報を、適時、利用できる。このため、ユーザの作業の効率化を図ることができる。
【0080】
本実施例において、文書中の因子は任意であり、文書の種類も任意である。例えば、カルテから必要な医療情報を抽出する場合、契約文書のリスク分析、SNS等のテキストデータから患者の困りごとや治療効果に関する情報を抽出する場合などにも、本実施例を適用することができる。
【0081】
(第2の実施例)
図7は、他の実施例の情報処理システムにおける処理を例示するフローチャートである。この処理では、実質的に、第1の実施例での処理(図3図6)の一部のみを実行している。この例では、検索条件(集合)を階層化せず、一の検索条件を満たす文章の集合に対して、因子抽出を行っている。
【0082】
図7のステップS100では、処理部22は、一の検索条件を満たす文章を抽出する。
【0083】
ステップS200では、予測部12は、アノテーションが行われたサンプルに対する学習、例えば、ステップS100で抽出された文章に含まれるサンプル(アノテーションが行われたサンプル)に対する学習を行うとともに、ステップS100で抽出された文章に対し、学習により得られた学習モデルを用いた予測を行い、予測結果および予測に関連する情報を出力する。
【0084】
ステップS300では、処理部22は、ステップS100において出力された予測結果の網羅性および正確性の指標、すなわち因子の抽出精度を示す評価指標を算出する処理(評価指標算出処理)を実行する。ここでは、図4および図5に示した処理が適用され得る。
【0085】
次に、ステップS400では、処理部22は、評価指標算出処理において算出された評価指標をユーザに提示し、予測結果の修正を受け付ける処理(予測結果修正処理)を実行する。ここでは、図6に示した処理が適用され得る。
【0086】
次に、ステップS550では、処理部22は、予測結果修正処理(ステップS400)において、予測結果の修正があったか否か判断し、判断が肯定されれば、処理をステップS600へ進め、判断が否定されれば処理を終了する。
【0087】
次に、ステップS600では、予測部12は、ステップS400においてアノテーション結果が修正された文章を含むサンプルに対する再学習を行うとともに、ステップS100で抽出された文章に対し、再学習により更新された学習モデルを用いた予測を行い、予測結果および予測に関連する情報を出力し、処理を終了する。再学習の際、予測値と真値との組み合わせ(TN、FN、FP、TP)を目的変数としても良い。
【0088】
本実施例によれば、予測部12による予測結果(ステップS200)に基づき、学習の対象とならなかった文章を含む、集合全体における予測の精度を評価している(ステップS300)ので、統計的に正しい抽出精度をユーザが把握できる。また、本実施例によれば、予測の精度が不足している場合に予測結果の修正を受け付けているので(ステップS400)、因子の抽出精度を担保できる。また、本実施例によれば、アノテーション結果の修正(ステップS400)を受け付けた場合(ステップS550の判断が肯定された場合)、アノテーション結果の修正を反映させた学習および予測をする(ステップS600)ので、因子の抽出精度を向上させることができる。なお、二値分類ではなくクラス分類のタスクに関しても、特定のクラスを正例、それ以外のクラスを負例と置き換えた処理をそれぞれのクラスに対して実行することにより、同様の目的を達成することができる。また、自然言語処理における固有表現抽出などのタスクの場合も、エンティティの予測値とアノテーション箇所の一致について精度算出を行うことにより、同様の効果を得ることができる。
【0089】
本実施例は、文書以外の対象から因子を抽出する場合にも適用できる。例えば、画像から所定のイベントを抽出する場合に適用できる。この場合、例えば、画像に対応付けられた時刻がイベントの発生しやすい時間帯に属するか否か、画像中にイベントに対応する色彩や形状、動きを呈する領域があるか否か、などを検索条件として、階層化された複数の集合(イベントが抽出される可能性が異なる複数の集合)を得ることができる。
【0090】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
なお、上記の実施形態に関して、更に以下を開示する。
[付記1]
アノテーション対象に対するアノテーション結果を取得する入力取得部と、
前記入力取得部により前記アノテーション結果が取得されると、前記アノテーション結果に基づいて学習及び予測をする予測部とを備え、
前記入力取得部は、第1のアノテーション対象に対する第1のアノテーション結果を取得するとともに、前記予測部による前記第1のアノテーション結果に対する学習結果に基づいて、前記第1のアノテーション対象とは少なくとも一部が異なる第2のアノテーション対象に対する第2のアノテーション結果を取得する、情報処理システム。
この場合、アノテーション結果に基づいて学習を行うだけの構成に比べて、アノテーションと学習を交互に行うことができる点で有利な構成を実現できる。すなわち、予測部は、第1のアノテーション対象に対する第1のアノテーション結果に基づく学習及び予測に後続して、第2のアノテーション対象に対する第2のアノテーション結果に基づく学習及び予測を実行できるので、予測の精度を効果的に高めることができる。なお、第2のアノテーション対象は、第1のアノテーション対象の一部又は全部を含んでよいが、第1のアノテーション対象と全く同じでなければよい。また、第1のアノテーション結果と第2のアノテーション結果とは、同じユーザによるアノテーション結果であってもよいし、異なるユーザによるアノテーション結果であってもよい。例えば、第1のアノテーション結果は、アノテーターによるものあってよく、第2のアノテーション結果は、検収者によるものであってよい。
[付記2]
前記入力取得部は、前記第1のアノテーション結果に対する前記予測部の学習で得られる予測値に基づいて、前記第2のアノテーション結果を取得する、付記1に記載の情報処理システム。
この場合、予測部は、例えば予測値が所望の範囲内でない場合等に、予測の精度を高めるべく、第2のアノテーション結果に基づいて、再度、学習を実行してもよい。
[付記3]
前記入力取得部は、アノテーション対象候補のデータに対して、
アノテーションが必要なサンプル数と、母集団における正例の件数や学習の予測精度との関係を統計的に算出する算出部を更に備える、付記1に記載の情報処理システム。
この場合、母集団の件数に照らした必要なアノテーション数を所定数として設定することで、適切な数のアノテーション結果に基づいて学習を行うことができる。この際、例えば信頼率や区間幅等を入力として必要なアノテーション数を所定数として統計的に推定してもよい。また、アノテーション数は固定し、そのサンプル数で算出した正例の割合を入力として母集団に存在する正例の割合について統計的な検定を行っても良い。
[付記4]
前記予測部による予測の精度の算出のため、
アノテーションが必要なサンプル数と、母集団における正例の件数や前記予測部による予測精度との関係を統計的に算出し、
算出された前記サンプル数に応じた数のサンプルをランダムサンプリングし、アノテーションが行われた ランダムサンプリング結果に基づいて母集団における正例の件数や前記予測部による予測の精度を算出する処理部を更に備える、付記1に記載の情報処理システム。
この場合、新たなアノテーション対象(未フラグレコード)の予測値に対して何件の修正が必要かを算出することで、修正の作業効率を高めることができる。
[付記5]
前記予測部における学習の手法または学習に関連するパラメータとして、複数の手法またはパラメータが選択可能であり、
前記予測部における予測結果に応じて前記手法または前記パラメータを選択する選択部を更に備える、付記1に記載の情報処理システム。
この場合、例えば、学習の手法やパラメータを都度自動で変更し、予測の精度が良好であった組み合わせをその後の学習で利用する等によって、予測の精度を効率的に高めることができる。
[付記6]
前記処理部は、前記アノテーション結果に含まれる正例の件数に基づいて前記サンプル数を算出する、付記4に記載の情報処理システム。
[付記7]
前記予測部による学習は、予測の正誤の違いの特徴の学習を含む、付記1に記載の情報処理システム。
[付記8]
前記処理部は、前記処理部による予測の精度の評価結果に基づいて、新たなアノテーション対象に対する前記予測部による予測結果に対して行うべき修正の件数を表す情報を生成する、付記4に記載の情報処理システム。
[付記9]
一の予測対象の母集団の一部であるアノテーション対象に対するアノテーション結果を取得する入力取得部と、
前記入力取得部により前記アノテーション結果が取得されると、前記アノテーション結果に基づく学習により、予測モデルを構築する予測部と、
前記母集団に対して、アノテーションが必要なサンプル数と、正例の件数又は前記予測モデルによる予測精度との関係を統計的に算出する算出部と、
前記算出部により算出された前記サンプル数に応じた数のサンプルをランダムサンプリングし、アノテーションが行われたランダムサンプリング結果と、前記関係とに基づいて、前記母集団における前記正例の件数又は前記予測精度を算出する処理部と、を備え、
前記処理部は、前記処理部による前記正例の件数又は前記予測精度の算出結果に基づいて、前記母集団における新たなアノテーション対象に対する前記予測モデルによる予測結果に対して行うべき修正の件数を表す情報を生成する、情報処理システム。
この場合、算出部は、前記関係を毎回算出する必要はなく、算出済の前記関係を取得してもよい。また、前記関係を統計的に導出するための母集団は、有限であってもよいし、無限であってよい。また、前記関係を統計的に導出するための母集団は、前記一の予測対象の母集団と完全に同じであってもよいし、異なってもよい。例えば、前記一の予測対象の母集団は、前記関係を統計的に導出するための母集団の一部であってもよい。また、アノテーションが必要なサンプル数とは、結果として、処理部でランダムサンプリングされるサンプル数と同じであればよい。また、予測精度とは、予測誤差を含む概念である。
【符号の説明】
【0091】
10 情報処理システム
11 第1の記憶部
12 予測部
13 第2の記憶部
14 第3の記憶部
21 受付部
図1
図2
図3
図4
図5
図6
図7