JP7155625B2 - 検査装置、検査方法、プログラム及び学習装置 - Google Patents

検査装置、検査方法、プログラム及び学習装置 Download PDF

Info

Publication number
JP7155625B2
JP7155625B2 JP2018108837A JP2018108837A JP7155625B2 JP 7155625 B2 JP7155625 B2 JP 7155625B2 JP 2018108837 A JP2018108837 A JP 2018108837A JP 2018108837 A JP2018108837 A JP 2018108837A JP 7155625 B2 JP7155625 B2 JP 7155625B2
Authority
JP
Japan
Prior art keywords
contract
clause
model data
server
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2018108837A
Other languages
English (en)
Other versions
JP2019212115A (ja
Inventor
直之 伊藤
和久 大野
拓也 生駒
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Dai Nippon Printing Co Ltd
Original Assignee
Dai Nippon Printing Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Dai Nippon Printing Co Ltd filed Critical Dai Nippon Printing Co Ltd
Priority to JP2018108837A priority Critical patent/JP7155625B2/ja
Publication of JP2019212115A publication Critical patent/JP2019212115A/ja
Application granted granted Critical
Publication of JP7155625B2 publication Critical patent/JP7155625B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Machine Translation (AREA)

Description

本発明は、契約書の検査装置、検査方法、プログラム及び学習装置に関する。
文字の入力ミス、変換ミス、助詞の誤用のような、文章内の誤りを指摘する種々の方法がある。例えば特許文献1では、単語辞書を参照して日本語文書を単語単位で分割し、誤りと推定される部分を種々のルールに従って判定する文書校正装置が開示されている。
特開2006-338682号公報
しかしながら、特許文献1に係る発明は、一般的な文法の誤りなどを推定しているのみであり、文書自体の趣旨に沿って具体的な内容の瑕疵を検出するに至っていない。
一つの側面では、契約書の記述内容を適切に検査することができる検査装置等を提供することを目的とする。
一つの側面では、検査装置は、複数の条項夫々のモデルデータを記憶する記憶部と、契約書を取得する取得部と、取得した前記契約書から前記条項に相当する箇所を判別する判別部と、前記条項毎に対応する前記モデルデータと、前記契約書から判別した前記条項毎の文章と、の差分に基づき前記契約書の注意箇所を抽出する抽出部と、前記注意箇所を出力する出力部とを備えることを特徴とする。
一つの側面では、契約書の記述内容を適切に検査することができる。
契約書検査システムの構成例を示す模式図である。 サーバの構成例を示すブロック図である。 契約書学習処理に関する説明図である。 言語モデルの生成処理に関する説明図である。 契約書検査処理に関する説明図である。 検査結果の出力処理に関する説明図である。 契約書学習処理の処理手順の一例を示すフローチャートである。 契約書検査処理の処理手順の一例を示すフローチャートである。 実施の形態2の概要を示す説明図である。 実施の形態2に係る契約書学習処理の処理手順の一例を示すフローチャートである。 実施の形態2に係る契約書検査処理の処理手順の一例を示すフローチャートである。 実施の形態3の概要を示す説明図である。 実施の形態3に係る契約書検査処理の処理手順の一例を示すフローチャートである。 上述した形態のサーバの動作を示す機能ブロック図である。
以下、本発明をその実施の形態を示す図面に基づいて詳述する。
(実施の形態1)
図1は、契約書検査システムの構成例を示す模式図である。本実施の形態では、契約書内の記述で誤り等と推定される注意箇所を検出する契約書検査システムについて説明する。契約書検査システムは、情報処理装置(検査装置、学習装置)1、端末2、2、2…を含む。各装置は、インターネット等のネットワークNを介して通信接続されている。
情報処理装置1は、種々の情報処理、情報の送受信が可能な情報処理装置であり、例えばサーバ装置、パーソナルコンピュータ等である。本実施の形態で情報処理装置1はサーバ装置であるものとし、以下の説明では便宜上サーバ1と読み替える。サーバ1は、所定の契約書の雛形を用いて、契約書に出現する語句を学習する機械学習を行い、契約書内の注意箇所を識別可能な言語モデルを生成する。言語モデルは、自然言語の文章が生成される確率をモデル化したものであり、例えばN-gramモデル、隠れマルコフモデルなどがある。後述するように、本実施の形態においてサーバ1は、学習用に与えられる契約書群から再帰型ニューラルネットワーク(Recurrent Neural Network、以下では「RNN」と記す)を言語モデルとして構築し、当該RNNを用いて検査対象の契約書から注意箇所を検出する。
本実施の形態でサーバ1は、契約書の種別、及び契約書に含まれる条項毎に異なる言語モデルを生成する。サーバ1は、本システムを利用するユーザが作成した契約書を端末2から取得し、当該契約書の種別、及び契約書に記述された各条項を判別して文書の構造化を行う。そしてサーバ1は、構造化した契約書の各条項の文章を、条項及び種別毎に異なる言語モデルを用いて分析し、注意箇所を検出する。
端末2は、契約書を作成する各ユーザが使用する端末装置であり、例えばパーソナルコンピュータ、多機能端末等である。端末2は、ユーザが作成した契約書をサーバ1に送信し、契約書の検査処理を要求する。端末2は、サーバ1から検査結果を受信し、契約書の注意箇所を表示する。
図2は、サーバ1の構成例を示すブロック図である。サーバ1は、制御部11、主記憶部12、通信部13、補助記憶部14を備える。
制御部11は、一又は複数のCPU(Central Processing Unit)、MPU(Micro-Processing Unit)、GPU(Graphics Processing Unit)等の演算処理装置を有し、補助記憶部14に記憶されたプログラムPを読み出して実行することにより、サーバ1に係る種々の情報処理、制御処理等を行う。主記憶部12は、SRAM(Static Random Access Memory)、DRAM(Dynamic Random Access Memory)、フラッシュメモリ等の一時記憶領域であり、制御部11が演算処理を実行するために必要なデータを一時的に記憶する。通信部13は、通信に関する処理を行うための処理回路等を含み、外部と情報の送受信を行う。
補助記憶部14は大容量メモリ、ハードディスク等であり、制御部11が処理を実行するために必要なプログラムP、その他のデータを記憶している。また、補助記憶部14は、カテゴリ判別モデル141、言語モデル142を記憶している。カテゴリ判別モデル141は、契約書の種別、及び契約書内の条項を判別するためのモデルデータである。言語モデル142は、上述の如く、学習用の契約書群から生成される言語モデルのデータであり、各種契約書に含まれる各条項のモデルデータである。後述するように、本実施の形態でサーバ1は、契約書の種別及び条項毎に言語モデル142を生成して補助記憶部14に記憶してある。
なお、補助記憶部14はサーバ1に接続された外部記憶装置であってもよい。また、サーバ1は複数のコンピュータからなるマルチコンピュータであってもよく、ソフトウェアによって仮想的に構築された仮想マシンであってもよい。
また、本実施の形態においてサーバ1は上記の構成に限られず、例えば可搬型記憶媒体に記憶された情報を読み取る読取部、操作入力を受け付ける入力部、画像を表示する表示部等を含んでもよい。
図3は、契約書学習処理に関する説明図である。図3では、サーバ1が学習用の契約書から複数の言語モデル142、142、142…を生成する様子を概念的に図示してある。以下では、サーバ1が実行する処理の概要について説明する。
サーバ1は、契約書の雛形である雛形契約書群を外部から取得し、各雛形契約書の文章を学習する機械学習を行う。雛形契約書は、サーバ1が学習対象とする契約書の雛形であり、例えば人手で作成された既存の契約書である。サーバ1はまず、各々の雛形契約書から、その契約書の種別、及び契約書に含まれる各条項を判別し、契約書の構造化を行う。そしてサーバ1は、構造化した契約書の各文章を、契約書の種別、及び条項毎に学習して別々の言語モデル142を生成する。
契約書の種別は、契約内容を大別する分類であり、例えば秘密保持契約、業務委託契約、共同研究契約などである。なお、上記はいずれも一例であって、契約書の種別は特に限定されない。図3左側に一例として、秘密保持契約に係る契約書を概念的に図示してある。図3で太線枠に示すように、一般的な契約書は、複数の条項に区分して契約内容が記述される。サーバ1は、契約書の条項毎に、各条項の文章を学習する。なお、本明細書では「文章」と言う場合、文章は一文(センテンス)に限定されず、複数の文から成る文章も含まれる。後述するように、サーバ1は、各条項に出現する語句を、契約書における各語句の並び順に従って学習する。これによりサーバ1は、各条項に応じた言語モデル142を生成する。
まずサーバ1は、複数の雛形契約書を、契約書の種別に応じて分類する。例えばサーバ1は、契約書の種別を表すキーワードをカテゴリ判別モデル141に予め格納(記憶)しておき、当該キーワードが雛形契約書に記述されているか否かに応じて、契約書の種別を判別する。より詳細には、例えばサーバ1は、契約書の書面名として記述されるキーワードをカテゴリ判別モデル141に格納しておき、契約書の見出し(タイトル)に記述されている書面名をキーワードと比較して、雛形契約書の種別を判別する。図3に示す契約書では、サーバ1は表題の「秘密保持契約書」から、当該契約書が秘密保持契約に係る契約書であることを判別する。
さらにサーバ1は、カテゴリ判別モデル141を参照して、契約書内の各条項に相当する文章部分を特定する。例えばサーバ1は、上記の契約種別の判別時と同じく、キーワードに基づいて各条項を特定する。例えばサーバ1は、各条項を表すキーワードを予めカテゴリ判別モデル141に格納(記憶)しておき、当該キーワードが記述された文章部分を条項部分として特定する。例えばサーバ1は、各条項のタイトルに相当する小見出し(サブタイトル)を、カテゴリ判別モデル141に格納されたキーワードと比較し、条項を特定する。図3の例では、サーバ1は「第1条」の小見出し「目的」から、当該文章部分を契約の目的に関する条項として判別する。
なお、上記ではサーバ1がキーワードに基づくルールベースで契約書の種別及び条項を判別するものとしたが、本実施の形態はこれに限定されるものではない。例えばサーバ1は、学習対象である契約書の各文章の特徴量を算出し、これと事前に学習済みの各種別及び条項の文章の特徴量との類似度を算出して、算出した類似度に基づき種別及び条項を特定してもよい。
契約書内の各文章の特徴量を算出する手法としては、tf-idf法がある。tf-idf法は、文章(文書)群の中のある文章において、その文章を特徴付ける単語を抽出する手法であり、各単語の出現頻度(tf;Term Frequency)及び逆文書頻度(idf;Inverse Document Frequency)に基づいて、単語の重要度(tf-idf値)を算出する手法である。tf-idf法を用いることで、文章内に出現する各単語の重要度を算出し、当該文章を、各単語の重要度を変数とする多次元の特徴量(ベクトル値)で表現することができる。
例えばサーバ1は、契約書において各条項の文章に出現する各単語の出現頻度及び逆文書頻度を算出し、算出した出現頻度及び逆文書頻度から各単語の重要度を算出することで、各文章の特徴量を算出する。サーバ1は、各種別の雛形契約書に含まれる各条項の文章について、上述の如く特徴量を算出する。そしてサーバ1は、算出した各種別及び条項の文章の特徴量と、事前に学習済みの各種別及び条項の文章の特徴量との類似度(例えばコサイン類似度)を算出する。サーバ1は、算出した類似度を所定の閾値と比較する等して、各文章が契約書のいずれの種別及び条項に相当する文章であるかを判別する。
文章特徴量から類似度を算出して各文章の種別及び条項を判別する場合、キーワードに基づくルールベースで種別及び条項を判別する場合と比較して、より適切に判別を行うことができる。例えば条項名が「秘密保持義務」となっていても、実際には当該条項に知的財産に関わる内容が記載されていた場合、キーワードに基づくルールベースではこの記載内容を秘密保持義務に係る条項の文章と判別するが、類似度に基づいて判別を行う場合、当該文章の特徴から知的財産に係る条項の文章と判別することができる。このように、文章の特徴量から類似度を算出することで、契約書内の各文章の種別及び条項を好適に判別することができる。
サーバ1は各契約書について上述の処理を繰り返し、複数の雛形契約書それぞれの種別を判別し、各雛形契約書に記述されている各条項を判別する。すなわちサーバ1は、契約書の構造化を行う。サーバ1は、構造化した各契約書において種別及び条項が共通する文章を元に、各言語モデル142を生成する。例えば図3右側に示すように、サーバ1は、種別が「秘密保持契約」であり、かつ、条項が「損害賠償」で共通する各契約書の文章を元に、一の言語モデル142を生成する。その他の言語モデル142についても同様に、サーバ1は種別及び条項に応じて言語モデル142を生成する。
図4は、言語モデル142の生成処理に関する説明図である。本実施の形態でサーバ1は、言語モデル142としてRNNを構築する。具体的には、サーバ1は、RNNの一種であるLSTM(Long Short-Term Memory)を構築する。
サーバ1は、上記のように種別及び条項に応じて構造化した文章をRNNに入力し、当該文章に出現する語句を学習する。ここでサーバ1はまず、RNNに入力する文章に対して形態素解析等の自然言語処理を行い、所定単位の文字又は文字列である語句(要素)毎に分割する。この分割単位は、例えば単語、文節等の単位であるが、特に限定されない。例えばサーバ1は、複数の語句を格納した辞書(不図示)を予め記憶しておき、当該辞書に格納された語句に従って文章を分割する。
なお、サーバ1は単語、文節等の単位ではなく、その他の単位で文章を分割してもよい。その他の分割単位としては、サブワード(部分語)と呼ばれる単位が想定され得る。サブワードは通常の分かち書きとは異なり、文章中に出現する頻度に応じて文章を区分した語句の単位である。一般的に文章の最小構成単位として用いられる「単語」は、文章中の文字又は文字列を意味、文法等の観点から最小化した単位であるが、サブワードは意味、文法等による単位ではなく、文章中で用いられる頻度に応じて最小化した単位である。サブワード単位で分割した場合、サーバ1は契約書特有の専門用語も分割可能であるため、より好適に文書の分割を行うことができる。このように、サーバ1は所定単位の文字又は文字列である要素毎に契約書の文章を分割可能であればよく、分割単位とする要素は単語等の単位に限定されない。
サーバ1は、分割した各語句をRNNに係る入力層に入力し、機械学習を行う。図4に、RNNの構成を概念的に図示する。図4に示すように、RNNは、入力層、中間層(隠れ層)、及び出力層を有する。入力層は、文章の先頭から順に出現する各語句の入力をそれぞれ受け付ける複数のニューロンを有する。出力層は、入力層の各ニューロンに対応して、各ニューロンに入力される語句の次に出現する語句をそれぞれ推定して出力する複数のニューロンを有する。そして中間層は、入力層の各ニューロンへの入力値(語句)に対して出力層の各ニューロンにおける出力値(語句)を演算するための複数のニューロンを有する。中間層の各ニューロンは、過去の入力値に関する中間層での演算結果を用いて(図4では右向きの矢印で図示)次の入力値に関する演算を行うことで、直前までの語句から次の語句を推定する。
なお、図4に示すRNNの構成は一例であって、本実施の形態はこれに限定されるものではない。例えば中間層は一層に限定されず、二層以上であってもよい。また、入力層及び出力層のニューロンの数は同数に限定されず、例えば入力に対して出力の数は少なくともよい。
また、本実施の形態でサーバ1はRNNのアルゴリズムに従って学習を行うが、例えばその他の深層学習、N-gramモデル、SVM(Support Vector Machine)、ベイジアンネットワーク、決定木など、他のアルゴリズムに従って学習を行い、言語モデル142を生成してもよい。
サーバ1は、学習用文章の各語句を、当該文章内での並び順に従って入力層の各ニューロンに入力し、出力層の各ニューロンから出力値を得る。図4の例では、サーバ1は学習用文章の各語句「甲」、「が」、「開発」、「した」…を、文章内での順番に従い、対応する入力層の各ニューロンに入力する。サーバ1は、中間層を経て出力層の各ニューロンでの演算を行い、文章内の任意の位置(順番)に出現する語句の生起確率を、直前までに出現する語句に基づいて算出し、次に出現する語句を推定する。図4の例では、サーバ1は1番目の語句「甲」に基づき、2番目に出現する語句の生起確率を算出して推定を行う。また、サーバ1は1番目及び2番目の語句「甲」及び「が」に基づき、3番目の語句の生起確率を算出して推定を行う。以下同様にして、サーバ1は各語句を推定する。
サーバ1は、推定した語句を実際の語句(正解値)と比較し、出力層の各ニューロンからの出力値が正解値に近似するよう各ニューロンのパラメータを調整し、RNNを構築する。例えばサーバ1は、「甲」に続く語句として推定した語句が、実際の語句「が」となるように、各ネットワーク層のニューロンの重み等を調整する。これによりサーバ1は、学習用文章の順方向における語句の並び順を学習した言語モデル142を生成する。
サーバ1は、上述のRNNに係る言語モデル142を、契約書の種別及び条項毎に生成する。サーバ1は、生成した各言語モデル142を用いて、端末2から取得する検査対象の契約書から、誤り等の瑕疵と推定される注意箇所を検出する。
図5は、契約書検査処理に関する説明図である。図5に基づき、サーバ1が検査対象の契約書から注意箇所を抽出する処理について説明する。
サーバ1は、ユーザが作成した契約書を端末2から取得する。サーバ1はまず、取得した契約書の種別を判別すると共に、契約書内の各条項を特定する構造化処理を行う。具体的には、サーバ1は契約書の学習時と同様に、カテゴリ判別モデル141を参照して、キーワードに基づくルールベース、あるいはtf-idf法等の文章特徴量に基づく類似度によって契約書の種別及び条項を判別する。
これによりサーバ1は、図5に示すように、契約書の種別を判別した上で、契約書の文章を条項毎に分類する。そしてサーバ1は、契約書内の各条項の文章を、対応する種別及び条項のモデルデータ(言語モデル142)と比較して、注意箇所を抽出する。
具体的には、サーバ1は、契約書の各条項の文章を所定単位の語句毎に分割し、分割した各語句を、その並び順に従って上述のRNNのニューラルネットワークに入力する。そしてサーバ1は、当該文章の先頭から順に出現する一又は複数の語句に基づき、当該一又は複数の語句の次に出現する語句の生起確率を算出する。例えば図5に示す「損害賠償」の条項について考えた場合、サーバ1は1番目の語句「甲」及び2番目の語句「が」に基づき、3番目の語句「独自」の生起確率を算出する。また、サーバ1は同様に、1~3番目の語句「甲」、「が」及び「独自」に基づき、4番目の語句「に」の生起確率を算出する。以下同様にして、サーバ1はその他の条項についても各語句の生起確率を算出する。
サーバ1は、算出した生起確率に応じて、雛形契約書を学習して構築したモデルデータ(言語モデル142)と、検査対象の契約書との差分に基づき、注意箇所を抽出する。例えばサーバ1は、算出した生起確率を所定の閾値と比較し、生起確率が閾値以下の語句を差分と判定する。例えば図5の「損害賠償」の条項では、「独自」及び「に」の生起確率が低くなっている。サーバ1は、生起確率が閾値以下の当該語句を差分と判定する。
サーバ1は、差分に相当する語句を注意箇所として抽出し、端末2に出力する。例えばサーバ1は、図5の右側に概念的に示すように、注意箇所として抽出した語句を色分け等の方法によりその他の語句と異なる態様で表示させることで、注意箇所をユーザに識別可能とする。
なお、上記でサーバ1は、生起確率が閾値以下となる語句、すなわちモデルデータとの差分をそのまま注意箇所として出力することにしたが、本実施の形態はこれに限定されるものではなく、ある程度の差分は許容範囲として、注意箇所とせずともよい。例えばサーバ1は、生起確率が閾値以下の語句が複数連続する箇所を注意箇所とすることとして、生起確率が閾値以下の語句が一つだけ出現する箇所は注意箇所とせずともよい。このように、サーバ1は契約書のモデルデータとの対比を行って注意箇所を抽出可能であればよく、差分に相当する箇所全てを注意箇所として出力する必要はない。
図6は、検査結果の出力処理に関する説明図である。上記では、サーバ1が注意箇所を色分け等の方法で出力(表示)する旨を説明した。本実施の形態ではさらに、サーバ1は注意箇所を出力するだけでなく、注意箇所の修正候補を出力、及び記述されていない条項の例文(雛形)の出力を行ってもよい。
例えば図6の右側上段に示すように、サーバ1は、注意箇所を含む文章の修正候補を端末2に出力する。上述の如く、サーバ1は言語モデル142を用いることで、各条項の文章に出現する語句の生起確率を、直前までの語句から算出することができる。サーバ1は、注意箇所として抽出した語句において、当該語句が記述されている位置(順番)で生起確率が最大となる語句を修正候補として端末2に出力する。図6に示す例では、サーバ1は注意箇所として抽出した語句「理由」に代えて、生起確率が最大となる語句「事由」を修正候補として出力する。なお、サーバ1は語句の変換だけでなく、語句の削除、追加等を行った文章を修正候補として出力してもよい。
また、サーバ1は、カテゴリ判別モデル141を参照して、検査対象の契約書に記述されていない条項を特定し、特定した条項の例文(雛形)を出力してもよい。例えばサーバ1は、各種契約書の条項の例文を記憶しておき、検査対象の契約書から必要な条項が判別されない場合、当該条項の例文を出力する。これにより、ユーザは必要な条項の記述漏れを防ぐことができる。
以上より、サーバ1は検査対象の契約書を条項毎(及び種別毎)に構造化し、条項毎にモデルデータ(言語モデル142)と比較して注意箇所を抽出する。条項毎に上記の処理を行うことで、注意箇所を精度良く抽出し、ユーザに通知することができる。
図7は、契約書学習処理の処理手順の一例を示すフローチャートである。図7に基づき、サーバ1が実行する学習処理の処理内容について説明する。
サーバ1の制御部11は、契約書の雛形である雛形契約書を取得する(ステップS11)。制御部11はカテゴリ判別モデル141を参照して、取得した雛形契約書の種別、及び当該契約書に含まれる各条項を判別する構造化処理を実行する(ステップS12)。例えば制御部11は、各種別及び条項のキーワードである語句をカテゴリ判別モデル141に予め格納しておき、当該キーワードを雛形契約書から判別することで、契約書の種別と、契約書に含まれる各条項の文章とを判別する。また、例えば制御部11は、tf-idf法等によって事前に各種別及び条項の文章の特徴量を格納したカテゴリ判別モデル141を用意しておき、カテゴリ判別モデル141に格納されている各文章の特徴量と、雛形契約書に含まれる各文章の特徴量とから類似度を算出し、算出した類似度に応じて種別及び条項を判別する。
制御部11は、各条項の文章を、所定単位の文字又は文字列である複数の語句(要素)に分割する(ステップS13)。例えば制御部11は、単語、文節等の意味単位で文章を分割してもよく、サブワード等の出現頻度に応じた単位で文章を分割してもよい。
制御部11は、分割した各語句の次に出現する語句を、文章における並び順に学習する機械学習処理を行い、条項及び種別毎にモデルデータ(言語モデル142)を生成する(ステップS14)。例えば制御部11は、RNN(LSTM)のアルゴリズムに基づく機械学習を行い、文章の先頭から順に出現する一又は複数の語句から、当該一又は複数の語句に続いて出現する語句を推定する言語モデル142を生成する。制御部11は、契約書の種別及び条項に応じて別々の言語モデル142を生成する。制御部11は、生成した各種別及び条項の言語モデル142を補助記憶部14に格納する。制御部11は、一連の処理を終了する。
図8は、契約書検査処理の処理手順の一例を示すフローチャートである。図8に基づき、サーバ1が実行する検査処理の処理内容について説明する。
サーバ1の制御部11は、検査対象である契約書を端末2から取得する(ステップS31)。制御部11はカテゴリ判別モデル141を参照して、取得した契約書の種別及び条項を判別する構造化処理を実行する(ステップS32)。制御部11は、判別した各条項の文章を、所定単位の語句毎に分割する(ステップS33)。
制御部11は、条項毎に対応するモデルデータ(言語モデル142)と、検査対象の契約書から判別した条項毎の文章との差分に基づき、検査対象の契約書の注意箇所を抽出する(ステップS34)。具体的には、制御部11は、上述の言語モデル142を用いて、各条項の文章に出現する各語句の生起確率を算出し、算出した生起確率に基づいて学習用の契約書との差分に相当する語句を判定する。上述の如く、制御部11は、言語モデル142であるRNNに各語句をその並び順に従って順次入力し、先頭から順に出現する一又は複数の語句から、当該一又は複数の語句に続く語句の生起確率を算出する。制御部11は、生起確率が所定の閾値以下の語句を注意箇所として抽出する。
制御部11は、抽出した語句を注意箇所として端末2に出力する(ステップS35)。例えば制御部11は、注意箇所に相当する語句を、色分け等によりその他の語句と異なる態様で端末2に表示させる。また、ステップS36において制御部11は、言語モデル142を参照して、注意箇所として出力した語句の修正候補を併せて出力してもよい。また、制御部11はカテゴリ判別モデル141を参照して、検査対象の契約書に記述されていない条項の例文を出力してもよい。制御部11は、一連の処理を終了する。
なお、上記では、事前に用意されたカテゴリ判別モデル141を用いてサーバ1が契約書の構造化を行ったが、入力作業者が契約書の各文章に対して種別、条項といった情報をタグ付けするなど、契約書の構造化は人手で行ってもよい。
また、上記では、サーバ1は機械学習により言語モデル142を生成し、言語モデル142を用いて注意箇所を抽出することとしたが、本実施の形態はこれに限定されるものではない。例えばサーバ1は、単なる契約書の雛形(テキスト)をモデルデータとして記憶しておき、テキストのパターンマッチングを行って、検査対象の契約書と雛形契約書との差分を判定して注意箇所を抽出するようにしてもよい。つまり、サーバ1は雛形契約書と検査対象の契約書との差分を条項毎に判定可能であればよく、その処理内容は機械学習によるアルゴリズムに限定されない。
また、上記ではサーバ1が契約書の学習及び検査の双方の処理を行ったが、各処理は別々のコンピュータで実行される構成であってもよい。例えばサーバ1が言語モデル142の生成を行い、言語モデル142のデータを端末2にインストールして、端末2が言語モデル142を用いた契約書の検査を行ってもよい。このように、契約書の文章を学習する学習装置と、契約書の検査を行う検査装置とは別々のハードウェア構成であってもよい。
以上より、本実施の形態1によれば、検査対象の契約書を条項毎に分け、各条項の文章をモデルデータと比較して注意箇所を抽出する。条項毎に分けて処理を行うことにより、複数の条項に区分して契約内容を記述するという契約書の特性を生かして、誤り等と推定される箇所を適切に抽出することができる。
また、本実施の形態1によれば、契約書の条項に出現する語句の並び順を学習した言語モデル142(学習済みモデル)を用いることで、注意箇所を精度良く抽出することができる。
また、本実施の形態1によれば、言語モデル142を用いることで、注意箇所を抽出できるだけでなく、注意箇所の修正候補を提示することもできる。
また、本実施の形態1によれば、契約の種別も考慮して一連の処理を行うことで、より精度良く注意箇所を抽出することができる。
また、本実施の形態1によれば、キーワードに基づくルールベースで契約書の種別及び条項を判別し、契約書の構造化を行うことができる。
また、本実施の形態1によれば、tf-idf法等のアルゴリズムを用いて契約書内の各文章の特徴量を算出し、類似度を求めることで、契約書の構造化を好適に行うことができる。
また、本実施の形態1によれば、注意箇所をユーザに提示するだけでなく、契約書に記述されていない条項の例文をユーザに提示することもできる。
(実施の形態2)
本実施の形態では、雛形とすべき契約書を学習した言語モデル142と、注意すべき契約書を学習した言語モデル142とを用いて、検査対象の契約書から注意箇所を抽出する形態について述べる。なお、実施の形態1と重複する内容については同一の符号を付して説明を省略する。
図9は、実施の形態2の概要を示す説明図である。図9では、実施の形態1と同様に雛形契約書から生成された言語モデル142(第1のモデルデータ)と、注意箇所として規定される特定の語句(要素)を有する要注意契約書から生成された言語モデル142(第2のモデルデータ)とを用いて、検査対象の契約書から注意箇所を抽出する様子を図示してある。図9に基づき、本実施の形態の概要について説明する。
実施の形態1では、図9上側に相当する、注意箇所に相当する語句を有しない雛形契約書から言語モデル142を生成し、注意箇所を抽出する形態について説明した。しかし、当該言語モデル142のみから注意箇所の抽出を行った場合、契約内容そのものではなく、単なる単語の使い方や配置、文法などの所謂言い回しのみをもって注意箇所を抽出する虞がある。従って、契約内容の瑕疵を検出するという本来の趣旨に則しない検出結果を出力する可能性がある。
そこで本実施の形態では、サーバ1は注意箇所として規定された特定の語句を有しない雛形契約書から言語モデル142を生成すると共に、注意箇所として規定された特定の語句を予め含む要注意契約書を元に、契約書に頻出する瑕疵を学習した言語モデル142を生成する。サーバ1は、検査対象の契約書から注意箇所を抽出する場合、一の条項に対して2つの言語モデル142を用いて注意箇所を抽出する。
具体的には、サーバ1は各言語モデル142それぞれから、契約書内の各語句の生起確率を算出する。これにより、図9右側に示すように、サーバ1は一の語句に対して2つの生起確率を算出する。サーバ1は、各言語モデル142から算出した生起確率に基づき、当該語句が雛形契約書との差分に相当する注意箇所か否かを判定する。
例えばサーバ1は、特定の語句を有しない雛形契約書の言語モデル142から算出した生起確率が所定の閾値以下であり、かつ、特定の語句を有する要注意契約書の言語モデル142から算出した生起確率が所定の閾値以上である語句を、注意箇所として抽出する。特定の語句を有する要注意契約書の言語モデル142は、契約書に頻出する瑕疵を学習した学習済みモデルであるため、当該言語モデル142を用いて生起確率を算出した場合、サーバ1は、注意箇所に相当する語句もその他の語句と同様に高い値で算出する。従って、前者の言語モデル142から算出した生起確率が閾値以下であり、かつ、後者の言語モデル142から算出した生起確率が閾値以上である語句を抽出することで、言い回しのみによって注意箇所と判定される語句を排除し、契約内容の瑕疵と推定される箇所のみを精度良く抽出することができる。
図10は、実施の形態2に係る契約書学習処理の処理手順の一例を示すフローチャートである。図10に基づき、本実施の形態における契約書学習処理の処理内容について説明する。
サーバ1の制御部11は、雛形とすべき契約書と、注意すべき契約書とをそれぞれ取得する(ステップS201)。具体的には、制御部11は、注意箇所に相当する特定の語句(要素)を有しない雛形契約書と、注意箇所に相当する特定の語句を有する要注意契約書とをそれぞれ取得する。上記の特定の語句は、契約書作成時に頻出する瑕疵として規定された所定の語句である。制御部11は、瑕疵に相当する語句を含まない雛形契約書と、瑕疵に相当する語句を含む要注意契約書とを取得する。制御部11は、処理をステップS12に移行する。
雛形契約書及び要注意契約書それぞれについて各条項の文章を所定単位の語句毎に分割した後(ステップS13)、制御部11は、各契約書から別々の言語モデル142(第1及び第2のモデルデータ)を生成する(ステップS202)。すなわち制御部11は、同じ種別及び条項の文章であっても、瑕疵を有しない文章と、瑕疵を有する文章とから別々のRNNを構築する。制御部11は、一連の処理を終了する。
図11は、実施の形態2に係る契約書検査処理の処理手順の一例を示すフローチャートである。図11に基づき、本実施の形態に係る契約書検査処理の処理内容について説明する。
検査対象の契約書に含まれる各条項の文章を所定単位の語句毎に分割した後(ステップS33)、サーバ1の制御部11は以下の処理を実行する。制御部11は、検査対象の契約書から特定した各条項の文章を、上述の雛形契約書から生成したモデルデータ(第1のモデルデータ)、及び要注意契約書から生成したモデルデータ(第2のモデルデータ)それぞれと比較して差分を判定し、注意箇所を抽出する(ステップS221)。具体的には、制御部11は、特定の語句を有しない雛形契約書から生成した言語モデル142に基づいて検査対象の契約書に出現する各語句の生起確率を算出すると共に、特定の語句を有する要注意契約書から生成した言語モデル142からも同様に各語句の生起確率を算出する。制御部11は、各言語モデル142から算出した生起確率に応じて差分を判定し、注意箇所を抽出する。例えば制御部11は、特定の語句を有する雛形契約書の言語モデル142から算出した生起確率が所定の閾値以上であり、かつ、特定の語句を有しない雛形契約書の言語モデル142から算出した生起確率が所定の閾値以下である語句を注意箇所として抽出する。制御部11は、処理をステップS35に移行する。
なお、上記でサーバ1は、注意箇所として規定された特定の語句を有する要注意契約書を学習して言語モデル142(第2のモデルデータ)を生成することとしたが、本実施の形態はこれに限定されるものではない。例えばサーバ1は、契約書において重要なキーワードが記載されておらず、重要事項が不足している契約書を要注意契約書として規定し、当該契約書を学習して言語モデル142を生成することとしてもよい。これにより、重要事項が不足している契約書に対して警告を出力することができる。また、例えばサーバ1は、一つひとつの語句において瑕疵はないが、各文章の記載の順序など、文書全体の内容が誤っている契約書を要注意契約書として規定し、当該契約書を学習して言語モデル142を生成することとしてもよい。これによりサーバ1は、契約書全体の流れの瑕疵を学習し、警告を出力することができる。このように、サーバ1が学習対象とする契約書は注意すべき契約書であればよく、特定の語句を有するものに限定されない。
以上より、本実施の形態2によれば、契約内容そのものの瑕疵を精度良く抽出することができる。
(実施の形態3)
本実施の形態では、各条項の文章から抽出した注意箇所の数に応じて、条項全体を注意箇所として出力する形態について説明する。
図12は、実施の形態3の概要を示す説明図である。本実施の形態に係るサーバ1は、実施の形態1と同様に、言語モデル142を参照して検査対象の契約書の各条項から注意箇所を抽出し、端末2に出力する。本実施の形態ではさらに、サーバ1は各条項における注意箇所の数に応じて、注意箇所が多い条項自体を注意箇所として出力する。
図12の左側に示す例では、「秘密保持契約書」において「支払方法と時期」の条項が記述されているが、秘密保持契約書には本来、金銭の支払に関する条項はないはずである。しかし、ユーザが他の契約書と間違える等して当該契約書に上記の条項を記述したため、サーバ1は、当該条項の文章部分から多数の注意箇所を抽出する。本実施の形態でサーバ1は、このように多数の注意箇所を抽出した条項を、それ自体が通常記載すべきでない条項としてユーザに通知する。
例えばサーバ1は、図12右側に示すように、条項全体を注意箇所として端末2に表示させる。例えば端末2は、色分け等の方法によって該当する条項を他の条項とは異なる態様で表示する。これにより、ユーザは、契約書に通常記載されないはずの条項を容易に把握することができる。
なお、上記では条項単位で注意箇所を出力するものとしたが、例えばサーバ1は、一文毎、段落毎などの単位で上述の処理を行ってもよい。つまり、サーバ1は、複数の注意箇所を検出した文章をユーザに提示可能であればよく、当該文章の単位は特に限定されない。
図13は、実施の形態3に係る契約書検査処理の処理手順の一例を示すフローチャートである。図13に基づき、本実施の形態に係る契約書検査処理の処理内容について説明する。
検査対象の契約書から注意箇所を抽出した後(ステップS34)、サーバ1の制御部11は以下の処理を実行する。制御部11は、注意箇所に相当する語句を所定数以上有する条項があるか否かを判定する(ステップS301)。注意箇所に相当する語句を所定数以上有する条項がないと判定した場合(S301:NO)、制御部11は処理をステップS35に移行する。
注意箇所に相当する語句を所定数以上有する条項があると判定した場合(S301:YES)、制御部11は、該当する条項全体を注意箇所として出力する(ステップS302)。例えば制御部11は、図12に示したように、該当する条項を他の条項とは色分けする等、異なる表示態様で端末2に表示させる。制御部11は、一連の処理を終了する。
以上より、本実施の形態3によれば、契約書に通常記載されないはずの条項をユーザに提示し、再考を促すことができる。
(実施の形態4)
図14は、上述した形態のサーバ1の動作を示す機能ブロック図である。制御部11がプログラムPを実行することにより、サーバ1は以下のように動作する。
記憶部1401は、複数の条項夫々のモデルデータを記憶する。取得部1402は、契約書を取得する。判別部1403は、取得した前記契約書から前記条項に相当する箇所を判別する。抽出部1404は、前記条項毎に対応する前記モデルデータと、前記契約書から判別した前記条項毎の文章と、の差分に基づき前記契約書の注意箇所を抽出する。出力部1405は、前記注意箇所を出力する。
本実施の形態4は以上の如きであり、その他は実施の形態1から3と同様であるので、対応する部分には同一の符号を付してその詳細な説明を省略する。
今回開示された実施の形態はすべての点で例示であって、制限的なものではないと考えられるべきである。本発明の範囲は、上記した意味ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。
1 サーバ(情報処理装置、検査装置、学習装置)
11 制御部
12 主記憶部
13 通信部
14 補助記憶部
P プログラム
141 カテゴリ判別モデル
142 言語モデル
2 端末

Claims (12)

  1. 複数の条項夫々のモデルデータ及び前記複数の条項夫々に対応するキーワードを記憶する記憶部と、
    契約書を取得する取得部と、
    取得した前記契約書内の前記キーワードが記述された文章部分を前記条項に相当する文章部分として判別する判別部と、
    前記条項毎に対応する前記モデルデータと、前記契約書から判別した前記条項毎の文章部分の要素との差分を判定し、判定した差分に相当する文章部分の要素を前記契約書の注意箇所として抽出する抽出部と、
    前記注意箇所を出力する出力部と
    を備えることを特徴とする検査装置。
  2. 前記契約書から判別した前記条項毎の文章部分を、所定単位の文字又は文字列である複数の要素に分割する分割部を備え、
    前記モデルデータは、契約書の前記条項毎に、各要素の次に出現する前記要素を前記文章部分の順に学習した学習済みモデルであり、
    前記抽出部は、
    前記モデルデータを参照して、前記分割部が分割した前記文章部分の前記各要素の生起確率を算出し、
    算出した前記各要素の前記生起確率及び所定の閾値に基づいて前記要素を前記差分として抽出する
    ことを特徴とする請求項1に記載の検査装置。
  3. 前記注意箇所を出力する場合、前記出力部は前記モデルデータを参照して、前記生起確率が最大となる前記要素を前記注意箇所の修正候補として出力する
    ことを特徴とする請求項2に記載の検査装置。
  4. 前記記憶部は、前記条項毎に、雛形とすべき契約書を学習した第1のモデルデータと、注意すべき契約書を学習した第2のモデルデータとを記憶してあり、
    前記抽出部は、前記第1及び第2のモデルデータに基づいて、取得した契約書内の文章部分の各要素の生起確率を算出し、算出した各要素の生起確率及び所定の閾値に基づいて前記要素を差分として判定し、判定した差分に相当する文章部分の要素を前記注意箇所として抽出する
    ことを特徴とする請求項2又は3に記載の検査装置。
  5. 前記記憶部は、種別に応じた前記モデルデータを記憶してあり、
    前記判別部は、前記契約書の種別を判別し、
    前記抽出部は、前記契約書の種別に対応する前記モデルデータに基づいて前記注意箇所を抽出する
    ことを特徴とする請求項1~4のいずれか1項に記載の検査装置。
  6. 前記記憶部は、前記条項毎に、各単語の出現頻度に応じた前記文章部分の特徴量を記憶してあり、
    前記判別部は、
    前記各条項の文章部分に含まれる各単語の出現頻度に基づき、前記文章部分の特徴量を算出し、
    算出した前記文章部分の特徴量と、前記記憶部に記憶されている特徴量との類似度を算出し、
    算出した前記類似度に応じて前記条項を判別する
    ことを特徴とする請求項1~5のいずれか1項に記載の検査装置。
  7. 前記出力部は、前記複数の条項夫々のモデルデータを参照して、前記契約書に記述されていない前記条項を判別して前記条項の文例を出力する
    ことを特徴とする請求項1~のいずれか1項に記載の検査装置。
  8. 前記差分を所定数以上有する前記条項の文章部分を特定する特定部を備え、
    前記出力部は、特定した前記条項の文章全体を前記注意箇所として出力する
    ことを特徴とする請求項1~のいずれか1項に記載の検査装置。
  9. 契約書を取得し、
    取得した前記契約書内の複数の条項夫々に対応するキーワードが記述された文章部分を前記条項に相当する文章部分として判別し、
    前記複数の条項夫々のモデルデータ及び前記キーワードを記憶する記憶部を参照して、前記条項毎に対応する前記モデルデータと、前記契約書から判別した前記条項毎の文章部分の要素との差分を判定し、判定した差分に相当する文章部分の要素を前記契約書の注意箇所として抽出し、
    前記注意箇所を出力する
    処理をコンピュータに実行させることを特徴とする検査方法。
  10. 契約書を取得し、
    取得した前記契約書内の複数の条項夫々に対応するキーワードが記述された文章部分を前記条項に相当する文章部分として判別し、
    前記複数の条項夫々のモデルデータ及び前記キーワードを記憶する記憶部を参照して、前記条項毎に対応する前記モデルデータと、前記契約書から判別した前記条項毎の文章部分の要素との差分を判定し、判定した差分に相当する文章部分の要素を前記契約書の注意箇所として抽出し、
    前記注意箇所を出力する
    処理をコンピュータに実行させることを特徴とするプログラム。
  11. 契約書を取得する取得部と、
    前記契約書に含まれる条項毎の文章部分を、所定単位の文字又は文字列である複数の要素に分割する分割部と
    前記条項毎に、各要素の次に出現する前記要素を前記文章部分における順に学習したモデルデータであって、契約書の記述内容を検査する検査装置に用いられるモデルデータを生成する生成部と
    を備えることを特徴とする学習装置。
  12. 前記取得部は、雛形とすべき契約書と、注意すべき契約書とを取得し、
    前記生成部は、前記雛形とすべき契約書及び注意すべき契約書夫々から、契約書の記述内容を検査する検査装置に用いられる第1及び第2のモデルデータを生成する
    ことを特徴とする請求項11に記載の学習装置。
JP2018108837A 2018-06-06 2018-06-06 検査装置、検査方法、プログラム及び学習装置 Active JP7155625B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018108837A JP7155625B2 (ja) 2018-06-06 2018-06-06 検査装置、検査方法、プログラム及び学習装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018108837A JP7155625B2 (ja) 2018-06-06 2018-06-06 検査装置、検査方法、プログラム及び学習装置

Publications (2)

Publication Number Publication Date
JP2019212115A JP2019212115A (ja) 2019-12-12
JP7155625B2 true JP7155625B2 (ja) 2022-10-19

Family

ID=68845521

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018108837A Active JP7155625B2 (ja) 2018-06-06 2018-06-06 検査装置、検査方法、プログラム及び学習装置

Country Status (1)

Country Link
JP (1) JP7155625B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2021176628A1 (ja) 2020-03-05 2021-09-10
CN112270604A (zh) * 2020-10-14 2021-01-26 招商银行股份有限公司 信息结构化处理方法、装置及计算机可读存储介质
CN112541342B (zh) * 2020-12-08 2022-07-22 北京百度网讯科技有限公司 文本纠错方法、装置、电子设备及存储介质
WO2023187981A1 (ja) * 2022-03-29 2023-10-05 日本電気株式会社 情報処理装置、情報処理方法及び情報処理プログラム

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010092227A (ja) 2008-10-07 2010-04-22 Ntt Data Corp 文書作成支援装置、文書作成支援方法およびプログラム

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3172122B2 (ja) * 1997-06-30 2001-06-04 ヤンマー農機株式会社 生ゴミ処理装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010092227A (ja) 2008-10-07 2010-04-22 Ntt Data Corp 文書作成支援装置、文書作成支援方法およびプログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
山腰貴大 他3名,CBOW言語モデルを用いた契約用語の校正手法,言語処理学会第24回年次大会 発表論文集[online],日本,言語処理学会,2018年03月05日,1276-1279頁

Also Published As

Publication number Publication date
JP2019212115A (ja) 2019-12-12

Similar Documents

Publication Publication Date Title
JP7155625B2 (ja) 検査装置、検査方法、プログラム及び学習装置
CN107729313B (zh) 基于深度神经网络的多音字读音的判别方法和装置
JP5356197B2 (ja) 単語意味関係抽出装置
US9483460B2 (en) Automated formation of specialized dictionaries
CN111444320A (zh) 文本检索方法、装置、计算机设备和存储介质
CN111198948A (zh) 文本分类校正方法、装置、设备及计算机可读存储介质
CN106778878B (zh) 一种人物关系分类方法及装置
WO2018086519A1 (zh) 一种特定文本信息的识别方法及装置
US11593557B2 (en) Domain-specific grammar correction system, server and method for academic text
Singh et al. A decision tree based word sense disambiguation system in Manipuri language
US11669687B1 (en) Systems and methods for natural language processing (NLP) model robustness determination
US20230075614A1 (en) Automatically identifying multi-word expressions
CN111858843A (zh) 一种文本分类方法及装置
JPWO2019224891A1 (ja) 分類装置、分類方法、生成方法、分類プログラム及び生成プログラム
US11669740B2 (en) Graph-based labeling rule augmentation for weakly supervised training of machine-learning-based named entity recognition
CN111753082A (zh) 基于评论数据的文本分类方法及装置、设备和介质
Mohanty et al. Resumate: A prototype to enhance recruitment process with NLP based resume parsing
CN113657098A (zh) 文本纠错方法、装置、设备及存储介质
JP5441937B2 (ja) 言語モデル学習装置、言語モデル学習方法、言語解析装置、及びプログラム
WO2023038722A1 (en) Entry detection and recognition for custom forms
KR102517971B1 (ko) 자동회귀 언어 모형을 이용한 문맥의존 철자오류 교정 장치 및 방법
CN113705207A (zh) 语法错误识别方法及装置
WO2023035883A1 (zh) 用于文档和摘要的一致性检测的方法、设备和介质
CN114580391A (zh) 中文错误检测模型训练方法、装置、设备及存储介质
CN114036956A (zh) 一种旅游知识语义分析方法及装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210420

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220427

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220531

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220719

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220906

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220919

R150 Certificate of patent or registration of utility model

Ref document number: 7155625

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150