(57)【要約】【課題】自動仕訳の精度を向上できる技術を提供することが望ましい。【解決手段】取引の内容を表す取引文字列を取得する文字列取得部と、取引文字列を２からＭ文字毎に分割する文字列分割部であって、Ｍは前記取引文字列の文字数である、文字列分割部と、文字列分割部によって分割された２からＭ文字の分割文字列のうちの複数の分割文字列と、複数の文字列のそれぞれに対して複数の勘定科目毎のスコアが対応付けられているスコアデータとに基づいて、勘定科目を選択する第１勘定科目選択部とを備える文字列処理装置を提供する。【選択図】図８
2019139381.tif 000002
【特許請求の範囲】
【請求項１】
取引の内容を表す取引文字列を取得する文字列取得部と、
前記取引文字列を２からＭ文字毎に分割する文字列分割部であって、前記Ｍは前記取引文字列の文字数である、文字列分割部と、
前記文字列分割部によって分割された２からＭ文字の分割文字列のうちの複数の分割文字列と、複数の文字列のそれぞれに対して複数の勘定科目毎のスコアが対応付けられているスコアデータとに基づいて、勘定科目を選択する第１勘定科目選択部と
を備える文字列処理装置。
【請求項２】
前記文字列分割部は、前記取引文字列を１からＭ文字毎に分割し、
前記第１勘定科目選択部は、前記文字列分割部によって分割された１からＭ文字の分割文字列のうちの複数の分割文字列と、前記スコアデータとに基づいて、勘定科目を選択する、請求項１に記載の文字列処理装置。
【請求項３】
前記第１勘定科目選択部は、複数の勘定科目のそれぞれについて、勘定科目と前記複数の分割文字列に対応する複数のスコアに基づいて導出した確度を比較することによって、勘定科目を選択する、請求項１又は２に記載の文字列処理装置。
【請求項４】
前記第１勘定科目選択部は、勘定科目と前記複数の分割文字列に対応する複数のスコア同士を乗算することによって前記確度を導出する、請求項３に記載の文字列処理装置。
【請求項５】
前記文字列と勘定科目に対応付けられている前記スコアは、当該文字列が取引文字列に含まれている場合に当該勘定科目が当該取引文字列に対応する取引に対して仕訳された回数に基づいて決定される、請求項１から４のいずれか一項に記載の文字列処理装置。
【請求項６】
前記文字列と勘定科目に対応付けられている前記スコアは、当該文字列が取引文字列に含まれている場合に当該勘定科目が当該取引文字列に対応する取引に対して仕訳された回数に予め定められた値を加算した値を、当該文字列が取引文字列に含まれている場合に複数の勘定科目のそれぞれが当該取引文字列に対応する取引に対して仕訳された回数のそれぞれに前記予め定められた値を加算した値を合計した合計値で除算することによって決定される、請求項５に記載の文字列処理装置。
【請求項７】
前記スコアは、取引文字列と当該取引文字列に対応する取引が仕訳された勘定科目とを含む教師データに基づいて決定される、請求項１から６のいずれか一項に記載の文字列処理装置。
【請求項８】
前記スコアは、特定のユーザの会計情報における取引文字列と当該取引文字列に対応する取引が仕訳された勘定科目とを含む特定ユーザ教師データに基づいて決定される、請求項７に記載の文字列処理装置。
【請求項９】
前記第１勘定科目選択部は、前記複数の分割文字列と、複数の文字列のそれぞれに対して前記特定ユーザ教師データを用いて決定された複数の勘定科目毎のスコアが対応付けられている特定ユーザスコアデータに基づいて勘定科目を選択する、請求項８に記載の文字列処理装置。
【請求項１０】
複数の文字列のそれぞれに対して、複数のユーザの会計情報における取引文字列と当該取引文字列に対応する取引が仕訳された勘定科目とを含む複数ユーザ教師データを用いて決定された複数の勘定科目毎のスコアが対応付けられている複数ユーザスコアデータに基づいて勘定科目を選択する第２勘定科目選択部と、
複数の勘定科目のそれぞれについて、前記特定ユーザスコアデータを用いて、勘定科目と前記複数の分割文字列に対応する複数のスコアに基づいて導出された複数の確度のうち最も高い確度が予め定められた閾値より高い場合、前記第１勘定科目選択部によって選択された勘定科目を出力し、当該予め定められた閾値より低い場合、前記第２勘定科目選択部によって選択された勘定科目を出力させる出力制御部と
を備える、請求項９に記載の文字列処理装置。
【請求項１１】
前記第１勘定科目選択部は、取引の種類毎の複数のスコアデータのうち、前記文字列取得部が取得した取引文字列に対応する取引の種類に対応するスコアデータを用いて、前記勘定科目を選択する、請求項１から１０のいずれか一項に記載の文字列処理装置。
【請求項１２】
前記第１勘定科目選択部は、前記文字列分割部によって分割された２からＭ文字の分割文字列から、前記分割文字列の長さと、前記取引文字列における前記分割文字列の位置とに基づいて抽出した分割文字列と、前記スコアデータとに基づいて、勘定科目を選択する、請求項１から１１のいずれか一項に記載の文字列処理装置。
【請求項１３】
前記第１勘定科目選択部は、前記文字列分割部によって分割された２からＭ文字の分割文字列のうち、特定のユーザの会計情報における取引文字列と当該取引文字列に対応する取引が仕訳された勘定科目とを含む特定ユーザ教師データに含まれる分割文字列から、前記分割文字列の長さと、前記取引文字列における前記分割文字列の位置とに基づいて抽出した分割文字列と、前記スコアデータとに基づいて、勘定科目を選択する、請求項１２に記載の文字列処理装置。
【請求項１４】
コンピュータを、請求項１から１３のいずれか一項に記載の文字列処理装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文字列処理装置及びプログラムに関する。
【背景技術】
【０００２】
取引を自動的に仕訳する自動仕訳機能が知られていた（例えば、特許文献１参照）。
［先行技術文献］
［特許文献］
［特許文献１］特開２００６−２８５７１０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００３】
自動仕訳の精度を向上できる技術を提供することが望ましい。
【課題を解決するための手段】
【０００４】
本発明の第１の態様によれば、文字列処理装置が提供される。文字列処理装置は、取引の内容を表す取引文字列を取得する文字列取得部を備えてよい。文字列処理装置は、取引文字列を２からＭ文字毎に分割する文字列分割部であって、Ｍは取引文字列の文字数である、文字列分割部を備えてよい。文字列処理装置は、文字列分割部によって分割された２からＭ文字の複数の分割文字列と、複数の文字列のそれぞれに対して複数の勘定科目毎のスコアが対応付けられているスコアデータとに基づいて、勘定科目を選択する第１勘定科目選択部を備えてよい。
【０００５】
上記文字列分割部は、上記取引文字列を１からＭ文字毎に分割してよく、上記第１勘定科目選択部は、上記文字列分割部によって分割された１からＭ文字の分割文字列のうちの複数の分割文字列と、上記スコアデータとに基づいて、勘定科目を選択してよい。上記第１勘定科目選択部は、複数の勘定科目のそれぞれについて、勘定科目と上記複数の分割文字列に対応する複数のスコアに基づいて導出した確度を比較することによって、勘定科目を選択してよい。上記第１勘定科目選択部は、勘定科目と上記複数の分割文字列に対応する複数のスコア同士を乗算することによって上記確度を導出してよい。上記文字列処理装置において、上記文字列と勘定科目に対応付けられている上記スコアは、当該文字列が取引文字列に含まれている場合に当該勘定科目が当該取引文字列に対応する取引に対して仕訳された回数に基づいて決定されてよい。上記文字列処理装置において、上記文字列と勘定科目に対応付けられている上記スコアは、当該文字列が取引文字列に含まれている場合に当該勘定科目が当該取引文字列に対応する取引に対して仕訳された回数に予め定められた値を加算した値を、当該文字列が取引文字列に含まれている場合に複数の勘定科目のそれぞれが当該取引文字列に対応する取引に対して仕訳された回数のそれぞれに上記予め定められた値を加算した値を合計した合計値で除算することによって決定されてよい。
【０００６】
上記文字列処理装置において、上記スコアは、取引文字列と当該取引文字列に対応する取引が仕訳された勘定科目とを含む教師データに基づいて決定されてよい。上記文字列処理装置において、上記スコアは、特定のユーザの会計情報における取引文字列と当該取引文字列に対応する取引が仕訳された勘定科目とを含む特定ユーザ教師データに基づいて決定されてよい。上記第１勘定科目選択部は、上記複数の分割文字列と、複数の文字列のそれぞれに対して上記特定ユーザ教師データを用いて決定された複数の勘定科目毎のスコアが対応付けられている特定ユーザスコアデータに基づいて勘定科目を選択してよい。上記文字列処理装置は、複数の文字列のそれぞれに対して、複数のユーザの会計情報における取引文字列と当該取引文字列に対応する取引が仕訳された勘定科目とを含む複数ユーザ教師データを用いて決定された複数の勘定科目毎のスコアが対応付けられている複数ユーザスコアデータに基づいて勘定科目を選択する第２勘定科目選択部と、複数の勘定科目のそれぞれについて、上記特定ユーザスコアデータを用いて、勘定科目と上記複数の分割文字列に対応する複数のスコアに基づいて導出された複数の確度のうち最も高い確度が予め定められた閾値より高い場合、上記第１勘定科目選択部によって選択された勘定科目を出力し、当該予め定められた閾値より低い場合、上記第２勘定科目選択部によって選択された勘定科目を出力させる出力制御部とを備えてよい。上記第１勘定科目選択部は、取引の種類毎の複数のスコアデータのうち、上記文字列取得部が取得した取引文字列に対応する取引の種類に対応するスコアデータを用いて、上記勘定科目を選択してよい。上記第１勘定科目選択部は、上記文字列分割部によって分割された２からＭ文字の分割文字列から、上記分割文字列の長さと、上記取引文字列における上記分割文字列の位置とに基づいて抽出した分割文字列と、スコアデータとに基づいて、勘定科目を選択してよい。上記第１勘定科目選択部は、上記文字列分割部によって分割された２からＭ文字の分割文字列のうち、特定のユーザの会計情報における取引文字列と当該取引文字列に対応する取引が仕訳された勘定科目とを含む特定ユーザ教師データに含まれる分割文字列から、上記分割文字列の長さと、上記取引文字列における上記分割文字列の位置とに基づいて抽出した分割文字列と、上記スコアデータとに基づいて、勘定科目を選択してよい。
【０００７】
本発明の第２の態様によれば、コンピュータを、上記文字列処理装置として機能させるためのプログラムが提供される。
【０００８】
なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではない。また、これらの特徴群のサブコンビネーションもまた、発明となりうる。
【図面の簡単な説明】
【０００９】
【図１】会計情報管理装置１００の通信環境の一例を概略的に示す。
【図２】会計情報管理装置１００による処理の流れの一例を概略的に示す。
【図３】スコアデータ１４０の一例を概略的に示す。
【図４】取引文字列１５２及び分割文字列１５４の一例を概略的に示す。
【図５】取引文字列１５２が「売上高現金」である場合に、図３に示すスコアデータ１４０を用いて導出された推論確度１６２の一例を概略的に示す。
【図６】会計情報管理装置１００によるノイズ文字列の判断手法の一例を説明するための説明図である。
【図７】会計情報管理装置１００によるノイズ文字列の判断手法の一例を説明するための説明図である。
【図８】会計情報管理装置１００の機能構成の一例を概略的に示す。
【図９】勘定科目の選択手法の他の一例を説明するための説明図である。
【図１０】会計情報管理装置１００として機能するコンピュータ１０００のハードウエア構成の一例を概略的に示す。
【発明を実施するための形態】
【００１０】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【００１１】
図１は、会計情報管理装置１００の通信環境の一例を概略的に示す。会計情報管理装置１００は、取引を行う事業者等の会計情報及び取引情報を管理する。
【００１２】
会計情報管理装置１００は、複数のユーザ３５０の会計情報及び取引情報を管理してよい。ユーザ３５０は、取引を行う事業者等であってよい。ユーザ３５０は、通信端末３００を用いて、会計情報管理装置１００が管理する会計情報及び取引情報にアクセス可能であってよい。通信端末３００は、通信可能な端末であれば任意の端末であってよい。例えば、通信端末３００は、スマートフォン等の携帯電話、タブレット端末、及びＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）等である。通信端末３００を用いたアクセスは、例えば、アプリケーションベースで行われる。通信端末３００を用いたアクセスは、Ｗｅｂベースで行われてもよい。
【００１３】
会計情報管理装置１００は、例えば、ユーザ３５０によって通信端末３００を用いて入力された会計情報及び取引情報を、ネットワーク１０を介して通信端末３００から収集する。ネットワーク１０は、例えば、インターネットを含む。ネットワーク１０は、携帯電話網を含んでもよい。ネットワーク１０は、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）等の専用網を含んでもよい。
【００１４】
また、会計情報管理装置１００は、例えば、ユーザ３５０の取引情報を管理して提供するサービスを行う取引情報提供装置２００からネットワーク１０を介して、ユーザ３５０の取引情報を収集する。取引情報提供装置２００は、例えば、ユーザ３５０の銀行口座の情報を管理して提供する。また、取引情報提供装置２００は、例えば、ユーザ３５０のクレジットカード明細情報を管理して提供する。また、取引情報提供装置２００は、例えば、ユーザ３５０のレジ情報を管理して提供する。取引情報提供装置２００は、その他任意の情報を管理して提供してよい。
【００１５】
本実施形態に係る会計情報管理装置１００は、いわゆる自動仕訳処理を実行してよい。会計情報管理装置１００は、例えば、取引情報を分析して取引情報に対応する勘定科目を推測する科目推論機能を有する。会計情報管理装置１００は、文字列処理装置の一例であってよい。
【００１６】
会計情報管理装置１００は、複数種類の科目推論の方法を実行可能であってよい。複数種類の科目推論の方法としては、ユーザ３５０によって登録された登録データを用いて仕訳を行う方法（仕訳ルール推論と記載する場合がある）、ユーザ３５０以外の任意の主体によって登録された登録データを用いて仕訳を行う方法（任意ルール推論と記載する場合がある）、ユーザ３５０の勘定科目の選択傾向から統計的に勘定科目を選択する方法（個人別推論と記載する場合がある）、及び会計情報管理装置１００の管理対象である複数のユーザ３５０の勘定科目の選択傾向から統計的に勘定科目を選択する方法（全体推論と記載する場合がある）等が例示できる。
【００１７】
仕訳ルール推論における登録データは、例えば、文字列と勘定科目とを対応付けるデータである。会計情報管理装置１００は、例えば、仕訳対象の摘要に含まれる文字列が登録データに登録されている場合、登録データにおける当該文字列に対応する勘定科目を推論結果とする。
【００１８】
任意ルール推論における登録データも、仕訳ルール推論における登録データと同様であってよい。任意ルール推論における登録データは、例えば、会計情報管理装置１００を提供する提供主体によって生成される。任意ルール推論における登録データは、会計事務所等によって生成されてもよい。
【００１９】
個人別推論では、例えば、ユーザ３５０が実際に仕訳をした仕訳データを教師データとして、取引情報と勘定科目との複数の組み合わせを統計的に処理することによって学習した学習データが用いられる。学習データは、複数の文字列のそれぞれに対して複数の勘定科目毎のスコアが対応付けられているスコアデータであってよい。ユーザ３５０が実際に仕訳をした仕訳データは、例えば、確定申告が完了した後のデータ及び決算後のデータ等であってよい。また、ユーザ３５０が実際に仕訳をした仕訳データは、例えば、取引情報に対して推論した勘定科目の候補をユーザ３５０に提示し、ユーザ３５０によって選択された勘定科目と当該取引情報とを含んでもよい。会計情報管理装置１００は、例えば、仕訳対象の取引情報に含まれる取引の内容を表す取引文字列を２からＭ文字毎（Ｍは取引文字列の文字数）に分割し、２からＭ文字の分割文字列のうちの複数の分割文字列とスコアデータとに基づいて勘定科目を選択する。会計情報管理装置１００は、仕訳対象の取引情報に含まれる取引の内容を表す取引文字列を１からＭ文字毎（Ｍは取引文字列の文字数）に分割し、１からＭ文字の分割文字列のうちの複数の分割文字列とスコアデータとに基づいて勘定科目を選択してもよい。
【００２０】
全体推論では、例えば、複数のユーザ３５０が実際に仕訳をした仕訳データを教師データとして、取引情報と勘定科目との複数の組み合わせを統計的に処理することによって学習した学習データが用いられる。学習データは、複数の文字列のそれぞれに対して複数の勘定科目毎のスコアが対応付けられているスコアデータであってよい。ユーザ３５０が実際に仕訳をした仕訳データは、例えば、確定申告が完了した後のデータ及び決算後のデータ等であってよい。複数のユーザ３５０が実際に仕訳をした仕訳データは、例えば、取引情報に対して推論した勘定科目の候補をユーザ３５０に提示し、ユーザ３５０によって選択された勘定科目と当該取引情報とを含んでもよい。会計情報管理装置１００は、例えば、仕訳対象の取引情報に含まれる取引文字列を２からＭ文字毎（Ｍは取引文字列の文字数）に分割し、２からＭ文字の分割文字列のうちの複数の分割文字列とスコアデータとに基づいて勘定科目を選択する。会計情報管理装置１００は、仕訳対象の取引情報に含まれる取引文字列を１からＭ文字毎（Ｍは取引文字列の文字数）に分割し、１からＭ文字の分割文字列のうちの複数の分割文字列とスコアデータとに基づいて勘定科目を選択してもよい。
【００２１】
図２は、会計情報管理装置１００による処理の流れの一例を概略的に示す。図２に示す処理は、会計情報管理装置１００が仕訳対象の取引情報を取得して、取引情報に対して適切な勘定科目を推測して出力する処理の流れを示す。図２に示す各処理は、会計情報管理装置１００が備える制御部が主体となって実行される。
【００２２】
ステップ（ステップをＳと省略して記載する場合がある。）１０２では、会計情報管理装置１００が、仕訳対象の取引情報を取得する。Ｓ１０４では、会計情報管理装置１００が、仕訳ルール推論によって仕訳可能か否かを判定する。会計情報管理装置１００は、例えば、取引情報に登録データの文字列が含まれる場合、仕訳可と判定し、含まれない場合、仕訳否と判定する。仕訳可と判定した場合、Ｓ１０６に進み、仕訳否と判定した場合、Ｓ１０８に進む。Ｓ１０６では、会計情報管理装置１００が、仕訳ルール推論による仕訳結果を出力する。
【００２３】
Ｓ１０８では、会計情報管理装置１００が、個人別推論を実行する。Ｓ１１０では、会計情報管理装置１００が、個人別推論による推論の確度を示す推論確度が予め定められた閾値より高いか否かを判定する。高いと判定した場合、Ｓ１１２に進み、高くないと判定した場合、Ｓ１１４に進む。Ｓ１１２では、会計情報管理装置１００が、個人別推論結果を出力する。Ｓ１１４では、会計情報管理装置１００が、全体推論を実行する。Ｓ１１６では、会計情報管理装置１００が、全体推論結果を出力する。
【００２４】
図３は、スコアデータ１４０の一例を概略的に示す。スコアデータ１４０において、複数の文字列のそれぞれに対して複数の勘定科目のスコア１４４が対応付けられている。ここでは、説明の簡略化のため、勘定科目が「売上」、「売上返品」、「雑収入」の３つのみである場合を例に挙げて説明する。
【００２５】
図３に示す例では、文字列「売上」に対して、勘定科目「売上」、「売上返品」、「雑収入」のそれぞれのスコアとして、「６１」、「６」、「３３」が対応付けられている。例えば、文字列「売上」に対する勘定科目「売上」のスコア１４４は、「売上」が取引文字列に含まれている場合に、勘定科目「売上」が当該取引文字列に対応する取引に対して仕訳された回数に基づいて決定されてよい。例えば、文字列「売上」に対する勘定科目「売上」のスコア１４４は、「売上」が取引文字列に含まれている場合に、勘定科目「売上」が当該取引文字列に対応する取引に対して仕訳された回数１４１に、スムージング値（Ｓ値と記載する場合がある。）１４２を加算した加算値１４３に基づいて決定される。
【００２６】
図３では、Ｓ値１４２が「１」である場合を例示している。図３に示す例において、文字列「売上」に対する勘定科目「売上」のスコア１４４は、文字列「売上」と勘定科目「売上」に対応する加算値の「１１」を、文字列「売上」と複数の勘定科目のそれぞれに対応する加算値を合計した合計値「１１＋１＋６＝１８」で除算した値に基づいて「６１」に決定されている。同様に、文字列「売上」に対する勘定科目「売上返品」のスコア１４４は「６」に決定されており、文字列「売上」に対する勘定科目「雑収入」のスコア１４４は「３３」に決定されている。文字列「売上」に対応するスコア１４４の合計が「１００」になるように調整されてよい。
【００２７】
図４は、取引文字列１５２及び分割文字列１５４の一例を概略的に示す。図４では、取引文字列１５２が「売上高現金」である場合の例を示す。
【００２８】
会計情報管理装置１００は、「売上高現金」を、２から「売上高現金」の文字数である５文字毎に分割する。すなわち、会計情報管理装置１００は、「売上高現金」を、２−ｇｒａｍ、３−ｇｒａｍ、４−ｇｒａｍ、５−ｇｒａｍに分割する。
【００２９】
２−ｇｒａｍは、「売上」、「上高」、「高現」、「現金」となる。３−ｇｒａｍは、「売上高」、「上高現」、「高現金」となる。４−ｇｒａｍは、「売上高現」、「上高現金」となる。５−ｇｒａｍは、「売上高現金」となる。
【００３０】
図５は、取引文字列１５２が「売上高現金」である場合に、図３に示すスコアデータ１４０を用いて導出された推論確度１６２の一例を概略的に示す。会計情報管理装置１００は、「売上高現金」の分割文字列である「売上」、「上高」、「高現」、「現金」、「売上高」、「上高現」、「高現金」、「売上高現」、「上高現金」、及び「売上高現金」のそれぞれについて、スコアデータ１４０を参照して、複数の勘定科目に対応するスコア１６１を特定する。
【００３１】
そして、会計情報管理装置１００は、複数の勘定科目のそれぞれについて、複数の分割文字列に対応するスコア１６１を乗算した結果の値に基づいて推論確度１６２を決定する。会計情報管理装置１００は、複数の勘定科目のそれぞれの乗算結果の合計が１００となるように調整した値を推論確度１６２としてよい。
【００３２】
例えば、会計情報管理装置１００は、勘定科目「売上」及び分割文字列「売上」に対応するスコア１６１と、勘定科目「売上」及び分割文字列「上高」に対応するスコア１６１と、勘定科目「売上」及び分割文字列「高現」に対応するスコア１６１と、勘定科目「売上」及び分割文字列「現金」に対応するスコア１６１と、勘定科目「売上」及び分割文字列「売上高」に対応するスコア１６１と、勘定科目「売上」及び分割文字列「上高現」に対応するスコア１６１と、勘定科目「売上」及び分割文字列「高現金」に対応するスコア１６１と、勘定科目「売上」及び分割文字列「売上高現」に対応するスコア１６１と、勘定科目「売上」及び分割文字列「上高現金」に対応するスコア１６１と、勘定科目「売上」及び分割文字列「売上高現金」に対応するスコア１６１とを乗算した乗算結果を算出する。同様に、勘定科目「売上返品」における乗算結果と、勘定科目「雑収入」における乗算結果とを算出する。そして、乗算結果の合計が１００となるように各乗算結果を調整した結果を、各勘定科目の推論確度１６２とする。
【００３３】
図５に示す例では、勘定科目「売上」、「売上返品」、「雑収入」のうち、「売上返品」の推論確度１６２が最も高いことから、会計情報管理装置１００は、取引文字列「売上高現金」の推論結果として「売上返品」を出力する。なお、スコアデータ１４０を生成する際にＳ値１４２を用いない場合、回数１４１が０だと、スコア１４４が０になる。ある勘定科目について推論確度１６２を算出する場合に、複数の分割文字列のうち１つでもスコア１４４が０であると、推論確度１６２が０になってしまう。これに対して、本実施形態に係るスコアデータ１４０によれば、Ｓ値１４２を用いるので、回数１４１が０である場合でも、スコア１４４が０にならず、このような問題を回避することができる。
【００３４】
上記実施形態では、すべての分割文字列のスコアを乗算することによって推論確度１６２を算出する例を挙げて説明したが、これに限らない。すべての分割文字列のうち、一部の分割文字列のスコアを乗算することによって、推論確度１６２を算出してもよい。すべての分割文字列から一部の分割文字列を選択する手法としては、任意の手法を採用することができる。例えば、利用者等から文字数の指定を受け付けて、指定された文字数の分割文字列を選択する手法を採用してよい。また、例えば、利用者等から、乗算の対象とする分割文字列の選択を受け付ける手法を採用してもよい。
【００３５】
会計情報管理装置１００は、すべての分割文字列のうち、仕訳を行うのに必要な情報（特徴量）が含まれていないノイズ文字列を、推論確度１６２の算出及び勘定科目の選択処理の対象から除外してもよい。例えば、会計情報管理装置１００は、条件なしの勘定科目の確率分布と、対象文字列が出現した際の勘定科目の確率分布との距離（近似度）を算出して、当該距離が予め定められた閾値以下である場合に、対象から除外する。
【００３６】
会計情報管理装置１００は、例えば、対象文字列がノイズ文字列であるか否かを、カルバック・ライブラー情報量に基づいて判断する。会計情報管理装置１００は、対象文字列のカルバック・ライブラー情報量が、予め定められた閾値以下である場合、対象文字列をノイズ文字列と判断してよい。会計情報管理装置１００は、下記の数式１によって、対象文字列のカルバック・ライブラー情報量を算出してよい。
【００３７】
【数１】
2019139381.tif 000003
【００３８】
数式１のうち、ｉを勘定科目ｉ（勘定科目の数）とし、Ｐ（ｉ）を対象文字列が出現した際の勘定科目ｉの選択確率とし、Ｑ（ｉ）を勘定科目ｉの選択確率とする。
【００３９】
図６及び図７は、会計情報管理装置１００によるノイズ文字列の判断手法の一例を説明するための説明図である。ここでは、全体推論の場合の判断手法について主に説明する。
【００４０】
仕訳回数テーブル１８２は、過去の全データを対象とした、勘定科目毎の仕訳回数を示す。仕訳回数テーブル１８４は、過去の全データを対象とした、対象文字列が出現した際の勘定科目毎の仕訳回数を示す。ここでは、説明の簡略化のため、勘定科目が「売上」、「売上返品」、「雑収入」の３つのみである場合を例に挙げて説明する。この場合、数式１におけるｉは「売上」「売上返品」「雑収入」の３つとなる。
【００４１】
Ｑ（売上）は５／８（＝１０，０００／１６，０００）となる。Ｑ（売上返品）は、１／１６（＝１，０００／１６，０００）となる。Ｑ（雑収入）は、５／１６（５，０００／１６，０００）となる。対象文字列を「現金」とした場合、Ｐ（売上）は５／８（１００／１６０）となり、Ｐ（売上返品）は１／１６（＝１０／１６０）となり、Ｐ（雑収入）は５／１６（＝５０／１６０）となる。これらを数式１に当てはめて計算すると「０」となり、「現金」がノイズ文字列であると判断できる。
【００４２】
対象文字列を条件として与えた場合と与えなかった場合とで選択確率にほとんど差がない場合、その対象文字列は特徴量を持っていないといえることから、ノイズ文字列であると判断できる。値が「０」に近いほど確率に差がないといえる。対象文字列のカルバック・ライブラー情報量と比較する予め定められた閾値は、このことに基づいて任意に設定されてよい。例えば、予め定められた閾値は、会計情報管理装置１００の管理者等によって設定されてよい。
【００４３】
図６及び図７では、全体推論の場合の判断手法について主に説明した。個人別推論の場合は、特定ユーザの全データを対象とした勘定科目毎の仕訳回数と、特定ユーザの全データを対象とした、対象文字列が出現した際の勘定科目毎の仕訳回数とを用いることによって判断できる。
【００４４】
図８は、会計情報管理装置１００の機能構成の一例を概略的に示す。会計情報管理装置１００は、情報収集部１０２、情報分析部１０４、スコアデータ格納部１０６、登録データ取得部１１２、登録データ格納部１１４、取引情報取得部１２２、文字列取得部１２４、仕訳処理部１２６、文字列分割部１２８、及び出力制御部１３０を備える。なお、会計情報管理装置１００がこれらのすべての構成を備えることは必須とは限らない。
【００４５】
情報収集部１０２は、各種情報を収集する。情報収集部１０２は、複数のユーザ３５０の会計情報を収集する。情報収集部１０２は、ユーザ３５０によって通信端末３００を用いて入力された会計情報を収集してよい。情報収集部１０２は、会計情報管理装置１００が複数のユーザ３５０毎に管理している会計情報を収集してもよい。
【００４６】
また、情報収集部１０２は、複数のユーザ３５０の取引情報を収集する。情報収集部１０２は、ユーザ３５０によって通信端末３００を用いて入力された取引情報を収集してよい。情報収集部１０２は、会計情報管理装置１００が複数のユーザ３５０毎に管理している取引情報を収集してもよい。
【００４７】
また、情報収集部１０２は、取引情報提供装置２００から取引情報を収集してよい。情報収集部１０２は、複数の取引情報提供装置２００から取引情報を収集してよい。情報収集部１０２は、取引情報の種類毎に識別して取引情報を管理してよい。例えば、情報収集部１０２は、複数の取引情報提供装置２００毎に取引情報を収集し、識別して管理する。
【００４８】
情報収集部１０２は、複数の取引情報のそれぞれについて、ユーザ３５０が実際に選択した勘定科目の情報を収集する。情報収集部１０２は、例えば、ユーザ３５０が実際に選択した勘定科目の情報を、ユーザ３５０の会計情報から収集する。また、情報収集部１０２は、ユーザ３５０が実際に選択した勘定科目の情報を通信端末３００から受信してもよい。
【００４９】
情報分析部１０４は、情報収集部１０２が収集した情報を教師データとして各種分析を実行する。情報分析部１０４は、情報収集部１０２が収集した情報を分析してスコアデータを生成してよい。情報分析部１０４は、複数の文字列のそれぞれに対して複数の勘定科目毎のスコアが対応付けられているスコアデータを生成してよい。情報分析部１０４は、文字列と勘定科目に対応付けられているスコアを、当該文字列が取引文字列に含まれている場合に当該勘定科目が当該取引文字列に対応する取引に対して仕訳された回数に基づいて決定してよい。
【００５０】
情報分析部１０４は、文字列と勘定科目に対応付けられているスコアを、当該文字列が取引文字列に含まれている場合に当該勘定科目が当該取引文字列に対応する取引に対して仕訳された回数にＳ値１４２を加算した値と、当該文字列が取引文字列に含まれている場合に複数の勘定科目のそれぞれが当該取引文字列に対応する取引に対して仕訳された回数のそれぞれにＳ値１４２を加算した値を合計した合計値で除算することによって決定してよい。Ｓ値１４２は、予め定められた値の一例であってよい。
【００５１】
情報分析部１０４は、Ｓ値１４２を任意に設定可能であってよい。情報分析部１０４は、例えば、様々なＳ値１４２で生成したスコアデータを用いた仕訳処理のシミュレートを実行した結果、最適値と判断された値に設定される。Ｓ値１４２としては、例えば、「１」、「０．８」、及び「０．５」等の値が設定される。
【００５２】
情報分析部１０４は、個人別推論用のスコアデータを生成してよい。情報分析部１０４は、特定のユーザ３５０の個人別推論用のスコアデータを生成する場合、特定のユーザ３５０の会計情報における取引文字列と当該取引文字列に対応する取引が仕訳された勘定科目とを含む特定ユーザ教師データに基づいてスコアを決定してよい。
【００５３】
情報分析部１０４は、全体推論用のスコアデータを生成してよい。情報分析部１０４は、全体推論用のスコアデータを生成する場合、複数のユーザ３５０の会計情報における取引文字列と当該取引文字列に対応する取引が仕訳された勘定科目とを含む複数ユーザ教師データに基づいてスコアを決定してよい。
【００５４】
情報分析部１０４は、取引情報の種類毎にスコアデータを生成してもよい。情報分析部１０４は、取引情報の種類毎に、個人別推論用のスコアデータを生成してよい。情報分析部１０４は、取引情報の種類毎に、全体推論用のスコアデータを生成してよい。スコアデータ格納部１０６は、情報分析部１０４が生成したスコアデータを格納する。
【００５５】
登録データ取得部１１２は、登録データを取得する。登録データ取得部１１２は、仕訳ルール推論用の登録データを取得してよい。登録データ取得部１１２は、例えば、ユーザ３５０によって通信端末３００を用いて入力された登録データを通信端末３００から受信する。
【００５６】
また、登録データ取得部１１２は、任意ルール推論用の登録データを取得してよい。任意ルール推論用の登録データが会計情報管理装置１００を提供する提供主体によって生成された場合、登録データ取得部１１２は、会計情報管理装置１００に格納されている登録データを取得してよい。登録データ取得部１１２は、任意ルール用の登録データを生成した生成主体から、ネットワーク１０を介して当該登録データを受信してもよい。登録データ格納部１１４は、登録データ取得部１１２が取得した登録データを格納する。
【００５７】
取引情報取得部１２２は、仕訳対象の取引情報を取得する。取引情報取得部１２２は、例えば、ユーザ３５０の複数の取引情報のうち、ユーザ３５０によって指定された取引情報を取得する。また、取引情報取得部１２２は、例えば、ユーザ３５０の複数の取引情報を１つずつ順番に取得する。
【００５８】
文字列取得部１２４は、取引情報取得部１２２が取得した取引情報に含まれる取引文字列を取得する。文字列取得部１２４は、例えば、取引情報に含まれる摘要を取引文字列として取得する。
【００５９】
仕訳処理部１２６は、文字列取得部１２４が取得した取引文字列に対する仕訳処理を実行する。仕訳処理部１２６は、例えば、登録データ格納部１１４に格納されている仕訳ルール推論用の登録データを用いて、仕訳ルール推論を実行する。また、仕訳処理部１２６は、例えば、登録データ格納部１１４に格納されている任意ルール推論用の登録データを用いて、任意ルール推論を実行する。また、仕訳処理部１２６は、例えば、スコアデータ格納部１０６に格納されている個人別推論用のスコアデータを用いて、個人別推論を実行する。また、仕訳処理部１２６は、例えば、スコアデータ格納部１０６に格納されている全体推論用のスコアデータを用いて、全体推論を実行する。
【００６０】
仕訳処理部１２６は、仕訳ルール推論、任意ルール推論、個人別推論、及び全体推論を段階的に実行してもよい。例えば、仕訳処理部１２６は、まず仕訳ルール推論を実行し、仕訳ルール推論を完了できない場合に、任意ルール推論を実行し、任意ルール推論を完了できない場合に、個人別推論を実行し、推論確度が予め定められた閾値より低い場合、全体推論を実行する。また、例えば、仕訳処理部１２６は、まず仕訳ルール推論を実行し、仕訳ルール推論を完了できない場合に、個人別推論を実行し、推論確度が予め定められた閾値より低い場合に、全体推論を実行する。
【００６１】
仕訳処理部１２６は、予め定められた閾値を任意に設定可能であってよい。仕訳処理部１２６は、例えば、様々な閾値で仕訳処理を実行した結果を評価した結果、最適値と判断された値に設定される。閾値としては、例えば、「２５」、「５０」等が設定される。
【００６２】
文字列分割部１２８は、文字列取得部１２４が取得した取引文字列を分割する。文字列分割部１２８は、例えば、仕訳処理部１２６によって個人別推論又は全体推論が実行される場合に、文字列取得部１２４が取得した取引文字列を分割する。文字列分割部１２８は、取引文字列を２からＭ文字毎（Ｍは取引文字列の文字数）に分割してよい。
【００６３】
仕訳処理部１２６は、個人別推論を実行する場合、文字列分割部１２８によって分割された２からＭ文字の分割文字列のうちの複数の分割文字列と、ユーザ３５０に対応する個人別推論用のスコアデータとに基づいて、勘定科目を選択する。仕訳処理部１２６は、文字列分割部１２８によって分割されたすべての分割文字列を用いてもよく、また、すべての分割文字列のうちの一部の分割文字列を用いてもよい。例えば、仕訳処理部１２６は、すべての分割文字列のうち、仕訳を行うのに必要な情報（特徴量）が含まれていないノイズ文字列以外の複数の文字列を用いる。仕訳処理部１２６は、条件なしの勘定科目の確率分布と、対象文字列が出現した際の勘定科目の確率分布との距離（近似度）を算出して、当該距離が予め定められた閾値以下である場合に、ノイズ文字列を判断してよい。仕訳処理部１２６は、例えば、対象文字列がノイズ文字列であるか否かを、カルバック・ライブラー情報量に基づいて判断してよい。
【００６４】
仕訳処理部１２６は、複数の勘定科目のそれぞれについて、勘定科目と複数の分割文字列に対応する複数のスコアに基づいて導出した確度を比較することによって、勘定科目を選択してよい。仕訳処理部１２６は、勘定科目と複数の分割文字列に対応する複数のスコア同士を乗算することによって確度を導出してよい。仕訳処理部１２６は、第１勘定科目選択部の一例であってよい。
【００６５】
仕訳処理部１２６は、全体推論を実行する場合、文字列分割部１２８によって分割された２からＭ文字の分割文字列のうちの複数の分割文字列と、全体推論用のスコアデータとに基づいて、勘定科目を選択する。仕訳処理部１２６は、複数の勘定科目のそれぞれについて、勘定科目と複数の分割文字列に対応する複数のスコアに基づいて導出した確度を比較することによって、勘定科目を選択してよい。仕訳処理部１２６は、勘定科目と複数の分割文字列に対応する複数のスコア同士を乗算することによって確度を導出してよい。仕訳処理部１２６は、第２勘定科目選択部の一例であってよい。
【００６６】
出力制御部１３０は、仕訳処理部１２６による仕訳処理の結果を出力させる。出力制御部１３０は、例えば、個人別推論によって導出された複数の確度のうち最も高い確度が予め定められた閾値より高い場合、個人別推論の結果の勘定科目を出力させ、当該予め定められた閾値より低い場合、全体推論の結果の勘定科目を出力させる。出力制御部１３０は、例えば、仕訳処理部１２６によって選択された勘定科目を通信端末３００に表示出力させる。出力制御部１３０は、仕訳処理部１２６によって選択された勘定科目を会計情報管理装置１００が備えるディスプレイに表示出力させてもよい。
【００６７】
図９は、勘定科目の選択手法の他の一例を説明するための説明図である。仕訳処理部１２６は、個人別推論を実行する場合、文字列分割部１２８によって分割された２からＭ文字のすべての分割文字列のうち一部の分割文字列と、ユーザ３５０に対応する個人別推論用のスコアデータとに基づいて、勘定科目を選択してよい。
【００６８】
仕訳処理部１２６は、例えばまず、文字列分割部１２８によって分割されたすべての分割文字列のうち、特定ユーザ教師データに含まれる分割文字列のみを抽出する。図９は、取引文字列１７２が「売上高現金」であり、分割文字列１７４である「売上高現金」、「売上高現」、「上高現金」、「売上高」、「上高現」、「高現金」、「売上」、「上高」、「高現」、「現金」のうち、「売上高」、「上高現」、「売上」、「上高」、「高現」のみが抽出された状態を例示している。
【００６９】
次に、仕訳処理部１２６は、抽出した分割文字列のうち、最もＮ−ｇｒａｍの値が大きい分割文字列を抽出する。最もＮ−ｇｒａｍの値が大きい分割文字列が複数存在する場合、仕訳処理部１２６は、取引文字列の中でより後ろに出現する分割文字列を抽出してよい。図９に示す例では、仕訳処理部１２６は、「上高現」を抽出する。仕訳処理部１２６は、図３に示すスコアデータ１４０の「上高現」に対応するスコア１４４を参照して、スコア１４４が最も高い勘定科目を選択する。仕訳処理部１２６は、当該スコア１４４を推論確度１６２としてよい。
【００７０】
なお、仕訳処理部１２６は、抽出した分割文字列と、取引文字列１７２のうち、抽出した分割文字列に含まれなかった文字とに基づいて、勘定科目を選択してもよい。例えば、図９に示す例においては、仕訳処理部１２６は、抽出した「上高現」と、取引文字列１７２のうち「上高現」に含まれなかった「売」「金」とに基づいて、勘定科目を選択する。具体例として、仕訳処理部１２６は、複数の勘定科目のそれぞれについて、「上高現」、「売」、「金」に対応するスコア１６１を乗算した結果の値に基づいて推論確度１６２を決定し、推論確度が最も高い勘定科目を選択する。
【００７１】
上記実施形態では、文字列分割部１２８が、取引文字列を２からＭ文字毎に分割し、仕訳処理部１２６が２からＭ文字の分割文字列のうちの複数の分割文字列を用いる例を主に挙げて説明したが、これに限らない。文字列分割部１２８は、取引文字列を１からＭ文字毎に分割してよく、仕訳処理部１２６は、１からＭ文字の分割文字列のうちの複数の分割文字列を用いてもよい。
【００７２】
図１０は、会計情報管理装置１００として機能するコンピュータ１０００のハードウエア構成の一例を概略的に示す。本実施形態に係るコンピュータ１０００は、ホストコントローラ１０９２により相互に接続されるＣＰＵ１０１０、ＲＡＭ１０３０、及びグラフィックコントローラ１０８５を有するＣＰＵ周辺部と、入出力コントローラ１０９４によりホストコントローラ１０９２に接続されるＲＯＭ１０２０、通信Ｉ／Ｆ１０４０、ハードディスクドライブ１０５０、ＤＶＤドライブ１０７０及び入出力チップ１０８０を有する入出力部を備える。
【００７３】
ＣＰＵ１０１０は、ＲＯＭ１０２０及びＲＡＭ１０３０に格納されたプログラムに基づいて動作し、各部の制御を行う。グラフィックコントローラ１０８５は、ＣＰＵ１０１０などがＲＡＭ１０３０内に設けたフレーム・バッファ上に生成する画像データを取得し、ディスプレイ１０９０上に表示させる。これに代えて、グラフィックコントローラ１０８５は、ＣＰＵ１０１０などが生成する画像データを格納するフレーム・バッファを、内部に含んでもよい。
【００７４】
通信Ｉ／Ｆ１０４０は、有線又は無線によりネットワークを介して他の装置と通信する。また、通信Ｉ／Ｆ１０４０は、通信を行うハードウエアとして機能する。ハードディスクドライブ１０５０は、ＣＰＵ１０１０が使用するプログラム及びデータを格納する。ＤＶＤドライブ１０７０は、ＤＶＤ−ＲＯＭ１０７２からプログラム又はデータを読み取り、ＲＡＭ１０３０を介してハードディスクドライブ１０５０に提供する。
【００７５】
ＲＯＭ１０２０は、コンピュータ１０００が起動時に実行するブート・プログラム及びコンピュータ１０００のハードウエアに依存するプログラムなどを格納する。入出力チップ１０８０は、例えばパラレル・ポート、シリアル・ポート、キーボード・ポート、マウス・ポートなどを介して各種の入出力装置を入出力コントローラ１０９４へと接続する。
【００７６】
ＲＡＭ１０３０を介してハードディスクドライブ１０５０に提供されるプログラムは、ＤＶＤ−ＲＯＭ１０７２、又はＩＣカードなどの記録媒体に格納されて利用者によって提供される。プログラムは、記録媒体から読み出され、ＲＡＭ１０３０を介してハードディスクドライブ１０５０にインストールされ、ＣＰＵ１０１０において実行される。
【００７７】
コンピュータ１０００にインストールされ、コンピュータ１０００を会計情報管理装置１００として機能させるプログラムは、ＣＰＵ１０１０などに働きかけて、コンピュータ１０００を、会計情報管理装置１００の各部としてそれぞれ機能させてよい。これらのプログラムに記述された情報処理は、コンピュータ１０００に読込まれることにより、ソフトウエアと上述した各種のハードウエア資源とが協働した具体的手段である情報収集部１０２、情報分析部１０４、スコアデータ格納部１０６、登録データ取得部１１２、登録データ格納部１１４、取引情報取得部１２２、文字列取得部１２４、仕訳処理部１２６、文字列分割部１２８、及び出力制御部１３０として機能する。そして、これらの具体的手段によって、本実施形態におけるコンピュータ１０００の使用目的に応じた情報の演算又は加工を実現することにより、使用目的に応じた特有の会計情報管理装置１００が構築される。
【００７８】
上記実施形態では、会計情報管理装置１００が情報収集部１０２、情報分析部１０４、スコアデータ格納部１０６、登録データ取得部１１２、登録データ格納部１１４、取引情報取得部１２２、文字列取得部１２４、仕訳処理部１２６、文字列分割部１２８、及び出力制御部１３０を備える例を挙げて説明したがこれに限らない。これらの構成のうちの一部を有する装置が提供されてもよい。
【００７９】
例えば、情報収集部１０２、情報分析部１０４、及びスコアデータ格納部１０６を備えるスコアデータ生成装置が提供されてよい。また、登録データ格納部１１４、取引情報取得部１２２、文字列取得部１２４、仕訳処理部１２６、文字列分割部１２８、及び出力制御部１３０を備える文字列処理装置が提供されてもよい。
【００８０】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【００８１】
特許請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階などの各処理の実行順序は、特段「より前に」、「先立って」などと明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」などを用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
【符号の説明】
【００８２】
１０  ネットワーク、１００  会計情報管理装置、１０２  情報収集部、１０４  情報分析部、１０６  スコアデータ格納部、１１２  登録データ取得部、１１４  登録データ格納部、１２２  取引情報取得部、１２４  文字列取得部、１２６  仕訳処理部、１２８  文字列分割部、１３０  出力制御部、１４０  スコアデータ、１５２  取引文字列、１５４  分割文字列、１７２  取引文字列、１７４  分割文字列、１８２  仕訳回数テーブル、１８４  仕訳回数テーブル、２００  取引情報提供装置、３００  通信端末、３５０  ユーザ、１０００  コンピュータ、１０１０  ＣＰＵ、１０２０  ＲＯＭ、１０３０  ＲＡＭ、１０４０  通信Ｉ／Ｆ、１０５０  ハードディスクドライブ、１０７０  ＤＶＤドライブ、１０７２  ＤＶＤ−ＲＯＭ、１０８０  入出力チップ、１０８５  グラフィックコントローラ、１０９０  ディスプレイ、１０９２  ホストコントローラ、１０９４  入出力コントローラ
【図１】
2019139381.tif 000004
【図２】
2019139381.tif 000005
【図３】
2019139381.tif 000006
【図４】
2019139381.tif 000007
【図５】
2019139381.tif 000008
【図６】
2019139381.tif 000009
【図７】
2019139381.tif 000010
【図８】
2019139381.tif 000011
【図９】
2019139381.tif 000012
【図１０】
2019139381.tif 000013