(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-06-25
(45)【発行日】2024-07-03
(54)【発明の名称】契約書処理装置、契約書処理方法、およびプログラム
(51)【国際特許分類】
G06F 16/21 20190101AFI20240626BHJP
【FI】
G06F16/21
(21)【出願番号】P 2020120491
(22)【出願日】2020-07-14
【審査請求日】2023-05-24
【新規性喪失の例外の表示】特許法第30条第2項適用 令和2年5月11日 https://jp.corp-sansan.com/news/2020/contract-one_launch.htmを通じて発表、令和2年5月11日 https://twitter.com/SansanJapan/status/1259756624006152192を通じて発表、令和2年5月11日 https://corporate.bengo4.com/press/release/3055/を通じて発表、令和2年5月11日 プレスリリース、令和2年5月11日、令和2年5月12日、令和2年5月20日、令和2年5月28日、令和2年7月2日、令和2年7月3日、令和2年7月9日個別営業を通じて発表。
(73)【特許権者】
【識別番号】507384939
【氏名又は名称】Sansan株式会社
(74)【代理人】
【識別番号】100115749
【氏名又は名称】谷川 英和
(72)【発明者】
【氏名】林 佑樹
(72)【発明者】
【氏名】押尾 香奈
(72)【発明者】
【氏名】尾中 倫宗
【審査官】三橋 竜太郎
(56)【参考文献】
【文献】国際公開第2018/042548(WO,A1)
【文献】特開2008-140411(JP,A)
【文献】特開2019-114285(JP,A)
【文献】特開2019-086960(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 16/00-16/958
(57)【特許請求の範囲】
【請求項1】
第一の時点の契約書情報に対する単体スコアが格納されるスコア格納部と、
前記第一の時点より後の第二の時点における契約書情報を受け付ける契約書受付部と、
前記契約書受付部が受け付けた前記契約書情報の中の文字列の集合の文章である契約文章の1以上の各検査単位を解析し、当該1以上の各検査単位ごとに、不利な契約か否かに関するクラスを取得する分類部と、
前記分類部が取得した前記1以上のクラスを用いて、前記第二の時点における前記契約書情報のスコアである単体スコアを取得する単体スコア取得手段と、
前記第二の時点における前記契約書情報から取得した前記単体スコアと、前記スコア格納部の前記単体スコアとの差異に関する貢献情報を取得する貢献情報取得手段と、
前記貢献情報取得手段が取得した前記貢献情報を出力する関連情報出力部とを具備する契約書処理装置。
【請求項2】
第一の時点の2以上の契約書情報に対する総合スコアが格納されるスコア格納部と、
前記第一の時点より後の第二の時点における2以上の契約書情報を受け付ける契約書受付部と、
前記契約書受付部が受け付けた前記2以上の各契約書情報の中の文字列の集合の文章である契約文章の1以上の各検査単位を解析し、不利な契約か否かに関するクラスを取得する分類部と、
前記分類部が取得した2以上のクラスを用いて、前記2以上の契約書情報のスコアである総合スコアを取得する総合スコア取得手段と、
前記第二の時点における前記2以上の契約書情報から取得した前記総合スコアと、前記スコア格納部の前記総合スコアとの差異に関する貢献情報を取得する貢献情報取得手段と
前記貢献情報取得手段が取得した前記貢献情報を出力する関連情報出力部とを具備する契約書処理装置。
【請求項3】
第一の時点の契約書情報に対する単体スコアが格納されるスコア格納部と、契約書受付部と、分類部と、単体スコア取得手段と、貢献情報取得手段と、関連情報出力部とにより実現される契約書処理方法であって、
前記契約書受付部が、前記第一の時点より後の第二の時点における契約書情報を受け付ける契約書受付ステップと、
前記分類部が、前記契約書受付部が受け付けた前記契約書情報の中の文字列の集合の文章である契約文章の1以上の各検査単位を解析し、当該1以上の各検査単位ごとに、不利な契約か否かに関するクラスを取得する分類ステップと、
前記単体スコア取得手段が、前記分類部が取得した前記1以上のクラスを用いて、前記第二の時点における前記契約書情報のスコアである単体スコアを取得する単体スコア取得ステップと、
前記貢献情報取得手段が、前記第二の時点における前記契約書情報から取得した前記単体スコアと、前記スコア格納部の前記単体スコアとの差異に関する貢献情報を取得する貢献情報取得ステップと、
前記関連情報出力部が、前記貢献情報取得手段が取得した前記貢献情報を出力する関連情報出力ステップとを具備する契約書処理方法。
【請求項4】
第一の時点の2以上の契約書情報に対する総合スコアが格納されるスコア格納部と、契約書受付部と、分類部と、総合スコア取得手段と、貢献情報取得手段と、関連情報出力部とにより実現される契約書処理方法であって、
前記契約書受付部が、前記第一の時点より後の第二の時点における2以上の契約書情報を受け付ける契約書受付ステップと、
前記分類部が、前記契約書受付部が受け付けた前記2以上の各契約書情報の中の文字列の集合の文章である契約文章の1以上の各検査単位を解析し、不利な契約か否かに関するクラスを取得する分類ステップと、
前記総合スコア取得手段が、前記分類部が取得した2以上のクラスを用いて、前記2以上の契約書情報のスコアである総合スコアを取得する総合スコア取得ステップと、
前記貢献情報取得手段が、前記第二の時点における前記2以上の契約書情報から取得した前記総合スコアと、前記スコア格納部の前記総合スコアとの差異に関する貢献情報を取得する貢献情報取得ステップと
前記関連情報出力部が、前記貢献情報取得手段が取得した前記貢献情報を出力する関連情報出力ステップとを具備する契約書処理方法。
【請求項5】
第一の時点の契約書情報に対する単体スコアが格納されるスコア格納部にアクセス可能なコンピュータを、
前記第一の時点より後の第二の時点における契約書情報を受け付ける契約書受付部と、
前記契約書受付部が受け付けた前記契約書情報の中の文字列の集合の文章である契約文章の1以上の各検査単位を解析し、当該1以上の各検査単位ごとに、不利な契約か否かに関するクラスを取得する分類部と、
前記分類部が取得した前記1以上のクラスを用いて、前記第二の時点における前記契約書情報のスコアである単体スコアを取得する単体スコア取得手段と、
前記第二の時点における前記契約書情報から取得した前記単体スコアと、前記スコア格納部の前記単体スコアとの差異に関する貢献情報を取得する貢献情報取得手段と、
前記貢献情報取得手段が取得した前記貢献情報を出力する関連情報出力部として機能させるためのプログラム。
【請求項6】
第一の時点の2以上の契約書情報に対する総合スコアが格納されるスコア格納部にアクセス可能なコンピュータを、
前記第一の時点より後の第二の時点における2以上の契約書情報を受け付ける契約書受付部と、
前記契約書受付部が受け付けた前記2以上の各契約書情報の中の文字列の集合の文章である契約文章の1以上の各検査単位を解析し、不利な契約か否かに関するクラスを取得する分類部と、
前記分類部が取得した2以上のクラスを用いて、前記2以上の契約書情報のスコアである総合スコアを取得する総合スコア取得手段と、
前記第二の時点における前記2以上の契約書情報から取得した前記総合スコアと、前記スコア格納部の前記総合スコアとの差異に関する貢献情報を取得する貢献情報取得手段と
前記貢献情報取得手段が取得した前記貢献情報を出力する関連情報出力部として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、契約書情報を処理する契約書処理装置等に関するものである。
【背景技術】
【0002】
従来、契約書の作成を支援するための契約書管理システムがあった(特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、従来技術においては、契約書の適切な管理または利用が容易ではなかった。
【課題を解決するための手段】
【0005】
本第一の発明の契約書処理装置は、契約書の属性値である契約属性値を取得する手がかりとなる1以上の手がかり句が格納される手がかり句格納部と、契約書情報を受け付ける契約書受付部と、契約書情報から契約文章を取得し、1以上の手がかり句を用いて、契約文章から、契約の種別情報、契約の相手情報、契約の締結日情報、契約の効力の開始日情報、契約の効力の終了日情報、契約の自動更新情報、契約の解約通知期限情報、契約の金額情報のうちの2以上の契約属性値を取得する属性値取得部と、2以上の契約属性値を蓄積するための蓄積支援処理を行う蓄積支援部とを具備する契約書処理装置である。
【0006】
かかる構成により、契約書の適切な管理が容易になる。
【0007】
また、本第二の発明の契約書処理装置は、第一の発明に対して、蓄積支援部は、2以上の契約属性値を契約書情報に対応付けて蓄積する契約書処理装置である。
【0008】
かかる構成により、契約書の適切な管理が容易になる。
【0009】
また、本第三の発明の契約書処理装置は、第二の発明に対して、契約書情報と契約書情報から取得された2以上の契約属性値とを対応付けて有する1以上の契約情報が格納される契約情報格納部と、1以上の契約属性値を用いた検索情報を受信する検索情報受信部と、検索情報に合致する契約情報を決定する検索部と、検索部が決定した契約情報が有する契約書情報を出力する契約情報出力部とをさらに具備する契約書処理装置である。
【0010】
かかる構成により、契約書の適切な管理が容易になる。
【0011】
また、本第四の発明の契約書処理装置は、第一から第三いずれか1つの発明に対して、2以上の契約属性値のうち、1以上の契約属性値を用いて、後処理を行う後処理部をさらに具備する契約書処理装置である。
【0012】
かかる構成により、契約書の適切な利用が容易になる。
【0013】
また、本第五の発明の契約書処理装置は、第四の発明に対して、後処理部は、終了日情報が示す日または解約通知期限情報が示す日が、予め決められた条件を満たすほど迫ってきたと判断した場合、契約の更新または契約の解除に関する通知を行う通知手段を具備する契約書処理装置である。
【0014】
かかる構成により、契約更新を報知できる。
【0015】
また、本第六の発明の契約書処理装置は、第一から第五いずれか1つの発明に対して、契約文章の1以上の各検査単位を解析し、不利な契約か否かに関するクラスを取得する分類部と、分類部が取得したクラスを用いて、クラスに関する関連情報を取得する関連情報取得部と、関連情報を出力する関連情報出力部とをさらに具備する契約書処理装置である。
【0016】
かかる構成により、契約内容の分類が可能となる。
【0017】
また、本第七の発明の契約書処理装置は、第六の発明に対して、分類部は、一の契約書情報の契約文章の1以上の各検査単位に対するクラスを取得し、関連情報取得部は、分類部が取得した1以上のクラスを用いて、一の契約書情報のスコアである単体スコアを取得する単体スコア取得手段を具備し、関連情報出力部は、単体スコアを出力する契約書処理装置である。
【0018】
かかる構成により、契約内容のスコア化が可能となる。
【0019】
また、本第八の発明の契約書処理装置は、第七の発明に対して、関連情報取得部は、クラスが予め決められた条件を満たす場合、クラスに対応する検査単位に基づくレコメンド情報を取得するレコメンド取得手段を具備し、関連情報出力部は、レコメンド情報を出力する契約書処理装置である。
【0020】
かかる構成により、適切な契約となるための情報を提示できる。
【0021】
また、本第九の発明の契約書処理装置は、第六の発明に対して、分類部は、2以上の各契約書情報の契約文章の1以上の各検査単位に対するクラスを取得し、関連情報取得部は、分類部が取得した2以上のクラスを用いて、2以上の契約書情報のスコアである総合スコアを取得する総合スコア取得手段を具備し、関連情報出力部は、総合スコアを出力する契約書処理装置である。
【0022】
かかる構成により、契約内容のスコア化が可能となる。
【0023】
また、本第十の発明の契約書処理装置は、第八または第九の発明に対して、第一の時点の契約書情報に対する単体スコアまたは総合スコアが格納されるスコア格納部をさらに具備し、関連情報取得部は、第一の時点より後の第二の時点における契約書情報から取得した単体スコアまたは総合スコアと、スコア格納部の単体スコアまたは総合スコアとの差異に関する貢献情報を取得する貢献情報取得手段をさらに具備し、関連情報出力部は、貢献情報を出力する契約書処理装置である。
【0024】
かかる構成により、契約書に対するスコアの変化を用いて、貢献度合いを提示できる。
【発明の効果】
【0025】
本発明による契約書処理装置によれば、契約書の適切な管理または利用が容易になる。
【図面の簡単な説明】
【0026】
【
図1】実施の形態1における情報システムAの概念図を示す図
【
図4】同契約書処理装置1の動作例について説明するフローチャート
【
図5】同属性値取得処理の例について説明するフローチャート
【
図6】同種別取得処理の例について説明するフローチャート
【
図7】同相手取得処理の例について説明するフローチャート
【
図8】同締結日取得処理の例について説明するフローチャート
【
図9】同開始日・終了日取得処理の例について説明するフローチャート
【
図10】同自動更新取得処理の例について説明するフローチャート
【
図11】同解約通知期限取得処理の例について説明するフローチャート
【
図12】同取引金額取得処理の例について説明するフローチャート
【
図13】同関連情報取得処理の例について説明するフローチャート
【
図14】同クラス取得処理の例について説明するフローチャート
【
図15】同検査単位クラス決定処理の例について説明するフローチャート
【
図16】同通知処理の例について説明するフローチャート
【
図17】同更新処理の例について説明するフローチャート
【
図18】同総合スコア取得処理の例について説明するフローチャート
【
図19】同貢献情報取得処理の例について説明するフローチャート
【発明を実施するための形態】
【0027】
以下、契約書処理装置等の実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
【0028】
(実施の形態1)
本実施の形態において、契約書情報を受信し、当該契約書情報から、予め決められた2以上の契約属性値を取得し、出力する契約書処理装置を具備する情報システムについて説明する。
【0029】
また、本実施の形態において、2以上の契約属性値を契約書情報と対応付けて蓄積する契約書処理装置を具備する情報システムについて説明する。
【0030】
また、本実施の形態において、契約属性値を用いて、契約書情報が検索できる契約書処理装置を具備する情報システムについて説明する。
【0031】
また、本実施の形態において、1以上の契約属性値を用いて後処理を行う契約書処理装置を具備する情報システムについて説明する。なお、後処理は、例えば、期限情報を用いて、契約更新の報知の処理である。
【0032】
また、本実施の形態において、契約書の検査単位を検査し、不利か否か等のクラスを決定、当該クラスを出力する契約書処理装置を具備する情報システムについて説明する。
【0033】
また、本実施の形態において、クラスの決定結果を用いて、契約書のスコアを取得する契約書処理装置を具備する情報システムについて説明する。
【0034】
また、本実施の形態において、クラスの分類結果を用いて、次回の契約についてレコメンドする契約書処理装置を具備する情報システムについて説明する。
【0035】
さらに、本実施の形態において、時系列のスコアを用いて、法務業務への貢献や事業貢献の度合いを取得し、出力する契約書処理装置を具備する情報システムについて説明する。
【0036】
図1は、本実施の形態における情報システムAの概念図である。情報システムAは、契約書処理装置1、1または2以上の端末装置2を備える。契約書処理装置1は、ここではいわゆるサーバ装置である。契約書処理装置1は、例えば、クラウドサーバやASPサーバであるが、そのタイプや設置場所は問わない。端末装置2は、スマートフォンやタブレット端末や携帯電話等の携帯端末、いわゆるパソコン等であり、そのタイプは問わない。
【0037】
図2は、本実施の形態における情報システムAのブロック図である。また、
図3は、契約書処理装置1のブロック図である。
【0038】
契約書処理装置1は、格納部11、受信部12、処理部13、送信部14を備える。
【0039】
格納部11は、手がかり句格納部111、学習情報格納部112、契約情報格納部113、スコア格納部114を備える。
【0040】
受信部12は、契約書受付部121、検索情報受信部122を備える。
【0041】
処理部13は、属性値取得部131、蓄積支援部132、検索部133、後処理部134、分類部135、関連情報取得部136を備える。
【0042】
後処理部134は、通知手段1341、更新手段1342、明示手段1343を備える。
【0043】
関連情報取得部136は、単体スコア取得手段1361、総合スコア取得手段1362、貢献情報取得手段1363、レコメンド取得手段1364を備える。
【0044】
送信部14は、関連情報出力部141、契約情報出力部142を備える。
【0045】
端末装置2は、端末格納部21、端末受付部22、端末処理部23、端末送信部24、端末受信部25、端末出力部26を備える。
【0046】
契約書処理装置1を構成する格納部11には、各種の情報が格納される。各種の情報は、例えば、後述する手がかり句、後述する学習情報、後述する契約情報、後述するスコアである。
【0047】
手がかり句格納部111には、1または2以上の手がかり句が格納される。手がかり句は、後述する契約文章から契約属性値を取得するための手がかりとなる1以上の用語である。手がかり句は、一用語でも、2以上の用語でも、文のパターン等でも良い。手がかり句を手がかり情報と言っても良い。
【0048】
契約属性値は、契約書の属性値である。契約属性値は、例えば、種別情報、名称情報、日付情報、自動更新情報、金額情報である。種別情報は、契約書の種別を示す情報である。種別情報は、例えば、「内容証明」「債権放棄」「弁済契約」「求償金支払」「譲渡契約書」「守秘義務」「取引基本契約書」「個人情報保護契約書」「業務委託契約」である。名称情報は、契約の当事者の名称の情報である。名称情報は、例えば、相手情報、自分情報である。相手情報は、契約の相手の名称であり、例えば、企業名や団体名等の組織名、人名である。自分情報は、契約の当事者(契約書処理装置1を使用する本人)の名称であり、例えば、組織名、人名である。日付情報は、特定の日を特定する情報であり、例えば、契約の締結日を特定する締結日情報、契約の開始日を特定する開始日情報、契約の終了日を特定する終了日情報、契約の解約通知期限を特定する解約通知期限情報である。解約通知期限情報は、日付情報であることは好適であるが、例えば、終了日情報が示す日付の前の期間を特定する情報(例えば、Nヶ月前またはN日前等)でも良い。自動更新情報は、自動更新の有無を特定する情報である。金額情報は、契約に関する金額を特定する情報である。金額情報は、通常、取引金額を特定する情報である。
【0049】
また、手がかり句は、例えば、種別情報、契約の当事者を特定するための語である当事者語、期間の情報を取得するための期間パターン、期間の情報を取得するための期間用語、契約の効力の発生に関する効力用語、契約の効力の終了に関する終了用語、契約が自動更新である旨を判断するための文字列のパターンである自動更新パターン、契約の期限が存在することを検知するための用語である期限予期用語、期日を取得するための用語である期日用語、取引金額を取得するための用語である取引金額用語、後述する検査単位のクラスを決定するためのクラス決定パターンである。
【0050】
当事者語は、例えば、「甲」「乙」「丙」である。期間パターンは、例えば、「Y年M月D日からy年m月d日」「Y年M月D日~y年m月d日」「(なお、Y,M,D、y、m、dは数値)である。期間用語は、例えば、「期間」である。効力用語は、例えば、「効力」「有効となる」「効果」である。終了用語は、例えば、「をもって終了」「終了する」である。自動更新パターンは、例えば、「その後~も同様とする」「この例に従うものとする」「自動的~更新」「自動的~延長」(なお、~は任意の文字列)である。期限予期用語は、例えば、「その後も同様とする」「以後、同様」である。期日用語は、例えば、「Xか月前」「Xケ月前」「X日前」(なお、Xは数値)である。取引金額用語は、例えば、「価格」「対価」である。
【0051】
クラス決定パターンは、例えば、クラス「中立」に対応する「甲又は乙は、相手方の機密情報を開示するなど本契約の条項に違反した場合には」、当事者「甲」に対するクラス「不利」に対応する「甲は、相手方の機密情報を開示するなど本契約の条項に違反した場合には」、当事者「甲」に対するクラス「有利」に対応する「乙は、相手方の機密情報を開示するなど本契約の条項に違反した場合には」、当事者「甲」に対するクラス「不利」に対応する「甲は、相手方の機密情報を開示するなど本契約の条項に違反した場合には賠償するが、乙はその限りではない」である。
【0052】
学習情報格納部112には、1または2以上の学習情報が格納される。学習情報は、例えば、契約内容のクラスを取得するために使用される情報である。なお、クラスについては後述する。学習情報は、後述する学習器でも良い。学習器は、例えば、機械学習のアルゴリズムにより、クラスを取得する場合に使用される情報である。クラスを取得するための学習器をクラス学習器という。なお、学習器は、学習モデル、分類器、分類モデルと言っても良い。
【0053】
学習情報は、組織名であるか否かを判断するために使用される情報でも良い。また、学習情報は、人名であるか否かを判断するために使用される情報でも良い。学習情報は、組織名または人名であるか否かを判断するために使用される情報でも良い。かかる場合、学習情報は、受け付けた用語が組織名または人名であるかを判断する学習器であり、名称学習器と言うこととする。名称学習器は、例えば、後述する処理部13が機械学習の学習処理により構成したデータである。
【0054】
契約情報格納部113は、1または2以上の契約情報が格納される。契約情報は、2以上の契約属性値を有する。2以上の契約属性値は、契約書情報に対応付いていることは好適である。契約情報は、例えば、2以上の契約属性値と契約書情報とを対応付けて有する。契約情報は、契約書情報を送信してきたユーザが属する組織を識別する組織識別子に対応付いていることは好適である。組織識別子は、通常、契約の主体を識別する情報である。組織識別子は、例えば、企業名、企業ID、部門名、部門ID、事業場名、事業場ID、人名である。また、2以上の契約属性値は、後述する属性値取得部131が取得した情報であることは好適である。
【0055】
スコア格納部114には、1または2以上のスコアが格納される。スコアは、契約の不利または有利に関する程度を示す情報である。スコアは、例えば、単体スコアまたは総合スコアである。単体スコアは、一の契約書情報のスコアである。総合スコアは、通常、2以上の契約書情報の総合的なスコアである。総合スコアは、例えば、一組織の1または2以上の契約書情報の総合的なスコアである。総合スコアは、例えば、特定の期間の一組織の1または2以上の契約書情報の総合的なスコアである。なお、スコアは、後述する関連情報取得部136が取得した情報であることは好適である。
【0056】
スコア格納部114には、時を特定する時情報に対応付けて、1以上のスコアが格納される。時情報は、一時点を特定する情報(2020年6月30日)でも良いし、一定の期間を特定する情報(例えば、令和2年度、2019年上期など)でも良い。ある一定の期間を一時点と言っても良い。
【0057】
受信部12は、各種の情報や指示を受信する。受信部12は、通常、各種の情報や指示を端末装置2から受信する。各種の情報や指示は、例えば、契約書情報、検索情報である。
【0058】
契約書受付部121は、契約書情報を受け付ける。契約書情報は、契約書の情報である。契約書情報は、例えば、PDF、テキストファイル、画像(jpeg,gif等)である。契約書情報は、通常、ファイルである。ただし、契約書情報のデータ構造やデータタイプは問わない。
【0059】
契約書受付部121は、組織識別子に対応付いている契約書情報を受け付けることは好適である。ここでの、組織識別子は、契約書情報を入力したユーザが属する組織の識別子である。
【0060】
なお、ここで、受け付けとは、通常、端末装置2からの受信であるが、キーボードやマウス、タッチパネルなどの入力デバイスから入力された情報の受け付け、光ディスクや磁気ディスク、半導体メモリなどの記録媒体から読み出された情報の受け付けなどを含む概念であっても良い。
【0061】
検索情報受信部122は、1以上の契約属性値を用いた検索情報を端末装置2から受信する。検索情報は、クエリと言っても良い。検索情報の構造等は問わない。検索情報は、例えば、契約書情報を検索するクエリ、契約書情報の中の文字列を検索するクエリである。
【0062】
処理部13は、各種の処理を行う。各種の処理とは、例えば、属性値取得部131、蓄積支援部132、検索部133、後処理部134、分類部135、関連情報取得部136が行う処理である。
【0063】
処理部13は、例えば、契約書を構成する文章と当該文章のクラスとの組である2以上の教師データを格納部11から取得し、当該2以上の教師データを、機械学習のアルゴリズムにより学習処理を行い、多値分類を行うクラス学習器を構成する。なお、かかる機械学習において、例えば、深層学習、決定木、ランダムフォレスト等のアルゴリズムが使用できる。また、機械学習において、重回帰分析、ニューラルネットワークなどを用いることができる。つまり、機械学習のアルゴリズ等は、問わない。また、機械学習のモジュールは、例えば、fasttext、TensorFlowの関数、MicrosoftMLの関数等、問わない。
【0064】
処理部13は、例えば、クラスごとに、当該クラスに属する文章である1以上の正例と、当該クラスに属さない文章である1以上の負例とを有する2以上の教師データを格納部11から取得し、当該2以上の教師データを、機械学習のアルゴリズムにより学習処理を行い、二値分類を行うクラス学習器を構成する。なお、かかる機械学習において、例えば、深層学習、決定木、ランダムフォレスト、SVM等のアルゴリズムが使用できる。また、機械学習において、重回帰分析、ニューラルネットワークなどを用いることができる。つまり、機械学習のアルゴリズ等は、問わない。また、機械学習のモジュールは、例えば、fasttext、Tiny_svm、TensorFlowの関数、MicrosoftMLの関数等、問わない。
【0065】
処理部13は、例えば、1以上の組織名または1以上の人名である1または2以上の正例とし、組織名および人名でもない1または2以上の負例とを有する教師データを、機械学習のアルゴリズムにより学習処理を行い、名称学習器を構成する。なお、機械学習において、例えば、深層学習、決定木、ランダムフォレスト、SVR、SVM等のアルゴリズムが使用できる。また、機械学習において、重回帰分析、ニューラルネットワークなどを用いることができる。つまり、機械学習のアルゴリズ等は、問わない。また、機械学習のモジュールは、例えば、Tiny_SVM、TensorFlowの関数、MicrosoftMLの関数等、問わない。
【0066】
属性値取得部131は、受け付けられた契約書情報から2以上の契約属性値を取得する。具体的には、属性値取得部131は、契約書情報から、文字列の集合の文章である契約文章を取得する。次に、属性値取得部131は、手がかり句格納部111の1以上の手がかり句を用いて、取得した契約文章から、1または2以上の契約属性値を取得する。以下、各契約属性値の取得方法の例を説明する。
(1)契約の種別情報の取得方法
【0067】
属性値取得部131は、契約文章から、手がかり句格納部111に格納されている1以上のいずれかの種別情報が示す文字列と一致する文字列または予め決められた条件を満たすほど近似する文字列を取得する。予め決められた条件は、例えば「一致」「類似度が閾値以上で、最大の種別情報」「類似度が閾値以上の種別情報」である。
【0068】
属性値取得部131は、例えば、契約文章の予め決められた第一範囲の文字列から、手がかり句格納部111に格納されている1以上のいずれかの種別情報が示す文字列と一致する文字列または予め決められた条件を満たすほど近似する文字列を取得する。なお、第一範囲は、例えば、契約文章の文字列を含む最初の行、契約文章の最初から所定量以内(例えば、行数が所定数以内、データ量が所定量以内、契約文章の最初から割合が所定割合以内)である。予め決められた条件を満たすほど近似する文字列は、類似度が最大であることである。
【0069】
なお、2つの文字列の類似度は、例えば、レーベンシュタイン距離であり、その取得処理は、公知技術である。
(2)契約の相手情報の取得方法
【0070】
属性値取得部131は、例えば、契約文章から、手がかり句格納部111に格納されている当事者語「甲」「乙」「丙」のいずれかの文字と一致する文字を検索し、当該文字と予め決められた距離以内の名詞句である相手情報を取得する。
【0071】
属性値取得部131は、例えば、契約文章の最初に出現する「甲」「乙」「丙」を検索し、当該「甲」「乙」「丙」の文字から、予め決められた条件を満たすほど近い距離に存在する組織名または人名を取得する。なお、属性値取得部131は、例えば、「株式会社」「有限会社」等の文字+文字列の名詞句を組織名である、と判断する。なお、属性値取得部131は、取得した2以上の組織名または人名から、契約書情報に対応付いている本人の名称を除き、残った1以上の組織名または人名を、相手情報として取得する。なお、本人の名称は、適宜、本人識別情報と言う。
【0072】
属性値取得部131は、例えば、契約文章の予め決められた第二範囲の文字列を形態素解析し、1以上の名詞句を取得する。次に、属性値取得部131は、取得した1以上の各名詞句が組織名または人名であるか否かを、格納部11の名称学習器を用いて、機械学習のアルゴリズムにより予測処理を行い、取得する。次に、属性値取得部131は、組織名または人名であると決定された名詞句であり、手がかり句格納部111に格納されている当事者語のいずれかの文字と一致する文字との距離が予め決められた条件を満たすほど近い距離の名詞句を取得し、当該名詞句から本人識別情報を除いた1以上の名称を相手情報として取得する。
【0073】
なお、機械学習の学習処理、予測処理のアルゴリズムは、学習処理と同様、深層学習、ランダムフォレスト、決定木、SVM等問わない。機械学習の学習処理のモジュールは、例えば、Tiny_SVM、TensorFlowの関数、MicrosoftMLの関数等、問わない。
【0074】
なお、第二範囲は、例えば、契約文章の最初から所定量以内(例えば、行数が所定数以内、データ量が所定量以内、契約文章の最初から割合が所定割合以内)である。第二範囲は、例えば、契約文章の最後の所定量(例えば、最終行から所定数以内までの行、データ量が最後から所定量以内、契約文章の最後から割合が所定割合以内)である。
(3)契約の締結日情報の取得方法
【0075】
属性値取得部131は、例えば、契約文章の中から、日付情報の形式を有する1以上の文字列(例えば、「○年○月○日」「○/○/○」「令和○年○月○日」等)を検知する。次に、属性値取得部131は、例えば、日付情報の前および後に1以上の文字(例えば、「である」)が存在するか否かを判断し、存在しない場合、当該日付情報を締結日情報として取得する。なお、文章の中から日付情報の形式を有する文字列を取得する技術は公知技術である。
【0076】
属性値取得部131は、例えば、契約文章の中から、日付情報の形式を有する1以上の文字列を検知する。次に、属性値取得部131は、例えば、検知した最初(契約文章の中の位置が最初)の日付情報の前に1以上の文字が存在するか否かを判断し、存在しない場合、当該日付情報を締結日情報として取得する。また、属性値取得部131は、例えば、検知した最後(契約文章の中の位置が最後)の日付情報の後に1以上の文字が存在するか否かを判断し、存在しない場合、当該日付情報を締結日情報として取得する。
(4)契約の効力の開始日情報、契約の効力の終了日情報の取得方法
【0077】
属性値取得部131は、例えば、契約文章の中から、「<日付情報>から<日付情報>」または「<日付情報>~<日付情報>」という期間パターンに合致する2つの日付情報を特定する。なお、かかる期間パターンは、手がかり句格納部111に格納されている。また、<日付情報>は、日付情報に置き換えられることを示す。次に、属性値取得部131は、特定したパターンの中の最初の<日付情報>を、開始日情報として取得する。また、属性値取得部131は、特定したパターンの中の後ろの<日付情報>を、終了日情報として取得する。
【0078】
また、属性値取得部131は、例えば、契約文章の中から期間パターンに合致する2つの日付情報であり、当該パターンの直前に、手がかり句である期間用語(例えば、「期間」)が存在するパターンを検知した場合、当該検知したパターンの最初の<日付情報>を開始日情報として取得し、後ろの<日付情報>を終了日情報として取得する。
【0079】
属性値取得部131は、例えば、契約文章の中から、日付情報を検知する。そして、属性値取得部131は、検知した日付情報を含む文の中に効力用語が含まれるか否かを判断する。次に、属性値取得部131は、効力用語が含まれると判断した文の中の日付情報を開始日情報として取得する。
【0080】
属性値取得部131は、例えば、契約文章の中から、日付情報を検知する。そして、属性値取得部131は、検知した日付情報を含む文の中に終了用語(例えば、「をもって終了」)が含まれるか否かを判断する。次に、属性値取得部131は、終了用語が含まれると判断した文の中の日付情報を終了日情報として取得する。
(5)契約の自動更新情報の取得方法
【0081】
属性値取得部131は、例えば、契約文章の中に、自動更新の契約であることを示す自動更新パターンのいずれかが存在するか否かを判断し、存在する場合に、自動更新を示す自動更新情報を取得する。
(6)契約の解約通知期限情報の取得方法
【0082】
属性値取得部131は、例えば、終了日情報が取得できた場合、以下に示すように、解約通知期限情報を取得する。つまり、属性値取得部131は、契約文章の中に、期限予期用語(例えば、「その後も同様とする」)および期日用語(例えば、「Xか月前」「Xヶ月前」)が存在するか否かを判断し、存在する場合に、終了日情報と期日用語とを用いて、解約通知期限を示す年月日である解約通知期限情報を取得する。なお、解約通知期限情報は、数値を含む期日用語(例えば、「1ヶ月前」)でも良い。
(7)契約の金額情報の取得方法
【0083】
属性値取得部131は、契約文章の中から金額表現(例えば、「~円」「$~」)を金額情報として取得する。
【0084】
属性値取得部131は、例えば、契約文章の中から金額表現を検知する。次に、属性値取得部131は、例えば、金額表現から予め決められた条件を満たすほど近い位置に、金額情報の手がかり句(例えば、「価格」「対価」)が存在するか否かを判断する。金額情報の手がかり句が存在する場合、当該手がかり句に対する金額表現を金額情報として取得する。
【0085】
蓄積支援部132は、2以上の契約属性値を蓄積するための蓄積支援処理を行う。蓄積支援処理とは、例えば、蓄積する処理、図示しない外部装置における蓄積のために当該外部装置に送信する処理である。なお、2以上の契約属性値の蓄積先は、契約書処理装置1でも、他の装置でも良い。
【0086】
蓄積支援部132は、2以上の契約属性値を、当該契約属性値を取得する元になった契約書情報に対応付けて蓄積することは好適である。また、2以上の契約属性値は、本人識別情報を含んでも良い。
【0087】
検索部133は、受信された検索情報に合致する契約情報を決定する。検索部133は、例えば、契約情報格納部113の中の契約情報であり、検索情報に合致する契約情報を検索する。なお、検索部133が決定する契約情報は、図示しない外部装置に存在する契約情報でも良い。また、契約情報の検索とは、契約情報の一部の情報の取得でも良い。
【0088】
後処理部134は、契約書情報に対応する2以上の契約属性値のうち、1以上の契約属性値を用いて、後処理を行う。ここで、後処理とは、例えば、後述する通知手段1341が行う処理、または後述する更新手段1342が行う処理、または後述する明示手段1343が行う処理である。
【0089】
通知手段1341は、例えば、契約書情報に対応する終了日情報を取得し、当該終了日情報が示す日が予め決められた条件を満たすほど迫ってきたと判断した場合、当該契約書情報における契約の更新に関する通知を行う。なお、予め決められた条件は、例えば、「1ヶ月」「60日」であり、格納部11に格納されている。
【0090】
通知手段1341は、例えば、契約書情報に対応する解約通知期限情報が示す日が予め決められた条件を満たすほど迫ってきたと判断した場合、当該契約書情報における契約の解除に関する通知を行う。なお、予め決められた条件は、例えば、「1ヶ月」「60日」であり、格納部11に格納されている。
【0091】
また、通知手段1341が動作するタイミングは問わない。通知手段1341は、例えば、1または2以上の契約情報に対して、定期的に動作する。
【0092】
更新手段1342は、契約書情報に対応する自動更新情報を取得し、当該自動更新情報が自動更新「有」を示す情報である場合に、当該自動更新情報と対になる自動更新日を取得し、当該自動更新日に対応する、次回の終了日情報を取得し、当該次回の終了日情報を終了日情報として更新する。更新手段1342は、現在の終了日情報が示す日が経過した場合、または現在の終了日情報が示す日になった場合、または解約通知期限情報が示す日が経過した場合、または解約通知期限情報が示す日になった場合に、次の終了日情報を終了日情報として更新することは好適である。
【0093】
明示手段1343は、1以上の契約属性値を用いて、情報を明示する処理を行う。明示手段1343は、例えば、契約書情報に対応する開始日情報と終了日情報とを取得し、当該開始日情報と終了日情報とにより決定される効力期間の情報を取得し、当該効力期間の情報を明示するための処理を行う。なお、かかる明示処理は、例えば、端末装置2に送信する処理である。また、かかる明示処理は、例えば、当該効力期間をカレンダー情報に明示する処理である。
【0094】
明示手段1343は、例えば、契約書情報の中の検査単位において、後述するクラスを明示するための処理を行う。明示手段1343は、例えば、クラス「不利」に対応する検査単位の箇所を、他の箇所と比較して、強調する態様で出力されるような処理を行う。かかる処理は、例えば、クラス「不利」に対応する検査単位の箇所のフォントをBoldフォントにしたり、赤字にしたり、下線を引いたりする処理である。
【0095】
分類部135は、契約文章の1以上の各検査単位を解析し、検査単位ごとのクラスを取得する。検査単位は、例えば、契約書情報の全体、契約書情報の中の一章、契約書情報の中の一条(例えば、第○条に合致する見出しで区分される情報)、契約書情報の中の一項(例えば、数値の見出しで区分される情報)、契約書情報の中の一号(例えば、“(数値)”の見出しで区分される情報)、契約書情報の中の一文である。クラスは、分類と言っても良い。クラスは、不利な契約か否かに関する情報である。クラスは、例えば、「不利」「有利」「中立」の3分類のうちのいずれかである。また、クラスは、例えば、「不利」「不利でない」の2分類のうちのいずれかである。
【0096】
分類部135は、例えば、一の契約書情報の契約文章の1以上の各検査単位に対するクラスを取得する。
【0097】
分類部135は、例えば、2以上の各契約書情報の契約文章の1以上の各検査単位に対するクラスを取得する。2以上の各契約書情報は、例えば、一の組織の契約書情報、一担当者の契約書情報である。
【0098】
分類部135は、例えば、(1)機械学習による方法、(2)パターンマッチングによる方法等がある。以下、2つの方法の例について説明する。
(1)機械学習による方法
【0099】
分類部135は、検査単位または検査単位から取得されるベクトルを受け付け、学習情報格納部112のクラス学習器と、検査単位またはベクトルとを用いて、機械学習のアルゴリズムにより予測処理を行い、クラスを取得する。
【0100】
分類部135は、例えば、検査単位を受け付け、当該検査単位と多値分類を行えるクラス学習器とを、機械学習の予測処理を行うモジュールに与え、当該モジュールを実行し、クラスを取得する。
【0101】
分類部135は、例えば、検査単位を受け付け、当該検査単位からベクトル(例えば、各単語の出現回数を要素として有するベクトル)を構成し、当該ベクトルと多値分類を行えるクラス学習器とを、機械学習の予測処理を行うモジュールに与え、当該モジュールを実行し、クラスを取得する。
【0102】
分類部135は、例えば、検査単位を受け付け、クラスごとに、当該検査単位またはベクトルと、当該クラスの二値分類を行えるクラス学習器とを、機械学習の予測処理を行うモジュールに与え、当該モジュールを実行し、当該クラスに属するか否かを判断する。そして、分類部135は、属すると判断したクラスを取得する。
【0103】
なお、上述した通り、クラス学習器は、クラスを取得するための多値分類を行える学習器でも良いし、特定のクラスに属するか否かを判定する二値分類の学習器でも良い。
(2)パターンマッチングによる方法
【0104】
分類部135は、検査単位ごとに、格納部11のクラスを決定するためのクラス決定パターンと一致する、または類似度が閾値以上の文を含むか否かを判断する。分類部135は、当該文を含む場合に、当該クラス決定パターンに対応する当事者識別子およびクラスを取得する。
【0105】
関連情報取得部136は、分類部135が取得したクラスを用いて、関連情報を取得する。関連情報は、クラスに関する情報である。関連情報は、不利または有利な契約内容に関する情報である。関連情報は、分類部135が取得した1以上のクラスの統計処理の結果である。関連情報は、クラスそのものでも良い。統計処理の結果は、例えば、スコアである。スコアは、例えば、単体スコア、または総合スコアである。単体スコアは、一の契約書情報の中に含まれる不利な項目の少なさの度合いを示すスコアである。総合スコアは、予め決められた条件を満たす1以上の契約書情報の不利な項目の少なさの度合いを示すスコアである。総合スコアは、例えば、一の組織の2以上の契約書情報の総合的なスコアである。総合スコアは、例えば、一の組織の一の期間(例えば、一の年度)の2以上の契約書情報の総合的なスコアである。
【0106】
関連情報取得部136は、例えば、検査単位ごとに分類部135が取得した1以上のクラスを統計処理し、スコアを算出する。関連情報取得部136は、例えば、1または2以上の契約書情報ごとに、分類部135が取得した1以上のクラスを統計処理し、スコアを算出する。
【0107】
単体スコア取得手段1361は、一の契約書情報の中の各検査単位に対して分類部135が取得した1以上のクラスを用いて、一の契約書情報のスコアである単体スコアを取得する。
【0108】
単体スコア取得手段1361は、例えば、一の契約書情報の2以上の検査単位のクラスを取得し、クラス「不利」の数が多いほど低いスコアとなる単体スコアを取得する。単体スコア取得手段1361は、例えば、一の契約書情報の2以上の検査単位のクラスを取得し、クラス「有利」の数が多いほど高いスコアとなる単体スコアを取得する。
【0109】
単体スコア取得手段1361は、例えば、一の契約書情報の2以上の検査単位のクラスを取得し、当該クラスから、クラス「不利」の割合(クラス「不利」の数/検査数)を算出し、当該割合をパラメータとする減少関数により、スコアを取得する。単体スコア取得手段1361は、例えば、一の契約書情報の2以上の検査単位のクラスを取得し、当該クラスから、「クラス「不利」の数-「有利」の数」を取得し、当該差異をパラメータとする減少関数によりスコアを取得する。
【0110】
単体スコア取得手段1361は、例えば、一の契約書情報の2以上の検査単位のクラスを取得し、当該クラスから、クラス「不利」の数、およびクラス「有利」の数を取得し、当該「不利」の数が少ないほど、かつ当該「有利」の数が多いほど、高いスコアを取得することは好適である。
【0111】
総合スコア取得手段1362は、分類部135が取得した2以上のクラスを用いて、2以上の契約書情報のスコアである総合スコアを取得する。
【0112】
単体スコア取得手段1361は、例えば、一のグループに属する2以上の各契約書情報の単体スコアを取得する。次に、総合スコア取得手段1362は、例えば、当該2以上の単体スコアの代表値(例えば、平均値、中央値、合計値など)を総合スコアとして取得する。なお、一のグループに属する2以上の契約書情報は、例えば、一の組織識別子に対応付いている契約書情報、一の組織識別子および予め決められた期間の日付情報に対応付いている契約書情報である。
【0113】
貢献情報取得手段1363は、第一の時点より後の第二の時点における契約書情報から取得した単体スコアと、スコア格納部114の第一の時点の単体スコアとの差異に関する貢献情報を取得する。貢献情報は、法務業務への貢献、または事業貢献を示す情報である。貢献情報取得手段1363は、例えば、一の契約に対応する第二の時点の契約書情報から取得した第二の単体スコアと、当該一の契約に対応する第一の時点の契約書情報から取得した第一の単体スコアとの差異を取得し、当該差異が大きい値ほど、高いスコアの貢献情報を取得する。
【0114】
貢献情報取得手段1363は、第一の時点より後の第二の時点における契約書情報から取得した総合スコアと、スコア格納部114の第一の時点の総合スコアとの差異に関する貢献情報を取得する。貢献情報取得手段1363は、例えば、一の組織識別子に対応する第二の時点の1以上の契約書情報から取得した第二の総合スコアと、当該一の組織識別子に対応する第一の時点の1以上の契約書情報から取得した第一の総合スコアとの差異を取得し、当該差異が大きい値ほど、高いスコアの貢献情報を取得する。
【0115】
レコメンド取得手段1364は、クラスが予め決められた条件を満たす場合、クラスに対応する検査単位に基づくレコメンド情報を取得する。予め決められた条件は、例えば、クラスが「不利」であること、スコアが閾値以下または閾値未満であること等である。レコメンド情報は、契約の不利な状況を改善するためにユーザに提示する情報であり、例えば、検査単位が不利である旨の情報、検査単位を覆すための契約内容の情報である。なお、例えば、不利な契約の文章と、有利にする契約の文章とが対応付けられて、格納部11に格納されている。
【0116】
送信部14は、各種の情報を送信する。各種の情報は、例えば、関連情報である。
【0117】
関連情報出力部141は、関連情報を出力する。関連情報出力部141は、例えば、単体スコア、総合スコア、レコメンド情報、貢献情報のうちの1または2以上の情報を出力する。
【0118】
ここで、出力とは、通常、端末装置2への送信である。ただし、出力は、ディスプレイへの表示、プロジェクターを用いた投影、プリンタでの印字、音出力、記録媒体への蓄積、他の処理装置や他のプログラムなどへの処理結果の引渡しなどを含む概念であっても良い。
【0119】
契約情報出力部142は、検索部133が決定した契約情報が有する全部または一部の情報を出力する。契約情報出力部142は、例えば、検索部133が決定した契約情報が有する契約書情報を出力する。契約情報出力部142は、例えば、検索部133が決定した契約情報が有する2以上の属性値を出力しても良い。
【0120】
ここで、出力とは、通常、端末装置2への送信である。ただし、出力は、ディスプレイへの表示、プロジェクターを用いた投影、プリンタでの印字、音出力、記録媒体への蓄積、他の処理装置や他のプログラムなどへの処理結果の引渡しなどを含む概念であっても良い。
【0121】
端末装置2を構成する端末格納部21には、各種の情報が格納される。各種の情報とは、例えば、ユーザ識別子、端末識別子、ユーザが属する組織の組織識別子である。なお、端末識別子は、ユーザ識別子と考えても良い。
【0122】
端末受付部22は、各種の指示や情報等を受け付ける。各種の指示や情報等は、例えば、契約書情報、検索情報である。各種の指示や情報等の入力手段は、タッチパネルやキーボードやマウスやメニュー画面によるもの等、何でも良い。
【0123】
端末処理部23は、各種の処理を行う。各種の処理とは、例えば、端末受信部25が受信した情報を表示されるデータに構成する処理である。各種の処理とは、例えば、端末受付部22が受け付けた指示等を送信する指示等に構成する処理である。
【0124】
端末送信部24は、各種の指示や情報等を契約書処理装置1に送信する。各種の指示や情報等とは、例えば、端末処理部23が構成した指示、端末受付部22が受け付けた指示や情報等である。
【0125】
端末受信部25は、各種の情報を契約書処理装置1から受信する。各種の情報とは、例えば、関連情報、契約書情報、契約属性値である。
【0126】
端末出力部26は、各種の情報を出力する。各種の情報とは、例えば、端末受付部22が受け付けた情報、端末受信部25が受信した情報、端末処理部23が構成した情報である。各種の情報とは、例えば、関連情報、契約書情報、契約属性値である。
【0127】
格納部11、手がかり句格納部111、学習情報格納部112、契約情報格納部113、スコア格納部114、および端末格納部21は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
【0128】
格納部11等に情報が記憶される過程は問わない。例えば、記録媒体を介して情報が格納部11等で記憶されるようになってもよく、通信回線等を介して送信された情報が格納部11等で記憶されるようになってもよく、あるいは、入力デバイスを介して入力された情報が格納部11等で記憶されるようになってもよい。
【0129】
受信部12、契約書受付部121、検索情報受信部122、および端末受信部25は、通常、無線または有線の通信手段で実現されるが、放送を受信する手段で実現されても良い。
【0130】
処理部13、属性値取得部131、蓄積支援部132、検索部133、後処理部134、分類部135、関連情報取得部136、通知手段1341、更新手段1342、明示手段1343、単体スコア取得手段1361、総合スコア取得手段1362、貢献情報取得手段1363、レコメンド取得手段1364、および端末処理部23は、通常、プロセッサやメモリ等から実現され得る。処理部13等の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。なお、プロセッサは、CPU、MPU、GPU等であり、その種類は問わない。
【0131】
送信部14、関連情報出力部141、契約情報出力部142、および端末送信部24は、通常、無線または有線の通信手段で実現されるが、放送手段で実現されても良い。
【0132】
端末受付部22は、タッチパネルやキーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。
【0133】
端末出力部26は、ディスプレイやスピーカー等の出力デバイスを含むと考えても含まないと考えても良い。端末出力部26は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。
【0134】
次に、情報システムAの動作例について説明する。まず、契約書処理装置1の動作例について、
図4のフローチャートを用いて説明する。
【0135】
(ステップS401)契約書受付部121は、端末装置2から、組織識別子に対応付いている契約書情報を受信したか否かを判断する。契約書情報を受信した場合はステップS402に行き、契約書情報を受信しなかった場合はステップS409に行く。
【0136】
(ステップS402)属性値取得部131は、ステップS401で受信された契約書情報から契約文章を取得する。
【0137】
(ステップS403)属性値取得部131は、ステップS402で取得した契約文章を用いて、2以上の契約属性値を取得する。契約属性値を取得する属性値取得処理の例について、
図5のフローチャートを用いて説明する。
【0138】
(ステップS404)蓄積支援部132は、ステップS403で取得された2以上の契約属性値を、受信された契約書情報と組織識別子とに対応付けて蓄積する。なお、蓄積先は、例えば、契約情報格納部113であるが、外部の装置でも良い。また、組織識別子は、2以上の契約属性値のうちの一の契約属性値である、と考えても良い。
【0139】
(ステップS405)関連情報取得部136は、関連情報取得処理を行う。関連情報取得処理の例について、
図13のフローチャートを用いて説明する。
【0140】
(ステップS406)蓄積支援部132は、ステップS405で取得された1または2以上の関連情報を、ステップS401で受信された契約書情報に対応付けて蓄積する。
【0141】
(ステップS407)処理部13は、レコメンドするか否かを判断する。レコメンドする場合はステップS408に行き、レコメンドしない場合はステップS401に戻る。なお、レコメンとするための条件は問わない。処理部13は、クラス「不利」に対応する検査対象が存在した場合にレコメンドする、と決定しても良い。
【0142】
(ステップS408)関連情報出力部141は、ステップS405で取得されたレコメンドを、契約書情報を送信してきた端末装置2に送信する。ステップS401に戻る。
【0143】
(ステップS409)検索情報受信部122は、検索情報を受信したか否かを判断する。検索情報を受信した場合はステップS410に行き、検索情報を受信しなかった場合はステップS412に行く。
【0144】
(ステップS410)検索部133は、ステップS409で受信された検索情報に合致する契約書に関する情報を取得する。
【0145】
(ステップS411)契約情報出力部142は、ステップS410で取得された情報を、検索情報を送信してきた端末装置2に送信する。ステップS401に戻る。
【0146】
(ステップS412)後処理部134は、後処理を行うか否かを判断する。後処理を行う場合はステップS413に行き、後処理を行わない場合はステップS418に行く。なお、例えば、後処理の指示が受信された場合、予め決められたタイミングになった場合に、後処理部134は、後処理を行う、と判断する。
【0147】
(ステップS413)後処理部134は、カウンタiに1を代入する。
【0148】
(ステップS414)後処理部134は、後処理の対象のi番目の契約書情報が存在するか否かを判断する。i番目の契約書情報が存在する場合はステップS415に行き、i番目の契約書情報が存在しない場合はステップS401に戻る。なお、後処理の対象の契約書情報は、受信された後処理の指示に含まれる情報により特定されても良いし、格納部11に格納されている全ての契約書情報でも良い。また、後処理部134は、受信された契約書情報に対して、後処理を行っても良い。なお、受信された後処理の指示に含まれる情報は、例えば、契約書情報を識別する情報、組織識別子である。
【0149】
(ステップS415)通知手段1341は、i番目の契約書情報に対する通知処理を行う。通知処理の例について、
図16のフローチャートを用いて説明する。
【0150】
(ステップS416)更新手段1342は、i番目の契約書情報に対する更新処理を行う。更新処理の例について、
図17のフローチャートを用いて説明する。
【0151】
(ステップS417)後処理部134は、カウンタiを1、インクリメントする。ステップS414に戻る。
【0152】
(ステップS418)関連情報取得部136は、スコアに関する統計処理を行うか否かを判断する。統計処理を行う場合はステップS419に行き、統計処理を行わない場合はステップS401に戻る。なお、関連情報取得部136は、例えば、統計処理を行う指示が受信された場合または予め決められた時になった場合に、統計処理を行う、と判断する。
【0153】
(ステップS419)関連情報取得部136は、総合スコアを取得するか否かを判断する。総合スコアを取得する場合はステップS420に行き、総合スコアを取得しない場合はステップS422に行く。なお、総合スコアを取得するための条件は問わない。
【0154】
(ステップS420)関連情報取得部136は、総合スコアを取得する。かかる総合スコア取得処理の例について、
図18のフローチャートを用いて説明する。
【0155】
(ステップS421)関連情報出力部141は、ステップS420で取得された総合スコアを端末装置2に送信する。
【0156】
(ステップS422)関連情報取得部136は、貢献情報を取得するか否かを判断する。貢献情報を取得する場合はステップS423に行き、貢献情報を取得しない場合はステップS401に戻る。なお、貢献情報を取得するための条件は問わない。
【0157】
(ステップS423)関連情報取得部136は、貢献情報を取得する。貢献情報取得処理の例について、
図19のフローチャートを用いて説明する。
【0158】
(ステップS424)関連情報出力部141は、ステップS423で取得された貢献情報を端末装置2に送信する。ステップS401に戻る。
【0159】
なお、
図4のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
【0160】
次に、ステップS403の属性値取得処理について、
図5のフローチャートを用いて説明する。
【0161】
(ステップS501)属性値取得部131は、処理対象の契約文章から種別情報を取得する。かかる種別取得処理の例について、
図6のフローチャートを用いて説明する。
【0162】
(ステップS502)属性値取得部131は、処理対象の契約文章から相手情報を取得する。かかる相手取得処理の例について、
図7のフローチャートを用いて説明する。
【0163】
(ステップS503)属性値取得部131は、処理対象の契約文章から締結日情報を取得する。かかる締結日取得処理の例について、
図8のフローチャートを用いて説明する。
【0164】
(ステップS504)属性値取得部131は、処理対象の契約文章から開始日情報と終了日情報とを取得する。かかる開始日・終了日取得処理の例について、
図9のフローチャートを用いて説明する。
【0165】
(ステップS505)属性値取得部131は、処理対象の契約文章から自動更新情報を取得する。かかる自動更新取得処理の例について、
図10のフローチャートを用いて説明する。
【0166】
(ステップS506)属性値取得部131は、処理対象の契約文章から解約通知期限情報を取得する。かかる解約通知期限取得処理の例について、
図11のフローチャートを用いて説明する。
【0167】
(ステップS507)属性値取得部131は、処理対象の契約文章から取引金額情報を取得する。かかる取引金額取得処理の例について、
図12のフローチャートを用いて説明する。
【0168】
次に、ステップS501の種別取得処理の例について、
図6のフローチャートを用いて説明する。
【0169】
(ステップS601)属性値取得部131は、対象の契約書文章のヘッダー行の文字列を取得する。
【0170】
(ステップS602)属性値取得部131は、カウンタiに1を代入する。
【0171】
(ステップS603)属性値取得部131は、手がかり句格納部111の中に、i番目の種別情報が存在するか否かを判断する。i番目の種別情報が存在する場合はステップS604に行き、i番目の種別情報が存在しない場合はステップS609に行く。
【0172】
(ステップS604)属性値取得部131は、ステップS601で取得した文字列とi番目の種別情報との類似度を取得する。
【0173】
(ステップS605)属性値取得部131は、ステップS604で取得した類似度から、両文字列が一致するか否かを判断する。一致する場合はステップS606に行き、一致しない場合はステップS607に行く。
【0174】
(ステップS606)属性値取得部131は、i番目の種別情報を、対象の契約書情報の契約属性値である種別情報として蓄積する。上位処理にリターンする。
【0175】
(ステップS607)属性値取得部131は、i番目の種別情報に対応付けて、図示しないバッファに、類似度を一時蓄積する。
【0176】
(ステップS608)属性値取得部131は、カウンタiを1、インクリメントする。ステップS603に戻る。
【0177】
(ステップS609)属性値取得部131は、類似度が条件を満たす種別情報を対象の契約書情報の契約属性値である種別情報として蓄積する。上位処理にリターンする。なお、条件は、例えば、「類似度が最大であること」「類似度が最大であり、かつ類似度が閾値以上または閾値より大きいこと」である。
【0178】
次に、ステップS502の相手取得処理の例について、
図7のフローチャートを用いて説明する。
【0179】
(ステップS701)属性値取得部131は、処理対象の契約文章から、予め決められた第二範囲の文字列を取得する。
【0180】
(ステップS702)属性値取得部131は、例えば、ステップS701で取得した文字列に対して形態素解析を行い、1以上の名詞句を取得する。
【0181】
(ステップS703)属性値取得部131は、カウンタiに1を代入する。
【0182】
(ステップS704)属性値取得部131は、ステップS702で取得した名詞句の中に、i番目の名詞句が存在するか否かを判断する。i番目の名詞句が存在する場合はステップS705に行き、i番目の名詞句が存在しない場合は上位処理にリターンする。
【0183】
(ステップS705)属性値取得部131は、格納部11の名称学習器を用いて、機械学習の予測処理により、i番目の名詞句が組織名または人名であるかを判断する。
【0184】
(ステップS706)属性値取得部131は、ステップS705における判断結果が、組織名または人名であればステップS707に行き、組織名または人名でなければステップS712に行く。
【0185】
(ステップS707)属性値取得部131は、i番目の名詞句を含む文字列であり、i番目の名詞句から所定距離以内の文字列(文、または2以上の用語)を取得する。
【0186】
(ステップS708)属性値取得部131は、ステップS707で取得した文字列の中に当事者語(例えば、「甲」「乙」)を含むか否かを判断する。当事者語を含む場合はステップS709に行き、含まない場合はステップS712に行く。
【0187】
(ステップS709)属性値取得部131は、例えば、処理対象の契約書情報に対応付いている本人識別情報を取得する。次に、属性値取得部131は、i番目の名詞句が本人識別情報と一致するか否かを判断する。一致する場合はステップS712に行き、一致しない場合はステップS710に行く。
【0188】
(ステップS710)属性値取得部131は、i番目の名詞句が既に登録されているか否かを判断する。既に登録されていればステップS712に行き、既に登録されていなければステップS711に行く。
【0189】
(ステップS711)属性値取得部131は、相手情報として、i番目の名詞句を登録する。なお、登録とは、契約属性値の一つとして、契約情報に対応付けて蓄積することである。ここで、属性値取得部131は、当事者語と対に相手情報を蓄積することは好適である。
【0190】
(ステップS712)属性値取得部131は、カウンタiを1、インクリメントする。ステップS704に戻る。
【0191】
次に、ステップS503の締結日取得処理の例について、
図8のフローチャートを用いて説明する。
【0192】
(ステップS801)属性値取得部131は、対象の契約文章から、すべての日付情報を、その箇所を特定する箇所情報と対に取得する。なお、箇所情報は、例えば、オフセット、行番号等であるが、契約文章内の箇所を特定できる情報であれば何でも良い。また、文章から、日付の構造(「 年 月 日」「○○/○○/○○」等)を有する日付情報と箇所情報とを取得する技術は公知技術である。
【0193】
(ステップS802)属性値取得部131は、カウンタiに1を代入する。
【0194】
(ステップS803)属性値取得部131は、ステップS801で取得した日付情報の中で、i番目の日付情報が存在するか否かを判断する。i番目の日付情報が存在する場合はステップS804に行き、i番目の日付情報が存在しない場合は上位処理にリターンする。
【0195】
(ステップS804)属性値取得部131は、i番目の日付情報と箇所情報と対に一時蓄積する。
【0196】
(ステップS805)属性値取得部131は、ステップS801で取得した日付情報の中で、i番目の日付情報が最初の日付情報であるか否かを判断する。最初の日付情報であればステップS807に行き、最初の日付情報でなければステップS806に行く。
【0197】
(ステップS806)属性値取得部131は、ステップS801で取得した日付情報の中で、i番目の日付情報が最後の日付情報であるか否かを判断する。最後の日付情報であればステップS807に行き、最後の日付情報でなければステップS809に行く。
【0198】
(ステップS807)属性値取得部131は、i番目の日付情報の前および後に、何らかの文言(例えば、「である」)が存在するか否かを判断する。文言が存在すればステップS808に行き、文言が存在しなければステップS809に行く。
【0199】
(ステップS808)属性値取得部131は、i番目の日付情報を、契約締結日情報として、契約書情報に対応付けて蓄積する。
【0200】
(ステップS809)属性値取得部131は、カウンタiを1、インクリメントする。ステップS803に戻る。
【0201】
次に、ステップS504の開始日・終了日取得処理の例について、
図9のフローチャートを用いて説明する。
【0202】
(ステップS901)属性値取得部131は、カウンタiに1を代入する。
【0203】
(ステップS902)属性値取得部131は、ステップS801で取得した日付情報の中で、i番目の日付情報が存在するか否かを判断する。i番目の日付情報が存在する場合はステップS903に行き、i番目の日付情報が存在しない場合は上位処理にリターンする。
【0204】
(ステップS903)属性値取得部131は、i番目の日付情報の後に続く、所定範囲の文字列を取得する。なお、所定範囲とは、例えば、i番目の日付情報と同一行、i番目の日付情報を含む文、i番目の日付情報を含む条項である。
【0205】
(ステップS904)属性値取得部131は、カウンタjに1を代入する。
【0206】
(ステップS905)属性値取得部131は、j番目の期間パターンが手がかり句格納部111に存在するか否かを判断する。j番目の期間パターンが存在すればステップS906に行き、存在しなければステップS912に行く。
【0207】
(ステップS906)属性値取得部131は、ステップS903で取得した文字列が、j番目の期間パターンの表現であるか否かを判断する。j番目の期間パターンの表現であればステップS907に行き、j番目の期間パターンの表現でなければステップS911に行く。
【0208】
(ステップS907)属性値取得部131は、i番目の日付情報の前の所定範囲の文字列を取得する。なお、所定範囲は、例えば、一名詞句、一文、1行などであり、問わない。
【0209】
(ステップS908)属性値取得部131は、ステップS907で取得した文字列の中に期間用語(例えば、「期間」)が存在するか否かを判断する。期間用語が存在すればステップS909に行き、期間用語が存在しなければステップS911に行く。
【0210】
(ステップS909)属性値取得部131は、j番目の期間パターンの表現に合致する文字列の中の最初の日付情報を、開始日情報として取得し、契約書情報に対応付けて蓄積する。
【0211】
(ステップS910)属性値取得部131は、j番目の期間パターンの表現に合致する文字列の中の後の日付情報を、終了情報として取得し、契約書情報に対応付けて蓄積する。上位処理にリターンする。
【0212】
(ステップS911)属性値取得部131は、カウンタjを1、インクリメントする。ステップS905に戻る。
【0213】
(ステップS912)属性値取得部131は、ステップS903で取得した文字列の中に効力用語(例えば、「効力」)が含まれるか否かを判断する。効力用語が含まれる場合はステップS913に行き、効力用語が含まれない場合はステップS914に行く。
【0214】
(ステップS913)属性値取得部131は、i番目の日付情報を開始日情報として取得し、契約書情報に対応付けて蓄積する。
【0215】
(ステップS914)属性値取得部131は、ステップS903で取得した文字列の中に終了用語(例えば、「をもって終了」)が含まれるか否かを判断する。終了用語が含まれる場合はステップS915に行き、終了用語が含まれない場合はステップS916に行く。
【0216】
(ステップS915)属性値取得部131は、i番目の日付情報を終了情報として取得し、契約書情報に対応付けて蓄積する。
【0217】
(ステップS916)属性値取得部131は、カウンタiを1、インクリメントする。ステップS902に戻る。
【0218】
次に、ステップS505の自動更新取得処理の例について、
図10のフローチャートを用いて説明する。
【0219】
(ステップS1001)属性値取得部131は、カウンタiに1を代入する。
【0220】
(ステップS1002)属性値取得部131は、手がかり句格納部111に、i番目の自動更新パターンが存在するか否かを判断する。i番目の自動更新パターンが存在する場合はステップS1003に行き、i番目の自動更新パターンが存在しない場合は上位処理にリターンする。
【0221】
(ステップS1003)属性値取得部131は、i番目の自動更新パターンを手がかり句格納部111から取得する。
【0222】
(ステップS1004)属性値取得部131は、カウンタjに1を代入する。
【0223】
(ステップS1005)属性値取得部131は、契約文章の中に、j番目の検査単位が存在するか否かを判断する。j番目の検査単位が存在すればステップS1006に行き、存在しなければステップS1009に行く。なお、検査単位は、文でも良いし、条項等でも良い。
【0224】
(ステップS1006)属性値取得部131は、j番目の検査単位の中に、i番目の自動更新パターンに合致する文字列が存在するか否かを判断する。存在すればステップS1007に行き、存在しなければステップS1008に行く。
【0225】
(ステップS1007)属性値取得部131は、契約属性値「自動更新情報」に「有」を代入する。なお、契約属性値「自動更新情報」は、契約書情報に対応付けて蓄積される。
【0226】
(ステップS1008)属性値取得部131は、カウンタjを1、インクリメントする。ステップS1005に戻る。
【0227】
(ステップS1009)属性値取得部131は、カウンタiを1、インクリメントする。ステップS1002に戻る。
【0228】
なお、
図10のフローチャートにおいて、ステップS1002における判断結果が「No」である場合、属性値取得部131は、契約属性値「自動更新情報」に「無」を代入し、当該契約属性値を契約書情報に対応付けて蓄積しても良い。
【0229】
次に、ステップS506の解約通知期限取得処理の例について、
図11のフローチャートを用いて説明する。
【0230】
(ステップS1101)属性値取得部131は、対象となる契約書情報に対する終了日情報が取得できているか否かを判断する。終了日情報が取得できている場合はステップS1102に行き、終了日情報が取得できていない場合は上位処理にリターンする。
【0231】
(ステップS1102)属性値取得部131は、カウンタiに1を代入する。
【0232】
(ステップS1103)属性値取得部131は、i番目の期限予期用語が手がかり句格納部111に存在するか否かを判断する。i番目の期限予期用語が存在すればステップS1104に行き、存在しなければ上位処理にリターンする。
【0233】
(ステップS1104)属性値取得部131は、i番目の期限予期用語を手がかり句格納部111から取得する。
【0234】
(ステップS1105)属性値取得部131は、カウンタjに1を代入する。
【0235】
(ステップS1106)属性値取得部131は、対象となる契約文章の中に、j番目の検査対象が存在するか否かを判断する。j番目の検査対象が存在すればステップS1107に行き、j番目の検査対象が存在しなければステップS1115に行く。
【0236】
(ステップS1107)属性値取得部131は、j番目の検査対象の中に、i番目の期限予期用語が存在するか否かを判断する。i番目の期限予期用語が存在する場合はステップS1108に行き、i番目の期限予期用語が存在しない場合はステップS1114に行く。
【0237】
(ステップS1108)属性値取得部131は、j番目の検査対象の中のi番目の期限予期用語の周辺の文字列であり、i番目の期限予期用語と予め決められた条件を満たす距離の文字列を取得する。
【0238】
(ステップS1109)属性値取得部131は、カウンタkに1を代入する。
【0239】
(ステップS1110)属性値取得部131は、k番目の期日用語が手がかり句格納部111に存在するか否かを判断する。k番目の期日用語が存在すればステップS1111に行き、存在しなければステップS1114に行く。
【0240】
(ステップS1111)属性値取得部131は、ステップS1108で取得した文字列の中に、k番目の期日用語が存在するか否かを判断する。k番目の期日用語が存在する場合はステップS1112に行き、k番目の期日用語が存在しない場合はステップS1113に行く。
【0241】
(ステップS1112)属性値取得部131は、k番目の期日用語に対応する箇所の期日の情報を取得する。また、属性値取得部131は、終了日情報と期日の情報とを用いて、解約通知期限情報を取得する。上位処理にリターンする。例えば、終了日情報が「2020年7月31日」であり、期日の情報が「2ヶ月前」である場合、属性値取得部131は、解約通知期限情報「2020年5月31日」を取得する。
【0242】
(ステップS1113)属性値取得部131は、カウンタkを1、インクリメントする。ステップS1110に戻る。
【0243】
(ステップS1114)属性値取得部131は、カウンタjを1、インクリメントする。ステップS1106に戻る。
【0244】
(ステップS1115)属性値取得部131は、カウンタiを1、インクリメントする。ステップS1103に戻る。
【0245】
次に、ステップS507の取引金額取得処理の例について、
図12のフローチャートを用いて説明する。
【0246】
(ステップS1201)属性値取得部131は、カウンタiに1を代入する。
【0247】
(ステップS1202)属性値取得部131は、契約文章の中に、i番目の検査単位が存在するか否かを判断する。i番目の検査単位が存在すればステップS1203に行き、存在しなければ上位処理にリターンする。なお、検査単位は、例えば、文でも良く、条項等でも良く、問わない。
【0248】
(ステップS1203)属性値取得部131は、i番目の検査単位の中に、金額表現(「数字列“円”」「”$”数字列」など)を含むか否かを判断する。金額表現を含む場合はステップS1204に行き、含まない場合はステップS1210に行く。
【0249】
(ステップS1204)属性値取得部131は、予め決められた条件を満たすほど当該金額表現から近い周辺の文字列を取得する。
【0250】
(ステップS1205)属性値取得部131は、カウンタjに1を代入する。
【0251】
(ステップS1206)属性値取得部131は、手がかり句格納部111に、j番目の取引金額用語が存在するか否かを判断する。i番目の取引金額用語が存在する場合はステップS1207に行き、i番目の取引金額用語が存在しない場合はステップS1210に行く。
【0252】
(ステップS1207)属性値取得部131は、ステップS1204で取得した文字列の中に、j番目の取引金額用語が含まれるか否かを判断する。j番目の取引金額用語が含まれる場合はステップS1208に行き、j番目の取引金額用語が含まれない場合はステップS1209に行く。
【0253】
(ステップS1208)属性値取得部131は、取得された金額表現を、取引金額情報として取得し、契約書情報に対応付けて蓄積する。上位処理にリターンする。
【0254】
(ステップS1209)属性値取得部131は、カウンタjを1、インクリメントする。ステップS1206に戻る。
【0255】
(ステップS1210)カウンタiを1、インクリメントする。ステップS1202に戻る。
【0256】
次に、次に、ステップS405の関連情報取得処理の例について、
図13のフローチャートを用いて説明する。
【0257】
(ステップS1301)単体スコア取得手段1361は、カウンタiに1を代入する。また、単体スコア取得手段1361は、各クラスの数に0を代入する。各クラスは、例えば、「不利」「有利」「中立」である。
【0258】
(ステップS1302)単体スコア取得手段1361は、検査対象の契約文章の中に、i番目の検査単位が存在するか否かを判断する。i番目の検査単位が存在する場合はステップS1303に行き、i番目の検査単位が存在しない場合はステップS1309に行く。
【0259】
(ステップS1303)単体スコア取得手段1361は、契約文章からi番目の検査単位を取得する。
【0260】
(ステップS1304)単体スコア取得手段1361は、i番目の検査単位のクラスを取得する。かかるクラス取得処理の例について、
図14のフローチャートを用いて説明する。
【0261】
(ステップS1305)単体スコア取得手段1361は、ステップS1304で取得したクラスに対応する数を1、インクリメントする。
【0262】
(ステップS1306)単体スコア取得手段1361は、ステップS1304で取得したクラスが値「不利」であるか否かを判断する。クラスが値「不利」である場合はステップS1307に行き、クラスが値「不利」でない場合はステップS1308に行く。
【0263】
(ステップS1307)単体スコア取得手段1361は、i番目の検査単位を取得する。また、単体スコア取得手段1361は、i番目の検査単位に対応するレコメンド情報を取得する。そして、単体スコア取得手段1361は、i番目の検査単位と、レコメンド情報とを対応付けて、図示しないバッファに一時蓄積する。
【0264】
なお、単体スコア取得手段1361は、i番目の検査単位との類似度が予め決められた条件を満たすほど大きい類似度の不利条項の文字列と対になるレコメンド情報を格納部11から取得する。かかる場合、
【0265】
(ステップS1308)単体スコア取得手段1361は、カウンタiを1、インクリメントする。ステップS1302に戻る。
【0266】
(ステップS1309)単体スコア取得手段1361は、各クラスの数を用いて、単体スコアを算出する。
【0267】
(ステップS1310)単体スコア取得手段1361は、ステップS1309で取得した単体スコアを、契約書情報に対応付けて蓄積する。
【0268】
(ステップS1311)単体スコア取得手段1361は、ステップS1307で取得したレコメンド情報を用いて、蓄積するレコメンド情報を構成する。
【0269】
(ステップS1312)単体スコア取得手段1361は、ステップS1311で構成したレコメンド情報を契約書情報に対応付けて蓄積する。上位処理にリターンする。
【0270】
次に、ステップS1304のクラス取得処理の例について、
図14のフローチャートを用いて説明する。
【0271】
(ステップS1401)分類部135は、本人の当事者語(例えば、「甲」)を取得する。
【0272】
(ステップS1402)分類部135は、対象である検査単位から、主体(主語)の当事者語を取得する。
【0273】
(ステップS1403)分類部135は、検査単位における主体のクラスを決定する。検査単位クラス決定処理の例について、
図15のフローチャートを用いて説明する。
【0274】
(ステップS1404)分類部135は、検査単位における主体の当事者語と、本人の当事者語とが一致するか否かを判断する。一致する場合は上位処理にリターンし、一致しない場合はステップS1405に行く。
【0275】
(ステップS1405)分類部135は、ステップS1403で決定したクラスが「不利」であるか否かを判断する。「不利」であればステップS1406に行き、「不利」でなければステップS1407に行く。
【0276】
(ステップS1406)分類部135は、クラスに「有利」を代入する。上位処理にリターンする。
【0277】
(ステップS1407)分類部135は、ステップS1403で決定したクラスが「有利」であるか否かを判断する。「有利」であればステップS1408に行き、「有利」でなければ上位処理にリターンする。
【0278】
(ステップS1408)分類部135は、クラスに「不利」を代入する。上位処理にリターンする。
【0279】
次に、ステップS1403の検査単位クラス決定処理の例について、
図15のフローチャートを用いて説明する。
【0280】
(ステップS1501)分類部135は、カウンタiに1を代入する。
【0281】
(ステップS1502)分類部135は、i番目のクラス決定パターンが手がかり句格納部111に存在するか否かを判断する。存在する場合はステップS1503に行き、存在しない場合はステップS1508に行く。
【0282】
(ステップS1503)分類部135は、i番目のクラス決定パターンを手がかり句格納部111から取得する。
【0283】
(ステップS1504)分類部135は、検査対象とi番目のクラス決定パターンとの比較を行う。
【0284】
(ステップS1505)分類部135は、検査対象とi番目のクラス決定パターンとが予め決められた条件を満たすほど類似しているか否かを判断する。予め決められた条件を満たす場合はステップS1506に行き、予め決められた条件を満たさない場合はステップS1507に行く。
【0285】
(ステップS1506)分類部135は、i番目のクラス決定パターンと対になるクラスを取得する。上位処理にリターンする。
【0286】
(ステップS1507)分類部135は、カウンタiを1、インクリメントする。ステップS1502に戻る。
【0287】
(ステップS1508)分類部135は、クラスに値「中立」を代入する。」
【0288】
なお、
図15のフローチャートにおいて、分類部135は、上述した機械学習による方法を用いて、検査単位のクラスを取得しても良い。
【0289】
次に、ステップS415の通知処理の例について、
図16のフローチャートを用いて説明する。
【0290】
(ステップS1601)通知手段1341は、図示しない時計から、今日の日付を示す日付情報を取得する。
【0291】
(ステップS1602)通知手段1341は、処理対象の契約書情報と対になる終了日情報を取得する。
【0292】
(ステップS1603)通知手段1341は、終了日情報が、今日の日付を示す日付情報に対して、予め決められた通知の条件を満たすか否かを判断する。条件を満たす場合はステップS1604に行き、条件を満たさない場合はステップS1606に行く。
【0293】
(ステップS1604)通知手段1341は、終了日情報に対応する通知情報を取得する。なお、通知情報または通知情報の雛形文は、例えば、格納部11に格納されている。通知情報または通知情報の雛形文は、例えば、終了日情報を特定する情報と対に、格納部11に格納されている。
【0294】
(ステップS1605)通知手段1341は、ステップS1604で取得した通知情報を送信する。なお、送信先を特定する情報(例えば、メールアドレス、電話番号等)は、例えば、対象となる契約書情報に対応付いて格納されている。
【0295】
(ステップS1606)通知手段1341は、処理対象の契約書情報と対になる契約解除期限情報を取得する。
【0296】
(ステップS1607)通知手段1341は、契約解除期限情報が、今日の日付を示す日付情報に対して、予め決められた通知の条件を満たすか否かを判断する。条件を満たす場合はステップS1608に行き、条件を満たさない場合は上位処理にリターンする。
【0297】
(ステップS1608)通知手段1341は、契約解除期限情報に対応する通知情報を取得する。なお、通知情報または通知情報の雛形文は、例えば、格納部11に格納されている。通知情報または通知情報の雛形文は、例えば、契約解除期限情報を特定する情報と対に、格納部11に格納されている。
【0298】
(ステップS1609)通知手段1341は、ステップS1608で取得した通知情報を送信する。なお、送信先を特定する情報(例えば、メールアドレス、電話番号等)は、例えば、対象となる契約書情報に対応付いて格納されている。
【0299】
次に、ステップS416の更新処理の例について、
図17のフローチャートを用いて説明する。
【0300】
(ステップS1701)更新手段1342は、処理対象の契約書情報と対になる自動更新情報を取得する。
【0301】
(ステップS1702)更新手段1342は、ステップS1701で取得した情報が自動更新を示す情報であるか否かを判断する。自動更新を示す情報であればステップS1703に行き、自動更新を示す情報でなければ上位処理にリターンする。
【0302】
(ステップS1703)更新手段1342は、図示しない時計から、今日の日付を示す日付情報を取得する。
【0303】
(ステップS1704)更新手段1342は、処理対象の契約書情報と対になる終了日情報を取得する。
【0304】
(ステップS1705)更新手段1342は、ステップS1704で取得した終了日情報が、今日の日付を示す日付情報に対して、予め決められた条件を満たすか否かを判断する。条件を満たす場合はステップS1706に行き、条件を満たさない場合は上位処理にリターンする。
【0305】
(ステップS1706)更新手段1342は、次回の終了日を特定する終了日情報を取得する。なお、次回の終了日を特定する終了日情報は、例えば、格納されている終了日情報から1年後である。また、次回の終了日を特定する終了日情報は、例えば、格納されている終了日情報からN年後である。「N年後」は、契約書情報に記載されている情報であり、契約見直し時期を特定する情報である。
【0306】
(ステップS1707)更新手段1342は、ステップS1706で取得した終了日情報を、古い終了日情報に上書きする。上位処理にリターンする。
【0307】
なお、
図17のフローチャートにおいて、終了日情報が、今日の日付を示す日付情報に対して、予め決められた条件を満たすか否かを判断した。しかし、更新手段1342は、解約通知期限情報が、今日の日付を示す日付情報に対して、予め決められた条件を満たすか否かを判断しても良い。
【0308】
次に、ステップS420の総合スコア取得処理の例について、
図18のフローチャートを用いて説明する。
【0309】
(ステップS1801)総合スコア取得手段1362は、対象となるすべての契約書情報と対になる単体スコアを読み出す。
【0310】
(ステップS1802)総合スコア取得手段1362は、ステップS1801で取得した1以上の単体スコアの代表値を取得する。上位処理にリターンする。この代表値は、ここでは総合スコアである。
【0311】
次に、ステップS423の貢献情報取得処理の例について、
図19のフローチャートを用いて説明する。
【0312】
(ステップS1901)貢献情報取得手段1363は、過去の比較対象のスコアを取得する。
【0313】
(ステップS1902)貢献情報取得手段1363は、着目するスコアを取得する。なお、着目するスコアは、過去の比較対象のスコアより新しい契約書情報に対応するスコアである。
【0314】
(ステップS1903)貢献情報取得手段1363は、着目するスコアと過去の比較対象のスコアとの差異を算出する。次に、貢献情報取得手段1363は、かかる差異を用いて、貢献情報を取得する。上位処理にリターンする。
【0315】
なお、
図19のフローチャートにおいて、貢献情報取得手段1363は、通常、総合スコアを使用するが、一の契約書情報に対応する単体スコアを使用しても良い。
【0316】
次に、端末装置2の動作例について説明する。端末受付部22は、ユーザから各種の指示や情報等(例えば、契約書情報、検索情報、単体スコアまたは総合スコアまたは貢献情報の取得指示)を受け付ける。次に、端末処理部23は、端末受付部22が受け付けた指示等を送信する指示等に構成する。次に、端末送信部24は、当該各種の指示や情報等を契約書処理装置1に送信する。
【0317】
また、端末受信部25は、各種の情報(例えば、関連情報、契約書情報、契約属性値、単体スコア、総合スコア、貢献情報)を契約書処理装置1から受信する。次に、端末処理部23は、各種の情報を表示される情報に構成する。次に、端末出力部26は、当該情報を出力する。
【0318】
以下、本実施の形態における情報システムAの具体的な動作について説明する。情報システムAの概念図は、
図1である。
【0319】
契約書処理装置1の手がかり句格納部111には、上述した多数の手がかり情報が格納されている、とする。手がかり情報は、契約文章から契約属性値を取得するための手がかりとなる情報である。
【0320】
また、学習情報格納部112には、上述した名称学習器、上述したクラス学習器が格納されている、とする。名称学習器は、受け付けられた用語が組織名または人名であるかを判断するための学習器である。クラス学習器は、受け付けられた検査単位のクラス(ここでは、「不利」「有利」「中立」のいずれか)を決定するための学習器である。
【0321】
また、契約情報格納部113には、
図20に示す構造を有する契約情報管理表が格納されている、とする。契約情報管理表は、各組織または個人の契約書に関する情報を管理する表である。契約情報管理表は、「ID」「ユーザ識別子」「組織識別子」「契約情報」「単体スコア」を有するレコードを管理する表である。「ID」は、レコードを識別する情報である。「契約情報」は、ここでは「種別情報」「相手情報」「締結日情報」「開始日情報」「終了日情報」「解約通知期限情報」「自動更新情報」「金額情報」「ファイル名」を有する。「ファイル名」は、契約書情報のファイルの名称である。「ファイル名」で特定されるファイルは、契約情報格納部113に格納されている、とする。
【0322】
また、スコア格納部114には、
図21に示す構造を有する総合スコア管理表が格納されている、とする。総合スコア管理表は、組織または個人ごと、期間ごとの、契約に関する総合スコアを管理する表である。総合スコア管理表は、「ID」「組織識別子」「期間識別子」「総合スコア」を有するレコードを管理する表である。「ID」は、レコードを識別する情報である。「期間識別子」は、総合スコアの算出のために使用した契約情報の期間を特定する情報である。「期間識別子」は、ここでは、年度を特定する情報である。「総合スコア」は、ここでは、例えば、「組織識別子」と対になる契約書情報であり、「期間識別子」が示す期間の契約締結日の契約書情報を用いて、取得された総合スコアである。
【0323】
さらに、格納部11には、ユーザ識別子と組織識別子とを有する2以上のユーザ情報が格納されるユーザ情報管理表が格納されている、とする。
【0324】
今、ユーザ「U001」は、端末装置2を用いて、「fileA.pdf」の契約書を契約書処理装置1に送信した、とする。
【0325】
次に、契約書処理装置1は、「fileA.pdf」とユーザ識別子「U001」とを受信する。次に、契約書処理装置1は、ユーザ識別子「U001」と対になる組織識別子「株式会社A」をユーザ情報管理表から取得する。また、契約書処理装置1は、上述した処理(例えば、
図4等により説明した処理)により、手がかり句格納部111の手がかり情報、学習情報格納部112の名称学習器を用いて、「fileA.pdf」から、
図20の表の「ID=1」のレコードの各種の契約属性値(種別情報、相手情報、・・・自動更新情報)を取得した、とする。一方、契約書処理装置1は、「fileA.pdf」から、金額情報を取得できなかった、とする。
【0326】
また、契約書処理装置1は、上述した処理により、「fileA.pdf」に含まれる各検査単位について、クラス学習器を用いて、機械学習のアルゴリズムにより、クラス(ここでは、「不利」「有利」「中立」)を決定し、「不利」「有利」「中立」の各々の数を取得する。次に、契約書処理装置1は、演算式「単体スコア=f(不利の数,有利の数,中立の数)」または演算式「単体スコア=f(不利の数,有利の数)」に各クラスの数を代入し、当該演算式を実行し、「fileA.pdf」の単体スコアを得る。なお、演算式は、不利の数が多いほど高いスコアとなり、有利の数が少ないほど高いスコアとなる関数である、とする。また、演算式は、ここでは、単体スコアを、0から100までの整数で出力する関数である、とする。そして、契約書処理装置1は、当該演算式を用いて、「fileA.pdf」の単体スコア「75」を算出した、とする。
【0327】
次に、契約書処理装置1は、取得した各種の情報を用いて、
図20の「ID=1」のレコードを構成し、「fileA.pdf」の実体とともに、契約情報格納部113に蓄積した、とする。
【0328】
また、契約書処理装置1は、単体スコア「75」、および「不利」に対応する検査単位を用いて構成したレコメンド情報(例えば、「「<検査単位>」の契約内容は不利です。次回以降、改善されるように契約書の変更を検討されれば良いでしょう。」)を、ユーザ「U001」の端末装置2に送信する。なお、ここで、契約書処理装置1の明示手段1343は、契約書情報の中の「不利」に対応する検査単位を強調する(例えば、赤字にする等)契約書情報を構成し、契約書処理装置1は当該変更された契約書情報を端末装置2に送信しても良い。なお、<検査単位>は、検査単位の文字列が入る変数である。
【0329】
次に、端末装置2は、単体スコア「75」とレコメンド情報とを受信し、出力する。
【0330】
契約書処理装置1は、以上の契約情報の蓄積処理を、契約書情報の受信毎に、行う、とする。
【0331】
また、契約書処理装置1は、以下のように、ここでは、例えば、
図20の「ID=1」のレコードに対して通知処理を行う、とする。つまり、契約書処理装置1の通知手段1341は、図示しない時計から、今日の日付を示す日付情報「2020年4月1日」を取得した、とする。また、通知手段1341は、
図20の表の「ID=1」の契約書情報と対になる解約通知期限情報「2020年5月1日」を取得する。そして、通知手段1341は、契約解除期限情報「2020年5月1日」が、今日の日付を示す日付情報「2020年4月1日」に対して、予め決められた通知の条件(1ヶ月以内)を満たす、と判断する。次に、通知手段1341は、契約解除期限情報に対応する通知情報(例えば、「契約解除期限である2020年5月1日が近づいています」)を取得する。通知手段1341は、取得した通知情報を、ユーザ識別子「U001」と対になる連絡先(別途、管理されている)に送信する。
【0332】
また、契約書処理装置1は、以下のように、ここでは、例えば、
図20の「ID=1」のレコードに対して更新処理を行う、とする。つまり、契約書処理装置1の更新手段1342は、図示しない時計から、今日の日付を示す日付情報「2020年5月1日」を取得した、とする。また、更新手段1342は、
図20の表の「ID=1」の契約書情報と対になる解約通知期限情報「2020年5月1日」を取得する。そして、更新手段1342は、契約解除期限情報「2020年5月1日」が、今日の日付を示す日付情報「2020年5月1日」に対して、予め決められた通知の条件(日付情報<=解約通知期限情報)を満たす、と判断する。次に、更新手段1342は、次回の終了日を特定する終了日情報「2021年6月30日」(1年後)を取得する。次に、更新手段1342は、
図20の「ID=1」のレコードの終了日情報を「2021年6月30日」に書き換える。
【0333】
また、契約書処理装置1は、上述した総合スコアの取得の処理により、組織識別子「株式会社A」と対になる契約日情報が示す日が2019年度に含まれる2以上の契約書情報と対になる単体スコアを用いて、各単体スコアをパラメータとする増加関数(ここでは、例えば、平均値算出の関数)により、総合スコア(ここでは、例えば、「72」)を取得した、とする。次に、契約書処理装置1は、組織識別子「株式会社A」、期間識別子「2019年度」、総合スコア「72」を有するレコードを、
図21の総合スコア管理表に蓄積する。かかるレコードは
図21の「ID=108」のレコードである。
【0334】
次に、契約書処理装置1は、上述した処理により、2019年度の「株式会社A」の法務部門の事業に対する貢献度を示す貢献情報を取得する、とする。つまり、契約書処理装置1の貢献情報取得手段1363は、2019年度の「株式会社A」の総合スコア「72」を、
図21の表から取得する。次に、貢献情報取得手段1363は、2018年度の「株式会社A」の総合スコア「65」を、
図21の表から取得する。次に、貢献情報取得手段1363は、2019年度のスコアと2018年度の比較対象のスコアとの差異「7」を算出する。次に、関連情報出力部141は、当該差異である貢献情報「7」を、「株式会社A」と対になるユーザ識別子「U001」と対になる連絡先に送信する。
【0335】
以上、本実施の形態によれば、契約書の適切な管理が容易になる。
【0336】
また、本実施の形態によれば、契約書の適切な利用が容易になる。
【0337】
また、本実施の形態によれば、契約更新を報知できる。
【0338】
また、本実施の形態によれば、契約内容の分類が可能となる。
【0339】
また、本実施の形態によれば、契約内容のスコア化が可能となる。
【0340】
また、本実施の形態によれば、適切な契約となるための情報を提示できる。
【0341】
さらに、本実施の形態によれば、契約書に対するスコアの変化を用いて、貢献度合いを提示できる。
【0342】
なお、本実施の形態において、(1)契約書情報から契約書属性値を取得し、契約書情報とともに契約書属性値を蓄積する処理と、(2)契約書情報のスコアを取得する処理とを、別々に、独立して行っても良い。
【0343】
かかる(1)の処理のみを行う契約書処理装置は、例えば、契約書の属性値である契約属性値を取得する手がかりとなる1以上の手がかり句が格納される手がかり句格納部と、契約書情報を受け付ける契約書受付部と、前記契約書情報から契約文章を取得し、前記1以上の手がかり句を用いて、前記契約文章から、契約の種別情報、契約の相手情報、契約の締結日情報、契約の効力の開始日情報、契約の効力の終了日情報、契約の自動更新情報、契約の解約通知期限情報、契約の金額情報のうちの2以上の契約属性値を取得する属性値取得部と、前記2以上の契約属性値を蓄積するための蓄積支援処理を行う蓄積支援部とを具備する契約書処理装置である。
【0344】
また、(2)のみを行う契約書処理装置は、例えば、契約書情報を受け付ける契約書受付部と、前記契約書情報から取得された契約文章の1以上の各検査単位を解析し、不利な契約か否かに関するクラスを取得する分類部と、前記分類部が取得したクラスを用いて、クラスに関する関連情報を取得する関連情報取得部と、前記関連情報を出力する関連情報出力部とを具備する契約書処理装置である。
【0345】
さらに、本実施の形態における処理は、ソフトウェアで実現しても良い。そして、このソフトウェアをソフトウェアダウンロード等により配布しても良い。また、このソフトウェアをCD-ROMなどの記録媒体に記録して流布しても良い。なお、このことは、本明細書における他の実施の形態においても該当する。なお、本実施の形態における契約書処理装置1を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、例えば、契約書の属性値である契約属性値を取得する手がかりとなる1以上の手がかり句が格納される手がかり句格納部にアクセス可能なコンピュータを、契約書情報を受け付ける契約書受付部と、前記契約書情報から契約文章を取得し、前記1以上の手がかり句を用いて、前記契約文章から、契約の種別情報、契約の相手情報、契約の締結日情報、契約の効力の開始日情報、契約の効力の終了日情報、契約の自動更新情報、契約の解約通知期限情報、契約の金額情報のうちの2以上の契約属性値を取得する属性値取得部と、前記2以上の契約属性値を蓄積するための蓄積支援処理を行う蓄積支援部として機能させるためのプログラムである。
【0346】
また、このプログラムは、例えば、契約書情報を受け付ける契約書受付部と、前記契約書情報から取得された契約文章の1以上の各検査単位を解析し、不利な契約か否かに関するクラスを取得する分類部と、前記分類部が取得したクラスを用いて、クラスに関する関連情報を取得する関連情報取得部と、前記関連情報を出力する関連情報出力部として機能させるためのプログラムである。
【0347】
また、
図22は、本明細書で述べたプログラムを実行して、上述した種々の実施の形態の契約書処理装置等を実現するコンピュータの外観を示す。上述の実施の形態は、コンピュータハードウェア及びその上で実行されるコンピュータプログラムで実現され得る。
図22は、このコンピュータシステム300の概観図であり、
図23は、システム300のブロック図である。
【0348】
図22において、コンピュータシステム300は、CD-ROMドライブを含むコンピュータ301と、キーボード302と、マウス303と、モニタ304とを含む。
【0349】
図23において、コンピュータ301は、CD-ROMドライブ3012に加えて、MPU3013と、CD-ROMドライブ3012等に接続されたバス3014と、ブートアッププログラム等のプログラムを記憶するためのROM3015と、MPU3013に接続され、アプリケーションプログラムの命令を一時的に記憶するとともに一時記憶空間を提供するためのRAM3016と、アプリケーションプログラム、システムプログラム、及びデータを記憶するためのハードディスク3017とを含む。ここでは、図示しないが、コンピュータ301は、さらに、LANへの接続を提供するネットワークカードを含んでも良い。
【0350】
コンピュータシステム300に、上述した実施の形態の契約書処理装置1等の機能を実行させるプログラムは、CD-ROM3101に記憶されて、CD-ROMドライブ3012に挿入され、さらにハードディスク3017に転送されても良い。これに代えて、プログラムは、図示しないネットワークを介してコンピュータ301に送信され、ハードディスク3017に記憶されても良い。プログラムは実行の際にRAM3016にロードされる。プログラムは、CD-ROM3101またはネットワークから直接、ロードされても良い。
【0351】
プログラムは、コンピュータ301に、上述した実施の形態の契約書処理装置1等の機能を実行させるオペレーティングシステム(OS)、またはサードパーティープログラム等は、必ずしも含まなくても良い。プログラムは、制御された態様で適切な機能(モジュール)を呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいれば良い。コンピュータシステム300がどのように動作するかは周知であり、詳細な説明は省略する。
【0352】
なお、上記プログラムにおいて、情報を送信するステップや、情報を受信するステップなどでは、ハードウェアによって行われる処理、例えば、送信ステップにおけるモデムやインターフェースカードなどで行われる処理(ハードウェアでしか行われない処理)は含まれない。
【0353】
また、上記プログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
【0354】
また、上記各実施の形態において、一の装置に存在する2以上の通信手段は、物理的に一の媒体で実現されても良いことは言うまでもない。
【0355】
また、上記各実施の形態において、各処理は、単一の装置によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい。
【0356】
本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。
【産業上の利用可能性】
【0357】
以上のように、本発明にかかる契約書処理装置は、契約書の適切な管理または利用が容易になるという効果を有し、契約書管理装置等として有用である。
【符号の説明】
【0358】
1 契約書処理装置
2 端末装置
11 格納部
12 受信部
13 処理部
14 送信部
21 端末格納部
22 端末受付部
23 端末処理部
24 端末送信部
25 端末受信部
26 端末出力部
111 手ががり句格納部
112 学習情報格納部
113 契約情報格納部
114 スコア格納部
121 契約書受付部
122 検索情報受信部
131 属性値取得部
132 蓄積支援部
133 検索部
134 後処理部
135 分類部
136 関連情報取得部
141 関連情報出力部
142 契約情報出力部
1341 通知手段
1342 更新手段
1343 明示手段
1361 単体スコア取得手段
1362 総合スコア取得手段
1363 貢献情報取得手段
1364 レコメンド取得手段