(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023095063
(43)【公開日】2023-07-06
(54)【発明の名称】情報処理装置、情報処理方法及びプログラム
(51)【国際特許分類】
G06N 20/00 20190101AFI20230629BHJP
G06Q 40/12 20230101ALI20230629BHJP
【FI】
G06N20/00 130
G06Q40/00 400
【審査請求】有
【請求項の数】13
【出願形態】OL
(21)【出願番号】P 2021210720
(22)【出願日】2021-12-24
(11)【特許番号】
(45)【特許公報発行日】2022-10-04
(71)【出願人】
【識別番号】505057484
【氏名又は名称】国立大学法人一橋大学
(71)【出願人】
【識別番号】503093062
【氏名又は名称】有限責任あずさ監査法人
(71)【出願人】
【識別番号】399074145
【氏名又は名称】株式会社東京商工リサーチ
(74)【代理人】
【識別番号】100103894
【弁理士】
【氏名又は名称】家入 健
(72)【発明者】
【氏名】宮川 大介
(72)【発明者】
【氏名】宇宿 哲平
(72)【発明者】
【氏名】須崎 公介
(72)【発明者】
【氏名】近藤 聡
(72)【発明者】
【氏名】白木 研吾
(72)【発明者】
【氏名】眞田 貴央
(72)【発明者】
【氏名】柳岡 優希
【テーマコード(参考)】
5L055
【Fターム(参考)】
5L055BB63
(57)【要約】
【課題】複数の企業が関与する不正のリスクを評価する。
【解決手段】クラスタリング処理部1は、各企業の財務諸表、属性情報及び不正を行ったか否かを示す情報と、企業間の取引関係を示す情報と、が含まれる学習用データを読み込んで、1つのクラスタあたりに含まれるノード数が所定値以下になるようにクラスタリングしてネットワーク構造を取得する。クラスタ特徴量算出部2は、クリスタリング後のデータに含まれる各クラスタに属する各ノードの特徴量を算出し、算出した特徴量に基づいて各クラスタの特徴量を算出する。不正フラグ付与部3は、各クラスタに属するノードの不正を行ったか否かを示す情報に基づいて、当該クラスタに不正フラグを付与する。モデル構築部4は、不正フラグが付与されたデータを、特徴量を説明変数、不正フラグを目的変数として教師有り学習することで学習済みモデルを取得する。
【選択図】
図8
【特許請求の範囲】
【請求項1】
多次元ベクトルで各企業の情報が表された各企業の財務諸表に含まれる複数の勘定科目の値を示す複数の変数、各企業の属性情報及び各企業が不正を行ったか否かを示す情報と、企業間の取引関係を示す情報と、が含まれる学習用データを読み込んで、1つのクラスタあたりに含まれるノード数が所定値以下になるようにクラスタリングし、各クラスタに対応するノードとノード間の取引関係を示すエッジとで構成されるネットワーク構造を取得するクラスタリング処理部と、
前記クリスタリング後のデータに含まれる各クラスタに属する各ノードの特徴量を算出し、算出した特徴量に基づいて各クラスタの特徴量を算出する特徴量算出部と、
各クラスタに属するノードの前記不正を行ったか否かを示す情報に基づいて、当該クラスタに不正フラグを付与する不正フラグ付与部と、
前記不正フラグが付与されたデータを、前記特徴量を説明変数、前記不正フラグを目的変数として教師有り学習することで学習済みモデルを取得するモデル構築部と、を備える、
情報処理装置。
【請求項2】
各クラスタの特徴量は、当該クラスタの特徴量に統計量に基づいて算出される、
請求項1に記載の情報処理装置。
【請求項3】
前記統計量は、平均値、最大値、最小値又は中央値である、
請求項2に記載の情報処理装置。
【請求項4】
各ノードの特徴量は、
各ノードに対応する各企業のリスクスコアと、
各ノードの次数中心性と、
各ノードの固有ベクトル中心性と、
各ノードの前記リスクスコアと前記次数中心性との積と、
各ノードの前記固有ベクトル中心性と前記次数中心性との積と、
各ノードのクラスタ係数と、
各ノードから、各ノードとエッジで接続される2つ隣までのノードまでの範囲のネットワークにおいて算出する固有ベクトル中心性である局所固有ベクトル中心性と、
各ノードに隣接するノードの次数の総和と、を含む、
請求項1乃至3のいずれか一項に記載の情報処理装置。
【請求項5】
各クラスタの特徴量は、各ノードの前記リスクスコア、前記次数中心性、前記固有ベクトル中心性、前記リスクスコアと前記次数中心性との積、前記固有ベクトル中心性と前記次数中心性との積、前記クラスタ係数、前記局所固有ベクトル中心性及び前記次数の総和のそれぞれの統計量に基づいて算出される値と、
着目したクラスタに含まれるノードと前記着目したクラスタ以外のクラスタに含まれるノードとを接続するエッジの総数を、前記着目したクラスタ以外のクラスタに含まれるノードの総数で除した値であるグループ次数中心性と、を含む、
請求項4に記載の情報処理装置。
【請求項6】
前記モデル構築部は、前記不正フラグが付与されたデータに含まれるクラスタから、不正フラグが付されたクラスタを所定の割合で抽出し、不正フラグが付されていないクラスタを前記所定の割合でランダムに抽出したものを学習し、
前記学習済みモデルに、前記不正フラグが付与されたデータに含まれるクラスタから抽出されなかったクラスタからなるテストデータを投入して、取引不正の検出精度の評価指標を算出するテスト処理部をさらに備える、
請求項1乃至5のいずれか一項に記載の情報処理装置。
【請求項7】
前記クラスタリング処理部、前記特徴量算出部、前記不正フラグ付与部、前記モデル構築部及び前記テスト処理部による処理を、前記所定値を変えて複数回行うことで、複数の所定値に対応する複数の第1の評価指標を算出し、
前記テスト処理部は、前記複数の第1の評価指標に基づいて、前記所定値を決定する、
請求項6に記載の情報処理装置。
【請求項8】
1つの前記所定値について、前記モデル構築部及び前記テスト処理部による処理を複数回繰り返して複数の第2の評価指標を算出し、
前記テスト処理部は、前記複数の第2の評価指標の統計量を前記1つの所定値に対応する前記第2の評価指標として算出する、
請求項6に記載の情報処理装置。
【請求項9】
前記複数の第2の評価指標の統計量は、平均値、最大値、最小値又は中央値である、
請求項8に記載の情報処理装置。
【請求項10】
多次元ベクトルで各企業の情報が表された各企業の財務諸表に含まれる複数の勘定科目の値を示す複数の変数、各企業の属性情報及び企業間の取引関係を示す情報と、が含まれる入力データを読み込み、前記入力データを前記学習済みモデルに入力して、前記入力データに対応する企業が不正を行ったか否かを推定する推定処理部をさらに備える、
請求項1乃至9のいずれか一項に記載の情報処理装置。
【請求項11】
クラスタリング処理部が、多次元ベクトルで各企業の情報が表された各企業の財務諸表に含まれる複数の勘定科目の値を示す複数の変数、各企業の属性情報及び各企業が不正を行ったか否かを示す情報と、企業間の取引関係を示す情報と、が含まれる学習用データを読み込んで、1つのクラスタあたりに含まれるノード数が所定値以下になるようにクラスタリングし、各クラスタに対応するノードとノード間の取引関係を示すエッジとで構成されるネットワーク構造を取得し、
特徴量算出部が、前記クリスタリング後のデータに含まれる各クラスタに属する各ノードの特徴量を算出し、算出した特徴量に基づいて各クラスタの特徴量を算出し、
不正フラグ付与部が、各クラスタに属するノードの前記不正を行ったか否かを示す情報に基づいて、当該クラスタに不正フラグを付与し、
モデル構築部が、前記不正フラグが付与されたデータを学習用データとして、前記特徴量を説明変数、前記不正フラグを目的変数として教師有り学習することで学習済みモデルを取得する、
情報処理方法。
【請求項12】
各企業の財務諸表に含まれる複数の勘定科目の値を示す複数の変数と、各企業が不正を行ったか否かを示す情報と、を成分とする多次元ベクトルで各企業の情報が表され、複数の企業に対応する複数の前記多次元ベクトルを含む企業データと、前記複数の企業の取引関係を示す情報と、を含む入力データを読み込んで、1つのクラスタあたりに含まれるノード数が所定値以下になるようにクラスタリングし、各クラスタに対応するノードとノード間の取引関係を示すエッジとで構成されるネットワーク構造を取得する処理と、
特徴量算出部が、前記クリスタリング後のデータに含まれる各クラスタに属する各ノードの特徴量を算出し、算出した特徴量に基づいて各クラスタの特徴量を算出する処理と、
不正フラグ付与部が、各クラスタに属するノードの前記不正を行ったか否かを示す情報に基づいて、当該クラスタに不正フラグを付与する処理と、
モデル構築部が、前記不正フラグが付与されたデータを学習用データとして、前記特徴量を説明変数、前記不正フラグを目的変数として教師有り学習することで学習済みモデルを取得する処理と、をコンピュータに実行させる、
プログラム。
【請求項13】
多次元ベクトルで各企業の情報が表された各企業の財務諸表に含まれる複数の勘定科目の値を示す複数の変数、各企業の属性情報及び各企業が不正を行ったか否かを示す情報と、企業間の取引関係を示す情報と、が含まれる学習用データを読み込んで、1つのクラスタあたりに含まれるノード数が所定値以下になるようにクラスタリングし、各クラスタに対応するノードとノード間の取引関係を示すエッジとで構成されるネットワーク構造を取得するクラスタリング処理部と、前記クリスタリング後のデータに含まれる各クラスタに属する各ノードの特徴量を算出し、算出した特徴量に基づいて各クラスタの特徴量を算出する特徴量算出部と、各クラスタに属するノードの前記不正を行ったか否かを示す情報に基づいて、当該クラスタに不正フラグを付与する不正フラグ付与部と、前記不正フラグが付与されたデータを、前記特徴量を説明変数、前記不正フラグを目的変数として教師有り学習することで学習済みモデルを取得するモデル構築部と、を備える、モデル構築装置によって取得された前記モデルを保持するモデル格納部と、
多次元ベクトルで各企業の情報が表された各企業の財務諸表に含まれる複数の勘定科目の値を示す複数の変数、各企業の属性情報及び企業間の取引関係を示す情報と、が含まれる入力データを読み込み、前記入力データを前記学習済みモデルに入力して、前記入力データに対応する企業が不正を行ったか否かを推定する推定処理部と、を備える、
情報処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、情報処理方法及びプログラムに関する。
【背景技術】
【0002】
機械学習やディープラーニングなどのAI技術を利用して、会計監査における異常検出を行う試みが進展している。例えば、個々企業の勘定科目に着目して、勘定科目の値そのものの異常を検知する手法が提案されている。複数の勘定科目の変動にVAR(Vector Auto-Regression)構造を仮定してLASSO(Least Absolute Shrinkage and Selection Operator)よるスパース(sparse)化を行って、異常な勘定科目の原因となる仕訳を検出する技術が提案されている(特許文献1)。この技術にかかる財務分析装置では、第1ベクトル生成部が、会計データの第1期間内の各勘定科目の各変動値を要素とする第1ベクトルを生成する。推定部が、複数の第1期間を含む第2期間内における複数の第1ベクトルに基づいて第1期間内における複数の勘定科目の各変動値を推定する。残差検出部が、変動値と実際の変動値との残差を検出する。異常候補特定部が、残差に相関する値が閾値を超える特定の第1期間における特定の勘定科目の変動値を抽出する。仕訳限定部が、特定の第1期間内の各仕訳の複数の勘定科目の各変動値を要素とする第2ベクトルを行方向に並べた第2行列を生成する。仕訳抽出部が、第2行列から、残差に相関する値が閾値を超える勘定科目を含む仕訳を抽出する。異常仕訳抽出部が、抽出された仕訳に含まれる異常を検知する異常検知部と、異常が検知された仕訳を抽出する。
【先行技術文献】
【特許文献】
【0003】
【非特許文献】
【0004】
【非特許文献1】V. A. Traag, L. Waltman, N. J. van Eck, “From Louvain to Leiden: guaranteeing well-connected communities”, 26 March, 2019, Nature, Scientific Reports 9, Article Number 5233(2019), 2021年9月29日検索、<URL: https://www.nature.com/articles/s41598-019-41695-z.pdf>
【非特許文献2】宇宿 哲平、近藤 聡、白木 研吾、宮川 大介、柳岡 優希、「機械学習手法を用いた不正会計予測:非上場企業データを用いた検討」、2021年6月、一橋大学院金融戦略・経営財務プログラム、ワーキングペーパーシリーズ、FS-2021-J-001、2021年9月29日検索、<URL: https://www.fs.hub.hit-u.ac.jp/inc/files/staff-research/workingpaper/FS-2021-J-001.pdf>
【発明の概要】
【発明が解決しようとする課題】
【0005】
特許文献1の手法では、個々の勘定科目の異常を検知することはできる。しかし、複数の企業が関与する異常な挙動、例えば循環取引などの複数の企業が関与する取引不正を検知することは原理的に不可能である。
【0006】
よって、複数の企業が関与する取引不正を検知するために、企業間の取引関係をも考慮した不正検知手法の確立が求められる。
【0007】
本発明は上記の事情に鑑みて成されたものであり、複数の企業が関与する取引不正のリスクを評価することを目的とする。
【課題を解決するための手段】
【0008】
一実施の形態にかかる情報処理装置は、多次元ベクトルで各企業の情報が表された各企業の財務諸表に含まれる複数の勘定科目の値を示す複数の変数、各企業の属性情報及び各企業が不正を行ったか否かを示す情報と、企業間の取引関係を示す情報と、が含まれる学習用データを読み込んで、1つのクラスタあたりに含まれるノード数が所定値以下になるようにクラスタリングし、各クラスタに対応するノードとノード間の取引関係を示すエッジとで構成されるネットワーク構造を取得するクラスタリング処理部と、前記クリスタリング後のデータに含まれる各クラスタに属する各ノードの特徴量を算出し、算出した特徴量に基づいて各クラスタの特徴量を算出する特徴量算出部と、各クラスタに属するノードの前記不正を行ったか否かを示す情報に基づいて、当該クラスタに不正フラグを付与する不正フラグ付与部と、前記不正フラグが付与されたデータを、前記特徴量を説明変数、前記不正フラグを目的変数として教師有り学習することで学習済みモデルを取得するモデル構築部と、を有するものである。
【0009】
一実施の形態にかかる情報処理方法は、クラスタリング処理部が、多次元ベクトルで各企業の情報が表された各企業の財務諸表に含まれる複数の勘定科目の値を示す複数の変数、各企業の属性情報及び各企業が不正を行ったか否かを示す情報と、企業間の取引関係を示す情報と、が含まれる学習用データを読み込んで、1つのクラスタあたりに含まれるノード数が所定値以下になるようにクラスタリングし、各クラスタに対応するノードとノード間の取引関係を示すエッジとで構成されるネットワーク構造を取得し、特徴量算出部が、前記クリスタリング後のデータに含まれる各クラスタに属する各ノードの特徴量を算出し、算出した特徴量に基づいて各クラスタの特徴量を算出し、不正フラグ付与部が、各クラスタに属するノードの前記不正を行ったか否かを示す情報に基づいて、当該クラスタに不正フラグを付与し、モデル構築部が、前記不正フラグが付与されたデータを、前記特徴量を説明変数、前記不正フラグを目的変数として教師有り学習することで学習済みモデルを取得するものである。
【0010】
一実施の形態にかかるプログラムは、多次元ベクトルで各企業の情報が表された各企業の財務諸表に含まれる複数の勘定科目の値を示す複数の変数、各企業の属性情報及び各企業が不正を行ったか否かを示す情報と、企業間の取引関係を示す情報と、が含まれる学習用データを読み込んで、1つのクラスタあたりに含まれるノード数が所定値以下になるようにクラスタリングし、各クラスタに対応するノードとノード間の取引関係を示すエッジとで構成されるネットワーク構造を取得する処理と、特徴量算出部が、前記クリスタリング後のデータに含まれる各クラスタに属する各ノードの特徴量を算出し、算出した特徴量に基づいて各クラスタの特徴量を算出する処理と、不正フラグ付与部が、各クラスタに属するノードの前記不正を行ったか否かを示す情報に基づいて、当該クラスタに不正フラグを付与する処理と、モデル構築部が、前記不正フラグが付与されたデータを、前記特徴量を説明変数、前記不正フラグを目的変数として教師有り学習することで学習済みモデルを取得する処理と、をコンピュータに実行させるものである。
【0011】
一実施の形態にかかる情報処理装置は、多次元ベクトルで各企業の情報が表された各企業の財務諸表に含まれる複数の勘定科目の値を示す複数の変数、各企業の属性情報及び各企業が不正を行ったか否かを示す情報と、企業間の取引関係を示す情報と、が含まれる学習用データを読み込んで、1つのクラスタあたりに含まれるノード数が所定値以下になるようにクラスタリングし、各クラスタに対応するノードとノード間の取引関係を示すエッジとで構成されるネットワーク構造を取得するクラスタリング処理部と、前記クリスタリング後のデータに含まれる各クラスタに属する各ノードの特徴量を算出し、算出した特徴量に基づいて各クラスタの特徴量を算出する特徴量算出部と、各クラスタに属するノードの前記不正を行ったか否かを示す情報に基づいて、当該クラスタに不正フラグを付与する不正フラグ付与部と、前記不正フラグが付与されたデータを、前記特徴量を説明変数、前記不正フラグを目的変数として教師有り学習することで学習済みモデルを取得するモデル構築部と、を備える、モデル構築装置によって取得された前記モデルを保持するモデル格納部と、多次元ベクトルで各企業の情報が表された各企業の財務諸表に含まれる複数の勘定科目の値を示す複数の変数、各企業の属性情報及び企業間の取引関係を示す情報と、が含まれる入力データを読み込み、前記入力データを前記学習済みモデルに入力して、前記入力データに対応する企業が不正を行ったか否かを推定する推定処理部と、を有するものである。
【発明の効果】
【0012】
本発明によれば、複数の企業が関与する取引不正のリスクを評価することができる。
【図面の簡単な説明】
【0013】
【
図1】実施の形態1にかかる会計情報処理装置を実現するためのシステム構成の一例を示す図である。
【
図2】本実施の形態にかかる企業データの基本構成を模式的に示す図である。
【
図3】本実施の形態にかかる企業データを表形式にて示す図である。
【
図4】エッジ情報を示すテーブルとエッジ情報に基づくノード及びエッジの例を示す図である。
【
図8】実施の形態1にかかる情報処理装置の構成を模式的に示す図である。
【
図9】実施の形態1にかかる情報処理装置100の変形例を模式的に示す図である。
【
図10】実施の形態1にかかる情報処理装置における処理のフローチャートである。
【
図11】各ノードの特徴量の例を表形式で示す図である。
【
図12】特徴量の算出に用いるネットワークの例を示す図である。
【
図13】隣接行列の例示に用いるネットワークを示す図である。
【
図15】各クラスタの特徴量の例を表形式で示す図である。
【
図16】ROC曲線とAUCの一例を示す図である。
【
図17】評価ケースAにおける各特徴量の採択率を示す図である。
【
図18】評価ケースAにおいて学習用データを用いたときのAUCとテスト用データを用いたときのAUCを示す図である。
【
図19】評価ケースBにおける各特徴量の採択率を示す図である。
【
図20】評価ケースBにおいて学習用データを用いたときのAUCとテスト用データを用いたときのAUCを示す図である。
【
図21】評価ケースCにおける各特徴量の採択率を示す図である。
【
図22】評価ケースCにおいて学習用データを用いたときのAUCとテスト用データを用いたときのAUCを示す図である。
【
図23】クラスタに属するノードの最大値とAUCとの関係を示す図である。
【
図24】実施の形態2にかかる情報処理装置の構成を模式的に示す図である。
【
図25】実施の形態2にかかる情報処理装置の変形例を示す図である。
【
図26】実施の形態2にかかる情報処理装置の変形例を示す図である。
【発明を実施するための形態】
【0014】
以下、図面を参照して本発明の実施の形態について説明する。各図面においては、同一要素には同一の符号が付されており、必要に応じて重複説明は省略される。
【0015】
実施の形態1
実施の形態1にかかる情報処理装置100について説明する。情報処理装置100は、個々の企業の財務諸表に含まれる各勘定科目や取引情報などを用いて、複数の企業間で行われる異常な取引(換言すれば、取引不正)の検知を行うものとして構成される。
【0016】
図1に、実施の形態1にかかる情報処理装置100を実現するためのシステム構成の一例を示す。情報処理装置100は、専用コンピュータ、パーソナルコンピュータ(PC)などのコンピュータ110により実現可能である。但し、コンピュータは、物理的に単一である必要はなく、分散処理を実行する場合には、複数であってもよい。
図1に示すように、コンピュータ110は、CPU(Central Processing Unit)11、ROM(Read Only Memory)12及びRAM(Random Access Memory)13を有し、これらがバス14を介して相互に接続されている。尚、コンピュータを動作させるためのOSソフトなどは、説明を省略するが、この会計情報処理装置を構築するコンピュータも当然有しているものとする。
【0017】
バス14には、入出力インターフェイス15が接続されている。入出力インターフェイス15には、入力部16、出力部17、通信部18及び記憶部19が接続される。
【0018】
入力部16は、例えば、キーボード、マウス、センサなどより構成される。出力部17は、例えば、LCDなどのディスプレイ装置やヘッドフォン及びスピーカなどの音声出力装置により構成される。通信部18は、例えば、ルータやターミナルアダプタなどにより構成される。記憶部19は、ハードディスク、フラッシュメモリなどの記憶装置により構成される。
【0019】
CPU11は、ROM12に記憶されている各種プログラム、又は記憶部19からRAM13にロードされた各種プログラムに従って各種の処理を行うことが可能である。本実施の形態においては、CPU11は、例えば後述する情報処理装置100の各部の処理を実行する。CPU11とは別にGPU(Graphics Processing Unitを設け、CPU11と同様に、ROM12に記憶されている各種プログラム、又は記憶部19からRAM13にロードされた各種プログラムに従って各種の処理、本実施の形態においては、例えば後述する情報処理装置100の各部の処理を実行してもよい。なお、GPUは、定型的な処理を並列的に行う用途に適しており、後述するニューラルネットワークにおける処理などに適用することで、CPU11に比べて処理速度を向上させることも可能である。RAM13には又、CPU11及びGPUが各種の処理を実行する上において必要なデータなども適宜記憶される。
【0020】
通信部18は、ネットワーク30を介して、サーバ40と双方向の通信を行うことが可能である。通信部18は、CPU11から提供されたデータをサーバ40へ送信したり、サーバ40から受信したデータをCPU11、RAM13及び記憶部19などへ出力することができる。通信部18は、他の装置との間で、アナログ信号又はディジタル信号による通信を行ってもよい。記憶部19はCPU11との間でデータのやり取りが可能であり、情報の保存及び消去を行う。
【0021】
入出力インターフェイス15には、必要に応じてドライブ20が接続されてもよい。ドライブ20には、例えば、磁気ディスク21、光ディスク22、フレキシブルディスク23又は半導体メモリ24などの記憶媒体が適宜装着可能である。各記憶媒体から読み出されたコンピュータプログラムは、必要に応じて記憶部19にインストールされてもよい。また、必要に応じて、CPU11が各種の処理を実行する上において必要なデータや、CPU11の処理の結果として得られたデータなどを各記憶媒体に記憶してもよい。
【0022】
次いで、本実施の形態で用いる学習用データの形式について説明する。本実施の形態にかかる学習用データDATは、企業を識別するための企業識別情報(例えばIDナンバーなど)と、複数の勘定科目のデータ値と、を少なくとも含む各種の変数が関連付けられた表形式のデータセットとして構成される。なお、ここでいうデータ値とは、数値データ及び文字データ(テキストデータ)の両方を含むものとする。
図2に、本実施の形態にかかる学習用データDATの基本構成を模式的に示す。学習用データDATは、企業の会計情報などを示す企業データCPR、企業間の取引関係を示すエッジ情報EDG及び企業が不正を行ったか否かを示す不正履歴情報UDHが結合されたデータとして構成される。
【0023】
企業データCPRについて説明する。企業データCPRは、各企業のIDに、財務諸表に含まれる情報と、各企業の属性を示す情報(例えば、業種や事業所の取材値など)の情報が紐付けられたものとして構成される。
図3に、本実施の形態にかかる企業データCPRの例を表形式にて示す。企業データCPRの1つのレコードに関連付けられるフィールド、すなわち表の列方向には、企業識別情報(企業ID)、会計識別情報など、複数の勘定科目のデータ値が配列される。また、当然のことながら、表の行方向には複数のレコードが配列される。
図3に示す様に、1つの企業識別情報に対して複数の会計識別情報が組み合わされ得るので、企業データCPRには1つの企業に対応する複数のレコードが含まれ得る。
【0024】
企業識別情報は、企業名などのテキストデータでもよいし、識別番号(企業ID)などの数値データであってもよい。なお、
図2及び3では、企業識別情報として企業IDを用いている。また、企業識別情報は、必要に応じて、企業の業種を示す変数などの他の変数を含んでもよい。
【0025】
変数には、貸借対照表、損益計算書及びキャッシュフロー計算書の各項目が含まれる。また、変数には、貸借対照表、損益計算書及びキャッシュフロー計算書の各項目以外の情報が含まれてもよい。
【0026】
換言すれば、各企業のレコードは、各種のデータ値を成分とする多次元ベクトルとして記述され、企業データは、この多次元ベクトルで記述される各企業を表すノードを複数、含むものとして構成される。
【0027】
次いで、エッジ情報EDGについて説明する。本実施の形態にかかる企業データCPRに含まれる企業のうち、取引関係がある2つの企業の間は、エッジで接続されている。そのため、以下で説明する学習処理における学習用データDATには、エッジを示すエッジ情報EDGが含まれる。
【0028】
エッジ情報EDGの例について説明する。
図4に、エッジ情報を示すテーブルとエッジ情報に基づくノード及びエッジの例を示す。この例では、ノードN1からノードN2~N4へのエッジ、ノードN2からノードN1及びノードN3へのエッジ、ノードN3からノードN4へのエッジが存在している。このテーブルを元に、エッジの向きを反映した有向グラフ又はエッジの向きを考慮しない無向グラフとしてネットワークを構成することができる。
【0029】
また、本実施の形態では、学習用データDATには、各企業について不正が有ったことを示す不正履歴情報UDHが含まれる。不正履歴情報UDHは、例えば、特定の列に集約されてもよく、集約された情報は、不正の種類の名称や不正を説明する文章などのテキスト情報として表されてもよい。不正履歴情報UDHにおいては、不正を示す情報は、特定の列に集約されてもよい。集約された情報は、不正の種類の名称や不正を説明する文章などのテキスト情報として表されてもよく、また、「1」又は「0」などの数値データやブーリアン型の変数など、各種の形式で表現されてもよい。
【0030】
例えば、不正履歴情報UDHにおいて、勘定科目ごとに不正の有無を表示してもよい。
図5に、不正履歴情報UDHの第1の例を示す。第1の例では、勘定科目ごとに、不正が有った場合には「1」、不正が無かった場合には「0」の値を付与することで、不正履歴情報UDHを構成している。
【0031】
また、例えば、不正履歴情報UDHにおいて、不正をテキストデータで表示してもよい。
図6に、不正履歴情報UDHの第2の例を示す。第2の例では、「不正種類」の列に不正の種類を示すテキストデータを格納することで、不正履歴情報UDHを構成している。なお、この例では、不正が無かった場合には、「不正種類」の列は空欄又はデータなしとしている。
【0032】
さらに、例えば、不正の種類名称ごとに列を設け、不正の有無を「1」又は「0」などの何らかの識別可能な形式で表現してもよい。
図7に、不正履歴情報UDHの第2の例を示す。第3の例では、不正の種類ごとに列を設け、各列に対応する不正が有った場合に「1」、不正が無かった場合に「0」の値を付与することで、不正履歴情報UDHを構成している。
【0033】
学習用データDATと、学習用データDATの基となる企業データCPR、エッジ情報EDG及び不正履歴情報UDHとは、例えば、
図1の記憶部19などに格納されてもよい。また、これらのデータは、ネットワーク30及び通信部18を介してサーバ40から与えられてもよいし、ドライブ20を介して各所の記憶媒体から与えられてもよい。
【0034】
次いで、情報処理装置100の構成及び処理について説明する。本実施の形態では、情報処理装置100は、上述の学習用データDATを用いて、複数のグループを含むグループ(クラスタ)内において、2以上の企業が関与する取引不正の有無と推定するものとして構成される。
【0035】
図8に、実施の形態1にかかる情報処理装置100の構成を模式的に示す。情報処理装置100は、ハードウェア上では、各処理は実際にはソフトウェアと上記CPU11などのハードウェア資源とが協働することで実現される。情報処理装置100は、取引不正の推定のための学習済みモデルを作成する処理を実現するために、少なくともクラスタリング処理部1、クラスタ特徴量算出部2、不正フラグ付与部3及びモデル構築部4を有する。
【0036】
以下で説明するモデルの構築処理は、クラスタリング処理部1、クラスタ特徴量算出部2、不正フラグ付与部3及びモデル構築部4を有する情報処理装置100で実行することができるが、構築したモデルを評価するための構成を付加してもよい。
図9に、情報処理装置100の変形例である、情報処理装置101の構成を模式的に示す。情報処理装置101は、情報処理装置100にテスト処理部5を追加した構成を有する。
【0037】
以下、モデル構築処理とテスト処理について説明する。
図10に、実施の形態1にかかる情報処理装置100における処理のフローチャートを示す。情報処理装置100は、
図9に示すステップS1~S5の処理を実行することで、取引不正を検知する学習済みモデルを作成及び評価が行われる。
【0038】
ステップS1:クラスタリング処理
クラスタリング処理部1は、企業データを取り込み、教師なし学習によるクラスタリングを行う。ステップS1は、以下のステップS11~S13を含む。
【0039】
ステップS11:学習用データDATの読み込み
クラスタリング処理部1は、学習用データDATを読み込む。学習用データDATは、情報処理装置100のオペレータが入力手段または通信手段を介して与えてもよいし、記憶装置(例えば、
図1の記憶部19)に予め格納されていてもよい。
【0040】
ステップS12:各クラスタのノード数の最大値の読み込み
本実施の形態では、クラスタリング処理部1は、クラスタに含まれるノード数の最大値を制限可能なクラスタリング手法を用いてクラスタリングを行う。そのため、クラスタリング処理部1は、クラスタに含まれるノード数の最大値を読み込む。クラスタに含まれるノード数の最大値は、情報処理装置100のオペレータが必要に応じて与えてもよいし、記憶装置(例えば、
図1の記憶部19)に予め格納されていてもよい。
【0041】
ステップS13:クラスタリング
クラスタリング処理部1は、クラスタに含まれるノード数の最大値を参照して、クラスタリングを行う。クラスタに含まれるノード数の最大値を制限可能なクラスタリング手法としては、例えばLeiden Algorithm(非特許文献1)を用いることができる。但し、クラスタに含まれるノード数の最大値を制限可能であれば、Leiden Algorithm以外の手法を適宜用いることができるのは言うまでもない。なお、この手法では、ノードとエッジとで構成されるネットワーク構造を適宜クラスタリングすることが可能である。
【0042】
ステップS2:クラスタ特徴量算出
クラスタ特徴量算出部2は、クラスタリング処理後の各ノードについて、特徴量の算出を行う。ステップS2は、以下のステップS21及びS22を含む。
【0043】
ステップS21:各企業(ノード)の特徴量算出
クラスタ特徴量算出部2は、まず、学習用データDATに含まれる各企業のデータに基づいて、特徴量を算出する。本実施の形態では、以下で説明する9つの特徴量を用いる。
図11に、各ノードの特徴量の例を表形式で示す。具体的には、特徴量として、不正リスクスコアRS、次数中心性DC、固有ベクトル中心性EC、次数中心性と不正リスクスコアとの積DC*RS、固有ベクトル中心性と不正リスクスコアRSとの積EC*RS、クラスタ係数CC、局所固有ベクトル中心性EEC、隣接ノードの次数の総和CT及びグループ次数中心性GDCを用いるものとする。
【0044】
なお、特徴量の理解を容易にするために、
図12に、特徴量の算出に用いるネットワークの例を示す。
図12のネットワークは、14個のノードNa1~Na14を含み、ノードNa1~Na5がクラスタC1、ノードNa6~Na8がクラスタC2、ノードNa9~Na14がクラスタC3に属している。
【0045】
第1の特徴量:不正リスクスコアRS
各ノードの不正リスクスコア、すなわち個々の企業の不正リスクスコアであり、個々の財務諸表などの企業のデータから、各種の取引不正のリスクを示す不正リスクスコアRSを算出する。取引不正の例としては、2社の間の相対で行われる取引不正(例えば、買戻し条件付きの押し込み販売)、数社が結託して行われる取引不正(例えば、架空循環取引)、多数の企業が関与した大規模な取引不正などが有る。不正リスクスコアRSは、不正リスクスコアRSの算出については、例えば非特許文献2にかかる手法を含む、各種の手法を用いることができる。
【0046】
不正リスクスコアRSは、各企業に紐付けられたものであり、個々の企業が不正を行うリスクを示す指標である。しかし、取引不正のリスクを高い精度で検知するには、各企業と取引企業との関係も考慮する必要が有ると考え得る。そこで、本実施の形態では、以下で説明する特徴量を導入する。
【0047】
まず、着目した企業が、取引ネットワークにおいてどれほど中心的役割を担っているかを評価するため、以下の第2及び第3の特徴量を導入する。
【0048】
第2の特徴量:次数中心性DC
各ノードの次数中心性(Degree Centrality)DCは、各ノードの隣接するノードの数、すなわち、各ノードとエッジで接続されるノードの数に基づいて算出される。言うまでもないが、次数中心性DCは、相対取引についての指標である。注目するノードに接続されたエッジの数をED、ネットワークに属するノードの総数をNとすると、注目するノードの次数中心性DCは、以下の式で表される。
【数1】
式[1]からわかるように、注目するノードに接続するエッジの数が多いほど、次数中心性DCは大きな値となる。つまり、次数中心性DCは、ネットワーク全体に含まれる企業に対して、着目した企業が直接取引をしている企業の割合を示す指標である。
図12のクラスタC2に属するノードNa6に注目すると、次数中心性は、4/(14-1)=0.3076...となる。
【0049】
第3の特徴量:固有ベクトル中心性EC
各ノードの固有ベクトル中心性(Eigenvector Centrality)ECは、以下で説明する隣接行列Aについて最大の固有値と、最大の固有値に対応する固有ベクトルを求めることで算出される。言うまでもないが、固有ベクトル中心性ECは、ネットワーク全体に含まれる企業に対して、着目した企業が、取引数の多い企業とどの程度取引があるかを示す指標である。隣接行列Aは、ノード総数と同じ行数及び列数の正方行列であり、便宜上、行番号をi、列番号をk、i行j列の成分をA
ijとする。言うまでもないが、行番号i及び列番号jは、1以上N以下の整数である。
【数2】
成分A
ijの値は、隣接する2つのノードがエッジで直接的に接続されている場合に「1」、隣接する2つのノードがエッジで接続されていない場合に「0」となる。
【0050】
隣接行列の具体例を示す。
図13に、隣接行列の例示に用いるネットワークを示す。このネットワークでは、5つのノードが存在し、ノードNb2がノードNb1、Nb3及びNb4とエッジで接続され、ノードNb4がノードNb5とエッジで接続されている。このときの隣接行列は、以下の式で表されることとなる。
【数3】
【0051】
次いで、以下の式を満たす、固有ベクトルuと固有値λを算出する。
【数4】
算出した固有値λから、最大の値を有する固有値λ
MAXを選択し、最大の固有値λ
MAXに対応する固有ベクトル(中心性ベクトルとも称する)u
MAXの各成分u
iを、ノードNDiの特徴量である固有ベクトル中心性ECiとして算出する。例えば、式[3]の隣接行列Aの最大の固有値λ
MAXは1.8477...となり、これに対応する固有ベクトルは、以下の式で表される。
【数5】
【0052】
次いで、着目した企業の不正リスクスコアと取引関係とを考慮した指標として、以下の第4及び第5の特徴量を導入する。
【0053】
第4の特徴量:次数中心性DCと不正リスクスコアRSの積(DC*RS)
各ノードについて、次数中心性DCと不正リスクスコアRSの積DC*RSを算出し、これを各ノードの特徴量として用いる。次数中心性DCと不正リスクスコアRSの積DC*RSは、着目した企業と直接取引している企業が多く、かつ、着目した企業自身の不正リスクが高いと、取引不正のリスクも高いことを示す指標。
【0054】
第5の特徴量:固有ベクトル中心性ECと不正リスクスコアRSの積(EC*RS)
各ノードについて、固有ベクトル中心性ECと不正リスクスコアRSの積EC*RSを算出し、これを各ノードの特徴量として用いる。固有ベクトル中心性ECと不正リスクスコアRSの積EC*RSは、着目した企業が、取引数の多い企業と取引しており、かつ、着目した企業自身の不正リスクが高いと、取引不正のリスクも高いことを示す指標である。
【0055】
次いで、着目した企業と、着目した企業と取引関係がある企業とが、どれほど網羅的な取引ネットワークを構成しているかを評価するため、以下の第6の特徴量であるクラスタ係数を導入する。
【0056】
第6の特徴量:クラスタ係数(Clustering Coefficient)CC
各ノードについて、クラスタ係数CCを算出する。注目するノードを含む三角形の数をT(すなわち、各ノードとエッジで接続された2つの隣接ノード同士を接続するエッジの数)、注目するノードの次数(接続されたエッジの数)をEDとすると、注目するノードのクラスタ係数は、以下の式で表される。
【数6】
式[12]において、分母は、各ノードとエッジで接続される2つの隣接ノード同士をエッジで接続する場合のエッジの最大数(各ノードとエッジで接続される隣接ノードで構成される組み合わせの数)である。したがって、クラスタ係数CCは、2つの隣接ノード同士をエッジで接続する場合のエッジの最大数に対して、実際に2つの隣接ノード同士を接続しているエッジの数の比率と示している。換言すれば、クラスタ係数CCは、各ノードに対応する企業と、これと取引関係を有する企業とが、どれほど密なネットワークを形成しているかを見積る指標として利用することができる。
図12のクラスタC2に属するノードNa6に注目すると、クラスタ係数は、1/(4*3/2)=0.1666...となる。
【0057】
次いで、数社が結託して行われる取引不正を検知するための指標を導入する。数社が結託して行われる取引不正としては、各企業の2社先の取引関係にかかる不正、例えば架空循環取引などが知られている。このような、2社先の取引関係にかかる不正を検知するための指標として、第7の特徴量である局所固有ベクトル中心性を導入する。
【0058】
第7の特徴量:局所固有ベクトル中心性EEC
上述の固有ベクトル中心性ECは1つ隣のノードまでのネットワークを対象として算出されるものであった。これに対し、ここでは、着目したノードと、1つ隣及び2つ隣のノードとで構成されるネットワークである局所ネットワーク(Egocentric Network: Egonet)を対象として、局所固有ベクトル中心性EEC(Egonet Eigenvector Centrality)を算出する。
【0059】
図14に、局所ネットワークの例として、
図12の例においてノードNa6に着目した場合の局所ネットワークを示す。この例では、ノードNa6と、1つ隣のノードであるノードNa5、Na7、Na8及びNa9と、2つ隣のノードであるノードNa4、Na10及びNa13が局所ネットワークを構成する。この局所ネットワークに対して、ノードが隣接している場合に「1」、隣接していないに「0」となる成分からなる隣接行列Bを以下のように求める。なお、簡略化のため、行及び列に表示したノード番号は、「Na」を除く数字のみを表示している。
【数7】
【0060】
次いで、以下の式を満たす固有値λを算出する。
【数8】
算出した固有値λから最大の値を有する固有値λ
MAXを選択し、最大の固有値λ
MAXを局所固有ベクトル中心性EECとして算出する。この例では、式[7]の隣接行列Bの最大の固有値λ
MAXである2.4614...が局所固有ベクトル中心性EECとして算出される。
【0061】
第8の特徴量:隣接ノードの次数の総和CT
隣接ノードの次数の総和CT、すなわち隣接ノードの取引関係数の総和(Co Transaction)を算出する。隣接ノードの次数の総和CTは、着目した企業と直接取引している企業が、どれくらい他社と取引をしているかを示す指標である。
図12のクラスタC2に属するノードNa6に注目すると、隣接するノードNa5の次数が2、ノードNa7の次数が2、ノードNa8の次数が2、ノードNa9の次数が3なので、隣接ノードの次数の総和CTは、2+2+2+3=9となる。
【0062】
ステップS22:クラスタの特徴量算出
各クラスタについて、属するノードの各特徴量の平均値を算出し、算出した平均値を注目するクラスタの各特徴量とする。
図15に、各クラスタの特徴量の例を表形式で示す。なお、ここでは、特徴量として用いる統計量として平均値を採用したが、必要に応じて、最大値、最小値及び中央値などの他の統計量を用いてもよい。
【0063】
さらに、クラスタの特徴量として、第9の特徴量であるグループ次数中心性GDCを算出する。
【0064】
第9の特徴量:グループ次数中心性GDC
クラスタリング処理によって生じたクラスタのそれぞれについて、グループ次数中心性GDC(Group Degree Centrality)を算出し、注目するクラスタに含まれるノードの特徴量として用いる。注目するクラスタに含まれるノードと、注目するクラスタ以外のクラスタに含まれるノードとを接続するエッジの総数をED
EXT、注目するクラスタ以外のクラスタに含まれるノードの総数をN
EXTとする。グループ次数中心性GDCは、以下の式を用いて算出する。
【数9】
図12のクラスタC1に注目すると、クラスタC1のグループ次数中心性GDCは1/9=0.1111...となる。
【0065】
ステップS3
不正フラグ付与部3は、過去に不正があったノードを含むクラスタに対してフラグを付与する。具体的には、
図15に示す様に、不正フラグ付与部3は、過去に不正があったノードを含むクラスタの不正フラグを「1」、不正が有ったノードを含まないクラスタの不正フラグを「0」に設定する。不正フラグは、学習用データDATに含まれる不正履歴情報を示す列を参照し、不正が有った場合に不正フラグとして「1」を付与し、不正が無かった場合に不正フラグとして「0」を付与するというように、数値データによって表されてもよい。不正履歴情報に対応する列が複数有る場合には、参照する列の全てが不正が有ったことを示している場合に不正フラグ「1」を付与してもよいし、参照する列のいずれかに不正が有ったことを示している場合に不正フラグ「1」を付与してもよい。なお、不正フラグのデータ形式は数値データに限られず、例えば、ブーリアン型の変数など、各種の形式で表現されてもよい。
【0066】
ステップS4:モデル構築
モデル構築部4は、各クラスタの特徴量を説明変数、不正フラグを目的変数とする学習済みモデルの構築を行う。ここでは、学習済みモデルを示す処理fを構築するため、例えばロジスティック回帰を用いて学習済みモデルを構築する。なお、学習済みモデル構築には、ロジスティック回帰のみならず、ランダムフォレスト、サポートベクトル回帰など、各種の教師有り学習手法を適宜用いることができる。ステップS4は、以下のステップS40~S45を含む。
【0067】
ステップS40:処理回数初期値設定
処理回数NUMの初期値として、「1」を設定する。
【0068】
ステップS41:ノード抽出
不正フラグが「1」のクラスタから一定の割合のクラスタを抽出し、かつ、不正フラグが「0」のクラスタから一定の割合のクラスタを抽出して、抽出したクラスタを学習用データとして用いる。残りのクラスタはテスト用データとして用いる。本実施の形態では、例として、一定の割合を7割とする。但し、一定の割合の値は7割に限られるものではなく、任意の割合としてもよい。
【0069】
ステップS42:学習用データの特徴量標準化
学習用データについて、各クラスタの特徴量の標準化を行う。ここでは、各クラスタに含まれる特徴量の個数をM(上述の例ではM=9)、クラスタに含まれる各特徴量をx
k(kは、1以上M以下の整数)、抽出されたクラスタの特徴量x
kの平均値をx
k_AVE、抽出された特徴量x
kの標準偏差をσ
xkとする。このとき、標準化された特徴量x
ksは、以下の式で表される。
【数10】
【0070】
ステップS43:学習用データの特徴量除外
標準化された特徴量x1s~x9sから選んだ2つの特徴量の全ての組み合わせについて、相関CRRを算出する。そして、相関CRRが所定値THよりも大きい場合には、選んだ2つの特徴量の一方を学習用データから除外する。本実施の形態では、例えば所定値THを0.9とする。この場合に、標準化された特徴量x5sと標準化された特徴量x9sとの相関が0.95である場合には、標準化された特徴量x9sを学習用データから除外する。
【0071】
ステップS44:重み算出
次のステップS45にて重み付けロジスティック回帰によって学習処理を行うために、データに付与する重みを算出する。ここで、抽出したクラスタ総数をn、不正フラグが「1」のクラスタの数をn1、不正フラグが「0」のクラスタの数をn0としたとき、不正フラグが「1」のクラスタの標準化された特徴量に対する重みとして、n/2n1、不正フラグが「0」のクラスタの標準化された特徴量に対する重みとしてn/2n0を算出する。
【0072】
ステップS45:学習処理
上述したように、学習用データを用いて、例えばロジスティック回帰によって学習済みモデルを構築する。ここでは、n個のクラスタに含まれる各クラスタの不正フラグをy
i(iは、1からnまでの整数)、各クラスタにおいて不正フラグが「1」となる確率をp
i(0<pi<1)とする。各クラスタにおいて不正フラグが付与される事象が独立であるとすると、ステップS3においてn個のクラスタにそれぞれ付与したn個の不正フラグからなる順列が得られる確率である尤度Lは、以下の式で表される。
【数11】
ここでは、式[11]から、式[12]に示す対数尤度logLを用いる。
【数12】
ここで、式[12]の左辺にステップS44で算出した式[13]に示す重みw
iを乗じて、式[12]を式[14]に変換する。
【数13】
【数14】
【0073】
上述の通り、本実施の形態ではロジスティック回帰を行うので、不正フラグが「1」となる確率p
iは、以下の式で表される。
【数15】
式[15]において、特徴量x
i_kは、i番目のクラスタのk番目の特徴量を示している。
【0074】
以上の条件の下で回帰分析を行い、対数尤度logLを最大にするβ0~βnを求めることで、学習済みモデルを構築することができる。
【0075】
ステップS5:テスト
テスト処理部5は、以下の手順で、学習済みモデルのテストを行う。ここでは、以下の手順で、テストを100回繰り返すものとする。
【0076】
ステップS51:テスト用データの特徴量除外
テスト用データから、ステップS43で除外された特徴量を同様に除外する。
【0077】
ステップS52:テスト用データの特徴量標準化
テスト用データについて、学習用データの場合と同様に、各クラスタの特徴量の標準化を行う。ここでは、除外処理後の各クラスタに含まれる特徴量の個数をm(mは、M以下の整数)、各クラスタに含まれる各特徴量をy
k(kは、1以上m以下の整数)とする。このとき、標準化された特徴量y
ksは、以下の式で表される。
【数16】
【0078】
ステップS53:結果出力
学習済みモデルに、テスト用データの標準化された特徴量を有するクラスタを投入し、結果を取得する。
【0079】
ステップS54:AUC算出
出力結果と、投入したノードに付された実際の不正フラグと、を比較してROC(Receiver Operating Characteristic)曲線を取得し、ROC曲線を用いてAUC(Area Under Curve)を算出する。
【0080】
ROC曲線とAUCについて簡潔に説明する。
図16に、ROC曲線とAUCの一例を示す。ROC曲線は、真陽性の割合と偽陽性の割合として定義される点が描く軌跡に対応する曲線である。ROC曲線の縦軸は真陽性の割合(True Positive Rate)であり、検出結果の横軸上に設定した閾値以上の範囲におけるpositiveを示す実線Pと横軸とに囲まれる部分の面積に対応する。ROC曲線の横軸は偽陽性の割合(False Positive Rate)であり、予測結果の横軸上に設定した閾値以上の範囲におけるnegativeを示す破線Nと横軸とに囲まれる部分の面積に対応する。
【0081】
例として、ROC曲線の横軸上に閾値THを設定し、閾値THに対応するROC曲線上の点Pを示した。点Pにおける真陽性の割合(True Positive Rate)TPR1は、検出結果の横軸上に設定した閾値TH以上の範囲におけるpositiveを示す実線Pと横軸とに囲まれる部分(細線ハッチングが施された部分)の面積に対応する。点Pにおける偽陽性の割合(False Positive Rate)FPR1は、検出結果の横軸上に設定した閾値TH以上の範囲におけるnegativeを示す破線Nと横軸とに囲まれる部分(太線ハッチングが施された部分)の面積に対応する。
【0082】
AUCは、ROC曲線よりも下の部分(ハッチングが施された部分)の面積である。一般に、AUCの値は、事象の発生がランダムである場合には0.5となり、イベントの発生及び未発生の予測精度が高くなるほど1に近づくこととなる。
【0083】
ステップS55:テスト回数更新
テスト回数NUMを1だけ増加させる。
【0084】
ステップS56:終了判定
テスト回数NUMが100未満である場合には、処理ステップS41へ返す。テスト回数NUMが100である場合には、処理を終了する。
【0085】
以上のステップS41~S45及びS51~S56を繰り返すことで、テストごとに学習用データに含まれるクラスタとテスト用データにクラスタとを抽出しなおして、テストを反復することができる。これにより、クラスタ抽出に起因するバラつきを平均化して、モデルをより高精度に評価することができる。
【0086】
なお、テストの回数は例示に過ぎず、テスト回数を100回未満又は100回よりも多くしてもよい。
【0087】
次いで、性能評価の実施例について説明する。本実施の形態では、ステップS1におけるクラスタリングでのクラスタに属するノードの最大値を1000、500及び100の3段階に変化させて、性能評価結果の比較を行った。なお、以下では、クラスタリングを行った結果、ノード数が1つのクラスタが発生した場合には、そのクラスタについては除外している。
【0088】
評価ケースA
評価ケースAにおいては、ステップS1におけるクラスタリングでのクラスタに属するノードの最大値を1000とした。この条件において、不正フラグ「1」のクラスタ数は2522、不正フラグ「0」のクラスタは47となった。このデータに対して100回のテストを行い、AUCを算出した。なお、テスト用データを用いてのテストの結果の比較例として、構築したモデルに学習用データを投入した場合AUCの算出も行った。
【0089】
図17に、評価ケースAにおける各特徴量の採択率を示す。この例では、9つの特徴量のうち、グループ次数中心性GDCは1度も採用されず、稀に(数%程度の確率で)固有ベクトル中心性ECが不採用となった。その他の7つの特徴量は、100%採用された。
【0090】
図18に、評価ケースAにおいて学習用データを用いたときのAUCとテスト用データを用いたときのAUCを示す。この例では、学習用データを用いた場合のAUCの平均値は0.798、テスト用データを用いたテストでのAUCの平均値は0.772となった。テスト用データのAUCは概ね0.7~0.8の間で推移しており、高い精度でクラスタ内の取引不正を検出できることが確認できた。
【0091】
評価ケースB
評価ケースBにおいては、ステップS1におけるクラスタリングでのクラスタに属するノードの最大値を500とした。この条件において、不正フラグ「1」のクラスタ数は4695、不正フラグ「0」のクラスタは49となった。評価ケースAと同様に、このデータに対して、学習用データとテスト用データとを用いて100回のテストを行い、AUCを算出した。
【0092】
図19に、評価ケースBにおける各特徴量の採択率を示す。この例では、9つの特徴量のうち、グループ次数中心性GDCは1度も採用されず、その他の8つの特徴量は100%採用された。
【0093】
図20に、評価ケースBにおいて学習用データを用いたときのAUCとテスト用データを用いたときのAUCを示す。この例では、学習用データを用いた場合のAUCの平均値は0.778、テスト用データを用いたテストでのAUCの平均値は0.730となった。テスト用データのAUCは概ね0.7~0.8の間で推移しており、評価ケースBにおいても高い精度でクラスタ内の取引不正を検出できることが確認できた。
【0094】
評価ケースC
評価ケースCにおいては、ステップS1におけるクラスタリングでのクラスタに属するノードの最大値を100とした。この条件において、不正フラグ「1」のクラスタ数は20296、不正フラグ「0」のクラスタは55となった。評価ケースA及びBと同様に、このデータに対して、学習用データとテスト用データとを用いて100回のテストを行い、AUCを算出した。
【0095】
図21に、評価ケースCにおける各特徴量の採択率を示す。この例では、9つの特徴量のうち、グループ次数中心性GDCは1度も採用されず、その他の8つの特徴量は100%採用された。
【0096】
図22に、評価ケースCにおいて学習用データを用いたときのAUCとテスト用データを用いたときのAUCを示す。この例では、学習用データを用いた場合のAUCの平均値は0.714、テスト用データを用いたテストでのAUCの平均値は0.761となった。テスト用データのAUCは概ね0.6~0.7の間で推移しており、評価ケースA及びBと比べて取引不正の精度が低下していることが確認できた。
【0097】
評価ケースA~Cを比較すると、クラスタに属するノードの最大値を小さくし過ぎると、取引不正の検出精度が低下することが理解できる。上述のテスト結果からは、クラスタに属するノードの最大値を少なくとも数百個程度、望ましくは500個以上とすることで、良好な取引不正の検出精度を実現できるものと推定できる。
【0098】
そこで、取引不正の検出精度を実現するには、クラスタに属するノードの最大値はいかなる値が好適であるかを検討するため、クラスタに属するノードの最大値を変化させたときのAUCの変動を観察した。
図23に、クラスタに属するノードの最大値とAUCとの関係を示す。ここでは、クラスタに属するノードの最大値を、100~25000個の範囲で変化させた。具体的には、クラスタに属するノードの最大値を、100、500、1000と変化させ、かつ、1000~25000個の範囲では1000個刻みで変化させた。
【0099】
その結果、クラスタに属するノードの最大値が5000~20000個の範囲において、AUCの値が、0.87~0.90程度の高い値で安定する傾向が見られた。
【0100】
以上、本構成によれば、個々の企業の不正リスクを推定するだけでは困難な、クラスタ内の複数のノード(企業)が関与した取引不正のリスクを推定することができる。これにより、循環取引などの複数の企業が関与するような取引不正のリスクを好適に推定することが可能となる。
【0101】
実施の形態2
実施の形態2にかかる情報処理装置について説明する。実施の形態1では、個々の企業の財務諸表に含まれる各勘定科目や取引情報などを用いた、取引不正を検知するための学習済みモデルの構築について説明した。本実施の形態では、構築した学習済みモデルを用いて、分析対象となる企業の情報を示す入力データを学習済みモデルに入力することで、分析対象の企業が不正を行うリスクを推定する構成について説明する。
【0102】
図24に、実施の形態2にかかる情報処理装置200の構成を模式的に示す。情報処理装置200は、実施の形態1にかかる情報処理装置100のテスト処理部5を、推定処理部6に置換した構成を有する。
【0103】
実施の形態1で説明したように、モデル構築部によって学習済みモデルMDが構築される。その後、学習済みモデルMDは、推定処理部6に渡される。学習済みモデルMDは、例えば、推定処理部6に設けられた記憶部に格納されていてもよいし、推定処理部6とは別に設けられた記憶部に格納され、推定処理部6が必要に応じて学習済みモデルMDを読み出してもよい。これらの記憶部としては、
図1に示した記憶部19など、適宜利用可能な記憶手段を用いることが可能である。
【0104】
推定処理部6には、不正を行うリスクの分析対象となる企業の情報を示す入力データINが入力される。入力データINのデータ形式としては、例えば、上述の企業データとエッジ情報とで構成される。推定処理部6は、学習済みモデルMDに入力データINを入力することで、対象企業が不正を行うリスク、例えば対象企業が不正を行う確率を示す情報である出力データOUTを出力する。情報処理装置200のユーザは、出力データOUTを参照することで、対象企業が不正を行うリスクを認識することが可能である。
【0105】
なお、本実施の形態にかかる情報処理装置は、情報処理装置101のテスト処理部5を有していてもよい。
図25に、情報処理装置200の変形例である情報処理装置201の構成を模式的に示す。テスト処理部5を設けることで、実施の形態1で説明したように、検証を行った学習済みモデルを用いて推定処理を行うことが可能である。
【0106】
なお、上述の推定処理は、推定処理を行う情報処理装置とは異なる情報処理装置で構築された学習済みモデルMDを用いて行うことも可能である。
図26に、実施の形態2にかかる情報処理装置の変形例である情報処理装置210の構成を模式的に示す。情報処理装置210は、モデル格納部7及び推定処理部6を有する。
【0107】
モデル格納部7には、情報処理装置210とは異なる、例えば情報処理装置100によって構築された学習済みモデルMDが格納される。学習済みモデルMDは、通信回線や記憶媒体などを介して外部の異なる情報処装置から情報処理装置210に提供されて、モデル格納部7に格納される。モデル格納部7としては、
図1に示した記憶部19など、適宜利用可能な記憶手段を用いることが可能である。
【0108】
推定処理部6には、情報処理装置200と同様に、不正を行うリスクの分析対象となる企業の情報を示す入力データINが入力される。推定処理部6は、学習済みモデルMDに入力データINを入力することで、対象企業が不正を行うリスク、例えば対象企業が不正を行う確率を示す情報である出力データOUTを同様に出力することができる。
【0109】
情報処理装置210によれば、モデル構築装置である他の情報処理装置で構築された学習済みモデルを適宜用いて、推定処理を行うことができる。これにより、他の情報処理装置が複数存在する場合、推定処理に適した学習済みモデルの提供を適切な情報処理装置から受けることが可能となる。また、モデルを構築する情報処理装置の設置位置に依存することなく、所望の場所にて推定処理を行うこともできる。
【0110】
その他の実施の形態
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。例えば、学習用データに含まれる財務諸表の内容及び項目(勘定科目)や、属性情報の項目(例えば、業種や事業所の所在地など)は、得られた項目の全てであってもよい、必要に応じて選択された一部の項目が含まれてもよいことは、言うまでもない。
【0111】
上述の実施の形態にかかる情報処理装置が実行する処理は、ASIC(Application Specific Integrated Circuit)を含む半導体処理装置を用いて実現されてもよい。また、これらの処理は、少なくとも1つのプロセッサ(e.g. マイクロプロセッサ、CPU、GPU、MPU、DSP(Digital Signal Processor))を含むコンピュータシステムにプログラムを実行させることによって実現されてもよい。具体的には、これらの送信信号処理又は受信信号処理に関するアルゴリズムをコンピュータシステムに行わせるための命令群を含む1又は複数のプログラムを作成し、当該プログラムをコンピュータに供給すればよい。
【0112】
これらのプログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば光磁気ディスク)、CD-ROM(Read Only Memory)、CD-R、CD-R/W、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(random access memory))を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【符号の説明】
【0113】
1 クラスタリング処理部
2 クラスタ特徴量算出部
3 不正フラグ付与部
4 モデル構築部
5 テスト処理部
6 推定処理部
7 モデル格納部
11 CPU
12 ROM
13 RAM
14 バス
15 入出力インターフェイス
16 入力部
17 出力部
18 通信部
19 記憶部
20 ドライブ
21 磁気ディスク
22 光ディスク
23 フレキシブルディスク
24 半導体メモリ
30 ネットワーク
40 サーバ
100、101、200、201、210 情報処理装置
110 コンピュータ
CPR 企業データ
EDG エッジ情報
DAT 学習用データ
IN 入力データ
MD 学習済みモデル
UDH 不正履歴情報
【手続補正書】
【提出日】2022-06-03
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
多次元ベクトルで各企業の情報が表された各企業の財務諸表に含まれる複数の勘定科目の値を示す複数の変数、各企業の属性情報及び各企業が不正を行ったか否かを示す情報と、企業間の取引関係を示す情報と、が含まれる学習用データを読み込んで、1つのクラスタあたりに含まれるノード数が所定値以下になるようにクラスタリングし、各クラスタに対応するノードとノード間の取引関係を示すエッジとで構成されるネットワーク構造を取得するクラスタリング処理を行うクラスタリング処理部と、
前記クリスタリング処理後のデータに含まれる各クラスタに属する各ノードの特徴量を算出し、算出した特徴量に基づいて各クラスタの特徴量を算出する特徴量算出部と、
各クラスタに属するノードの前記不正を行ったか否かを示す情報に基づいて、当該クラスタに不正フラグを付与する不正フラグ付与部と、
前記不正フラグが付与されたデータを、前記特徴量を説明変数、前記不正フラグを目的変数として教師有り学習することで学習済みモデルを取得するモデル構築部と、を備える、
情報処理装置。
【請求項2】
各クラスタの特徴量は、当該クラスタの特徴量に統計量に基づいて算出される、
請求項1に記載の情報処理装置。
【請求項3】
前記統計量は、平均値、最大値、最小値又は中央値である、
請求項2に記載の情報処理装置。
【請求項4】
各ノードの特徴量は、
各ノードに対応する各企業のリスクスコアと、
各ノードの次数中心性と、
各ノードの固有ベクトル中心性と、
各ノードの前記リスクスコアと前記次数中心性との積と、
各ノードの前記固有ベクトル中心性と前記次数中心性との積と、
各ノードのクラスタ係数と、
各ノードから、各ノードとエッジで接続される2つ隣までのノードまでの範囲のネットワークにおいて算出する固有ベクトル中心性である局所固有ベクトル中心性と、
各ノードに隣接するノードの次数の総和と、を含む、
請求項1乃至3のいずれか一項に記載の情報処理装置。
【請求項5】
各クラスタの特徴量は、各ノードの前記リスクスコア、前記次数中心性、前記固有ベクトル中心性、前記リスクスコアと前記次数中心性との積、前記固有ベクトル中心性と前記次数中心性との積、前記クラスタ係数、前記局所固有ベクトル中心性及び前記次数の総和のそれぞれの統計量に基づいて算出される値と、
着目したクラスタに含まれるノードと前記着目したクラスタ以外のクラスタに含まれるノードとを接続するエッジの総数を、前記着目したクラスタ以外のクラスタに含まれるノードの総数で除した値であるグループ次数中心性と、を含む、
請求項4に記載の情報処理装置。
【請求項6】
前記モデル構築部は、前記不正フラグが付与されたデータに含まれるクラスタから、不正フラグが付されたクラスタを所定の割合で抽出し、不正フラグが付されていないクラスタを前記所定の割合でランダムに抽出したものを学習し、
前記学習済みモデルに、前記不正フラグが付与されたデータに含まれるクラスタから抽出されなかったクラスタからなるテストデータを投入して、取引不正の検出精度の評価指標を算出するテスト処理部をさらに備える、
請求項1乃至5のいずれか一項に記載の情報処理装置。
【請求項7】
前記クラスタリング処理部、前記特徴量算出部、前記不正フラグ付与部、前記モデル構築部及び前記テスト処理部による処理を、前記所定値を変えて複数回行うことで、複数の所定値に対応する複数の第1の評価指標を算出し、
前記テスト処理部は、前記複数の第1の評価指標に基づいて、前記所定値を決定する、
請求項6に記載の情報処理装置。
【請求項8】
1つの前記所定値について、前記モデル構築部及び前記テスト処理部による処理を複数回繰り返して複数の第2の評価指標を算出し、
前記テスト処理部は、前記複数の第2の評価指標の統計量を前記1つの所定値に対応する前記第2の評価指標として算出する、
請求項6に記載の情報処理装置。
【請求項9】
前記複数の第2の評価指標の統計量は、平均値、最大値、最小値又は中央値である、
請求項8に記載の情報処理装置。
【請求項10】
多次元ベクトルで各企業の情報が表された各企業の財務諸表に含まれる複数の勘定科目の値を示す複数の変数、各企業の属性情報及び企業間の取引関係を示す情報と、が含まれる入力データを読み込み、前記入力データを前記学習済みモデルに入力して、前記入力データに対応する企業が不正を行ったか否かを推定する推定処理部をさらに備える、
請求項1乃至9のいずれか一項に記載の情報処理装置。
【請求項11】
クラスタリング処理部が、多次元ベクトルで各企業の情報が表された各企業の財務諸表に含まれる複数の勘定科目の値を示す複数の変数、各企業の属性情報及び各企業が不正を行ったか否かを示す情報と、企業間の取引関係を示す情報と、が含まれる学習用データを読み込んで、1つのクラスタあたりに含まれるノード数が所定値以下になるようにクラスタリングし、各クラスタに対応するノードとノード間の取引関係を示すエッジとで構成されるネットワーク構造を取得するクラスタリング処理を行い、
特徴量算出部が、前記クリスタリング処理後のデータに含まれる各クラスタに属する各ノードの特徴量を算出し、算出した特徴量に基づいて各クラスタの特徴量を算出し、
不正フラグ付与部が、各クラスタに属するノードの前記不正を行ったか否かを示す情報に基づいて、当該クラスタに不正フラグを付与し、
モデル構築部が、前記不正フラグが付与されたデータを学習用データとして、前記特徴量を説明変数、前記不正フラグを目的変数として教師有り学習することで学習済みモデルを取得する、
情報処理方法。
【請求項12】
各企業の財務諸表に含まれる複数の勘定科目の値を示す複数の変数と、各企業が不正を行ったか否かを示す情報と、を成分とする多次元ベクトルで各企業の情報が表され、複数の企業に対応する複数の前記多次元ベクトルを含む企業データと、前記複数の企業の取引関係を示す情報と、を含む入力データを読み込んで、1つのクラスタあたりに含まれるノード数が所定値以下になるようにクラスタリングし、各クラスタに対応するノードとノード間の取引関係を示すエッジとで構成されるネットワーク構造を取得するクラスタリング処理と、
特徴量算出部が、前記クリスタリング処理後のデータに含まれる各クラスタに属する各ノードの特徴量を算出し、算出した特徴量に基づいて各クラスタの特徴量を算出する処理と、
不正フラグ付与部が、各クラスタに属するノードの前記不正を行ったか否かを示す情報に基づいて、当該クラスタに不正フラグを付与する処理と、
モデル構築部が、前記不正フラグが付与されたデータを学習用データとして、前記特徴量を説明変数、前記不正フラグを目的変数として教師有り学習することで学習済みモデルを取得する処理と、をコンピュータに実行させる、
プログラム。
【請求項13】
多次元ベクトルで各企業の情報が表された各企業の財務諸表に含まれる複数の勘定科目の値を示す複数の変数、各企業の属性情報及び各企業が不正を行ったか否かを示す情報と、企業間の取引関係を示す情報と、が含まれる学習用データを読み込んで、1つのクラスタあたりに含まれるノード数が所定値以下になるようにクラスタリングし、各クラスタに対応するノードとノード間の取引関係を示すエッジとで構成されるネットワーク構造を取得するクラスタリング処理を行うクラスタリング処理部と、前記クリスタリング処理後のデータに含まれる各クラスタに属する各ノードの特徴量を算出し、算出した特徴量に基づいて各クラスタの特徴量を算出する特徴量算出部と、各クラスタに属するノードの前記不正を行ったか否かを示す情報に基づいて、当該クラスタに不正フラグを付与する不正フラグ付与部と、前記不正フラグが付与されたデータを、前記特徴量を説明変数、前記不正フラグを目的変数として教師有り学習することで学習済みモデルを取得するモデル構築部と、を備える、モデル構築装置によって取得された前記モデルを保持するモデル格納部と、
多次元ベクトルで各企業の情報が表された各企業の財務諸表に含まれる複数の勘定科目の値を示す複数の変数、各企業の属性情報及び企業間の取引関係を示す情報と、が含まれる入力データを読み込み、前記入力データを前記学習済みモデルに入力して、前記入力データに対応する企業が不正を行ったか否かを推定する推定処理部と、を備える、
情報処理装置。