文書の誤り推論処理プログラム,処理装置および処理方法
技術分野
[0001] 本発明は,項目要素をタグ付き構造化言語によって記述する文書の処理技術に関 する。より詳しくは,例えば XBRL (extensible Business Reporting Language)で記述 された文書間の項目要素の不整合の原因となる誤りを推論する処理に関する。
背景技術
[0002] XBRLは,財務 '経営'投資などの様々な用途に使用する財務 ·会計上の情報 (以 下,財務情報という)を記述する XML (extensible Markup Language)ベースの言語 である。 XBRLは,財務諸表,内部会計報告書などの財務情報の記述に適している
[0003] XBRLでは,財務'会計上の個々の概念 (例えば「売上高」, 「売上原価」など)を構 成要素として定義したタクソノミスキーマ (タクソノミ本体)と,表示処理や演算処理な どの処理ごとに定義された構成要素間をリンク付けたリンクベース (リンク情報)とを用 いることによって,概念の全体像を定義できるようにしている。タクソノミスキーマとリン クベースとをまとめてタクソノミ文書と呼ばれる。
[0004] タクソノミ文書にもとづいてインスタンス文書が作成される。インスタンス文書は,各 項目要素に実際の入力値が設定されたコンテキストを少なくとも 1つ以上含む。インス タンス文書によって,所定の財務情報が取り扱われる。
[0005] XBRLは,国際組織である XBRL Internationalによって標準化規定が定められ ている (非特許文献 1参照)。
[0006] 図 24を用いて,財務情報を扱う XBRL文書処理システムを説明する。 XBRL文書 処理システムは, XBRL文書をもとに財務報告書を作成,編集,表示,印刷する XB RL文書処理装置 1, XBRL文書が格納された XBRL文書記憶部 2,および財務報 告書を表示または印刷によって出力する出力装置 3を備える。
[0007] XBRL文書記憶部 2には,財務情報を記述するため XBRL文書として,タクソノミス キーマ 21,表示リンクベース 22,計算リンクベース 23,定義リンクベース 24,ラベルリ
ンクベース 25,参照リンクベース 26,インスタンス 28が格納されている。
[0008] タクソノミスキーマ 21は,タクソノミ本体であって,財務情報を記述するためにインス タンス 28で使用される語彙 (項目の要素名や属性など)の定義情報である。具体的 には,財務情報で使用される勘定科目など,インスタンス 28で使用される項目要素 の名前や属性などが定義される。
[0009] 表示リンクベース 22は,インスタンス 28の項目要素間の表示処理における階層関 係や表示順序などの設定情報である。
[0010] 計算リンクベース 23は,インスタンス 28の項目要素間の集計処理における階層関 係,参照関係,データチェックなどの設定情報である。
[0011] 定義リンクベース 24は,インスタンス 28の項目要素間の階層関係 (親子関係)など の論理的関係を示す情報である。
[0012] ラベルリンクベース 25は,インスタンス 28の項目要素名を表示する場合のラベル情 報である。なお,ラベル情報は, 日本語,英語など多言語に対応するものである。ま た,データ入力 'インスタンス作成時のインストラクション情報などが含まれていてもよ い。
[0013] 参照リンクベース 26は,インスタンス 28の項目要素の根拠条文,関連法規,取り扱
V、情報などの参照情報である。
[0014] インスタンス 28は,タクソノミスキーマ 21にもとづいて,例えば,財務報告書に必要 な項目要素とその入力値が記述されたコンテキストを含む XML文書である。
[0015] XBRL文書処理装置 1は,所定の財務情報について,タクソノミスキーマ 21をもとに インスタンス 28を作成'保存する。また, XBRL文書記憶部 2からインスタンス 28を口 ードし,表示リンクベース 22の設定情報にもとづいてインスタンス 28の内容を出力装 置 3へ出力(表示または印刷)する。
非特許文献 1: http://www.xbrl-jp.Org/download/XBRLFACTBOOK_ver.7.l.pdf 発明の開示
発明が解決しょうとする課題
[0016] XBRL文書では,財務情報の概念である項目をタクソノミスキーマ 21によって定義 するとともに,財務諸表を扱うために,財務情報の表示や計算における項目間の階
層関係や参照関係をリンクベース 22〜26として定義している。
[0017] XBRL文書処理装置 1は,タクソノミスキーマ 21,リンクベース 22〜26を,それぞれ 別々に作成'編集することができる。また,財務情報の実際のデータは,インスタンス 28へ入力値として与えられる。これによつて,財務情報をさまざまな形式の報告書と して出力したり,データを再利用したりすることができる。
[0018] しかし,リンクベース 22〜26,インスタンス 28は,それぞれ別々に扱われることから ,相互の項目要素の関係が不整合となる場合がある。例えば,計算リンクベース 23 の設定にもとづいて計算処理した計算結果と,インスタンス 28の対応する項目に設 定された入力値とがー致しな 、場合がある。
[0019] 従来では,このような不整合が生じた場合に,人間が,インスタンス 28の出力結果と 計算リンクベース 23との突き合わせ作業を行って不整合の原因を検出していた。
[0020] しかし, XBRL文書のインスタンス 28には,必要な項目要素とその入力値が設定さ れて 、るだけであって,項目要素間の階層関係を示す情報は設定されて 、な 、。
[0021] さらに,インスタンス文書が出力(表示または印刷)される場合の項目要素の項目名 や項目要素間の階層関係と,インスタンス文書の項目要素の各入力値が演算処理さ れる場合の項目要素の階層関係とは,必ずしも対応しない。すなわち,表示処理に おける項目要素の構成を示す表示ルールベースと,演算処理における項目要素の 構成を示す計算ルールベースとは,その処理における項目要素の階層構造が設定 されるため, 2つのルールベース間で項目要素が直接関連付けられることがない。そ のため,インスタンス文書と計算ルールベースとの間で,項目要素の設定情報の整 合性を検出する作業に多大な労力が費やされていた。
[0022] 本発明は,例えば XBRL (extensible Business Reporting Language)のように,項目 要素をタグ付き構造化言語によって記述された文書につ!、て,項目要素の定義情報 にもとづいて作成された実体データに設定されている入力値と,別個に設定された 各項目要素間のリンク情報にもとづく処理結果との不整合を検出し,不整合の原因と なった誤り推論結果を表示する処理装置および処理方法およびそのプログラムを提 供することである。
課題を解決するための手段
[0023] 本発明は,項目要素をタグ付き構造ィ匕言語として定義したタクソノミスキーマと,前 記タクソノミスキーマに定義された項目要素に入力値が格納されたコンテキストを含 むインスタンス文書と,前記インスタンス文書の項目要素同士の表示処理上の階層 構造を含む表示リンクベースと,前記インスタンス文書の項目要素同士の演算処理 上の参照関係および階層構造を含む計算リンクベースとを記憶する文書データ記憶 部を備えるコンピュータに, 1)前記計算リンクベースの階層構造にもとづいて前記ィ ンスタンス文書の項目要素の入力値を計算し,前記計算値と,前記表示リンクベース の階層構造にもとづいて前記計算値の項目要素に対応する前記インスタンス文書の 入力値とを比較し,前記計算値および前記入力値との不整合を検出する不整合検 出処理と, 2)前記不整合が検出された計算値の項目要素が設定されて 、る前記計 算リンクベースの計算ツリー構造を特定し,前記不整合が検出された入力値の項目 要素が設定されている前記表示リンクベースの表示ツリー構造を特定し,前記計算ッ リー構造と前記表示ツリー構造のそれぞれに設定されている項目要素同士を比較し ,前記計算ツリー構造と前記表示ツリー構造の一方のみに設定され,かつ前記入力 値と前記計算値との差の絶対値に一致する入力値を持つ項目要素が存在する場合 に,当該項目要素の過不足を前記不整合の誤りとして推論する誤り推論処理とを, 実行させる文書の誤り推論処理プログラムである。
[0024] 本発明のプログラムによって,前記コンピュータは,以下のように作用する。
[0025] まず,文書データ記憶部に記憶された計算リンクベースの階層構造にもとづいてィ ンスタンス文書の項目要素の入力値を計算する。そして,表示リンクベースの階層構 造にもとづいてこの計算値の項目要素に対応するインスタンス文書の入力値を取り 出し,計算値と入力値とを比較する。計算値および入力値が一致しなければ不整合 を検出する。
[0026] そして,計算リンクベースをもとに,不整合が検出された計算値の項目要素が設定 されている計算ツリー構造を特定する。さらに,表示リンクベースをもとに,不整合が 検出された入力値の項目要素が設定されている表示ツリー構造を特定する。そして, 計算ツリー構造と表示ツリー構造のそれぞれに設定されている項目要素同士を比較 する。計算ツリー構造と表示ツリー構造の一方のみに設定され,力 入力値と計算
値との差の絶対値に一致する入力値を持つインスタンス文書の項目要素が存在する 場合に,当該項目要素の過不足を不整合の誤りとして推論する。
[0027] さらに,誤り推論処理の誤り推論結果として,誤りと推論された項目要素に関する情 報を出力する。
[0028] さらに,本発明は,各処理手段によって上記の処理を実行する処理装置である。ま た,本発明は,コンピュータが,各処理過程において上記の処理を実行する処理方 法である。
[0029] 本発明のプログラムは,コンピュータが読み取り可能な,可搬媒体メモリ,半導体メ モリ,ハードディスクなどの適当な記録媒体に格納することができる。また,これらの記 録媒体に記録して提供され,または,通信インタフェースを介して種々の通信網を利 用した送受信により提供される。
発明の効果
[0030] XBRL文書のインスタンス文書の項目要素の入力値と,計算リンクベースの設定に もとづく演算処理結果とは一致しなければならず,整合性を検証する必要がある。
[0031] 本発明によれば, XBRL文書を構成する計算リンクベースの計算結果と,インスタ ンス文書の入力値とが異なる原因を自動的に推論し,ユーザに表示することができる
[0032] これにより,従来では人手によって行われていた計算リンクベースの検証処理と不 整合の原因となる誤り推論処理という作業の労力負担を大幅に軽減することができる
[0033] よって, XBRLの専門家以外の者でも, XBRL文書の不具合を容易に検出すること ができるようになるため,各企業などの財務情報を XBRLで作成する場合の負荷を 軽減することができる。
図面の簡単な説明
[0034] [図 1]本発明の実施例における構成例を示す図である。
[図 2]タクソノミスキーマの例を示す図である。
[図 3]表示リンクベースの例を示す図である。
[図 4]表示リンクベースに定義された項目要素間の関係および表示の例を示す図で
ある。
[図 5]計算リンクベースの例を示す図である。
圆 6]計算リンクベースに定義された項目要素間の関係および表示の例を示す図で ある。
[図 7]ラベルリンクベースの例を示す図である。
[図 8]インスタンスの例を示す図である。
[図 9]インスタンスの要素の入力値の例を示す図である。
[図 10]インスタンスの出力例を示す図である。
[図 11]タクソノミスキーマ,表示リンクベース,計算リンクベース, およびラベルリンクべ ースのデータ構造例を示す図である。
圆 12]第 1推論ロジックを説明するための図である。
圆 13]第 2推論ロジックを説明するための図である。
圆 14]第 3推論ロジックを説明するための図(その 1)である。
圆 15]第 3推論ロジックを説明するための図(その 2)である。
圆 16]第 4推論ロジックを説明するための図である。
圆 17]誤り推論リストの表示例を示す図である。
[図 18]本発明の全体処理のフローチャートである。
[図 19]第 1推論ロジックによる処理のフローチャートである。
[図 20]第 2推論ロジックによる処理のフローチャートである。
[図 21]第 3推論ロジックによる処理のフローチャートである。
[図 22]第 3推論ロジックによる処理のフローチャートである。
[図 23]第 4推論ロジックによる処理のフローチャートである。
[図 24]XBRL文書処理システムの例を示す図である。
符号の説明
1 XBRL文書処理装置
10 文書の誤り推論処理装置
11 XBRL文書取得部
13 誤り推論部
15 推論結果表示処理部
17 XBRL文書保存部
2 XBRL文書記憶部
21 タクソノミスキーマ
22 表示リンクベース
23 計算リンクベース
24 定義リンクベース
25 ラベルリンクベース
26 参照リンクベース
28 インスタンス
3 出力装置
発明を実施するための最良の形態
[0036] 本発明を実施するための最良の形態を,以下の実施例を用いて説明する。
[0037] 本実施例において,本発明の文書の誤り推論処理装置は,財務報告書の XBRL 文書が作成'保存されている場合に,インスタンス文書に記述された会計上の項目( 項目要素)と,会計項目の集計処理の内容を示す計算リンクベースと間の不整合を 検証し,不整合の原因となった誤りと推論して,ユーザにその誤りの箇所および内容 を出力する。
[0038] 図 1に,本発明の実施例における構成例を示す。
文書の誤り推論処理装置 10は, XBRL文書取得部 11,誤り推論部 13,推論結果表 示処理部 15, XBRL文書保存部 17, XBRL文書記憶部 2,および出力装置 3を備え る。
[0039] 本実施例では,文書の誤り推論処理装置 10は,図 24に示す XBRL文書処理装置 1の内部に構成されるものとする。なお,文書の誤り推論処理装置 10は,図 24に示 す XBRL文書処理装置 1とは独立して構成され, XBRL文書処理システムと連携す るようにしてちょい。
[0040] XBRL文書記憶部 2は,タクソノミスキーマ 21,表示リンクベース 22,計算リンクべ ース 23,ラベルリンクベース 25,インスタンス 28を記憶する記憶手段である。
[0041] タクソノミスキーマ 21は,財務報告書などの財務情報を記述するためにインスタンス 28で使用される会計項目を示す要素と,要素名,識別値,賃借勘定,期間,抽象な どの属性とを定義した情報である。
[0042] 図 2に,タクソノミスキーマ 21の例を示す。タクソノミスキーマ 21の sample, xsdにお ヽて,会十項目を示す element要素に ίま, name, type, id, balance, periodType , abstractなどの属性が記述される。また,他のリンクベースへの参照情報が記述さ れる。また,別のタクソノミスキーマ, XBRL準拠のスキーマの定義情報などが, impo rt文によって記述される。
[0043] 表示リンクベース 22は,インスタンス 28の会計項目を表示または印刷(以下,単に 表示とする)する際の項目要素間の階層関係や表示順序などを設定した情報である
[0044] 図 3に,表示リンクベース 22の例を示す。表示リンクベース 22の sample— present ation. xmlにおいて, link要素には,表示内容を示す属性として, type, href, labe 1, titleなどの属性力 表示時の項目の構成を示す presentationArc属性として, ar c, from, to, orderなどの属性が記述される。
[0045] なお,各財務諸表の表示形式は, presentationLink要素の role属性によって区 分され,それぞれが異なるツリー構造として記述される。また,貸借対照表,損益計 算書,キャッシュフロー計算書などの設定情報が,当年度分'前年度分などの年度ご と,また,連結 '個別などごとに必要に応じて記述される。
[0046] 図 4 (A)は,表示リンクベース 22に定義された一部の要素間の関係を示す図であ る。図 4 (A)中,楕円は要素を,楕円同士を連結する直線は arcを,楕円内の文字列 はラベルを示す。図 4 (A)に示す関係では,要素" ABC— Title"が,要素" A", "B" , "C", "ABC"の順で参照することを意味する。要素" ABC— Title"は"ェ一'ビ一' シー見出し"と,要素" A"は"エー"と,要素" B"は"ビー"と,要素" C"は"シー"と,要 素" ABC"は"ェ一'ビ一'シー"とラベル表示される。なお,要素" ABC— Title"は, a bstract属性力 S"true",他の要素は abstract属性力 S"false"である。
[0047] 図 4 (B)は,図 4 (A)に示す表示リンクベース 22が出力装置 3に表示された場合の 例を示す図である。
[0048] 計算リンクベース 23は,インスタンス 28の会計項目の集計に用いる要素間の参照 関係,階層構造,集計内容 (加減演算),データチェックなどを設定した情報である。
[0049] 図 5に,計算リンクベース 23の例を示す。計算リンクベース 23の" sample— calcul ation. xml"には, link要素には, loc属性として, type, href, label, titleなどの属 性が,演算時の参照関係や内容を示す calculationArc属性として, arc, from, to , order, weightなどの属性が記述される。
[0050] なお,各財務諸表の集計内容は, "calculationLink"要素の" role"属性によって 区分され,それぞれが異なるツリー構造として記述される。
[0051] 図 6 (A)は,計算リンクベース 23に定義された一部の要素間の関係を示す図であ る。図 6 (A)中,楕円は要素を,楕円同士を連結する直線は arcを,楕円内の文字列 はラベルを示す。図 6 (A)に示す関係では,要素" ABC"が,要素" A", "B", "C"の 順で, weight属性 = "1"で参照し,各要素の値を積算することを意味する。 weight 属性 = "1"は,参照した要素の値を 1. 0倍で加算することを示す。したがって,以下 のような演算が行われる。
[0052] ABC=A * 1. 0+A * l . 0 + C * l . 0
要素" ABC"は"ェ一'ビ一'シー合計"と,要素" A"は"エー"と,要素" B"は"ビー" と,要素" C"は"シー"とラベル表示される。 図 6 (B)は,図 6 (A)に示す計算リンクべ ース 23が出力装置 3に表示された場合の例を示す図である。
[0053] ラベルリンクベース 25は,インスタンス 28の会計項目の表示用ラベル情報である。
[0054] 図 7に,ラベルリンクベース 25の例を示す。ラベルリンクベース 25は,表示リンクべ ース 22の要素が表示される際に使用される表示ラベル名(会計科目名)が記述され る。図 4 (B)および図 6 (B)に示すように,要素" ABC— Title", "A", "B", "C", "A BC"は設定された表示ラベルを用いて表示または印刷される。
[0055] インスタンス 28は,タクソノミスキーマ 21の定義情報を参照して作成された,財務報 告書に必要な会計項目とその入力値が記述された XML文書である。
[0056] 図 8に,インスタンス 28の例を示す。インスタンス 28には,要素ごとに,値の単位, 値などがコンテキスト単位で記述される。コンテキストは,一般的に会計年度を区別 するために利用され,インスタンス 28は,複数のコンテキストを含むことができる。
[0057] 図 9に,インスタンス 28に, 2005年度, 2006年度の会計年度の当月および累積の コンテキストにおいて,要素に設定されている入力値の例を示す。
[0058] 図 10に,インスタンス 28の出力例を示す。図 10は,インスタンス 28が図 9に示すコ ンテキストおよび入力値を持つ場合に,表示リンクベース 22の設定に従って帳票形 式で表示された表示例である。
[0059] 図 11に,タクソノミスキーマ 21,表示リンクベース 22,計算リンクベース 23,および ラベルリンクベース 25のデータ構造例を示す。図 11に示すように,表示リンクベース 22およびラベルリンクベース 25の要素はタクソノミスキーマ 21を参照する。
[0060] XBRL文書取得部 11は, XBRL文書記憶部 2から必要なデータを取得する処理手 段である。
[0061] 誤り推論部 13は,計算リンクベース 23の階層構造にもとづいてインスタンス 28の要 素の入力値を計算し,計算値と,表示リンクベース 22の階層構造にもとづいて計算 値の項目要素に対応するインスタンス 28の入力値とを比較し,計算値および入力値 との不整合を検出する不整合検出処理と,不整合が検出された計算値の要素が設 定されている計算リンクベース 23の計算ツリー構造を特定し,不整合が検出された入 力値の項目要素が設定されている表示リンクベース 22の表示ツリー構造を特定し, 計算ツリー構造と表示ツリー構造のそれぞれに設定されている要素同士を比較し, 計算ツリー構造と表示ツリー構造の一方のみに設定され,力つ入力値と計算値との 差の絶対値に一致する入力値を持つ要素が存在する場合に,当該要素の過不足を 不整合の誤りとして推論する誤り推論処理とを実行する処理手段である。
[0062] 誤り推論部 13は,表示ツリー構造に設定された要素が,計算ツリー構造に存在せ ず,かつ,入力値から計算値を減算した差が,インスタンス 28の要素のうちの前記計 算ツリー構造に存在されていないものの入力値と一致する場合に,計算リンクベース 23の要素不足の誤りと推論する。
[0063] また,誤り推論部 13は,計算ツリー構造に設定された項目要素が,表示ツリー構造 に存在せず,かつ,入力値力も計算値を減算した差が,インスタンス 28の要素のうち 前記表示ツリー構造に存在されて 、な 、ものの入力値の符号を反対にした値と一致 する場合に,計算リンクベース 23の要素過剰の誤りと推論する。
[0064] また,誤り推論部 13は,インスタンス 28に,同一の項目要素の組で構成されるべき 2以上のコンテキストが含まれている場合に,計算ツリー構造に設定された要素であ つて,かつ,第 1のコンテキストに当該要素であって入力値力も計算値を減算した差と 一致する入力値を持つものが設定され,かつ,第 2のコンテキストに当該要素であつ て入力値力 計算値を減算した差と同じ値であって符号が反対の入力値を持つもの が設定されて ヽな ヽ場合に,当該要素のインスタンスの誤りと推論する。
[0065] 推論結果表示処理部 15は,誤り推論部 13の推論結果を,出力装置 3に出力する 処理手段である。出力装置 3は,表示装置や印刷装置などである。
[0066] XBRL文書保存部 17は,出力装置 3に表示された推論結果を確認したユーザが 入力したデータによって更新された計算リンクベース 23,インスタンス 28を, XBRL 文書記憶部 2に保存する処理手段である。
[0067] 以下に,誤り推論部 13で実行される推論ロジックを,より詳細に説明する。
[0068] 〔第 1推論ロジック〕
第 1推論ロジックでは,表示リンクベース 22に設定されている要素が,対応する計 算リンクベース 23に設定されていない場合に,その要素は,計算リンクベース 23の 設定漏れの可能性が高いと考え,計算リンクベース 23の要素不足の誤りと推論する 。これにより,計算リンクベース 23に不足する要素が存在することが推論できる。
[0069] 誤り推論部 13は,タクソノミスキーマ 21を参照して,表示リンクベース 22に設定され ている要素を抽出する。
[0070] そして,表示リンクベース 22から抽出された各要素が,計算リンクベース 23に設定 されて 、るかを調べる。表示リンクベース 22の抽出された要素が計算リンクベース 23 の要素中にない場合に,その要素を設定漏れの要素として第 1推論結果リストに追 加する。なお,第 1推論結果リストは,後述する第 3推論ロジックで使用される。
[0071] 図 12に示す内容の表示リンクベース 22および計算リンクベース 23が記憶されてい る場合を仮定する。表示リンクベース 22の要素「営業外収益」 (abstract = "true") の下位の要素として設定されている要素「賃貸料収入」(abstract = "false")を抽出 する。なお,図 2のタクソノミスキーマ 21の例では, abstract = "false"は省略されて いる。要素「賃貸料収入」(abstract = "false")が計算リンクベース 23の要素中にな
い場合に,この要素「賃貸料収入」が, "計算リンクに要素不足"として第 1推論結果リ ストに追カ卩される。
[0072] 〔第 2推論ロジック〕
第 2推論ロジックは,計算リンクベース 23に設定されている要素が,対応する表示リ ンクベース 22に設定されていない場合に,その要素は,計算リンクベース 23に誤つ て設定された可能性が高いと考え,計算リンクベース 23の要素過剰の誤りと推論す る。これにより,計算リンクベース 23に過剰な要素が存在することが推論できる。
[0073] 誤り推論部 13は,タクソノミスキーマ 21を参照して,計算リンクベース 23に設定され ている要素を抽出する。
[0074] そして,計算リンクベース 23から抽出された各要素を表示リンクベース 22に設定さ れて 、るかを調べる。計算リンクベース 23の抽出された要素が表示リンクベース 22の 要素中にな 、場合に,その要素を過剰設定の要素として第 2推論結果リストに追カロ する。なお,第 2推論結果リストは,後述する第 3推論ロジックで使用される。
[0075] 図 13に示す内容の表示リンクベース 22および計算リンクベース 23が記憶されてい る場合を仮定する。計算リンクベース 23の要素「営業外収益」(abstract = "true") の下位の要素として設定されている要素「賃貸料収入」(abstract = "false")が表示 リンクベース 22の要素中にない場合に,この要素「賃貸料収入」が"計算リンクに過 剰要素"として第 2推論結果リストに追加される。
[0076] 〔第 3推論ロジック〕
同じインスタンス 28に対する表示リンクベース 22と計算リンクベース 23は,要素の 階層構造が異なるために,要素同士を直接比較することが困難である。第 3推論ロジ ックでは,第 1推論ロジックおよび第 2推論ロジックの処理結果を用いて,不足または 過剰な要素の位置を推論する。
[0077] 誤り推論部 13は,計算リンクベース 23の設定情報にしたがって,インスタンス 28の 各要素の入力値を用いて計算を行う。この計算値とインスタンス 28の該当する要素( 集計項目)に設定された入力値とを比較する。
[0078] 計算値と入力値とがー致しな 、値があれば,入力値から計算値を減算した値 (差) と同じ値を持つ入力値が設定され,かつ親の要素名がー致するインスタンス 28の入
力値の要素,すなわち対応するツリー構造に設定されている要素,を特定する。
[0079] 特定した要素が,計算リンクベース 23の対応するツリー構造に設定されていれば, 第 1推論結果リストまたは第 2推論結果リストを参照する。第 1推論結果リストまたは第 2推論結果リストに特定した要素が存在すれば,この要素について,要素名,親の要 素名,入力値,事象 (計算リンクベースに要素不足または要素過剰)などの情報を, 誤り推論リストに追加する。
[0080] 図 14に,第 3推論ロジックの処理の例を示す。
[0081] インスタンス 28で, 「有価証券利息」(入力値 = 100) , 「有価証券売却益」(入力値
= 300) , 「賃貸料収入」(入力値 = 200) , 「営業外収益計」(入力値 = 600)の 4つの 要素が設定されているとする。一方,計算リンクベース 23では,要素「営業外収益計 」には,子要素「有価証券利息」 (weight= l) ,要素「有価証券売却益」 (weight= l )を参照するように設定されて 、るとする。
[0082] 計算リンクベース 23の設定情報にしたがって,インスタンス 28の入力値が計算され る。
[0083] 「営業外収益計」の計算値 =「有価証券利息」入力値 100 * 1. 0+「有価証券売却 益」入力値 300水 1. 0=400
一方, 「営業外収益計」の入力値 = 600である。入力値 (600)≠計算値 (400)で あって,その差 = 200となる。
[0084] インスタンス 28の入力値と計算値とがー致しなかったので,表示リンクベース 22を もとに,インスタンス 28に設定された要素から,親の要素 =「営業外収益計」である要 素として, 「有価証券利息」, 「有価証券売却益」,および「賃貸料収入」が抽出され, さらに,各要素に設定された入力値が,計算値と入力値との差と等しい要素「賃貸料 収入」が特定される。
[0085] さらに,要素「賃貸料収入」が,計算リンクベース 23の入力値を計算したツリー構造 に設定されて ヽるかをチェックする。
[0086] 特定された要素が該当するツリー構造に設定されていなければ,第 1推論結果リス トを参照する。既に表示リンクベース 22と計算リンクベース 23との設定情報が比較さ れて,第 1推論結果リストには,計算リンクベース 23の要素「賃貸料収入」が追加され
ている。したがって,抽出された要素「賃貸料収入」は,第 1推論結果リストに存在す るので,この要素の不足が誤りであると推論される。そして,要素「賃貸料収入」,親 の要素(「営業外収益計」),コンテキスト(「Context2006」),入力値(200) ,事象( 計算リンクベースに要素不足)などの情報が,誤り推論リストに追加される。
[0087] 図 15に,第 3推論ロジックの処理の例を示す。
[0088] インスタンス 28で,コンテキスト「Context2006」には, 「有価証券利息」(入力値 = 100) , 「有価証券売却益」(入力値 = 300) , 「賃貸料収入」(入力値 = 200) , 「営業 外収益計」(入力値 =400)の 4つの要素が設定されて 、るとする。
[0089] 一方,計算リンクベース 23では,要素「営業外収益計」には,要素「有価証券利息」
(weight= l) ,要素「有価証券売却益」 (weight= l) ,要素「賃貸料収入」 (weight = 1)を参照するように設定されて 、るとする。
[0090] 計算リンクベース 23の設定情報にしたがって,インスタンス 28の入力値が計算され る。
[0091] 「営業外収益計」の計算値
=「有価証券利息」入力値 100 * 1. 0+「有価証券売却益」入力値 300 * 1. 0+ Γ 賃貸料収入」入力値 200 * 1. 0
= 600
一方, 「営業外収益計」の入力値 =400である。入力値 (400)≠計算値 (600)で あって,その差 =— 200となる。
[0092] インスタンス 28の入力値と計算値とがー致しなかったので,表示リンクベース 22を もとに,インスタンス 28に設定された要素から,親の要素 =「営業外収益計」である要 素として, 「有価証券利息」, 「有価証券売却益」が抽出され,さらに,各要素に設定さ れた入力値が,計算値と入力値との差と等 U、要素「賃貸料収入」が特定される。
[0093] さらに,要素「賃貸料収入」が,表示リンクベース 22の入力値を計算したツリー構造 に設定されて ヽるかをチェックする。
[0094] 要素「賃貸料収入」が,該当するツリー構造に設定されていれば,第 2推論結果リス トを参照する。既に表示リンクベース 22と計算リンクベース 23との設定情報が比較さ れて,第 2推論結果リストには,計算リンクベース 23の要素「賃貸料収入」が追加され
ている。したがって,要素「賃貸料収入」は,第 2推論結果リストに存在するので,この 要素の過剰が誤りであると推論される。そして,要素「賃貸料収入」,親の要素(「営業 外収益計」),コンテキスト(「Context2006」),入力値(200) ,事象(計算リンクべ一 スに要素過剰)などの情報が誤り推論リストに追加される。
[0095] 〔第 4推論ロジック〕
第 4推論ロジックでは,インスタンス 28に,同じ項目要素が設定された複数のコンテ キスト Cx, Cyが含まれている場合に実行される。コンテキスト Cxに,計算リンクべ一 ス 23に設定されて!、る要素であって同一のコンテキスト Cyに設定されて!ヽな 、要素 が存在し,かつ,コンテキスト Cxに存在する要素の入力値が,計算値と入力値との差 と一致するときは,この要素を,誤ったコンテキストに設定された要素であると推論す る。
[0096] 誤り推論部 13は,あるコンテキスト Cxについて計算値と入力値とがー致しない場合 に,その差と同じ値を持つ入力値が設定され,かつ設定されたコンテキスト Cx以外の コンテキスト Cyの要素であるものを特定する。さらに,特定した要素が計算リンクべ一 ス 23の該当するツリー構造に設定され,コンテキスト Cxに存在していなければ,イン スタンスの要素のコンテキストの誤りと推論する。
[0097] 図 16に,第 4推論ロジックの処理の例を示す。
[0098] インスタンス 28で,コンテキスト「Context2006」には, 「有価証券利息」(入力値 = 100) , 「有価証券売却益」(入力値 = 300) , 「営業外収益計」(入力値 =600)の 3 つの要素が設定されているとする。また,コンテキスト「Context2005」には, 「有価 証券利息」(入力値 = 200) , 「有価証券売却益」(入力値 = 300) , 「賃貸料収入」( 入力値 = 200) , 「営業外収益計」(入力値 = 500)の 4つの要素が設定されていると する。
[0099] 一方,計算リンクベース 23では,要素「営業外収益計」には,要素「有価証券利息」
(weight= l) ,要素「有価証券売却益」 (weight= l) ,要素「賃貸料収入」 (weight = 1)を参照するように設定されて 、るとする。
[0100] 計算リンクベース 23の設定情報にしたがって,インスタンス 28の入力値が計算され る。
[0101] コンテキスト「Context2006」の「営業外収益計」の計算値
=「有価証券利息」入力値 100 * 1. 0+「有価証券売却益」入力値 300 * 1. 0 =400
一方, 「営業外収益計」の入力値 =600である。入力値 (600)≠計算値( 400)であって,その差 = 200となる。
[0102] インスタンス 28の入力値と計算値とがー致しな力つたので,入力値と計算値の差(2 00)と一致する入力値を持つ他の要素であって,かつ自コンテキストに存在せず,他 のコンテキストに存在する要素を特定する。
[0103] インスタンス 28に設定された要素から,親の要素 =「営業外収益計」である要素とし て, 「有価証券利息」, 「有価証券売却益」,および「賃貸料収入」が抽出され,さらに ,前記の条件に合致する要素として,コンテキスト「Context2005」の「賃貸料収入」 が特定される。
[0104] さらに,特定された要素「賃貸料収入」が,計算リンクベース 23の入力値を計算した ツリー構造に設定されて 、るかをチェックする。
[0105] 特定された要素が該当するツリー構造に設定されているので,この要素がコンテキ スト違いの誤りであると推論される。そして,要素「賃貸料収入」,親の要素(「営業外 収益計」),コンテキスト(「Context2005」),入力値(200) ,事象(コンテキストの誤 り)などの情報が誤り推論リストに追加される。
[0106] 前記の推論処理が終了すると,推論結果表示処理部 15は,誤り推論リストを出力 装置 3へ出力する。
[0107] 図 17に,誤り推論リストの出力例を示す。誤り推論リストは,推論された誤りの事象 を示すエラー事象,誤りが存在するファイル名を示す拡張リンクロール名,誤りの原 因となった要素の親要素名,要素名,コンテキスト,および入力値,推論された誤りの 説明などの項目で構成される。
[0108] 図 18〜図 23に,本発明の処理フローチャートを示す。
[0109] 図 18は,本発明の全体処理のフローチャートである。
[0110] XBRL文書取得部 11は, XBRL文書記憶部 2から,タクソノミスキーマ 21,表示リン クベース 22,計算リンクベース 23,インスタンス 28をロードする(ステップ Sl)。
[0111] 誤り推論部 13は,計算リンクベース 23の設定情報をもとに,インスタンス 28の入力 値を用いて計算し (ステップ S2) ,その計算値 (Xc)と該当する入力値 (Xi)とを比較 する (ステップ S3)。計算値 (Xc)と入力値 (Xi)に差異があれば (ステップ S4の YES) ,誤り推論処理を行う(ステップ S 5)。
[0112] 誤り推論部 13は,前述の第 1推論ロジック〜第 4推論ロジックを実行する。これらの 推論ロジックは,組み合わせて実行される。
[0113] そして,推論結果表示処理部 15は,推論結果として誤り推論リストを出力装置 3〖こ 表示する (ステップ S6)。表示された誤り推論リストにもとづいて計算リンクベース 23ま たはインスタンス 28が修正される(ステップ S7)。
[0114] その後,計算値 (Xc)と入力値 (Xi)に差異がなければ (ステップ S4の NO) , XBRL 文書保存部 17は,計算リンクベース 23またはインスタンス 28を XBRL文書記憶部 2 に保存する (ステップ S8)。
[0115] 図 19は,第 1推論ロジックによる処理のフローチャートである。
[0116] 誤り推論部 13は,処理していない表示リンクベース 22に拡張リンクロール (ファイル )が存在するかを調べ (ステップ S511) ,拡張リンクロールが存在すれば (ステップ S5 11の YES) ,拡張リンクロールの値 (R)を取得する(ステップ S 512)。
[0117] さらに,処理中の拡張リンクロールに,処理していない要素が存在するかを調べ (ス テツプ S513) ,処理していない要素が存在すれば (ステップ S513の YES) ,要素 )を選択する(ステップ S514)。処理して 、な 、要素が存在しなければ (ステップ S51 3の NO) ,ステップ S511の処理へ戻る。
[0118] 要素(E)の abstract属性が" true"であるかを調べ(ステップ S515) , "true"でなけ れば (ステップ S515の NO) ,計算リンクベース 23において, Rの拡張リンクロールの ツリー構造中に要素 (E)が含まれるかを調べる (ステップ S516)。要素 (E)が含まれ ていなければ (ステップ S516の NO) ,第 1推論結果リストに,要素 ),拡張リンク口 ール (R) ,エラー事象 (計算リンクに要素不足)を格納し (ステップ S517) ,ステップ S 513の処理へ戻る。
[0119] 一方,要素(E)の abstract属性が" true"である力 (ステップ S515の YES) ,または , Rの拡張リンクロールのッリ一構造中に要素(E)が含まれて 、れば (ステップ S 516
の YES) ,ステップ S513の処理へ戻る。
[0120] そして,処理していない表示リンクベース 22に拡張リンクロールが存在しなければ( ステップ S511の NO) ,第 1推論ロジックを終了する。
[0121] 図 20は,第 2推論ロジックによる処理のフローチャートである。
[0122] 誤り推論部 13は,処理していない計算リンクベース 23に拡張リンクロールが存在す るかを調べ(ステップ S521) ,拡張リンクロールが存在すれば (ステップ S521の YES ) ,拡張リンクロールの値 (R)を取得する(ステップ S522)。
[0123] さらに,処理中の拡張リンクロールに,処理していない要素が存在するかを調べ (ス テツプ S523) ,処理していない要素が存在すれば (ステップ S523の YES) ,要素 )を選択する(ステップ S524)。処理して ヽな 、要素が存在しなければ (ステップ S52 3の NO) ,ステップ S521の処理へ戻る。
[0124] 表示リンクベース 22にお!/、て, Rの拡張リンクロールのツリー構造中に要素(E)が 含まれるかを調べる(ステップ S525)。要素(E)が含まれていなければ (ステップ S52 5の NO) ,第 2推論結果リストに,要素 ),拡張リンクロール (R) ,エラー事象 (計算 リンクに要素過剰)を格納し (ステップ S526) ,ステップ S523の処理へ戻る。一方, R の拡張リンクロールのツリー構造中に要素(E)が含まれて!/、れば (ステップ S525の Y ES) ,ステップ S523の処理へ戻る。
[0125] そして,処理していない計算リンクベース 23に拡張リンクロールが存在しなければ( ステップ S521の NO) ,第 2推論ロジックを終了する。
[0126] 図 21および図 22は,第 3推論ロジックによる処理のフローチャートである。
[0127] 誤り推論部 13は,処理していないインスタンス 28の入力値 (XI) (要素の親要素(Ei )とする)が存在するかを調べる。この処理を,全てのインスタンス 28の値について繰 り返す (ステップ S531)。
[0128] インスタンス 28の入力値 (Xi)が存在すれば (ステップ S531の YES) ,さらに,入力 値 (Xi)と計算値 (Xc)とが等しくな 、かを調べる (ステップ S532)。入力値 (Xi)と計算 値 (Xc)とが等しければ (ステップ S532の NO) ,ステップ S531の処理へ戻る。入力 値 (Xi)と計算値 (Xc)とが等しくなければ (ステップ S532の YES) ,入力値 (Xi)のコ ンテキスト(Ci)を取得し (ステップ S533) ,入力値と計算値との差 (Xd=Xi— Xc)を
計算する(ステップ S 534)。
[0129] さらに,処理していないインスタンス 28の入力値 (Xx)が存在するかを調べる。この 処理を,全てのインスタンス 28の値について繰り返す (ステップ S535)。インスタンス 28の入力値 (Xx)が存在すれば (ステップ S535の YES) ,以下のいずれかの条件 く Xdと Xxの balance属性が同じ,かつ, Xd=Xx,かつ,コンテキスト =Ciの要素( Ed)が存在する > ,または,
く Xdと Xxの balance属性が異なる,かつ, —Xd=Xx,かつ,コンテキスト =Ciの 要素 (Ed)が存在する >
を満たすかを判定する (ステップ S536)。
[0130] 前記条件を満たす場合に (ステップ Sステップ S536の YES) ,さらに,要素 (Ed)が ,計算値を算出した計算リンクベース 23の拡張リンクロールのツリー構造に設定され ていないかを調べる(ステップ S537)。要素(Ed)力 該当する拡張リンクロールのッ リー構造に設定されていなければ (ステップ S537の YES) ,さらに,第 1推論結果リス トに, "要素名(Ed) ,拡張リンクロール (R) ,エラー事象 (計算リンクに要素不足)"が 存在するかを調べる(ステップ S538)。
[0131] 第 1推論処理結果一覧に,該当するデータが存在すれば (ステップ S538の YES) ,誤り推論リストに, "親要素 (Ei) ,要素 (Ed) ,拡張リンクロール (R) ,コンテキスト (Ci ) ,入力値 (Xx) ,エラー事象 (計算リンクに要素不足) "を格納する (ステップ S539)。
[0132] 一方,ステップ S536の判定条件を満たさな!/、か (ステップ S536の NO) ,または, 要素 (Ed)が該当するツリー構造に設定されているか (ステップ S537の NO) ,または ,第 1推論結果リストに,該当するデータが存在しなければ (ステップ S538の NO) , ステップ S535の処理へ戻る。
[0133] また,インスタンス 28の入力値 (Xx)が存在しなければ (ステップ S535の NO) ,処 理して 、な 、インスタンス 28の入力値 (Xy) (要素の親要素(Ei)とする)が存在する かを調べる。この処理を,全てのインスタンス 28の値について繰り返す (ステップ S53 10)。
[0134] 入力値 (Xy)が存在すれば (ステップ S5310の YES) ,以下のいずれかの条件
く Xdと Xyの balance属性が同じ,かつ, — Xd=Xy,かつ,コンテキスト =Ciの要
素 (Ed)が存在する > ,または,
く Xdと Xyの balance属性が異なる,かつ, Xd=Xy,かつ,コンテキスト =Ciの要 素(Ed)が存在する >
を満たすかを判定する (ステップ S5311)。
[0135] 前記条件を満たす場合に (ステップ S5311の YES) ,さらに,要素 (Ed)が,計算値 を算出した計算リンクベース 23の拡張リンクロールのツリー構造に設定されているか を調べる (ステップ S5312)。要素 (Ed)が,該当する拡張リンクロールのツリー構造に 設定されていれば (ステップ S5312の YES) ,さらに,第 2推論結果リストに, "要素名 (Ed) ,拡張リンクロール (R) ,エラー事象 (計算リンクに要素過剰) "が存在するかを 調べる(ステップ S 5313)。
[0136] 第 2推論結果リストに,該当するデータが存在すれば (ステップ S5313の YES) ,誤 り推論リストに, "親要素 (Ei) ,要素 (Ed) ,拡張リンクロール (R) ,コンテキスト (Ci) , 入力値 (Xy) ,エラー事象 (計算リンクに要素過剰) "を格納する (ステップ S5314)。
[0137] 一方,ステップ S5311の判定条件を満たさないか (ステップ S5311の NO) ,または ,要素 (Ed)が該当するツリー構造に設定されていないか (ステップ S5312の NO) , または,第 2推論結果リストに,該当するデータが存在しなければ (ステップ S5313の NO) ,ステップ S5310の処理へ戻る。
[0138] そして,処理して!/、な!/ヽインスタンス 28の入力値 (Xy)が存在しなければ (ステップ S 5310の NO) ,ステップ S531の処理へ戻る。
[0139] さらに,ステップ S531において,処理していないインスタンス 28の入力値 (Xi)が存 在しなければ (ステップ S531の NO) ,第 3推論ロジックを終了する。
[0140] 図 23は,第 4推論ロジックによる処理のフローチャートである。
[0141] 誤り推論部 13は,処理していないインスタンス 28の入力値 (Xi) (要素の親要素(Ei )とする)が存在するかを調べる。この処理を,全てのインスタンス 28の値について繰 り返す (ステップ S541)。
[0142] インスタンス 28の入力値 (Xi)が存在すれば (ステップ S541の YES) ,さらに,入力 値 (Xi)と計算値 (Xc)とが等しくな 、かを調べる (ステップ S542)。入力値 (Xi)と計算 値 (Xc)とが等しければ (ステップ S542の NO) ,ステップ S541の処理へ戻る。入力
値 (Xi)と計算値 (Xc)とが等しくなければ (ステップ S542の YES) ,入力値 (Xi)のコ ンテキスト(Ci)を取得し (ステップ S543) ,入力値と計算値との差 (Xd=Xi— Xc)を 計算する (ステップ S 544)。
[0143] さらに,処理していないインスタンス 28の入力値 (Xx)が存在するかを調べる。この 処理を,全てのインスタンス 28の値について繰り返す (ステップ S545)。処理してい ないインスタンス 28の入力値 (Xx)が存在すれば (ステップ S545の YES) ,以下のい ずれかの条件
く Xdと Xxの balance属性が同じ,かつ, Xd=Xx,かつ,コンテキスト≠Ciの要素(
Ed)が存在する > ,または,
く Xdと Xxの balance属性が異なる,かつ, —Xd=Xx,かつ,コンテキスト≠Ciの 要素 (Ed)が存在する >
を満たすかを判定する (ステップ S546)。
[0144] 前記条件を満たす場合に (ステップ S 546の YES) ,さらに,要素 (Ed)が,計算値 を算出した計算リンクベース 23の拡張リンクロールのツリー構造に設定されているか を調べる (ステップ S547)。要素 (Ed)が,該当する拡張リンクロールのツリー構造に 設定されていれば (ステップ S 547の YES) ,誤り推論リストに, "親要素 (Ei) ,要素(
Ed) ,拡張リンクロール (R) ,コンテキスト(Ci) ,入力値 (Xx) ,エラー事象 (コンテキス トの誤り) "を格納する(ステップ S548)。
[0145] 一方,処理して!/ヽな ヽインスタンス 28の入力値 (Xx)が存在しなければ (ステップ S
545の NO) ,ステップ S541の処理へ戻る。
[0146] さらに,処理していないインスタンス 28の入力値 (Xi)が存在しなければ (ステップ S
541の NO) ,第 4推論ロジックの処理を終了する。
[0147] 以上,本発明をその実施の形態により説明したが,本発明はその主旨の範囲にお いて種々の変形が可能であることは当然である。
産業上の利用可能性
[0148] 本発明は,官公庁や金融機関などへ財務報告提出するために, XBRLを利用した 財務諸表などの財務情報の報告文書作成処理に利用することが可能である。