基于数据的计算机分析的数据核对

文档序号:1409742 发布日期:2020-03-06 浏览:5次 >En<

阅读说明:本技术 基于数据的计算机分析的数据核对 (Data collation based on computer analysis of data ) 是由 基兰·戈尔曼 克雷格·沃克 于 2018-07-03 设计创作,主要内容包括:提出了用于参照数据库中的数据来核对交易以基于针对交易提供的文本描述来识别交易参数的方法、系统和计算机程序。一种方法,包括:用于识别用于通过机器学习程序核对第一实体的交易的特征的操作。该特征包括至少对交易的描述、交易中第二实体的名称、第二实体的位置以及针对交易的账户。利用训练数据对机器学习程序进行训练,该训练数据包括用于先前核对的交易的特征的值。接收到的第一交易包括描述、日期和金额。第一交易被输入用于机器学习程序,该机器学习程序生成用于核对第一交易的一个或更多个建议。每个建议包括第一交易中的第二实体的名称和账户。(Methods, systems, and computer programs are presented for reconciling transactions with reference to data in a database to identify transaction parameters based on textual descriptions provided for the transactions. A method, comprising: an operation for identifying characteristics of a transaction for reconciling with a machine learning program a first entity. The characteristics include at least a description of the transaction, a name of the second entity in the transaction, a location of the second entity, and an account for the transaction. The machine learning program is trained using training data that includes values for features of previously collated transactions. The received first transaction includes a description, a date, and an amount. The first transaction is input for a machine learning program that generates one or more recommendations for reconciling the first transaction. Each suggestion includes a name and an account of the second entity in the first transaction.)

基于数据的计算机分析的数据核对

优选权要求

本申请要求于2017年7月6日提交的题为“Data Reconciliation Based onComputer Analysis of Data”的美国临时专利申请第62/529,191号的优先权。该临时申请的全部内容通过引用并入本文。

技术领域

本文公开的主题一般地涉及用于基于数据描述来核对两个数据源的方法、系统和程序。

背景技术

核对是用于确认账务系统中的条目与银行报表中的对应条目匹配的过程。当会计收到银行报表时,会计必须识别银行报表中的每个条目以识别对应的账户。

然而,银行报表通常包括模糊的条目,这使得难以识别对应的账户和参与方。例如,条目可能不包括支付方的名称,而是提供了对条目的性质的一般描述,例如税金、提款或工资。有时,可以对交易方的名称进行推断,例如针对条目“财产税”通过识别支付财产税的本地实体来推断交易方的名称。

由于银行报表描述的可变性程度较大,因此银行核对可能是一项困难的任务,对于尝试自动核对数据的计算机程序来说更是如此。人可以利用自己的经验来识别交易的性质,但是由于缺乏提供针对银行报表的描述的标准,因此使计算机程序自动化以自动地识别交易的性质以及交易的各方会是困难的任务。

具体实施方式

示例方法、系统和计算机程序涉及参照数据库中的数据核对交易以基于针对交易提供的文本描述来识别交易参数。示例仅代表可能的变型。除非另有明确说明,否则部件和功能是可选的并且可以被组合或细分,并且操作顺序可以变化或者操作可以被组合或细分。在以下描述中,出于说明的目的,阐述了多个具体细节以提供对示例实施方式的透彻理解。然而,对于本领域技术人员将明显的是,可以在没有这些具体细节的情况下实践本主题。

银行核对有两个方面:支付和应收款,即,支出和收入。例如,当在银行报表中识别到支出时,核对过程必须将该支出分类为与某个人或诸如销售的标签相关联。此外,核对过程识别交易中的另一参与方。本文呈现的实施方式利用银行报表条目中提供的数据并且访问利用过去的核对数据训练的机器学习程序(MLP)以自动地核对报表条目或者向会计提供用于核对条目的良好的建议。

MLP识别以下核对特征:例如关于交易的信息(例如,描述、金额、日期)、关于公司的信息(例如,位置、行业、雇员的数目)和账务数据(例如,收款方信息、账号、账户名称、税率、***、账单)或其任意组合。系统利用已经核对的交易对MLP进行训练。一旦经过训练,MLP就能够从银行报表接收条目并且提供关于如何核对条目的建议或者在由机器学***高于预定阈值的情况下自动地核对条目的建议。

这简化了核对会计的工作,这是因为会计仅需从针对核对的一个或更多个建议中进行选择,或者因为系统自动地核对了一些条目而无需会计进行该工作。

另外,用于训练MLP的数据可以是从跨地理的大量客户收集的数据。这意味着,具有很少账务历史数据的新公司能够接收基于由账务服务从其他客户端收集的经验的针对核对的建议。此外,机器学习程序还可以利用本地模型并且了解特定公司的参数和行为以基于公司的账务历史生成好的建议。

一个总体方面包括一种方法,该方法包括用于识别用于由机器学习程序核对第一实体的交易的特征的操作。所述特征包括对该交易的描述、与该交易相关联的第二实体的名称以及与该交易相关联的账户。该方法还包括用于由一个或更多个处理器利用包括用于先前核对的交易的特征的值的训练数据来训练机器学习程序的操作。该方法还包括以下操作:由一个或更多个处理器接收包括描述、日期和金额的第一交易;以及由一个或更多个处理器将第一交易输入至机器学习程序。机器学习程序生成用于核对第一交易的一个或更多个建议,每个建议包括第一交易中的第二实体的名称和与第一交易相关联的账户。

一个总体方面包括一种系统,该系统包括具有指令的存储器和一个或更多个计算机处理器。所述指令在由一个或更多个计算机处理器执行时使一个或更多个计算机处理器执行包括以下的操作:识别用于由机器学习程序核对第一实体的交易的特征,所述特征包括对该交易的描述、与该交易相关联的第二实体的名称以及与该交易相关联的账户;利用训练数据对机器学习程序进行训练,该训练数据包括用于先前核对的交易的特征的值;接收包括描述、日期和金额的第一交易;以及将第一交易输入至机器学习程序,该机器学习程序生成用于核对该第一交易的一个或更多个建议,每个建议包括第一交易中的第二实体的名称以及与第一交易相关联的账户。

一个总体方面包括包含指令的非暂态机器可读存储介质,所述指令在由机器执行时使得机器执行包括以下的操作:识别用于由机器学习程序核对第一实体的交易的特征,所述特征包括对该交易的描述、与该交易相关联的第二实体的名称以及与该交易相关联的账户;利用训练数据对机器学习程序进行训练,该训练数据包括用于先前核对的交易的特征的值;接收包括描述、日期和金额的第一交易;以及将第一交易输入至机器学习程序,该机器学习程序生成用于核对第一交易的一个或更多个建议,每个建议包括第一交易中的第二实体的名称以及与第一交易相关联的账户。

图1是示出根据一些示例实施方式的交易核对的图。在账务中,核对是确保两组记录(例如,两个账户的余额)一致的过程。例如,核对用于确保离开账户的钱与实际花费的钱匹配。此外,对于银行账户,核对是用于确认支票簿中的余额与对应的银行报表匹配的过程。这包括将银行报表中的条目与账户持有者的支付或收据进行匹配。

在图1所示的示例中,支付方102将支付112(例如,支票)发送至收款方104。在一些情况下,支付与由收款方104发送的***相关联,而在其他时间支付不与***相关联(例如,通过***支付给出租车)。

收款方将支付112汇寄至金融机构114(例如,银行或***公司),以向与接收来自多个源的费用的支付方的银行106相关联的支付方的账户收费116。该银行然后会包含有作为发送至支付方102或者发送至支付方账务服务110的银行报表108中的条目的支付。

在核对118期间,对于每个交易120,支付方102必须识别交易描述和金额以识别账务数据122,账务数据122包括对应的收款方、账务系统中的账户、账务系统中的金额以及其他字段例如税率、税额等。有时,在账务系统中可能已经存在相应的条目,但是在其他时间,必须创建新的条目。

通常,基于银行报表中的简短或含糊的描述对条目进行核对是一种挑战,这可能使核对成为冗长、乏味且无聊的任务,其中可能会发生错误。账务服务的目标是使核对成为一项容易的任务(例如,通过基于银行报表向用户提供建议)。例如,金额可以是用于通过将该金额与账务系统中的条目进行匹配来生成建议的良好指标。然而,基于金额的匹配并不总是起作用,这是因为在账务系统中可能还不存在条目,或者因为支付方可能将多个支付合并为一个单个的支票。

虽然有时支付方的名称可以包括在报表中,但是许多时候报表中不包括收款方的名称,而是存在对服务的描述,例如“出租车服务”或“娱乐”。这些是为什么在账务系统中执行银行报表的自动核对可能是困难的(有时是不可能的)并且需要手动核对的一些原因。

针对核对的一些解决方案基于定义用于核对的规则,例如“如果条目包括‘出租车’,那么账户为2547并且添加新的账务条目。”然而,对于核对大量报表来说规则是困难的。规则也是不方便的,这是因为有人必须创建并且维护规则。

本文呈现的实施方式参照对接收到的支付进行核对来描述,但是相同的原理可以用于对已进行的支付进行核对。用于匹配条目的模式在偿还支付或接收支付时是不同的,并且下面描述的机器学习算法在核对每个条目时考虑了钱是正在入还是正在出的情况。

图2A示出了根据一些示例实施方式的用于使用机器学习程序来核对从银行报表提取的交易的过程。银行报表202包括多个条目,并且每个条目可以包括交易的日期、用于账务系统的参考标识符、描述和金额。

当系统在很大的确定性程度上识别银行报表中的条目的性质时,本文呈现的实施方式通过向用户提供建议或者通过在没有用户干预的情况下自动地核对来使核对变得容易。

在一些示例实施方式中,机器学习工具206用于分析银行报表条目——在本文也被称为银行条目或条目——以生成建议或自动地核对。在一些示例实施方式中,首先对条目中的描述进行清理和标准化(操作204)。例如,可以通过消除标点符号(例如,“/”)来对描述进行清理并且对于具有相同含义的同族词使用代表词(例如,将语法形式简化为单一形式,例如将词“喜好”、“喜爱的”、“爱好”和“喜欢”转变为“喜欢”,此过程被称为词干提取)来对描述进行标准化。

在对描述进行清理和标准化之后,机器学习工具206接收银行条目以及被清理和标准化的描述以生成核对数据208。核对数据208包括用于核对银行条目的一个或更多个建议,其中每个建议包括至少收款方、账户和金额。

在一些示例实施方式中,用户界面210用于向用户呈现建议。该用户界面包括要核对的交易212(例如,银行报表中的条目)和建议的核对214。

要核对的交易212包括描述(例如,来自银行条目的描述或清理版本)、金额、日期和参考标识符。建议的核对214包括针对收款方、账户、金额、日期和账单(可选)的字段。建议的核对214还包括用于由用户选择动作的按钮和关于交易的信息消息(例如,“找到两个其他可能的匹配”)。所述按钮包括:用于接受建议的“确认”按钮;用于请求呈现下一建议的“下一匹配”按钮;用于跳过该条目并且进入下一条目的“跳过”按钮;以及用于手动输入数据以核对银行条目的“手动”选项。

在一些情况下,银行报表可以核对若干个账务条目(例如,用一张支票进行的若干个***的支付),并且将向用户呈现多个条目以指示一个支付与若干个账务条目相关。

图2B是根据一些示例实施方式的用于核对交易的用户界面222。用户界面222呈现多个要核对的交易224(例如,银行报表中的条目)和来自账务系统的建议的核对226。

每个要核对的交易224包括以下中的一个或更多个:交易的日期(例如,2018年3月2日)、交易中的参与方的名称(例如,ABC财产管理)、参考信息(例如,租金)以及可以是花费的数额或者接收的数额的金额(例如,1,181.25)。另外,要核对的交易224包括用于删除交易的选项和用于创建处理这种交易类型的规则的选项。应当注意的是,系统还可以基于由用户进行的过去的核对来随时间创建规则,其中如果用户一次或更多次执行相同的核对以将银行报表中的条目与账户进行匹配,则针对某种类型的条目的规则可以与某个账户一致。此外,除了用于添加规则的选项之外,用户还可以有用于修改规则或删除规则的选项,即使是由系统自动创建的那些规则。

建议的核对226包括四个标签(tab):匹配、创建、转移和讨论。匹配标签在账务系统具有一个或更多个建议的核对条目时呈现。匹配条目包括日期、描述(例如,支付:ABC财产)、参考信息(例如,管理)、花费或接收部分的数额、以及用于在账务系统中搜索其他条目以用于核对的查找选项。

核对按钮228(例如,包括消息“OK”以指示条目匹配)作为选项被提供,并且如果用户选择了核对按钮228,则要核对的交易224将与建议的核对226进行核对。

如果用户倾向于创建新的账务条目用于核对,则可以选择创建标签。如果账务系统未找到用于核对条目的建议,则也可以自动地呈现创建标签。创建标签包括用于输入交易的名称或参与方、账户、描述、地区、税率和添加针对交易的附加细节的选项。在用户输入信息之后,核对按钮228呈现,并且然后用户可将交易与已创建的新条目进行核对。

可以选择转移标签以在交易是用户的银行账户之间转账的结果时进行标记,其中两个银行账户均被链接至账务系统。如果银行账户之一不在账务系统中,则可以使用创建操作来代替转移。

讨论标签允许用户为其他用户留下消息并且讨论对交易的核对。例如,用户可以输入“我不知道如何对这个进行编码”,而另一用户(例如,会计)可以看到该消息并且输入针对交易的细节。

应当注意的是,图2A和图2B所示的实施方式是示例性的并且没有描述每个可能的实施方式。其他实施方式可以利用用户界面的不同布局、不同字段、附加字段,一次呈现不止一个建议等。因此,图2A和图2B所示的实施方式不应被解释为排他性或限制性的,而是说明性的。

图3示出了根据一些示例实施方式的用于训练和使用机器学习程序的过程。在一些示例实施方式中,机器学习程序——也被称为机器学习算法或工具——用于执行与核对相关联的操作。

机器学习是给予计算机学习的能力而无需被明确地编程的研究领域。机器学习探索算法——在本文也被称为工具——的研究和构造,所述工具可以根据现有数据进行学习并且做出关于新数据的预测。这样的机器学习工具通过根据示例训练数据312构建模型来进行操作,以使数据驱动的预测或决定表示为输出或评定(例如,核对建议320)。尽管示例实施方式是相对于一些机器学习工具呈现的,但是本文呈现的原理可以应用于其他机器学习工具。

在各种示例实施方式中,使用不同的机器学习工具。例如,可以使用多项式朴素贝叶斯(MNB)、支持向量机(SVM)、多项式逻辑回归(LR)、随机森林(RF)、神经网络(NN)、矩阵分解和其他工具来生成核对。

例如,MNB是构建较简单的模型之一,并且使用贝叶斯定理来组合输入特征的观测数据以产生后验概率。训练时间与给定的样本的数目成比例,并且多个类别之间的决定通常需要选择具有最高概率的标签。SVM是提供较高维度上的线性可分性的判别模型,并且SVM在输入特征具有高维度时是好的模型,但是如果没有足够的样本则SVM可能会受到维度的影响。另外,SVM模型使用一对一作为对多类分类进行二值化的方法,这意味着性能可能随着样本数目的增加而降低。

通常,机器学习中有两种类型的问题:分类问题和回归问题。分类问题目的在于将项目分类为若干个类别之一(例如,该对象是苹果还是橙子?)。回归算法目的在于量化一些项目,例如,通过提供作为实数的值(例如,该银行条目与给定收款方一致的概率是多少)来进行量化。在一些实施方式中,示例性机器学习算法提供针对核对建议与银行条目匹配的核对分数(例如,从1到100)。机器学习算法利用训练数据312找到影响结果的识别特征302之间的相关性。

在一个示例实施方式中,特征302可以是不同的类型并且可以包括交易特征304、公司数据特征306和账务数据特征308中的一个或更多个。其他实施方式也可以利用另外的特征。

交易特征304包括关于银行交易的数据,例如对交易的描述、金额和日期。公司数据特征306包括关于用户的公司的信息,例如公司名称、公司位置、行业、雇员的数目等。账务数据特征308包括关于账务系统的信息,并且包括关于收款方的信息(例如,收款方名称、收款方位置或场所、收款方企业、收款方地址、收款方联系人姓名等)、账号、账户名称、税率、***、账单等。

在一些示例实施方式中,训练数据312包括用于将银行条目与账务条目(例如现金收据、支票支付、转账)匹配的先前的用户核对,例如手动做出的匹配或者被用户接受的建议。在一些示例实施方式中,用户核对由账务服务的多个客户端输入,这意味着针对每个客户端用户账户和名称可能不同。然而,在许多情况下,账务服务利用标准化的用户账户或者用户账户名称,以能够使来自不同公司的信息相关。在一些示例实施方式中,账户标准化被用于将来自不同用户的账户转化为共同的标准。

在一个示例测试实现方式中,700000个条目被用于训练数据,尽管其他实施方式可以利用不同数目的条目例如一百万或更多的数目。

在一些示例实施方式中,训练数据被转换成可以用作模型输入的词汇集。词汇量可以包括100000个唯一标记或更多个唯一标记,并且每个标记与一个词相关联。在一些示例实施方式中,针对每个词,创建向量,并且由组合词的向量的矩阵来表示句子。

利用训练数据312和识别特征302,在操作314处机器学习工具受到训练。机器学习工具在特征302与训练数据312相关时对特征302的值进行评估。训练的结果是受到训练的机器学习程序316,也被称为核对MLP316。在一些示例实施方式中,为每个词分配权重并且训练数据312中的正(positive)示例使相应词的权重增加来获得可能的结果。通过训练集的使用,权重被基于输入进行调整。

当机器学习程序316用于执行评定时,新数据318(例如,新的银行报表或新的银行条目)被提供作为经训练的机器学习程序316的输入,并且机器学习程序316生成一个或更多个核对建议320作为输出。

在一些示例实施方式中,训练数据312按区域划分,例如按国家或县划分,并且不同的机器学习程序被用于生成针对每个区域的核对。通常,人们将他们大部分钱花费在本地企业,因此按区域划分数据是用于降低程序的复杂性以使机器学习程序的操作加速的简单方法。这样,一个机器学习程序被用于生成针对美国的核对建议320,而另一机器学习程序可以被用于生成针对澳大利亚的核对建议320。

在另一示例实施方式中,公司所在的国家被用作特征并且机器学习程序能够生成基于用户所在的国家、交易发生的国家的标识等的核对建议。

在一些示例实施方式中,机器学习程序仅利用有限的最常见的输出(例如,收款方)集。在一些示例实现方式中,使用前100个最常使用的上下文(context),并且仅针对前100个最常使用的上下文提供核对建议。这样,机器学习程序可以更快,尽管这意味着通过限制可能的建议数目来进行折衷。在其他示例实施方式中,不强制实行有限集并且考虑所有收款方以用于核对。

在一些示例实施方式中,利用置信度阈值,并且具有高于置信度阈值的核对分数的核对建议将被考虑以用于自动核对或者用于向用户呈现。置信度阈值以下的那些建议被丢弃。

在其他示例实施方式中,利用用于自动核对的阈值,并且具有高于用于自动核对的阈值的核对分数的那些核对建议将被自动地核对而无需用户验证。例如,用于自动核对的阈值可以被设置为0.95,并且如果接收到0.97的核对分数,则银行条目由于由机器学***而被自动地核对。在其他示例实施方式中,未利用自动核对并且所有建议必须由用户进行确认。在一些情况下,可以由用户激活或去激活自动核对。例如,可以针对账务服务的新用户关闭自动核对,并且随着在核对置信度中收集更多的数据,然后可以打开自动核对。

实际上,大量的账务条目集中在相对小的收款方集合,通常是大型组织。假定这些大型组织经常出现在银行报表上,则可以构建识别并且显示这些联系人的系统。特别地,由于跨多个组织的共享数据,因此一旦财务服务中的新组织接收到银行报表就可以立即向他们提供建议。

图4示出了根据一些示例实施方式的使用两个机器学习程序来核对交易。在一些示例实施方式中,可以使用多个MLP来进行核对,其中每个MLP针对特定的核对特征。例如,两个机器学习程序被用于建议核对:利用社区数据402的MLP社区预测器408和使用用户数据404的MLP用户预测器410。

MLP社区预测器408跨许多组织工作,并且更适合于基于具有大量交易的公司来预测核对。这使得系统能够为新的客户端提供建议,即使该新的客户端没有任何交易历史。一些企业(例如Uber、Amazon和Ford)存在于世界各地,并且这些企业中的一些通常与大多数本地地区相关。

在一些示例实施方式中,其他用于利用不同MLP的模型是可行的,例如通过使一个MLP专注于本地地区内的企业并且使其他MLP专注于国家或世界模型。图4所示的实施方式是参照社区预测器和用户预测器来呈现的,但是相同的原理可以基于地理应用于其他MLP预测器。在本文的示例实施方式中,MLP社区预测器和MLP用户预测器也可以与在地理上定向的MLP进行组合。

MLP用户预测器410是针对与每个用户相关联的数据定制的,并且随着更多核对数据对于用户变得可用,由于组织内的大百分比的交易是针对相同收款方的重复交易,因此可以获得更准确的核对。

个性化预测器在大的国家(例如,美国)是有用的,这是因为MLP用户预测器能够缩小大的国家中大量可能的收款方的列表,以专注于其中某个公司进行大量交易的地区。在一些示例实施方式中,国家模型与区域模型结合使用以使得能够捕获国家交易以及本地交易。在其他示例实施方式中,预测器可以按照州或县进行分解。

此外,使用MLP用户预测器410获得的数据可以被馈入到MLP社区预测器中。例如,MLP用户预测器410可以将Uber标识为收款方,并且当针对其他用户Uber被识别为收款方时,MLP社区预测器可以将该数据合并为针对Uber的通用描述。此外,MLP社区预测器可以识别Uber费用经常与某个账户例如“491-Travel-National”相关联,并且使用该信息做出社区预测。

当交易406被识别用于核对时,交易406被输入至MLP社区预测器408和MLP用户预测器410。在操作412处,MLP社区预测器408生成基于社区数据402的核对建议,并且在操作414处,MLP用户预测器410生成基于用户数据404的核对建议。

在操作416处,基于置信度水平(例如,由相应MLP提供的核对分数)从MLP社区预测器和MLP用户预测器中选择最佳建议。

在操作418处,执行检查以确定针对建议中的每一个的核对分数是否高于预定自动核对阈值。如果核对分数高于自动核对阈值,则该方法进行至操作420,否则该方法进行至操作422。

在操作420处,自动核对发生,这意味着针对核对的建议是由系统自动做出的而不需要用户交互。另一方面,在操作422处,一个或更多个建议被呈现给用户以用于核对。

应当注意的是,图4所示的实施方式是示例并且没有描述每个可能的实施方式。其他实施方式可以利用不同的MLP、另外的MLP、用于该MLP的另外的数据等。因此,图4所示的实施方式不应被解释为排他性或限制性,而是说明性的。

图5是根据一些示例实施方式的用于核对交易的方法500的流程图。虽然顺序地呈现和描述了该流程图中的各种操作,但是本领域普通技术人员将理解,操作中的一些或全部可以以不同的顺序来执行、被组合或省略,或者并行地执行。

在操作502处,定义了由MLP利用的特征。方法500从操作502进行至用于识别被跟踪的收款方的阈值数目的操作504。例如,系统可以进行选择以生成针对前500个最常用的收款方的核对,但是可以定义其他阈值,例如1000个最常见的收款方或10000个最常见的收款方。在其他示例实施方式中,省略阈值并且在做出核对建议时考虑所有收款方。

该方法从操作504进行至其中利用先前核对的数据来训练MLP的操作506。该方法从操作506进行至其中接收银行报表的操作508,该银行报表包括用于通过账务系统核对的条目。

对于银行报表中的每个条目,执行多个操作510至522。在操作510处,对条目进行清理和标准化,这意味着对由银行报表提供的描述进行清理和标准化。该方法从操作510进行至其中调用MLP以对相应条目进行分析的操作512。在操作514处,执行检查以确定MLP是否已经提供针对核对的任何建议。如果提供了建议,则该方法进行至操作518,并且如果没有提供建议,则该方法进行至操作516。

在操作516处,由用户执行手动核对以手动地输入账务信息以对条目进行核对。在操作518处,通过检查针对最佳建议的核对分数高于预定自动核对阈值来执行检查以确定是否要执行自动核对。如果自动核对可用,则方法进行至操作520,并且如果自动核对不可用,则方法进行至操作522。

在操作520处,通过将银行条目与核对建议进行核对并且在账务系统中形成该条目来执行自动核对,而无需用户输入或验证。在操作522处,由MLP提供的一个或更多个建议被呈现给用户以用于用户验证。

在一些示例实施方式中,通过利用一些已知的核对作为用于MLP的输入以比较MLP建议匹配实际核对数据的程度来测试核对系统。例如,核对数据的70%可以用于训练MLP,而数据的30%用于测试。

在不希望受到理论束缚的情况下,在一些示例测试中,系统显示对于最常见的收款方,建议的准确率为约90%。此外,系统显示在速度、准确性与置信度之间存在折衷。取决于使用的数据量,MLP生成建议更快或更慢。此外,通过调整置信度水平,可以滤除具有低成功概率的建议。然而,应当注意的是,对于普通收款方和其他收款方甚至期望更好的结果,这是因为该系统利用了学到的经验并且因为利用了附加的计算资源。

图6是描绘根据一些实施方式的示例性核对平台600的框图。示例性核对平台600可以向管理针对一个或更多个企业的账务的特定实体提供账务工具。示例性核对平台600可以包括:实践工作室610,其允许实体管理一个或更多个企业;以及组织访问部件650,其向企业提供用于管理针对该特定企业的账务数据的工具。实践工作室610可以包括实践档案管理部件612、实践员工管理部件614、在线训练部件616、实践管理部件618、合作者资源部件620、报告包设置部件622和工作文件部件624。实践工作室610可以与核心特征630通信。核心特征630可以包括账务和工资单部件632(包括核对MLP 316)、社区部件634、付账/订购管理部件636、通知中心部件638、用户档案管理部件640和登录部件642。组织访问部件650可以与核心特征630通信。实践工作室610和核心特征可以由实体使用登录部件642来进行访问。

实践工作室610的特征为会计提供用于与他们的客户端交互和管理他们的实践的一套工具。核心特征630提供会计和企业两者共用的核心功能和用户工具。组织访问部件650向个体企业提供用于访问他们的数据的用户接口。

实践工作室610是针对会计的中央登录。例如,具有多个客户端——多个客户端中的每一个是小型企业——的会计可以使用实践工作室610来登录并且获得访问针对客户端的账务数据、来自客户的消息等的权限。

实践档案管理部件612使得账务实践能够管理和查看其档案设置。例如,账务实践可以具有合作者级别,该合作者级别表示该账户实践与针对动作历史平台的提供者的关系的强度。该合作者级别可以基于动作历史平台中与账务实践相关联的客户端的数目。其他档案设置可以包括账务实践的名称、地址、电话号码、电子邮件地址等。

实践员工管理部件614为账务实践的管理者提供用于控制用于实践的员工的设置的能力。例如,一些职员可以对针对某些客户端的数据具有只读权限,一些职员可以针对某些客户端具有读写权限,一些职员可以能够修改其他职员的访问权限等。

在线训练部件616向会计及其员工提供训练。在一些情况下,所提供的训练包括一个或更多个视频演示和一个或更多个在线测试。实践管理部件618向会计提供服务。由实践管理部件618提供的服务可以包括工作流工具、客户关系管理(CRM)工具、潜在客户生成工具、职业管理工具、***生成工具等。

合作者资源部件620提供与第三方合作者有关的信息。例如,第三方可以提供与系统交互的工具以提供除系统自身的功能之外的有用的功能。用户可以访问合作者资源部件620以学习可用的第三方工具。

报告包设置部件622提供用于使得会计能够创建和生成标准化的报告集的工具。工作文件部件624向会计提供用于交互地创建财务报告的工具。例如,会计可以将针对客户端的已知数据输入到工作文件中,并且然后将具有需要来自客户端的数据的指示的工作文件发送至该客户端。在客户端将缺失数据输入工作文件之后,会计可以完成该报告。

核心特征630包括由会计和组织两者使用的部件。账务和工资单部件632为组织提供通用分类账。通用分类账可以与组织的工资单整合在一起,以绕开在每个支付周期将工资单数据输入通用分类账的单独步骤。账务和工资单部件632访问针对每个客户端企业的银行数据。银行数据可以通过银行提要或者通过用户创建的文档或会计创建的文档来导入。账务和工资单部件632还可以经由应用协议接口(API)与第三方工具进行通信。

核对MLP 316使得能够生成具有相应核对分数的核对建议。核对MLP316可以与账务和工资单部件632、付账/订购管理部件636以及通知中心638进行交互例如以对与流入金融交易和流出金融交易对应的数据执行数据处理操作。

社区部件634提供论坛,用户可以通过该论坛进行通信。付账/订购管理部件636使得用户能够使用该系统为每个组织配置一个或更多个付账账户。通知中心部件638向用户提供通知。例如,用户可以相互发送被呈现为通知的消息。通知还可以基于事件由系统(例如,通过账务和工资单部件632)来创建。用户档案管理部件640使得用户能够基于权限设置来管理用户的组织的档案和其他的档案。例如,会计可以具有管理会计的客户端的档案的权限。档案可以包括面向公众的信息例如企业名称和地址。登录部件642(例如,经由用户名称和密码)验证登录进入系统的用户的身份。

组织访问部件650访问针对单个组织的核心特征630。在由登录部件642进行用户验证之后,组织访问部件650呈现具有针对单个组织的选项的用户界面,而不呈现仅由实践工作室610使用的附加特征。

图7是根据一些示例实施方式的用于参照数据库中的数据来核对交易以基于针对交易提供的文本描述来识别交易参数的方法700的流程图。

操作702用于识别用于通过机器学习程序核对第一实体的交易的特征。所述特征包括对交易的描述、与该交易相关联的第二实体的名称以及与该交易相关联的账户。

该方法从操作702进行至操作704,在操作704中,一个或更多个处理器用于利用训练数据对机器学习程序进行训练,该训练数据包括用于先前核对的交易的特征的值。

此外,该方法从操作704进行至操作706,在操作706中,一个或更多个处理器接收包括描述、日期和金额的第一交易。在操作708处,一个或更多个处理器将第一交易输入至机器学习程序。该机器学习程序生成用于核对第一交易的一个或更多个建议,每个建议包括该第一交易中的第二实体的名称以及与该第一交易相关联的账户。

实现方式可以包括以下特征中的一个或更多个。在一个示例中,用于核对交易的特征还包括第一实体的位置、第一实体的行业和第二实体的位置。

在一个示例中,用于核对交易的特征还包括交易的税率、账户标识符、与该账户标识符相关联的账户名称、***标识符和账单标识符。

在一个示例中,接收第一交易还包括接收具有一个或更多个交易的报表和提取一个或更多个交易,其中,利用机器学习程序对每个被提取的交易进行核对。

在另一示例中,机器学习程序识别针对一个或更多个建议中的每一个的分数,其中,方法700还包括:针对具有最高分数的建议,检查分数是否高于第一预定阈值,并且在最高分数高于第一预定阈值时自动地将第一交易与具有最高分数的建议进行核对。

在一个示例中,方法700还包括:在最高分数未高于第一预定阈值时,检查最高分数是否高于第二预定阈值;在最高分数高于第二预定阈值时呈现用于手动地将第一交易与一个或更多个建议中的任一个进行核对的用户界面;以及在最高分数低于或等于第二预定阈值时,在用户界面中请求针对第一交易进行手动核对而无需呈现任何建议。

在一个示例中,用户界面包括具有关于第一交易的信息的第一区域和用于建议的第二区域,第二区域包括第二实体的名称、账户、账单标识符、确认选择器和用于请求手动核对的手动选择器。

在一个示例中,训练数据针对多个地理区域被分割,其中,机器学习程序核对针对地理区域之一的交易。

在一个示例中,训练数据包括从多个实体获得的数据,其中,不具有核对交易的历史的实体被提供有用于核对交易的建议。

在一个示例中,方法700还包括:利用由第一实体先前核对的交易来训练定制机器学习程序,该定制机器学习程序基于由第一实体先前核对的交易提供针对第一实体的建议;由定制机器学习程序生成针对第一交易的一个或更多个定制建议;以及基于建议和定制建议来选择最佳建议以向用户呈现。

图8是描绘根据一些实施方式的示例性应用框架800的框图。历史应用框架800可以是能够实现“软件即服务”(SaaS)产品的端到端网络开发框架。历史应用框架800可以包括超文本标记语言(HTML)和/或JavaScript层810、ASP.NET模型视图控制器(MVC)820、可扩展样式表语言转换(XSLT)830、构造840、服务850、对象关系模型860和数据库870。

HTML和/或JavaScript层810提供客户端侧功能,例如用户界面(UI)生成、对用户输入的接收以及与服务器的通信。客户端侧代码可以由ASP.NET MVC 820或XSLT 830动态地创建。可替选地,可以使用另一服务器侧工具来静态地创建或者动态地创建客户端侧代码。

ASP.NET MVC 820和XSLT 830提供服务器侧功能,例如数据处理、网络页面生成以及与客户端的通信。还可以使用其他服务器侧技术与数据库870进行交互和创建针对用户的体验。

构造840提供中转,数据通过该中转被处理和呈现给用户。例如,ASP.NET MVC 820和XSLT 830可以访问构造840以确定期望的数据格式。基于构造840,生成用于数据的呈现的客户端侧代码。所生成的客户端代码和用于呈现的数据被发送至客户端,然后客户端呈现该数据。

在一些示例实施方式中,当调用MLP以分析条目(图5中的操作512)时,MVC网站向基于Python的服务器进行HTTP API呼叫。同样,MVC网站向基于Python的服务器进行另一HTTP API呼叫以向用户呈现建议(图5中的操作522)。

服务850提供可以由ASP.NET 820、XSLT 830和构造840使用以访问存储在数据库870中的数据的可重用的工具。例如,可以使得通过服务850可以访问通过对存储在数据库870中的原始数据进行操作的计算生成的综合数据。

对象关系模型860提供可由软件使用的数据结构以对存储在数据库870中的数据进行操纵。例如,数据库870可以通过将多个行存储在表格中来表示多对一的关系,其中每一行具有共同的值。相比之下,软件可能偏好访问作为数组的数据,其中该数组是与共同值对应的对象的成员。因此,对象关系模型860可以在软件访问多个行时将多个行转换成数组,并且在数据被存储时执行逆转换。

图9是描绘根据一些实施方式的示例性托管架构900的框图。该平台可以使用一个或更多个容器(pod)910来实现。每个容器910包括特定于容器910的应用服务器虚拟机(VM)920(其在图9中被示出为应用服务器虚拟机920A至920C)以及在容器910之间共享的应用服务器虚拟机(例如,内部服务VM 930和应用协议接口VM 940)。应用服务器虚拟机920至940经由网络接口或API与客户端和第三方应用进行通信。应用服务器虚拟机920至940由应用管理程序950监视。在一些示例实施方式中,应用服务器虚拟机920A至920C和API VM 940是可公开访问的,而内部服务VM 930不能由托管架构900外部的机器访问。应用服务器VM920A至920C可以经由应用或网络接口提供终端用户服务。内部服务VM 930可以向应用服务器VM 920A至920C提供后端工具、向应用管理程序950提供监视工具、或者提供其他内部服务。API VM 940可以向第三方提供编程接口。第三方可以使用编程接口来构建依赖于由容器910提供的特征的附加工具。

内部防火墙960确保在数据库管理程序970与可公开访问的虚拟机920至940之间仅允许被许可的通信。数据库管理程序970监视主SQL服务器980A和980B以及冗余SQL服务器990A和990B。可以使用Windows8008R2、Windows 8012或另一操作系统来实现虚拟机920至940。可以跨多个容器910来共享支持服务器。应用管理程序950、内部防火墙960和数据库管理程序970可以跨越数据中心内的多个容器910。

图10是描绘用于实现实施方式的示例性数据中心系统1000的框图。主数据中心1010对客户请求进行服务并且被复制到次数据中心1020。在主数据中心1010故障的情况下,可以使次数据中心1020上线以对客户请求进行服务。主数据中心1010通过网络1055与银行服务器1060、第三方服务器1070、客户端设备1070以及客户端设备1090进行通信。银行服务器1060提供银行数据(例如,经由银行应用1065提供)。第三方服务器1070运行第三方应用1075。客户端设备1080和1090分别使用网络客户端1085和编程客户端1095与主数据中心1010进行交互。

在每个数据中心1010和1020内,示出了多个容器例如图9的容器910。主数据中心1010被示出为包括容器1040a至1040d。次数据中心1020被示出为包括容器1040e至1040h。运行在主数据中心1010的容器上的应用被复制到次数据中心1020的容器。例如,与VMWare站点恢复管理器(SRM)结合的EMC复制(由EMC公司提供)可以用于应用层复制。数据库层处理主数据中心的存储层1050a与次数据中心的存储层1050b之间的复制。数据库复制提供数据库一致性和用于确保所有数据库处于相同时间点的能力。

数据中心1010和1020分别使用负载均衡器1030a和负载均衡器1030b以均衡每个数据中心内的容器上的负载。银行服务器1060与主数据中心1010交互以向客户的银行账户提供银行记录。例如,客户端可以向主数据中心1010提供账户凭证,主数据中心1010使用该账户凭证来获得对客户端的账户信息的访问权限。银行服务器1060可以向主数据中心1010提供银行记录以稍后通过客户端使用客户端设备1080或1090来进行核对。

第三方服务器1070可以与主数据中心1010和客户端设备1080或1090交互以向客户端设备1080或1090的用户提供附加特征。

图11是示出可以在其上实现一个或更多个示例实施方式的机器的示例的框图。在替选的实施方式中,机器1100可以操作为独立的设备或者可以连接(例如,联网)至其他机器。在联网部署中,机器1100可以在服务器客户端网络环境中以服务器机器、客户端机器或服务器机器和客户端机器两者的能力进行操作。在示例中,机器1100可以充当对等(P2P)(或其他分布式)网络环境中的对等机器。机器1100可以是个人计算机(PC)、平板PC、机顶盒(STB)、膝上型计算机、移动电话、网络装置、网络路由器、交换机或网桥或者能够(顺序地或以其他方式)执行指定要由该机器采取的动作的指令的任何机器。此外,虽然仅示出了单个机器1100,但是术语“机器”也应当被视为包括单独或联合地执行一组(或多组)指令以执行本文所讨论的诸如云计算、SaaS或其他计算机集群配置的方法中的任意一个或更多个的机器的任何集合。

如本文所述,示例可以包括逻辑或多个部件或机制,或者可以由逻辑或多个部件或机制操作。电路装置是在包括硬件(例如,简单电路、栅、逻辑等)的有形实体中实现的电路的集合。电路装置成员可以随时间和潜在的硬件可变性而可变动。电路装置包括可以在操作时单独或组合执行指定操作的成员。在示例中,电路装置的硬件可以被不变地设计成执行指定操作(例如,硬连线)。在示例中,电路装置的硬件可以包括可变地连接的物理部件(例如,执行单元、晶体管、简单电路等)以对指定操作的指令进行编码,所述可变地连接的物理部件包括被物理地修改(例如,磁力地、电力地、不变质量粒子的可移动放置等)的计算机可读介质。在连接物理部件时,硬件组成的潜在电性能被改变,例如从绝缘体被改变为导体或者从导体被改变为绝缘体。所述指令使得嵌入式硬件(例如,执行单元或加载机制)能够经由可变连接创建硬件中的电路装置的成员以在操作时执行指定操作的部分。因此,当设备在操作时,计算机可读介质被通信地耦合至电路装置的其他部件。在示例中,物理部件中的任一部件可以在多于一个电路装置的多于一个成员中使用。例如,在操作中,执行单元可以在一个时间点在第一电路装置的第一电路中使用,并且在不同的时间处被第一电路装置中的第二电路或者被第二电路装置中的第三电路重复使用。

机器(例如,计算机系统)1100可以包括硬件处理器1102(例如,中央处理单元(CPU)、图形处理单元(GPU)、硬件处理器核或其任意组合)、主存储器1104和静态存储器1106,以上中的一些或所有可以经由互连链路(例如,总线)1108来彼此通信。机器1100还可以包括显示设备1110、字母数字输入设备1112(例如,键盘)和UI导航设备1114(例如,鼠标)。在示例中,显示设备1110、输入设备1112和UI导航设备1114可以是触摸屏显示器。机器1100可以另外地包括大容量存储设备(例如,驱动单元)1116、信号生成设备1118(例如,扬声器)、网络接口设备1120和一个或更多个传感器1121例如全球定位系统(GPS)传感器、指南针、加速度计或其他传感器。机器1100可以包括输出控制器1128,例如串行(例如,通用串行总线(USB)、并行或者其他有线或无线(例如,红外(IR)、近场通信(NFC)等)连接以通信或控制一个或更多个***设备(例如,打印机、读卡器等)。

存储设备1116可以包括其上存储有一组或更多组数据结构或指令1124(例如,软件)的机器可读介质1122,所述数据结构或指令1124实现本文描述的技术或功能中的任何一个或更多个或由其利用。指令1124还可以在机器1100执行该指令期间全部地或至少部分地驻留在主存储器1104内、静态存储器1106内或硬件处理器1102内。在示例中,硬件处理器1102、主存储器1104、静态存储器1106或存储设备1116中的一个或任意组合可以构成机器可读介质。

虽然机器可读介质1122被示出为单个介质,但是术语“机器可读介质”可以包括被配置成存储一个或更多个指令1124的单个介质或多个介质(例如,集中式或分布式数据库和/或相关联的缓存和服务器)。

术语“机器可读介质”可以包括能够存储、编码或携带用于由机器1100执行并且使机器1100执行本公开内容的技术中的任意一个或更多个的指令1124的任意介质,或者可以包括能够存储、编码或携带由这样的指令1124使用的数据结构或者与这样的指令1124相关联的数据结构的任意介质。非限制性机器可读介质示例可以包括固态存储器以及光学和磁介质。在示例中,大容量机器可读介质包括具有多个粒子的机器可读介质1122,所述粒子具有不变(例如,静止)质量。因此,大容量机器可读介质不是暂态传播信号。大容量机器可读介质的具体示例可以包括:非易失性存储器,例如半导体存储器设备(例如,电可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM))和闪速存储器设备;磁盘,例如内部硬盘和可移动盘;磁光盘;以及CD-ROM和DVD-ROM盘。

还可以利用多个传输协议(例如,帧中继、互联网协议(IP)、传输控制协议(TCP)、用户数据报协议(UDP)、超文本传输协议(HTTP)等)中的任意一个经由网络接口设备1120使用传输介质通过通信网络1126发送或接收指令1124。示例通信网络可以包括局域网(LAN)、广域网(WAN)、分组数据网络(例如,因特网)、移动电话网络(例如,蜂窝网络)、普通老式电话(POTS)网络以及无线数据网络(例如,被称为

Figure BDA0002356672710000201

的电气和电子工程师协会(IEEE)1102.11标准族、被称为

Figure BDA0002356672710000202

的IEEE 1102.16标准族)、IEEE 1102.15.4标准族、对等(P2P)网络等。在示例中,网络接口设备1120可以包括一个或更多个物理插孔(例如,以太网、同轴或电话插孔)或者用于连接至通信网络1126的一个或更多个天线。在示例中,网络接口设备1120可以包括多个天线以使用单输入多输出(SIMO)技术、多输入多输出(MIMO)技术或多输入单输出(MISO)技术中的至少一个来无线地通信。术语“传输介质”应当被认为包括能够存储、编码或携带用于由机器1100执行的指令1124的任何无形介质,并且包括数字通信信号或模拟通信信号或其他无形介质以促进这样的软件的通信。

贯穿本说明书,多个实例可以实现被描述为单个实例的部件、操作或结构。尽管一个或更多个方法的单个操作被示出和描述为分离的操作,但是一个或更多个单个操作可以同时执行,并且不要求以所示的顺序执行操作。在示例配置中被呈现为分离部件的结构和功能可以被实现为组合的结构或部件。类似地,被呈现为单个部件的结构和功能可以被实现为单独的部件。这些和其他变型、修改、添加和改进落入本文的主题的范围内。

本文示出的实施方式被足够详细地描述以使得本领域技术人员能够实践所公开的教导。可以使用其他实施方式以及从本文示出的实施方式得出其他实施方式,使得可以在不脱离本公开内容的范围的情况下进行结构和逻辑上的替代和改变。因此,因此具体实施方式不应被视为是限制性的意义,并且各种实施方式的范围仅由所附权利要求以及被称为这样的权利要求的等同方案的全部范围来限定。

如本文所使用的,术语“或”可以被解释为包含性或排他性意义。此外,可以针对在本文被描述为单个实例的资源、操作或结构提供多个实例。另外,各种资源、操作、模块、工具(engine)和数据存储之间的边界在某种程度上是任意的,并且在特定说明性配置的上下文中示出特定操作。功能的其他分配是容易想到的并且可以落入本公开内容的各种实施方式的范围内。通常,在示例配置中被呈现为分离资源的结构和功能可以被实现为组合的结构或资源。类似地,被呈现为单个资源的结构和功能可以被实现为分离的资源。这些和其他变型、修改、添加和改进落入如由所附权利要求表示的本公开内容的实施方式的范围内。因此,说明书和附图应被视为是说明性的而非限制性的意义。

30页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:生物认证结算系统、结算系统和收银系统

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!