(57)【要約】      （修正有）【課題】組織のトランザクションデータの事前の詳細な知識を必要としない、支出データをカテゴリ化する大幅に自動化された方法を提供する。【解決手段】クリーンデータセット（ＣＤＳ）を生成するために、トランザクションデータからテキストデータに自然言語処理を適用する。トランザクションについてのログは、類似度に基づいてクラスタリングされ、最小データセット（ＭＤＳ）を形成する。サブセットの各クラスタからログを手動でカテゴリ化するようにユーザに要求することによって高値クラスタのサブセットを選択する。次いで、手動でカテゴリ化されたクラスタのサブセットを使用してモデルが訓練され、残りのログについての支出カテゴリを高精度で予測するために使用される。ＡＩエンジンは、クライアントコンテキストに基づいて予測を自動的に分析し、機械学習モデルを自動調整するか、手動でカテゴリ化されるクラスタの新しいサブセットを識別する。【選択図】図１Ａ
2020115346.tif 000002
【特許請求の範囲】
【請求項１】
トランザクションレコードを処理するためのコンピュータ実装方法であって、
トランザクションデータを受け取ることと、
前記トランザクションデータに基づき、複数のトランザクションについてのログを備えるクリーンデータセット（ＣＤＳ）を生成することと、ここにおいて、各ログは、少なくとも一部が自然言語処理（ＮＬＰ）を使用して処理されているテキストに関連付けられており、
前記関連付けられたテキストと類似度閾値に少なくとも部分的に基づいて、前記ＣＤＳから前記ログの少なくとも一つのサブセットをクラスタリングすることと、ここにおいて、クラスタリングによりクラスタのセットを生じ、
前記クラスタのセットの特定のサブセットを識別することと、前記特定のサブセットの各クラスタについて代表的なログについてのトランザクションタイプのユーザ決定を受け取ることと、ここにおいて、受け取ったトランザクションタイプは前記クラスタの各々の各ログに関連付けられており、
クラスタの前記特定のサブセットと前記関連付けられたトランザクションタイプからログを使用して予測モデルを訓練することと、
前記予測モデルを使用して、トランザクションタイプと未だ関連付けられていない前記ＣＤＳにおけるログについてのトランザクションタイプを決定することと、
トランザクションレポートを生成することと、を備え、前記トランザクションレポートは、前記ログと関連付けられたトランザクションタイプに少なくとも部分的に基づいて決定された複数の計算されたパラメータを備える、
コンピュータ実装方法。
【請求項２】
前記クラスタのセットの追加サブセットを識別することと、ベースマッピングルールのセットを使用して、クラスタの前記追加サブセットの前記ログと関連付けられるトランザクションタイプを決定することと、をさらに備え、
ここにおいて、前記予測モデルを訓練することは、前記追加サブセットおよび前記関連付けられたトランザクションタイプから前記ログを使用して前記モデルを訓練することをさらに備える、
請求項１に記載のコンピュータ実装方法。
【請求項３】
クラスタの前記特定のサブセットを識別することは、各クラスタに関連付けられたトランザクション値に少なくとも部分的に基づいて、前記サブセットについてクラスタを選択することを備える、
請求項１に記載のコンピュータ実装方法。
【請求項４】
前記クラスタのセットの前記特定のサブセットを識別することは、前記サブセットにおける各クラスタ間の距離メトリックに少なくとも部分的に基づいて、クラスタを選択することを備える、
請求項１に記載のコンピュータ実装方法。
【請求項５】
前記ＣＤＳを生成することは、範囲外の、または重複するログを取り除くことを備える、
請求項１に記載のコンピュータ実装方法。
【請求項６】
トランザクションレコードを処理するためのコンピュータ実装方法であって、
複数のログを備えるトランザクションデータを受け取ることと、前記ログは関連付けられたテキストを有し、
前記関連付けられたテキストと類似度閾値に基づいて、前記ログの少なくとも一つのサブセットをクラスタリングすることと、ここにおいて、クラスタリングによりクラスタのセットを生じ、
前記クラスタのセットの特定のサブセットの各々についてトランザクションタイプのユーザ決定を受け取ることと、ここにおいて、受け取ったトランザクションタイプは前記クラスタの各々の各ログに関連付けられ、
クラスタの前記特定のサブセットと前記関連付けられたトランザクションタイプからログを使用して予測モデルを訓練することと、
前記予測モデルを使用して追加ログについてトランザクションタイプを予測することと、
を備える、
コンピュータ実装方法。
【請求項７】
前記クラスタのセットの追加サブセットを識別することと、ベースマッピングルールのセットを使用して、クラスタの前記追加サブセットの前記ログと関連付けられるトランザクションタイプを決定することと、をさらに備え、
ここにおいて、前記予測モデルを訓練することは、前記追加サブセットおよび前記関連付けられたトランザクションタイプから前記ログを使用して前記モデルを訓練することをさらに備える、
請求項６に記載のコンピュータ実装方法。
【請求項８】
前記トランザクションデータからログのクリーンデータセット（ＣＤＳ）を生成することをさらに備え、ここにおいて、前記ＣＤＳを生成することは自然言語処理（ＮＬＰ）を使用して前記ログと関連付けられた前記テキストの少なくとも一部を処理することを備える、
請求項６に記載のコンピュータ実装方法。
【請求項９】
前記ＣＤＳを生成することは、範囲外の、または重複するログを前記複数のログから取り除くことを備える、
請求項８に記載のコンピュータ実装方法。
【請求項１０】
前記クラスタについて前記トランザクションタイプの前記ユーザ決定の各々を受け取る前に、前記特定のサブセットのクラスタについて代表的なログを表示するために供給することをさらに備える、
請求項６に記載のコンピュータ実装方法。
【請求項１１】
表示のために、前記特定のサブセットのクラスタについて２個の代表的なログを供給することと、
前記２個の代表的なログについて前記トランザクションタイプの異なるユーザ決定を受け取ることと、
前記２個の代表的なログについて前記トランザクションタイプについての前記異なるユーザ決定に少なくとも部分的に基づいて前記クラスタを分割することと、
をさらに備える、
請求項６に記載のコンピュータ実装方法。
【請求項１２】
人間参加型方法を使用し訓練された前記予測モデルによって提供された前記予測タイプをバリデートすることをさらに備える、
請求項６に記載のコンピュータ実装方法。
【請求項１３】
クラスタの前記特定のサブセットを識別することは、各クラスタに関連付けられたトランザクション値に少なくとも部分的に基づいて、前記サブセットについてクラスタを選択することを備える、
請求項６に記載のコンピュータ実装方法。
【請求項１４】
前記予測モデルによって予測された前記トランザクションタイプの自動化された品質およびエラー分析を実行することと、
前記品質およびエラー分析に基づいて少なくとも一つのモデルパラメータを変更することと、
をさらに備える、
請求項６に記載のコンピュータ実装方法。
【請求項１５】
前記予測モデルによって予測された前記トランザクションタイプの自動化された品質およびエラー分析を実行することと、
前記品質およびエラー分析に基づいて、手動タグ付けのために１または複数のログを識別することと、
前記１または複数のログについてトランザクションタイプのユーザ決定を受け取ることと、
をさらに備える、
請求項６に記載のコンピュータ実装方法。
【請求項１６】
前記１または複数のログおよび前記関連づけられたトランザクションタイプを使用して、前記予測モデルを訓練することをさらに備える、
請求項６に記載のコンピュータ実装方法。
【請求項１７】
前記追加ログについてのトランザクションタイプを予測することは、９５％より多くの前記複数ログと関連付けられたログを生じる、
請求項６に記載のコンピュータ実装方法。
【請求項１８】
トランザクションデータの他のセットからログについてトランザクションタイプを予測するために前記訓練されたモデルを使用することをさらに備える、
請求項６に記載のコンピュータ実装方法。
【請求項１９】
トランザクションレコードを処理するための命令を格納する非一時的コンピュータ可読記憶媒体であって、前記命令は、プロセッサにより実行されると、プロセッサに、
複数のログを備えるトランザクションデータを受け取ることと、前記ログは関連付けられたテキストを有し、
前記関連付けられたテキストと類似度閾値に基づいて、前記ログの少なくとも一つのサブセットをクラスタリングすることと、ここにおいて、クラスタリングによりクラスタのセットを生じ、
前記クラスタのセットの特定のサブセットの各々についてトランザクションタイプのユーザ決定を受け取ることと、ここにおいて、受け取ったトランザクションタイプは前記クラスタの各々の各ログに関連付けられ、
クラスタの前記特定のサブセットと前記関連付けられたトランザクションタイプからログを使用して予測モデルを訓練することと、
前記予測モデルを使用して追加ログについてトランザクションタイプを予測することと、
を実行させる、
非一時的コンピュータ可読記憶媒体。
【請求項２０】
前記プロセッサにより実行されると、前記プロセッサに、
前記クラスタのセットの追加サブセットを識別することと、ベースマッピングルールのセットを使用して、クラスタの前記追加サブセットの前記ログと関連付けられるトランザクションタイプを決定することと、
前記追加サブセットと前記関連付けられたトランザクションタイプから前記ログを使用して前記予測モデルを訓練することと、
を実行させる命令をさらに備える、
請求項１９に記載の非一時的コンピュータ可読記憶媒体。
【発明の詳細な説明】
【背景技術】
【０００１】
[0001]予算編成は、組織がコストに透明性をもたらし、ボトムラインを改善する機会を提供するための重要な態様である。ゼロベースの予算編成（ＺＢＢ）は、予算がゼロから効果的に構築され、コストオーナーによる費用の再評価を強制する、予算編成の方法である。予算は、各予算が前の期間よりも高いか低いかにかかわらず、来たるべき期間に対する企業の支出要件を評価するために価格および消費レバー（ｌｅｖｅｒｓ）を使用して、活動の調査を通して生成される。ＺＢＢは、予算と特定の機能、ロケーション、およびビジネスユニット（ｂｕｓｉｎｅｓｓ  ｕｎｉｔｓ）に対するそれぞれの支出を結び付けて、予算編成プロセスを通して推進されるトップレベルの戦略的ゴールを可能にし、コストをグループ化することによって以前の結果と現在の見込み（ｅｘｐｅｃｔａｔｉｏｎｓ）に対する測定を可能にする方法で戦略的優先付けを可能にする。
【０００２】
[0002]ゼロベースの予算編成は、前の期間の予算に対する包括的な増加または減少などの典型的な予算編成の落とし穴を回避することによってコストを下げるのに役立つが、これは一般に、従来のコストベースの予算編成よりもはるかに長い時間を要する時間のかかるプロセスである。場合によっては、価格および消費ドライバ（ｄｒｉｖｅｒｓ）の真の性質を理解し、支出のどの部分が明確な価値を有し、どの部分が無駄であるかを理解するために、組織はトランザクションデータを使用する。場合によっては、これは、何千または何百万ものトランザクションがソートされ（ｓｏｒｔｅｄ）、分類され（ｃｌａｓｓｉｆｉｅｄ）、カテゴリ化される（ｃａｔｅｇｏｒｉｚｅｄ）ことを必要とし得る。会計による不正確な分類、組織化されていないレコード（ｒｅｃｏｒｄ）の保持、非効率的なストレージ、および基礎となる財務データに関する他の関連する問題は、そのようなドライバを検討することと、費用を正確に再カテゴリ化することを困難にする。従来のアプローチは、データを再分類するためにかなりの人的努力を必要とし、しばしば、トランザクションレベルデータを検討し、関連するコストカテゴリに再分類するために、何百もの個人の作業を必要とする。しかしながら、異なる個人によるコスト分類の知識は、非常に不透明で反復不可能なカテゴリ化をもたらし得るため、人間によるカテゴリ化は、より大きな問題の犠牲となり得る。トランザクションレベルデータの評価（ａｓｓｅｓｓｉｎｇ）および分類に対するいくつかのより最近のアプローチでは、この手動の労力を補うため機械学習技法が使用される。このようなアプローチでさえ、これらを正確にカテゴリ化するために、特定のデータセットの詳細な知識を必要とする。これらのアプローチは、支出データの手動カテゴリ化を低減することに成果を挙げ得るが、支出データをカテゴリ化するためのモデルおよびシステムは、多くの場合、クライアントおよびクライアントのビジネスに高度に特有である。データをカテゴリ化するために使用されるモデルは、一般に、他のクライアント、具体的には、異なる産業部門のクライアントに引き継げるものではない。その結果、これらのモデルの精度は一般に不十分である。
【発明の概要】
【０００３】
[0003]本開示による様々な実施形態が、図面を参照して説明される。
【図面の簡単な説明】
【０００４】
【図１Ａ】[0004]図１Ａは、カテゴリ化された支出データを提示し、ユーザが支出データを探索することを可能にするためのアプリケーションインタフェースを示す図である。
【図１Ｂ】[0004]図１Ｂは、カテゴリ化された支出データを提示し、ユーザが支出データを探索することを可能にするためのアプリケーションインタフェースを示す図である。
【図２Ａ】[0005]図２Ａは、生の支出データ（ｒａｗ  ｓｐｅｎｄ  ｄａｔａ）に含まれ得るログまたはインボイスの例を示す図である。
【図２Ｂ】[0005]図２Ｂは、生の支出データに含まれ得るログまたはインボイスの例を示す図である。
【図３】[0006]図３は、個々のログの特性を記述するログベクトルを含み得る用語発生（ｔｅｒｍ−ｏｃｃｕｒｒｅｎｃｅ）行列を示す図である。
【図４】[0007]図４は、ログを階層的にクラスタリングすることができる１つの方法を示す樹状図を示す図である。
【図５】[0008]図５は、費用ログをクラスタリングし、カテゴリ化する態様を示す図である。
【図６】[0009]図６は、費用ログのカテゴリを予測するために１つまたは複数の機械学習技法を使用するモデルの態様を示す図である。
【図７】[0010]図７は、ここで説明される方法のベースマッピング、高値タグ付け（ｈｉｇｈ−ｖａｌｕｅ  ｔａｇｇｉｎｇ）、およびＡＩマッピング段階（ｐｈａｓｅｓ）の間に支出データがどのようにカテゴリ化され得るかの一例を提供するプロットである。
【図８】[0011]図８は、いくつかの実施形態において使用され得る支出データをカテゴリ化するための方法を提供する図である。
【発明を実施するための形態】
【０００５】
[0012]本開示の様々な実施形態によるシステムおよび方法は、データをカテゴリ化および分析するための従来の手法において経験される前述のおよび他の問題点のうちの１つまたは複数を克服し得る。
【０００６】
[0013]特に、本明細書で説明される様々な実施形態は、総勘定元帳（ＧＬ）、買掛金（ａｃｃｏｕｎｔｓ  ｐａｙａｂｌｅ（ＡＰ））、購入注文（ＰＯ）情報を含むことができる支出データをカテゴリ化するための方法を提供し、これには、トランザクション、インボイス、支出レシート、サプライヤベース（ｓｕｐｐｌｉｅｒ−ｂａｓｅｄ）のデータセット、および他の文書化された費用が含まれるが、これらに限定されず、本明細書ではまとめて支出ログ（または単にログ）と称する。すべての関連するデータシステムおよび／またはソースから支出データを収集した後、データはクリーンデータセット（ｃｌｅａｎｅｄ  ｄａｔａ  ｓｅｔ（ＣＤＳ））を生成するために処理され、集約される。ＣＤＳは、あまり重要でない情報を除去するためにフィルタリングされた、および／またはログカテゴリ化に使用される情報を標準化するために処理された支出データを含む。場合によっては、ＣＤＳは、支出情報をフィールドタイプ（例えば、総コスト、ベンダ（ｖｅｎｄｏｒ）、取引日（ｔｒａｎｓａｃｔｉｏｎ  ｄａｔｅ）など）によって分解する組織化された構造を含む。場合によっては、支出データを標準化することは、自然言語処理動作をログに関連付けられたテキスト情報に適用することを伴う。次に、ＣＤＳからのログは、単語、コスト、日付、または他のパターンおよび特徴の類似度に基づいてグループにクラスタリングされ、より小さいサイズの新しいデータセット、すなわち最小データセット（ｍｉｎｉｍａｌ  ｄａｔａ  ｓｅｔ（ＭＤＳ））を生成する。ＭＤＳは、同じタイプのトランザクション（例えば、「タクシー運賃」および「サプライヤＡ」）を表すログのグループを構成する。クラスタリング動作に基づいて、同じクラスタ内の各ログは、同じコストカテゴリにマッピングされ得る。
【０００７】
[0014]場合によっては、階層的なカテゴリ構造は、クラスタリングされた構造に少なくとも部分的に決定され、場合によっては、カテゴリ構造は特定のクライアントニーズ（ｃｌｉｅｎｔ  ｎｅｅｄｓ）に基づいている。ログはその後、段階において、タグ付けされ、またはカテゴリ化され、各クラスタから１または複数の代表的なログが、当該クラスタに関連付けられたログの各々についてのカテゴリ情報を決定するために使用される。第１段階では、ログまたはクラスタのいくつかがスマートアルゴリズム（ｓｍａｒｔ  ａｌｇｏｒｉｔｈｍ）及び所定のルールによってカテゴリ化され、例えば、特定の基準を満たしたクライアントコンテキスト（ｃｌｉｅｎｔ  ｃｏｎｔｅｘｔ）情報（例えばアカウント（ａｃｃｏｕｎｔ）構造）を含むログまたはクラスタは自動的にカテゴリ化され得る。第２段階では、高値クラスタが選択され、自動的にカテゴリ化される。第３段階では、機械学習モデルがカテゴリ化された支出データを使用して訓練され（ｔｒａｉｎｅｄ）、残りのカテゴリ化されていない支出データを自動的にカテゴリ化するために使用される。場合によっては、カテゴリ化の正解率（ａｃｃｕｒａｃｙ）を高めるために、人間参加型（Ｈｕｍａｎ−ｉｎ−ｔｈｅ−Ｌｏｏｐ  （ＨＩＴＬ））方法を使用できる。これにより、アルゴリズムはモデル予測性能（ｐｅｒｆｏｒｍａｎｃｅ）の質を決定する。特定の閾値を下回る支出の部分について質を決定する場合、アルゴリズムはモデルパラメータを調整するか、手動でカテゴリ化すべき追加ログを識別する。第２、第３段階は、その後、支出の９５％から１００％がカテゴリ化されるまで繰り返される。
【０００８】
[0015]従来の方法と異なり、ここで開示された方法は、クライアントのプラクティス（ｐｒａｃｔｉｃｅ）の先行する詳細な知識がない場合においても適用できる。例えば、開示された方法を使用する際には、先行カテゴリ化の拡張データベース（例えば、サプライヤマッチング（ｓｕｐｐｌｉｅｒ  ｍａｔｃｈｉｎｇ））は必要ない。支出データのＭＤＳを生成すること、類似のトランザクションに対応するログをクラスタリングすること、高値クラスタのユーザカテゴリ化を要求することの動作を通じて、トレーニングモデルに適切であり、その結果、残りのログを高い正解率で自動的にカテゴリ化するために使用できるデータの好適な訓練（ｔｒａｉｎｉｎｇ）セットを素早く取得することができる。ログをクラスタリングすることによって、カテゴリ決定の数は著しく減少し、その結果、処理を速め、より少ないリソースが集約される。開示された方法はさらに機械学習技法において、処理を労力集約を低減し、時間経過により正確性を増すものとすることができる。これらの、またその他の効果は以下の記載により明らかとなるだろう。
【０００９】
[0016]図１Ａは、多くの場合支出キューブ（ｓｐｅｎｄ  ｃｕｂｅ）と称される、ユーザにカテゴリ化された支出データを表示するためのアプリケーションを示す。例示されたインタフェース１００では、様々なレベル１カテゴリ１０４ａについての総費用１０２が示され、ユーザにカテゴリ化された支出データの内訳を伝えるための可視化データ１０６（グラフ、チャート、図、等）も示される。インタフェースは、ユーザに支出データを探索可能にするための、例えば、ユーザが選択した期間（例えば、１か月、６か月、１年、その他の支出データが提供される選択された期間）における組織の支出を素早く理解することができるような、数々の選択可能な特徴を提供してもよい。支出キューブにより、全コストパッケージに渡るもっとも細分化された（ｇｒａｎｕｌａｒ）レベルにおいて透明性を提供することで、ユーザは、会社の組織ユニットに渡る、および組織ユニット間で支出がどのように分配されたかを把握することができる。
【００１０】
[0017]図１Ｂは、カテゴリ化された支出データの高精細ビュー（ｈｉｇｈｅｒ  ｒｅｓｏｌｕｔｉｏｎ  ｖｉｅｗ）を示すアプリケーションにより提供されたスクリーンショット１０１を示す。そのため、図１Ａのスクリーンショットに示されたものより、より詳細な分析が可能である。追加的な詳細は、様々な費用ログがカテゴリ化された階層的なカテゴリ構造を使用して提供される。例示されたインタフェースでは、レベル１カテゴリ１０４ａのそれぞれが１または複数のレベル２カテゴリ１０４ｂにより構成され、レベル２カテゴリのそれぞれは、１または複数のレベル３カテゴリ１０４ｃにより構成される。３層の階層的な構造が示されているが、それより多くのまたは少ない層であってもよい。場合によっては、支出データは、階層的なカテゴリ構造内に収まらない、１または複数のログもしくはインボイスカテゴリに基づき検索され、または表示され得る。これは、支出カテゴリ１０４ａ〜１０４ｃのコンテキストにおいて実行される。例えば、国際的組織の資産費用（ｐｒｏｐｅｒｔｙ  ｅｘｐｅｎｓｅｓ）１０８は、組織が事業を営む国によって細分化され得る。場合によっては、ユーザは費用データを分類するために有用であろうデータ基準、ロケーション（ｌｏｃａｔｉｏｎ）基準、部門（ｄｅｐａｒｔｍｅｎｔ）基準、その他任意の選択された基準を満たす費用ログに基づいて支出データにフィルタをかけてもよい。その他の場合によっては、ユーザは、代替の階層的なカテゴリ構造に基づき、支出データを検索することができる。例えば、ユーザは、ビジネスユニット、サブビジネスユニット、または、地域、国等のような、会社の様々な組織的ユニット間でコストがどのように分配されているかを把握するために代替の階層的なカテゴリ構造を選ぶことができるかもしれない。
【００１１】
[0018]場合によっては、アプリケーションは、カテゴリ化された支出データに基づいてコストメトリック（ｃｏｓｔ  ｍｅｔｒｉｃｓ）を計算するために使用されてもよい。場合によっては、アプリケーションは、ユーザに支出データに基づいて勧告（ｒｅｃｏｍｍｅｎｄａｔｉｏｎ）またはワーニング（ｗａｒｎｉｎｇｓ）を提供してもよい。例えば、アプリケーションは、ユーザに、特定の支出カテゴリは過去の予算編成期間にわたって非常に可変的であること、また、ユーザまたは組織はそれなりの計画を立てるべきであることや変動源を調査すべきであることを警告してもよい。現在知られている、または後に開発される支出データを表示し、さらに分析する多くのソフトウェアツールは、ここに開示された方法により生成されたカテゴリ化されたデータセットとともに使用されてもよい。簡単ために、そのような支出データを表示し、分析する既知のツールについてはここでは詳しく触れない。
【００１２】
[0019]ここで使用されるように、クライアントは、ビジネス費用（クライアント支出とも称する）のログを維持する任意の組織、ビジネス、個人、グループ、またはエンティティであってよい。一般的に、ここで開示された方法は、クライアント以外の者によって実行され得る。しかし、これは必要的ではない。典型的には、クライアントのデータ要求は支出データのカテゴリ化より先に決定される。データ要求の決定は、例えば、何レベルの階層的なカテゴリ構造が使用されるかを決定すること、またはどのような追加カテゴリログが関連付けられるかを決定することを含んでもよい。例えば、あるクライアントは、地理的なロケーション、日付、関連する人員などによって費用を分類したいと考えることがある。場合によっては、クライアントは、費用ログをカテゴリ化したい階層的なカテゴリ構造を既に使用していることがある。
【００１３】
[0020]場合によっては、支出データのより基礎的なカテゴリ化（例えば、より少ない層のカテゴリ構造）をコストを抑えてクライアントに提供できる。クライアント要求を決定する準備段階は、どの支出データをカテゴリ化できるかという詳細なレベルを決定し、または推定するために使用することもできる。例えば、クライアントの費用レコードの大部分が不完全であるか、十分な詳細を欠く場合、クライアントは結果の信用度がどのように影響する可能性があるか、また、どのぐらい詳細に（例えば、何層）費用ログがカテゴリ化され得るかについてアドバイスを受けることができる。場合によっては、この段階は、損益計算書、総勘定元帳、ＡＰおよびＰＯ認定調整報告書を含むクライアントデータの手動または自動レビューを含む。典型的には、これは、クライアントに、支出全体のカテゴリ化の価値の可能性を示すために行われる。経験が示すように、それは、支出の透明性が欠如しているために大幅な節約の可能性が失われているような特に細分化されたレベルである。
【００１４】
[0021]データ要求が決定された後、生の支出データは集約される。生の支出データは、例えば、ビジネス費用のインボイス、レシート（ｒｅｃｅｉｐｔｓ）の紙および電子コピー、その他の書類を含んでもよい。場合によっては、生の支出データは、紙の記録からスキャンされ、電子化される必要があるかもしれない。場合によっては、生の支出データは、スキャンはされているが（例えば、ＪＰＥＧ、ＰＤＦ、ＰＮＧイメージ）検索可能なテキストを有さないインボイスを含んでもよい。場合によっては、費用ログは異なる言語によるものでもよい。そのような場合、イメージデータからのテキストは、高度な光学式文字認識（ＯＣＲ）技法を使用して認識することができる。クライアントのレコードの質によって、データ収集は様々な移行（ｍｉｇｒａｔｉｏｎ）、トランザクション、復号化、符号化動作を含む。
【００１５】
[0022]生の支出データを集約する場合、ログは、ここではコストデータベースと称する共通データベースにおいて格納される。コストデータベースは例えば、構造化照会言語（ＳＱＬ）データベース、または任意の他のリレーショナルもしくは非リレーショナルデータベースであってもよい。データベースは、単一のメモリデバイスにおいて集約され、多数のストレージデバイスにわたって分配されてもよく、例えばクラウドに格納されてもよい。場合によっては、コストデータベースは、単一の予算編成期間についてログを格納するためだけに使用される。場合によっては、コストデータベースは過去の支払期間からのログを含んでもよく、それらは比較のために保存され得る。
【００１６】
[0023]図２Ａ、図２Ｂは、クライアントの生の支出データのターンオーバ（ｔｕｒｎｏｖｅｒ）に含まれ得るログの例を示す。図２Ａは、リストされたフィールドの可読性（ｒｅａｄａｂｉｌｉｔｙ）を支援するために適切にフォーマット化された（ｆｏｒｍａｔｔｅｄ）インボイスの例を示す。従来の自動または手動の動作においては、インボイスのクリアフォーマット化（ｃｌｅａｒ  ｆｏｒｍａｔｔｉｎｇ）は不可欠なデータフィールドが正確に識別される可能性（ｌｉｋｅｌｉｈｏｏｄ）を高めることができる。一方で、図２Ｂは、支出データの認識を支援するフォーマット化を含まないインボイスを示す。フォーマット化の欠落は、機械翻訳または先行のファイルタイプ変換の結果である可能性がある。場合によっては、ログはクリアフォーマット化なしで初めから生成され得る。図２Ｂに示されるような費用ログは、人間による関連する情報の識別は困難である。これらのインボイスはコンピュータがログデータを分析するために使用される場合にも、エラーを発生させ得る。時折コンピュータは分離されるべきテキストフィールドを組み合わせることがあり、支出データの無効な、または矛盾した分析の結果を招き得る。例えば、不適切なフォーマット化はデータフィールドをコストフィールドと組み合わせるといった結果を招き得る。ログデータに自然言語処理（ＮＬＰ）技法を適用することで、多くのフォーマット化の障害を避けることができる。場合によっては、ＮＬＰ動作は、自動化された分析を防ぐフォーマット化を施したログのみに適用してもよい。場合によっては、ＮＬＰ動作は、支出データのフォーマット化を正規化するため、すべてのログに適用される。
【００１７】
[0024]ログを分類およびカテゴリ化する速度を速めるため、集約されたクリーンデータセット（ｃｏｎｓｏｌｉｄａｔｅｄ  ｃｌｅａｎｅｄ  ｄａｔａ  ｓｅｔ（ＣＤＳ））を生成するために、コストデータは最初にクリーンにされ（ｃｌｅａｎｅｄ）、前処理される。ＣＤＳは破損、重複、または情報価値のないデータを取り除いたクリーンで明瞭な記述による支出データを含む。ログ分類の基礎としてＣＤＳを使用することは、カテゴリ化の効率と速度を大幅に改善し、ログデータを迅速にまたは正確に処理する人間またはコンピュータの能力の妨げとなり得る不必要な情報と不明瞭なフォーマット化を排除することができる。
【００１８】
[0025]ＣＤＳの生成は重複するトランザクションデータを取り除くためのフィルタ動作を伴い得る。重複するトランザクションデータは、インボイスデータが複数のロケーションに保存されている場合や、クライアントのレコード内に複数回保存されている場合にしばしば生じる。これらの重複するトランザクションを識別することを怠ると、エラーを生じ、また事後的に訂正するために非常に多くの労力を必要とし得る。更に悪いことには、重複を識別できないことは、予算が誤ったデータを前提に構築された場合、不良な予算編成を招き得る。場合によっては、各ログについてテキストデータの比較に基づき、同一のまたはマッチングする（ｍａｔｃｈｉｎｇ）エントリーが自動的に決定され、取り除かれてもよい。場合によっては、重複のまたはマッチングするログが識別され、ユーザは、ログが重複していることを検証するよう要求されてもよい。
【００１９】
[0026]クリーンデータセットを生成する際、減価償却（ｄｅｐｒｅｃｉａｔｉｏｎ）、償却（ａｍｏｒｔｉｚａｔｉｏｎ）、および税金などの様々な範囲外取引も除去することができる。場合によっては、内部の財務の動き（例えば、見越額と戻入（ａｃｃｒｕａｌｓ  ＆  ｒｅｖｅｒｓａｌｓ））、「価値のない」トランザクション、破損されたデータを含むログは取り除かれる。ＣＤＳが正確であり、範囲外または重複のトランザクションを含まないことを検証するために、ＣＤＳにおけるログデータにより表される総コストは、例えば、対応する期間の損益計算書または試算表に記録されたクライアントのベースライン値（ｂａｓｅｌｉｎｅ  ｖａｌｕｅｓ）と比較される。実質的な矛盾や不一致が識別された場合、ログにおける識別されたエラーを訂正するか、生データにおいて欠落しているトランザクションを考慮するためにコストデータベースに追加ログを追加することによって、相違を調整することができる。ＣＤＳにおける支出データが、損益計算書（または他の同等な財務書類）に示された値にトレースバックする（ｔｒａｃｅｄ  ｂａｃｋ）ことができる場合、引き続きカテゴリ化された支出データは総支出を正確に表しているものとして信用できる。
【００２０】
[0027]ＣＤＳを生成する際、各トランザクションの後続の分析を支援するために、様々な自然言語処理（ＮＬＰ）ステップがコストデータに適用される。これらの動作は関連するキーワードを決定することと、クラスタリングのためのトランザクション間の関係を決定することを支援することができる。これらのＮＬＰ動作のいくつかは、（１）小文字テキストへの変換、（２）重複した単語の削除、（３）句読点の削除、（４）英数字以外の文字の削除、（５）数字の削除（場合によっては、特定のフィールドからのみ）、（６）（場合によっては）閾値（例えば２文字）より少ない数の文字の削除、（７）文字と数字の組合せとして識別されるコードの削除、（８）単一言語（例えば、英語）への翻訳、（９）単語を基本辞書形式に変換すること（例えば、「ｅｘｐｅｎｓｅｓ」は「ｅｘｐｅｎｓｅ」になる）による単語の分類（ｌｅｍｍａｔｉｚｉｎｇ）、（１０）月名と省略形の削除、（１１）「ｆｏｒ」、「ｔｈｅ」といったストップワード（ｓｔｏｐ  ｗｏｒｄｓ）の削除、（１２）都市名の削除、（１３）固有名詞と固有名の削除、（１４）サプライヤフィールドがない場合はサプライヤファミリ名の置換、（１５）完全な記載（ｆｕｌｌ  ｄｅｓｃｒｉｐｔｉｏｎ）で表示されている場合はサプライヤ名の削除、（１６）１つまたは複数のカテゴリでの出現のような所定のリストまたはアドホック分析に基づいたキーワードの選択、（１７）用語出現頻度（ｔｅｒｍ  ｆｒｅｑｕｅｎｃｙ）−逆文書頻度（ｉｎｖｅｒｓｅ  ｄｏｃｕｍｅｎｔ  ｆｒｅｑｕｅｎｃｙ（ＴＦ−ＩＤＦ））のような情報スコアリング（ｉｎｆｏｒｍａｔｉｖｅ  ｓｃｏｒｉｎｇ）の使用、および（１８）固有表現抽出（Ｎａｍｅｄ  Ｅｎｔｉｔｙ  Ｒｅｃｏｇｎｉｔｉｏｎ）のための機械学習モデルの使用を含む。各ログに適用されるＮＬＰ動作は、これより多くても少なくてもよい。さらに、いくつかのＮＬＰ動作はトランザクションのあるフィールドまたは部分にのみ適用されてもよい。例えば、場合によっては、ＮＬＰ動作はインボイス記載フィールドにのみ適用され、例えば、サプライヤ名やサプライヤの連絡先のようなフィールドには適用されない。
【００２１】
[0028]ＣＤＳを生成、バリデート（ｖａｌｉｄａｔｉｎｇ）した後、１または複数のクラスタリングアルゴリズムは、最小データセット（ＭＤＳ）を構築するために、類似度に基づいてログをグループにクラスタリングするために使用される。十分類似する場合、ログは同一のカテゴリに属すると推定され、まとめてタグ付けされる。これにより、最終的に同一カテゴリ指定を受けるであろう複数の類似するログを個別に評価し、カテゴリ化する必要がなくなる。例えば、あるクラスタが５００個のログ有する場合、すべての５００個の費用ログは個別にではなく、一括してカテゴリ化される。これは、コストデータベースにおいてログをカテゴリ化するのに必要な労力を大きく減少する。
【００２２】
[0029]クラスタリングの際、ＣＤＳからのクリーンログデータが考慮される。いくつかの実施形態において、各ログについてのログベクトルはＣＤＳに含まれる関連したテキストに基づいて決定される。これらのログベクトルは、ログにおいて見つけられた単語によってログを特徴づけるために使用される。上述のように、ＣＤＳは１または複数の自然言語処理動作で処理された各費用ログについてのテキストを含む。テキストデータにおいて実行されるＮＬＰ動作は、例えば、有意な意味を伝達しない「ａ」、「ｔｈｅ」、または「ｉｎ」等のストップワードを削除すること、固有名詞を削除すること、単語を原形（ｂａｓｅ  ｆｏｒｍ）に返還することを含む。ＮＬＰ動作は、クラスタリングの目的のため容易に比較され得るように、ログ間でテキストを標準化する助けとなる。
【００２３】
[0030]場合によっては、コストデータベースは、ＭＤＳにない追加情報を含んでもよい。そのような追加情報は、ログがＭＤＳ内の情報のみからカテゴリ化できない場合に、または詳細なクライアントレコードを維持するために、参照されてもよい。追加情報は、例えば、インボイスに関連するテキストのすべて、または、インボイス内のテキストの配置とフォーマットを含んでもよい。場合によっては、フォントテキストサイズと相対的なスペースのような態様も特徴づけられる。場合によっては、追加データはインボイスに関連するＰＤＦのような電子ファイルからのメタデータを含んでもよい。メタデータ情報は、インボイスが作成されたときのタイムスタンプ、インボイスの作成に関連するユーザアカウント、インボイスと関連するロケーションデータ、または電子ファイルを作成したマシーンのシステムデータ等のデータを含んでもよい。場合によっては、インボイスのイメージが記録されてもよい。この追加情報は、コストデータベースにおいて、例えば、費用ログを他の費用ログに関連付けるために役立ち得る。場合によっては、コストデータベースに記憶される追加情報は、図１Ａ、図１Ｂに示すようなアプリケーションを通して、ユーザによってアクセスされてもよい。例えば、ユーザはカテゴリにおいてトランザクションの項目リストを要求してもよく、１または複数のログが表示されるために追加情報をプロンプトする（ｐｒｏｍｐｔｉｎｇ）選択を提示してもよい。「追加情報」の例として提供されたが、それらのフィールドに関連するデータは、フィールドがログデータのクラスタリングまたはタグ付けについて関連するとして識別された場合など、場合によってはＭＤＳに記憶される。
【００２４】
[0031]いくつかの実施形態では、用語の辞書は、ＭＤＳにおいて見つけられる単語と共通のフレーズに基づいて作成することができる。場合によっては、図３に示すように、ログベクトル３０２と用語ベクトル３０４を有する、用語出現マトリックス３００を作成することができる。ログベクトルは、ログの複数のディメンション（ｄｉｍｅｎｓｉｏｎｓ）に沿って様々なログ特徴を記録できる。例えば、ログベクトルの指標はログにおいて用語が出現する数を示す値、またはいくつかの他の特徴（例えば、コスト、トランザクション時間、トランザクションロケーション等）を示す値を提供してもよい。用語ベクトル３０４は、特定の用語について、各費用出ログにおけるその用語の出現数を示す。場合によっては、用語ベクトルは、ベクトルの指標の追跡が各ログのドル額（ｄｏｌｌａｒ  ａｍｏｕｎｔ）を特定し得るドル額のような他の特徴に対応してもよい。
【００２５】
[0032]場合によっては、用語出現マトリックスは、例えば、用語出現マトリックスから費用ログの最大閾値において表れる用語ベクトル（例えば、費用ログの５０％、７５％、場合によっては、８０％より多くにおいて出現する用語）を取り除くことによって、簡略化できる。ログの大部分において表れる用語は、カテゴリ化目的のためにあまり意味を持たないものである可能性がある。場合によっては、辞書からの用語はタグ付けのために無関係（ｉｒｒｅｌｅｖａｎｔ）であると決定される可能性があり、対応する用語ベクトルは、用語出現マトリックスから取り除くことができる。場合によっては、固有名詞とコードはＮＬＰ動作の間に適切な分類により置き換えられる。例えば、「ニューヨーク」および「ベルリン」は、各々「都市」と置き換えられてもよい。同様に、「０６−２４−２０１７」は「日付」と置き換えられてもよい。いくつかの実施形態では、用語ベクトルは、単語の出現数以外のディメンションに関連する可能性がある。例えば、ベクトルの値は、インボイス上に示されたテキスト、パターン情報テキストデータ（ｐａｔｔｅｒｎ  ｉｎｆｏｒｍａｔｉｏｎ  ｔｅｘｔ  ｄａｔａ）、インボイスが作成された時などのディメンション情報を表してもよい。場合によっては、用語ベクトルは、対応する用語が費用ログの最大閾値において見つけられない場合は、用語出現マトリックスから取り除くことができる。
【００２６】
[0033]クラスタリングは、費用ログ間の単語類似度やパターンを考慮することができる。例えば、再発する購買は、購入された品、サービス、ベンダ、定期購買（ｒｅｇｕｌａｒ  ｐｕｒｃｈａｓｅ）の間隔、などを識別できる一意的な単語とデータのセットを使用する可能性がある。これらのパターンと類似度は費用ログについてのログベクトルにおいて反映され、類似度測定（ｓｉｍｉｌａｒｉｔｙ  ｍｅａｓｕｒｅ）に基づきログをグループ化するために使用される。
【００２７】
[0034]更に、Ｗｏｒｄ２ＶｅｃまたはＧＬＯＶＥのような単語埋め込み技法を使用した機械学習モデルを使用して、他のログ特徴を得ることができる。クラスタリングは、コサイン類似度、ユークリッド距離、または特別に設計されたＷｏｒｄ  Ｍｏｖｅｒ  ｄｉｓｔａｎｃｅ（「Ｆｒｏｍ  Ｗｏｒｄ  Ｅｍｂｅｄｄｉｎｇ  Ｔｏ  Ｄｏｃｕｍｅｎｔ  Ｄｉｓｔａｎｃｅｓ」、Ｍ．  Ｊ．  Ｋｕｓｎｅｒ、Ｙ．  Ｓｕｎ、Ｎ．  Ｉ．  Ｋｏｌｋｉｎ、Ｋ．  Ｑ．  Ｗｅｉｎｂｅｒｇｅｒ、第３２回機械学習国際会議予稿集、２０１５年）などの様々な距離メトリックを使用して、これらの特徴ベクトルを使用することができる。
【００２８】
[0035]いくつかの実施形態では、インボイス記述が十分な長さを有する場合、潜在ディリクレ配分（Ｌａｔｅｎｔ  Ｄｉｒｉｃｈｌｅｔ  Ａｌｌｏｃａｔｉｏｎ  （ＬＤＡ））も、インボイス記述においてトピックを発見するための教師なしアルゴリズムとして使用され得る。それぞれのログについて、出力はログのテキスト記述と関連付けられたそれぞれのトピックの相対的な重みを表すことができる。この出力は、次にログベクトルに埋め込まれ、クラスタリングアルゴリズムに対する入力特徴として与えられる。
【００２９】
[0036]図４は、様々な実施形態に従って使用することができる階層的クラスタリング構造４００の例示的な表示である。この例では、８個のログ（ログＡ〜ログＩ）がクラスタリングされる一つの方法を示す。クラスタは、単一ログを表す各クラスタから、ログのすべてを含むルートレベル（ｒｏｏｔ  ｌｅｖｅｌ）における単一クラスタ４０２までの複数のレベルに存在することができる。所望の類似度閾値４０４（この例では３つのクラスタを生じる）は、クラスタリング動作について選択されたパラメータとなり得る。場合によっては、クラスタが別個のカテゴリが表されたログを含むと決定した場合は、クラスタは、クラスタにおけるログの各ログベクトルを使用する２以上のサブクラスタに分割することができる。図４は、階層的に配置されたクラスタを示すが、非階層的なクラスタも使用され得る。更に、分析されている支出ログのタイプおよび種類（ｖａｒｉｅｔｙ）に従って、より多くのまたはより少ないクラスタを作成してもよい。
【００３０】
[0037]最終支出カテゴリは階層木において構造化される。いくつかの実施形態では、図４で示すような樹状図（クラスタ木）は、支出カテゴリ構造を少なくとも一部を反映し得る。場合によっては、１または複数のカテゴリは、用語またはクラスタに関連付けられた他の変数に基づいて提案され得る。場合によっては、提案されたカテゴリ構造は、ユーザがカテゴリ名またはカテゴリ構造を編集するためのオプションとともにアプリケーションインタフェースを介して提供され得る。例えば、ユーザは、層の数を割り当てるためのオプションまたはカテゴリを組み合わせ若しくは分割するためのオプションを提供され得る。
【００３１】
[0038]階層的なクラスタリングの処理は、例えば、複数の費用ログをクラスタに再帰的に分割することを含む。いくつかの実施形態では、ログベクトルは、階層型クラスタリング（ｃｏｎｎｅｃｔｉｖｉｔｙ−ｂａｓｅｄ  ｃｌｕｓｔｅｒｉｎｇ）技法を使用してクラスタリングされてもよく、場合によっては、ログベクトルは密度ベースクラスタリング（ｄｅｎｓｉｔｙ−ｂａｓｅｄ  ｃｌｕｓｔｅｒｉｎｇ）を使用してクラスタリングされる。いくつかの実施形態では、ログベクトルは、Ｎｉｓｔｅｒ他、「Ｓｃａｌａｂｌｅ  Ｒｅｃｏｇｎｉｔｉｏｎ  ｗｉｔｈ  ａ  Ｖｏｃａｂｕｌａｒｙ  Ｔｒｅｅ」、コンピュータビジョンとパターン認識学会（Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｃｏｍｐｕｔｅｒ  Ｖｉｓｉｏｎ  ａｎｄ  Ｐａｔｔｅｒｎ  Ｒｅｃｏｇｎｉｔｉｏｎ  （ＣＶＰＲ））、電気電子学会（ＩＥＥＥ）予稿集、２００６年、Ｗａｒｄ、Ｊ．  Ｈ．、「Ｈｉｅｒａｒｃｈｉｃａｌ  Ｇｒｏｕｐｉｎｇ  ｔｏ  Ｏｐｔｉｍｉｚｅ  ａｎ  Ｏｂｊｅｃｔｉｖｅ  Ｆｕｎｃｔｉｏｎ」、米国統計協会ジャーナル（Ｊｏｕｒｎａｌ  ｏｆ  ｔｈｅ  Ａｍｅｒｉｃａｎ  Ｓｔａｔｉｓｔｉｃａｌ  Ａｓｓｏｃｉａｔｉｏｎ）、１９６３年で紹介されたウォード法、または、Ｅｓｔｅｒ，Ｍ．他、「Ａ  ｄｅｎｓｉｔｙ−ｂａｓｅｄ  ａｌｇｏｒｉｔｈｍ  ｆｏｒ  ｄｉｓｃｏｖｅｒｉｎｇ  ｃｌｕｓｔｅｒｓ  ｉｎ  ｌａｒｇｅ  ｓｐａｔｉａｌ  ｄａｔａｂａｓｅｓ  ｗｉｔｈ  ｎｏｉｓｅ」、Ｋｎｏｗｌｅｄｇｅ  Ｄｉｓｃｏｖｅｒｙ  ａｎｄ  Ｄａｔａ  Ｍｉｎｉｎｇ（ＫＤＤ−９６）第二回国際会議予稿集、１９９６年で紹介されたＤＢＳＣＡＮ  アルゴリズムなど、従来の階層ｋ―平均法クラスタリング技法を利用してクラスタリングされてもよい。いくつかの実施形態では、例えば、ログベクトルのあるディメンションに他より多くの重み付けをするというようにクラスタリング処理に重み付け要素を加えることにより、類似度測定を調整するために産業の詳細な知識を使用することができる。場合によっては、重みおよび重み付けの値は、手動で選択されてもよく、いくつかの実施形態では、重みは様々な機械学習技法を使用して経時的に決定することができる。この分野で知られている様々なクラスタリング技法は、ログベクトルをクラスタリングするために使用することができる。
【００３２】
[0039]ログが同一のカテゴリ指定を有するログの同様のグループにクラスタリングされる場合、支出データをカテゴリ化する労力は著しく低減される。例えば、コストデータベースが８，０００，０００ログを有する場合、それらのトランザクションは約５００，０００クラスタより少ない数にグループ化され得る。この例では、ログのすべてをカテゴリ化するために必要な決定の数は、約１／１６に低減され得る。場合によっては、クラスタリング動作は、ログをログの数の約１／１０より少ない数のクラスタにグループ化するために使用され、場合によっては、ログをログの数の約１／５０より少ない数のクラスタにグループ化するために使用される。場合によっては、使用されるクラスタの数は、例えば、クライアントにより所望される費用カテゴリ化の精細度（ｒｅｓｏｌｕｔｉｏｎ）（例えば、何層のカテゴリ化が所望される）に依存してもよい。クラスタの数はクライアントの支出活動の多様性（例えば、サプライヤの多様性や費用タイプ）およびカテゴリ化について必要とされる粒度のレベルに依存してもよい。
【００３３】
[0040]図５は、図１Ｂに示すような３層カテゴリ階層が使用された場合の費用ログのクラスタリングとカテゴリ化の態様を示す。３層カテゴリ階層のコンテキストにおいて説明されるように、記述された処理はその他のカテゴリ構造にも適用できる。ブロック５００は、コストデータベースにおける費用ログについての集約されたクリーンデータセット（ＣＤＳ）を示す。クライアントとログが表す期間に応じて、これは、数百万の費用ログを表すことができる。ＣＤＳからのログをクラスタリング（５０２）することにより、クラスタグループ５０６、５０８、および５１０により構成される最小データセット（ＭＤＳ）５１２となる。クラスタリングの後、ロググループは損益計算書、総勘定元帳、ＡＰおよびＰＯ認定調整報告書からのそれぞれのクライアントのアカウント構造により分析される。この分析結果に応じて、クラスタはカテゴリ化労力を容易にするため、クラスタグループ５０６、５０８、および５１０に分割される。ブロック５０４のログは、欠落データのために通常はクラスタリングすることができないログを表している。
【００３４】
[0041]クラスタグループ５１０は、すべてカテゴリ構造内の単一レベル３カテゴリにマッピングされる（すなわち、完全にカテゴリ化される）ログを有するクラスタを含む。このグループの各クラスタは、損益計算書、総勘定元帳、ＡＰおよびＰＯ認定調整報告書からの同一の関連付けられたアカウント構造を共有するログを含む。言い換えると、ＭＤＳにおける関連付けられた支出データは、高い信用度で各クラスタについて少なくともレベル３カテゴリ化において提供されるのに十分である。一般的に、グループ５１０のログはクライアントの支出データにおける最も完全なログを表す。
【００３５】
[0042]クラスタグループ５０８は、レベル１またはレベル２カテゴリに集合的にカテゴリ化され得るクラスタを表す。このグループでは、少なくともいくつかのログまたはそれらの関連付けられたアカウント構造は、階層的なカテゴリ構造の第２レベルまたは第３レベルにおいて定義されたカテゴリ内に適合するための十分な詳細さを欠く。場合によっては、これらのカテゴリは、階層的なカテゴリ構造の第２レベルまたは第３レベルにおいて「マッピングされない（ｕｎｍａｐｐｅｄ）」カテゴリ内に位置してもよい。
【００３６】
[0043]クラスタグループ５０６は、階層的なカテゴリ構造の第１レベル、第２レベルまたは第３レベルにおいて、異なるカテゴリに適合するログを含むクラスタを表す。それらのクラスタは１より多くのアカウント構造と関連付けられるログを含む。これは、クラスタリングに関連するデータがレベル３粒度でカテゴリを区別することができるほど十分に詳細でないような場合に起こり得る。例えば、図１Ｂの階層的なカテゴリ構造を参照すると、このグループのクラスタは「特許および商標」としてカテゴリ化されるべきいくつかのログと、「商品開発」としてカテゴリ化されるべきいくつかのログを有し得る。そのようなクラスタは同一の支出タイプのログの実際のグループを表現しない可能性があり、追加ログコンテキスト（アカウント構造のような）を使用してサブクラスタに分割されるべきである可能性があり、そのため、それらのサブクラスタの各費用ログは全て、単一のレベル３カテゴリにそれぞれ含まれる。
【００３７】
[0044]最後に、最終グループ５０４はクラスタリングアルゴリズムにより処理される必要があるデータの不足や欠落のために、クラスタリングされなかったログを含む。他の部分で詳細に説明されるように、それらのログのいくつかはベースマッピングルールによりカテゴリ化されてもよい。場合によっては、追加ログコンテキストにより、それらのログのいくつかが他のクラスタからのログと結合されてもよい。これは、クライアントコンテキスト特徴を使用した機械学習アルゴリズムを使用して実行される。場合によっては、これらのログは、例えば、ログがクライアントの支出の重要な部分を表している場合、ユーザによってマッピングされ得る。しかし、一般的には、グループ５０４の大部分のログは訓練済モデル（ｔｒａｉｎｅｄ  ｍｏｄｅｌ）を使用してカテゴリ化される。グループ５０４、５０６、５０８および５１０の表示されたサイズは単にクライアントの支出の割合例として提供されたに過ぎない。個々のクラスタグループは、支出データの品質、使用したクラスタリング技法、生成されたクラスタの数などの要素に基づき、クライアントの支出のより大きいまたはより小さい割合を示し得る。
【００３８】
[0045]クラスタリングの後、いくつかのクラスタは、ベースマッピング処理５１８により自動的にカテゴリ化され得る。ベースマッピングは、信用クライアントカテゴリ（ｔｒｕｓｔｅｄ  ｃｌｉｅｎｔ  ｃａｔｅｇｏｒｉｅ）に調整されたルールに基づくことができる。場合によっては、これらのマッピングルールは、開示した方法を使用し、先行する予算編成期間中のクライアント支出をカテゴリ化することにより生成されてもよい。場合によっては、これらのベースルールは、産業部門に関連してもよく、様々なクライアントにより使用される汎用的なルールであってもよい。場合によっては、これらのベースルールは、直接的なレベル３カテゴリ化品質を有する特定のアカウント構造に基づいてもよい。場合によっては、ベースマッピングルールは、クライアントにより提供されるか、クライアントのプラクティスの態様に基づいて決定されてもよい。
【００３９】
[0046]一例として、マッピングルールは、クラスタを、「便（ｆｌｉｇｈｔ）」または「空（ａｉｒ）」、１または２の都市フィールド、１または２の時間フィールド、便コード、および既知の航空券サプライヤなどの、このカテゴリに関連付けられた既知のキーワードを有するログを含む、「航空運賃」カテゴリ１１０（図１Ｂにおいて階層的カテゴリ構造のレベル３カテゴリ）の下にクラスタを配置するものであってもよい。これらは、航空券のインボイスに記載されているであろう、代表的な到着地都市（ａｒｒｉｖａｌ  ｃｉｔｙ）（および出発地都市であってもよい）、到着時間（および出発時間であってもよい）、便コード（例えば、２文字と後に続く１〜４数字）を含む。場合によっては、ルールは航空券費用について予期され得る価格範囲内であるかどうかをみるためにログに関連付けられたコストを考慮することもできる。このパターンは、マトリックスにおけるログのログベクトルを含む各々のクラスタマトリックスから決定することができる。例えば、各ログベクトルが、都市数に対応するディメンションについて１以上の値を有すること、インボイスに記載された時間フィールドの数に対応するディメンションについて１以上の値を有すること、便コードの数に対応するディメンションについて１の値を有すること、少なくとも  既知のキーワードおよび航空運賃カテゴリと関連付けられたサプライヤに対応するディメンションについて少なくとも１の値を有すること、を決定することができる。場合によっては、ベースマッピングルールは著しくより複雑である可能性があり、多くの場合、ベースマッピングのルールは、ログがベースルールにより誤ったカテゴリ化をされる可能性を減少するために非常に具体的であり得る。しかし、場合によっては、これらのベースマッピングルールは、比較的シンプルであってもよい。例えば、場合によっては、ルールは、クラスタと関連付けられた単一のキーワードまたはサプライヤにのみ依存してもよい。
【００４０】
[0047]ベースルールベースの（ｂａｓｅ  ｒｕｌｅ−ｂａｓｅｄ）マッピング動作の後、高値クラスタグループを表す残りのクラスタのサブセットは、アルゴリズムによって自動的に決定される。選択は、機械学習モデルを改善するために、クラスタごとの総コスト、クラスタにおけるトランザクションの数は、および／または過少または過剰に表現された（ｕｎｄｅｒ−  ｏｒ  ｏｖｅｒ−ｒｅｐｒｅｓｅｎｔｅｄ）カテゴリに対する各クラスタの関連に基づくものであってもよい。高値クラスタグループのサブセットは、場合によっては、総支出の３０％から６０％の間を表してもよく、クラスタグループ５０４、５０６、５０８、および５１０の各々からのクラスタを表してもよい。これらのクラスタはその後手動によりカテゴリ化される。例えば、クラスタの代表的なログは、クラスタにおけるログのすべてがどのようにカテゴリ化されるかについての選択を決定するユーザに提供されてもよい。場合によっては、代表的なログは、例えば、クラスタグループの平均または重心（ｃｅｎｔｒｏｉｄ）を表すログを決定することにより、自動的に決定されてもよい。場合によっては、ユーザはクラスタからいくつかのログをカテゴリ化するよう要求されてもよい。例えば、クラスタが総支出の充分な割合を示す場合、またはクラスタを２以上のサブクラスタに分解するための少なくとも一つのクリアなディメンションがある場合、ユーザは、ログが同一カテゴリに属するサブクラスタを表すことを検証することを要求され得る。
【００４１】
[0048]場合によっては、高値タグ付けの処理は、総支出のある割合がカテゴリ化されるまで、および／またはログの閾値数が階層的なカテゴリ構造の各カテゴリにカテゴリ化されるまで続く。場合によっては、クラスタは、ユーザが各カテゴリにカテゴリ化されるログの閾値数を提供するよう要求される選択の数を減らすために、クラスタ木の分散部分から選択されてもよい。この方法は、人間参加型（Ｈｕｍａｎ−ｉｎ−ｔｈｅ−Ｌｏｏｐ  （ＨＩＴＬ））の原理に従い、不十分であるとみなされたモデルによる予測が手動カテゴリ化のため人間に送られる。
【００４２】
[0049]手動でタグ付けされたまたはベースマッピングルールを介してマッピングされたクラスタとログは、機械学習モデルを訓練するための訓練セット５２２として使用される。このモデルは、残りのログと予測セット５２０としても称される、クラスタ５１４をカテゴリ化するために使用される。クラスタの予測セットは、クラスタグループ５０４、５０６および５０８のサブセットを表す。
【００４３】
[0050]図６は、どのようにモデル６００がクラスタの予測セットについての適切なカテゴリを選択するために使用され得るかを示す。モデルは、ベースマッピング動作５１８と高値タグ付け５１６により、カテゴリ化された訓練データ５２２を受け取る。訓練データはＭＤＳにおける関連付けられたデータに基づきログまたはクラスタのカテゴリを決定するために使用されるモデルパラメータを決定するために使用される。モデルが訓練され、予測５２０に適用されると、カテゴリ予測６０２を提供する。セット５２０と５２２は、各ログについてログベクタとともにモデルを提供する。いくつか実施形態では、ログデータのサブセットのみがモデルに提供され、場合によっては、コストデータベースにおける追加の支出データがモデルに提供され得る。場合によっては、ログは、学習するカテゴリの可能性のバランスを取る（ｂａｌａｎｃｅ）ための（例えば、特定のカテゴリが過剰表現されることを避ける）モデル較正の間に訓練セットから除外（ｗｉｔｈｄｒａｗｎ）されてもよい。
【００４４】
[0051]場合によっては、図６に示した反復処理（ｉｔｅｒａｔｉｖｅ  ｐｒｏｃｅｓｓ）を介し、経時的により進化し、より正確になり得る。この反復処理は、モデルを改善するために自動化された品質およびエラー分析により駆動される。また、さらなる手動タグ付けが低質カテゴリ予測を有するログについて実行され得る。動作６０４において、モデルが設計される。モデルを設計することは、例えば、入力変数として使用するためにログベクトルのどの特徴が選択されるか、どのモデルタイプまたは構造が使用されるかを選択することを含んでもよい。場合によっては、モデルは、ロジスティック回帰モデル、線形判別分析アルゴリズム、分類および回帰ツリー、「Ｔａｃｋｌｉｎｇ  ｔｈｅ  Ｐｏｏｒ  Ａｓｓｕｍｐｔｉｏｎ  ｏｆ  Ｎａｉｖｅ  Ｂａｙｅｓ  Ｔｅｘｔ  Ｃｌａｓｓｉｆｉｅｒｓ」、Ｊ．Ｄ．Ｍ．Ｒｅｎｎｉｅ、Ｌ．Ｓｈｉｈ、Ｊ．Ｔｅｅｖａｎ、Ｄ．Ｒ．Ｋａｒｇｅｒ、第２０回機械学習国際会議（ｔｈｅ  ２０ｔｈ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｍａｃｈｉｎｅ  Ｌｅａｒｎｉｎｇ）予稿集、２００３年で紹介されたナイーブベイズアルゴリズム（Ｎａｉｖｅ  Ｂａｙｅｓ  ａｌｇｏｒｉｔｈｍｓ）、Ｋ近傍法（Ｋ−ｎｅａｒｅｓｔ  ｎｅｉｇｈｂｏｒｓ  ａｌｇｏｒｉｔｈｍｓ）、学習ベクトル量子化アルゴリズム（ｌｅａｒｎｉｎｇ  ｖｅｃｔｏｒ  ｑｕａｎｔｉｚａｔｉｏｎ  ａｌｇｏｒｉｔｈｍｓ）、サポートベクタマシン（ｓｕｐｐｏｒｔ  ｖｅｃｔｏｒ  ｍａｃｈｉｎｅｓ）、バギング（Ｂａｇｇｉｎｇ）、ブースティング（Ｂｏｏｓｔｉｎｇ）、ランダムフォレスト（Ｒａｎｄｏｍ  Ｆｏｒｅｓｔｓ）、ＸＧＢｏｏｓｔ、ＬｉｇｈｔＧＢＭ  アルゴリズ、人工ニューラル量子化アルゴリズム、などの１または複数の機械学習アルゴリズムを含み得る。ここでいくつかの例がディープラーニングモデルまたはニューラルネットワークモデルのコンテキストで挙げられたが、他のモデルや、当業者によく知られたモデルの組み合わせも使用することができる。
【００４５】
[0052]個々のログまたはログのクラスタのカテゴリを予測するためにいくつかの実施形態で使用することができるニューラルネットワークモデルの例は、パーセプトロン（Ｐ）ネットワーク、フィードフォワード（ＦＦ）ネットワーク、放射基底ネットワーク（Ｒａｄｉａｌ  Ｂａｓｉｓ  Ｎｅｔｗｏｒｋｓ（ＲＢＦ））、ディープフィードフォワード（ＤＦＦ）ネットワーク、リカレントニューラルネットワーク（ＲＮＮ）、長／短記憶（Ｌｏｎｇ／Ｓｈｏｒｔ  Ｔｅｒｍ  Ｍｅｍｏｒｙ（ＬＳＴＭ））ネットワーク、ゲートリカレントユニット（ＧＲＵ）ネットワーク、自動エンコーダ（Ａｕｔｏ  Ｅｎｃｏｄｅｒ（ＡＥ））ネットワーク、変分ＡＥネットワーク（Ｖａｒｉａｔｉｏｎａｌ  ＡＥ  Ｎｅｔｗｏｒｋｓ  （ＶＡＥ））、デノイジングＡＥネットワーク（Ｄｅｎｏｉｓｉｎｇ  ＡＥ  Ｎｅｔｗｏｒｋｓ  （ＤＡＥ））、スパースＡＥネットワーク（Ｓｐａｒｓｅ  ＡＥ  Ｎｅｔｗｏｒｋｓ  （ＳＡＥ））、マルコフ連鎖（ＭＣ）ネットワーク、ホップフィールドネットワーク（ＨＮ）、ボルツマンマシン（ＢＭ）ネットワーク、制約付きＢＭネットワーク（Ｒｅｓｔｒｉｃｔｅｄ  ＢＭ  Ｎｅｔｗｏｒｋｓ（ＢＲＭ））、Ｄｅｅｐ  Ｂｅｌｉｅｆネットワーク（ＤＢＮ）、ディープ畳み込みネットワーク（Ｄｅｅｐ  Ｃｏｎｖｏｌｕｔｉｏｎａｌ  Ｎｅｔｗｏｒｋｓ（ＤＣＮ））、Ｄｅｃｏｎｖｏｌｕｔｉｏｎａｌ  ネットワーク  （ＤＮ）、ディープ畳み込み逆グラフィックスネットワーク（Ｄｅｅｐ  Ｃｏｎｖｏｌｕｔｉｏｎａｌ  Ｉｎｖｅｒｓｅ  Ｇｒａｐｈｉｃｓ  Ｎｅｔｗｏｒｋｓ（ＤＣＩＧＮ））、敵対的生成ネットワーク（Ｇｅｎｅｒａｔｉｖｅ  Ａｄｖｅｒｓａｒｉａｌ  Ｎｅｔｗｏｒｋｓ（ＧＡＮ））、リキッドステートマシン（Ｌｉｑｕｉｄ  Ｓｔａｔｅ  Ｍａｃｈｉｎｅ（ＬＳＭ））ネットワーク、エクストリームラーニングマシン（Ｅｘｔｒｅｍｅ  Ｌｅａｒｎｉｎｇ  Ｍａｃｈｉｎｅ（ＥＬＭ））ネットワーク、エコーステートネットワーク（Ｅｃｈｏ  Ｓｔａｔｅ  Ｎｅｔｗｏｒｋｓ（ＥＳＮ））、ディープ残差ネットワーク（Ｄｅｅｐ  Ｒｅｓｉｄｕａｌ  Ｎｅｔｗｏｒｋｓ（ＤＲＮ））、コホネンネットワーク（ＫＮ）、サポートベクタマシン（ＳＶＭ）ネットワーク、ニューラルチューリングマシン（Ｎｅｕｒａｌ  Ｔｕｒｉｎｇ  Ｍａｃｈｉｎｅ（ＮＴＭ））ネットワークなどを含む任意数のニューラルネットワークの形態を採用できる。場合によっては、モデルは機械学習モデルまたはアルゴリズムの複数に基づく。
【００４６】
[0053]動作６０６では、モデルは訓練データセットを使用して訓練される。訓練は、当業者に知られている任意数の機械学習技法を含む。例えば、モデルは、ｓｃｉｋｉｔ−ｌｅａｒｎ  ｔｏｏｌｋｉｔを使用してＰｙｔｈｏｎで生成および訓練することができ、またはＴｅｎｓｏｒＦｌｏｗ、Ｋｅｒａｓ、ＭＬｉｂ、ｇｅｎｓｉｍなどのライブラリを使用して訓練することができる。訓練中、モデルのパラメータは、カテゴリ化された訓練セットから機械学習アルゴリズムによって学習され、様々なモデルハイパーパラメータは、モデルの選択されたメトリックを増加させるために、グリッドサーチ（ｇｒｉｄ  ｓｅａｒｃｈ）、交差検証（ｃｒｏｓｓ−ｖａｌｉｄａｔｉｏｎ）、およびベイズ最適化のような異なる技法を使用することによって決定および／または最適化され得る。
【００４７】
[0054]動作６０８では、モデルの品質およびエラー分析が自動的に実行される。場合によっては、品質およびエラー分析は、ログが正確にマッピングされているかを検証するために予測セット５２０がカテゴリ化された後に実行されてもよい。場合によっては、品質およびエラー分析は、予測セット５２０のカテゴリ化の間に、周期的にまたは継続的に実行されてもよい。モデルが誤った予測カテゴリであると決定された場合、そのモデルは、モデルの設計６０４を修正することで更新されてもよい。所与のカテゴリ６０６に関連するハイパーパラメータの自動調整をしてもよい（例えば、フォールスポジティブ（ｆａｌｓｅ−ｐｏｓｉｔｉｖｅ）予測が検出される）。あるいは、特定のカテゴリについて追加の手動タグ付け６１４をしてもよい。
【００４８】
[0055]モデル６００が予測品質について検証できることをチェックするための手動および自動の方法は数多くある。例えば、予測カテゴリは、クライアントのアカウント構造に基づき、各カテゴリごとの予期された支出分布（ｄｉｓｔｒｉｂｕｔｉｏｎ）と照合することができる。キーワード頻出分布、アイテムコスト分布などの組み合わせとして使用できるいくつかの他の分布計算がある。さらに、訓練セットのテストサブセットは選択されたメトリックのよい測定（例えば、正解率、重み付き正解率（ｗｅｉｇｈｔｅｄ  ａｃｃｕｒａｃｙ）、適合率（ｐｒｅｃｉｓｉｏｎ）または再現率（ｒｅｃａｌｌ））を得るために使用することができる。テストサブセットの訓練は自動の予測と実際のタグ付けを比較するため、およびログベクトルの観点から各カテゴリにおけるエラーを特徴づけるために使用することができる。場合によっては、ログは各カテゴリ予測に信用メトリック（ｃｏｎｆｉｄｅｎｃｅ  ｍｅｔｒｉｃ）を提供することができる。場合によっては、混合行列（ｃｏｎｆｕｓｉｏｎ  ｍａｔｒｉｘ）は予測と実際のカテゴリ（フォールスポジティブまたはフォールスネガティブ（ｆａｌｓｅ−ｎｅｇａｔｉｖｅｓ）のような）とを比較することでエラーを特徴づけることができる。
【００４９】
[0056]場合によっては、ユーザは、関連付けられた信用メトリックが閾値を下回る場合、ログについて決定されたカテゴリを検証することを要求され得る。場合によっては、カテゴリにおける総支出値はサニティチェック（ｓａｎｉｔｙ  ｃｈｅｃｋ）としてチェックされてもよい。場合によっては、特定のカテゴリについて支出値が所定の範囲（例えば、総支出の割合として定められた）を超える場合、ユーザは、そのカテゴリに割り当てられたログとクラスタをスポットチェック（ｓｐｏｔ  ｃｈｅｃｋ）するよう警告、または要求され得る。
【００５０】
[0057]予測の信用メトリックは、動作６０８において、例えば、ある閾値を下回るというように不十分であるとみなされた場合、機械学習アルゴリズムは、モデルハイパーパラメータを調整するか、手動でカテゴリ化される追加ログを識別することができる。フォールスポジティブ予測の場合で、モデルが一つのカテゴリにおいて誤って予測されたログを有すると決定された場合（例えば、一つのカテゴリについての支出が予期された値を著しく超えると決定された場合）、モデル設計とチューニングパラメータ（ｔｕｎｉｎｇ  ｐａｒａｍｅｔｅｒｓ）は、エラーを訂正するために調整され得る６１２。場合によっては、モデルは機械学習重みを調整することで、予期された分布に近づけることができる。場合によっては、他のモデルパラメータのファインチューニング（ｆｉｎｅ−ｔｕｎｉｎｇ）により、フォールスポジティブの減少をもたらすことができる。
【００５１】
[0058]フォールスネガティブ予測は、モデルが適切なカテゴリにおいてログを配置することに失敗したという状況を示す。場合によっては、混合行列は、機械学習モデルによって誤予測された、または誤予測された可能性のあるログを識別するために使用できる。それらの識別されたログは、ユーザにログのカテゴリを正確にタグ付けするために提供され得る。手動でタグ付けされたログは、カテゴリ化された訓練セット５２２に追加され、モデルをさらに訓練するために使用されることができ、場合によっては、モデルの設計を変更することができる。
【００５２】
[0059]信用メトリックのある閾値を超えるカテゴリ化予測は、動作６０２においてカテゴリ化されると考えられる。すべての他のログクラスタについて、モデル設計、チューニング、品質およびエラー分析のサイクル（ｃｙｃｌｅ）は、例えば、支出の９５％〜１００％がカテゴリ化されるまで、反復的に繰り返される
[0060]図７は、ここで示されたマッピング段階中にどのように支出データがカテゴリ化され得るかを例示した図７００を示す。この図は、例示的であり、実施形態は追加の段階を含んでもよく、より少ない段階を有してもよい。ある実施形態では、図示されたものは、ベースマッピングと高値タグ付けが同時に起こる場合など、重複してもよい。
【００５３】
[0061]段階７０２において、生の支出データはクライアントから受け取られ、コストデータベースに集約される。説明したように、これは文書においてテキストをデジタル化および／または認識すること、データフィールドを結合すること、標準化されたターゲットスキーマに変更すること、ネガティブおよび範囲外の支出を調整する（ｒｅｃｏｎｃｉｌｉａｔｉｏｎ）ような動作を含んでもよい。データは次いで集約され、クリーンにされ（例えば、破損、重複ログは取り除かれる）、種々の自然言語処理動作はテキスト認識に適用され、集約されたクリーンデータセット（ＣＤＳ）となる。段階７０４では、最小データセット（ＭＤＳ）はＣＤＳマルチディメンション（ｍｕｌｔｉ−ｄｉｍｅｎｓｉｏｎａｌ）ログにおいて種々のクラスタリング技法を使用して生成される。動作７０６において、ベースマッピングルールは、ログをレベル３コストカテゴリに自動的にマッピングするために適用される。場合によっては、この段階は総支出の約１０％〜２０％のカテゴリ化をもたらす。場合によっては、クライアントのプラクティスの詳細な知識が知られており、開示されたカテゴリ化処理が先行する予算編成期間について実行されている場合、より高い割合の総支出はこの段階中にタグ付けされ得る。
【００５４】
[0062]ベースマッピング段階の後、高値クラスタは動作７０８において手動でタグ付けされる。説明したように、これは、会計士などのユーザに、各高値クラスタから１または複数のログを手動でタグ付けするよう要求することを含み得る。高値タグ付け段階の最後に、すべての情況において必要ではないが、総支出の大部分が考慮される。最後に、最終段階７１０において、残りの支出に対応するログは機械学習モデルを使用してカテゴリ化される。モデルは、先行する段階でカテゴリ化されたログ、先行する予算編成期間中にカテゴリ化されたログ、場合によっては、同じ産業分野において他のクライアントについてのカテゴリ化に基づき事前訓練済モデルを使用して、訓練されてもよい。場合によっては、段階７１０の最後に、支出データの９５％より多くは階層的なカテゴリ構造のレベル３カテゴリにカテゴリ化され得る。高い品質と信用性をもって高いレベルのカテゴリ化されたログを実現するために、人間参加型と呼ばれる処理を使用する。この処理は、半教師あり機械学習の特別な場合である「アクティブラーニング（ａｃｔｉｖｅ  ｌｅａｒｎｉｎｇ）」の概念を構築する。場合によっては、自動化アルゴリズムは、ある閾値を下回るあるカテゴリについてのモデル性能スを決定することができる。場合によっては、分析に従って、モデルは、モデルハイパーパラメータを自動調整するか、人間の熟練者によって手動でタグ付けされるべき特定のログやクラスタを選択することができる。そのようなアクション変更がシステムにフィードバックされた後、モデルは、支出の９５％〜１００％がレベル３においてカテゴリ化されるまで、性能分析とともにもう一度実行される。
【００５５】
[0063]図８は、支出データを分類およびカテゴリ化するために使用することができる方法８００を示す。ここで説明される処理および他の処理について、特に明記しない限り、種々の実施形態の範囲内で実行される追加の、より少ない、または代替のステップを含んでもよい。動作８０２において、生の支出データはクライアントから受け取られる。これは、レシート、インボイス、生じたコストに関する他の文書を受け取ることを含む。データが受け取られた場合、単一データセットまたはＳＱＬデータベース等のデータベースに集約される。この動作は、例えば、費用ログに関連付けられたテキストをデジタル化および認識すること、データフィールドを結合すること、標準化されたターゲットスキーマに変更すること、ネガティブおよび範囲外の支出を調整することを含んでもよい。動作８０４において、集約されたクリーンデータセット（ＣＤＳ）が生成される。他で説明したように、ＣＤＳを生成することは、クラスタリングおよびカテゴリ化に不必要または役に立たないとみなされたデータを取り除くために使用される種々の自然言語処理動作を伴う。取り除かれなかったデータは、クラスタリングおよびカテゴリ化のために使用される分析を改善するためにクリーンにされる。例えば、ログに関連付けられた各単語は、基本辞書形（ｂａｓｅ  ｄｉｃｔｉｏｎａｒｙ  ｆｏｒｍ）に置き換えられ得る。動作８０６において、ＣＤＳログはＭＤＳを生成するためにクラスタリングされる。ＭＤＳは、同じ支出カテゴリに属すべき同じ性質のトランザクションに起因するログのグループを含む。クラスタリング方法は、利用可能なデータとクラスタの要求された粒度レベルとを考慮し、各アプリケーションのケースに調整される。ＭＤＳを生成することは、ログをクラスタリングし、支出データのカテゴリを予測するために必要な計算を低減することができる。
【００５６】
[0064]クラスタリング動作に続き、費用ログはクラスタにカテゴリ化（またはタグ付け）され得る。例えば、ＭＤＳクラスタについて代表的なログは、同じクラスタにおける他のログの各々が同じカテゴリ指定を提供されるようにカテゴリ化され得る。各ログを個別にカテゴリ化するより、クラスタレベルでログをカテゴリ化することで、必要とされるカテゴリ決定の数を動的に減少し、クライアントの支出データをカテゴリ化するための時間を短縮する。最初のマッピング動作８０８は、所定のルールのセットを満たすか否かによって、ログとクラスタをカテゴリ化することに対応する。一般的に、これらのルールは、ログが、もしあったとしても、まれにしか不正確にカテゴリ化されないというように、非常に特異的である。
【００５７】
[0065]次いで、高値タグ付け動作８１０は、総支出の比較的高い割合を表すクラスタグループまたは、クラスタにおける多数のログにおいて、または、過少表現されたカテゴリに関連づけられて実行される。動作８１０における分類は訓練された人員によって手動で実行される。人による選択は、カテゴリ化の正解率のゴールドスタンダードであるため、それらの決定が総支出のより実質的な部分を表すように、アカウントは、高値クラスタの分類にフォーカスされる。場合によっては、高値タグ付けは、ユーザに、高値クラスタのセットの各々から代表的なインボイスを適切にカテゴリ化することを要求することを含んでもよい。代表的なログについてユーザのカテゴリ選択を受け取ると、クラスタにおける他のログの各々は、同じカテゴリ指定を与えられ得る。クラスタが１または複数のディメンションに沿って容易に細分化（ｓｕｂ−ｄｉｖｉｄｅｄ）できることを決定した場合のように、場合によっては、ユーザは各クラスタから複数の代表的なログをカテゴリ化するよう要求され得る。ユーザが同じクラスタから代表的なログを離散的なカテゴリにカテゴリ化する場合、クラスタは、ユーザから提供された離散的なカテゴリ選択を使用してカテゴリ化されたサブカテゴリに分割してもよい。
【００５８】
[0066]ベースマッピングと高値タグ付け動作に続き、モデルは、先行するタグ付け動作において分類されたログを使用して、生成され、訓練される８１２。訓練済モデルは次いで動作８１４において残りのログをカテゴリ化するために使用される。場合によっては、モデルは、残りのクラスタをカテゴリ化するために使用されてもよく、場合によっては、モデルは残りのログを個別にカテゴリ化するために使用されてもよい。場合によっては、モデルは関連付けられたログベクトルに基づき、残りのログを自動的にカテゴリ化するために使用されてもよい。
【００５９】
[0067]動作８１６において、モデルを使用して予測されたカテゴリはバリデートされる。バリデーション（ｖａｌｉｄａｔｉｏｎ）は、支出カテゴリ化における予期されない傾向やベースマッピングルールの違反を探すことができる自動化された処理であり得る。場合によっては、支出カテゴリの値が、モデルによるカテゴリ予測のため、予期された値を超える場合、ユーザはモデルにより提供されたカテゴリ予測を検証するように要求されてもよい。例えば、カテゴリが、モデルによりカテゴリに割り当てられたクラスタに対応する量だけ予期された予算を超えた場合、ユーザは、特定のクラスタが正確にカテゴリ化されたか否かを決定することを要求されてもよい。追加のユーザ入力は、例えばＨＩＴＬ反復処理であってよく、動作８１０でユーザに要求されるものに類似し得る。ユーザによってカテゴリ化が訂正される場合、この情報は動作８１２におけるモデルのさらなる訓練のために使用することができる。場合によっては、訓練済モデルを使用してカテゴリ化された各ログは、他で説明したように、モデルが更新され、または再訓練された場合、再カテゴリ化されてもよい。動作８１８において、すべてのログがカテゴリ化されたか否かを決定する。場合によっては、ログのすべてまたは実質的な部分が、処理を完了するために、所定の信用閾値を満たさなければならない。いくつかのログが未だカテゴリ化されていない場合、処理は動作８１４に戻る。すべてのログがカテゴリ化された場合、または、残りのログのみが任意のカテゴリ指定を与えられるために不十分な情報を有する場合、処理は完了する８２０。不十分な情報を有する残りのログがある場合、それらのログは、適切なカテゴリ指定を決定するため、ユーザに提示され得る。
【００６０】
[0068]すべてのログがカテゴリに指定された後、カテゴリ化された支出データはクライアントに提供される。場合によっては、カテゴリ化データはコストデータベースに追加され、クライアントに提供され得る。クライアントが、カテゴリ化されたデータを探索するために、図１Ｂに示されたようなアプリケーションを使用している場合、クライアントは、場合によっては、インボイスやインボイスのイメージに含まれるテキストのような特定のログ情報にアクセスできる可能性がある。場合によっては、図１Ａおよび１Ｂで示すようなクライアントアプリケーションは、誤カテゴリ化されたデータを訂正するため、または階層的なカテゴリ構造を編集するために、ユーザにオプションを提供してもよい。場合によっては、この情報は、将来の他のクライアント（例えば、同じビジネス部門の他のクライアント）のためにモデル重みを生成するために匿名化し、サニタイズし（ｓａｎｉｔｉｚｅｄ）、使用することができる。場合によっては、ベースマッピングルールは、アイテムが将来の予算編成期間または他のクライアントにより良い正解率でカテゴリ化されるよう、更新され得る。他のクライアントのためにマッピングカテゴリ化を改善するために保存される、または、使用される任意の情報は、機密情報をクライアントにトレースバックする可能性が存在しないように匿名化され、サニタイズされる。人工ニューラルネットワークを使用し、これは、モデルのあるレイヤを取り除くことによって実行され得る。
【００６１】
[0069]上記の例は支出データをカテゴリ化するコンテキストで提供されているが、開示された方法は、様々なデータセットを階層カテゴリ構造に編成するために適用可能であり得る。開示された方法は、かなりの量のデータがソートされる必要がある場合、データをソートするための事前に確立されたルールがほとんどない場合、および、例えば、カテゴリ化の目標がデータ内のパターンを決定することである場合といった状況において、他のカテゴリ化方法を上回る利点を提供し得る。ＺＢＢのコンテキストにおいて、記載される方法は、間接的な支出、マーケティングおよび販売に主に使用される。また、原材料およびサプライチェーンのような他のコストタイプにも使用することができる。また、支出データとしては、運用支出（ｏｐｅｒａｔｉｏｎａｌ  ｅｘｐｅｎｄｉｔｕｒｅ（ＯＰＥＸ））だけでなく、資本支出（ｃａｐｉｔａｌ  ｅｘｐｅｎｄｉｔｕｒｅ（ＣＡＰＥＸ））も考えられる。
【００６２】
[0070]方法８００の動作は、ソフトウェアを使用して実装され、したがって、本発明の好ましい実装形態のうちの１つは、コンピュータのランダムアクセスメモリに常駐するコードモジュール内の命令セット（プログラムコード）としてのものである。コンピュータによって要求されるまで、命令のセットは、別のコンピュータメモリ、例えば、ハードディスクドライブ、または光ディスク（ＣＤ  ＲＯＭにおける最終的な使用のため）もしくはフロッピー（登録商標）ディスク（フロッピーディスクドライブにおける最終的な使用のため）等の取り外し可能メモリに記憶されるか、またはインターネットもしくはいくつかの他のコンピュータネットワークを介してダウンロードされ得る。さらに、説明される様々な方法は、ソフトウェアによって選択的にアクティブ化または再構成される汎用コンピュータにおいて便宜的に実装されるが、当業者はまた、そのような方法が、ハードウェア、ファームウェア、または指定された方法ステップを実行するように構築されたより特殊化された装置において実行され得ることを認識するであろう。
【００６３】
[0071]様々な実施形態が上記で説明されたが、それらは限定ではなく例として提示されたことを理解されたい。当業者には、本発明の精神および範囲から逸脱することなく、形態および詳細の様々な変更を行うことができることが明らかであろう。実際に、上記の説明を読んだ後、代替の実施形態をどのように実装するかは、当業者には明らかであろう。
【００６４】
[0072]さらに、機能性および利点を強調する任意の図は、例としてのみ提示されることを理解されたい。開示された方法およびシステムはそれぞれ、示されたもの以外の方法で利用され得るように、十分に柔軟であり、構成可能である。
【図１Ａ】
2020115346.tif 000003
【図１Ｂ】
2020115346.tif 000004
【図２Ａ】
2020115346.tif 000005
【図２Ｂ】
2020115346.tif 000006
【図３】
2020115346.tif 000007
【図４】
2020115346.tif 000008
【図５】
2020115346.tif 000009
【図６】
2020115346.tif 000010
【図７】
2020115346.tif 000011
【図８】
2020115346.tif 000012
【外国語明細書】
2020115346000001.pdf