(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-10-11
(45)【発行日】2024-10-22
(54)【発明の名称】AIドリブン・トランザクション管理システム
(51)【国際特許分類】
G06Q 10/04 20230101AFI20241015BHJP
G06Q 10/00 20230101ALI20241015BHJP
【FI】
G06Q10/04
G06Q10/00
【外国語出願】
(21)【出願番号】P 2020005928
(22)【出願日】2020-01-17
【審査請求日】2022-11-21
(32)【優先日】2019-01-17
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】520020694
【氏名又は名称】ザ・ボストン・コンサルティング・グループ、インコーポレーテッド
(74)【代理人】
【識別番号】110003708
【氏名又は名称】弁理士法人鈴榮特許綜合事務所
(74)【代理人】
【識別番号】100108855
【氏名又は名称】蔵田 昌俊
(74)【代理人】
【識別番号】100103034
【氏名又は名称】野河 信久
(74)【代理人】
【識別番号】100179062
【氏名又は名称】井上 正
(74)【代理人】
【識別番号】100199565
【氏名又は名称】飯野 茂
(74)【代理人】
【識別番号】100219542
【氏名又は名称】大宅 郁治
(74)【代理人】
【識別番号】100153051
【氏名又は名称】河野 直樹
(74)【代理人】
【識別番号】100162570
【氏名又は名称】金子 早苗
(72)【発明者】
【氏名】ロニー・ヘーリング
(72)【発明者】
【氏名】サマンサ・ショート
(72)【発明者】
【氏名】アクセル・ドゥ・グルサ
(72)【発明者】
【氏名】ラファエル・デュボワ
(72)【発明者】
【氏名】イェルク・エルレバッハ
(72)【発明者】
【氏名】カリン・フォン・フンク
【審査官】中野 修平
(56)【参考文献】
【文献】米国特許出願公開第2017/0308557(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06Q 10/00-99/00
(57)【特許請求の範囲】
【請求項1】
トランザクションレコードを処理するためのコンピュータ実装方法であって、
トランザクションデータを受け取ることと、
前記トランザクションデータに基づき、複数のトランザクションについてのログを備えるクリーンデータセット(CDS)を生成することと、ここにおいて、各ログは、少なくとも一部が自然言語処理(NLP)を使用して処理されているテキストに関連付けられており、
前記関連付けられたテキストと類似度閾値に少なくとも部分的に基づいて、前記CDSから前記ログの少なくとも一つのサブセットをクラスタリングすることと、ここにおいて、クラスタリングによりクラスタのセットを生じ、
前記クラスタのセットの特定のサブセットを識別することと、前記特定のサブセットの各クラスタについて代表的なログについてのトランザクションタイプのユーザ決定を受け取ることと、ここにおいて、受け取ったトランザクションタイプは前記クラスタの各々の各ログに関連付けられており、
クラスタの前記特定のサブセットと前記関連付けられたトランザクションタイプからログを使用して予測モデルを訓練することと、
前記予測モデルを使用して、トランザクションタイプと未だ関連付けられていない前記CDSにおけるログについてのトランザクションタイプを決定することと、
トランザクションレポートを生成することと、を備え、前記トランザクションレポートは、前記ログと関連付けられたトランザクションタイプに少なくとも部分的に基づいて決定された複数の計算されたパラメータを備える、
コンピュータ実装方法。
【請求項2】
前記クラスタのセットの追加サブセットを識別することと、ベースマッピングルールを使用して、クラスタの前記追加サブセットの前記ログと関連付けられるトランザクションタイプを決定することと、をさらに備え、
ここにおいて、前記予測モデルを訓練することは、前記追加サブセットおよび前記関連付けられたトランザクションタイプから前記ログを使用して前記モデルを訓練することをさらに備える、
請求項1に記載のコンピュータ実装方法。
【請求項3】
クラスタの前記特定のサブセットを識別することは、各クラスタに関連付けられたトランザクションの数に少なくとも部分的に基づいて、前記サブセットについてクラスタを選択することを備える、
請求項1に記載のコンピュータ実装方法。
【請求項4】
前記クラスタリングは、距離メトリックを少なくとも部分的に使用することをさらに備える、
請求項1に記載のコンピュータ実装方法。
【請求項5】
前記CDSを生成することは、重複するログを取り除くことを備える、
請求項1に記載のコンピュータ実装方法。
【請求項6】
トランザクションレコードを処理するためのコンピュータ実装方法であって、
複数のログを備えるトランザクションデータを受け取ることと、前記ログは関連付けられたテキストを有し、
前記関連付けられたテキストと類似度閾値に基づいて、前記ログの少なくとも一つのサブセットをクラスタリングすることと、ここにおいて、クラスタリングによりクラスタのセットを生じ、
前記クラスタのセットの特定のサブセットの各々についてトランザクションタイプのユーザ決定を受け取ることと、ここにおいて、受け取ったトランザクションタイプは前記クラスタの各々の各ログに関連付けられ、
クラスタの前記特定のサブセットと前記関連付けられたトランザクションタイプからログを使用して予測モデルを訓練することと、
前記予測モデルを使用して、前記トランザクションタイプと未だ関連付けられていないログについてトランザクションタイプを予測することと、
を備える、
コンピュータ実装方法。
【請求項7】
前記クラスタのセットの追加サブセットを識別することと、ベースマッピングルールを使用して、クラスタの前記追加サブセットの前記ログと関連付けられるトランザクションタイプを決定することと、をさらに備え、
ここにおいて、前記予測モデルを訓練することは、前記追加サブセットおよび前記関連付けられたトランザクションタイプから前記ログを使用して前記モデルを訓練することをさらに備える、
請求項6に記載のコンピュータ実装方法。
【請求項8】
前記トランザクションデータからログのクリーンデータセット(CDS)を生成することをさらに備え、ここにおいて、前記CDSを生成することは自然言語処理(NLP)を使用して前記ログと関連付けられた前記テキストの少なくとも一部を処理することを備える、
請求項6に記載のコンピュータ実装方法。
【請求項9】
前記CDSを生成することは、重複するログを前記複数のログから取り除くことを備える、
請求項8に記載のコンピュータ実装方法。
【請求項10】
前記クラスタについて前記トランザクションタイプの前記ユーザ決定の各々を受け取る前に、前記特定のサブセットのクラスタについて代表的なログを、ユーザに表示するために供給することをさらに備える、
請求項6に記載のコンピュータ実装方法。
【請求項11】
表示のために、前記特定のサブセットのクラスタについて2個の代表的なログを供給することと、
前記2個の代表的なログについて前記トランザクションタイプの異なるユーザ決定を受け取ることと、
前記2個の代表的なログについて前記トランザクションタイプについての前記異なるユーザ決定に少なくとも部分的に基づいて前記クラスタを分割することと、
をさらに備える、
請求項6に記載のコンピュータ実装方法。
【請求項12】
人間参加型方法を使用し訓練された前記予測モデルによって提供された前記トランザクションタイプをバリデートすることをさらに備える、
請求項6に記載のコンピュータ実装方法。
【請求項13】
クラスタの前記特定のサブセットを識別することは、各クラスタに関連付けられたトランザクションの数に少なくとも部分的に基づいて、前記サブセットについてクラスタを選択することを備える、
請求項6に記載のコンピュータ実装方法。
【請求項14】
前記予測モデルによって予測された前記トランザクションタイプの自動化された品質およびエラー分析を実行することと、
前記品質およびエラー分析に基づいて少なくとも一つのモデルパラメータを変更することと、
をさらに備える、
請求項6に記載のコンピュータ実装方法。
【請求項15】
前記予測モデルによって予測された前記トランザクションタイプの自動化された品質およびエラー分析を実行することと、
前記品質およびエラー分析に基づいて、手動タグ付けのために1または複数のログを識別することと、
前記1または複数のログについてトランザクションタイプのユーザ決定を受け取ることと、
をさらに備える、
請求項6に記載のコンピュータ実装方法。
【請求項16】
前記1または複数のログおよび前記関連づけられたトランザクションタイプを使用して、前記予測モデルを訓練することをさらに備える、
請求項15に記載のコンピュータ実装方法。
【請求項17】
前記
トランザクションタイプと未だ関連付けられていないログについてのトランザクションタイプを予測することは、95%より多くの前記複数のログと関連付けられたログを生じる、
請求項6に記載のコンピュータ実装方法。
【請求項18】
トランザクションデータの他のセットからログについてトランザクションタイプを予測するために前記訓練されたモデルを使用することをさらに備える、
請求項6に記載のコンピュータ実装方法。
【請求項19】
トランザクションレコードを処理するための命令を格納する非一時的コンピュータ可読記憶媒体であって、前記命令は、プロセッサにより実行されると、プロセッサに、
複数のログを備えるトランザクションデータを受け取ることと、前記ログは関連付けられたテキストを有し、
前記関連付けられたテキストと類似度閾値に基づいて、前記ログの少なくとも一つのサブセットをクラスタリングすることと、ここにおいて、クラスタリングによりクラスタのセットを生じ、
前記クラスタのセットの特定のサブセットの各々についてトランザクションタイプのユーザ決定を受け取ることと、ここにおいて、受け取ったトランザクションタイプは前記クラスタの各々の各ログに関連付けられ、
クラスタの前記特定のサブセットと前記関連付けられたトランザクションタイプからログを使用して予測モデルを訓練することと、
前記予測モデルを使用して、前記トランザクションタイプと未だ関連付けられていないログについてトランザクションタイプを予測することと、
を実行させる、
非一時的コンピュータ可読記憶媒体。
【請求項20】
前記プロセッサにより実行されると、前記プロセッサに、
前記クラスタのセットの追加サブセットを識別することと、ベースマッピングルールを使用して、クラスタの前記追加サブセットの前記ログと関連付けられるトランザクションタイプを決定することと、
前記追加サブセットと前記関連付けられたトランザクションタイプから前記ログを使用して前記予測モデルを訓練することと、
を実行させる命令をさらに備える、
請求項19に記載の非一時的コンピュータ可読記憶媒体。
【発明の詳細な説明】
【背景技術】
【0001】
[0001]予算編成は、組織がコストに透明性をもたらし、ボトムラインを改善する機会を提供するための重要な態様である。ゼロベースの予算編成(ZBB)は、予算がゼロから効果的に構築され、コストオーナーによる費用の再評価を強制する、予算編成の方法である。予算は、各予算が前の期間よりも高いか低いかにかかわらず、来たるべき期間に対する企業の支出要件を評価するために価格および消費レバー(levers)を使用して、活動の調査を通して生成される。ZBBは、予算と特定の機能、ロケーション、およびビジネスユニット(business units)に対するそれぞれの支出を結び付けて、予算編成プロセスを通して推進されるトップレベルの戦略的ゴールを可能にし、コストをグループ化することによって以前の結果と現在の見込み(expectations)に対する測定を可能にする方法で戦略的優先付けを可能にする。
【0002】
[0002]ゼロベースの予算編成は、前の期間の予算に対する包括的な増加または減少などの典型的な予算編成の落とし穴を回避することによってコストを下げるのに役立つが、これは一般に、従来のコストベースの予算編成よりもはるかに長い時間を要する時間のかかるプロセスである。場合によっては、価格および消費ドライバ(drivers)の真の性質を理解し、支出のどの部分が明確な価値を有し、どの部分が無駄であるかを理解するために、組織はトランザクションデータを使用する。場合によっては、これは、何千または何百万ものトランザクションがソートされ(sorted)、分類され(classified)、カテゴリ化される(categorized)ことを必要とし得る。会計による不正確な分類、組織化されていないレコード(record)の保持、非効率的なストレージ、および基礎となる財務データに関する他の関連する問題は、そのようなドライバを検討することと、費用を正確に再カテゴリ化することを困難にする。従来のアプローチは、データを再分類するためにかなりの人的努力を必要とし、しばしば、トランザクションレベルデータを検討し、関連するコストカテゴリに再分類するために、何百もの個人の作業を必要とする。しかしながら、異なる個人によるコスト分類の知識は、非常に不透明で反復不可能なカテゴリ化をもたらし得るため、人間によるカテゴリ化は、より大きな問題の犠牲となり得る。トランザクションレベルデータの評価(assessing)および分類に対するいくつかのより最近のアプローチでは、この手動の労力を補うため機械学習技法が使用される。このようなアプローチでさえ、これらを正確にカテゴリ化するために、特定のデータセットの詳細な知識を必要とする。これらのアプローチは、支出データの手動カテゴリ化を低減することに成果を挙げ得るが、支出データをカテゴリ化するためのモデルおよびシステムは、多くの場合、クライアントおよびクライアントのビジネスに高度に特有である。データをカテゴリ化するために使用されるモデルは、一般に、他のクライアント、具体的には、異なる産業部門のクライアントに引き継げるものではない。その結果、これらのモデルの精度は一般に不十分である。
【発明の概要】
【0003】
[0003]本開示による様々な実施形態が、図面を参照して説明される。
【図面の簡単な説明】
【0004】
【
図1A】[0004]
図1Aは、カテゴリ化された支出データを提示し、ユーザが支出データを探索することを可能にするためのアプリケーションインタフェースを示す図である。
【
図1B】[0004]
図1Bは、カテゴリ化された支出データを提示し、ユーザが支出データを探索することを可能にするためのアプリケーションインタフェースを示す図である。
【
図2A】[0005]
図2Aは、生の支出データ(raw spend data)に含まれ得るログまたはインボイスの例を示す図である。
【
図2B】[0005]
図2Bは、生の支出データに含まれ得るログまたはインボイスの例を示す図である。
【
図3】[0006]
図3は、個々のログの特性を記述するログベクトルを含み得る用語発生(term-occurrence)行列を示す図である。
【
図4】[0007]
図4は、ログを階層的にクラスタリングすることができる1つの方法を示す樹状図を示す図である。
【
図5】[0008]
図5は、費用ログをクラスタリングし、カテゴリ化する態様を示す図である。
【
図6】[0009]
図6は、費用ログのカテゴリを予測するために1つまたは複数の機械学習技法を使用するモデルの態様を示す図である。
【
図7】[0010]
図7は、ここで説明される方法のベースマッピング、高値タグ付け(high-value tagging)、およびAIマッピング段階(phases)の間に支出データがどのようにカテゴリ化され得るかの一例を提供するプロットである。
【
図8】[0011]
図8は、いくつかの実施形態において使用され得る支出データをカテゴリ化するための方法を提供する図である。
【発明を実施するための形態】
【0005】
[0012]本開示の様々な実施形態によるシステムおよび方法は、データをカテゴリ化および分析するための従来の手法において経験される前述のおよび他の問題点のうちの1つまたは複数を克服し得る。
【0006】
[0013]特に、本明細書で説明される様々な実施形態は、総勘定元帳(GL)、買掛金(accounts payable(AP))、購入注文(PO)情報を含むことができる支出データをカテゴリ化するための方法を提供し、これには、トランザクション、インボイス、支出レシート、サプライヤベース(supplier-based)のデータセット、および他の文書化された費用が含まれるが、これらに限定されず、本明細書ではまとめて支出ログ(または単にログ)と称する。すべての関連するデータシステムおよび/またはソースから支出データを収集した後、データはクリーンデータセット(cleaned data set(CDS))を生成するために処理され、集約される。CDSは、あまり重要でない情報を除去するためにフィルタリングされた、および/またはログカテゴリ化に使用される情報を標準化するために処理された支出データを含む。場合によっては、CDSは、支出情報をフィールドタイプ(例えば、総コスト、ベンダ(vendor)、取引日(transaction date)など)によって分解する組織化された構造を含む。場合によっては、支出データを標準化することは、自然言語処理動作をログに関連付けられたテキスト情報に適用することを伴う。次に、CDSからのログは、単語、コスト、日付、または他のパターンおよび特徴の類似度に基づいてグループにクラスタリングされ、より小さいサイズの新しいデータセット、すなわち最小データセット(minimal data set(MDS))を生成する。MDSは、同じタイプのトランザクション(例えば、「タクシー運賃」および「サプライヤA」)を表すログのグループを構成する。クラスタリング動作に基づいて、同じクラスタ内の各ログは、同じコストカテゴリにマッピングされ得る。
【0007】
[0014]場合によっては、階層的なカテゴリ構造は、クラスタリングされた構造に少なくとも部分的に決定され、場合によっては、カテゴリ構造は特定のクライアントニーズ(client needs)に基づいている。ログはその後、段階において、タグ付けされ、またはカテゴリ化され、各クラスタから1または複数の代表的なログが、当該クラスタに関連付けられたログの各々についてのカテゴリ情報を決定するために使用される。第1段階では、ログまたはクラスタのいくつかがスマートアルゴリズム(smart algorithm)及び所定のルールによってカテゴリ化され、例えば、特定の基準を満たしたクライアントコンテキスト(client context)情報(例えばアカウント(account)構造)を含むログまたはクラスタは自動的にカテゴリ化され得る。第2段階では、高値クラスタが選択され、自動的にカテゴリ化される。第3段階では、機械学習モデルがカテゴリ化された支出データを使用して訓練され(trained)、残りのカテゴリ化されていない支出データを自動的にカテゴリ化するために使用される。場合によっては、カテゴリ化の正解率(accuracy)を高めるために、人間参加型(Human-in-the-Loop (HITL))方法を使用できる。これにより、アルゴリズムはモデル予測性能(performance)の質を決定する。特定の閾値を下回る支出の部分について質を決定する場合、アルゴリズムはモデルパラメータを調整するか、手動でカテゴリ化すべき追加ログを識別する。第2、第3段階は、その後、支出の95%から100%がカテゴリ化されるまで繰り返される。
【0008】
[0015]従来の方法と異なり、ここで開示された方法は、クライアントのプラクティス(practice)の先行する詳細な知識がない場合においても適用できる。例えば、開示された方法を使用する際には、先行カテゴリ化の拡張データベース(例えば、サプライヤマッチング(supplier matching))は必要ない。支出データのMDSを生成すること、類似のトランザクションに対応するログをクラスタリングすること、高値クラスタのユーザカテゴリ化を要求することの動作を通じて、トレーニングモデルに適切であり、その結果、残りのログを高い正解率で自動的にカテゴリ化するために使用できるデータの好適な訓練(training)セットを素早く取得することができる。ログをクラスタリングすることによって、カテゴリ決定の数は著しく減少し、その結果、処理を速め、より少ないリソースが集約される。開示された方法はさらに機械学習技法において、処理を労力集約を低減し、時間経過により正確性を増すものとすることができる。これらの、またその他の効果は以下の記載により明らかとなるだろう。
【0009】
[0016]
図1Aは、多くの場合支出キューブ(spend cube)と称される、ユーザにカテゴリ化された支出データを表示するためのアプリケーションを示す。例示されたインタフェース100では、様々なレベル1カテゴリ104aについての総費用102が示され、ユーザにカテゴリ化された支出データの内訳を伝えるための可視化データ106(グラフ、チャート、図、等)も示される。インタフェースは、ユーザに支出データを探索可能にするための、例えば、ユーザが選択した期間(例えば、1か月、6か月、1年、その他の支出データが提供される選択された期間)における組織の支出を素早く理解することができるような、数々の選択可能な特徴を提供してもよい。支出キューブにより、全コストパッケージに渡るもっとも細分化された(granular)レベルにおいて透明性を提供することで、ユーザは、会社の組織ユニットに渡る、および組織ユニット間で支出がどのように分配されたかを把握することができる。
【0010】
[0017]
図1Bは、カテゴリ化された支出データの高精細ビュー(higher resolution view)を示すアプリケーションにより提供されたスクリーンショット101を示す。そのため、
図1Aのスクリーンショットに示されたものより、より詳細な分析が可能である。追加的な詳細は、様々な費用ログがカテゴリ化された階層的なカテゴリ構造を使用して提供される。例示されたインタフェースでは、レベル1カテゴリ104aのそれぞれが1または複数のレベル2カテゴリ104bにより構成され、レベル2カテゴリのそれぞれは、1または複数のレベル3カテゴリ104cにより構成される。3層の階層的な構造が示されているが、それより多くのまたは少ない層であってもよい。場合によっては、支出データは、階層的なカテゴリ構造内に収まらない、1または複数のログもしくはインボイスカテゴリに基づき検索され、または表示され得る。これは、支出カテゴリ104a~104cのコンテキストにおいて実行される。例えば、国際的組織の資産費用(property expenses)108は、組織が事業を営む国によって細分化され得る。場合によっては、ユーザは費用データを分類するために有用であろうデータ基準、ロケーション(location)基準、部門(department)基準、その他任意の選択された基準を満たす費用ログに基づいて支出データにフィルタをかけてもよい。その他の場合によっては、ユーザは、代替の階層的なカテゴリ構造に基づき、支出データを検索することができる。例えば、ユーザは、ビジネスユニット、サブビジネスユニット、または、地域、国等のような、会社の様々な組織的ユニット間でコストがどのように分配されているかを把握するために代替の階層的なカテゴリ構造を選ぶことができるかもしれない。
【0011】
[0018]場合によっては、アプリケーションは、カテゴリ化された支出データに基づいてコストメトリック(cost metrics)を計算するために使用されてもよい。場合によっては、アプリケーションは、ユーザに支出データに基づいて勧告(recommendation)またはワーニング(warnings)を提供してもよい。例えば、アプリケーションは、ユーザに、特定の支出カテゴリは過去の予算編成期間にわたって非常に可変的であること、また、ユーザまたは組織はそれなりの計画を立てるべきであることや変動源を調査すべきであることを警告してもよい。現在知られている、または後に開発される支出データを表示し、さらに分析する多くのソフトウェアツールは、ここに開示された方法により生成されたカテゴリ化されたデータセットとともに使用されてもよい。簡単ために、そのような支出データを表示し、分析する既知のツールについてはここでは詳しく触れない。
【0012】
[0019]ここで使用されるように、クライアントは、ビジネス費用(クライアント支出とも称する)のログを維持する任意の組織、ビジネス、個人、グループ、またはエンティティであってよい。一般的に、ここで開示された方法は、クライアント以外の者によって実行され得る。しかし、これは必要的ではない。典型的には、クライアントのデータ要求は支出データのカテゴリ化より先に決定される。データ要求の決定は、例えば、何レベルの階層的なカテゴリ構造が使用されるかを決定すること、またはどのような追加カテゴリログが関連付けられるかを決定することを含んでもよい。例えば、あるクライアントは、地理的なロケーション、日付、関連する人員などによって費用を分類したいと考えることがある。場合によっては、クライアントは、費用ログをカテゴリ化したい階層的なカテゴリ構造を既に使用していることがある。
【0013】
[0020]場合によっては、支出データのより基礎的なカテゴリ化(例えば、より少ない層のカテゴリ構造)をコストを抑えてクライアントに提供できる。クライアント要求を決定する準備段階は、どの支出データをカテゴリ化できるかという詳細なレベルを決定し、または推定するために使用することもできる。例えば、クライアントの費用レコードの大部分が不完全であるか、十分な詳細を欠く場合、クライアントは結果の信用度がどのように影響する可能性があるか、また、どのぐらい詳細に(例えば、何層)費用ログがカテゴリ化され得るかについてアドバイスを受けることができる。場合によっては、この段階は、損益計算書、総勘定元帳、APおよびPO認定調整報告書を含むクライアントデータの手動または自動レビューを含む。典型的には、これは、クライアントに、支出全体のカテゴリ化の価値の可能性を示すために行われる。経験が示すように、それは、支出の透明性が欠如しているために大幅な節約の可能性が失われているような特に細分化されたレベルである。
【0014】
[0021]データ要求が決定された後、生の支出データは集約される。生の支出データは、例えば、ビジネス費用のインボイス、レシート(receipts)の紙および電子コピー、その他の書類を含んでもよい。場合によっては、生の支出データは、紙の記録からスキャンされ、電子化される必要があるかもしれない。場合によっては、生の支出データは、スキャンはされているが(例えば、JPEG、PDF、PNGイメージ)検索可能なテキストを有さないインボイスを含んでもよい。場合によっては、費用ログは異なる言語によるものでもよい。そのような場合、イメージデータからのテキストは、高度な光学式文字認識(OCR)技法を使用して認識することができる。クライアントのレコードの質によって、データ収集は様々な移行(migration)、トランザクション、復号化、符号化動作を含む。
【0015】
[0022]生の支出データを集約する場合、ログは、ここではコストデータベースと称する共通データベースにおいて格納される。コストデータベースは例えば、構造化照会言語(SQL)データベース、または任意の他のリレーショナルもしくは非リレーショナルデータベースであってもよい。データベースは、単一のメモリデバイスにおいて集約され、多数のストレージデバイスにわたって分配されてもよく、例えばクラウドに格納されてもよい。場合によっては、コストデータベースは、単一の予算編成期間についてログを格納するためだけに使用される。場合によっては、コストデータベースは過去の支払期間からのログを含んでもよく、それらは比較のために保存され得る。
【0016】
[0023]
図2A、
図2Bは、クライアントの生の支出データのターンオーバ(turnover)に含まれ得るログの例を示す。
図2Aは、リストされたフィールドの可読性(readability)を支援するために適切にフォーマット化された(formatted)インボイスの例を示す。従来の自動または手動の動作においては、インボイスのクリアフォーマット化(clear formatting)は不可欠なデータフィールドが正確に識別される可能性(likelihood)を高めることができる。一方で、
図2Bは、支出データの認識を支援するフォーマット化を含まないインボイスを示す。フォーマット化の欠落は、機械翻訳または先行のファイルタイプ変換の結果である可能性がある。場合によっては、ログはクリアフォーマット化なしで初めから生成され得る。
図2Bに示されるような費用ログは、人間による関連する情報の識別は困難である。これらのインボイスはコンピュータがログデータを分析するために使用される場合にも、エラーを発生させ得る。時折コンピュータは分離されるべきテキストフィールドを組み合わせることがあり、支出データの無効な、または矛盾した分析の結果を招き得る。例えば、不適切なフォーマット化はデータフィールドをコストフィールドと組み合わせるといった結果を招き得る。ログデータに自然言語処理(NLP)技法を適用することで、多くのフォーマット化の障害を避けることができる。場合によっては、NLP動作は、自動化された分析を防ぐフォーマット化を施したログのみに適用してもよい。場合によっては、NLP動作は、支出データのフォーマット化を正規化するため、すべてのログに適用される。
【0017】
[0024]ログを分類およびカテゴリ化する速度を速めるため、集約されたクリーンデータセット(consolidated cleaned data set(CDS))を生成するために、コストデータは最初にクリーンにされ(cleaned)、前処理される。CDSは破損、重複、または情報価値のないデータを取り除いたクリーンで明瞭な記述による支出データを含む。ログ分類の基礎としてCDSを使用することは、カテゴリ化の効率と速度を大幅に改善し、ログデータを迅速にまたは正確に処理する人間またはコンピュータの能力の妨げとなり得る不必要な情報と不明瞭なフォーマット化を排除することができる。
【0018】
[0025]CDSの生成は重複するトランザクションデータを取り除くためのフィルタ動作を伴い得る。重複するトランザクションデータは、インボイスデータが複数のロケーションに保存されている場合や、クライアントのレコード内に複数回保存されている場合にしばしば生じる。これらの重複するトランザクションを識別することを怠ると、エラーを生じ、また事後的に訂正するために非常に多くの労力を必要とし得る。更に悪いことには、重複を識別できないことは、予算が誤ったデータを前提に構築された場合、不良な予算編成を招き得る。場合によっては、各ログについてテキストデータの比較に基づき、同一のまたはマッチングする(matching)エントリーが自動的に決定され、取り除かれてもよい。場合によっては、重複のまたはマッチングするログが識別され、ユーザは、ログが重複していることを検証するよう要求されてもよい。
【0019】
[0026]クリーンデータセットを生成する際、減価償却(depreciation)、償却(amortization)、および税金などの様々な範囲外取引も除去することができる。場合によっては、内部の財務の動き(例えば、見越額と戻入(accruals & reversals))、「価値のない」トランザクション、破損されたデータを含むログは取り除かれる。CDSが正確であり、範囲外または重複のトランザクションを含まないことを検証するために、CDSにおけるログデータにより表される総コストは、例えば、対応する期間の損益計算書または試算表に記録されたクライアントのベースライン値(baseline values)と比較される。実質的な矛盾や不一致が識別された場合、ログにおける識別されたエラーを訂正するか、生データにおいて欠落しているトランザクションを考慮するためにコストデータベースに追加ログを追加することによって、相違を調整することができる。CDSにおける支出データが、損益計算書(または他の同等な財務書類)に示された値にトレースバックする(traced back)ことができる場合、引き続きカテゴリ化された支出データは総支出を正確に表しているものとして信用できる。
【0020】
[0027]CDSを生成する際、各トランザクションの後続の分析を支援するために、様々な自然言語処理(NLP)ステップがコストデータに適用される。これらの動作は関連するキーワードを決定することと、クラスタリングのためのトランザクション間の関係を決定することを支援することができる。これらのNLP動作のいくつかは、(1)小文字テキストへの変換、(2)重複した単語の削除、(3)句読点の削除、(4)英数字以外の文字の削除、(5)数字の削除(場合によっては、特定のフィールドからのみ)、(6)(場合によっては)閾値(例えば2文字)より少ない数の文字の削除、(7)文字と数字の組合せとして識別されるコードの削除、(8)単一言語(例えば、英語)への翻訳、(9)単語を基本辞書形式に変換すること(例えば、「expenses」は「expense」になる)による単語の分類(lemmatizing)、(10)月名と省略形の削除、(11)「for」、「the」といったストップワード(stop words)の削除、(12)都市名の削除、(13)固有名詞と固有名の削除、(14)サプライヤフィールドがない場合はサプライヤファミリ名の置換、(15)完全な記載(full description)で表示されている場合はサプライヤ名の削除、(16)1つまたは複数のカテゴリでの出現のような所定のリストまたはアドホック分析に基づいたキーワードの選択、(17)用語出現頻度(term frequency)-逆文書頻度(inverse document frequency(TF-IDF))のような情報スコアリング(informative scoring)の使用、および(18)固有表現抽出(Named Entity Recognition)のための機械学習モデルの使用を含む。各ログに適用されるNLP動作は、これより多くても少なくてもよい。さらに、いくつかのNLP動作はトランザクションのあるフィールドまたは部分にのみ適用されてもよい。例えば、場合によっては、NLP動作はインボイス記載フィールドにのみ適用され、例えば、サプライヤ名やサプライヤの連絡先のようなフィールドには適用されない。
【0021】
[0028]CDSを生成、バリデート(validating)した後、1または複数のクラスタリングアルゴリズムは、最小データセット(MDS)を構築するために、類似度に基づいてログをグループにクラスタリングするために使用される。十分類似する場合、ログは同一のカテゴリに属すると推定され、まとめてタグ付けされる。これにより、最終的に同一カテゴリ指定を受けるであろう複数の類似するログを個別に評価し、カテゴリ化する必要がなくなる。例えば、あるクラスタが500個のログ有する場合、すべての500個の費用ログは個別にではなく、一括してカテゴリ化される。これは、コストデータベースにおいてログをカテゴリ化するのに必要な労力を大きく減少する。
【0022】
[0029]クラスタリングの際、CDSからのクリーンログデータが考慮される。いくつかの実施形態において、各ログについてのログベクトルはCDSに含まれる関連したテキストに基づいて決定される。これらのログベクトルは、ログにおいて見つけられた単語によってログを特徴づけるために使用される。上述のように、CDSは1または複数の自然言語処理動作で処理された各費用ログについてのテキストを含む。テキストデータにおいて実行されるNLP動作は、例えば、有意な意味を伝達しない「a」、「the」、または「in」等のストップワードを削除すること、固有名詞を削除すること、単語を原形(base form)に返還することを含む。NLP動作は、クラスタリングの目的のため容易に比較され得るように、ログ間でテキストを標準化する助けとなる。
【0023】
[0030]場合によっては、コストデータベースは、MDSにない追加情報を含んでもよい。そのような追加情報は、ログがMDS内の情報のみからカテゴリ化できない場合に、または詳細なクライアントレコードを維持するために、参照されてもよい。追加情報は、例えば、インボイスに関連するテキストのすべて、または、インボイス内のテキストの配置とフォーマットを含んでもよい。場合によっては、フォントテキストサイズと相対的なスペースのような態様も特徴づけられる。場合によっては、追加データはインボイスに関連するPDFのような電子ファイルからのメタデータを含んでもよい。メタデータ情報は、インボイスが作成されたときのタイムスタンプ、インボイスの作成に関連するユーザアカウント、インボイスと関連するロケーションデータ、または電子ファイルを作成したマシーンのシステムデータ等のデータを含んでもよい。場合によっては、インボイスのイメージが記録されてもよい。この追加情報は、コストデータベースにおいて、例えば、費用ログを他の費用ログに関連付けるために役立ち得る。場合によっては、コストデータベースに記憶される追加情報は、
図1A、
図1Bに示すようなアプリケーションを通して、ユーザによってアクセスされてもよい。例えば、ユーザはカテゴリにおいてトランザクションの項目リストを要求してもよく、1または複数のログが表示されるために追加情報をプロンプトする(prompting)選択を提示してもよい。「追加情報」の例として提供されたが、それらのフィールドに関連するデータは、フィールドがログデータのクラスタリングまたはタグ付けについて関連するとして識別された場合など、場合によってはMDSに記憶される。
【0024】
[0031]いくつかの実施形態では、用語の辞書は、MDSにおいて見つけられる単語と共通のフレーズに基づいて作成することができる。場合によっては、
図3に示すように、ログベクトル302と用語ベクトル304を有する、用語出現マトリックス300を作成することができる。ログベクトルは、ログの複数のディメンション(dimensions)に沿って様々なログ特徴を記録できる。例えば、ログベクトルの指標はログにおいて用語が出現する数を示す値、またはいくつかの他の特徴(例えば、コスト、トランザクション時間、トランザクションロケーション等)を示す値を提供してもよい。用語ベクトル304は、特定の用語について、各費用出ログにおけるその用語の出現数を示す。場合によっては、用語ベクトルは、ベクトルの指標の追跡が各ログのドル額(dollar amount)を特定し得るドル額のような他の特徴に対応してもよい。
【0025】
[0032]場合によっては、用語出現マトリックスは、例えば、用語出現マトリックスから費用ログの最大閾値において表れる用語ベクトル(例えば、費用ログの50%、75%、場合によっては、80%より多くにおいて出現する用語)を取り除くことによって、簡略化できる。ログの大部分において表れる用語は、カテゴリ化目的のためにあまり意味を持たないものである可能性がある。場合によっては、辞書からの用語はタグ付けのために無関係(irrelevant)であると決定される可能性があり、対応する用語ベクトルは、用語出現マトリックスから取り除くことができる。場合によっては、固有名詞とコードはNLP動作の間に適切な分類により置き換えられる。例えば、「ニューヨーク」および「ベルリン」は、各々「都市」と置き換えられてもよい。同様に、「06-24-2017」は「日付」と置き換えられてもよい。いくつかの実施形態では、用語ベクトルは、単語の出現数以外のディメンションに関連する可能性がある。例えば、ベクトルの値は、インボイス上に示されたテキスト、パターン情報テキストデータ(pattern information text data)、インボイスが作成された時などのディメンション情報を表してもよい。場合によっては、用語ベクトルは、対応する用語が費用ログの最大閾値において見つけられない場合は、用語出現マトリックスから取り除くことができる。
【0026】
[0033]クラスタリングは、費用ログ間の単語類似度やパターンを考慮することができる。例えば、再発する購買は、購入された品、サービス、ベンダ、定期購買(regular purchase)の間隔、などを識別できる一意的な単語とデータのセットを使用する可能性がある。これらのパターンと類似度は費用ログについてのログベクトルにおいて反映され、類似度測定(similarity measure)に基づきログをグループ化するために使用される。
【0027】
[0034]更に、Word2VecまたはGLOVEのような単語埋め込み技法を使用した機械学習モデルを使用して、他のログ特徴を得ることができる。クラスタリングは、コサイン類似度、ユークリッド距離、または特別に設計されたWord Mover distance(「From Word Embedding To Document Distances」、M. J. Kusner、Y. Sun、N. I. Kolkin、K. Q. Weinberger、第32回機械学習国際会議予稿集、2015年)などの様々な距離メトリックを使用して、これらの特徴ベクトルを使用することができる。
【0028】
[0035]いくつかの実施形態では、インボイス記述が十分な長さを有する場合、潜在ディリクレ配分(Latent Dirichlet Allocation (LDA))も、インボイス記述においてトピックを発見するための教師なしアルゴリズムとして使用され得る。それぞれのログについて、出力はログのテキスト記述と関連付けられたそれぞれのトピックの相対的な重みを表すことができる。この出力は、次にログベクトルに埋め込まれ、クラスタリングアルゴリズムに対する入力特徴として与えられる。
【0029】
[0036]
図4は、様々な実施形態に従って使用することができる階層的クラスタリング構造400の例示的な表示である。この例では、8個のログ(ログA~ログI)がクラスタリングされる一つの方法を示す。クラスタは、単一ログを表す各クラスタから、ログのすべてを含むルートレベル(root level)における単一クラスタ402までの複数のレベルに存在することができる。所望の類似度閾値404(この例では3つのクラスタを生じる)は、クラスタリング動作について選択されたパラメータとなり得る。場合によっては、クラスタが別個のカテゴリが表されたログを含むと決定した場合は、クラスタは、クラスタにおけるログの各ログベクトルを使用する2以上のサブクラスタに分割することができる。
図4は、階層的に配置されたクラスタを示すが、非階層的なクラスタも使用され得る。更に、分析されている支出ログのタイプおよび種類(variety)に従って、より多くのまたはより少ないクラスタを作成してもよい。
【0030】
[0037]最終支出カテゴリは階層木において構造化される。いくつかの実施形態では、
図4で示すような樹状図(クラスタ木)は、支出カテゴリ構造を少なくとも一部を反映し得る。場合によっては、1または複数のカテゴリは、用語またはクラスタに関連付けられた他の変数に基づいて提案され得る。場合によっては、提案されたカテゴリ構造は、ユーザがカテゴリ名またはカテゴリ構造を編集するためのオプションとともにアプリケーションインタフェースを介して提供され得る。例えば、ユーザは、層の数を割り当てるためのオプションまたはカテゴリを組み合わせ若しくは分割するためのオプションを提供され得る。
【0031】
[0038]階層的なクラスタリングの処理は、例えば、複数の費用ログをクラスタに再帰的に分割することを含む。いくつかの実施形態では、ログベクトルは、階層型クラスタリング(connectivity-based clustering)技法を使用してクラスタリングされてもよく、場合によっては、ログベクトルは密度ベースクラスタリング(density-based clustering)を使用してクラスタリングされる。いくつかの実施形態では、ログベクトルは、Nister他、「Scalable Recognition with a Vocabulary Tree」、コンピュータビジョンとパターン認識学会(Conference on Computer Vision and Pattern Recognition (CVPR))、電気電子学会(IEEE)予稿集、2006年、Ward、J. H.、「Hierarchical Grouping to Optimize an Objective Function」、米国統計協会ジャーナル(Journal of the American Statistical Association)、1963年で紹介されたウォード法、または、Ester,M.他、「A density-based algorithm for discovering clusters in large spatial databases with noise」、Knowledge Discovery and Data Mining(KDD-96)第二回国際会議予稿集、1996年で紹介されたDBSCAN アルゴリズムなど、従来の階層k―平均法クラスタリング技法を利用してクラスタリングされてもよい。いくつかの実施形態では、例えば、ログベクトルのあるディメンションに他より多くの重み付けをするというようにクラスタリング処理に重み付け要素を加えることにより、類似度測定を調整するために産業の詳細な知識を使用することができる。場合によっては、重みおよび重み付けの値は、手動で選択されてもよく、いくつかの実施形態では、重みは様々な機械学習技法を使用して経時的に決定することができる。この分野で知られている様々なクラスタリング技法は、ログベクトルをクラスタリングするために使用することができる。
【0032】
[0039]ログが同一のカテゴリ指定を有するログの同様のグループにクラスタリングされる場合、支出データをカテゴリ化する労力は著しく低減される。例えば、コストデータベースが8,000,000ログを有する場合、それらのトランザクションは約500,000クラスタより少ない数にグループ化され得る。この例では、ログのすべてをカテゴリ化するために必要な決定の数は、約1/16に低減され得る。場合によっては、クラスタリング動作は、ログをログの数の約1/10より少ない数のクラスタにグループ化するために使用され、場合によっては、ログをログの数の約1/50より少ない数のクラスタにグループ化するために使用される。場合によっては、使用されるクラスタの数は、例えば、クライアントにより所望される費用カテゴリ化の精細度(resolution)(例えば、何層のカテゴリ化が所望される)に依存してもよい。クラスタの数はクライアントの支出活動の多様性(例えば、サプライヤの多様性や費用タイプ)およびカテゴリ化について必要とされる粒度のレベルに依存してもよい。
【0033】
[0040]
図5は、
図1Bに示すような3層カテゴリ階層が使用された場合の費用ログのクラスタリングとカテゴリ化の態様を示す。3層カテゴリ階層のコンテキストにおいて説明されるように、記述された処理はその他のカテゴリ構造にも適用できる。ブロック500は、コストデータベースにおける費用ログについての集約されたクリーンデータセット(CDS)を示す。クライアントとログが表す期間に応じて、これは、数百万の費用ログを表すことができる。CDSからのログをクラスタリング(502)することにより、クラスタグループ506、508、および510により構成される最小データセット(MDS)512となる。クラスタリングの後、ロググループは損益計算書、総勘定元帳、APおよびPO認定調整報告書からのそれぞれのクライアントのアカウント構造により分析される。この分析結果に応じて、クラスタはカテゴリ化労力を容易にするため、クラスタグループ506、508、および510に分割される。ブロック504のログは、欠落データのために通常はクラスタリングすることができないログを表している。
【0034】
[0041]クラスタグループ510は、すべてカテゴリ構造内の単一レベル3カテゴリにマッピングされる(すなわち、完全にカテゴリ化される)ログを有するクラスタを含む。このグループの各クラスタは、損益計算書、総勘定元帳、APおよびPO認定調整報告書からの同一の関連付けられたアカウント構造を共有するログを含む。言い換えると、MDSにおける関連付けられた支出データは、高い信用度で各クラスタについて少なくともレベル3カテゴリ化において提供されるのに十分である。一般的に、グループ510のログはクライアントの支出データにおける最も完全なログを表す。
【0035】
[0042]クラスタグループ508は、レベル1またはレベル2カテゴリに集合的にカテゴリ化され得るクラスタを表す。このグループでは、少なくともいくつかのログまたはそれらの関連付けられたアカウント構造は、階層的なカテゴリ構造の第2レベルまたは第3レベルにおいて定義されたカテゴリ内に適合するための十分な詳細さを欠く。場合によっては、これらのカテゴリは、階層的なカテゴリ構造の第2レベルまたは第3レベルにおいて「マッピングされない(unmapped)」カテゴリ内に位置してもよい。
【0036】
[0043]クラスタグループ506は、階層的なカテゴリ構造の第1レベル、第2レベルまたは第3レベルにおいて、異なるカテゴリに適合するログを含むクラスタを表す。それらのクラスタは1より多くのアカウント構造と関連付けられるログを含む。これは、クラスタリングに関連するデータがレベル3粒度でカテゴリを区別することができるほど十分に詳細でないような場合に起こり得る。例えば、
図1Bの階層的なカテゴリ構造を参照すると、このグループのクラスタは「特許および商標」としてカテゴリ化されるべきいくつかのログと、「商品開発」としてカテゴリ化されるべきいくつかのログを有し得る。そのようなクラスタは同一の支出タイプのログの実際のグループを表現しない可能性があり、追加ログコンテキスト(アカウント構造のような)を使用してサブクラスタに分割されるべきである可能性があり、そのため、それらのサブクラスタの各費用ログは全て、単一のレベル3カテゴリにそれぞれ含まれる。
【0037】
[0044]最後に、最終グループ504はクラスタリングアルゴリズムにより処理される必要があるデータの不足や欠落のために、クラスタリングされなかったログを含む。他の部分で詳細に説明されるように、それらのログのいくつかはベースマッピングルールによりカテゴリ化されてもよい。場合によっては、追加ログコンテキストにより、それらのログのいくつかが他のクラスタからのログと結合されてもよい。これは、クライアントコンテキスト特徴を使用した機械学習アルゴリズムを使用して実行される。場合によっては、これらのログは、例えば、ログがクライアントの支出の重要な部分を表している場合、ユーザによってマッピングされ得る。しかし、一般的には、グループ504の大部分のログは訓練済モデル(trained model)を使用してカテゴリ化される。グループ504、506、508および510の表示されたサイズは単にクライアントの支出の割合例として提供されたに過ぎない。個々のクラスタグループは、支出データの品質、使用したクラスタリング技法、生成されたクラスタの数などの要素に基づき、クライアントの支出のより大きいまたはより小さい割合を示し得る。
【0038】
[0045]クラスタリングの後、いくつかのクラスタは、ベースマッピング処理518により自動的にカテゴリ化され得る。ベースマッピングは、信用クライアントカテゴリ(trusted client categorie)に調整されたルールに基づくことができる。場合によっては、これらのマッピングルールは、開示した方法を使用し、先行する予算編成期間中のクライアント支出をカテゴリ化することにより生成されてもよい。場合によっては、これらのベースルールは、産業部門に関連してもよく、様々なクライアントにより使用される汎用的なルールであってもよい。場合によっては、これらのベースルールは、直接的なレベル3カテゴリ化品質を有する特定のアカウント構造に基づいてもよい。場合によっては、ベースマッピングルールは、クライアントにより提供されるか、クライアントのプラクティスの態様に基づいて決定されてもよい。
【0039】
[0046]一例として、マッピングルールは、クラスタを、「便(flight)」または「空(air)」、1または2の都市フィールド、1または2の時間フィールド、便コード、および既知の航空券サプライヤなどの、このカテゴリに関連付けられた既知のキーワードを有するログを含む、「航空運賃」カテゴリ110(
図1Bにおいて階層的カテゴリ構造のレベル3カテゴリ)の下にクラスタを配置するものであってもよい。これらは、航空券のインボイスに記載されているであろう、代表的な到着地都市(arrival city)(および出発地都市であってもよい)、到着時間(および出発時間であってもよい)、便コード(例えば、2文字と後に続く1~4数字)を含む。場合によっては、ルールは航空券費用について予期され得る価格範囲内であるかどうかをみるためにログに関連付けられたコストを考慮することもできる。このパターンは、マトリックスにおけるログのログベクトルを含む各々のクラスタマトリックスから決定することができる。例えば、各ログベクトルが、都市数に対応するディメンションについて1以上の値を有すること、インボイスに記載された時間フィールドの数に対応するディメンションについて1以上の値を有すること、便コードの数に対応するディメンションについて1の値を有すること、少なくとも 既知のキーワードおよび航空運賃カテゴリと関連付けられたサプライヤに対応するディメンションについて少なくとも1の値を有すること、を決定することができる。場合によっては、ベースマッピングルールは著しくより複雑である可能性があり、多くの場合、ベースマッピングのルールは、ログがベースルールにより誤ったカテゴリ化をされる可能性を減少するために非常に具体的であり得る。しかし、場合によっては、これらのベースマッピングルールは、比較的シンプルであってもよい。例えば、場合によっては、ルールは、クラスタと関連付けられた単一のキーワードまたはサプライヤにのみ依存してもよい。
【0040】
[0047]ベースルールベースの(base rule-based)マッピング動作の後、高値クラスタグループを表す残りのクラスタのサブセットは、アルゴリズムによって自動的に決定される。選択は、機械学習モデルを改善するために、クラスタごとの総コスト、クラスタにおけるトランザクションの数は、および/または過少または過剰に表現された(under- or over-represented)カテゴリに対する各クラスタの関連に基づくものであってもよい。高値クラスタグループのサブセットは、場合によっては、総支出の30%から60%の間を表してもよく、クラスタグループ504、506、508、および510の各々からのクラスタを表してもよい。これらのクラスタはその後手動によりカテゴリ化される。例えば、クラスタの代表的なログは、クラスタにおけるログのすべてがどのようにカテゴリ化されるかについての選択を決定するユーザに提供されてもよい。場合によっては、代表的なログは、例えば、クラスタグループの平均または重心(centroid)を表すログを決定することにより、自動的に決定されてもよい。場合によっては、ユーザはクラスタからいくつかのログをカテゴリ化するよう要求されてもよい。例えば、クラスタが総支出の充分な割合を示す場合、またはクラスタを2以上のサブクラスタに分解するための少なくとも一つのクリアなディメンションがある場合、ユーザは、ログが同一カテゴリに属するサブクラスタを表すことを検証することを要求され得る。
【0041】
[0048]場合によっては、高値タグ付けの処理は、総支出のある割合がカテゴリ化されるまで、および/またはログの閾値数が階層的なカテゴリ構造の各カテゴリにカテゴリ化されるまで続く。場合によっては、クラスタは、ユーザが各カテゴリにカテゴリ化されるログの閾値数を提供するよう要求される選択の数を減らすために、クラスタ木の分散部分から選択されてもよい。この方法は、人間参加型(Human-in-the-Loop (HITL))の原理に従い、不十分であるとみなされたモデルによる予測が手動カテゴリ化のため人間に送られる。
【0042】
[0049]手動でタグ付けされたまたはベースマッピングルールを介してマッピングされたクラスタとログは、機械学習モデルを訓練するための訓練セット522として使用される。このモデルは、残りのログと予測セット520としても称される、クラスタ514をカテゴリ化するために使用される。クラスタの予測セットは、クラスタグループ504、506および508のサブセットを表す。
【0043】
[0050]
図6は、どのようにモデル600がクラスタの予測セットについての適切なカテゴリを選択するために使用され得るかを示す。モデルは、ベースマッピング動作518と高値タグ付け516により、カテゴリ化された訓練データ522を受け取る。訓練データはMDSにおける関連付けられたデータに基づきログまたはクラスタのカテゴリを決定するために使用されるモデルパラメータを決定するために使用される。モデルが訓練され、予測520に適用されると、カテゴリ予測602を提供する。セット520と522は、各ログについてログベクタとともにモデルを提供する。いくつか実施形態では、ログデータのサブセットのみがモデルに提供され、場合によっては、コストデータベースにおける追加の支出データがモデルに提供され得る。場合によっては、ログは、学習するカテゴリの可能性のバランスを取る(balance)ための(例えば、特定のカテゴリが過剰表現されることを避ける)モデル較正の間に訓練セットから除外(withdrawn)されてもよい。
【0044】
[0051]場合によっては、
図6に示した反復処理(iterative process)を介し、経時的により進化し、より正確になり得る。この反復処理は、モデルを改善するために自動化された品質およびエラー分析により駆動される。また、さらなる手動タグ付けが低質カテゴリ予測を有するログについて実行され得る。動作604において、モデルが設計される。モデルを設計することは、例えば、入力変数として使用するためにログベクトルのどの特徴が選択されるか、どのモデルタイプまたは構造が使用されるかを選択することを含んでもよい。場合によっては、モデルは、ロジスティック回帰モデル、線形判別分析アルゴリズム、分類および回帰ツリー、「Tackling the Poor Assumption of Naive Bayes Text Classifiers」、J.D.M.Rennie、L.Shih、J.Teevan、D.R.Karger、第20回機械学習国際会議(the 20th International Conference on Machine Learning)予稿集、2003年で紹介されたナイーブベイズアルゴリズム(Naive Bayes algorithms)、K近傍法(K-nearest neighbors algorithms)、学習ベクトル量子化アルゴリズム(learning vector quantization algorithms)、サポートベクタマシン(support vector machines)、バギング(Bagging)、ブースティング(Boosting)、ランダムフォレスト(Random Forests)、XGBoost、LightGBM アルゴリズ、人工ニューラル量子化アルゴリズム、などの1または複数の機械学習アルゴリズムを含み得る。ここでいくつかの例がディープラーニングモデルまたはニューラルネットワークモデルのコンテキストで挙げられたが、他のモデルや、当業者によく知られたモデルの組み合わせも使用することができる。
【0045】
[0052]個々のログまたはログのクラスタのカテゴリを予測するためにいくつかの実施形態で使用することができるニューラルネットワークモデルの例は、パーセプトロン(P)ネットワーク、フィードフォワード(FF)ネットワーク、放射基底ネットワーク(Radial Basis Networks(RBF))、ディープフィードフォワード(DFF)ネットワーク、リカレントニューラルネットワーク(RNN)、長/短記憶(Long/Short Term Memory(LSTM))ネットワーク、ゲートリカレントユニット(GRU)ネットワーク、自動エンコーダ(Auto Encoder(AE))ネットワーク、変分AEネットワーク(Variational AE Networks (VAE))、デノイジングAEネットワーク(Denoising AE Networks (DAE))、スパースAEネットワーク(Sparse AE Networks (SAE))、マルコフ連鎖(MC)ネットワーク、ホップフィールドネットワーク(HN)、ボルツマンマシン(BM)ネットワーク、制約付きBMネットワーク(Restricted BM Networks(BRM))、Deep Beliefネットワーク(DBN)、ディープ畳み込みネットワーク(Deep Convolutional Networks(DCN))、Deconvolutional ネットワーク (DN)、ディープ畳み込み逆グラフィックスネットワーク(Deep Convolutional Inverse Graphics Networks(DCIGN))、敵対的生成ネットワーク(Generative Adversarial Networks(GAN))、リキッドステートマシン(Liquid State Machine(LSM))ネットワーク、エクストリームラーニングマシン(Extreme Learning Machine(ELM))ネットワーク、エコーステートネットワーク(Echo State Networks(ESN))、ディープ残差ネットワーク(Deep Residual Networks(DRN))、コホネンネットワーク(KN)、サポートベクタマシン(SVM)ネットワーク、ニューラルチューリングマシン(Neural Turing Machine(NTM))ネットワークなどを含む任意数のニューラルネットワークの形態を採用できる。場合によっては、モデルは機械学習モデルまたはアルゴリズムの複数に基づく。
【0046】
[0053]動作606では、モデルは訓練データセットを使用して訓練される。訓練は、当業者に知られている任意数の機械学習技法を含む。例えば、モデルは、scikit-learn toolkitを使用してPythonで生成および訓練することができ、またはTensorFlow、Keras、MLib、gensimなどのライブラリを使用して訓練することができる。訓練中、モデルのパラメータは、カテゴリ化された訓練セットから機械学習アルゴリズムによって学習され、様々なモデルハイパーパラメータは、モデルの選択されたメトリックを増加させるために、グリッドサーチ(grid search)、交差検証(cross-validation)、およびベイズ最適化のような異なる技法を使用することによって決定および/または最適化され得る。
【0047】
[0054]動作608では、モデルの品質およびエラー分析が自動的に実行される。場合によっては、品質およびエラー分析は、ログが正確にマッピングされているかを検証するために予測セット520がカテゴリ化された後に実行されてもよい。場合によっては、品質およびエラー分析は、予測セット520のカテゴリ化の間に、周期的にまたは継続的に実行されてもよい。モデルが誤った予測カテゴリであると決定された場合、そのモデルは、モデルの設計604を修正することで更新されてもよい。所与のカテゴリ606に関連するハイパーパラメータの自動調整をしてもよい(例えば、フォールスポジティブ(false-positive)予測が検出される)。あるいは、特定のカテゴリについて追加の手動タグ付け614をしてもよい。
【0048】
[0055]モデル600が予測品質について検証できることをチェックするための手動および自動の方法は数多くある。例えば、予測カテゴリは、クライアントのアカウント構造に基づき、各カテゴリごとの予期された支出分布(distribution)と照合することができる。キーワード頻出分布、アイテムコスト分布などの組み合わせとして使用できるいくつかの他の分布計算がある。さらに、訓練セットのテストサブセットは選択されたメトリックのよい測定(例えば、正解率、重み付き正解率(weighted accuracy)、適合率(precision)または再現率(recall))を得るために使用することができる。テストサブセットの訓練は自動の予測と実際のタグ付けを比較するため、およびログベクトルの観点から各カテゴリにおけるエラーを特徴づけるために使用することができる。場合によっては、ログは各カテゴリ予測に信用メトリック(confidence metric)を提供することができる。場合によっては、混合行列(confusion matrix)は予測と実際のカテゴリ(フォールスポジティブまたはフォールスネガティブ(false-negatives)のような)とを比較することでエラーを特徴づけることができる。
【0049】
[0056]場合によっては、ユーザは、関連付けられた信用メトリックが閾値を下回る場合、ログについて決定されたカテゴリを検証することを要求され得る。場合によっては、カテゴリにおける総支出値はサニティチェック(sanity check)としてチェックされてもよい。場合によっては、特定のカテゴリについて支出値が所定の範囲(例えば、総支出の割合として定められた)を超える場合、ユーザは、そのカテゴリに割り当てられたログとクラスタをスポットチェック(spot check)するよう警告、または要求され得る。
【0050】
[0057]予測の信用メトリックは、動作608において、例えば、ある閾値を下回るというように不十分であるとみなされた場合、機械学習アルゴリズムは、モデルハイパーパラメータを調整するか、手動でカテゴリ化される追加ログを識別することができる。フォールスポジティブ予測の場合で、モデルが一つのカテゴリにおいて誤って予測されたログを有すると決定された場合(例えば、一つのカテゴリについての支出が予期された値を著しく超えると決定された場合)、モデル設計とチューニングパラメータ(tuning parameters)は、エラーを訂正するために調整され得る612。場合によっては、モデルは機械学習重みを調整することで、予期された分布に近づけることができる。場合によっては、他のモデルパラメータのファインチューニング(fine-tuning)により、フォールスポジティブの減少をもたらすことができる。
【0051】
[0058]フォールスネガティブ予測は、モデルが適切なカテゴリにおいてログを配置することに失敗したという状況を示す。場合によっては、混合行列は、機械学習モデルによって誤予測された、または誤予測された可能性のあるログを識別するために使用できる。それらの識別されたログは、ユーザにログのカテゴリを正確にタグ付けするために提供され得る。手動でタグ付けされたログは、カテゴリ化された訓練セット522に追加され、モデルをさらに訓練するために使用されることができ、場合によっては、モデルの設計を変更することができる。
【0052】
[0059]信用メトリックのある閾値を超えるカテゴリ化予測は、動作602においてカテゴリ化されると考えられる。すべての他のログクラスタについて、モデル設計、チューニング、品質およびエラー分析のサイクル(cycle)は、例えば、支出の95%~100%がカテゴリ化されるまで、反復的に繰り返される
[0060]
図7は、ここで示されたマッピング段階中にどのように支出データがカテゴリ化され得るかを例示した
図700を示す。この図は、例示的であり、実施形態は追加の段階を含んでもよく、より少ない段階を有してもよい。ある実施形態では、図示されたものは、ベースマッピングと高値タグ付けが同時に起こる場合など、重複してもよい。
【0053】
[0061]段階702において、生の支出データはクライアントから受け取られ、コストデータベースに集約される。説明したように、これは文書においてテキストをデジタル化および/または認識すること、データフィールドを結合すること、標準化されたターゲットスキーマに変更すること、ネガティブおよび範囲外の支出を調整する(reconciliation)ような動作を含んでもよい。データは次いで集約され、クリーンにされ(例えば、破損、重複ログは取り除かれる)、種々の自然言語処理動作はテキスト認識に適用され、集約されたクリーンデータセット(CDS)となる。段階704では、最小データセット(MDS)はCDSマルチディメンション(multi-dimensional)ログにおいて種々のクラスタリング技法を使用して生成される。動作706において、ベースマッピングルールは、ログをレベル3コストカテゴリに自動的にマッピングするために適用される。場合によっては、この段階は総支出の約10%~20%のカテゴリ化をもたらす。場合によっては、クライアントのプラクティスの詳細な知識が知られており、開示されたカテゴリ化処理が先行する予算編成期間について実行されている場合、より高い割合の総支出はこの段階中にタグ付けされ得る。
【0054】
[0062]ベースマッピング段階の後、高値クラスタは動作708において手動でタグ付けされる。説明したように、これは、会計士などのユーザに、各高値クラスタから1または複数のログを手動でタグ付けするよう要求することを含み得る。高値タグ付け段階の最後に、すべての情況において必要ではないが、総支出の大部分が考慮される。最後に、最終段階710において、残りの支出に対応するログは機械学習モデルを使用してカテゴリ化される。モデルは、先行する段階でカテゴリ化されたログ、先行する予算編成期間中にカテゴリ化されたログ、場合によっては、同じ産業分野において他のクライアントについてのカテゴリ化に基づき事前訓練済モデルを使用して、訓練されてもよい。場合によっては、段階710の最後に、支出データの95%より多くは階層的なカテゴリ構造のレベル3カテゴリにカテゴリ化され得る。高い品質と信用性をもって高いレベルのカテゴリ化されたログを実現するために、人間参加型と呼ばれる処理を使用する。この処理は、半教師あり機械学習の特別な場合である「アクティブラーニング(active learning)」の概念を構築する。場合によっては、自動化アルゴリズムは、ある閾値を下回るあるカテゴリについてのモデル性能スを決定することができる。場合によっては、分析に従って、モデルは、モデルハイパーパラメータを自動調整するか、人間の熟練者によって手動でタグ付けされるべき特定のログやクラスタを選択することができる。そのようなアクション変更がシステムにフィードバックされた後、モデルは、支出の95%~100%がレベル3においてカテゴリ化されるまで、性能分析とともにもう一度実行される。
【0055】
[0063]
図8は、支出データを分類およびカテゴリ化するために使用することができる方法800を示す。ここで説明される処理および他の処理について、特に明記しない限り、種々の実施形態の範囲内で実行される追加の、より少ない、または代替のステップを含んでもよい。動作802において、生の支出データはクライアントから受け取られる。これは、レシート、インボイス、生じたコストに関する他の文書を受け取ることを含む。データが受け取られた場合、単一データセットまたはSQLデータベース等のデータベースに集約される。この動作は、例えば、費用ログに関連付けられたテキストをデジタル化および認識すること、データフィールドを結合すること、標準化されたターゲットスキーマに変更すること、ネガティブおよび範囲外の支出を調整することを含んでもよい。動作804において、集約されたクリーンデータセット(CDS)が生成される。他で説明したように、CDSを生成することは、クラスタリングおよびカテゴリ化に不必要または役に立たないとみなされたデータを取り除くために使用される種々の自然言語処理動作を伴う。取り除かれなかったデータは、クラスタリングおよびカテゴリ化のために使用される分析を改善するためにクリーンにされる。例えば、ログに関連付けられた各単語は、基本辞書形(base dictionary form)に置き換えられ得る。動作806において、CDSログはMDSを生成するためにクラスタリングされる。MDSは、同じ支出カテゴリに属すべき同じ性質のトランザクションに起因するログのグループを含む。クラスタリング方法は、利用可能なデータとクラスタの要求された粒度レベルとを考慮し、各アプリケーションのケースに調整される。MDSを生成することは、ログをクラスタリングし、支出データのカテゴリを予測するために必要な計算を低減することができる。
【0056】
[0064]クラスタリング動作に続き、費用ログはクラスタにカテゴリ化(またはタグ付け)され得る。例えば、MDSクラスタについて代表的なログは、同じクラスタにおける他のログの各々が同じカテゴリ指定を提供されるようにカテゴリ化され得る。各ログを個別にカテゴリ化するより、クラスタレベルでログをカテゴリ化することで、必要とされるカテゴリ決定の数を動的に減少し、クライアントの支出データをカテゴリ化するための時間を短縮する。最初のマッピング動作808は、所定のルールのセットを満たすか否かによって、ログとクラスタをカテゴリ化することに対応する。一般的に、これらのルールは、ログが、もしあったとしても、まれにしか不正確にカテゴリ化されないというように、非常に特異的である。
【0057】
[0065]次いで、高値タグ付け動作810は、総支出の比較的高い割合を表すクラスタグループまたは、クラスタにおける多数のログにおいて、または、過少表現されたカテゴリに関連づけられて実行される。動作810における分類は訓練された人員によって手動で実行される。人による選択は、カテゴリ化の正解率のゴールドスタンダードであるため、それらの決定が総支出のより実質的な部分を表すように、アカウントは、高値クラスタの分類にフォーカスされる。場合によっては、高値タグ付けは、ユーザに、高値クラスタのセットの各々から代表的なインボイスを適切にカテゴリ化することを要求することを含んでもよい。代表的なログについてユーザのカテゴリ選択を受け取ると、クラスタにおける他のログの各々は、同じカテゴリ指定を与えられ得る。クラスタが1または複数のディメンションに沿って容易に細分化(sub-divided)できることを決定した場合のように、場合によっては、ユーザは各クラスタから複数の代表的なログをカテゴリ化するよう要求され得る。ユーザが同じクラスタから代表的なログを離散的なカテゴリにカテゴリ化する場合、クラスタは、ユーザから提供された離散的なカテゴリ選択を使用してカテゴリ化されたサブカテゴリに分割してもよい。
【0058】
[0066]ベースマッピングと高値タグ付け動作に続き、モデルは、先行するタグ付け動作において分類されたログを使用して、生成され、訓練される812。訓練済モデルは次いで動作814において残りのログをカテゴリ化するために使用される。場合によっては、モデルは、残りのクラスタをカテゴリ化するために使用されてもよく、場合によっては、モデルは残りのログを個別にカテゴリ化するために使用されてもよい。場合によっては、モデルは関連付けられたログベクトルに基づき、残りのログを自動的にカテゴリ化するために使用されてもよい。
【0059】
[0067]動作816において、モデルを使用して予測されたカテゴリはバリデートされる。バリデーション(validation)は、支出カテゴリ化における予期されない傾向やベースマッピングルールの違反を探すことができる自動化された処理であり得る。場合によっては、支出カテゴリの値が、モデルによるカテゴリ予測のため、予期された値を超える場合、ユーザはモデルにより提供されたカテゴリ予測を検証するように要求されてもよい。例えば、カテゴリが、モデルによりカテゴリに割り当てられたクラスタに対応する量だけ予期された予算を超えた場合、ユーザは、特定のクラスタが正確にカテゴリ化されたか否かを決定することを要求されてもよい。追加のユーザ入力は、例えばHITL反復処理であってよく、動作810でユーザに要求されるものに類似し得る。ユーザによってカテゴリ化が訂正される場合、この情報は動作812におけるモデルのさらなる訓練のために使用することができる。場合によっては、訓練済モデルを使用してカテゴリ化された各ログは、他で説明したように、モデルが更新され、または再訓練された場合、再カテゴリ化されてもよい。動作818において、すべてのログがカテゴリ化されたか否かを決定する。場合によっては、ログのすべてまたは実質的な部分が、処理を完了するために、所定の信用閾値を満たさなければならない。いくつかのログが未だカテゴリ化されていない場合、処理は動作814に戻る。すべてのログがカテゴリ化された場合、または、残りのログのみが任意のカテゴリ指定を与えられるために不十分な情報を有する場合、処理は完了する820。不十分な情報を有する残りのログがある場合、それらのログは、適切なカテゴリ指定を決定するため、ユーザに提示され得る。
【0060】
[0068]すべてのログがカテゴリに指定された後、カテゴリ化された支出データはクライアントに提供される。場合によっては、カテゴリ化データはコストデータベースに追加され、クライアントに提供され得る。クライアントが、カテゴリ化されたデータを探索するために、
図1Bに示されたようなアプリケーションを使用している場合、クライアントは、場合によっては、インボイスやインボイスのイメージに含まれるテキストのような特定のログ情報にアクセスできる可能性がある。場合によっては、
図1Aおよび1Bで示すようなクライアントアプリケーションは、誤カテゴリ化されたデータを訂正するため、または階層的なカテゴリ構造を編集するために、ユーザにオプションを提供してもよい。場合によっては、この情報は、将来の他のクライアント(例えば、同じビジネス部門の他のクライアント)のためにモデル重みを生成するために匿名化し、サニタイズし(sanitized)、使用することができる。場合によっては、ベースマッピングルールは、アイテムが将来の予算編成期間または他のクライアントにより良い正解率でカテゴリ化されるよう、更新され得る。他のクライアントのためにマッピングカテゴリ化を改善するために保存される、または、使用される任意の情報は、機密情報をクライアントにトレースバックする可能性が存在しないように匿名化され、サニタイズされる。人工ニューラルネットワークを使用し、これは、モデルのあるレイヤを取り除くことによって実行され得る。
【0061】
[0069]上記の例は支出データをカテゴリ化するコンテキストで提供されているが、開示された方法は、様々なデータセットを階層カテゴリ構造に編成するために適用可能であり得る。開示された方法は、かなりの量のデータがソートされる必要がある場合、データをソートするための事前に確立されたルールがほとんどない場合、および、例えば、カテゴリ化の目標がデータ内のパターンを決定することである場合といった状況において、他のカテゴリ化方法を上回る利点を提供し得る。ZBBのコンテキストにおいて、記載される方法は、間接的な支出、マーケティングおよび販売に主に使用される。また、原材料およびサプライチェーンのような他のコストタイプにも使用することができる。また、支出データとしては、運用支出(operational expenditure(OPEX))だけでなく、資本支出(capital expenditure(CAPEX))も考えられる。
【0062】
[0070]方法800の動作は、ソフトウェアを使用して実装され、したがって、本発明の好ましい実装形態のうちの1つは、コンピュータのランダムアクセスメモリに常駐するコードモジュール内の命令セット(プログラムコード)としてのものである。コンピュータによって要求されるまで、命令のセットは、別のコンピュータメモリ、例えば、ハードディスクドライブ、または光ディスク(CD ROMにおける最終的な使用のため)もしくはフロッピー(登録商標)ディスク(フロッピーディスクドライブにおける最終的な使用のため)等の取り外し可能メモリに記憶されるか、またはインターネットもしくはいくつかの他のコンピュータネットワークを介してダウンロードされ得る。さらに、説明される様々な方法は、ソフトウェアによって選択的にアクティブ化または再構成される汎用コンピュータにおいて便宜的に実装されるが、当業者はまた、そのような方法が、ハードウェア、ファームウェア、または指定された方法ステップを実行するように構築されたより特殊化された装置において実行され得ることを認識するであろう。
【0063】
[0071]様々な実施形態が上記で説明されたが、それらは限定ではなく例として提示されたことを理解されたい。当業者には、本発明の精神および範囲から逸脱することなく、形態および詳細の様々な変更を行うことができることが明らかであろう。実際に、上記の説明を読んだ後、代替の実施形態をどのように実装するかは、当業者には明らかであろう。
【0064】
[0072]さらに、機能性および利点を強調する任意の図は、例としてのみ提示されることを理解されたい。開示された方法およびシステムはそれぞれ、示されたもの以外の方法で利用され得るように、十分に柔軟であり、構成可能である。
以下に本願の出願当初の特許請求の範囲に記載された発明を付記する。
[C1]
トランザクションレコードを処理するためのコンピュータ実装方法であって、
トランザクションデータを受け取ることと、
前記トランザクションデータに基づき、複数のトランザクションについてのログを備えるクリーンデータセット(CDS)を生成することと、ここにおいて、各ログは、少なくとも一部が自然言語処理(NLP)を使用して処理されているテキストに関連付けられており、
前記関連付けられたテキストと類似度閾値に少なくとも部分的に基づいて、前記CDSから前記ログの少なくとも一つのサブセットをクラスタリングすることと、ここにおいて、クラスタリングによりクラスタのセットを生じ、
前記クラスタのセットの特定のサブセットを識別することと、前記特定のサブセットの各クラスタについて代表的なログについてのトランザクションタイプのユーザ決定を受け取ることと、ここにおいて、受け取ったトランザクションタイプは前記クラスタの各々の各ログに関連付けられており、
クラスタの前記特定のサブセットと前記関連付けられたトランザクションタイプからログを使用して予測モデルを訓練することと、
前記予測モデルを使用して、トランザクションタイプと未だ関連付けられていない前記CDSにおけるログについてのトランザクションタイプを決定することと、
トランザクションレポートを生成することと、を備え、前記トランザクションレポートは、前記ログと関連付けられたトランザクションタイプに少なくとも部分的に基づいて決定された複数の計算されたパラメータを備える、
コンピュータ実装方法。
[C2]
前記クラスタのセットの追加サブセットを識別することと、ベースマッピングルールのセットを使用して、クラスタの前記追加サブセットの前記ログと関連付けられるトランザクションタイプを決定することと、をさらに備え、
ここにおいて、前記予測モデルを訓練することは、前記追加サブセットおよび前記関連付けられたトランザクションタイプから前記ログを使用して前記モデルを訓練することをさらに備える、
C1に記載のコンピュータ実装方法。
[C3]
クラスタの前記特定のサブセットを識別することは、各クラスタに関連付けられたトランザクション値に少なくとも部分的に基づいて、前記サブセットについてクラスタを選択することを備える、
C1に記載のコンピュータ実装方法。
[C4]
前記クラスタのセットの前記特定のサブセットを識別することは、前記サブセットにおける各クラスタ間の距離メトリックに少なくとも部分的に基づいて、クラスタを選択することを備える、
C1に記載のコンピュータ実装方法。
[C5]
前記CDSを生成することは、範囲外の、または重複するログを取り除くことを備える、
C1に記載のコンピュータ実装方法。
[C6]
トランザクションレコードを処理するためのコンピュータ実装方法であって、
複数のログを備えるトランザクションデータを受け取ることと、前記ログは関連付けられたテキストを有し、
前記関連付けられたテキストと類似度閾値に基づいて、前記ログの少なくとも一つのサブセットをクラスタリングすることと、ここにおいて、クラスタリングによりクラスタのセットを生じ、
前記クラスタのセットの特定のサブセットの各々についてトランザクションタイプのユーザ決定を受け取ることと、ここにおいて、受け取ったトランザクションタイプは前記クラスタの各々の各ログに関連付けられ、
クラスタの前記特定のサブセットと前記関連付けられたトランザクションタイプからログを使用して予測モデルを訓練することと、
前記予測モデルを使用して追加ログについてトランザクションタイプを予測することと、
を備える、
コンピュータ実装方法。
[C7]
前記クラスタのセットの追加サブセットを識別することと、ベースマッピングルールのセットを使用して、クラスタの前記追加サブセットの前記ログと関連付けられるトランザクションタイプを決定することと、をさらに備え、
ここにおいて、前記予測モデルを訓練することは、前記追加サブセットおよび前記関連付けられたトランザクションタイプから前記ログを使用して前記モデルを訓練することをさらに備える、
C6に記載のコンピュータ実装方法。
[C8]
前記トランザクションデータからログのクリーンデータセット(CDS)を生成することをさらに備え、ここにおいて、前記CDSを生成することは自然言語処理(NLP)を使用して前記ログと関連付けられた前記テキストの少なくとも一部を処理することを備える、
C6に記載のコンピュータ実装方法。
[C9]
前記CDSを生成することは、範囲外の、または重複するログを前記複数のログから取り除くことを備える、
C8に記載のコンピュータ実装方法。
[C10]
前記クラスタについて前記トランザクションタイプの前記ユーザ決定の各々を受け取る前に、前記特定のサブセットのクラスタについて代表的なログを表示するために供給することをさらに備える、
C6に記載のコンピュータ実装方法。
[C11]
表示のために、前記特定のサブセットのクラスタについて2個の代表的なログを供給することと、
前記2個の代表的なログについて前記トランザクションタイプの異なるユーザ決定を受け取ることと、
前記2個の代表的なログについて前記トランザクションタイプについての前記異なるユーザ決定に少なくとも部分的に基づいて前記クラスタを分割することと、
をさらに備える、
C6に記載のコンピュータ実装方法。
[C12]
人間参加型方法を使用し訓練された前記予測モデルによって提供された前記予測タイプをバリデートすることをさらに備える、
C6に記載のコンピュータ実装方法。
[C13]
クラスタの前記特定のサブセットを識別することは、各クラスタに関連付けられたトランザクション値に少なくとも部分的に基づいて、前記サブセットについてクラスタを選択することを備える、
C6に記載のコンピュータ実装方法。
[C14]
前記予測モデルによって予測された前記トランザクションタイプの自動化された品質およびエラー分析を実行することと、
前記品質およびエラー分析に基づいて少なくとも一つのモデルパラメータを変更することと、
をさらに備える、
C6に記載のコンピュータ実装方法。
[C15]
前記予測モデルによって予測された前記トランザクションタイプの自動化された品質およびエラー分析を実行することと、
前記品質およびエラー分析に基づいて、手動タグ付けのために1または複数のログを識別することと、
前記1または複数のログについてトランザクションタイプのユーザ決定を受け取ることと、
をさらに備える、
C6に記載のコンピュータ実装方法。
[C16]
前記1または複数のログおよび前記関連づけられたトランザクションタイプを使用して、前記予測モデルを訓練することをさらに備える、
C6に記載のコンピュータ実装方法。
[C17]
前記追加ログについてのトランザクションタイプを予測することは、95%より多くの前記複数ログと関連付けられたログを生じる、
C6に記載のコンピュータ実装方法。
[C18]
トランザクションデータの他のセットからログについてトランザクションタイプを予測するために前記訓練されたモデルを使用することをさらに備える、
C6に記載のコンピュータ実装方法。
[C19]
トランザクションレコードを処理するための命令を格納する非一時的コンピュータ可読記憶媒体であって、前記命令は、プロセッサにより実行されると、プロセッサに、
複数のログを備えるトランザクションデータを受け取ることと、前記ログは関連付けられたテキストを有し、
前記関連付けられたテキストと類似度閾値に基づいて、前記ログの少なくとも一つのサブセットをクラスタリングすることと、ここにおいて、クラスタリングによりクラスタのセットを生じ、
前記クラスタのセットの特定のサブセットの各々についてトランザクションタイプのユーザ決定を受け取ることと、ここにおいて、受け取ったトランザクションタイプは前記クラスタの各々の各ログに関連付けられ、
クラスタの前記特定のサブセットと前記関連付けられたトランザクションタイプからログを使用して予測モデルを訓練することと、
前記予測モデルを使用して追加ログについてトランザクションタイプを予測することと、
を実行させる、
非一時的コンピュータ可読記憶媒体。
[C20]
前記プロセッサにより実行されると、前記プロセッサに、
前記クラスタのセットの追加サブセットを識別することと、ベースマッピングルールのセットを使用して、クラスタの前記追加サブセットの前記ログと関連付けられるトランザクションタイプを決定することと、
前記追加サブセットと前記関連付けられたトランザクションタイプから前記ログを使用して前記予測モデルを訓練することと、
を実行させる命令をさらに備える、
C19に記載の非一時的コンピュータ可読記憶媒体。