一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

用于处理模板改变的消息映射方法和系统与流程

2023-02-19 12:52:35 来源:中国专利 TAG:

1.本披露内容涉及电子消息的监视,并且具体地涉及从使用消息模板创建的电子消息中提取信息。


背景技术:

2.从消息中提取的信息可以用于多种情况。例如,电子商务平台可以允许在平台上拥有账户的人连接他们的电子邮件账户。然后,电子商务平台可以监视送达这些电子邮件账户的部分或全部电子邮件,以便为账户持有人提供比如对购买、发货和配送进行跟踪等的增值服务。
3.为了提取信息,可以使用电子邮件提取器。电子邮件提取器是一种能够从电子邮件内容中提取相关信息的算法。例如,电子邮件提取器可以从自买方最近下订单的商家接收到的买方运输通知电子邮件中提取与订单相关的跟踪标识符、订单日期、发货日期、承运商和产品或其他信息。
4.高准确度和精确度的电子邮件提取器通常被训练为每个只解析一种特定的电子邮件模板。因此,比如被构建为解译来自买方收件箱的电子商务电子邮件的复杂电子邮件提取系统可能需要数千或数十万个电子邮件提取器,每个电子邮件提取器都被训练为从一种不同的电子邮件模板中识别特定的相关信息。


技术实现要素:

5.在一些情况下,来自利用模板生成的消息的信息可以通过利用专门用于这种模板的消息提取器来提取。然而,当商家改变消息模板时,可能很难识别合适的提取器。根据本披露内容的实施例,可以向所接收的消息分配特征值。然后可以使用该特征值与各种消息提取器的存储值进行比较,并且基于相似度指数以及可能地质量分数,可以为这种消息创建和/或使用新的消息提取器。
6.本技术的主题涉及识别要用于从所接收的消息中获取信息的消息提取器。
7.在一方面,提供了一种在计算机系统处执行的方法。该方法包括将映射函数应用于所接收的消息以创建特征值,其中,映射函数适用于将相似的消息映射到相似的特征值。该方法进一步包括将好特征值同与多个消息提取器中的每一个相关联的值进行比较,以及确定该特征值不与同多个消息提取器相关联的任何值匹配。该方法进一步包括从多个消息提取器中识别至少一个消息提取器,该识别确定同该消息提取器相关联的值与来自所接收的消息的特征值在进行比较时满足相似度准则。该方法还包括使用所识别的至少一个消息提取器从所接收的消息中提取信息。
8.在一些实施例中,该方法可以进一步包括对照已知信息字段值检查所提取的信息,以验证所识别的至少一个消息提取器正确地提取信息。
9.在一些实施例中,相似度准则包括相似度指数在距特征值阈值距离内。
10.在一些实施例中,所接收的消息是电子邮件消息,并且其中,元素包括来自使用
xpath提取的电子邮件消息的超文本标记语言(html)元素。
11.在一些实施例中,通过将来自固定长度数组的元素与同该多个消息提取器中的每一个相关联的固定长度数组进行关联来创建相似度指数。
12.在一些实施例中,识别进一步包括使用来自所接收的消息内的信息来识别至少一个消息提取器。
13.在一些实施例中,该信息包括所接收的消息中的商家名称、发件人地址、产品名称、发货人或标识符格式中的至少一者。
14.在一些实施例中,该识别进一步使用与特征值相关联的消息的数量增加或减少来识别该至少一个消息提取器。
15.在一些实施例中,该方法进一步包括为从所接收的消息中提取的信息创建质量分数;以及当该质量分数超过质量阈值时提取信息。
16.在一些实施例中,该方法进一步包括为从所接收的消息中提取的信息创建质量分数;以及将该消息提交给商务平台的运营商或接收实体中的一者以验证所接收的消息内的信息。
17.在另一方面,提供了一种计算机系统,该计算机系统包括处理器和通信子系统。该计算机系统被配置为将映射函数应用于通过通信子系统接收的所接收的消息以创建特征值,其中,映射函数适用于将相似的消息映射到相似的特征值。该计算机系统进一步被配置为将该特征值与同多个消息提取器中的每一个相关联的值进行比较,并确定该特征值不与同多个消息提取器相关联的任何值匹配。该计算机系统进一步被配置为从多个消息提取器中识别至少一个消息提取器,该识别确定同该消息提取器相关联的值与来自所接收的消息的特征值在进行比较时满足相似度准则。该计算机系统进一步被配置为使用所识别的至少一个消息提取器从所接收的消息中提取信息。
18.在一些实施例中,该计算机系统进一步被配置为对照已知信息字段值检查所提取的信息,以验证所识别的至少一个消息提取器正确地提取信息。
19.在一些实施例中,相似度准则包括相似度指数在距特征值阈值距离内。
20.在一些实施例中,所接收的消息是电子邮件消息,并且其中,元素包括来自使用xpath提取的电子邮件消息的超文本标记语言(html)元素。
21.在一些实施例中,通过将来自固定长度数组的元素与同该多个消息提取器中的每一个相关联的固定长度数组进行关联来创建相似度指数。
22.在一些实施例中,该计算机系统进一步被配置为通过使用来自所接收的消息内的信息识别至少一个消息提取器来进行识别。
23.在一些实施例中,该信息包括所接收的消息中的商家名称、发件人地址、产品名称、发货人或标识符格式中的至少一者。
24.在一些实施例中,该计算机系统进一步被配置为通过使用与特征值相关联的消息的量增加或减少识别至少一个消息提取器来进行识别。
25.在一些实施例中,该计算机系统进一步被配置为通过为从所接收的消息中提取的信息创建质量分数来使用所识别的至少一个消息提取器;以及当该质量分数超过质量阈值时提取信息。
26.在一些实施例中,该计算机系统进一步被配置为通过为从所接收的消息中提取的
信息创建质量分数来使用所识别的至少一个消息提取器;以及将该消息提交给商务平台的运营商或接收实体中的一者以验证所接收的消息内的信息。
27.在另一方面,提供了一种用于存储指令代码的非暂态计算机可读介质。该指令代码当由计算机系统的处理器执行时,使计算机系统将映射函数应用于通过通信子系统接收的所接收的消息以创建特征值,其中,该映射函数适用于将相似的消息映射到相似的特征值;将该特征值与同多个消息提取器中的每一个相关联的值进行比较;确定该特征值不与同多个消息提取器相关联的任何值匹配;从多个消息提取器中识别至少一个消息提取器,该识别确定同该消息提取器相关联的值与来自所接收的消息的特征值在进行比较时满足相似度准则;以及使用所识别的至少一个消息提取器从所接收的消息中提取信息。
28.相应地,提供了一种方法、一种计算机系统、一种计算机程序和一种计算机可读介质,如所附权利要求中详细描述的。
附图说明
29.将参考附图更好地理解本披露内容,在附图中:图1是示出能够实施本披露内容的实施例的示例电子商务系统的框图。
30.图2是示出使用图1的电子商务平台的商家的示例界面的框图。
31.图3是示出从模板创建的、嵌入有信息的第一示例消息的框图。
32.图4是示出从模板创建的、嵌入有信息的第二示例消息的框图。
33.图5是示出用于将值分配给聚类的过程的过程图。
34.图6是识别用于从所接收的消息中提取信息的至少一个消息提取器的过程图。
35.图7是示出能够与本披露内容的实施例一起使用的简化计算机设备的框图。
具体实施方式
36.现在将通过参考附图和展示描述本披露内容的各种说明性的非限制性实施例来详细描述本披露内容。然而,本披露内容可以被实施为许多不同的形式并且不应被解释为限于本文阐述的说明性实施例。相反,提供这些实施例从而使得本披露内容将是全面的,并且将向本领域技术人员充分地传达本披露内容的构思。
37.根据本披露内容的各种实施例,系统可以检测到与系统相关的消息使用了新模板。然后,如果尚未分配提取器,则系统可以识别可以用于从消息中提取信息的可能的提取器。
38.特别地,比如电子商务平台等计算机系统可以监视用户的电子邮箱或其他消息传送系统以获得特定类型的消息。这种消息通常是计算机生成的并形成电子商务交易的一部分,并且可以包括订单已下达、订单已发货、订单已配送等的消息。通常,这种消息是利用模板形成的。电子商务平台可以包括用于已知模板或模板组的消息提取器,其中,这些消息提取器可以成功地从这些消息中提取信息。
39.当模板改变时(例如,当特定发件人改变他们用于发送部分或全部消息的模板时),比如在商家轻微调整或完全改变电子邮件(比如订单确认电子邮件)的布局时,可能需要使用新的消息提取器从利用这种新模板的消息中提取信息。在其他情况下,模板的容器可能完全改变,比如商家从电子邮件通知转变为短消息服务(sms)通知。进一步,在一些情
况下,sms通知可能具有其自己的模板。
40.然而,服务于数千个供应商的电子商务平台可以具有基于已知模板的数千或数十万个消息提取器,因此合适的提取器可能很难被识别或可能不存在。其结果可能是系统不再能够从它接收到的使用商家新模板的任何订单确认电子邮件中提取内容。此外,有可能现有的电子邮件提取器都无法有效地从新的电子邮件模板中提取信息,因此可能需要新的提取器。同时,买方不再能够接收到有关该商务活动的更新。
41.下面提供了将映射函数应用于所接收的消息以创建特征值(有时也称为指纹)的系统和方法,其中,映射函数适用于将相似的消息映射到相似的特征值。然后,可以将这些特征值与同多个消息提取器中的每一个相关联的值进行比较。当特征值不与同多个消息提取器相关联的任何值匹配时,可以通过确定同消息提取器相关联的值与来自所接收的消息的特征值在进行比较时满足相似度准则来为所接收的消息找到消息提取器。然后,可以使用所识别的消息提取器从所接收的消息中提取信息。
42.示例电子商务平台尽管与商务平台集成不是必需的,但在一些实施例中,本文披露的方法可以在比如电子商务平台等商务平台上或与之相关联地执行。因此,将描述商务平台的示例。
43.图1展示了根据一个实施例的示例电子商务平台100。该电子商务平台100可以用于向客户提供商家的产品和服务。虽然本披露内容设想使用装置、系统和过程来购买产品和服务,但为了简单起见,本文的描述将涉及产品。在本披露内容中所有对产品的提及也应当理解为对产品和/或服务的提及,包括例如实体产品、数字内容(例如,音乐、视频、游戏)、软件、票证、订阅、要提供的服务等。
44.虽然本披露内容自始至终设想

商家’和

客户’可以不只是个人,但为了简单起见,本文的描述一般地涉及商家和客户本身。在本披露内容中所有对商家和客户的提及也应当理解为对个人团体、公司、企业、计算实体等的提及,并且可以代表营利性或非营利性的产品交换。进一步,虽然本披露内容自始至终涉及“商家”和“客户”,并描述他们的角色本身,但电子商务平台100应当被理解为更一般地支持电子商务环境中的用户,并且在本披露内容中所有对商家和客户的提及也应当理解为对用户的提及,比如,用户是商家用户(例如,卖方、零售商、批发商或产品提供商)、客户用户(例如,买方、购买代理、消费者或产品用户)、潜在用户(例如,正在浏览但尚未承诺购买的用户、评估电子商务平台100以潜在地用于营销和销售产品的用户等)、服务提供商用户(例如,运输提供商112、金融提供商等)、公司或企业用户(例如,购买、销售或使用产品的公司代表;企业用户;客户关系或客户管理代理等)、信息技术用户、计算实体用户(例如,用于购买、销售或使用产品的计算机器人)等。此外,可以认识到,虽然在一种背景下给定用户可以扮演给定角色(例如,作为商家)并且他们相关联的设备可以被相应地提及(例如,作为商家设备),但是在另一种背景下同一个人可以扮演不同的角色(例如,作为客户)并且同一个或另一个相关联的设备可以被相应地提及(例如,作为客户设备)。例如,一个人可以是一种类型的产品(例如,鞋子)的商家,并且是其他类型的产品(例如,杂货)的客户/消费者。在另一个示例中,一个人可以同时是同一类型产品的消费者和商家。在特定示例中,从事特定类别商品交易的商家在从批发商(批发商充当商家)进行订购时可以充当同一类别商品的客户。
45.电子商务平台100为商家提供在线服务/设施以管理他们的业务。本文描述的设施
被示出为平台100的一部分,但也可以整体或部分地被配置为与平台100分开,作为独立服务。此外,在一些实施例中,这样的设施可以另外或可替代地由一个或多个提供商/实体提供。
46.在图1的示例中,设施是通过在一个或多个处理器上执行计算机软件、模块、程序代码和/或指令的机器、服务或引擎来部署的,该一个或多个处理器可以如上所述地是平台100的一部分或在该平台外部。商家可以使用电子商务平台100来实现或管理与客户的商务,比如通过在线商店138、应用程序142a-b、渠道110a-b和/或通过物理位置的销售点(pos)设备152(比如,实体店面或其他位置,比如通过自助终端机、终端、读取器、打印机、3d打印机等)实施与客户的电子商务体验。商家可以将电子商务平台100作为与客户的唯一商务存在使用,或者与其他商家商务设施结合使用,比如通过实体店(比如,

实体(brick-and-mortar)’零售店)、商家平台外网站104(比如,与电子商务平台100分开的由商家支持或代表商家的商业互联网网站或其他互联网或网络财产或资产)、应用程序142b等。然而,即使这些

其他’商家商务设施也可以与电子商务平台100相结合或通信,比如,商家实体店中的pos设备152链接到电子商务平台100,商家平台外网站104比如通过将平台外商家网站104的内容链接到在线商店138的

购买按钮’而绑定到电子商务平台100等。
47.在线商店138可以代表包括多个虚拟店面的多租户设施。在实施例中,商家可以比如通过商家设备102(例如,计算机、膝上型计算机、移动计算设备等)配置和/或管理在线商店138中的一个或多个店面,并且通过多种不同的渠道110a-b(例如,在线商店138;应用程序142a-b;实体店面,通过pos设备152;电子市场,比如通过集成到网站或社交媒体渠道中的电子购买按钮,该按钮比如在社交网络、社交媒体页面、社交媒体消息传送系统上)向客户提供产品。商家可以跨渠道110a-b销售,然后通过电子商务平台100管理他们的销售,其中,渠道110a可以作为电子商务平台100内部或外部的设施或服务提供。另外或可替代地,商家可以在他们的实体零售店、在快闪店、通过批发、通过电话等进行销售,然后通过电子商务平台100管理他们的销售。商家可以采用这些操作模式的全部或任何组合。值得注意,可能的是,通过采用这些模式的多种和/或特定组合,商家可以提高销售概率和/或销售量。在本披露内容中,术语“在线商店138”和“店面”可以同义地使用以指代商家通过电子商务平台100的在线电子商务服务提供,其中,在线商店138可以指代由(例如,用于一个或多个商家的)电子商务平台100支持的店面集合,或指代单个商家的店面(例如,商家的在线商店)。
48.在一些实施例中,客户可以通过客户设备150(例如,计算机、膝上型计算机、移动计算设备等)、pos设备152(例如,零售设备、自助终端机、自动化(自助式)结账系统等)和/或本领域已知的任何其他商务接口设备与平台100进行交互。电子商务平台100可以使商家能够通过在线商店138、通过应用程序142a-b、通过物理位置(例如,商家的店面或其他位置)的pos设备152与客户联系,经由电子通信设施129与客户通信等,以便提供用于联系客户并促进针对可用于联系客户并与客户交互的真实或虚拟路径的商家服务的系统。
49.在一些实施例中,并且如本文进一步描述的,电子商务平台100可以通过处理设施来实施。这种处理设施可以包括处理器和存储器。处理器可以是硬件处理器。存储器可以是和/或可以包括非暂态计算机可读介质。存储器可以是和/或可以包括随机存取存储器(ram)和/或持久性存储装置(例如,磁存储装置)。处理设施可以(例如在存储器中)存储一
组指令,这些指令当被执行时使电子商务平台100执行如本文描述的电子商务功能和支持功能。处理设施可以是服务器、客户端、网络基础设施、移动计算平台、云计算平台、固定计算平台和/或其他计算平台中的一个或多个或可以是其一部分,并且可以在电子商务平台100的组件、商家设备102、支付网关106、应用程序142a-b、渠道110a-b、运输提供商112、客户设备150、销售点设备152等之间提供电子连接和通信。在一些实施方式中,处理设施可以是或可以包括协同工作的一个或多个这样的计算设备。例如,可以是多个协作计算设备充当/提供该处理设施。电子商务平台100可以实施为以下一项或多项或使用其来实施:云计算服务、软件即服务(saas)、基础设施即服务(iaas)、平台即服务(paas)、桌面即服务(daas)、管理软件即服务(msaas)、移动后端即服务(mbaas)、信息技术管理即服务(itmaas)等。例如,实现本文描述的设施的底层软件(例如,在线商店138)可以作为服务提供,并且被集中托管(例如,然后由用户通过网络浏览器或其他应用程序访问,和/或通过客户设备150、pos设备152访问等)。在一些实施例中,电子商务平台100的元件可以被实施为与各种其他平台和操作系统一起操作和/或集成。
50.在一些实施例中,电子商务平台100的设施(例如,在线商店138)可以例如通过连接到电子商务平台100的网络(使用数据134)向客户设备150提供内容。例如,在线商店138可以响应于来自客户设备150的对数据134的请求来提供或发送内容,其中,浏览器(或其他应用程序)通过使用网络通信协议(例如,互联网协议)的网络连接到在线商店138。该内容可以用机器可读语言来编写,并且可以包括超文本标记语言(html)、模板语言、javascript等和/或其任何组合。
51.在一些实施例中,在线商店138可以是或可以包括向客户设备提供内容并允许客户浏览和购买各种可获得的产品(例如,将产品添加到购物车、通过购买按钮购买等)的服务实例。商家还可以通过主题系统来定制他们网站的外观和感觉,比如在这样的主题系统中,商家可以通过在在线商店的产品信息内示出相同的底层产品和业务数据的同时改变他们的主题来选择和改变商家的在线商店138的外观和感觉。可能的是,可以进一步通过主题编辑器(即,使用户能够灵活地定制他们网站的设计的设计界面)来定制主题。另外或可替代地,可能的是,可以另外或可替代地使用主题特定的设置来定制主题,这些设置比如可以改变给定主题的方面(例如,特定的颜色、字体和预构建的布局方案)。在一些实施方式中,在线商店可以实施用于网站内容的内容管理系统。商家可以在创作博客帖子或静态页面并将它们发布到其在线商店138(比如通过博客、文章、登录页面等)、以及配置导航菜单时采用这种内容管理系统。商家可以将图像(例如,产品)、视频、内容、数据等上传到电子商务平台100,比如以供系统存储(例如,存储为数据134)。在一些实施例中,电子商务平台100可以提供用于操纵这样的图像和内容的功能,比如用于调整图像大小、将图像与产品相关联、添加文本并将文本与图像相关联、为新产品变型添加图像、保护图像等的功能。
52.如本文描述的,电子商务平台100可以通过多种不同渠道110a-b向商家提供产品的销售和营销服务,这些渠道包括例如本文描述的在线商店138、应用程序142a-b、以及通过实体pos设备152。电子商务平台100可以另外或可替代地包括与经营在线业务(比如提供与他们的在线商店相关联的域注册服务118、用于促进与客户的交易的支付服务120、用于为所购买的产品提供客户运输选项的运输服务122、用于管理库存的履行服务、与产品保护和责任相关联的风险和保险服务124、商家账单等中的一个或多个)相关联的业务支持服务
116、管理员114、仓库管理系统等。服务116可以经由电子商务平台100提供或与外部设施相关联地提供,比如通过用于支付处理的支付网关106、用于加快产品运输的运输提供商112等提供。
53.在一些实施例中,电子商务平台100可以配置有运输服务122(例如,通过电子商务平台运输设施或通过第三方承运商),以向商家和/或他们的客户提供各种运输相关信息,比如运输标签或运费信息、实时配送更新、跟踪等。
54.图2描绘了管理员114的主页的非限制性实施例。管理员114可以被称为管理控制台和/或管理员控制台。管理员114可以示出关于日常任务、商店最近的活动以及商家为建立其业务可以采取的后续步骤的信息。在一些实施例中,商家可以经由商家设备102(例如,台式计算机或移动设备)登录到管理员114,并管理他们的在线商店138的各方面,比如查看在线商店138的最近访问或订单活动,更新在线商店138目录,管理订单等。在一些实施例中,商家可能能够通过使用侧边栏(比如图2所示的侧边栏)来访问管理员114的不同部分。管理员114的各部分可以包括用于访问和管理商家业务的核心方面(包括订单、产品、客户、可获得的报告和折扣)的各种界面。管理员114可以另外或可替代地包括用于管理商店的销售渠道的界面,这些销售渠道包括在线商店138、客户可用于访问商店的(多个)移动应用程序(移动app)、pos设备和/或购买按钮。管理员114可以另外或可替代地包括用于管理安装在商家账户上的应用程序(app)的界面;以及应用于商家的在线商店138和账户的设置。商家可以使用搜索栏来查找其商店中的产品、页面或其他信息。
55.关于商家在线商店138的商务和访客的更详细信息可以通过报告或指标来查看。报告可以包括例如客流量报告、行为报告、客户报告、财务报告、营销报告、销售报告、产品报告和定制报告。商家可能能够比如通过使用下拉菜单来查看不同时间段(例如,数天、数周、数月等)的不同渠道110a-b的销售数据。还可以为想要更详细地查看商店的销售和参与度数据的商家提供数据概览。可以在主页指标部分中提供活动源以展示商家账户上的活动的概览。例如,通过点击“查看最近的所有活动”数据面板按钮,商家可能能够看到他们的账户上时间更长的最近活动源。主页可以比如基于账户状态、增长情况、最近客户活动、订单更新等示出关于商家的在线商店138的通知。可以提供通知以帮助商家导航通过被配置用于在线商店138的工作流,比如支付工作流、订单履行工作流、订单归档工作流、退货工作流等。
56.电子商务平台100可以提供通信设施129和相关联的商家接口以提供电子通信和营销,比如使用电子消息传送设施来收集和分析商家、客户、商家设备102、客户设备150、pos设备152等之间的通信交互,以聚合和分析通信,比如从而提高销售转化等。例如,客户可能有与产品相关的问题,这可能在客户与商家(或代表商家的基于自动化处理器的代理/聊天机器人)之间产生对话,在这种情况下,通信设施129被配置为向客户请求提供自动化响应和/或向商家提供关于如何响应例如以提高销售概率的建议。
57.电子商务平台100可以提供用于与客户进行安全金融交易的金融设施120,比如通过安全的卡服务器环境。比如在支付卡行业数据(pci)环境(比如,卡服务器)中,电子商务平台100可以存储信用卡信息,以查核财务、向商家开账单、执行电子商务平台100与商家的银行账户之间的自动清算所(ach)转移等。金融设施120还可以向商家和买方提供金融支持,比如通过借贷资金(例如,借贷款项、现金预付等)和提供保险。在一些实施例中,在线商
店138可以支持多个独立管理的店面并且每天为各种产品和服务处理大量交易数据。交易数据可以包括:指示客户、客户账户或客户进行的交易的任何客户信息(比如,联系信息、账单信息、运输信息、退货/退款信息、折扣/优惠信息、支付信息)或在线商店事件或信息(比如页面浏览量、产品搜索信息(搜索关键字、点击事件)、产品评论、弃购)和/或与通过电子商务平台100的业务相关联的其他交易信息。在一些实施例中,电子商务平台100可以将该数据存储在数据设施134中。再次参考图1,在一些实施例中,电子商务平台100可以包括商务管理引擎136,该商务管理引擎比如可以被配置为执行各种工作流以进行与产品、库存、客户、订单、供应商、报告、财务、风险和欺诈等相关的任务自动化或内容管理。在一些实施例中,附加功能可以另外或可替代地通过应用程序142a-b提供,以实现适应不断增长的各种在线商店、pos设备、产品和/或服务所需的更大灵活性和定制。应用程序142a可以是电子商务平台100的组件,而应用程序142b可以作为电子商务平台100外部的第三方服务来提供或托管。商务管理引擎136可以适应商店特定工作流,并且在一些实施例中,可以结合管理员114和/或在线商店138。
58.将功能实施为应用程序142a-b可以使商务管理引擎136能够保持响应性,并减少或避免服务降级或更严重的基础设施故障等。
59.尽管隔离在线商店数据对于维护在线商店138与商家之间的数据隐私可能很重要,但也可能有理由收集和使用跨商店数据,例如,对于订单风险评估系统或平台支付设施而言,这两者都需要来自多个在线商店138的信息才能很好地执行。在一些实施例中,将这些组件移出商务管理引擎136并移入电子商务平台100内的它们自己的基础设施中可能是优选的。
60.平台支付设施120是利用来自商务管理引擎136的数据但被实施为单独的组件或服务的组件的示例。平台支付设施120可以允许与在线商店138交互的客户将其支付信息由商务管理引擎136安全地存储,使得客户只需输入支付信息一次。当客户访问不同的在线商店138时,即使他们以前从未到过那里,平台支付设施120也可以调用他们的信息以实现更快速和/或潜在地更不容易出错(例如,通过避免客户替代地需要重新输入其信息的情况下他们可能对信息的错误键入)的结账。这可以提供跨平台网络效果,在这种情况下,电子商务平台100随着更多商家和买方加入而变得对其商家和买方更有用,比如因为有更多的客户因为客户购买方面的易用性而更频繁地结账。为了最大化该网络的效果,给定客户的支付信息可以是可取得的并且跨多个在线商店138全局可用。
61.对于未包括在商务管理引擎136内的功能,应用程序142a-b提供了一种向电子商务平台100或各个在线商店138添加特征的方式。例如,应用程序142a-b可能能够访问和修改商家在线商店138上的数据,通过管理员114执行任务,通过用户界面(其例如通过扩展/api呈现)为商家实施新的流等。可以使商家能够通过应用程序搜索、推荐和支持128来发现和安装应用程序142a-b。在一些实施例中,可以开发商务管理引擎136、应用程序142a-b和管理员114以便一起工作。例如,可以在商务管理引擎136内部构建应用程序扩展点,应用程序142a和142b可以通过接口140b和140a访问这些应用程序扩展点以提供附加功能,并且这些应用程序扩展点可以在管理员114的用户界面中被呈现给商家。
62.在一些实施例中,应用程序142a-b可以通过接口140a-b向商家提供功能,比如应用程序142a-b能够向商家呈现交易数据(例如,app:“引擎,在移动app或管理员114中呈现
我的app数据”),和/或商务管理引擎136能够要求应用程序根据需求执行工作(引擎:“app,给我这次结账的本地税费计算”)。
63.应用程序142a-b可以通过接口140a-b(例如,通过rest(代表性状态转移)和/或graphql api)而连接到商务管理引擎136,以便将通过商务管理引擎136和在该商务管理引擎内可用的功能和/或数据暴露于应用程序的功能。例如,电子商务平台100可以提供用于应用程序142a-b api的接口140a-b,这些应用程序可以连接到平台100外部的产品和服务。通过应用程序和api的使用而提供的灵活性(其例如是为应用程序开发而提供的)使电子商务平台100能够更好地适应商家的新的和独特的需求或解决特定的使用情况,而无需不断改变商务管理引擎136。例如,运输服务122可以通过运输或承运商服务api与商务管理引擎136集成,从而使电子商务平台100能够提供运输服务功能而不直接影响在商务管理引擎136中运行的代码。
64.取决于实施方式,应用程序142a-b可以利用api按需求拉取数据(例如,客户创建事件、产品改变事件或订单取消事件等)或在发生更新时推送数据。订阅模型可以用于在发生事件时将事件提供给应用程序142a-b,或用于提供关于商务管理引擎136的改变后的状态的更新。在一些实施例中,当与更新事件订阅相关的改变发生时,商务管理引擎136可以发布请求,比如发布到预定义的回调url。该请求的主体可以包含对象的新状态和动作或事件的描述。更新事件订阅可以在管理员设施114中手动创建,或(例如,经由api 140a-b)自动创建。在一些实施例中,更新事件可以排队并与触发更新事件的状态改变异步地处理,这可以产生并未实时或接近实时分发的更新事件通知。
65.在一些实施例中,电子商务平台100可以提供应用程序搜索、推荐和支持128中的一个或多个。应用程序搜索、推荐和支持128可以包括:用于帮助应用程序的开发的开发者产品和工具、应用程序数据面板(例如,向开发者提供开发界面、向管理员提供应用程序管理、向商家提供应用程序定制等)、用于安装和提供关于提供对应用程序142a-b的访问权限的设施(例如,用于公共访问,比如在安装之前必须满足标准的情况,或供商家私用),为了使商家易于搜索满足其在线商店138需求的应用程序142a-b的应用程序搜索、用于向商家提供关于他们可以如何通过其在线商店138改善用户体验的建议的应用程序推荐等。在一些实施例中,应用程序142a-b可以被分配应用程序标识符(id),比如用于链接到应用程序(例如,通过api)、搜索应用程序、进行应用程序推荐等。
66.应用程序142a-b可以大致分组为三类:面向客户的应用程序、面向商家的应用程序、集成应用程序等。面向客户的应用程序142a-b可以包括在线商店138或渠道110a-b,其是商家可以列出产品以供购买的地方(例如,在线商店、用于限时抢购的应用程序(例如,商家产品或来自第三方来源的机会性销售机会)、移动商店应用程序、社交媒体渠道、用于提供批发购买的应用程序等)。面向商家的应用程序142a-b可以包括允许商家管理其在线商店138(例如,通过与网络或网站相关或与移动设备相关的应用程序)、经营其业务(例如,通过与pos设备相关的应用程序)、发展其业务(例如,通过与运输(例如,代发货)相关的应用程序、使用自动化代理、使用过程流开发和改进)等的应用程序。集成应用程序可以包括提供参与业务经营的有用集成的应用程序,比如运输提供商112和支付网关106。
67.这样,电子商务平台100可以被配置为通过灵活的系统架构提供在线购物体验,该系统架构使商家能够以灵活且透明的方式与客户连接。通过实施例的示例购买工作流程可
以更好地理解典型的客户体验,在示例购买工作流程中,客户在渠道110a-b上浏览商家的产品,将打算购买的产品添加到购物车,进行结账,并且为购物车的内容付款,从而为商家创建订单。然后,商家可以审查和履行(或取消)订单。然后将产品配送给客户。如果客户不满意,他们可能会将产品退回给商家。
68.在示例实施例中,客户可以通过多个不同的渠道110a-b(比如商家的在线商店138;实体店面,通过pos设备152;电子市场,通过集成到网站或社交媒体渠道中的电子购买按钮)浏览商家的产品。在一些情况下,渠道110a-b可以被建模为应用程序142a-b。商务管理引擎136中的展销组件可以被配置用于(例如使用产品数据对象或模型)创建和管理产品列表,以允许商家描述他们想要销售什么以及他们在哪里进行销售。产品列表与渠道之间的关联可以被建模为产品公布,并通过渠道应用程序(比如经由产品列举api)访问。产品可以具有许多属性和/或特性(如尺寸和颜色)以及许多变型,这些变型将可用选项扩充为所有属性的特定组合,例如尺寸为超小号的绿色变型或尺寸为大号的蓝色变型。产品可能具有为没有任何选项的产品创建的至少一个变型(例如,“默认变型”)。为了促进浏览和管理,可以将产品分组为集合、为产品提供产品标识符(例如,货号(sku))等。产品的集合可以通过将产品手动分类为一种(例如,定制集合)、通过构建用于自动分类的规则集(例如,智能集合)等来构建。产品列表可以包括2d图像、3d图像或可以通过虚拟现实或增强现实接口等进行查看的模型。
69.在一些实施例中,购物车对象用于存储或跟踪客户打算购买的产品。购物车对象可以是渠道特定的,并且可以由多个购物车订单项组成,其中每个购物车订单项跟踪特定产品变型的数量。由于将产品添加到购物车并不意味着来自客户或商家的任何承诺,并且购物车的预期有效期可能是几分钟(而不是几天)的数量级上,因此表示购物车的购物车对象/数据可以被持久化到临时数据存储中。
70.然后客户进行结账。由商务管理引擎136生成的结账对象或页面可以被配置为接收客户信息以完成订单,比如客户联系信息、账单信息和/或运输细节。如果客户输入他们的联系信息但并未进行支付,则电子商务平台100可以(例如,经由弃单组件)向客户设备150发送消息以鼓励客户完成结账。由于这些原因,结账对象的有效期可能比购物车对象长得多(数小时或甚至数天),并且因此可能会持续存在。然后,客户为其购物车中的内容付款,从而为商家创建订单。在一些实施例中,商务管理引擎136可以被配置为经由支付处理组件与各种支付网关和服务106(例如,在线支付系统、移动支付系统、数字钱包、信用卡网关)通信。可以通过卡服务器环境提供与支付网关106的实际交互。在结账过程结束时会创建订单。订单是商家与客户之间的销售合同,其中商家同意提供订单上列出的商品和服务(例如,订单订单项、运输订单项等)并且客户同意提供支付款项(含税)。一旦创建了订单,就可以向客户发送订单确认通知,并且经由通知组件向商家发送订单下达通知。当支付处理作业开始时,可以保留库存以避免过度销售(例如,商家可以使用针对每种变型的库存策略或配置来控制这种行为)。库存保留可能具有很短的时间跨度(几分钟),并且可能需要非常快速且可扩展以支持限时抢购或“限量销售(drop)”,在这些事件期间,会在特定位置和/或在特定(通常很短)时间内向买方提供产品的折扣、促销或有限库存以供销售。如果支付失败,则取消保留。在支付成功并创建订单后,保留将被转换为分配到特定位置的持久(长期)库存承诺。商务管理引擎136的库存组件可以记录变型的贮存位置,并且可以跟踪启用
了库存跟踪的变型的数量。该组件可以将产品变型(表示产品列举模板的面向客户的概念)与库存项目(表示数量和位置受到管理的项目的面向商家的概念)分离。库存水平组件可以跟踪可用于销售、对订单承诺或从库存转移组件(例如,供应商)传入的数量。
71.然后,商家可以审查和履行(或取消)订单。商务管理引擎136的审查组件可以实施商家用于在实际履行订单之前确保订单是适合于履行的业务过程。订单可能是欺诈性的,可能需要验证(例如,id检查),可能具有需要商家等待以确保他们将接收到其款项的支付方法等。订单风险模型中可以持续存在风险和推荐。订单风险可以由欺诈检测工具生成、由第三方通过订单风险api提交等。在进行履行之前,商家可能需要在将订单标记为已支付之前捕获支付信息(例如,信用卡信息)或等待接收支付信息(例如,经由银行转账、支票等)。现在,商家可以准备要配送的产品。在一些实施例中,该业务流程可以由商务管理引擎136的履行组件来实施。履行组件可以基于库存位置和履行服务将订单的订单项分组形成逻辑履行工作单元。商家可以审查、调整工作单元并触发相关的履行服务,比如在商家拣选产品并将其打包到箱子中、购买运输标签并输入其跟踪编号时(例如,在商家所管理的位置)使用的手动履行服务,或是仅将项目标记为已履行。可替代地,api履行服务可以触发第三方应用程序或服务以便为第三方履行服务创建履行记录。履行订单存在其他可能性。如果客户不满意,他们可以将(多个)产品退回给商家。商家“取消销售”货品的业务过程可以通过退货组件来实施。退货可以包括各种不同的动作,比如:重新入库,此时曾被售出的产品实际上返回企业并可再次销售;退款,部分或全部退还从客户处收取的钱款;核算调整,记录退款金额(例如,包括是否存在任何重新入库的费用、或商品是否未被退回并留在客户手中);等。退货可以表示对销售合同(例如,订单)的改变,并且在这种情况下,电子商务平台100可以使商家意识到关于法律义务(例如,关于税费)的合规问题。在一些实施例中,电子商务平台100可以使商家能够随时间的推移跟踪销售合同,比如通过销售模型组件(比如,记录发生在货品上的销售相关事件的基于日期的仅追加分类账)来实施。
72.消息模板如上所提供的,电子商务平台(比如关于图1所描述的电子商务平台)可以允许在平台上拥有账户的那些人连接他们的消息传送账户。消息传送账户可以包括电子邮件账户、文本消息账户或商家可以利用其向客户发送消息的任何其他类型的账户。出于说明目的,本披露内容关于电子邮件账户进行描述。然而,这是非限制性的,并且相同的原则可以适用于其他类型的消息传送账户。
73.然后,电子商务平台可以监视送达这些电子邮件账户的部分或全部消息,以便为账户持有人提供比如对购买、运输和配送进行跟踪等的增值服务。
74.通常,这种消息将由计算机使用模板生成。模板指示消息的结构或布局。例如,参考图3。
75.在图3的示例中,消息300可以被电子商务平台的账户持有人接收。账户持有人已订阅电子商务平台以监视交易,并且在这方面,消息300可以被电子商务平台分析。
76.消息300来自使用第一模板的供应商。特别地,消息300是指示产品已经发货或即将发货的运输通知。消息中的各个字段由生成消息的计算机填充,并且模板的其余部分在消息之间保持不变。例如,消息300的模板包括姓名字段310、发货日期312、运输到地址块314、以及以针对发货人318的url 316示出的运输编号的url。
77.参考图4,提供了由电子商务平台的账户持有人接收的另一示例电子邮件。在图4的示例中,消息400也是指示订单已经发货的发货通知。消息400来自不同的供应商并使用与图3的模板不同的模板,并且具有比如订单编号410、配送日期412、具有唯一url的块或按钮414、运输目的地416、订单价格420、发货人422和跟踪编号424等的各种字段。
78.当比较图3和图4所示的模板的实施例时,这两个模板的结构是完全不同的。每封电子邮件都具有独特的布局、超文本标记语言(html)和/或可扩展标记语言(xml)结构,并且具有不同的xml路径(xpath)。特别地,xpath是用于使用xml路径表达式在xml文件中查找任何元素的语法或语言。
79.进一步,尽管图3和图4的实施例示出了发货通知,但是来自供应商的其他消息可以包括订单确认消息、订单处理通知、即将配送通知、配送通知等。每个消息都可以分配有不同的模板。
80.进一步,供应商可以取决于比如客户所在的国家或地区、特定交易涉及的产品或服务类型等其他因素,基于消息的接收方等使用不同的通知模板。例如,如果产品将被运输给加拿大的客户,则通知消息可以同时使用英语和法语,而给美国客户的通知可以仅使用英语,或者在某些情况下使用英语和西班牙语。如果客户是忠诚度计划的成员,则使用的模板可以包括围绕交易的忠诚度奖励的字段和措辞。其他因素也是可能的。因此,每种情况都可能使用不同的模板。
81.可以使用模板的结构来将模板分配到称为聚类的组中并且向这种聚类分配值。
82.聚类和聚类值在一些情况下,不同的供应商可能使用相同的模板。例如,当供应商是电子商务平台的一部分时,作为其服务的一部分,该电子商务平台可以提供各种模板,供应商可以将这些模板用于他们店面的通知。在其他情况下,相关的公司可以使用相同的通知模板。重复使用模板的其他选项也是可能的。
83.在这方面,可以将模板可以分配到本文称为聚类的逻辑组中。可以将利用相同模板的一组电子邮件分组或分类到这种聚类中,并且可以向这种聚类分配如下定义的一个或多个电子邮件提取器。
84.每个聚类可以分配有值。具体地,参考图5,该图示出了用于向聚类分配值的过程。
85.图5的过程开始于框510,并且进行到框520,在该框中,从消息中提取特性。
86.基于在框520处提取的特性,可以在框522处进行检查以确定聚类对于消息特性是否为已知的。如果是,过程进行到框530并结束。
87.相反,如果聚类是未知的,则过程进行到框540,在该框中,可以创建聚类。然后,过程进行到框542,在该框中,向聚类分配值。可以采用各种方式来分配该值。
88.在一个实施例中,该值可以是模板中元素的散列。例如,利用图3的消息模板,电子邮件模板的xpath为:
表1:电子邮件模板的示例xpath因此,在一个实施例中,聚类的值可以基于用于该聚类的主电子邮件模板的xpath的最小散列(minhash)。最小散列是用于估计两个集合的相似程度的算法,并且在一些情况下可以针对给定输入生成固定长度的值数组。例如,表1中的xpath可以用于最小散列函数,其中,输出被定义为固定大小的值数组,例如,128个值。然而,这是非限制性的并且其他长度也是可能的。这种最小散列函数的输出可以是:
表2:表1的xpath的示例最小散列因此,表2的数组可以是在框542处分配给包含图3的电子邮件消息模板的聚类的值。
89.然而,在框542处使用最小散列来计算值仅是示例。在其他情况下,可以使用其他技术生成值。例如,可以使用编码器,该编码器使用自然语言处理机器学习(ml)模型。这种编码器可以利用数百万封原始电子邮件进行训练,以获得其自己的对电子邮件和结构的理解。这种编码器可以向聚类分配值,随后可以使用余弦相似度将用于传入电子邮件的值与形心匹配。
90.在其他情况下,可以使用其他值分配过程。
91.一旦在框542处分配了值,过程就进行到框530并结束。
92.图5的过程可以例如在无论何时创建新聚类时使用。如果需要向系统中的多于一个聚类分配值,则可以针对每个聚类重复图5的过程。
93.消息提取器消息提取器是用于从消息中查找信息的算法、代码段或程序。消息提取器可以针对模板专门定制或编程,以允许程序快速准确地找到比如电子商务平台等计算机系统所期望的信息元素。
94.电子邮件提取器提取的信息元素可以基于所接收的消息类型和该消息内的信息类型进行配置。进一步,某些信息可能与电子商务平台或计算机系统相关,而其他信息可能无关,因此在一些情况下,可以定制消息提取器以仅获取相关信息。
95.利用图3中的示例消息,关于表3展示了一种简化的消息提取器。
96.表3:简化的消息提取器的示例如在表3的示例中可以看出,由比如电子商务平台等计算机系统从图3的消息中找到的信息包括跟踪编号和跟踪url。这些元素的位置在消息内作为xpath提供。然而,这仅是示例,并且对消息模板内的所期望信息的识别可以以其他方式完成,比如相对位置、基于消息内的标签等。
97.进一步,在表3的示例中,电子商务平台可能还需要关于承运商的信息。然而,在这种情况下,消息不包括这种信息,因此根据表3的示例,该值被赋予空值。在其他情况下,消息提取器可以简单地忽略不可获得的信息。其他选项也是可能的。
98.基于表3的简化消息提取器,从图3的消息中提取的信息在下面的表4中提供。
99.表4:来自表3的消息提取器的信息而表3的示例提取器和表4的结果提供了跟踪编号和跟踪url。在其他示例中,计算机系统或电子商务平台可能期望对照客户的登记收货地址来检查收货地址,因此可以从消息300中提取收货地址314。在其他情况下,可以提取日期312。在一些情况下,可以将更复杂的算法应用于数据,并且可能需要提取更多或更少的数据字段。因此,提供表3的示例仅被提供用于说明的目的。
100.从表3的示例中可以看出,消息提取器是在系统接收到消息时可以快速对消息运行的程序,并且消息提取器是通过利用消息中要提取的信息的位置而针对模板定制的。这确保了在短时间内处理数千或数十万条消息时高效利用计算资源。
101.出于这个原因,高准确度和精确度的电子邮件提取器通常被训练为每个只解析一种特定的电子邮件模板。因此,比如被构建为解译来自买方收件箱的电子商务电子邮件的复杂电子邮件提取系统可能需要数千或数十万个电子邮件提取器,每个电子邮件提取器都被训练为从一种不同的电子邮件模板中识别特定的相关信息。
102.当电子邮件模板改变时,比如当商家轻微调整或完全改变电子邮件(比如订单确认电子邮件)的布局时,合适的提取器可能很难被识别或可能不存在。其结果是系统不再能够从它接收到的使用商家新模板的任何订单确认电子邮件中提取内容。此外,有可能现有
的电子邮件提取器甚至都无法有效地从新的电子邮件模板中提取信息,因此可能需要新的提取器。
103.然而,由于可能存在数千或数十万个提取器,因此针对新模板尝试每个提取器在计算上效率不高。因此,本文提供了在识别新模板时以编程方式高效地识别或生成提取器的技术。
104.查找匹配提取器存在用于识别新消息模板已被引入计算机系统的各种技术。在第一实施例中,识别可以在逐个消息的基础上完成,其中,向所接收的消息分配值,并将该值与聚类值进行比较以找到消息提取器。
105.在另一实施例中,可以将特定聚类的消息量与历史量进行比较,如果注意到特定聚类的显著减少,这可以指示与该聚类相关联的(多个)商家可能已经改变了他们的模板。在确定是否经历显著下降时,该实施例可以考虑比如星期几、一年中的哪一天、重要购物日以及其他信息等因素。在这些实施例中,显著下降例如可以是大于阈值百分比的下降。
106.在一个实施例中,可以检测到聚类提供的信息量下降,而不是流量下降。例如,如果聚类提供的信息较少,则这可以指示信息被传送到其他地方。
107.因此,根据该实施例,提供了这样的系统,该系统可以检测:到新的聚类中的电子邮件量的骤变或来自聚类的信息的减少,并且如果尚未分配提取器,则识别可以用于从新的电子邮件中提取信息的可能提取器。
108.每个过程都在下文中进行了描述。
109.特别地,现在参考图6。在图6的实施例中,过程开始于框610,并且进行到框620,在该框中,可以将映射函数应用于所接收的消息以创建这种消息的特征值。例如,映射函数可以是上面关于表2描述的xpath最小散列函数。在其他情况下,映射函数可以是应用于消息的自然语言处理算法。在其他情况下,也可以使用其他类型的映射函数。
110.映射函数创建特征值,特征值然后可以用于识别聚类和一个或多个对应的消息提取器。特别地,从框620,过程进行到框630以检查特征值是否与任何提取器值匹配。例如,这可以通过检查消息的最小散列值数组与聚类和与其相关联的提取器的值数组来完成。比较可以不需要完全匹配,但是在一些情况下,可能需要根据指定阈值的足够接近的匹配。
111.例如,利用上面的最小散列示例,最小散列将在数组中生成128个值。因此,如果消息的特征值是128个值的数组,并且与聚类相关联的值是128个值的数组,则可以将每个值与另一个数组中对应位置的值进行比较。如果阈值数量的值匹配,则这可以指示特征值与提取器值匹配。
112.类似地,自然语言处理可以创建值,该值然后可以在余弦相似度的基础上与每个提取器的值进行比较,以查找是否存在匹配。在这种情况下,如果在应用余弦相似度函数时特征值高于阈值,则可能存在匹配。
113.在框630处,用于确定特征值与提取器的值是否匹配的其他技术也是可能的。
114.从框630,如果存在匹配,则过程进行到框632,在该框中,使用在框630处找到的(多个)消息提取器从消息中提取所期望的信息。然后,过程进行到框640并结束。
115.代替框620和630处的过程,在一些情况下,可以监视聚类的使用以确定是否检测到放置到聚类中的消息数量的下降或来自消息的信息的减少。例如,这可以在零售商改变
通知模板时发生。使用原始模板时去往原始聚类的消息将经历下降,而新聚类的消息将经历成比例的上升。新聚类可能存在也可能不存在于系统内。因此,在一个实施例(未示出)中,计算机系统可以监视每个聚类处理的消息量,并记录任何特定聚类中预期消息数量的任何下降。计算机系统可以进一步监视新聚类的任何上升或创建。一个聚类中消息的下降和另一个聚类中的创建或上升可以指示模板改变。在这种情况下,计算机系统可以执行检查以确定新聚类是否已经在系统中并且具有可以用于所接收的消息的提取器。如果是,则过程将进行到框632,在该框中,可以使用已知消息提取器从所接收的消息中提取相关信息。
116.如本领域技术人员将理解的,在聚类中看到的消息数量的上升或下降可能受到外部因素的影响,计算机系统可以考虑这些外部因素。例如,聚类可能在一年中的某些天(如黑色星期五或网络星期一)经历显著上升。一周中的某些天可能在历史上具有较多或较少的消息量,并且计算机系统也可以使用这些历史值来确定是否经历了量的下降。在确定聚类的消息量是否改变时,也可以考虑其他因素。
117.再次参考图6,如果基于单个消息或聚类确定特征值不与任何提取器值匹配,则过程从框630进行到框650,在该框中,可以基于相似度准则识别至少一个消息提取器。
118.具体地,由于当前尚未向所接收的消息或新聚类分配消息提取器,因此系统需要识别将起作用的现有提取器或创建新的消息提取器。然而,在计算上,针对所接收的消息运行系统中的所有消息提取器以确定是否成功提取所需的信息将是非常漫长的过程。考虑到在典型电子商务平台上所接收的消息量,这种处理可能导致显著延迟、消息丢失或花费大量资源来提供所需的处理能力、以及其他困难。替代地,本披露内容提供了对消息提取器的更集中的搜索。
119.具体地,根据本披露内容的实施例,可以将获得的所接收的消息的特征值与同现有消息提取器相关联的值进行比较,以识别可以尝试使用的消息提取器的子集。
120.在一个实施例中,可以通过查找超过相似度指数的消息提取器来识别消息提取器。再次使用最小散列示例,可以在特征值的数组与多个消息提取器的数组之间进行比较。如果两个数组之间的匹配数量超过相似度指数,则可以尝试这种消息提取器。
121.在其他情况下,可以使用余弦相似度值。
122.在其他情况下,可以使用杰卡德相似度。也可以进行其他相似度比较。
123.框650处的识别可以识别一个或多个消息提取器。例如,如果有多个消息提取器匹配相似度指数,在一些情况下,可以尝试高于相似度指数的每个消息提取器。在其他情况下,如果高于相似度指数的消息提取器的数量太多,则可以尝试所识别的消息提取器的子集。
124.进一步,还可以使用次要因素帮助识别消息提取器。例如,如果注意到一个聚类的量突然增加(这可能与另一个聚类的减少相对应),则这可以指示来自减少的聚类的电子邮件的模板可能已经改变,并且可以将减少的聚类的提取器添加到所识别的一个或多个提取器中。
125.在其他情况下,可以使用比如商家名称、主题行、发件人电子邮件地址、产品名称、运输标识符的长度和数量等证据来进行向所识别的一个或多个提取器的添加。
126.在一些情况下,也可以将通用提取器或泛(catch-all)提取器和/或自动提取器添
加到所识别的一个或多个提取器中。
127.一旦识别了一个或多个提取器,就可以使用这些提取器从消息中提取信息,如框660所示。例如,在一些情况下,可以将具有最高相似度指数的聚类绑定到所接收的消息或所接收的消息的聚类。例如,在一些情况下,这种绑定可以是暂时的,直到找到更好的消息提取器为止。
128.可选地,还可以基于各种因素为所提取的信息赋予“质量分数”。例如,如果预期提取x值,但使用提取器仅找到x-y值,则这会降低质量指数。在一些情况下,每个预期字段可以被赋予权重,而质量分数可以受到缺失字段的权重的影响。
129.还可以使用比如来自特定商家的数据的已知格式等外来证据查找质量分数。
130.在一些情况下,还可以使用在从多个提取器获得的值之间进行的比较。
131.如果在一些情况下来自一个提取器的质量分数,或者在其他情况下来自多个提取器的值的质量分数超过阈值,则可以向消息标识符分配新的提取器,并且新的提取器可以立即开始解析这些消息。
132.在一些情况下,新的提取器可以是两个或更多个先前提取器的组合或其部分,以便找到预期值字段。因此,可以基于多个先前已知的消息提取器创建新的消息提取器,其中可以组合这些先前已知的消息提取器的产生期望数据的部分。
133.在一些情况下,可以基于对现有提取器的修改并进一步基于与计算出的原始提取器模板与新模板之间的差异有关的信息来创建新的提取器。具体地,可以使用关于新模板与旧模板之间差异的信息来修改提取器。例如,可以将xpath的根改变为更新的结构,然后可以在新模板上尝试新的提取器。其他示例也是可能的。
134.图6的实施例中的框652示出了这种可选的质量检查,其中,仅当质量检查超过阈值时才执行框660处的使用所识别的至少一个消息提取器。如果不超过,则可以在框650处识别更多的消息提取器。
135.进一步,在一些情况下,可以通过使用其他信息源来提高质量,比如商家平台的运营商识别信息元素或众包以验证信息元素。例如,当识别出新的聚类时,可以向电子商务平台的运营商发出请求以验证提取器正在正常工作。在其他情况下,可以查询原始消息的接收者以确定消息内所识别的信息是否正确。在其他情况下,可以通过博客或质量控制网站完成众包以请求验证。其他选项也是可能的。因此,这可以用于基于先前的消息提取器创建新的消息提取器。
136.在一些情况下,对其他信息源的请求的紧急性可以与计算机系统内具有相同标识符的电子邮件消息的量相关。
137.上面讨论的方法是计算机实施的方法并且需要计算机来实施/使用。这种计算机系统可以在任何类型的网络元件或计算设备或其组合上实施。例如,关于图7提供了可以执行本文描述的所有或部分实施例的一种简化计算设备。
138.在图7中,计算设备710包括处理器720和通信子系统730,其中,处理器720和通信子系统730协作以执行本文描述的实施例的方法。
139.处理器720是被配置为执行可编程逻辑,该可编程逻辑可以与数据一起存储在计算设备710上,并且在图7的示例中被示出为存储器740。存储器740可以是任何有形的非暂态计算机可读存储介质,比如dram、闪存、光学驱动器(例如,cd、dvd等)、磁性驱动器(例如,
磁带)、闪存驱动器、硬盘驱动器或本领域已知的其他存储器。在一个实施例中,处理器720也可以完全以硬件实施并且不需要任何存储的程序来执行逻辑功能。存储器740可以存储指令代码,该指令代码当由处理器720执行时使计算设备710执行本披露内容的实施例。
140.可替代地或除了存储器740之外,计算设备710可以例如通过通信子系统730从外部存储介质访问数据或可编程逻辑。
141.通信子系统730允许计算设备710与其他设备或网络元件通信。在一些实施例中,通信子系统730包括接收器或收发器,包括但不限于以太网、光纤、通用串行总线(usb)、蜂窝无线电收发器、wi-fi收发器、蓝牙收发器、蓝牙低功耗收发器、gps接收器、卫星收发器、irda收发器等。如本领域技术人员将理解的,通信子系统730的设计将取决于交易设备预期参与的通信类型。
142.在一个实施例中,计算设备710的各个元件之间的通信可以通过内部总线760进行。然而,其他形式的通信也是可能的。
143.本文所描述和描绘的元素,包括在所有附图中的流程图和框图中的元素,暗示了元素之间的逻辑边界。然而,根据软件或硬件工程实践,所描绘的元素及其功能可以通过计算机可执行介质在具有处理器的机器上实施,该处理器能够执行作为单片软件结构、作为独立软件模块、或作为采用外部例程、代码、服务等的模块、或者作为以上的任何组合而存储于其上的程序指令,并且所有这样的实施方式都在本披露内容的范围内。这种机器的示例可以包括但不限于个人数字助理、膝上型计算机、个人计算机、移动电话、其他手持式计算设备、医疗设备、有线或无线通信设备、换能器、芯片、计算器、卫星、平板pc、电子书、小工具、电子设备、具有人工智能的设备、计算设备、联网设备、服务器、路由器等。此外,在流程图和框图中所描绘的元素或任何其他逻辑部件可以在能够执行程序指令的机器上实施。因此,虽然以上附图和描述阐述了所披露系统的多个功能方面,但除非明确说明或以其他方式从上下文清楚地看出,否则不应从这些描述中推断用于实施这些功能方面的软件的具体布置。类似地,将理解的是,上文所标识和描述的各个步骤都是可以改变的,并且这些步骤的顺序可以适于本文所披露的技术的特定应用。所有这样的改变和修改均旨在落入本披露内容的范围之内。这样,对各个步骤的顺序的描绘和/或描述不应该被理解为要求按特定顺序执行这些步骤,除非特定应用要求、或者明确声明或以其他方式从上下文清楚地看出。
144.上述方法和/或过程及其步骤可以在适合于特定应用的硬件、软件或硬件和软件的任何组合中实现。硬件可以包括通用计算机和/或专用计算设备、或特定计算设备、或特定计算设备的特定方面或部件。这些过程可以在一个或多个微处理器、微控制器、嵌入式微控制器、可编程数字信号处理器或其他可编程设备、以及内部和/或外部存储器中实现。这些过程可以另外或者替代地在专用集成电路、可编程门阵列、可编程阵列逻辑、或者可以被配置为处理电子信号的任何其他设备或设备的组合中实施。将进一步理解的是,这些过程中的一个或多个过程可以被实现为能够在机器可读介质上执行的计算机可执行代码。
145.计算机可执行代码可以使用比如c等结构化程序设计语言、比如c 等面向对象的程序语言、或者任何其他高级或低级编程语言(包括汇编语言、硬件描述语言和数据库编程语言和技术),这些高级或低级编程语言可以被存储、编译或解释,以在以上设备之一、以及处理器的异构组合、处理器架构、或不同硬件和软件的组合、或能够执行程序指令的任何其他机器上运行。
146.因此,在一方面,上文描述的每个方法及其组合可以用计算机可执行代码来实施,这些计算机可执行代码当在一个或多个计算设备上执行时执行这些方法的步骤。在另一方面,这些方法可以用执行其步骤的系统来实施并且可以以多种方式跨设备分布,或者所有功能可以被集成到专用的独立设备或其他硬件中。在另一方面,用于执行与上述过程相关联的步骤的装置可以包括上述任何硬件和/或软件。所有这样的排列和组合均旨在落入本披露内容的范围之内。
147.本教导还可以扩展至以下编号条款中的一个或多个的特征:1. 一种在计算机系统处执行的方法,该方法包括:将映射函数应用于所接收的消息以创建特征值,其中,该映射函数适用于将相似的消息映射到相似的特征值;将该特征值与同多个消息提取器中的每一个相关联的值进行比较;确定该特征值不与同该多个消息提取器相关联的任何值匹配;从该多个消息提取器中识别至少一个消息提取器,该识别确定同该消息提取器相关联的值与来自所接收的消息的特征值在进行比较时满足相似度准则;以及使用所识别的至少一个消息提取器从所接收的消息中提取信息。
148.2. 如条款1所述的方法,进一步包括对照已知信息字段值检查所提取的信息,以验证所识别的至少一个消息提取器正确地提取信息。
149.3. 如条款1所述的方法,其中,该相似度准则包括相似度指数在距该特征值阈值距离内。
150.4. 如条款1所述的方法,其中,所接收的消息是电子邮件消息,并且其中,这些元素包括来自使用xpath提取的该电子邮件消息的超文本标记语言(html)元素。
151.5. 如条款3所述的方法,其中,通过将来自固定长度数组的元素与同该多个消息提取器中的每一个相关联的固定长度数组进行关联来创建该相似度指数。
152.6. 如条款1所述的方法,其中,该识别进一步包括使用来自所接收的消息内的信息来识别至少一个消息提取器。
153.7. 如条款6所述的方法,其中,该信息包括所接收的消息中的商家名称、发件人地址、产品名称、发货人或标识符格式中的至少一者。
154.8. 如条款1所述的方法,其中,该识别进一步使用与特征值相关联的消息的数量增加或减少来识别该至少一个消息提取器。
155.9. 如条款1所述的方法,其中,该使用进一步包括:为从所接收的消息中提取的信息创建质量分数;以及当该质量分数超过质量阈值时提取信息。
156.10. 如条款1所述的方法,其中,该使用进一步包括:为从所接收的消息中提取的信息创建质量分数;以及将该消息提交给商务平台的运营商或接收实体中的一者以验证所接收的消息内的信息。
157.11. 一种计算机系统,包括:处理器;以及通信子系统,
其中,该计算机系统被配置为:将映射函数应用于通过该通信子系统接收的所接收的消息以创建特征值,其中,该映射函数适用于将相似的消息映射到相似的特征值;将该特征值与同多个消息提取器中的每一个相关联的值进行比较;确定该特征值不与同多个消息提取器相关联的任何值匹配;从多个消息提取器中识别至少一个消息提取器,该识别确定同该消息提取器相关联的值与来自所接收的消息的特征值在进行比较时满足相似度准则;以及使用所识别的至少一个消息提取器从所接收的消息中提取信息。
158.12. 如条款11所述的计算机系统,其中,该计算机系统进一步被配置为对照已知信息字段值检查所提取的信息,以验证所识别的至少一个消息提取器正确地提取信息。
159.13. 如条款11所述的计算机系统,其中,该相似度准则包括相似度指数在距该特征值阈值距离内。
160.14. 如条款11所述的计算机系统,其中,所接收的消息是电子邮件消息,并且其中,这些元素包括来自使用xpath提取的该电子邮件消息的超文本标记语言(html)元素。
161.15. 如条款13所述的计算机系统,其中,通过将来自固定长度数组的元素与同该多个消息提取器中的每一个相关联的固定长度数组进行关联来创建该相似度指数。
162.16. 如条款11所述的计算机系统,其中,该计算机系统进一步被配置为通过使用来自所接收的消息内的信息识别至少一个消息提取器来进行识别。
163.17. 如条款16所述的计算机系统,其中,该信息包括所接收的消息中的商家名称、发件人地址、产品名称、发货人或标识符格式中的至少一者。
164.18. 如条款11所述的计算机系统,其中,该计算机系统进一步被配置为通过使用与特征值相关联的消息的数量增加或减少识别该至少一个消息提取器来进行识别。
165.19. 如条款11所述的计算机系统,其中,该计算机系统进一步被配置为通过以下方式来使用所识别的至少一个消息提取器:为从所接收的消息中提取的信息创建质量分数;以及当该质量分数超过质量阈值时提取信息。
166.20. 如条款11所述的计算机系统,其中,该计算机系统进一步被配置为通过以下方式来使用所识别的至少一个消息提取器:为从所接收的消息中提取的信息创建质量分数;以及将该消息提交给商务平台的运营商或接收实体中的一者以验证所接收的消息内的信息。
167.21. 一种用于存储指令代码的非暂态计算机可读介质,该指令代码当由计算机系统的处理器执行时,使该计算机系统:将映射函数应用于通过该通信子系统接收的所接收的消息以创建特征值,其中,该映射函数适用于将相似的消息映射到相似的特征值;将该特征值与同多个消息提取器中的每一个相关联的值进行比较;确定该特征值不与同多个消息提取器相关联的任何值匹配;从多个消息提取器中识别至少一个消息提取器,该识别确定同该消息提取器相关联的值与来自所接收的消息的特征值在进行比较时满足相似度准则;以及
使用所识别的至少一个消息提取器从所接收的消息中提取信息。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献