(58)【調査した分野】(Int.Cl.,DB名)
前記第1勘定科目選択部は、複数の勘定科目のそれぞれについて、勘定科目と前記複数の分割文字列に対応する複数のスコアに基づいて導出した確度を比較することによって、勘定科目を選択する、請求項1又は2に記載の文字列処理装置。
前記第1勘定科目選択部は、勘定科目と前記複数の分割文字列に対応する複数のスコア同士を乗算することによって前記確度を導出する、請求項3に記載の文字列処理装置。
前記文字列と勘定科目に対応付けられている前記スコアは、当該文字列が取引文字列に含まれている場合に当該勘定科目が当該取引文字列に対応する取引に対して仕訳された回数に基づいて決定される、請求項1から4のいずれか一項に記載の文字列処理装置。
前記文字列と勘定科目に対応付けられている前記スコアは、当該文字列が取引文字列に含まれている場合に当該勘定科目が当該取引文字列に対応する取引に対して仕訳された回数に予め定められた値を加算した値を、当該文字列が取引文字列に含まれている場合に複数の勘定科目のそれぞれが当該取引文字列に対応する取引に対して仕訳された回数のそれぞれに前記予め定められた値を加算した値を合計した合計値で除算することによって決定される、請求項5に記載の文字列処理装置。
前記スコアは、取引文字列と当該取引文字列に対応する取引が仕訳された勘定科目とを含む教師データに基づいて決定される、請求項1から6のいずれか一項に記載の文字列処理装置。
前記スコアは、特定のユーザの会計情報における取引文字列と当該取引文字列に対応する取引が仕訳された勘定科目とを含む特定ユーザ教師データに基づいて決定される、請求項7に記載の文字列処理装置。
前記第1勘定科目選択部は、前記複数の分割文字列と、複数の文字列のそれぞれに対して前記特定ユーザ教師データを用いて決定された複数の勘定科目毎のスコアが対応付けられている特定ユーザスコアデータに基づいて勘定科目を選択する、請求項8に記載の文字列処理装置。
複数の文字列のそれぞれに対して、複数のユーザの会計情報における取引文字列と当該取引文字列に対応する取引が仕訳された勘定科目とを含む複数ユーザ教師データを用いて決定された複数の勘定科目毎のスコアが対応付けられている複数ユーザスコアデータに基づいて勘定科目を選択する第2勘定科目選択部と、
複数の勘定科目のそれぞれについて、前記特定ユーザスコアデータを用いて、勘定科目と前記複数の分割文字列に対応する複数のスコアに基づいて導出された複数の確度のうち最も高い確度が予め定められた閾値より高い場合、前記第1勘定科目選択部によって選択された勘定科目を出力し、当該予め定められた閾値より低い場合、前記第2勘定科目選択部によって選択された勘定科目を出力させる出力制御部と
を備える、請求項9に記載の文字列処理装置。
前記第1勘定科目選択部は、取引の種類毎の複数のスコアデータのうち、前記文字列取得部が取得した取引文字列に対応する取引の種類に対応するスコアデータを用いて、前記勘定科目を選択する、請求項1から10のいずれか一項に記載の文字列処理装置。
前記第1勘定科目選択部は、前記文字列分割部によって分割された2からM文字の分割文字列から、前記分割文字列の長さと、前記取引文字列における前記分割文字列の位置とに基づいて抽出した分割文字列と、前記スコアデータとに基づいて、勘定科目を選択する、請求項1から11のいずれか一項に記載の文字列処理装置。
前記第1勘定科目選択部は、前記文字列分割部によって分割された2からM文字の分割文字列のうち、特定のユーザの会計情報における取引文字列と当該取引文字列に対応する取引が仕訳された勘定科目とを含む特定ユーザ教師データに含まれる分割文字列から、前記分割文字列の長さと、前記取引文字列における前記分割文字列の位置とに基づいて抽出した分割文字列と、前記スコアデータとに基づいて、勘定科目を選択する、請求項12に記載の文字列処理装置。
【発明を実施するための形態】
【0010】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【0011】
図1は、会計情報管理装置100の通信環境の一例を概略的に示す。会計情報管理装置100は、取引を行う事業者等の会計情報及び取引情報を管理する。
【0012】
会計情報管理装置100は、複数のユーザ350の会計情報及び取引情報を管理してよい。ユーザ350は、取引を行う事業者等であってよい。ユーザ350は、通信端末300を用いて、会計情報管理装置100が管理する会計情報及び取引情報にアクセス可能であってよい。通信端末300は、通信可能な端末であれば任意の端末であってよい。例えば、通信端末300は、スマートフォン等の携帯電話、タブレット端末、及びPC(Personal Computer)等である。通信端末300を用いたアクセスは、例えば、アプリケーションベースで行われる。通信端末300を用いたアクセスは、Webベースで行われてもよい。
【0013】
会計情報管理装置100は、例えば、ユーザ350によって通信端末300を用いて入力された会計情報及び取引情報を、ネットワーク10を介して通信端末300から収集する。ネットワーク10は、例えば、インターネットを含む。ネットワーク10は、携帯電話網を含んでもよい。ネットワーク10は、LAN(Local Area Network)等の専用網を含んでもよい。
【0014】
また、会計情報管理装置100は、例えば、ユーザ350の取引情報を管理して提供するサービスを行う取引情報提供装置200からネットワーク10を介して、ユーザ350の取引情報を収集する。取引情報提供装置200は、例えば、ユーザ350の銀行口座の情報を管理して提供する。また、取引情報提供装置200は、例えば、ユーザ350のクレジットカード明細情報を管理して提供する。また、取引情報提供装置200は、例えば、ユーザ350のレジ情報を管理して提供する。取引情報提供装置200は、その他任意の情報を管理して提供してよい。
【0015】
本実施形態に係る会計情報管理装置100は、いわゆる自動仕訳処理を実行してよい。会計情報管理装置100は、例えば、取引情報を分析して取引情報に対応する勘定科目を推測する科目推論機能を有する。会計情報管理装置100は、文字列処理装置の一例であってよい。
【0016】
会計情報管理装置100は、複数種類の科目推論の方法を実行可能であってよい。複数種類の科目推論の方法としては、ユーザ350によって登録された登録データを用いて仕訳を行う方法(仕訳ルール推論と記載する場合がある)、ユーザ350以外の任意の主体によって登録された登録データを用いて仕訳を行う方法(任意ルール推論と記載する場合がある)、ユーザ350の勘定科目の選択傾向から統計的に勘定科目を選択する方法(個人別推論と記載する場合がある)、及び会計情報管理装置100の管理対象である複数のユーザ350の勘定科目の選択傾向から統計的に勘定科目を選択する方法(全体推論と記載する場合がある)等が例示できる。
【0017】
仕訳ルール推論における登録データは、例えば、文字列と勘定科目とを対応付けるデータである。会計情報管理装置100は、例えば、仕訳対象の摘要に含まれる文字列が登録データに登録されている場合、登録データにおける当該文字列に対応する勘定科目を推論結果とする。
【0018】
任意ルール推論における登録データも、仕訳ルール推論における登録データと同様であってよい。任意ルール推論における登録データは、例えば、会計情報管理装置100を提供する提供主体によって生成される。任意ルール推論における登録データは、会計事務所等によって生成されてもよい。
【0019】
個人別推論では、例えば、ユーザ350が実際に仕訳をした仕訳データを教師データとして、取引情報と勘定科目との複数の組み合わせを統計的に処理することによって学習した学習データが用いられる。学習データは、複数の文字列のそれぞれに対して複数の勘定科目毎のスコアが対応付けられているスコアデータであってよい。ユーザ350が実際に仕訳をした仕訳データは、例えば、確定申告が完了した後のデータ及び決算後のデータ等であってよい。また、ユーザ350が実際に仕訳をした仕訳データは、例えば、取引情報に対して推論した勘定科目の候補をユーザ350に提示し、ユーザ350によって選択された勘定科目と当該取引情報とを含んでもよい。会計情報管理装置100は、例えば、仕訳対象の取引情報に含まれる取引の内容を表す取引文字列を2からM文字毎(Mは取引文字列の文字数)に分割し、2からM文字の分割文字列のうちの複数の分割文字列とスコアデータとに基づいて勘定科目を選択する。会計情報管理装置100は、仕訳対象の取引情報に含まれる取引の内容を表す取引文字列を1からM文字毎(Mは取引文字列の文字数)に分割し、1からM文字の分割文字列のうちの複数の分割文字列とスコアデータとに基づいて勘定科目を選択してもよい。
【0020】
全体推論では、例えば、複数のユーザ350が実際に仕訳をした仕訳データを教師データとして、取引情報と勘定科目との複数の組み合わせを統計的に処理することによって学習した学習データが用いられる。学習データは、複数の文字列のそれぞれに対して複数の勘定科目毎のスコアが対応付けられているスコアデータであってよい。ユーザ350が実際に仕訳をした仕訳データは、例えば、確定申告が完了した後のデータ及び決算後のデータ等であってよい。複数のユーザ350が実際に仕訳をした仕訳データは、例えば、取引情報に対して推論した勘定科目の候補をユーザ350に提示し、ユーザ350によって選択された勘定科目と当該取引情報とを含んでもよい。会計情報管理装置100は、例えば、仕訳対象の取引情報に含まれる取引文字列を2からM文字毎(Mは取引文字列の文字数)に分割し、2からM文字の分割文字列のうちの複数の分割文字列とスコアデータとに基づいて勘定科目を選択する。会計情報管理装置100は、仕訳対象の取引情報に含まれる取引文字列を1からM文字毎(Mは取引文字列の文字数)に分割し、1からM文字の分割文字列のうちの複数の分割文字列とスコアデータとに基づいて勘定科目を選択してもよい。
【0021】
図2は、会計情報管理装置100による処理の流れの一例を概略的に示す。
図2に示す処理は、会計情報管理装置100が仕訳対象の取引情報を取得して、取引情報に対して適切な勘定科目を推測して出力する処理の流れを示す。
図2に示す各処理は、会計情報管理装置100が備える制御部が主体となって実行される。
【0022】
ステップ(ステップをSと省略して記載する場合がある。)102では、会計情報管理装置100が、仕訳対象の取引情報を取得する。S104では、会計情報管理装置100が、仕訳ルール推論によって仕訳可能か否かを判定する。会計情報管理装置100は、例えば、取引情報に登録データの文字列が含まれる場合、仕訳可と判定し、含まれない場合、仕訳否と判定する。仕訳可と判定した場合、S106に進み、仕訳否と判定した場合、S108に進む。S106では、会計情報管理装置100が、仕訳ルール推論による仕訳結果を出力する。
【0023】
S108では、会計情報管理装置100が、個人別推論を実行する。S110では、会計情報管理装置100が、個人別推論による推論の確度を示す推論確度が予め定められた閾値より高いか否かを判定する。高いと判定した場合、S112に進み、高くないと判定した場合、S114に進む。S112では、会計情報管理装置100が、個人別推論結果を出力する。S114では、会計情報管理装置100が、全体推論を実行する。S116では、会計情報管理装置100が、全体推論結果を出力する。
【0024】
図3は、スコアデータ140の一例を概略的に示す。スコアデータ140において、複数の文字列のそれぞれに対して複数の勘定科目のスコア144が対応付けられている。ここでは、説明の簡略化のため、勘定科目が「売上」、「売上返品」、「雑収入」の3つのみである場合を例に挙げて説明する。
【0025】
図3に示す例では、文字列「売上」に対して、勘定科目「売上」、「売上返品」、「雑収入」のそれぞれのスコアとして、「61」、「6」、「33」が対応付けられている。例えば、文字列「売上」に対する勘定科目「売上」のスコア144は、「売上」が取引文字列に含まれている場合に、勘定科目「売上」が当該取引文字列に対応する取引に対して仕訳された回数に基づいて決定されてよい。例えば、文字列「売上」に対する勘定科目「売上」のスコア144は、「売上」が取引文字列に含まれている場合に、勘定科目「売上」が当該取引文字列に対応する取引に対して仕訳された回数141に、スムージング値(S値と記載する場合がある。)142を加算した加算値143に基づいて決定される。
【0026】
図3では、S値142が「1」である場合を例示している。
図3に示す例において、文字列「売上」に対する勘定科目「売上」のスコア144は、文字列「売上」と勘定科目「売上」に対応する加算値の「11」を、文字列「売上」と複数の勘定科目のそれぞれに対応する加算値を合計した合計値「11+1+6=18」で除算した値に基づいて「61」に決定されている。同様に、文字列「売上」に対する勘定科目「売上返品」のスコア144は「6」に決定されており、文字列「売上」に対する勘定科目「雑収入」のスコア144は「33」に決定されている。文字列「売上」に対応するスコア144の合計が「100」になるように調整されてよい。
【0027】
図4は、取引文字列152及び分割文字列154の一例を概略的に示す。
図4では、取引文字列152が「売上高現金」である場合の例を示す。
【0028】
会計情報管理装置100は、「売上高現金」を、2から「売上高現金」の文字数である5文字毎に分割する。すなわち、会計情報管理装置100は、「売上高現金」を、2−gram、3−gram、4−gram、5−gramに分割する。
【0029】
2−gramは、「売上」、「上高」、「高現」、「現金」となる。3−gramは、「売上高」、「上高現」、「高現金」となる。4−gramは、「売上高現」、「上高現金」となる。5−gramは、「売上高現金」となる。
【0030】
図5は、取引文字列152が「売上高現金」である場合に、
図3に示すスコアデータ140を用いて導出された推論確度162の一例を概略的に示す。会計情報管理装置100は、「売上高現金」の分割文字列である「売上」、「上高」、「高現」、「現金」、「売上高」、「上高現」、「高現金」、「売上高現」、「上高現金」、及び「売上高現金」のそれぞれについて、スコアデータ140を参照して、複数の勘定科目に対応するスコア161を特定する。
【0031】
そして、会計情報管理装置100は、複数の勘定科目のそれぞれについて、複数の分割文字列に対応するスコア161を乗算した結果の値に基づいて推論確度162を決定する。会計情報管理装置100は、複数の勘定科目のそれぞれの乗算結果の合計が100となるように調整した値を推論確度162としてよい。
【0032】
例えば、会計情報管理装置100は、勘定科目「売上」及び分割文字列「売上」に対応するスコア161と、勘定科目「売上」及び分割文字列「上高」に対応するスコア161と、勘定科目「売上」及び分割文字列「高現」に対応するスコア161と、勘定科目「売上」及び分割文字列「現金」に対応するスコア161と、勘定科目「売上」及び分割文字列「売上高」に対応するスコア161と、勘定科目「売上」及び分割文字列「上高現」に対応するスコア161と、勘定科目「売上」及び分割文字列「高現金」に対応するスコア161と、勘定科目「売上」及び分割文字列「売上高現」に対応するスコア161と、勘定科目「売上」及び分割文字列「上高現金」に対応するスコア161と、勘定科目「売上」及び分割文字列「売上高現金」に対応するスコア161とを乗算した乗算結果を算出する。同様に、勘定科目「売上返品」における乗算結果と、勘定科目「雑収入」における乗算結果とを算出する。そして、乗算結果の合計が100となるように各乗算結果を調整した結果を、各勘定科目の推論確度162とする。
【0033】
図5に示す例では、勘定科目「売上」、「売上返品」、「雑収入」のうち、「売上返品」の推論確度162が最も高いことから、会計情報管理装置100は、取引文字列「売上高現金」の推論結果として「売上返品」を出力する。なお、スコアデータ140を生成する際にS値142を用いない場合、回数141が0だと、スコア144が0になる。ある勘定科目について推論確度162を算出する場合に、複数の分割文字列のうち1つでもスコア144が0であると、推論確度162が0になってしまう。これに対して、本実施形態に係るスコアデータ140によれば、S値142を用いるので、回数141が0である場合でも、スコア144が0にならず、このような問題を回避することができる。
【0034】
上記実施形態では、すべての分割文字列のスコアを乗算することによって推論確度162を算出する例を挙げて説明したが、これに限らない。すべての分割文字列のうち、一部の分割文字列のスコアを乗算することによって、推論確度162を算出してもよい。すべての分割文字列から一部の分割文字列を選択する手法としては、任意の手法を採用することができる。例えば、利用者等から文字数の指定を受け付けて、指定された文字数の分割文字列を選択する手法を採用してよい。また、例えば、利用者等から、乗算の対象とする分割文字列の選択を受け付ける手法を採用してもよい。
【0035】
会計情報管理装置100は、すべての分割文字列のうち、仕訳を行うのに必要な情報(特徴量)が含まれていないノイズ文字列を、推論確度162の算出及び勘定科目の選択処理の対象から除外してもよい。例えば、会計情報管理装置100は、条件なしの勘定科目の確率分布と、対象文字列が出現した際の勘定科目の確率分布との距離(近似度)を算出して、当該距離が予め定められた閾値以下である場合に、対象から除外する。
【0036】
会計情報管理装置100は、例えば、対象文字列がノイズ文字列であるか否かを、カルバック・ライブラー情報量に基づいて判断する。会計情報管理装置100は、対象文字列のカルバック・ライブラー情報量が、予め定められた閾値以下である場合、対象文字列をノイズ文字列と判断してよい。会計情報管理装置100は、下記の数式1によって、対象文字列のカルバック・ライブラー情報量を算出してよい。
【0038】
数式1のうち、iを勘定科目i(勘定科目の数)とし、P(i)を対象文字列が出現した際の勘定科目iの選択確率とし、Q(i)を勘定科目iの選択確率とする。
【0039】
図6及び
図7は、会計情報管理装置100によるノイズ文字列の判断手法の一例を説明するための説明図である。ここでは、全体推論の場合の判断手法について主に説明する。
【0040】
仕訳回数テーブル182は、過去の全データを対象とした、勘定科目毎の仕訳回数を示す。仕訳回数テーブル184は、過去の全データを対象とした、対象文字列が出現した際の勘定科目毎の仕訳回数を示す。ここでは、説明の簡略化のため、勘定科目が「売上」、「売上返品」、「雑収入」の3つのみである場合を例に挙げて説明する。この場合、数式1におけるiは「売上」「売上返品」「雑収入」の3つとなる。
【0041】
Q(売上)は5/8(=10,000/16,000)となる。Q(売上返品)は、1/16(=1,000/16,000)となる。Q(雑収入)は、5/16(5,000/16,000)となる。対象文字列を「現金」とした場合、P(売上)は5/8(100/160)となり、P(売上返品)は1/16(=10/160)となり、P(雑収入)は5/16(=50/160)となる。これらを数式1に当てはめて計算すると「0」となり、「現金」がノイズ文字列であると判断できる。
【0042】
対象文字列を条件として与えた場合と与えなかった場合とで選択確率にほとんど差がない場合、その対象文字列は特徴量を持っていないといえることから、ノイズ文字列であると判断できる。値が「0」に近いほど確率に差がないといえる。対象文字列のカルバック・ライブラー情報量と比較する予め定められた閾値は、このことに基づいて任意に設定されてよい。例えば、予め定められた閾値は、会計情報管理装置100の管理者等によって設定されてよい。
【0043】
図6及び
図7では、全体推論の場合の判断手法について主に説明した。個人別推論の場合は、特定ユーザの全データを対象とした勘定科目毎の仕訳回数と、特定ユーザの全データを対象とした、対象文字列が出現した際の勘定科目毎の仕訳回数とを用いることによって判断できる。
【0044】
図8は、会計情報管理装置100の機能構成の一例を概略的に示す。会計情報管理装置100は、情報収集部102、情報分析部104、スコアデータ格納部106、登録データ取得部112、登録データ格納部114、取引情報取得部122、文字列取得部124、仕訳処理部126、文字列分割部128、及び出力制御部130を備える。なお、会計情報管理装置100がこれらのすべての構成を備えることは必須とは限らない。
【0045】
情報収集部102は、各種情報を収集する。情報収集部102は、複数のユーザ350の会計情報を収集する。情報収集部102は、ユーザ350によって通信端末300を用いて入力された会計情報を収集してよい。情報収集部102は、会計情報管理装置100が複数のユーザ350毎に管理している会計情報を収集してもよい。
【0046】
また、情報収集部102は、複数のユーザ350の取引情報を収集する。情報収集部102は、ユーザ350によって通信端末300を用いて入力された取引情報を収集してよい。情報収集部102は、会計情報管理装置100が複数のユーザ350毎に管理している取引情報を収集してもよい。
【0047】
また、情報収集部102は、取引情報提供装置200から取引情報を収集してよい。情報収集部102は、複数の取引情報提供装置200から取引情報を収集してよい。情報収集部102は、取引情報の種類毎に識別して取引情報を管理してよい。例えば、情報収集部102は、複数の取引情報提供装置200毎に取引情報を収集し、識別して管理する。
【0048】
情報収集部102は、複数の取引情報のそれぞれについて、ユーザ350が実際に選択した勘定科目の情報を収集する。情報収集部102は、例えば、ユーザ350が実際に選択した勘定科目の情報を、ユーザ350の会計情報から収集する。また、情報収集部102は、ユーザ350が実際に選択した勘定科目の情報を通信端末300から受信してもよい。
【0049】
情報分析部104は、情報収集部102が収集した情報を教師データとして各種分析を実行する。情報分析部104は、情報収集部102が収集した情報を分析してスコアデータを生成してよい。情報分析部104は、複数の文字列のそれぞれに対して複数の勘定科目毎のスコアが対応付けられているスコアデータを生成してよい。情報分析部104は、文字列と勘定科目に対応付けられているスコアを、当該文字列が取引文字列に含まれている場合に当該勘定科目が当該取引文字列に対応する取引に対して仕訳された回数に基づいて決定してよい。
【0050】
情報分析部104は、文字列と勘定科目に対応付けられているスコアを、当該文字列が取引文字列に含まれている場合に当該勘定科目が当該取引文字列に対応する取引に対して仕訳された回数にS値142を加算した値と、当該文字列が取引文字列に含まれている場合に複数の勘定科目のそれぞれが当該取引文字列に対応する取引に対して仕訳された回数のそれぞれにS値142を加算した値を合計した合計値で除算することによって決定してよい。S値142は、予め定められた値の一例であってよい。
【0051】
情報分析部104は、S値142を任意に設定可能であってよい。情報分析部104は、例えば、様々なS値142で生成したスコアデータを用いた仕訳処理のシミュレートを実行した結果、最適値と判断された値に設定される。S値142としては、例えば、「1」、「0.8」、及び「0.5」等の値が設定される。
【0052】
情報分析部104は、個人別推論用のスコアデータを生成してよい。情報分析部104は、特定のユーザ350の個人別推論用のスコアデータを生成する場合、特定のユーザ350の会計情報における取引文字列と当該取引文字列に対応する取引が仕訳された勘定科目とを含む特定ユーザ教師データに基づいてスコアを決定してよい。
【0053】
情報分析部104は、全体推論用のスコアデータを生成してよい。情報分析部104は、全体推論用のスコアデータを生成する場合、複数のユーザ350の会計情報における取引文字列と当該取引文字列に対応する取引が仕訳された勘定科目とを含む複数ユーザ教師データに基づいてスコアを決定してよい。
【0054】
情報分析部104は、取引情報の種類毎にスコアデータを生成してもよい。情報分析部104は、取引情報の種類毎に、個人別推論用のスコアデータを生成してよい。情報分析部104は、取引情報の種類毎に、全体推論用のスコアデータを生成してよい。スコアデータ格納部106は、情報分析部104が生成したスコアデータを格納する。
【0055】
登録データ取得部112は、登録データを取得する。登録データ取得部112は、仕訳ルール推論用の登録データを取得してよい。登録データ取得部112は、例えば、ユーザ350によって通信端末300を用いて入力された登録データを通信端末300から受信する。
【0056】
また、登録データ取得部112は、任意ルール推論用の登録データを取得してよい。任意ルール推論用の登録データが会計情報管理装置100を提供する提供主体によって生成された場合、登録データ取得部112は、会計情報管理装置100に格納されている登録データを取得してよい。登録データ取得部112は、任意ルール用の登録データを生成した生成主体から、ネットワーク10を介して当該登録データを受信してもよい。登録データ格納部114は、登録データ取得部112が取得した登録データを格納する。
【0057】
取引情報取得部122は、仕訳対象の取引情報を取得する。取引情報取得部122は、例えば、ユーザ350の複数の取引情報のうち、ユーザ350によって指定された取引情報を取得する。また、取引情報取得部122は、例えば、ユーザ350の複数の取引情報を1つずつ順番に取得する。
【0058】
文字列取得部124は、取引情報取得部122が取得した取引情報に含まれる取引文字列を取得する。文字列取得部124は、例えば、取引情報に含まれる摘要を取引文字列として取得する。
【0059】
仕訳処理部126は、文字列取得部124が取得した取引文字列に対する仕訳処理を実行する。仕訳処理部126は、例えば、登録データ格納部114に格納されている仕訳ルール推論用の登録データを用いて、仕訳ルール推論を実行する。また、仕訳処理部126は、例えば、登録データ格納部114に格納されている任意ルール推論用の登録データを用いて、任意ルール推論を実行する。また、仕訳処理部126は、例えば、スコアデータ格納部106に格納されている個人別推論用のスコアデータを用いて、個人別推論を実行する。また、仕訳処理部126は、例えば、スコアデータ格納部106に格納されている全体推論用のスコアデータを用いて、全体推論を実行する。
【0060】
仕訳処理部126は、仕訳ルール推論、任意ルール推論、個人別推論、及び全体推論を段階的に実行してもよい。例えば、仕訳処理部126は、まず仕訳ルール推論を実行し、仕訳ルール推論を完了できない場合に、任意ルール推論を実行し、任意ルール推論を完了できない場合に、個人別推論を実行し、推論確度が予め定められた閾値より低い場合、全体推論を実行する。また、例えば、仕訳処理部126は、まず仕訳ルール推論を実行し、仕訳ルール推論を完了できない場合に、個人別推論を実行し、推論確度が予め定められた閾値より低い場合に、全体推論を実行する。
【0061】
仕訳処理部126は、予め定められた閾値を任意に設定可能であってよい。仕訳処理部126は、例えば、様々な閾値で仕訳処理を実行した結果を評価した結果、最適値と判断された値に設定される。閾値としては、例えば、「25」、「50」等が設定される。
【0062】
文字列分割部128は、文字列取得部124が取得した取引文字列を分割する。文字列分割部128は、例えば、仕訳処理部126によって個人別推論又は全体推論が実行される場合に、文字列取得部124が取得した取引文字列を分割する。文字列分割部128は、取引文字列を2からM文字毎(Mは取引文字列の文字数)に分割してよい。
【0063】
仕訳処理部126は、個人別推論を実行する場合、文字列分割部128によって分割された2からM文字の分割文字列のうちの複数の分割文字列と、ユーザ350に対応する個人別推論用のスコアデータとに基づいて、勘定科目を選択する。仕訳処理部126は、文字列分割部128によって分割されたすべての分割文字列を用いてもよく、また、すべての分割文字列のうちの一部の分割文字列を用いてもよい。例えば、仕訳処理部126は、すべての分割文字列のうち、仕訳を行うのに必要な情報(特徴量)が含まれていないノイズ文字列以外の複数の文字列を用いる。仕訳処理部126は、条件なしの勘定科目の確率分布と、対象文字列が出現した際の勘定科目の確率分布との距離(近似度)を算出して、当該距離が予め定められた閾値以下である場合に、ノイズ文字列を判断してよい。仕訳処理部126は、例えば、対象文字列がノイズ文字列であるか否かを、カルバック・ライブラー情報量に基づいて判断してよい。
【0064】
仕訳処理部126は、複数の勘定科目のそれぞれについて、勘定科目と複数の分割文字列に対応する複数のスコアに基づいて導出した確度を比較することによって、勘定科目を選択してよい。仕訳処理部126は、勘定科目と複数の分割文字列に対応する複数のスコア同士を乗算することによって確度を導出してよい。仕訳処理部126は、第1勘定科目選択部の一例であってよい。
【0065】
仕訳処理部126は、全体推論を実行する場合、文字列分割部128によって分割された2からM文字の分割文字列のうちの複数の分割文字列と、全体推論用のスコアデータとに基づいて、勘定科目を選択する。仕訳処理部126は、複数の勘定科目のそれぞれについて、勘定科目と複数の分割文字列に対応する複数のスコアに基づいて導出した確度を比較することによって、勘定科目を選択してよい。仕訳処理部126は、勘定科目と複数の分割文字列に対応する複数のスコア同士を乗算することによって確度を導出してよい。仕訳処理部126は、第2勘定科目選択部の一例であってよい。
【0066】
出力制御部130は、仕訳処理部126による仕訳処理の結果を出力させる。出力制御部130は、例えば、個人別推論によって導出された複数の確度のうち最も高い確度が予め定められた閾値より高い場合、個人別推論の結果の勘定科目を出力させ、当該予め定められた閾値より低い場合、全体推論の結果の勘定科目を出力させる。出力制御部130は、例えば、仕訳処理部126によって選択された勘定科目を通信端末300に表示出力させる。出力制御部130は、仕訳処理部126によって選択された勘定科目を会計情報管理装置100が備えるディスプレイに表示出力させてもよい。
【0067】
図9は、勘定科目の選択手法の他の一例を説明するための説明図である。仕訳処理部126は、個人別推論を実行する場合、文字列分割部128によって分割された2からM文字のすべての分割文字列のうち一部の分割文字列と、ユーザ350に対応する個人別推論用のスコアデータとに基づいて、勘定科目を選択してよい。
【0068】
仕訳処理部126は、例えばまず、文字列分割部128によって分割されたすべての分割文字列のうち、特定ユーザ教師データに含まれる分割文字列のみを抽出する。
図9は、取引文字列172が「売上高現金」であり、分割文字列174である「売上高現金」、「売上高現」、「上高現金」、「売上高」、「上高現」、「高現金」、「売上」、「上高」、「高現」、「現金」のうち、「売上高」、「上高現」、「売上」、「上高」、「高現」のみが抽出された状態を例示している。
【0069】
次に、仕訳処理部126は、抽出した分割文字列のうち、最もN−gramの値が大きい分割文字列を抽出する。最もN−gramの値が大きい分割文字列が複数存在する場合、仕訳処理部126は、取引文字列の中でより後ろに出現する分割文字列を抽出してよい。
図9に示す例では、仕訳処理部126は、「上高現」を抽出する。仕訳処理部126は、
図3に示すスコアデータ140の「上高現」に対応するスコア144を参照して、スコア144が最も高い勘定科目を選択する。仕訳処理部126は、当該スコア144を推論確度162としてよい。
【0070】
なお、仕訳処理部126は、抽出した分割文字列と、取引文字列172のうち、抽出した分割文字列に含まれなかった文字とに基づいて、勘定科目を選択してもよい。例えば、
図9に示す例においては、仕訳処理部126は、抽出した「上高現」と、取引文字列172のうち「上高現」に含まれなかった「売」「金」とに基づいて、勘定科目を選択する。具体例として、仕訳処理部126は、複数の勘定科目のそれぞれについて、「上高現」、「売」、「金」に対応するスコア161を乗算した結果の値に基づいて推論確度162を決定し、推論確度が最も高い勘定科目を選択する。
【0071】
上記実施形態では、文字列分割部128が、取引文字列を2からM文字毎に分割し、仕訳処理部126が2からM文字の分割文字列のうちの複数の分割文字列を用いる例を主に挙げて説明したが、これに限らない。文字列分割部128は、取引文字列を1からM文字毎に分割してよく、仕訳処理部126は、1からM文字の分割文字列のうちの複数の分割文字列を用いてもよい。
【0072】
図10は、会計情報管理装置100として機能するコンピュータ1000のハードウエア構成の一例を概略的に示す。本実施形態に係るコンピュータ1000は、ホストコントローラ1092により相互に接続されるCPU1010、RAM1030、及びグラフィックコントローラ1085を有するCPU周辺部と、入出力コントローラ1094によりホストコントローラ1092に接続されるROM1020、通信I/F1040、ハードディスクドライブ1050、DVDドライブ1070及び入出力チップ1080を有する入出力部を備える。
【0073】
CPU1010は、ROM1020及びRAM1030に格納されたプログラムに基づいて動作し、各部の制御を行う。グラフィックコントローラ1085は、CPU1010などがRAM1030内に設けたフレーム・バッファ上に生成する画像データを取得し、ディスプレイ1090上に表示させる。これに代えて、グラフィックコントローラ1085は、CPU1010などが生成する画像データを格納するフレーム・バッファを、内部に含んでもよい。
【0074】
通信I/F1040は、有線又は無線によりネットワークを介して他の装置と通信する。また、通信I/F1040は、通信を行うハードウエアとして機能する。ハードディスクドライブ1050は、CPU1010が使用するプログラム及びデータを格納する。DVDドライブ1070は、DVD−ROM1072からプログラム又はデータを読み取り、RAM1030を介してハードディスクドライブ1050に提供する。
【0075】
ROM1020は、コンピュータ1000が起動時に実行するブート・プログラム及びコンピュータ1000のハードウエアに依存するプログラムなどを格納する。入出力チップ1080は、例えばパラレル・ポート、シリアル・ポート、キーボード・ポート、マウス・ポートなどを介して各種の入出力装置を入出力コントローラ1094へと接続する。
【0076】
RAM1030を介してハードディスクドライブ1050に提供されるプログラムは、DVD−ROM1072、又はICカードなどの記録媒体に格納されて利用者によって提供される。プログラムは、記録媒体から読み出され、RAM1030を介してハードディスクドライブ1050にインストールされ、CPU1010において実行される。
【0077】
コンピュータ1000にインストールされ、コンピュータ1000を会計情報管理装置100として機能させるプログラムは、CPU1010などに働きかけて、コンピュータ1000を、会計情報管理装置100の各部としてそれぞれ機能させてよい。これらのプログラムに記述された情報処理は、コンピュータ1000に読込まれることにより、ソフトウエアと上述した各種のハードウエア資源とが協働した具体的手段である情報収集部102、情報分析部104、スコアデータ格納部106、登録データ取得部112、登録データ格納部114、取引情報取得部122、文字列取得部124、仕訳処理部126、文字列分割部128、及び出力制御部130として機能する。そして、これらの具体的手段によって、本実施形態におけるコンピュータ1000の使用目的に応じた情報の演算又は加工を実現することにより、使用目的に応じた特有の会計情報管理装置100が構築される。
【0078】
上記実施形態では、会計情報管理装置100が情報収集部102、情報分析部104、スコアデータ格納部106、登録データ取得部112、登録データ格納部114、取引情報取得部122、文字列取得部124、仕訳処理部126、文字列分割部128、及び出力制御部130を備える例を挙げて説明したがこれに限らない。これらの構成のうちの一部を有する装置が提供されてもよい。
【0079】
例えば、情報収集部102、情報分析部104、及びスコアデータ格納部106を備えるスコアデータ生成装置が提供されてよい。また、登録データ格納部114、取引情報取得部122、文字列取得部124、仕訳処理部126、文字列分割部128、及び出力制御部130を備える文字列処理装置が提供されてもよい。
【0080】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【0081】
特許請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階などの各処理の実行順序は、特段「より前に」、「先立って」などと明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」などを用いて説明したとしても、この順で実施することが必須であることを意味するものではない。