(57)【要約】【課題】契約書の記述内容を適切に検査することができる検査装置等を提供する。【解決手段】検査装置１は、複数の条項夫々のモデルデータを記憶する記憶部と、契約書を取得する取得部と、取得した前記契約書から前記条項に相当する箇所を判別する判別部と、前記条項毎に対応する前記モデルデータと、前記契約書から判別した前記条項毎の文章と、の差分に基づき前記契約書の注意箇所を抽出する抽出部と、前記注意箇所を出力する出力部とを備えることを特徴とする。【選択図】図１
2019212115.tif 000002
【特許請求の範囲】
【請求項１】
複数の条項夫々のモデルデータを記憶する記憶部と、
契約書を取得する取得部と、
取得した前記契約書から前記条項に相当する箇所を判別する判別部と、
前記条項毎に対応する前記モデルデータと、前記契約書から判別した前記条項毎の文章と、の差分に基づき前記契約書の注意箇所を抽出する抽出部と、
前記注意箇所を出力する出力部と
を備えることを特徴とする検査装置。
【請求項２】
前記契約書から判別した前記条項毎の文章を、所定単位の文字又は文字列である複数の要素に分割する分割部を備え、
前記モデルデータは、契約書の前記条項毎に、各要素の次に出現する前記要素を前記文章の順に学習した学習済みモデルであり、
前記抽出部は、
前記モデルデータを参照して、前記分割部が分割した前記文章の前記各要素の生起確率を算出し、
算出した前記生起確率に応じて前記差分を抽出する
ことを特徴とする請求項１に記載の検査装置。
【請求項３】
前記注意箇所を出力する場合、前記出力部は前記モデルデータを参照して、前記生起確率が最大となる前記要素を前記注意箇所の修正候補として出力する
ことを特徴とする請求項２に記載の検査装置。
【請求項４】
前記記憶部は、前記条項毎に、雛形とすべき契約書を学習した第１のモデルデータと、注意すべき契約書を学習した第２のモデルデータとを記憶してあり、
前記抽出部は、前記第１及び第２のモデルデータ夫々の差分に基づき、前記条項毎の文章の前記注意箇所を抽出する
ことを特徴とする請求項２又は３に記載の検査装置。
【請求項５】
前記記憶部は、種別に応じた前記モデルデータを記憶してあり、
前記判別部は、前記契約書の種別を判別し、
前記抽出部は、前記契約書の種別に対応する前記モデルデータに基づいて前記注意箇所を抽出する
ことを特徴とする請求項１〜４のいずれか１項に記載の検査装置。
【請求項６】
前記記憶部は、前記複数の条項夫々に対応するキーワードを記憶してあり、
前記判別部は、前記文章に含まれる前記キーワードに基づき前記条項を判別する
ことを特徴とする請求項１〜５のいずれか１項に記載の検査装置。
【請求項７】
前記記憶部は、前記条項毎に、各単語の出現頻度に応じた前記文章の特徴量を記憶してあり、
前記判別部は、
前記各条項の文章に含まれる各単語の出現頻度に基づき、前記文章の特徴量を算出し、
算出した前記文章の特徴量と、前記記憶部に記憶されている特徴量との類似度を算出し、
算出した前記類似度に応じて前記条項を判別する
ことを特徴とする請求項１〜５のいずれか１項に記載の検査装置。
【請求項８】
前記出力部は、前記複数の条項夫々のモデルデータを参照して、前記契約書に記述されていない前記条項を判別して前記条項の文例を出力する
ことを特徴とする請求項１〜７のいずれか１項に記載の検査装置。
【請求項９】
前記差分を所定数以上有する前記条項の文章を特定する特定部を備え、
前記出力部は、特定した前記条項の文章全体を前記注意箇所として出力する
ことを特徴とする請求項１〜８のいずれか１項に記載の検査装置。
【請求項１０】
契約書を取得し、
取得した前記契約書から、該契約書に含まれる複数の条項に夫々相当する箇所を判別し、
前記複数の条項夫々のモデルデータを記憶する記憶部を参照して、前記条項毎に対応する前記モデルデータと、前記契約書から判別した前記条項毎の文章と、の差分に基づき前記契約書の注意箇所を抽出し、
前記注意箇所を出力する
処理をコンピュータに実行させることを特徴とする検査方法。
【請求項１１】
契約書を取得し、
取得した前記契約書から、該契約書に含まれる複数の条項に夫々相当する箇所を判別し、
前記複数の条項夫々のモデルデータを記憶する記憶部を参照して、前記条項毎に対応する前記モデルデータと、前記契約書から判別した前記条項毎の文章と、の差分に基づき前記契約書の注意箇所を抽出し、
前記注意箇所を出力する
処理をコンピュータに実行させることを特徴とするプログラム。
【請求項１２】
契約書を取得する取得部と、
前記契約書に含まれる条項毎の文章を、所定単位の文字又は文字列である複数の要素に分割する分割部と
前記条項毎に、各要素の次に出現する前記要素を前記文章における順に学習したモデルデータを生成する生成部と
を備えることを特徴とする学習装置。
【請求項１３】
前記取得部は、雛形とすべき契約書と、注意すべき契約書とを取得し、
前記生成部は、前記雛形とすべき契約書及び注意すべき契約書夫々から第１及び第２のモデルデータを生成する
ことを特徴とする請求項１２に記載の学習装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、契約書の検査装置、検査方法、プログラム及び学習装置に関する。
【背景技術】
【０００２】
文字の入力ミス、変換ミス、助詞の誤用のような、文章内の誤りを指摘する種々の方法がある。例えば特許文献１では、単語辞書を参照して日本語文書を単語単位で分割し、誤りと推定される部分を種々のルールに従って判定する文書校正装置が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−３３８６８２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１に係る発明は、一般的な文法の誤りなどを推定しているのみであり、文書自体の趣旨に沿って具体的な内容の瑕疵を検出するに至っていない。
【０００５】
一つの側面では、契約書の記述内容を適切に検査することができる検査装置等を提供することを目的とする。
【課題を解決するための手段】
【０００６】
一つの側面では、検査装置は、複数の条項夫々のモデルデータを記憶する記憶部と、契約書を取得する取得部と、取得した前記契約書から前記条項に相当する箇所を判別する判別部と、前記条項毎に対応する前記モデルデータと、前記契約書から判別した前記条項毎の文章と、の差分に基づき前記契約書の注意箇所を抽出する抽出部と、前記注意箇所を出力する出力部とを備えることを特徴とする。
【発明の効果】
【０００７】
一つの側面では、契約書の記述内容を適切に検査することができる。
【図面の簡単な説明】
【０００８】
【図１】契約書検査システムの構成例を示す模式図である。
【図２】サーバの構成例を示すブロック図である。
【図３】契約書学習処理に関する説明図である。
【図４】言語モデルの生成処理に関する説明図である。
【図５】契約書検査処理に関する説明図である。
【図６】検査結果の出力処理に関する説明図である。
【図７】契約書学習処理の処理手順の一例を示すフローチャートである。
【図８】契約書検査処理の処理手順の一例を示すフローチャートである。
【図９】実施の形態２の概要を示す説明図である。
【図１０】実施の形態２に係る契約書学習処理の処理手順の一例を示すフローチャートである。
【図１１】実施の形態２に係る契約書検査処理の処理手順の一例を示すフローチャートである。
【図１２】実施の形態３の概要を示す説明図である。
【図１３】実施の形態３に係る契約書検査処理の処理手順の一例を示すフローチャートである。
【図１４】上述した形態のサーバの動作を示す機能ブロック図である。
【発明を実施するための形態】
【０００９】
以下、本発明をその実施の形態を示す図面に基づいて詳述する。
（実施の形態１）
図１は、契約書検査システムの構成例を示す模式図である。本実施の形態では、契約書内の記述で誤り等と推定される注意箇所を検出する契約書検査システムについて説明する。契約書検査システムは、情報処理装置（検査装置、学習装置）１、端末２、２、２…を含む。各装置は、インターネット等のネットワークＮを介して通信接続されている。
【００１０】
情報処理装置１は、種々の情報処理、情報の送受信が可能な情報処理装置であり、例えばサーバ装置、パーソナルコンピュータ等である。本実施の形態で情報処理装置１はサーバ装置であるものとし、以下の説明では便宜上サーバ１と読み替える。サーバ１は、所定の契約書の雛形を用いて、契約書に出現する語句を学習する機械学習を行い、契約書内の注意箇所を識別可能な言語モデルを生成する。言語モデルは、自然言語の文章が生成される確率をモデル化したものであり、例えばＮ−ｇｒａｍモデル、隠れマルコフモデルなどがある。後述するように、本実施の形態においてサーバ１は、学習用に与えられる契約書群から再帰型ニューラルネットワーク（Recurrent Neural Network、以下では「ＲＮＮ」と記す）を言語モデルとして構築し、当該ＲＮＮを用いて検査対象の契約書から注意箇所を検出する。
【００１１】
本実施の形態でサーバ１は、契約書の種別、及び契約書に含まれる条項毎に異なる言語モデルを生成する。サーバ１は、本システムを利用するユーザが作成した契約書を端末２から取得し、当該契約書の種別、及び契約書に記述された各条項を判別して文書の構造化を行う。そしてサーバ１は、構造化した契約書の各条項の文章を、条項及び種別毎に異なる言語モデルを用いて分析し、注意箇所を検出する。
【００１２】
端末２は、契約書を作成する各ユーザが使用する端末装置であり、例えばパーソナルコンピュータ、多機能端末等である。端末２は、ユーザが作成した契約書をサーバ１に送信し、契約書の検査処理を要求する。端末２は、サーバ１から検査結果を受信し、契約書の注意箇所を表示する。
【００１３】
図２は、サーバ１の構成例を示すブロック図である。サーバ１は、制御部１１、主記憶部１２、通信部１３、補助記憶部１４を備える。
制御部１１は、一又は複数のＣＰＵ（Central Processing Unit）、ＭＰＵ（Micro-Processing Unit）、ＧＰＵ（Graphics Processing Unit）等の演算処理装置を有し、補助記憶部１４に記憶されたプログラムＰを読み出して実行することにより、サーバ１に係る種々の情報処理、制御処理等を行う。主記憶部１２は、ＳＲＡＭ（Static Random Access Memory）、ＤＲＡＭ（Dynamic Random Access Memory）、フラッシュメモリ等の一時記憶領域であり、制御部１１が演算処理を実行するために必要なデータを一時的に記憶する。通信部１３は、通信に関する処理を行うための処理回路等を含み、外部と情報の送受信を行う。
【００１４】
補助記憶部１４は大容量メモリ、ハードディスク等であり、制御部１１が処理を実行するために必要なプログラムＰ、その他のデータを記憶している。また、補助記憶部１４は、カテゴリ判別モデル１４１、言語モデル１４２を記憶している。カテゴリ判別モデル１４１は、契約書の種別、及び契約書内の条項を判別するためのモデルデータである。言語モデル１４２は、上述の如く、学習用の契約書群から生成される言語モデルのデータであり、各種契約書に含まれる各条項のモデルデータである。後述するように、本実施の形態でサーバ１は、契約書の種別及び条項毎に言語モデル１４２を生成して補助記憶部１４に記憶してある。
【００１５】
なお、補助記憶部１４はサーバ１に接続された外部記憶装置であってもよい。また、サーバ１は複数のコンピュータからなるマルチコンピュータであってもよく、ソフトウェアによって仮想的に構築された仮想マシンであってもよい。
【００１６】
また、本実施の形態においてサーバ１は上記の構成に限られず、例えば可搬型記憶媒体に記憶された情報を読み取る読取部、操作入力を受け付ける入力部、画像を表示する表示部等を含んでもよい。
【００１７】
図３は、契約書学習処理に関する説明図である。図３では、サーバ１が学習用の契約書から複数の言語モデル１４２、１４２、１４２…を生成する様子を概念的に図示してある。以下では、サーバ１が実行する処理の概要について説明する。
【００１８】
サーバ１は、契約書の雛形である雛形契約書群を外部から取得し、各雛形契約書の文章を学習する機械学習を行う。雛形契約書は、サーバ１が学習対象とする契約書の雛形であり、例えば人手で作成された既存の契約書である。サーバ１はまず、各々の雛形契約書から、その契約書の種別、及び契約書に含まれる各条項を判別し、契約書の構造化を行う。そしてサーバ１は、構造化した契約書の各文章を、契約書の種別、及び条項毎に学習して別々の言語モデル１４２を生成する。
【００１９】
契約書の種別は、契約内容を大別する分類であり、例えば秘密保持契約、業務委託契約、共同研究契約などである。なお、上記はいずれも一例であって、契約書の種別は特に限定されない。図３左側に一例として、秘密保持契約に係る契約書を概念的に図示してある。図３で太線枠に示すように、一般的な契約書は、複数の条項に区分して契約内容が記述される。サーバ１は、契約書の条項毎に、各条項の文章を学習する。なお、本明細書では「文章」と言う場合、文章は一文（センテンス）に限定されず、複数の文から成る文章も含まれる。後述するように、サーバ１は、各条項に出現する語句を、契約書における各語句の並び順に従って学習する。これによりサーバ１は、各条項に応じた言語モデル１４２を生成する。
【００２０】
まずサーバ１は、複数の雛形契約書を、契約書の種別に応じて分類する。例えばサーバ１は、契約書の種別を表すキーワードをカテゴリ判別モデル１４１に予め格納（記憶）しておき、当該キーワードが雛形契約書に記述されているか否かに応じて、契約書の種別を判別する。より詳細には、例えばサーバ１は、契約書の書面名として記述されるキーワードをカテゴリ判別モデル１４１に格納しておき、契約書の見出し（タイトル）に記述されている書面名をキーワードと比較して、雛形契約書の種別を判別する。図３に示す契約書では、サーバ１は表題の「秘密保持契約書」から、当該契約書が秘密保持契約に係る契約書であることを判別する。
【００２１】
さらにサーバ１は、カテゴリ判別モデル１４１を参照して、契約書内の各条項に相当する文章部分を特定する。例えばサーバ１は、上記の契約種別の判別時と同じく、キーワードに基づいて各条項を特定する。例えばサーバ１は、各条項を表すキーワードを予めカテゴリ判別モデル１４１に格納（記憶）しておき、当該キーワードが記述された文章部分を条項部分として特定する。例えばサーバ１は、各条項のタイトルに相当する小見出し（サブタイトル）を、カテゴリ判別モデル１４１に格納されたキーワードと比較し、条項を特定する。図３の例では、サーバ１は「第１条」の小見出し「目的」から、当該文章部分を契約の目的に関する条項として判別する。
【００２２】
なお、上記ではサーバ１がキーワードに基づくルールベースで契約書の種別及び条項を判別するものとしたが、本実施の形態はこれに限定されるものではない。例えばサーバ１は、学習対象である契約書の各文章の特徴量を算出し、これと事前に学習済みの各種別及び条項の文章の特徴量との類似度を算出して、算出した類似度に基づき種別及び条項を特定してもよい。
【００２３】
契約書内の各文章の特徴量を算出する手法としては、ｔｆ−ｉｄｆ法がある。ｔｆ−ｉｄｆ法は、文章（文書）群の中のある文章において、その文章を特徴付ける単語を抽出する手法であり、各単語の出現頻度（ｔｆ；Term Frequency）及び逆文書頻度（ｉｄｆ；Inverse Document Frequency）に基づいて、単語の重要度（ｔｆ−ｉｄｆ値）を算出する手法である。ｔｆ−ｉｄｆ法を用いることで、文章内に出現する各単語の重要度を算出し、当該文章を、各単語の重要度を変数とする多次元の特徴量（ベクトル値）で表現することができる。
【００２４】
例えばサーバ１は、契約書において各条項の文章に出現する各単語の出現頻度及び逆文書頻度を算出し、算出した出現頻度及び逆文書頻度から各単語の重要度を算出することで、各文章の特徴量を算出する。サーバ１は、各種別の雛形契約書に含まれる各条項の文章について、上述の如く特徴量を算出する。そしてサーバ１は、算出した各種別及び条項の文章の特徴量と、事前に学習済みの各種別及び条項の文章の特徴量との類似度（例えばコサイン類似度）を算出する。サーバ１は、算出した類似度を所定の閾値と比較する等して、各文章が契約書のいずれの種別及び条項に相当する文章であるかを判別する。
【００２５】
文章特徴量から類似度を算出して各文章の種別及び条項を判別する場合、キーワードに基づくルールベースで種別及び条項を判別する場合と比較して、より適切に判別を行うことができる。例えば条項名が「秘密保持義務」となっていても、実際には当該条項に知的財産に関わる内容が記載されていた場合、キーワードに基づくルールベースではこの記載内容を秘密保持義務に係る条項の文章と判別するが、類似度に基づいて判別を行う場合、当該文章の特徴から知的財産に係る条項の文章と判別することができる。このように、文章の特徴量から類似度を算出することで、契約書内の各文章の種別及び条項を好適に判別することができる。
【００２６】
サーバ１は各契約書について上述の処理を繰り返し、複数の雛形契約書それぞれの種別を判別し、各雛形契約書に記述されている各条項を判別する。すなわちサーバ１は、契約書の構造化を行う。サーバ１は、構造化した各契約書において種別及び条項が共通する文章を元に、各言語モデル１４２を生成する。例えば図３右側に示すように、サーバ１は、種別が「秘密保持契約」であり、かつ、条項が「損害賠償」で共通する各契約書の文章を元に、一の言語モデル１４２を生成する。その他の言語モデル１４２についても同様に、サーバ１は種別及び条項に応じて言語モデル１４２を生成する。
【００２７】
図４は、言語モデル１４２の生成処理に関する説明図である。本実施の形態でサーバ１は、言語モデル１４２としてＲＮＮを構築する。具体的には、サーバ１は、ＲＮＮの一種であるＬＳＴＭ（Long Short-Term Memory）を構築する。
【００２８】
サーバ１は、上記のように種別及び条項に応じて構造化した文章をＲＮＮに入力し、当該文章に出現する語句を学習する。ここでサーバ１はまず、ＲＮＮに入力する文章に対して形態素解析等の自然言語処理を行い、所定単位の文字又は文字列である語句（要素）毎に分割する。この分割単位は、例えば単語、文節等の単位であるが、特に限定されない。例えばサーバ１は、複数の語句を格納した辞書（不図示）を予め記憶しておき、当該辞書に格納された語句に従って文章を分割する。
【００２９】
なお、サーバ１は単語、文節等の単位ではなく、その他の単位で文章を分割してもよい。その他の分割単位としては、サブワード（部分語）と呼ばれる単位が想定され得る。サブワードは通常の分かち書きとは異なり、文章中に出現する頻度に応じて文章を区分した語句の単位である。一般的に文章の最小構成単位として用いられる「単語」は、文章中の文字又は文字列を意味、文法等の観点から最小化した単位であるが、サブワードは意味、文法等による単位ではなく、文章中で用いられる頻度に応じて最小化した単位である。サブワード単位で分割した場合、サーバ１は契約書特有の専門用語も分割可能であるため、より好適に文書の分割を行うことができる。このように、サーバ１は所定単位の文字又は文字列である要素毎に契約書の文章を分割可能であればよく、分割単位とする要素は単語等の単位に限定されない。
【００３０】
サーバ１は、分割した各語句をＲＮＮに係る入力層に入力し、機械学習を行う。図４に、ＲＮＮの構成を概念的に図示する。図４に示すように、ＲＮＮは、入力層、中間層（隠れ層）、及び出力層を有する。入力層は、文章の先頭から順に出現する各語句の入力をそれぞれ受け付ける複数のニューロンを有する。出力層は、入力層の各ニューロンに対応して、各ニューロンに入力される語句の次に出現する語句をそれぞれ推定して出力する複数のニューロンを有する。そして中間層は、入力層の各ニューロンへの入力値（語句）に対して出力層の各ニューロンにおける出力値（語句）を演算するための複数のニューロンを有する。中間層の各ニューロンは、過去の入力値に関する中間層での演算結果を用いて（図４では右向きの矢印で図示）次の入力値に関する演算を行うことで、直前までの語句から次の語句を推定する。
【００３１】
なお、図４に示すＲＮＮの構成は一例であって、本実施の形態はこれに限定されるものではない。例えば中間層は一層に限定されず、二層以上であってもよい。また、入力層及び出力層のニューロンの数は同数に限定されず、例えば入力に対して出力の数は少なくともよい。
【００３２】
また、本実施の形態でサーバ１はＲＮＮのアルゴリズムに従って学習を行うが、例えばその他の深層学習、Ｎ−ｇｒａｍモデル、ＳＶＭ（Support Vector Machine）、ベイジアンネットワーク、決定木など、他のアルゴリズムに従って学習を行い、言語モデル１４２を生成してもよい。
【００３３】
サーバ１は、学習用文章の各語句を、当該文章内での並び順に従って入力層の各ニューロンに入力し、出力層の各ニューロンから出力値を得る。図４の例では、サーバ１は学習用文章の各語句「甲」、「が」、「開発」、「した」…を、文章内での順番に従い、対応する入力層の各ニューロンに入力する。サーバ１は、中間層を経て出力層の各ニューロンでの演算を行い、文章内の任意の位置（順番）に出現する語句の生起確率を、直前までに出現する語句に基づいて算出し、次に出現する語句を推定する。図４の例では、サーバ１は１番目の語句「甲」に基づき、２番目に出現する語句の生起確率を算出して推定を行う。また、サーバ１は１番目及び２番目の語句「甲」及び「が」に基づき、３番目の語句の生起確率を算出して推定を行う。以下同様にして、サーバ１は各語句を推定する。
【００３４】
サーバ１は、推定した語句を実際の語句（正解値）と比較し、出力層の各ニューロンからの出力値が正解値に近似するよう各ニューロンのパラメータを調整し、ＲＮＮを構築する。例えばサーバ１は、「甲」に続く語句として推定した語句が、実際の語句「が」となるように、各ネットワーク層のニューロンの重み等を調整する。これによりサーバ１は、学習用文章の順方向における語句の並び順を学習した言語モデル１４２を生成する。
【００３５】
サーバ１は、上述のＲＮＮに係る言語モデル１４２を、契約書の種別及び条項毎に生成する。サーバ１は、生成した各言語モデル１４２を用いて、端末２から取得する検査対象の契約書から、誤り等の瑕疵と推定される注意箇所を検出する。
【００３６】
図５は、契約書検査処理に関する説明図である。図５に基づき、サーバ１が検査対象の契約書から注意箇所を抽出する処理について説明する。
サーバ１は、ユーザが作成した契約書を端末２から取得する。サーバ１はまず、取得した契約書の種別を判別すると共に、契約書内の各条項を特定する構造化処理を行う。具体的には、サーバ１は契約書の学習時と同様に、カテゴリ判別モデル１４１を参照して、キーワードに基づくルールベース、あるいはｔｆ−ｉｄｆ法等の文章特徴量に基づく類似度によって契約書の種別及び条項を判別する。
【００３７】
これによりサーバ１は、図５に示すように、契約書の種別を判別した上で、契約書の文章を条項毎に分類する。そしてサーバ１は、契約書内の各条項の文章を、対応する種別及び条項のモデルデータ（言語モデル１４２）と比較して、注意箇所を抽出する。
【００３８】
具体的には、サーバ１は、契約書の各条項の文章を所定単位の語句毎に分割し、分割した各語句を、その並び順に従って上述のＲＮＮのニューラルネットワークに入力する。そしてサーバ１は、当該文章の先頭から順に出現する一又は複数の語句に基づき、当該一又は複数の語句の次に出現する語句の生起確率を算出する。例えば図５に示す「損害賠償」の条項について考えた場合、サーバ１は１番目の語句「甲」及び２番目の語句「が」に基づき、３番目の語句「独自」の生起確率を算出する。また、サーバ１は同様に、１〜３番目の語句「甲」、「が」及び「独自」に基づき、４番目の語句「に」の生起確率を算出する。以下同様にして、サーバ１はその他の条項についても各語句の生起確率を算出する。
【００３９】
サーバ１は、算出した生起確率に応じて、雛形契約書を学習して構築したモデルデータ（言語モデル１４２）と、検査対象の契約書との差分に基づき、注意箇所を抽出する。例えばサーバ１は、算出した生起確率を所定の閾値と比較し、生起確率が閾値以下の語句を差分と判定する。例えば図５の「損害賠償」の条項では、「独自」及び「に」の生起確率が低くなっている。サーバ１は、生起確率が閾値以下の当該語句を差分と判定する。
【００４０】
サーバ１は、差分に相当する語句を注意箇所として抽出し、端末２に出力する。例えばサーバ１は、図５の右側に概念的に示すように、注意箇所として抽出した語句を色分け等の方法によりその他の語句と異なる態様で表示させることで、注意箇所をユーザに識別可能とする。
【００４１】
なお、上記でサーバ１は、生起確率が閾値以下となる語句、すなわちモデルデータとの差分をそのまま注意箇所として出力することにしたが、本実施の形態はこれに限定されるものではなく、ある程度の差分は許容範囲として、注意箇所とせずともよい。例えばサーバ１は、生起確率が閾値以下の語句が複数連続する箇所を注意箇所とすることとして、生起確率が閾値以下の語句が一つだけ出現する箇所は注意箇所とせずともよい。このように、サーバ１は契約書のモデルデータとの対比を行って注意箇所を抽出可能であればよく、差分に相当する箇所全てを注意箇所として出力する必要はない。
【００４２】
図６は、検査結果の出力処理に関する説明図である。上記では、サーバ１が注意箇所を色分け等の方法で出力（表示）する旨を説明した。本実施の形態ではさらに、サーバ１は注意箇所を出力するだけでなく、注意箇所の修正候補を出力、及び記述されていない条項の例文（雛形）の出力を行ってもよい。
【００４３】
例えば図６の右側上段に示すように、サーバ１は、注意箇所を含む文章の修正候補を端末２に出力する。上述の如く、サーバ１は言語モデル１４２を用いることで、各条項の文章に出現する語句の生起確率を、直前までの語句から算出することができる。サーバ１は、注意箇所として抽出した語句において、当該語句が記述されている位置（順番）で生起確率が最大となる語句を修正候補として端末２に出力する。図６に示す例では、サーバ１は注意箇所として抽出した語句「理由」に代えて、生起確率が最大となる語句「事由」を修正候補として出力する。なお、サーバ１は語句の変換だけでなく、語句の削除、追加等を行った文章を修正候補として出力してもよい。
【００４４】
また、サーバ１は、カテゴリ判別モデル１４１を参照して、検査対象の契約書に記述されていない条項を特定し、特定した条項の例文（雛形）を出力してもよい。例えばサーバ１は、各種契約書の条項の例文を記憶しておき、検査対象の契約書から必要な条項が判別されない場合、当該条項の例文を出力する。これにより、ユーザは必要な条項の記述漏れを防ぐことができる。
【００４５】
以上より、サーバ１は検査対象の契約書を条項毎（及び種別毎）に構造化し、条項毎にモデルデータ（言語モデル１４２）と比較して注意箇所を抽出する。条項毎に上記の処理を行うことで、注意箇所を精度良く抽出し、ユーザに通知することができる。
【００４６】
図７は、契約書学習処理の処理手順の一例を示すフローチャートである。図７に基づき、サーバ１が実行する学習処理の処理内容について説明する。
サーバ１の制御部１１は、契約書の雛形である雛形契約書を取得する（ステップＳ１１）。制御部１１はカテゴリ判別モデル１４１を参照して、取得した雛形契約書の種別、及び当該契約書に含まれる各条項を判別する構造化処理を実行する（ステップＳ１２）。例えば制御部１１は、各種別及び条項のキーワードである語句をカテゴリ判別モデル１４１に予め格納しておき、当該キーワードを雛形契約書から判別することで、契約書の種別と、契約書に含まれる各条項の文章とを判別する。また、例えば制御部１１は、ｔｆ−ｉｄｆ法等によって事前に各種別及び条項の文章の特徴量を格納したカテゴリ判別モデル１４１を用意しておき、カテゴリ判別モデル１４１に格納されている各文章の特徴量と、雛形契約書に含まれる各文章の特徴量とから類似度を算出し、算出した類似度に応じて種別及び条項を判別する。
【００４７】
制御部１１は、各条項の文章を、所定単位の文字又は文字列である複数の語句（要素）に分割する（ステップＳ１３）。例えば制御部１１は、単語、文節等の意味単位で文章を分割してもよく、サブワード等の出現頻度に応じた単位で文章を分割してもよい。
【００４８】
制御部１１は、分割した各語句の次に出現する語句を、文章における並び順に学習する機械学習処理を行い、条項及び種別毎にモデルデータ（言語モデル１４２）を生成する（ステップＳ１４）。例えば制御部１１は、ＲＮＮ（ＬＳＴＭ）のアルゴリズムに基づく機械学習を行い、文章の先頭から順に出現する一又は複数の語句から、当該一又は複数の語句に続いて出現する語句を推定する言語モデル１４２を生成する。制御部１１は、契約書の種別及び条項に応じて別々の言語モデル１４２を生成する。制御部１１は、生成した各種別及び条項の言語モデル１４２を補助記憶部１４に格納する。制御部１１は、一連の処理を終了する。
【００４９】
図８は、契約書検査処理の処理手順の一例を示すフローチャートである。図８に基づき、サーバ１が実行する検査処理の処理内容について説明する。
サーバ１の制御部１１は、検査対象である契約書を端末２から取得する（ステップＳ３１）。制御部１１はカテゴリ判別モデル１４１を参照して、取得した契約書の種別及び条項を判別する構造化処理を実行する（ステップＳ３２）。制御部１１は、判別した各条項の文章を、所定単位の語句毎に分割する（ステップＳ３３）。
【００５０】
制御部１１は、条項毎に対応するモデルデータ（言語モデル１４２）と、検査対象の契約書から判別した条項毎の文章との差分に基づき、検査対象の契約書の注意箇所を抽出する（ステップＳ３４）。具体的には、制御部１１は、上述の言語モデル１４２を用いて、各条項の文章に出現する各語句の生起確率を算出し、算出した生起確率に基づいて学習用の契約書との差分に相当する語句を判定する。上述の如く、制御部１１は、言語モデル１４２であるＲＮＮに各語句をその並び順に従って順次入力し、先頭から順に出現する一又は複数の語句から、当該一又は複数の語句に続く語句の生起確率を算出する。制御部１１は、生起確率が所定の閾値以下の語句を注意箇所として抽出する。
【００５１】
制御部１１は、抽出した語句を注意箇所として端末２に出力する（ステップＳ３５）。例えば制御部１１は、注意箇所に相当する語句を、色分け等によりその他の語句と異なる態様で端末２に表示させる。また、ステップＳ３６において制御部１１は、言語モデル１４２を参照して、注意箇所として出力した語句の修正候補を併せて出力してもよい。また、制御部１１はカテゴリ判別モデル１４１を参照して、検査対象の契約書に記述されていない条項の例文を出力してもよい。制御部１１は、一連の処理を終了する。
【００５２】
なお、上記では、事前に用意されたカテゴリ判別モデル１４１を用いてサーバ１が契約書の構造化を行ったが、入力作業者が契約書の各文章に対して種別、条項といった情報をタグ付けするなど、契約書の構造化は人手で行ってもよい。
【００５３】
また、上記では、サーバ１は機械学習により言語モデル１４２を生成し、言語モデル１４２を用いて注意箇所を抽出することとしたが、本実施の形態はこれに限定されるものではない。例えばサーバ１は、単なる契約書の雛形（テキスト）をモデルデータとして記憶しておき、テキストのパターンマッチングを行って、検査対象の契約書と雛形契約書との差分を判定して注意箇所を抽出するようにしてもよい。つまり、サーバ１は雛形契約書と検査対象の契約書との差分を条項毎に判定可能であればよく、その処理内容は機械学習によるアルゴリズムに限定されない。
【００５４】
また、上記ではサーバ１が契約書の学習及び検査の双方の処理を行ったが、各処理は別々のコンピュータで実行される構成であってもよい。例えばサーバ１が言語モデル１４２の生成を行い、言語モデル１４２のデータを端末２にインストールして、端末２が言語モデル１４２を用いた契約書の検査を行ってもよい。このように、契約書の文章を学習する学習装置と、契約書の検査を行う検査装置とは別々のハードウェア構成であってもよい。
【００５５】
以上より、本実施の形態１によれば、検査対象の契約書を条項毎に分け、各条項の文章をモデルデータと比較して注意箇所を抽出する。条項毎に分けて処理を行うことにより、複数の条項に区分して契約内容を記述するという契約書の特性を生かして、誤り等と推定される箇所を適切に抽出することができる。
【００５６】
また、本実施の形態１によれば、契約書の条項に出現する語句の並び順を学習した言語モデル１４２（学習済みモデル）を用いることで、注意箇所を精度良く抽出することができる。
【００５７】
また、本実施の形態１によれば、言語モデル１４２を用いることで、注意箇所を抽出できるだけでなく、注意箇所の修正候補を提示することもできる。
【００５８】
また、本実施の形態１によれば、契約の種別も考慮して一連の処理を行うことで、より精度良く注意箇所を抽出することができる。
【００５９】
また、本実施の形態１によれば、キーワードに基づくルールベースで契約書の種別及び条項を判別し、契約書の構造化を行うことができる。
【００６０】
また、本実施の形態１によれば、ｔｆ−ｉｄｆ法等のアルゴリズムを用いて契約書内の各文章の特徴量を算出し、類似度を求めることで、契約書の構造化を好適に行うことができる。
【００６１】
また、本実施の形態１によれば、注意箇所をユーザに提示するだけでなく、契約書に記述されていない条項の例文をユーザに提示することもできる。
【００６２】
（実施の形態２）
本実施の形態では、雛形とすべき契約書を学習した言語モデル１４２と、注意すべき契約書を学習した言語モデル１４２とを用いて、検査対象の契約書から注意箇所を抽出する形態について述べる。なお、実施の形態１と重複する内容については同一の符号を付して説明を省略する。
図９は、実施の形態２の概要を示す説明図である。図９では、実施の形態１と同様に雛形契約書から生成された言語モデル１４２（第１のモデルデータ）と、注意箇所として規定される特定の語句（要素）を有する要注意契約書から生成された言語モデル１４２（第２のモデルデータ）とを用いて、検査対象の契約書から注意箇所を抽出する様子を図示してある。図９に基づき、本実施の形態の概要について説明する。
【００６３】
実施の形態１では、図９上側に相当する、注意箇所に相当する語句を有しない雛形契約書から言語モデル１４２を生成し、注意箇所を抽出する形態について説明した。しかし、当該言語モデル１４２のみから注意箇所の抽出を行った場合、契約内容そのものではなく、単なる単語の使い方や配置、文法などの所謂言い回しのみをもって注意箇所を抽出する虞がある。従って、契約内容の瑕疵を検出するという本来の趣旨に則しない検出結果を出力する可能性がある。
【００６４】
そこで本実施の形態では、サーバ１は注意箇所として規定された特定の語句を有しない雛形契約書から言語モデル１４２を生成すると共に、注意箇所として規定された特定の語句を予め含む要注意契約書を元に、契約書に頻出する瑕疵を学習した言語モデル１４２を生成する。サーバ１は、検査対象の契約書から注意箇所を抽出する場合、一の条項に対して２つの言語モデル１４２を用いて注意箇所を抽出する。
【００６５】
具体的には、サーバ１は各言語モデル１４２それぞれから、契約書内の各語句の生起確率を算出する。これにより、図９右側に示すように、サーバ１は一の語句に対して２つの生起確率を算出する。サーバ１は、各言語モデル１４２から算出した生起確率に基づき、当該語句が雛形契約書との差分に相当する注意箇所か否かを判定する。
【００６６】
例えばサーバ１は、特定の語句を有しない雛形契約書の言語モデル１４２から算出した生起確率が所定の閾値以下であり、かつ、特定の語句を有する要注意契約書の言語モデル１４２から算出した生起確率が所定の閾値以上である語句を、注意箇所として抽出する。特定の語句を有する要注意契約書の言語モデル１４２は、契約書に頻出する瑕疵を学習した学習済みモデルであるため、当該言語モデル１４２を用いて生起確率を算出した場合、サーバ１は、注意箇所に相当する語句もその他の語句と同様に高い値で算出する。従って、前者の言語モデル１４２から算出した生起確率が閾値以下であり、かつ、後者の言語モデル１４２から算出した生起確率が閾値以上である語句を抽出することで、言い回しのみによって注意箇所と判定される語句を排除し、契約内容の瑕疵と推定される箇所のみを精度良く抽出することができる。
【００６７】
図１０は、実施の形態２に係る契約書学習処理の処理手順の一例を示すフローチャートである。図１０に基づき、本実施の形態における契約書学習処理の処理内容について説明する。
サーバ１の制御部１１は、雛形とすべき契約書と、注意すべき契約書とをそれぞれ取得する（ステップＳ２０１）。具体的には、制御部１１は、注意箇所に相当する特定の語句（要素）を有しない雛形契約書と、注意箇所に相当する特定の語句を有する要注意契約書とをそれぞれ取得する。上記の特定の語句は、契約書作成時に頻出する瑕疵として規定された所定の語句である。制御部１１は、瑕疵に相当する語句を含まない雛形契約書と、瑕疵に相当する語句を含む要注意契約書とを取得する。制御部１１は、処理をステップＳ１２に移行する。
【００６８】
雛形契約書及び要注意契約書それぞれについて各条項の文章を所定単位の語句毎に分割した後（ステップＳ１３）、制御部１１は、各契約書から別々の言語モデル１４２（第１及び第２のモデルデータ）を生成する（ステップＳ２０２）。すなわち制御部１１は、同じ種別及び条項の文章であっても、瑕疵を有しない文章と、瑕疵を有する文章とから別々のＲＮＮを構築する。制御部１１は、一連の処理を終了する。
【００６９】
図１１は、実施の形態２に係る契約書検査処理の処理手順の一例を示すフローチャートである。図１１に基づき、本実施の形態に係る契約書検査処理の処理内容について説明する。
検査対象の契約書に含まれる各条項の文章を所定単位の語句毎に分割した後（ステップＳ３３）、サーバ１の制御部１１は以下の処理を実行する。制御部１１は、検査対象の契約書から特定した各条項の文章を、上述の雛形契約書から生成したモデルデータ（第１のモデルデータ）、及び要注意契約書から生成したモデルデータ（第２のモデルデータ）それぞれと比較して差分を判定し、注意箇所を抽出する（ステップＳ２２１）。具体的には、制御部１１は、特定の語句を有しない雛形契約書から生成した言語モデル１４２に基づいて検査対象の契約書に出現する各語句の生起確率を算出すると共に、特定の語句を有する要注意契約書から生成した言語モデル１４２からも同様に各語句の生起確率を算出する。制御部１１は、各言語モデル１４２から算出した生起確率に応じて差分を判定し、注意箇所を抽出する。例えば制御部１１は、特定の語句を有する雛形契約書の言語モデル１４２から算出した生起確率が所定の閾値以上であり、かつ、特定の語句を有しない雛形契約書の言語モデル１４２から算出した生起確率が所定の閾値以下である語句を注意箇所として抽出する。制御部１１は、処理をステップＳ３５に移行する。
【００７０】
なお、上記でサーバ１は、注意箇所として規定された特定の語句を有する要注意契約書を学習して言語モデル１４２（第２のモデルデータ）を生成することとしたが、本実施の形態はこれに限定されるものではない。例えばサーバ１は、契約書において重要なキーワードが記載されておらず、重要事項が不足している契約書を要注意契約書として規定し、当該契約書を学習して言語モデル１４２を生成することとしてもよい。これにより、重要事項が不足している契約書に対して警告を出力することができる。また、例えばサーバ１は、一つひとつの語句において瑕疵はないが、各文章の記載の順序など、文書全体の内容が誤っている契約書を要注意契約書として規定し、当該契約書を学習して言語モデル１４２を生成することとしてもよい。これによりサーバ１は、契約書全体の流れの瑕疵を学習し、警告を出力することができる。このように、サーバ１が学習対象とする契約書は注意すべき契約書であればよく、特定の語句を有するものに限定されない。
【００７１】
以上より、本実施の形態２によれば、契約内容そのものの瑕疵を精度良く抽出することができる。
【００７２】
（実施の形態３）
本実施の形態では、各条項の文章から抽出した注意箇所の数に応じて、条項全体を注意箇所として出力する形態について説明する。
図１２は、実施の形態３の概要を示す説明図である。本実施の形態に係るサーバ１は、実施の形態１と同様に、言語モデル１４２を参照して検査対象の契約書の各条項から注意箇所を抽出し、端末２に出力する。本実施の形態ではさらに、サーバ１は各条項における注意箇所の数に応じて、注意箇所が多い条項自体を注意箇所として出力する。
【００７３】
図１２の左側に示す例では、「秘密保持契約書」において「支払方法と時期」の条項が記述されているが、秘密保持契約書には本来、金銭の支払に関する条項はないはずである。しかし、ユーザが他の契約書と間違える等して当該契約書に上記の条項を記述したため、サーバ１は、当該条項の文章部分から多数の注意箇所を抽出する。本実施の形態でサーバ１は、このように多数の注意箇所を抽出した条項を、それ自体が通常記載すべきでない条項としてユーザに通知する。
【００７４】
例えばサーバ１は、図１２右側に示すように、条項全体を注意箇所として端末２に表示させる。例えば端末２は、色分け等の方法によって該当する条項を他の条項とは異なる態様で表示する。これにより、ユーザは、契約書に通常記載されないはずの条項を容易に把握することができる。
【００７５】
なお、上記では条項単位で注意箇所を出力するものとしたが、例えばサーバ１は、一文毎、段落毎などの単位で上述の処理を行ってもよい。つまり、サーバ１は、複数の注意箇所を検出した文章をユーザに提示可能であればよく、当該文章の単位は特に限定されない。
【００７６】
図１３は、実施の形態３に係る契約書検査処理の処理手順の一例を示すフローチャートである。図１３に基づき、本実施の形態に係る契約書検査処理の処理内容について説明する。
検査対象の契約書から注意箇所を抽出した後（ステップＳ３４）、サーバ１の制御部１１は以下の処理を実行する。制御部１１は、注意箇所に相当する語句を所定数以上有する条項があるか否かを判定する（ステップＳ３０１）。注意箇所に相当する語句を所定数以上有する条項がないと判定した場合（Ｓ３０１：ＮＯ）、制御部１１は処理をステップＳ３５に移行する。
【００７７】
注意箇所に相当する語句を所定数以上有する条項があると判定した場合（Ｓ３０１：ＹＥＳ）、制御部１１は、該当する条項全体を注意箇所として出力する（ステップＳ３０２）。例えば制御部１１は、図１２に示したように、該当する条項を他の条項とは色分けする等、異なる表示態様で端末２に表示させる。制御部１１は、一連の処理を終了する。
【００７８】
以上より、本実施の形態３によれば、契約書に通常記載されないはずの条項をユーザに提示し、再考を促すことができる。
【００７９】
（実施の形態４）
図１４は、上述した形態のサーバ１の動作を示す機能ブロック図である。制御部１１がプログラムＰを実行することにより、サーバ１は以下のように動作する。
記憶部１４０１は、複数の条項夫々のモデルデータを記憶する。取得部１４０２は、契約書を取得する。判別部１４０３は、取得した前記契約書から前記条項に相当する箇所を判別する。抽出部１４０４は、前記条項毎に対応する前記モデルデータと、前記契約書から判別した前記条項毎の文章と、の差分に基づき前記契約書の注意箇所を抽出する。出力部１４０５は、前記注意箇所を出力する。
【００８０】
本実施の形態４は以上の如きであり、その他は実施の形態１から３と同様であるので、対応する部分には同一の符号を付してその詳細な説明を省略する。
【００８１】
今回開示された実施の形態はすべての点で例示であって、制限的なものではないと考えられるべきである。本発明の範囲は、上記した意味ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【００８２】
１  サーバ（情報処理装置、検査装置、学習装置）
１１  制御部
１２  主記憶部
１３  通信部
１４  補助記憶部
Ｐ  プログラム
１４１  カテゴリ判別モデル
１４２  言語モデル
２  端末
【図１】
2019212115.tif 000003
【図２】
2019212115.tif 000004
【図３】
2019212115.tif 000005
【図４】
2019212115.tif 000006
【図５】
2019212115.tif 000007
【図６】
2019212115.tif 000008
【図７】
2019212115.tif 000009
【図８】
2019212115.tif 000010
【図９】
2019212115.tif 000011
【図１０】
2019212115.tif 000012
【図１１】
2019212115.tif 000013
【図１２】
2019212115.tif 000014
【図１３】
2019212115.tif 000015
【図１４】
2019212115.tif 000016