从自由形式的表格式数据创建行项目信息的制作方法

文档序号:24399389发布日期:2021-03-26 13:06阅读:93来源:国知局
从自由形式的表格式数据创建行项目信息的制作方法

1.本公开涉及用于从表格式数据创建行项目信息的计算机实施的方法、软件和系统。


背景技术:

2.战略采购可以由公司执行,以监控和评估采购战略。采购战略可以包括确定从哪个实体购买需要购置的项目。战略采购可以包括供应链管理、供应商开发、合同谈判和外购评估。


技术实现要素:

3.本公开涉及用于从表格式数据创建行项目信息的系统、软件和计算机实施的方法。一种示例方法包括在系统处接收事件数据值。识别事件数据值中的列的列标题。至少一个列标题不被包括由系统使用的标准行项目项中。识别事件数据值中的列的列值。使用一个或多个模型处理所识别的列标题和所识别的列值,以将每个列映射到由系统使用的标准行项目项。该处理包括使用上下文确定和内容辨识来识别标准行项目项。在系统中创建事件,包括从所识别的列值创建行项目。每个行项目包括映射到列的标准行项目项。
4.虽然通常被描述为体现在有形介质上的处理和转换相应数据的计算机实施的软件,但是各方面中的一些或全部可以是计算机实施的方法,或者还被包括在用于执行该描述的功能的相应系统或其他设备中。本公开的这些和其他方面和实施例的细节在附图和以下描述中阐述。根据说明书和附图以及权利要求,本公开的其他特征、目的和优点将变得显而易见。
附图说明
5.图1是示出用于从表格式数据创建行项目信息的示例系统的框图。
6.图2示出了用于从表格式数据确定行项目信息的示例系统。
7.图3示出了用于从表格式输入数据创建行项目信息的处理的示例流水线的流程图。
8.图4a示出了示例输入表格。
9.图4b是示出列标题的候选项的匹配分数的表格。
10.图5是用于从表格式数据创建行项目信息的示例方法的流程图。
具体实施方式
11.组织中的买方可能想要为组织购置(多个)项目。买方可能想要找到能以最低价格提供(多个)项目的供应商。其他因素可能影响供应商的选择,诸如过去的互动、整体声誉、交付时间因素等。战略采购可以是尝试为组织寻找针对组织想要购置的一个或多个项目的集合的最佳供应商的过程。执行战略分析之后,可以选择供应商并授予采购机会。
12.战略采购的输入可以是采购事件,采购事件包括组织想要购置的(多个)行项目(line item)的列表。可以使用具有固定字段的用户界面来定义采购事件的行项目,行项目的值可以添加到固定字段中。作为另一示例,可以提供包括行项目的电子表单文件作为输入。固定字段用户界面和电子表单都可以具有预定义数量的预定义字段,这些预定义字段预计包括某些类型的数据。这些类型的输入格式通常不允许偏离预计的输入。虽然描述了采购事件,但是也可以使用其他类型的事件。
13.在一些实施方式中,例如,买方可以从采购系统或另一类型的系统下载电子表单模板,电子表单模板具有不同类型的行项目字段的固定列名称,诸如行项目编号、行项目描述、提前期(lead time)和各种价格字段。模板通常包括由采购系统使用的项和字段名称。这些字段名称可能与由买方使用的项和字段名称不匹配或不完全熟悉。这种不熟悉可能对买方和组织中的其他人(诸如组织中的其他采购经理)造成限制。例如,在组织中,买方和采购经理可能更熟悉“交付时间”,而不是“提前期”。其他类型的信息在买方组织和采购系统之间可能有不同的术语。不得不使用和解释不熟悉的项,而不是熟悉的项,这对买方来说是不方便和低效的,并且会导致用户对采购系统的不满意。
14.为了给买方提供更多的灵活性和便利性,买方可以使用对买方方便和熟悉的任何形式来生成行项目输入数据。例如,买方可以创建包括行项目信息的一个或多个电子表单。买方的行项目信息可以在一个表格中、多个表格中、一个表单内、跨表单等定义。例如,假设买方需要购买组织内供内部使用的项目,诸如家具项目和办公用品。第一个表单或第一个表格可以列出描述期望的家具项目的信息,诸如家具项目描述、家具项目尺寸等。第二个表单可以列出描述期望的办公用品的信息,例如,诸如颜色、品牌等供应特性。家具和办公用品的项目描述可能不同,因为不同的字段可以描述不同类型的项目。买方可以使用对买方有意义的字段/列名称来提供描述这些项目的数据,而不是尝试将项目描述放入不是由买方组织开发的模板的硬编码字段中。买方可以以买方需要的(多个)格式提供信息,而不是下载和使用不熟悉的模板或僵硬的用户界面。
15.采购系统可以接受自由形式的数据作为输入,并根据输入的数据确定和预测各种含义。例如,采购系统可以确定自由形式数据中每个项目的上下文,以确定每个行项目的行项目标识符、行项目描述和(多个)项的集合。项可以是例如价格、颜色、宽度、高度等。采购系统可以推断/确定每个项的数据类型。例如,可以为价格项推断货币数据类型,为高度和宽度项推断度量单位的数据类型。如下所述,可以基于关键字/符号识别来确定数据类型。附加地或可替换地,可以基于历史数据使用或确定来确定数据类型。例如,如果客户在过去使用名称为“总值”的项作为货币数据类型,则系统可以预测名称为“值”的项也属于货币类型。数据类型可以包括比基本数据类型(诸如整数)更高级别的更高级别类型。更高级别的数据类型可以包括货币、测量尺寸等。采购系统可以确定某些项目具有某种类型的货币,诸如usd(美元)、欧元等。例如,采购系统可以将不同类型的货币转换为一种通用货币,以便进行比较。
16.采购系统可以辨识项之间的同义词。如果输入的项是采购系统使用的标准全局项的同义词,则同义项可以链接到标准项,而不是在采购系统中创建新项。例如,通用项可以是“工厂”,而诸如“收货地址”的同义输入项可以映射到标准的“工厂”项。与通用的全局项匹配可以节省内存,从而提高性能,并支持项的标准处理,用于比较、决策等。全局项可以被
包括在语料库中。语料库可以基于关于多个购置产品的文档和其他数据来构建,以便包括购置系统中常用的项。
17.当翻译项时,可以为可能匹配输入项的候选全局项的集合中的每一个候选全局项生成匹配分数。可以选择最接近的匹配(例如,具有最高匹配分数的候选全局项)作为输入项的同义词,并且可以将输入项映射到所选择的全局项。如果没有匹配分数大于阈值,则可以基于输入项为客户创建新的定制项。
18.基于模型的方法可以提供各种优势。例如,基于列标题的映射可以以无监督的方式执行,不需要训练。模型可以识别由买方最近创建的新项(或采购系统首先看到的项)。可以基于列标题以及列内容推断标准行项目项。异构列可以映射到不同的目标列。方法可以是语言不可知的。
19.图1是示出用于从表格式数据创建行项目信息的示例系统100的框图。具体而言,示出的系统100包括或可通信地耦合到采购系统102、客户端设备104和网络106。虽然单独示出,但是在一些实施方式中,两个或更多系统或服务器的功能可以由单个系统或服务器提供。在一些实施方式中,一个所示系统或服务器的功能可以由多个系统或服务器提供。
20.用户可以使用在客户端设备104上执行或由客户端设备104访问的采购应用110来创建采购事件。采购事件可以是拍卖请求、信息请求(request for information,rfi)、建议请求或报价请求(其统称为“rfx”(例如,“x”请求)。采购事件可以由采购应用110发送到采购系统102。
21.可以使用采购应用110的用户界面来创建采购事件。作为另一示例,固定字段数据文件(例如,电子表单)可以由采购应用110上传到采购系统102。用户界面和固定字段数据文件可以具有预定义的固定字段。预定义的固定字段可以产生最小的输入模式(schema),买方可以使用该模式来创建采购事件和相关联的行项目。买方可能更喜欢使用其他类型的字段,其格式不同于例如由用户界面字段或基于模板的固定字段数据文件所提供的格式。固定格式可以包括固定的术语、语法和数据类型,这可能并不与买方的需求理想地匹配。例如,电子表单模板可能包括买方不完全熟悉的标题,因为标题中的术语与买方组织使用的术语不匹配。固定字段方法可能会因为没有办法将买方的不同术语与预定义的项对应起来而遭遇到挑战。采购系统102可以被配置成以某些预定义的方式解释在某些固定字段或列中输入的数据,这可能限于希望以不同方式输入或定义数据的买方。
22.为了为买方创建采购事件创建更灵活的方式,采购应用110可以被配置成允许用户将输入数据112上传到采购系统102。在可以支持多种类型的表格式数据的意义上,输入数据112可以是“自由形式的”。采购系统110可以解释输入数据112,并自动创建采购事件和相关联的行项目。例如,输入数据112可以是客户在业务过程中通常使用的电子表单格式。例如,买方的电子表单格式可以不同于先前由采购系统102提供的模板。电子表单格式可以具有列的各种排序和组合。输入数据112也可以是其他数据,包括使用电子邮件、电子消息或其他格式提供的表格式格式。
23.表格式输入数据112可以由一个或多个机器学习引擎114处理。例如,输入数据112中的列标题和列值可以被机器学习引擎114识别和使用。机器学习引擎114可以使用一个或多个模型116将每一列映射到由采购系统102使用的标准行项目项。例如,模型116可以包括候选项到标准行项目项的映射118。可能已经从根据采购系统102的文档并且为采购系统生
成的项的语料库中识别候选行项目项。例如,表格式输入数据112中的列名称(可能在预处理之后)可以被映射到候选项。作为另一示例,使用模型116可以包括使用(多个)生成分布模型120从数值列值推断标准行项目项。作为又一示例,使用模型116可以包括使用(多个)朴素贝叶斯模型122从文本列值中识别标准行项目项。
24.项翻译可以在采购应用110中呈现给买方,并且买方可以确认或拒绝相应的翻译。如果买方拒绝翻译,则买方可以选择适当的全局项。例如,买方可以从所呈现的候选标准项的集合中选择项(例如,候选标准项可以是具有更小的匹配分数但匹配分数仍足以成为候选项的其他项)。用户确认、拒绝和可替换选择可以用作用于训练和重新配置模型116以改进未来预测的反馈。
25.在一些实施方式中,模型116包括多个客户共有的通用模型和特定于相应客户的客户特定模型。用户反馈可以应用于通用模型和客户特定模型。例如,如果第一客户确认将输入项翻译成标准项,并且第二客户具有包括相同输入项的输入文件,则模型更有可能将来自第二客户的输入项翻译成与向第一客户建议的项相同的标准项。在一些实施方式中,对全局模型的改变发生在重复类型的翻译被多个客户确认/拒绝之后。例如,特定于客户的反馈可以应用于特定于客户的模型,但是,例如,如果十个(或另一预定义的阈值)客户提供了相同类型的反馈,则该反馈可以应用于全局模型。在某些实例中,特定于客户的模型可以是对应的一个或多个通用模型的扩展或变化。
26.一旦用户确认了项翻译,就可以由采购应用124在采购系统中创建具有含有所识别的标准项目项的行项目的采购事件。
27.如在本公开中使用的,项“计算机”旨在涵盖任何合适的处理设备。例如,虽然图1示出了单个采购系统102和单个客户端设备104,但是系统100可以使用单个独立计算设备、两个或更多采购系统102或者两个或更多客户端设备104来实施。事实上,采购系统102和客户端设备104可以是任何计算机或处理设备,诸如例如刀片服务器、通用个人计算机(pc)、工作站、基于unix的工作站、或任何其他合适的设备。换句话说,本公开预期了除通用计算机以外的计算机,以及没有传统操作系统的计算机。此外,采购系统102和客户端设备104可以适配成执行任何操作系统,包括linux、unix、windows、mac java
tm
、android
tm
、ios或任何其他合适的操作系统。根据一个实施方式,采购系统102还可以包括电子邮件服务器、web服务器、高速缓存服务器、流式数据服务器和/或其他合适的服务器,或者与它们可通信地耦合。
28.接口130和132分别由客户端设备104和采购系统102使用,用于与连接到网络106的分布式环境(包括系统100内)中的其他系统通信。通常,接口130和132各自包括以适当的组合编码在软件和/或硬件中的逻辑,并且可操作来与网络106通信。更具体地,接口130和132可以各自包括支持与通信相关联的一个或多个通信协议的软件,使得网络106或接口的硬件可操作来在所示系统100内部和外部传达物理信号。
29.采购系统102包括一个或多个处理器136。每个处理器136可以是中央处理单元(cpu)、刀片、专用集成电路(asic)、现场可编程门阵列(fpga)、或其他合适的组件。通常,每个处理器136执行指令并操纵数据来执行采购系统102的操作。具体地,例如,每个处理器136执行接收和响应来自客户端设备104的请求所需的功能。
30.不管具体实施方式如何,“软件”可以包括(根据情况,暂时的或非暂时的)有形介
质上的计算机可读指令、固件、有线和/或编程的硬件、或其任意组合,当“软件”被执行时可操作来至少执行本文描述的过程和操作。实际上,每个软件组件都可以全部或部分地用任何适当的计算机语言编写或描述,包括c、c++、java
tm
、visual basic、汇编程序、任何合适版本的4gl以及其他语言。虽然图1中所示的软件部分被示为通过各种对象、方法或其他过程实施各种特征和功能的单独模块,但是根据情况,该软件可以替代地包括多个子模块、第三方服务、组件、库等。相反,各种组件的特征和功能可以根据情况组合成单个组件。
31.采购系统102包括存储器138。在一些实施方式中,采购系统102包括多个存储器。存储器138可以包括任何类型的存储器或数据库模块,并且可以采取易失性和/或非易失性存储器的形式,包括但不限于磁介质、光学介质、随机存取存储器(ram)、只读存储器(rom)、可移动介质或任何其他合适的本地或远程存储器组件。存储器138可以存储各种对象或数据,包括高速缓存、类、框架、应用、备份数据、商业对象、作业、网页、网页模板、数据库表格、数据库查询、存储业务和/或动态信息的储存库,以及任何其他适当的信息,包括与采购系统102的目的相关联的任何参数、变量、算法、指令、规则、约束或对其的引用。
32.客户端设备104通常可以是可操作来使用有线或无线连接经由网络106连接到采购系统102或与采购系统102通信的任何计算设备。通常,客户端设备104包括电子计算机设备,其可操作来接收、发送、处理和存储与图1的系统100相关联的任何适当的数据。客户端设备104可以包括一个或多个客户端应用,包括采购应用110。客户端应用是允许客户端设备104请求和查看客户端设备104上的内容的任何类型的应用。在一些实施方式中,客户端应用可以使用在启动时接收的参数、元数据和其他信息来访问来自采购系统102的特定数据集合。在一些实例中,客户端应用可以是运行在企业服务器(未示出)上的一个或多个企业应用的代理或客户端版本。
33.客户端设备104还包括一个或多个处理器140。客户端设备104中包括的每个处理器140可以是中央处理单元(cpu)、专用集成电路(asic)、现场可编程门阵列(fpga)、或其他合适的组件。通常,客户端设备104中包括的每个处理器140执行指令并操纵数据来执行客户端设备104的操作。具体而言,客户端设备104中包括的每个处理器140执行向采购系统102发送请求以及接收和处理来自采购系统102的响应所需的功能。
34.客户端设备104通常旨在涵盖任何客户端计算设备,诸如膝上型/笔记本计算机、无线数据端口、智能电话、个人数据助理(pda)、平板计算设备、这些设备中的一个或多个处理器、或任何其他合适的处理设备。例如,客户端设备104可以包括计算机,该计算机包括诸如键盘、触摸屏或能够接受用户信息的其他设备的输入设备以及传送与采购系统102或客户端设备104本身的操作相关联的信息(包括数字数据、视觉信息或gui 142)的输出设备。
35.客户端设备104的gui 142出于任何合适的目的(包括生成采购应用110的视觉表示)与系统100的至少一部分接合。具体而言,gui 142可用于查看和导航各种网页或其他用户界面。通常,gui 142向用户提供由系统提供或在系统内传达的商业数据的有效且用户友好的呈现。gui 142可以包括多个可定制的框架或视图,这些框架或视图具有由用户操作的交互式字段、下拉列表和按钮。gui 142预期处理信息并有效地将结果可视地呈现给用户的任何合适的图形用户界面,诸如通用网络浏览器、智能引擎和命令行界面(command line interface,cli)的组合。
36.客户端设备104中包括的存储器144可以包括任何存储器或数据库模块,并且可以采取易失性或非易失性存储器的形式,包括但不限于磁介质、光学介质、随机存取存储器(ram)、只读存储器(rom)、可移动介质或任何其他合适的本地或远程存储器组件。存储器144可以存储各种对象或数据,包括用户选择、高速缓存、类、框架、应用、备份数据、商业对象、作业、网页、网页模板、数据库表格、存储业务和/或动态信息的储存库,以及任何其他适当的信息,包括与客户端设备104的目的相关联的任何参数、变量、算法、指令、规则、约束或对其的引用。
37.可以有与系统100相关联的或在系统100外部的任意数量的客户端设备104。例如,虽然示出的系统100包括一个客户端设备104,但是系统100的替代实施方式可以包括可通信地耦合到采购系统102和/或网络106的多个客户端设备104,或者适合于系统100的目的的任何其他数量。另外,在系统100的所示部分的外部还可以有能够经由网络106与系统100交互的一个或多个附加的客户端设备104。此外,项“客户端”、“客户端设备”和“用户”可以适当地互换使用,而不脱离本公开的范围。此外,虽然根据由单个用户使用来描述客户端设备104,但是本公开预期许多用户可以使用一台计算机,或者一个用户可以使用多台计算机。
38.图2示出了用于从表格式数据确定行项目信息的示例系统200。买方可以将表格式数据输入202(例如,(多个)电子表单、(多个)表格等)提供给采购系统。采购系统可以基于表格式数据输入202确定行项目信息204,包括行项目属性和(多个)行项目的项。例如,从表格式输入数据202创建的行项目元素可以包括行项目标题206、行项目描述208和行项目项210。行项目项210可以包括例如表示投标应该开始的初始价格的价格项(例如,$10、10usd等)。其他项可以包括要订购的单位的数量,其中示例输入数据为“10kg”、“10个单位”和“30磅”。作为另一示例,“工厂”项是订购项目的送货地址。
39.可以在表格式数据输入202中以各种方式指定送货地址类型的项。例如,汽车公司可以使用项“shiptoaddress”(“送货地址”),而零售公司可以使用项“storeaddress”(“商店地址”)。作为另一示例,即使在同一组织内部,管理员可以使用项“(deliveryaddress)”(“交付地址”),但其他部门可以使用其他项。例如,采购系统可以将地址类型的项映射到称为“plant”(“工厂”)的通用项,而不考虑用来描述地址的确切单词。映射到通用项可以被完成,以实现优化或奖励决策,或者实现以一致的格式向外部系统发送数据。
40.当从表格式输入数据202创建行项目元素时,采购系统可以执行上下文确定212和内容辨识214中的一个或两个。上下文确定212可以包括基于表格式数据输入202中的列名称或标题来识别项。例如,电子表单或自由格式的表格可以具有列名称或标题。内容辨识214可以在一些或所有输入数据没有标题时执行,或者可以作为对上下文确定的补充来执行。内容辨识214可以包括检查表格式数据输入202的列内容,以推断输入到(多个)项的映射。如下文更详细描述的,内容辨识214可以包括执行多个算法或方法来确定与输入的特定列相关联的最佳项。
41.作为示例,包括地址信息的列可能没有标题,或者可能具有不直接指示地址的标题。例如,标题可以是“post”(“邮政”)。例如,“post”可能是当前不在语料库中的与送货地址相关的项。内容辨识引擎可以确定列内容包括匹配街道/城市/国家、国家/城市或另一种类型的地址模式的数据。内容辨识引擎可以基于列内容确定地址数据类型,并且基于过去
的数据,推导出列数据对应于已知的全局的“plant”项。
42.在一些实施方式中,基于内容辨识214和上下文确定212来识别候选项。例如,可以基于内容辨识214和上下文确定212来生成候选项的单独匹配分数。基于来自内容辨识214和上下文确定212的每个候选项的单独匹配分数,可以为该项生成累积分数。具有最佳累积分数的候选项可以被选择为对应于输入列。
43.图3示出了用于从表格式输入数据创建行项目信息的处理的示例流水线的流程图300。在第一阶段302中,创建项的语料库。语料库可以使用购置项知识库、采购系统的产品文档、其他采购或购置系统(例如,竞争对手系统)的产品文档等来创建。经常一起出现(例如,相邻)的项可以被分组成单个项。例如,语料库生成引擎可以确定在各种类型的文档中,“estimated”(“估计的”)和“lead”(提前期)经常一起出现在“estimated lead”(“估计的提前期”)短语中。这两个项可以合并成一个“estimated_lead”(“估计的_提前期”)项。
44.在第二阶段304中,输入标题被预处理。例如,输入可以是表格式数据中的一个或多个电子表单和/或一个或多个表格。电子表单或表格可以具有标题(例如,列标题)。标题中的信息可以被处理。例如,标题可以被转换成通用大小写(common case)(例如,单个大小写(single-case)、全部大写(upper-case))。
45.图4a示出了示例输入表格400。输入表格400包括标题行402,该标题行402包括“item”(“项”)标题404、“code”(“代码”)标题406、“estimated lead”(“估计的提前期”)标题408、“factory”(“加工厂”)标题410、“nbr”(“数量”)标题412、“cost”(“成本”)标题414、“histoic price”(“历史价格”)标题416和“remarks”(“备注”)标题418。在输入标题预处理期间,标题404-418中的每一个可以被转换成小写(lower case)。例如,可以使用编辑距离算法来纠正输入标题中的拼写错误。例如,“histoic price”(“历史价格”)标题416中的“hostoic”(“历史”)可以被更正为“historic”(“历史”)。
46.输入标题中的多词短语可以形成单个短语项。例如,在小写和短语处理之后,“estimated lead”(“估计的提前期”)标题408可以是“estimated_lead”(“估计的_提前期”)。作为另一示例,在小写、拼写检查和短语处理之后,“histoic price”(“历史价格”)标题416可以是“historic_price”(“历史_价格”)。
47.再次参考图3,在第三阶段306中,列标题被映射到全局项。第三阶段306可以对应于上面参照图2描述的上下文确定212。例如,在输入标题被预处理之后,可以将被预处理的标题与全局语料库中的候选项进行比较。在一些实施方式中,特定输入的候选项是为与输入(或输入的提供者)相关联的领域(例如,租户)创建的全局项。
48.在一些实施方式中,对于每个被预处理的输入列标题,可以从语料库中识别前n个最接近的单词,并且可以识别前n个最接近的单词与全局项的交集,以挑选最匹配的。
49.图4b是示出了列标题的候选项的匹配分数的表格450。如上所述,“estimated lead”标题408可以被预处理成输入项“estimated_lead”452。输入项“estimated_lead”可以与候选全局项“lead_time”(“提前期_时间”)454、“baseline”(“基线”)456、“seconds”(“秒”)458、“surpassing”(“超过”)460和“scheduled_close”(“计划_关闭”)462匹配。候选全局项454-462的相应匹配分数464、466、468、470和472已经被确定。例如,可以计算其他候选全局项的匹配分数—表452可以列出具有最高匹配分数的候选全局项。基于具有最高匹配分数,可以选择候选全局项“lead_time”454来映射到输入项“estimated_lead”452。
[0050]“estimated_lead”到“lead_time”的映射可以存储在模型中,这样,如果“estimated_lead”出现在来自客户的(多个)后续输入中,则“estimated_lead”可以自动映射到“lead_time”,其处理量少于映射的初始确定。如上所述,在一些实施方式中,或者在检测到一定数量的“estimated_lead”的出现之后,可以为一个客户或通常是多个客户更新所有客户的全局模型。
[0051]
基于列标题的项映射的其他示例可以包括“factory”标题410被映射到“plant”全局项,“histoic price”标题416映射到“historic.price”全局项(在标题预处理之后),“cost”标题414映射到“cost”全局项(在标题预处理之后)。
[0052]
再次参考图3,在第四阶段308中,基于内容来映射列。第四阶段308可以对应于以上参考图2描述的内容辨识214。
[0053]
数值列(例如,除标题行之外的行中包括数值的列)可以使用生成模型来处理。对于每个数值列,生成模型可以学习历史数据的分布参数(例如,在先前看到的表格中与当前列的数据相似的列的历史数据,或者已经映射到其匹配的全局项(例如,当前列的列标题)的列的历史数据)。分布模型可用于推断当前列的数据的全局项。
[0054]
例如,对于示例输入表格400,“code”标题406是代码数值列的标题(例如,值行422中的代码值420都是数值的)。示例输入表格400中可以包括其他值行(除了所示的)。历史数据的分布模型可以与代码列中的值进行比较,并且可以识别与代码列中的值最相似的分布模型。例如,代码列中的值可能最相似于“spsc_code”(例如,standard products and services cod(标准产品和服务代码))项的分布模型。因此,代码列可以被映射到“spsc_code”项。另外,对应于“code”标题406的输入项“code”可以被映射到“spsc_code”项,使得具有“code”标题的未来输入列可以更容易地被映射到“spsc_code”项。
[0055]
作为另一示例,“nbr”标题412是数值列的标题(例如,包括数值424)。历史数据的分布模型可以与数值列中的值进行比较,并且可以识别与数值列中的值最相似的分布模型。例如,数值列中的值可能最相似于“quantity”(“数量”)项的分布模型。另外,对应于“nbr”标题412的输入项“nbr”可以被映射到“quantity”项,使得未来的输入项“nbr”可以被映射到“quantity”项。“nbr”最初可能不被包括在语料库或模型中,但可以基于分布模型分析被添加到映射到“quantity”项的模型中。
[0056]
可以使用基于朴素贝叶斯/标语(watchword)的模型来处理文本列,该模型基于历史数据进行训练。该模型可用于基于列数据值将当前列的数据分类为全局项。使用基于标语的模型可以包括检测预定义的(多个)关键字或符号,并且基于关键字/符号识别对列数据进行分类。例如,检测到“usd”或“$”可以导致确定货币类型的项。例如,对货币类型的项的确定可以向货币类型的候选全局项添加权重,作为整体的项确定的一部分。作为另一示例,识别出“kg”标语可以导致确定列的unit_of_measure(度量单位)项。例如,列中与“cost”标题414和“histoic price”标题416相关联的列值可以基于对列数据中的“$”标记(token)的标语识别(例如,在值426和428中)被识别为货币列。
[0057]
可以通过将字母数值内容划分成数值部分和非数值部分来处理字母数值列,其中数值部分如针对数值列所描述的那样来处理,非数值部分如针对文本列所描述的那样来处理。通过相应的数值或文本处理获得的信息可用于确定字母数值列的项和/或更高级别的数据类型。例如,列值“$10”可以被划分成“$”标记和“10”标记,其中“$”标记按照文本列处
理来处理,“10”按照数值列处理来处理。对“$”标记的处理可以导致将“$”标记识别为将列数据识别为货币数据类型的标语。处理“10”标记(以及列中的其他数值)可以导致识别出货币类型的特定全局项,诸如“price”(“价格”)或“extended_price”(“扩展的_价格”)(例如,基于值的历史分布)。
[0058]
可以执行其他类型的内容解析。例如,在解析早期遇到的字符串列表可以被识别为行项目的“description”(“描述”)属性。
[0059]
在第五阶段310中,异构列被映射。某些列,诸如通用的“附加备注”、“注释”、“附加信息”,可能已经被确定为历史上包括不同类型的数据(例如,数值、文本、字母数值)。异构列标题(例如,“附加备注”、“注释”、“附加信息”)可以被识别。对于当前输入,如果在输入中识别出异构列,则可以通过执行对应的处理(如上所述)来评估该列中的数据以确定当前数据是数值、字母数值还是文本。
[0060]
在第六阶段312中,用户辅助输入用于冲突解决。如果对列使用多个模型,其中每个模型产生不同的项,则不同的项可以呈现给用户,并且用户可以选择正确的项。可以将列标题和/或列值到所选择的项的映射添加到(多个)模型中,以支持持续学习和模型改进。作为另一示例,(多个)模型不识别项,或者识别具有小于某个置信度值的项,用户可以创建定制映射,其中该定制映射被反馈到(多个)模型中以用于未来的解决。
[0061]
在第七阶段314中,(多个)模型输出被提供给采购系统,以用于创建采购事件和相关联的行项目。例如,可以从列值创建行项目,其中每个行项目都包括已由模型映射到列的标准行项目项。
[0062]
图5是用于从表格式数据创建行项目信息的示例方法500的流程图。应当理解,方法500和相关方法可以例如通过任何合适的系统、环境、软件和硬件来执行,或者通过系统、环境、软件和硬件的组合来执行,视情况而定。例如,客户端、服务器或其他计算设备中的一个或多个可以用于执行方法500和相关方法,并从客户端、服务器或其他计算设备的存储器中获取任何数据。在一些实施方式中,方法500和相关方法由以上关于图1描述的系统100的一个或多个组件执行。例如,方法500和相关方法可以由图1的采购系统102或另一种类型的系统来执行。
[0063]
在502,在系统处接收事件数据值。事件数据值可以是来自采购系统的采购事件信息,或者来自其他类型的系统的事件数据值。
[0064]
在504,识别事件数据值中的列的列标题。至少一个列标题不被包括在由系统使用的标准行项目项中。
[0065]
在506,识别事件数据值中的列的列值。
[0066]
在508,使用一个或多个模型处理所识别的列标题和所识别的列值,以将每个列映射到由系统使用的标准行项目项。该处理可以包括使用上下文确定和内容辨识来识别标准行项目项。上下文确定可以包括基于事件数据值中的列的列名称或列标题来识别标准行项目项。内容辨识可以包括检查表格式数据输入的列内容,以推断输入到(多个)项的映射。
[0067]
一个或多个模型可以包括候选项到标准行项目项的映射。候选项可以被包括在语料库中。语料库可以包括从采购系统的产品文档、其他采购系统的文档或其他知识库中识别的项。使用一个或多个模型可以包括使用生成分布模型从数值列值推断标准行项目项。使用一个或多个模型可以包括使用朴素贝叶斯模型从文本列值中识别标准行项目项。
[0068]
在使用一个或多个模型处理之前,可以对列标题进行预处理。预处理列标题可以包括大小写标准化(case standardization)、拼写错误纠正和短语处理。
[0069]
在510,在系统中创建事件。事件可以是采购事件或其他类型的事件。行项目可以从列值创建,其中每个行项目包括被映射到列的标准行项目项。
[0070]
前述附图和伴随的描述说明了示例过程和计算机可实施的技术。但是系统100(或其软件或其他组件)预期使用、实施或执行任何合适的技术来执行这些和其他任务。应当理解,这些处理仅用于说明的目的,并且所描述的或相似的技术可以在任何适当的时间执行,包括同时地、单独地或组合地执行。此外,这些处理中的许多操作可以同时地、并发地和/或以不同于所示的次序发生。此外,系统100可以使用具有附加操作、更少操作和/或不同操作的处理,只要方法得当。
[0071]
换句话说,虽然已经根据某些实施例和通常相关联的方法描述了本公开,但是这些实施例和方法的改变和置换对于本领域技术人员来说将是明显的。因此,示例实施例的以上描述并不限定或约束本公开。在不脱离本公开的精神和范围的情况下,其他改变、替代和变更也是可能的。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1