JP6983691B2 - 文字列処理装置及びプログラム - Google Patents

文字列処理装置及びプログラム Download PDF

Info

Publication number
JP6983691B2
JP6983691B2 JP2018020452A JP2018020452A JP6983691B2 JP 6983691 B2 JP6983691 B2 JP 6983691B2 JP 2018020452 A JP2018020452 A JP 2018020452A JP 2018020452 A JP2018020452 A JP 2018020452A JP 6983691 B2 JP6983691 B2 JP 6983691B2
Authority
JP
Japan
Prior art keywords
character string
transaction
account
divided
string
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2018020452A
Other languages
English (en)
Other versions
JP2019139381A (ja
Inventor
武志 橋本
伸晃 吉岡
Original Assignee
弥生株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 弥生株式会社 filed Critical 弥生株式会社
Priority to JP2018020452A priority Critical patent/JP6983691B2/ja
Publication of JP2019139381A publication Critical patent/JP2019139381A/ja
Application granted granted Critical
Publication of JP6983691B2 publication Critical patent/JP6983691B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Machine Translation (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Description

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

Claims (14)

  1. 取引の内容を表す取引文字列を取得する文字列取得部と、
    前記取引文字列を2からM文字毎に分割する文字列分割部であって、前記Mは前記取引文字列の文字数である、文字列分割部と、
    前記文字列分割部によって分割された2からM文字の分割文字列のうちの複数の分割文字列と、複数の文字列のそれぞれに対して複数の勘定科目毎のスコアが対応付けられているスコアデータとに基づいて、勘定科目を選択する第1勘定科目選択部と
    を備える文字列処理装置。
  2. 前記文字列分割部は、前記取引文字列を1からM文字毎に分割し、
    前記第1勘定科目選択部は、前記文字列分割部によって分割された1からM文字の分割文字列のうちの複数の分割文字列と、前記スコアデータとに基づいて、勘定科目を選択する、請求項1に記載の文字列処理装置。
  3. 前記第1勘定科目選択部は、複数の勘定科目のそれぞれについて、勘定科目と前記複数の分割文字列に対応する複数のスコアに基づいて導出した確度を比較することによって、勘定科目を選択する、請求項1又は2に記載の文字列処理装置。
  4. 前記第1勘定科目選択部は、勘定科目と前記複数の分割文字列に対応する複数のスコア同士を乗算することによって前記確度を導出する、請求項3に記載の文字列処理装置。
  5. 前記文字列と勘定科目に対応付けられている前記スコアは、当該文字列が取引文字列に含まれている場合に当該勘定科目が当該取引文字列に対応する取引に対して仕訳された回数に基づいて決定される、請求項1から4のいずれか一項に記載の文字列処理装置。
  6. 前記文字列と勘定科目に対応付けられている前記スコアは、当該文字列が取引文字列に含まれている場合に当該勘定科目が当該取引文字列に対応する取引に対して仕訳された回数に予め定められた値を加算した値を、当該文字列が取引文字列に含まれている場合に複数の勘定科目のそれぞれが当該取引文字列に対応する取引に対して仕訳された回数のそれぞれに前記予め定められた値を加算した値を合計した合計値で除算することによって決定される、請求項5に記載の文字列処理装置。
  7. 前記スコアは、取引文字列と当該取引文字列に対応する取引が仕訳された勘定科目とを含む教師データに基づいて決定される、請求項1から6のいずれか一項に記載の文字列処理装置。
  8. 前記スコアは、特定のユーザの会計情報における取引文字列と当該取引文字列に対応する取引が仕訳された勘定科目とを含む特定ユーザ教師データに基づいて決定される、請求項7に記載の文字列処理装置。
  9. 前記第1勘定科目選択部は、前記複数の分割文字列と、複数の文字列のそれぞれに対して前記特定ユーザ教師データを用いて決定された複数の勘定科目毎のスコアが対応付けられている特定ユーザスコアデータに基づいて勘定科目を選択する、請求項8に記載の文字列処理装置。
  10. 複数の文字列のそれぞれに対して、複数のユーザの会計情報における取引文字列と当該取引文字列に対応する取引が仕訳された勘定科目とを含む複数ユーザ教師データを用いて決定された複数の勘定科目毎のスコアが対応付けられている複数ユーザスコアデータに基づいて勘定科目を選択する第2勘定科目選択部と、
    複数の勘定科目のそれぞれについて、前記特定ユーザスコアデータを用いて、勘定科目と前記複数の分割文字列に対応する複数のスコアに基づいて導出された複数の確度のうち最も高い確度が予め定められた閾値より高い場合、前記第1勘定科目選択部によって選択された勘定科目を出力し、当該予め定められた閾値より低い場合、前記第2勘定科目選択部によって選択された勘定科目を出力させる出力制御部と
    を備える、請求項9に記載の文字列処理装置。
  11. 前記第1勘定科目選択部は、取引の種類毎の複数のスコアデータのうち、前記文字列取得部が取得した取引文字列に対応する取引の種類に対応するスコアデータを用いて、前記勘定科目を選択する、請求項1から10のいずれか一項に記載の文字列処理装置。
  12. 前記第1勘定科目選択部は、前記文字列分割部によって分割された2からM文字の分割文字列から、前記分割文字列の長さと、前記取引文字列における前記分割文字列の位置とに基づいて抽出した分割文字列と、前記スコアデータとに基づいて、勘定科目を選択する、請求項1から11のいずれか一項に記載の文字列処理装置。
  13. 前記第1勘定科目選択部は、前記文字列分割部によって分割された2からM文字の分割文字列のうち、特定のユーザの会計情報における取引文字列と当該取引文字列に対応する取引が仕訳された勘定科目とを含む特定ユーザ教師データに含まれる分割文字列から、前記分割文字列の長さと、前記取引文字列における前記分割文字列の位置とに基づいて抽出した分割文字列と、前記スコアデータとに基づいて、勘定科目を選択する、請求項12に記載の文字列処理装置。
  14. コンピュータを、請求項1から13のいずれか一項に記載の文字列処理装置として機能させるためのプログラム。
JP2018020452A 2018-02-07 2018-02-07 文字列処理装置及びプログラム Active JP6983691B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018020452A JP6983691B2 (ja) 2018-02-07 2018-02-07 文字列処理装置及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018020452A JP6983691B2 (ja) 2018-02-07 2018-02-07 文字列処理装置及びプログラム

Publications (2)

Publication Number Publication Date
JP2019139381A JP2019139381A (ja) 2019-08-22
JP6983691B2 true JP6983691B2 (ja) 2021-12-17

Family

ID=67693963

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018020452A Active JP6983691B2 (ja) 2018-02-07 2018-02-07 文字列処理装置及びプログラム

Country Status (1)

Country Link
JP (1) JP6983691B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7448801B2 (ja) 2020-04-13 2024-03-13 弥生株式会社 情報処理装置及びプログラム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3929824B2 (ja) * 2002-05-14 2007-06-13 株式会社日本デジタル研究所 会計処理装置および自動仕訳プログラムを記録したコンピュータ読み取り可能な記憶媒体
JP5936284B2 (ja) * 2014-07-14 2016-06-22 フリー株式会社 会計処理装置、会計処理方法及び会計処理プログラム
JP6000407B1 (ja) * 2015-05-26 2016-09-28 ソリマチ株式会社 会計処理装置、会計処理プログラム及び会計処理装置の制御方法
JP6161229B1 (ja) * 2017-02-21 2017-07-12 アーバン・コーポレーション株式会社 自動仕訳システムおよび自動仕訳プログラム
WO2018179411A1 (ja) * 2017-03-31 2018-10-04 ファーストアカウンティング株式会社 会計処理システム及び会計処理方法

Also Published As

Publication number Publication date
JP2019139381A (ja) 2019-08-22

Similar Documents

Publication Publication Date Title
CN108846520B (zh) 贷款逾期预测方法、装置以及计算机可读存储介质
US20130282479A1 (en) System for generating scores related to interactions with a revenue generator
KR102019860B1 (ko) 사용자의 네트워크 활동 정보에 기초한 신용 평가 등급 산출 장치 및 그 동작 방법
US9495775B2 (en) System and method for visualization of categories
US8606608B2 (en) Offline counterfactual analysis
JP2016522475A (ja) 複数ヴァージョンをテストするための方法及びデバイス
US20210350395A1 (en) Intelligent prospect assessment
US20080109726A1 (en) Interactive user interface for displaying correlation
US10922633B2 (en) Utilizing econometric and machine learning models to maximize total returns for an entity
US20230259831A1 (en) Real-time predictions based on machine learning models
CN111768230A (zh) 客户画像***的标签推荐方法、装置及计算机设备
US11321771B1 (en) System and method for detecting unseen overdraft transaction events
CN112950218A (zh) 一种业务风险评估方法、装置、计算机设备和存储介质
JP2002109208A (ja) 信用リスク管理方法、分析モデル決定方法、分析サーバ及び分析モデル決定装置
JP6983691B2 (ja) 文字列処理装置及びプログラム
US20160239559A1 (en) Document classification system, document classification method, and document classification program
JP2018142190A (ja) 判断支援システム及び判断支援方法
KR20070070062A (ko) 서비스 평가 방법, 시스템 및 컴퓨터 프로그램 제품
US20170032707A1 (en) Method for determining a fruition score in relation to a poverty alleviation program
US11727402B2 (en) Utilizing machine learning and network addresses to validate online transactions with transaction cards
US11295325B2 (en) Benefit surrender prediction
US20240104584A1 (en) Graphical, incremental attribution model based on conditional intensity
US20220129792A1 (en) Method and apparatus for presenting determination result
KR102244705B1 (ko) 학습데이터 생성을 위한 크라우드소싱 기반 유사 프로젝트의 작업 단가 역전 조정을 통한 작업자 유입 조절 방법
US20210342808A1 (en) Utilizing machine learning to determine whether an in-person customer follows a merchant on social media

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201218

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20211029

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20211109

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211124

R150 Certificate of patent or registration of utility model

Ref document number: 6983691

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350