(57)【要約】【課題】文書から固有表現を抽出するための複数の検出パターンのそれぞれが、与えられた文書から固有表現を抽出するのにどの程度適しているのかを評価することができるモデルを生成できる検出パターン評価モデル生成システムを提供する。【解決手段】抽出手段９１は、文書から固有表現を抽出するための複数の検出パターンを用いて、文書毎に、検出パターンに該当する文字列を文書から抽出する。モデル生成手段９２は、文書と、検出パターンと、当該検出パターンに基づいて当該文書から抽出された文字列が固有表現に該当するか否かの判断結果との組の集合を教師データとして、与えられた文書から固有表現を抽出する可能性を検出パターン毎にスコアとして導出するためのモデルを、機械学習によって生成する。【選択図】図１１
2019164609.tif 000002
【特許請求の範囲】
【請求項１】
文書から固有表現を抽出するための複数の検出パターンを用いて、文書毎に、検出パターンに該当する文字列を文書から抽出する抽出手段と、
文書と、検出パターンと、当該検出パターンに基づいて当該文書から抽出された文字列が固有表現に該当するか否かの判断結果との組の集合を教師データとして、与えられた文書から固有表現を抽出する可能性を検出パターン毎にスコアとして導出するためのモデルを、機械学習によって生成するモデル生成手段とを備える
ことを特徴とする検出パターン評価モデル生成システム。
【請求項２】
固有表現の抽出対象となる文書が与えられた場合に、モデル生成手段によって生成されたモデルを用いて、個々の検出パターン毎に、前記文書から固有表現を抽出する可能性を示すスコアを導出し、前記スコアに基づいて、前記文書から固有表現を抽出するために用いる検出パターンを選択する検出パターン選択手段を備え、
抽出手段は、
固有表現の抽出対象となる前記文書が与えられた場合に、前記検出パターン選択手段が選択した検出パターンを用いて、前記文書から、前記検出パターンに該当する文字列を抽出する
請求項１に記載の検出パターン評価モデル生成システム。
【請求項３】
モデル生成手段は、
教師データに基づいて、検出パターンと一対一に対応する要素を有するベクトルであって、一の検出パターンによって抽出された文字列が固有表現に該当すると判断されている場合には前記一の検出パターンに対応する要素の値を１とし、一の検出パターンによって抽出された文字列が固有表現に該当しないと判断されている場合には前記一の検出パターンに対応する要素の値を０としたベクトルと、文書の内容に応じたベクトルとをそれぞれ、文書毎に作成し、
文書毎に作成したベクトルの組を用いて、機械学習によってモデルを生成する
請求項１または請求項２に記載の検出パターン評価モデル生成システム。
【請求項４】
コンピュータが、
文書から固有表現を抽出するための複数の検出パターンを用いて、文書毎に、検出パターンに該当する文字列を文書から抽出し、
文書と、検出パターンと、当該検出パターンに基づいて当該文書から抽出された文字列が固有表現に該当するか否かの判断結果との組の集合を教師データとして、与えられた文書から固有表現を抽出する可能性を検出パターン毎にスコアとして導出するためのモデルを、機械学習によって生成する
ことを特徴とする検出パターン評価モデル生成方法。
【請求項５】
コンピュータが、
固有表現の抽出対象となる文書が与えられた場合に、
モデルを用いて、個々の検出パターン毎に、前記文書から固有表現を抽出する可能性を示すスコアを導出し、前記スコアに基づいて、前記文書から固有表現を抽出するために用いる検出パターンを選択し、
選択した前記検出パターンを用いて、前記文書から、前記検出パターンに該当する文字列を抽出する
請求項４に記載の検出パターン評価モデル生成方法。
【請求項６】
コンピュータが、
モデルを生成する場合に、
教師データに基づいて、検出パターンと一対一に対応する要素を有するベクトルであって、一の検出パターンによって抽出された文字列が固有表現に該当すると判断されている場合には前記一の検出パターンに対応する要素の値を１とし、一の検出パターンによって抽出された文字列が固有表現に該当しないと判断されている場合には前記一の検出パターンに対応する要素の値を０としたベクトルと、文書の内容に応じたベクトルとをそれぞれ、文書毎に作成し、
文書毎に作成したベクトルの組を用いて、機械学習によってモデルを生成する
請求項４または請求項５に記載の検出パターン評価モデル生成方法。
【請求項７】
コンピュータに、
文書から固有表現を抽出するための複数の検出パターンを用いて、文書毎に、検出パターンに該当する文字列を文書から抽出する抽出処理、および、
文書と、検出パターンと、当該検出パターンに基づいて当該文書から抽出された文字列が固有表現に該当するか否かの判断結果との組の集合を教師データとして、与えられた文書から固有表現を抽出する可能性を検出パターン毎にスコアとして導出するためのモデルを、機械学習によって生成するモデル生成処理
を実行させるための検出パターン評価モデル生成プログラム。
【請求項８】
コンピュータに、
固有表現の抽出対象となる文書が与えられた場合に、モデル生成処理で生成されたモデルを用いて、個々の検出パターン毎に、前記文書から固有表現を抽出する可能性を示すスコアを導出し、前記スコアに基づいて、前記文書から固有表現を抽出するために用いる検出パターンを選択する検出パターン選択処理、および、
固有表現の抽出対象となる前記文書が与えられた場合に、前記検出パターン選択処理で選択した検出パターンを用いて、前記文書から、前記検出パターンに該当する文字列を抽出する処理
を実行させる請求項７に記載の検出パターン評価モデル生成プログラム。
【請求項９】
コンピュータに、
モデル生成処理で、
教師データに基づいて、検出パターンと一対一に対応する要素を有するベクトルであって、一の検出パターンによって抽出された文字列が固有表現に該当すると判断されている場合には前記一の検出パターンに対応する要素の値を１とし、一の検出パターンによって抽出された文字列が固有表現に該当しないと判断されている場合には前記一の検出パターンに対応する要素の値を０としたベクトルと、文書の内容に応じたベクトルとをそれぞれ、文書毎に作成させ、
文書毎に作成したベクトルの組を用いて、機械学習によってモデルを生成させる
請求項７または請求項８に記載の検出パターン評価モデル生成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文書から固有表現を抽出するための検出パターンを評価するためのモデルを生成する検出パターン評価モデル生成システム、検出パターン評価モデル生成方法、および、検出パターン評価モデル生成プログラムに関する。
【背景技術】
【０００２】
文書内に含まれている個人情報や機密情報、または、文書が秘文書であることを示す情報は、固有表現と呼ばれる。
【０００３】
文書から固有表現のみを検出する一般的な方法として、例えば、以下に示す第１の一般的な方法や、第２の一般的な方法が考えられる。
【０００４】
第１の一般的な方法は、固有表現の検出用のパターンルールや辞書を利用する方法である。
【０００５】
第２の一般的な方法は、形態素解析、および、解析用辞書に付与した属性を利用する方法である。
【０００６】
また、文書内の特定のデータの有無を推定するための一般的な方法として、学習器を用いて、文書内の特定のデータの有無を推定する方法が考えられる。
【０００７】
また、特許文献１には、固有表現抽出規則生成システムが記載されている。特許文献１に記載の固有表現抽出規則生成システムは、予め用意された訓練用文書から各単語を抽出し、各単語と訓練用文書に対応して予め用意された正解リストとに基づき、固有表現抽出用の規則を作成する。そして、固有表現抽出規則生成システムは、これらの規則を独立に訓練用文書に適用して、規則毎の固有表現抽出結果を求め、その適用結果で得られた固有表現と正解リストを比較し、規則の削除と修正を行う。
【０００８】
また、特許文献２には、抽出対象の文字列の集合を示す対象情報の入力を受け付け、対象情報に含まれる文字列のいずれかに合致する文字列である対象表現と、対象表現それぞれの所定距離以内に配置された単語である近傍語とを対象文書から抽出し、その近傍語それぞれの対象文書中の出現頻度、または、対象表現それぞれの対象文書中の座標に基づく教師なし学習を用いて、抽出対象語集合を得るためのフィルタを生成することが記載されている。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２００１−３１８７９２号公報
【特許文献２】国際公開第ＷＯ２０１６／１９４０５４号
【発明の概要】
【発明が解決しようとする課題】
【００１０】
近年、ＩＴ（Information Technology）社会の拡大に伴い、個人情報や機密情報を含む秘文書をコンピュータシステム上で扱う企業や団体が増えている。秘文書は、個人情報や機密情報を含まない一般文書と同一のコンピュータシステムで管理されることが多い。この場合、以下に示す理由から、秘文書の管理を徹底することは難しい。
【００１１】
第１の理由は、あるユーザの操作によって、秘文書が、本来格納されるべきでない記憶領域（例えば、誰でもアクセス可能な記憶領域や、非暗号化領域等）にコピーされたり、移動されたりした場合、管理者がそのことを検知することが難しいという理由である。
【００１２】
第２の理由は、管理者が、定期的に特定領域に秘文書が格納されているか否かを確認する場合、１つ１つの文書の内容を手作業で確認する必要があり、文書が多量に存在する場合、そのような確認作業を行うことが現実的でないという理由である。また、そのような確認作業を行えたとしても、作業者が秘文書を見落とす可能性もある。
【００１３】
特定領域に秘文書が格納されているか否かを判定するために、前述の第１の一般的な方法や第２の一般的な方法を用いることが考えられる。しかし、前述の第１の一般的な方法や第２の一般的な方法を用いた場合、ルールに合致した情報が全て検出されてしまい、本来、固有情報でない情報まで検出されてしまうという問題がある。すなわち、固有情報が誤検出（主に過検出）されてしまい、秘文書が格納されているか否かを正確に確認することは困難である。
【００１４】
また、学習器を用いて文書内の特定のデータの有無を推定するという一般的な技術では、文書内にどのような固有情報が含まれているのかを把握できない。
【００１５】
文書が与えられた場合、固有情報の過検出を防止するために、文書から固有表現を抽出するための検出パターンを、文書に応じて選択できるようにすることが好ましい。しかし、特許文献１に記載の技術では、与えられた文書に応じた固有表現抽出規則が得られるわけではない。
【００１６】
そこで、本発明は、文書から固有表現を抽出するための複数の検出パターンのそれぞれが、与えられた文書から固有表現を抽出するのにどの程度適しているのかを評価することができるモデルを生成できる検出パターン評価モデル生成システム、検出パターン評価モデル生成方法、および、検出パターン評価モデル生成プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１７】
本発明による検出パターン評価モデル生成システムは、文書から固有表現を抽出するための複数の検出パターンを用いて、文書毎に、検出パターンに該当する文字列を文書から抽出する抽出手段と、文書と、検出パターンと、当該検出パターンに基づいて当該文書から抽出された文字列が固有表現に該当するか否かの判断結果との組の集合を教師データとして、与えられた文書から固有表現を抽出する可能性を検出パターン毎にスコアとして導出するためのモデルを、機械学習によって生成するモデル生成手段とを備えることを特徴とする。
【００１８】
また、本発明による検出パターン評価モデル生成方法は、コンピュータが、文書から固有表現を抽出するための複数の検出パターンを用いて、文書毎に、検出パターンに該当する文字列を文書から抽出し、文書と、検出パターンと、当該検出パターンに基づいて当該文書から抽出された文字列が固有表現に該当するか否かの判断結果との組の集合を教師データとして、与えられた文書から固有表現を抽出する可能性を検出パターン毎にスコアとして導出するためのモデルを、機械学習によって生成することを特徴とする。
【００１９】
また、本発明による検出パターン評価モデル生成プログラムは、コンピュータに、文書から固有表現を抽出するための複数の検出パターンを用いて、文書毎に、検出パターンに該当する文字列を文書から抽出する抽出処理、および、文書と、検出パターンと、当該検出パターンに基づいて当該文書から抽出された文字列が固有表現に該当するか否かの判断結果との組の集合を教師データとして、与えられた文書から固有表現を抽出する可能性を検出パターン毎にスコアとして導出するためのモデルを、機械学習によって生成するモデル生成処理を実行させることを特徴とする。
【発明の効果】
【００２０】
本発明によれば、文書から固有表現を抽出するための複数の検出パターンのそれぞれが、与えられた文書から固有表現を抽出するのにどの程度適しているのかを評価することができるモデルを生成できる。
【図面の簡単な説明】
【００２１】
【図１】本発明の実施形態の検出パターン評価モデル生成システムの構成例を示すブロック図である。
【図２】検出パターン記憶部が記憶する複数の検出パターンおよび複数の固有表現種別の例を示す模式図である。
【図３】抽出結果記憶部が記憶する情報の例を示す模式図である。
【図４】教師データの例を示す模式図である。
【図５】訓練用文書の文書ＩＤ毎に定められたベクトルの例を示す模式図である。
【図６】ニューラルネットワークを用いた機械学習を示す模式図である。
【図７】文書毎に、文書ＩＤと選択した検出パターンのパターンＩＤとを対応付けた情報の例を示す模式図である。
【図８】本発明の実施形態のモデル学習ステップの処理経過の例を示すフローチャートである。
【図９】本発明の実施形態の実運用ステップの処理経過の例を示すフローチャートである。
【図１０】本発明の実施形態に係るコンピュータの構成例を示す概略ブロック図である。
【図１１】本発明の検出パターン評価モデル生成システムの概要を示すブロック図である。
【発明を実施するための形態】
【００２２】
以下、本発明の実施形態を図面を参照して説明する。
【００２３】
以下に示す実施形態の検出パターン評価モデル生成システムは、文書から固有表現を抽出するための検出パターンを評価するためのモデルを、機械学習によって生成する。このモデルを生成するまでの処理を、モデル学習ステップと記す。また、以下に示す実施形態の検出パターン評価モデル生成システムは、モデル学習ステップの後、複数の検出パターンそれぞれについて、与えられた文書から固有情報を抽出する可能性を示すスコアを導出し、そのスコアに基づいて、与えられた文書に応じた検出パターンを上記の複数の検出パターンの中から選択する。さらに、検出パターン評価モデル生成システムは、選択した検出パターンを用いて、与えられた文書から文字列を抽出する。モデル学習ステップの後、検出パターンの中から選択して、選択した検出パターンを用いて、与えられた文書から文字列を抽出する処理を、実運用ステップと記す。
【００２４】
図１は、本発明の実施形態の検出パターン評価モデル生成システムの構成例を示すブロック図である。本実施形態の検出パターン評価モデル生成システム１は、文書記憶部１１と、検出パターン記憶部１２と、抽出結果記憶部１３と、教師データ記憶部１４と、モデル記憶部１５と、抽出部１６と、モデル学習部１７と、検出パターン選択部１８とを備える。
【００２５】
また、抽出部１６は、文書取得部１６１と、情報抽出部１６２とを備える。モデル学習部１７は、第１の前処理部１７１と、学習部１７２とを備える。検出パターン選択部１８は、第２の前処理部１８１と、判定部１８２とを備える。
【００２６】
検出パターン評価モデル生成システム１は、例えば、パーソナルコンピュータやサーバ等のコンピュータによって実現される。ただし、検出パターン評価モデル生成システム１が複数の装置によって実現されてもよい。例えば、抽出部１６、モデル学習部１７および検出パターン選択部１８がそれぞれ、別々のコンピュータによって実現されてもよい。そして、文書記憶部１１、検出パターン記憶部１２、抽出結果記憶部１３、教師データ記憶部１４およびモデル記憶部１５がそれぞれ、別々の外部ストレージによって実現されてもよい。以下の説明では、検出パターン評価モデル生成システム１が、１台のコンピュータによって実現される場合を例にして説明する。
【００２７】
文書記憶部１１は、複数の文書を記憶する記憶装置である。文書記憶部１１は、検出パターンを評価するためのモデルの生成に用いられる複数の訓練用文書と、実運用ステップにおいて固有情報の抽出対象となる文書とをそれぞれ記憶する。実運用ステップにおいて固有情報の抽出対象となる文書の数は、１つであっても、複数であってもよい。なお、個々の文書には、予め、それぞれＩＤ（Identification）が定められている。以下、このＩＤを文書ＩＤと記す。
【００２８】
文書記憶部１１が文書を記憶する記憶領域は、例えば、共有領域である。
【００２９】
検出パターン記憶部１２は、文書から固有表現を抽出するための検出パターンを記憶する記憶装置である。検出パターン記憶部１２は、予め定められた複数個の検出パターンを記憶する。検出パターンは、正規表現形式で表されてもよいし、抽出しようとする固有表現そのもので表されていてもよい。また、各検出パターンは、検出パターン評価モデル生成システム１のユーザ（以下、単にユーザと記す。）によって手動で作成されてもよい。あるいは、各検出パターンは、検出パターンを作成するために用いる複数の文書から辞書等を利用して抽出した固有表現前後の単語を、形態素解析等の一般的技術を用いて抽出し、それらの単語から、正規表現で表される検出パターンを生成してもよい。このとき、固有表現種別単位で、重複する検出パターンを削除する。
【００３０】
固有表現種別は、検出パターンを用いて文書から抽出される固有表現の種別を表す。固有表現種別の例として、例えば、「氏名」、「住所」、「電話番号」、「メールアドレス」、「クレジットカード番号」、「マイナンバー」、「企業秘密」等が挙げられる。なお、「マイナンバー」とは、日本において国から国民に個別に割り当てらえる個人番号である。検出パターン記憶部１２は、それぞれの固有表現種別も記憶する。
【００３１】
個々の検出パターンには、予め、それぞれＩＤが定められている。以下、このＩＤを、パターンＩＤと記す。また、個々の固有表現種別にも、予め、それぞれＩＤが定められている。以下、このＩＤを、固有表現種別ＩＤと記す。
【００３２】
図２は、検出パターン記憶部１２が記憶する複数の検出パターンおよび複数の固有表現種別の例を示す模式図である。図２（ａ）は、検出パターン記憶部１２が記憶する複数の検出パターンの例を示す。個々の検出パターンには、パターンＩＤと、その検出パターンに応じた固有表現種別ＩＤが対応付けられている。図２（ｂ）は、検出パターン記憶部１２が記憶する複数の固有表現種別の例を示す。個々の固有表現種別には、固有表現種別ＩＤが対応付けられている。
【００３３】
同一の固有表現種別ＩＤを有する同一の検出パターンが重複して存在することがないように、検出パターンは定められる。なお、固有表現種別ＩＤが異なっていれば、同一の検出パターンが存在してもよく、検出パターン自体が同一であっても、固有表現種別ＩＤが異なっていれば、異なる検出パターンとして扱う。
【００３４】
抽出結果記憶部１３は、抽出部１６が検出パターンを用いて、文書から抽出した文字列（抽出情報）を記憶する記憶装置である。図３は、抽出結果記憶部１３が記憶する情報の例を示す模式図である。後述するように、抽出部１６（より具体的には、情報抽出部１６２）は、検出パターンを用いて、文書から文字列を抽出する。抽出部１６は、抽出した文字列毎に、検出ＩＤを割り当て、抽出した文字列（抽出情報）と、検出ＩＤと、その文字列が抽出された文書の文書ＩＤと、その文字列の抽出に用いた検出パターンのパターンＩＤと、その検出パターンに対応する固有表現種別ＩＤと、データフラグとを対応付けて、抽出結果記憶部１３に記憶させる。図３は、このように抽出結果記憶部１３に記憶された各レコードの例を示している。
【００３５】
データフラグは、レコード（図３に示すように、検出ＩＤと、データフラグと、文書ＩＤと、パターンＩＤと、固有表現種別ＩＤと、抽出された文字列とを含むレコード）が後述の教師データの作成に利用されたレコードであるのか、あるいは、実運用ステップで文字列が抽出されたことによって作成されたレコードであるのかを示すフラグである。以下、教師データの作成に利用されたレコードでは、データフラグを“０”に設定し、実運用ステップで文字列が抽出されたことによって作成されたレコードでは、データフラグを“１”に設定するものとする。ただし、データフラグの初期値はブランク（符号“−”で表す。）であるものとする。従って、モデル学習ステップにおいて、抽出部１６が、検出パターンを用いて文書から文字列を検出し、図３に例示するレコードを抽出結果記憶部１３に記憶させる場合、そのレコードのデータフラグの値を初期値“−”に設定する。
【００３６】
教師データの作成は、ユーザが行う。従って、教師データの作成に利用されたレコードのデータフラグの値を“０”に設定する動作は、ユーザが行う。
【００３７】
教師データ記憶部１４は、検出パターン記憶部１２に記憶されている各検出パターンを評価するためのモデルを機械学習によって生成する際に用いられる教師データを記憶する記憶装置である。図４は、教師データ記憶部１４に記憶される教師データの例を示す模式図である。図４に示すように、教師データは、文書ＩＤと、パターンＩＤと、正解フラグとの組の集合である。
【００３８】
教師データに含まれる正解フラグについて説明する。抽出部１６が検出パターンを用いて文書から抽出した文字列は、固有情報であるとは限らない。ユーザは、訓練用文書と検出パターン記憶部１２に記憶されている検出パターンの組合せ毎に、文書ＩＤと、パターンＩＤと、正解フラグとの組を定める。そして、ユーザは、その組毎に、組に含まれる文書ＩＤおよびパターンＩＤを含む、抽出結果記憶部１３に記憶されたレコードを確認し、そのレコードに含まれている文字列が固有情報であるか否かを判断する。正解フラグは、この判断結果を示している。また、ユーザは、そのレコードに含まれているデータフラグ（図３参照）の値を“０”に設定する。本実施形態では、ユーザは、抽出された文字列が固有情報でないと判断した場合、正解フラグを“０”に設定し、正解フラグを“０”に設定しなかった組の正解フラグの値を全て“１”に設定する場合を例にして説明する。すなわち、ユーザは、抽出された文字列が固有情報でないと判断した場合以外については、文字列が抽出され、その文字列が固有情報であるものとみなす場合を例にして説明する。
【００３９】
訓練用文書と検出パターン記憶部１２に記憶されている検出パターンの組合せ毎に、文書ＩＤと、パターンＩＤと、正解フラグとの組が定められるので、教師データにおいて、共通の文書ＩＤを含む行の数は、検出パターンの数と同じ数だけ存在する。
【００４０】
モデル記憶部１５は、検出パターン記憶部１２に記憶されている各検出パターンを評価するためのモデルを記憶する記憶装置である。モデル学習部１７が、教師データ記憶部１４に記憶されている教師データを用いて、各検出パターンを評価するためのモデルを機械学習によって生成し、そのモデルをモデル記憶部１５に記憶させる。より具体的には、モデル学習部１７は、与えられた文書から固有情報を抽出する可能性を示すスコアを検出パターン毎に導出するモデルを生成し、そのモデルをモデル記憶部１５に記憶させる。
【００４１】
抽出部１６は、文書記憶部１１から各文書を取得し、検出パターンを用いて、文書毎に、検出パターンに該当する文字列を文書から抽出する。抽出部１６について、より詳細に説明する。
【００４２】
前述のように、抽出部１６は、文書取得部１６１と、情報抽出部１６２とを備える。
【００４３】
モデル学習ステップでは、文書取得部１６１は、モデルの生成に用いられる訓練用文書を、順次、文書記憶部１１から取得する。そして、モデル学習ステップでは、情報抽出部１６２は、訓練用文書毎に、検出パターン記憶部１２に記憶されている各検出パターンを用いて、検出パターンに該当する文字列を文書から抽出する。そして、情報抽出部１６２は、図３に例示するレコードを抽出結果記憶部１３に記憶させる。
【００４４】
また、実運用ステップでは、固有情報の抽出対象となる文書を、順次、文書記憶部１１から取得する。そして、実運用ステップでは、情報抽出部１６２は、その文書毎に、検出パターン選択部１８によって選択された検出パターンを用いて、検出パターンに該当する文字列を文書から抽出する。そして、抽出結果に応じたレコードを抽出結果記憶部１３に記憶させる。実運用ステップでは、情報抽出部１６２は、レコードに含まれるデータフラグの値を“１”に設定する。
【００４５】
モデル学習ステップでは、情報抽出部１６２は、文書に依存せずに、検出パターン記憶部１２に記憶されている各検出パターンを用いて、文書から文字列を抽出する。これに対して、実運用ステップでは、文書から文字列を抽出する際に用いられる検出パターンは、文書に応じて、検出パターン選択部１８によって選択される。
【００４６】
モデル学習部１７は、教師データ記憶部１４に記憶されている教師データ（図４参照）に基づいて、与えられた文書から固有情報を抽出する可能性を示すスコアを検出パターン毎に導出するモデルを機械学習によって生成する。モデル学習部１７について、より詳細に説明する。
【００４７】
前述のように、モデル学習部１７は、第１の前処理部１７１と、学習部１７２とを備える。モデル学習部１７（第１の前処理部１７１および学習部１７２）は、モデル学習ステップで動作する。
【００４８】
前述のように、教師データを作成する際には、訓練用文書と検出パターン記憶部１２に記憶されている検出パターンの組合せ毎に、文書ＩＤと、パターンＩＤと、正解フラグとの組が定められる。従って、教師データにおいて、共通の文書ＩＤを含む行の数は、検出パターンの数と同じ数だけ存在する。検出パターン記憶部１２に記憶されている検出パターンの数をｋ個とし、１番目の検出パターンからｋ番目の検出パターンまでの順序が、パターンＩＤ（図２（ａ）参照）によって定められているものとする。
【００４９】
第１の前処理部１７１は、訓練用文書の文書ＩＤ毎に、教師データに含まれているｋ行分のデータに基づいて、そのｋ行分のデータに応じたベクトルを生成する。このベクトルは、１番目の検出パターンからｋ番目の検出パターンまでのｋ個の検出パターンと一対一に対応するｋ個の要素を有するベクトルである。そして、第１の前処理部１７１は、上記のｋ行分のデータをそれぞれ参照して、ｉ番目の検出パターンによって抽出された文字列が固有表現に該当すると判断されている場合（すなわち、ｉ番目の検出パターンに対応する行において、正解フラグが“１”である場合）、ｉ番目の検出パターンに対応するベクトルの要素の値を１とする。また、第１の前処理部１７１は、ｉ番目の検出パターンによって抽出された文字列が固有表現に該当しないと判断されている場合（すなわち、ｉ番目の検出パターンに対応する行において、正解フラグが“０”である場合）、ｉ番目の検出パターンに対応するベクトルの要素の値を０とする。ここで、ｉは、１からｋまでの各整数である。
【００５０】
第１の前処理部１７１は、訓練用文書の文書ＩＤ毎に、上記のベクトルを定める。訓練用文書の文書ＩＤ毎に定められる上記のベクトルの要素の数は、いずれも、ｋ個（検出パターン記憶部１２に記憶されている検出パターンの数）である。
【００５１】
図５は、第１の前処理部１７１によって訓練用文書の文書ＩＤ毎に定められたベクトルの例を示す模式図である。
【００５２】
また、第１の前処理部１７１は、訓練用文書の内容に応じたベクトルを、訓練用文書の文書ＩＤ毎に生成する。例えば、第１の前処理部１７１は、所定数の文字を含む文字列の種類と一対一に対応する要素を含むベクトルを、訓練用文書の内容に応じたベクトルとして用いてもよい。そして、第１の前処理部１７１は、訓練用文書に対して上記の所定数でＮ−ｇｒａｍを適用し、文字列の出現回数を、その文字列に対応する要素の値として設定することによって、１つの訓練用文書に応じたベクトルを定めてもよい。第１の前処理部１７１は、訓練用文書の文書ＩＤ毎に、上記のベクトルを定める。
【００５３】
また、例えば、第１の前処理部１７１は、各種単語と一対一に対応する要素を含むベクトルを、訓練用文書の内容に応じたベクトルとして用いてもよい。そして、第１の前処理部１７１は、訓練用文書に対して形態素解析を行い、単語の出現回数を、その単語に対応する要素の値として設定することによって、１つの訓練用文書に応じたベクトルを定めてもよい。この場合も、第１の前処理部１７１は、訓練用文書の文書ＩＤ毎に、上記のベクトルを定める。
【００５４】
第１の前処理部１７１は、上記のように、訓練用文書の文書ＩＤ毎に、教師データに応じたベクトルを生成するとともに（図５参照）、訓練用文書の文書ＩＤ毎に、訓練用文書の内容に応じたベクトルを生成する。従って、第１の前処理部１７１は、訓練用文書の文書ＩＤ毎に、２種類のベクトルを生成することになる。
【００５５】
学習部１７２は、第１の前処理部１７１が訓練用文書の文書ＩＤ毎に生成したベクトルの各組を用いて、教師あり機械学習を行うことによって、スコア（与えられた文書から固有情報を抽出する可能性を示すスコア）を検出パターン毎に導出するモデルを生成する。学習部１７２は、教師あり機械学習として、ニューラルネットワークを用いた機械学習を行ってもよい。図６は、ニューラルネットワークを用いた機械学習を示す模式図である。なお、上記のスコアが高い検出パターンほど、文書から固有情報を抽出する可能性が高い。
【００５６】
学習部１７２は、生成したモデルをモデル記憶部１５に記憶させる。
【００５７】
検出パターン選択部１８は、実運用ステップで動作する。検出パターン選択部１８は、実運用ステップで、固有情報の抽出対象となる文書毎に、文書に応じた検出パターンを選択する。より具体的には、検出パターン選択部１８は、文書毎に、文書から固有情報を抽出する可能性が高い（換言すれば、文書から固有情報を抽出する際の有用性が高い）検出パターンを、検出パターン記憶部１２に記憶されている各検出パターンの中から選択する。検出パターン選択部１８について、より詳細に説明する。
【００５８】
前述のように、検出パターン選択部１８は、第２の前処理部１８１と、判定部１８２とを備える。
【００５９】
第２の前処理部１８１は、固有情報の抽出対象となる文書毎に、文書の内容に応じたベクトルを生成する。この動作は、第１の前処理部１７１が、文書毎に、文書の内容に応じたベクトルを生成する動作と同様である。
【００６０】
例えば、第２の前処理部１８１は、所定数の文字を含む文字列の種類と一対一に対応する要素を含むベクトルを、文書の内容に応じたベクトルとして用いてもよい。そして、第２の前処理部１８１は、文書に対して上記の所定数でＮ−ｇｒａｍを適用し、文字列の出現回数を、その文字列に対応する要素の値として設定することによって、１つの文書に応じたベクトルを定めてもよい。第２の前処理部１８１は、与えられた文書毎に、上記のベクトルを定める。
【００６１】
また、例えば、第２の前処理部１８１は、各種単語と一対一に対応する要素を含むベクトルを、文書の内容に応じたベクトルとして用いてもよい。そして、第２の前処理部１８１は、文書に対して形態素解析を行い、単語の出現回数を、その単語に対応する要素の値として設定することによって、１つの文書に応じたベクトルを定めてもよい。この場合も、第２の前処理部１８１は、与えられた文書毎に、上記のベクトルを定める。
【００６２】
判定部１８２は、モデル記憶部１５からモデルを読み込む。そして、判定部１８２は、与えられた文書毎に、第２の前処理部１８１によって生成されたベクトル（文書の内容に応じたベクトル）をモデルに適用することによって、検出パターン記憶部１２に記憶されている各検出パターンのスコアを導出する。このスコアが高い検出パターンほど、文書から固有情報を抽出する可能性が高い。判定部１８２は、与えられた文書毎に、検出パターン記憶部１２に記憶されている各検出パターンの中から、スコアが閾値以上であるという条件を満たしている検出パターンを選択する。閾値は、予め、定数として定めておけばよい。
【００６３】
この結果、文書毎に、固有情報を抽出する可能性が高い検出パターンが選択される。
【００６４】
判定部１８２は、文書毎に、文書ＩＤと選択した検出パターンのパターンＩＤとを対応付けた情報を、例えば、検出パターン記憶部１２に記憶させる。図７は、文書毎に、文書ＩＤと選択した検出パターンのパターンＩＤとを対応付けた情報の例を示す模式図である。なお、１つの文書に対して、判定部１８２によって選択される検出パターンは、１つとは限らず、２つ以上であってもよい。
【００６５】
情報抽出部１６２は、実運用ステップで、与えられた文書毎に検出パターンが選択された場合、文書に応じて選択された検出パターンを用いて、文書から文字列を抽出する。
【００６６】
抽出部１６（文書取得部１６１および情報抽出部１６２）、モデル学習部１７（第１の前処理部１７１および学習部１７２）、並びに、検出パターン選択部１８（第２の前処理部１８１および判定部１８２）は、例えば、検出パターン評価モデル生成プログラムに従って動作するコンピュータのＣＰＵ（Central Processing Unit ）によって実現される。この場合、ＣＰＵが、コンピュータのプログラム記憶装置等のプログラム記録媒体から検出パターン評価モデル生成プログラムを読み込み、そのプログラムに従って、抽出部１６（文書取得部１６１および情報抽出部１６２）、モデル学習部１７（第１の前処理部１７１および学習部１７２）、並びに、検出パターン選択部１８（第２の前処理部１８１および判定部１８２）として動作すればよい。
【００６７】
次に、本発明の実施形態の処理経過について説明する。図８は、本発明の実施形態のモデル学習ステップの処理経過の例を示すフローチャートである。なお、文書記憶部１１には、予め、複数の訓練用文書が記憶されているものとする。また、既に説明した事項に関しては、適宜、説明を省略する。
【００６８】
抽出部１６は、訓練用文書毎に、次に説明するステップＳ１０１〜Ｓ１０３の処理を行う。すなわち、抽出部１６は、ステップＳ１０１〜Ｓ１０３の処理を、訓練用文書の数分、繰り返す。
【００６９】
ステップＳ１０１において、文書取得部１６１は、未だ取得していない訓練用文書を１つ、文書記憶部１１から取得する。
【００７０】
次のステップＳ１０２において、情報抽出部１６２は、検出パターン記憶部１２に記憶されている各検出パターンを用いて、検出パターンに該当する文字列を、ステップＳ１０１で取得された訓練用文書から抽出する。ステップＳ１０２において、情報抽出部１６２は、形態素解析等の一般的な技術を利用して、検出パターンに該当する文字列を、単語単位で抽出する。既に説明したように、検出パターン自体が同一であっても、固有表現種別ＩＤが異なっていれば、異なる検出パターンとして扱う。
【００７１】
次にステップＳ１０３において、情報抽出部１６２は、検出パターン記憶部１２に記憶されている各検出パターンのうち、ステップＳ１０２で文字列を抽出することができた検出パターンに関して、それぞれ、レコード（図３に示すように、検出ＩＤと、データフラグと、文書ＩＤと、パターンＩＤと、固有表現種別ＩＤと、抽出された文字列とを含むレコード）を作成し、抽出結果記憶部１３に記憶させる。このとき、情報抽出部１６２は、データフラグの値を、初期値“−”に設定する。情報抽出部１６２は、検出ＩＤの値を、新たに抽出された文字列毎に割り当てる（換言すれば、新たなレコード毎に割り当てる）。文書ＩＤの値は、ステップＳ１０１で取得された訓練用文書の文書ＩＤの値である。パターンＩＤの値は、文字列を抽出した検出パターンのパターンＩＤの値であり、固有表現種別ＩＤの値は、その検出パターンに対応する固有表現種別ＩＤの値である。
【００７２】
全ての訓練用文書についてステップＳ１０１〜Ｓ１０３の処理を実行した後、ステップＳ１０４に移行する。
【００７３】
ステップＳ１０４において、ユーザは、正解フラグの値を設定し、教師データを作成する。ユーザは、訓練用文書と検出パターン記憶部１２に記憶されている検出パターンの組合せ毎に、文書ＩＤと、パターンＩＤと、正解フラグとの組を定める。このとき、ユーザは、その組毎に、組に含まれる文書ＩＤおよびパターンＩＤを含む、抽出結果記憶部１３に記憶されたレコードを確認し、そのレコードに含まれている文字列が固有情報であるか否かを判断する。そして、ユーザは、文字列が固有情報でないと判断した場合、正解フラグを“０”に設定し、正解フラグが“０”に設定しなかった組の正解フラグの値を全て“１”に設定する。また、ユーザは、抽出結果記憶部１３に記憶されたレコードのうち、ステップＳ１０４で確認したレコードのデータフラグ（図３参照）の値を“０”に更新する。
【００７４】
ユーザは、ステップＳ１０４で定めた文書ＩＤと、パターンＩＤと、正解フラグとの組を教師データ記憶部１４に記憶させる。
【００７５】
次に、第１の前処理部１７１は、学習部１７２による処理の前処理を実行する（ステップＳ１０５）。具体的には、訓練用文書の文書ＩＤ毎に、教師データに応じたベクトルを生成するとともに（図５参照）、訓練用文書の文書ＩＤ毎に、訓練用文書の内容に応じたベクトルを生成する。教師データに応じたベクトルを生成する方法については、既に説明したので、ここでは説明を省略する。また、訓練用文書の内容に応じたベクトルを生成する方法についても、既に説明したので、ここでは説明を省略する。
【００７６】
ステップＳ１０５で、第１の前処理部１７１が訓練用文書の文書ＩＤ毎に２種類のベクトルを生成した後、学習部１７２は、ステップＳ１０５で訓練用文書の文書ＩＤ毎に生成されたベクトルの各組を用いて、教師あり機械学習を行うことによって、スコア（与えられた文書から固有情報を抽出する可能性を示すスコア）を検出パターン毎に導出するモデルを生成する（ステップＳ１０６）。例えば、機械学習に、ニューラルネットワークモデルを利用する場合、図６に示すように正解データ（教師データ）の結果が得られるように、学習部１７２は、誤差逆伝搬法等を用いて、モデルを生成する。
【００７７】
学習部１７２は、ステップＳ１０６で生成したモデルをモデル記憶部１５に記憶させる（ステップＳ１０７）。ステップＳ１０７で、モデル学習ステップが終了する。
【００７８】
次に、実運用ステップの処理経過を説明する。図９は、本発明の実施形態の実運用ステップの処理経過の例を示すフローチャートである。なお、文書記憶部１１には、予め、実運用ステップにおいて固有情報の抽出対象となる文書が記憶されているものとする。固有情報の抽出対象となる文書が文書記憶部１１に記憶されているということは、固有情報の抽出対象となる文書が与えられていることを意味する。以下の説明において、既に説明した事項については、適宜、説明を省略する。
【００７９】
実運用ステップにおいて固有情報の抽出対象となる文書を、以下、抽出対象文書と記す。
【００８０】
検出パターン評価モデル生成システム１は、抽出対象文書毎に、次に説明するステップＳ２０１〜Ｓ２０７の処理を行う。すなわち、検出パターン評価モデル生成システム１は、ステップＳ２０１〜Ｓ２０７の処理を、抽出対象文書の数分、繰り返す。
【００８１】
ステップＳ２０１において、文書取得部１６１は、未だ取得していない抽出対象文書を１つ、文書記憶部１１から取得する。
【００８２】
次のステップＳ２０２において、第２の前処理部１８１は、判定部１８２の処理の前処理を実行する。具体的には、第２の前処理部１８１は、ステップＳ２０１で取得された抽出対象文書の内容に応じたベクトルを生成する。第２の前処理部１８１が文書の内容に応じたベクトルを生成する方法については、既に説明したので、ここでは説明を省略する。
【００８３】
次のステップＳ２０３において、判定部１８２は、モデル記憶部１５からモデル（モデル学習ステップで生成されたモデル）を読み込み、ステップＳ２０２で生成されたベクトルをそのモデルに適用することによって、検出パターン記憶部１２に記憶されている各検出パターンのスコアをそれぞれ導出する。従って、ステップＳ２０３では、判定部１８２は、抽出対象文書から固有情報を抽出する可能性を示すスコアを、それぞれの検出パターン毎に求めることになる。スコアが高い検出パターンほど、抽出対象文書から固有情報を抽出する可能性が高い。
【００８４】
次のステップＳ２０４では、ステップＳ２０３で得られたスコアが閾値以上であるという条件を満たしている検出パターンを選択する。ステップＳ２０４で選択される検出パターンの数は１つとは限らず、２つ以上であってもよい。スコアが閾値以上であるという条件を満たしている検出パターンは、抽出対象文書から固有情報を抽出する可能性が高いと言える。すなわち、抽出対象文書から固有情報を抽出する際に有用な検出パターンであると言える。
【００８５】
次のステップＳ２０５では、判定部１８２は、ステップＳ２０１で取得された抽出対象文書の文書ＩＤと、ステップＳ２０４で選択した各検出パターンのパターンＩＤとを対応付けて、検出パターン記憶部１２に記憶させる。
【００８６】
次のステップＳ２０６では、情報抽出部１６２は、ステップＳ２０１で取得された抽出対象文書の文書ＩＤに対応付けて検出パターン記憶部１２に記憶されたパターンＩＤが示す各検出パターン（すなわち、ステップＳ２０４で判定部１８２が選択した各検出パターン）を、検出パターン記憶部１２から読み込む。そして、情報抽出部１６２は、その各検出パターンに該当する文字列をそれぞれ、ステップＳ２０１で取得された抽出対象文書から抽出する。
【００８７】
判定部１８２が選択した各検出パターンは、スコアが閾値以上であるという条件を満たしている検出パターンであり、ステップＳ２０１で取得された抽出対象文書から固有情報を抽出する可能性が高い検出パターンである。従って、ステップＳ２０６で抽出された文字列は、固有情報である可能性が高いと言える。
【００８８】
次のステップＳ２０７では、情報抽出部１６２は、ステップＳ２０６で用いた各検出パターンのうち、文字列を抽出することができた検出パターンに関して、それぞれ、レコード（図３に示すように、検出ＩＤと、データフラグと、文書ＩＤと、パターンＩＤと、固有表現種別ＩＤと、抽出された文字列とを含むレコード）を作成し、抽出結果記憶部１３に記憶させる。情報抽出部１６２は、ステップＳ２０７でレコードを作成する場合、データフラグの値を“１”に設定する。また、情報抽出部１６２は、検出ＩＤの値を、新たに抽出された文字列毎に割り当てる。文書ＩＤの値は、ステップＳ２０１で取得された抽出対象文書の文書ＩＤである。パターンＩＤの値は、ステップＳ２０６で文字列を抽出した検出パターンのパターンＩＤの値であり、固有表現種別ＩＤの値は、その検出パターンに対応する固有表現種別ＩＤの値である。
【００８９】
検出パターン評価モデル生成システム１は、全ての抽出対象文書についてステップＳ２０１〜Ｓ２０７の処理を実行すると、実運用ステップを終了する。
【００９０】
実運用ステップの終了後、ユーザは、抽出結果記憶部１３に記憶されているレコードのうち、データフラグの値が“１”となっているレコードに含まれている文字列を、固有情報である可能性が高い文字列であると判断してよい。
【００９１】
本実施形態によれば、モデル学習部１７は、文書ＩＤと、パターンＩＤと、正解フラグとの組の集合を教師データとして、与えられた文書から固有情報を抽出する可能性を示すスコアを、検出パターン記憶部１２に記憶されている検出パターン毎に導出するためのモデルを、機械学習によって生成する。従って、本実施形態によれば、検出パターンのそれぞれが、与えられた文書から固有表現を抽出するのにどの程度適しているのかを評価することができるモデルを生成することができる。
【００９２】
さらに、本実施形態によれば、検出パターン選択部１８は、文書取得部１６１がステップＳ２０１で抽出対象文書を取得した場合、その抽出対象文書の内容に応じたベクトルを、モデル学習ステップで生成されたモデルに適用することによって、検出パターン毎にスコアを導出する。従って、そのスコアによって、その抽出対象文書から固有情報を抽出するために、個々の検出パターンがどの程度適しているのかを評価することができる。
【００９３】
さらに、検出パターン選択部１８は、検出パターン記憶部１２に記憶されている各検出パターンの中から、スコアが閾値以上であるという条件を満たしている検出パターンを選択する。そして、情報抽出部１６２は、ステップＳ２０１で取得された抽出対象文書から、その選択パターンを用いて文字列を抽出する。従って、この文字列は固有情報である可能性が高い。従って、本来、固有情報でない文字列が多く検出されてしまうという過検出を抑え、固有情報である可能性が高い文字列を主に抽出することができる。
【００９４】
また、検出パターン選択部１８は、文書取得部１６１がステップＳ２０１で取得した抽出対象文書に応じて、検出パターンを選択する。従って、過検出を抑える効果を高めることができる。
【００９５】
また、検出パターン選択部１８（判定部１８２）は、ステップＳ２０５において、ステップＳ２０１で取得された抽出対象文書の文書ＩＤと、ステップＳ２０４で選択した各検出パターンのパターンＩＤとを対応付けて、検出パターン記憶部１２に記憶させる。従って、例えば、図７に例示する情報が検出パターン記憶部１２に蓄積され、ユーザは、その情報を確認することによって、選択された検出パターンによって文字列が抽出されるロジックを確認することができる。
【００９６】
図１０は、本発明の実施形態に係るコンピュータの構成例を示す概略ブロック図である。コンピュータ１０００は、ＣＰＵ１００１と、主記憶装置１００２と、補助記憶装置１００３と、インタフェース１００４とを備える。
【００９７】
本発明の実施形態の検出パターン評価モデル生成システム１は、コンピュータ１０００に実装される。検出パターン評価モデル生成システム１の動作は、検出パターン評価モデル生成プログラムの形式で補助記憶装置１００３に記憶されている。ＣＰＵ１００１は、その検出パターン評価モデル生成プログラムを補助記憶装置１００３から読み出して主記憶装置１００２に展開し、その検出パターン評価モデル生成プログラムに従って、上記の実施形態で説明した処理を実行する。
【００９８】
補助記憶装置１００３は、一時的でない有形の媒体の例である。一時的でない有形の媒体の他の例として、インタフェース１００４を介して接続される磁気ディスク、光磁気ディスク、ＣＤ−ＲＯＭ（Compact Disk Read Only Memory ）、ＤＶＤ−ＲＯＭ（Digital Versatile Disk Read Only Memory ）、半導体メモリ等が挙げられる。また、このプログラムが通信回線によってコンピュータ１０００に配信される場合、配信を受けたコンピュータ１０００がそのプログラムを主記憶装置１００２に展開し、上記の処理を実行してもよい。
【００９９】
次に、本発明の概要について説明する。図１１は、本発明の検出パターン評価モデル生成システムの概要を示すブロック図である。本発明の検出パターン評価モデル生成システムは、抽出手段９１と、モデル生成手段９２とを備える。
【０１００】
抽出手段９１（例えば、抽出部１６）は、文書から固有表現を抽出するための複数の検出パターンを用いて、文書毎に、検出パターンに該当する文字列を文書から抽出する。
【０１０１】
モデル生成手段９２（例えば、モデル学習部１７）は、文書と、検出パターンと、当該検出パターンに基づいて当該文書から抽出された文字列が固有表現に該当するか否かの判断結果（例えば、正解フラグ）との組の集合を教師データとして、与えられた文書から固有表現を抽出する可能性を検出パターン毎にスコアとして導出するためのモデルを、機械学習によって生成する。
【０１０２】
そのような構成によって、文書から固有表現を抽出するための複数の検出パターンのそれぞれが、与えられた文書から固有表現を抽出するのにどの程度適しているのかを評価することができるモデルを生成できる。
【０１０３】
また、固有表現の抽出対象となる文書が与えられた場合に、モデル生成手段９２によって生成されたモデルを用いて、個々の検出パターン毎に、その文書から固有表現を抽出する可能性を示すスコアを導出し、スコアに基づいて、その文書から固有表現を抽出するために用いる検出パターンを選択する検出パターン選択手段（例えば、検出パターン選択部１８）を備え、抽出手段９１が、固有表現の抽出対象となる文書が与えられた場合に、検出パターン選択手段が選択した検出パターンを用いて、その文書から、検出パターンに該当する文字列を抽出する構成であってもよい。
【０１０４】
また、モデル生成手段９２が、教師データに基づいて、検出パターンと一対一に対応する要素を有するベクトルであって、一の検出パターンによって抽出された文字列が固有表現に該当すると判断されている場合にはその一の検出パターンに対応する要素の値を１とし、一の検出パターンによって抽出された文字列が固有表現に該当しないと判断されている場合にはその一の検出パターンに対応する要素の値を０としたベクトルと、文書の内容に応じたベクトルとをそれぞれ、文書毎に作成し、文書毎に作成したベクトルの組を用いて、機械学習によってモデルを生成する構成であってもよい。
【産業上の利用可能性】
【０１０５】
本発明は、文書から固有表現を抽出するための検出パターンを評価するためのモデルを生成する検出パターン評価モデル生成システムに好適に適用可能である。
【符号の説明】
【０１０６】
１  検出パターン評価モデル生成システム
１１  文書記憶部
１２  検出パターン記憶部
１３  抽出結果記憶部
１４  教師データ記憶部
１５  モデル記憶部
１６  抽出部
１７  モデル学習部
１８  検出パターン選択部
１６１  文書取得部
１６２  情報抽出部
１７１  第１の前処理部
１７２  学習部
１８１  第２の前処理部
１８２  判定部
【図１】
2019164609.tif 000003
【図２】
2019164609.tif 000004
【図３】
2019164609.tif 000005
【図４】
2019164609.tif 000006
【図５】
2019164609.tif 000007
【図６】
2019164609.tif 000008
【図７】
2019164609.tif 000009
【図８】
2019164609.tif 000010
【図９】
2019164609.tif 000011
【図１０】
2019164609.tif 000012
【図１１】
2019164609.tif 000013