CN113255925A - 针对机器学习的数据驱动的在线分数高速缓存 - Google Patents
针对机器学习的数据驱动的在线分数高速缓存 Download PDFInfo
- Publication number
- CN113255925A CN113255925A CN202110172663.1A CN202110172663A CN113255925A CN 113255925 A CN113255925 A CN 113255925A CN 202110172663 A CN202110172663 A CN 202110172663A CN 113255925 A CN113255925 A CN 113255925A
- Authority
- CN
- China
- Prior art keywords
- entity
- score
- features
- subset
- value
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000010801 machine learning Methods 0.000 title claims abstract description 103
- 230000004044 response Effects 0.000 claims abstract description 51
- 238000000034 method Methods 0.000 claims description 38
- 238000013507 mapping Methods 0.000 claims description 6
- 238000012545 processing Methods 0.000 abstract description 39
- 238000004458 analytical method Methods 0.000 description 19
- 230000000694 effects Effects 0.000 description 12
- 230000009471 action Effects 0.000 description 9
- 230000006870 function Effects 0.000 description 9
- 230000007246 mechanism Effects 0.000 description 8
- 238000013077 scoring method Methods 0.000 description 8
- 230000003993 interaction Effects 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 238000012797 qualification Methods 0.000 description 5
- 238000010200 validation analysis Methods 0.000 description 5
- 238000012549 training Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000007796 conventional method Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000000737 periodic effect Effects 0.000 description 2
- 238000007792 addition Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000003066 decision tree Methods 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 239000012535 impurity Substances 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000007115 recruitment Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 238000012706 support-vector machine Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000003442 weekly effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
- G06F12/0871—Allocation or management of cache space
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0893—Caches characterised by their organisation or structure
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24552—Database cache management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0639—Performance analysis of employees; Performance analysis of enterprise or organisation operations
- G06Q10/06393—Score-carding, benchmarking or key performance indicator [KPI] analysis
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Mathematical Physics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- Databases & Information Systems (AREA)
- Strategic Management (AREA)
- Development Economics (AREA)
- Educational Administration (AREA)
- Economics (AREA)
- Entrepreneurship & Innovation (AREA)
- Computational Linguistics (AREA)
- Game Theory and Decision Science (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
所公开的实施例提供了一种用于处理评分请求的系统。在操作期间,该系统将评分请求中针对实体的标识符与分数高速缓存中的高速缓存条目进行匹配。接下来,该系统从高速缓存条目中取回由机器学习模型根据该实体的特征的先前值生成的分数的先前值,以及该特征的对分数具有大于阈值的影响的子集的先前值的第一编码的表示。然后,该系统将第一编码的表示与实体的特征的子集的最新值的第二编码的表示进行比较。当该比较指示最新值与先前值相匹配时,该系统将在对评分请求的响应中输出实体的分数的先前值。
Description
技术领域
所公开的实施例涉及机器学习。更具体地,所公开的实施例涉及用于执行针对机器学习的数据驱动的在线分数高速缓存的技术。
背景技术
分析学通常被用于发现与复杂、互连和/或多维数据的大型集合有关的趋势、模式、关系和/或其他属性。继而,所发现的信息被用于导出见解和/或指导与所述数据有关的决策或动作。
为了收集这样的见解,使用回归模型、人工神经网络、支持向量机、决策树、朴素贝叶斯分类器和/或其他类型的机器学习模型来分析特征的大型数据集。然后,所发现的信息能够被用于指导决策和/或执行与所述数据有关的动作。例如,机器学习模型的输出被用于指导营销决策、评估风险、检测欺诈、预测行为和/或自定义或优化对应用或网站的使用。
然而,在用于分析学的机器学习模型的创建和训练期间,在特征选择上花费了大量的时间、精力和开销。例如,用于机器学习模型的数据集可能具有成千上万的特征,包括根据其他特征的组合而创建的特征,而仅有一部分特征和/或组合可能对机器学习模型的输出有重大贡献。同时,与具有较少特征或数据集的那些机器学习模型相比,训练和/或执行具有大量特征和/或大型数据集的机器学习模型通常需要更多的存储器、计算资源和时间。
使用具有大型数据集和/或大量特征的复杂机器学习模型在在线环境中提出了额外的挑战,在在线环境中,实时地或近实时地(例如,响应于最近的用户动作或新接收到的数据)生成机器学习输出。例如,在线系统使用机器学习模型来生成分数,所述分数被用于在用户与在线系统交互时选择并且向用户显示产品、服务、商品和/或其他实体。当接收到针对这些分数的请求时,在线系统中的服务取回特征作为对一个或多个机器学习模型的输入,将所述机器学习模型应用于所述特征以生成分数,并且响应于所述请求而返回分数。另外地,要求所述服务在针对所述服务的服务级别协议(SLA)中指定的延迟限制内对所述请求做出响应。结果,随着请求数量和/或响应于每个请求而产生的分数数量增加,服务可能难以缩放和/或满足延迟要求。
因此,机器学习和/或分析学可以通过用于改善资源消耗、延迟和/或与通过机器学习模型进行大规模和/或在线评分相关联的可扩展性的机构进行促进。
附图说明
图1示出了根据所公开的实施例的系统的示意图。
图2示出了根据所公开的实施例的用于处理评分请求的系统。
图3示出了根据所公开的实施例的对评分请求的处理的流程图。
图4示出了根据所公开的实施例的计算机系统。
在附图中,相似的附图标记指代相同的附图元件。
具体实施方式
呈现以下描述以使得本领域中的任何技术人员能够制造和使用实施例,并且在特定应用以及其要求的上下文中提供以下描述。对所公开的实施例的各种修改对于本领域技术人员而言将是显而易见的,并且在不背离本公开的主旨和范围的情况下,在本文中定义的一般原理可以被应用于其他实施例和应用。因此,本发明并不限于所示的实施例,而是应当被赋予与在本文中所公开的原理和特征相一致的最宽范围。
概述
所公开的实施例提供了一种用于处理针对由机器学习模型产生的分数的评分请求的方法、装置和系统。例如,所述分数包括相关性分数,其表示在用户、工作、内容、商品、服务、公司、学校、企业和/或其他实体之间的积极结果的预测的可能性。
在一些实施例中,所述评分请求是在线或按需生成的,这要求实时或近实时地产生对所述评分请求的响应。当未及时地接收到所述响应时,根据所述分数产生的输出的准确性和/或与所述输出有关的用户体验受到负面影响。例如,在用户在在线系统中执行工作搜索之后,接收到针对在用户与已发布或描述的工作集合之间的相关性分数的评分请求。如果所述评分请求在指定的超时内未接收到响应,则工作发布被显示给用户,而没有相关性分数,这降低了工作对用户的质量或相关性。相反,较长的超时允许基于相关性分数将工作发布输出给用户,但是可能导致用户在加载工作发布之前经历可察觉的延迟。
为了加快对来自机器学习模型的分数的评分请求的在线处理,响应于所述评分请求,选择性地返回由机器学习模型在较早时间产生的高速缓存的分数。当接收到针对来自机器学习模型的分数的评分请求时,在所述请求中的一个或多个实体(例如,用户和发布的工作的集合)与一个或多个高速缓存中的条目相匹配。所述条目存储针对所述实体由机器学习模型产生的分数的先前值(例如,在处理针对相同实体的先前评分请求期间),以及由机器学习模型用于产生分数的先前值的特征的先前值。如果在(一个或多个)高速缓存中未找到针对所述实体的条目,则由机器学习模型使用特征的最新值来计算分数,并且响应于所述评分请求而返回。
如果针对所述实体的高速缓存条目是可用的,则执行涉及来自(一个或多个)高速缓存的数据的一个或多个比较以确定用于处理所述评分请求的评分方法。首先,将来自高速缓存条目的最重要特征的先前值与针对所述实体的相同特征的最新值进行比较。如果先前值与最新值不同,则使用特征的最新值来计算所述分数,并且响应于所述评分请求而返回分数。
如果先前值与最新值相同,则将与特征和/或分数的先前值相关联的一个或多个生存时间(TTL)与当前时间进行比较,以确定任何先前值是否已经过期。如果没有先前值过期,则响应于所述评分请求而返回分数的先前值,而不是使用特征的最新值重新计算所述分数。如果任何先前值已经过期,则使用特征的最新值来计算分数,并且响应于所述评分请求而返回所述分数。
通过在处理针对分数的评分请求期间服务由机器模型先前生成的高速缓存的分数,与执行机器学习模型以在每次接收到评分请求时产生分数的新集合的常规技术相比,所公开的实施例减少了计算开销、资源消耗和/或延迟。同时,通过将与评分请求相关联的最新特征值与用于产生针对先前特征和/或分数值的高速缓存的分数和/或TTL的先前特征值进行比较,来强制执行对高速缓存的分数的定期无效。结果,响应于所述评分请求而返回的高速缓存的分数被验证为相对较新,这保持了推荐、见解和/或基于所述分数生成的其他输出的准确性和/或相关性。因此,所公开的实施例改善了与执行机器学习模型和/或处理请求有关的计算机系统、应用、用户体验、工具和/或技术。
机器学习的在线分数高速缓存
图1示出了根据所公开的实施例的系统的示意图。如在图1中所示的,所述系统包括在线网络118和/或其他用户社区。例如,在线网络118包括在线专业网络,所述在线专业网络被实体集合(例如,实体1 104、实体x 106)用于在专业和/或商业环境中彼此交互。
所述实体包括使用在线网络118来建立和维持专业联系、列出工作和社区经验、相互认可和/或推荐、搜索和申请工作和/或执行其他动作的用户。所述实体还包括或替代地包括使用在线网络118来列出工作、搜索潜在候选、向用户提供与业务有关的更新、做广告和/或采取其他动作的公司、雇主和/或招聘人员。
在线网络118包括简档组件126,其允许所述实体创建和编辑包含与实体的专业和/或行业背景、经验、摘要、职称、项目、技能等有关的信息的简档。简档组件126还允许所述实体查看在线网络118中的其他实体的简档。
简档组件126还包括或替代地包括用于辅助所述实体完成简档的机制。例如,简档组件126可以向实体建议行业、技能、公司、学校、出版物、专利、证书和/或其他类型的属性,作为对实体的简档的潜在添加。所述建议可以基于对缺失字段的预测,诸如基于实体的简档中的其他信息来预测实体的行业。所述建议还可以被用于校正现有字段,诸如校正简档中的公司名称的拼写。所述建议还可以被用于阐明现有属性,诸如基于实体的工作经验来将实体的“经理”职称改为“工程经理”。
在线网络118还包括搜索组件128,其允许所述实体针对人、公司、工作和/或其他与工作或业务相关的信息来搜索在线网络118。例如,所述实体可以将一个或多个关键字输入到搜索栏以查找简档、工作发布、工作候选、文章和/或包括和/或以其他方式匹配(一个或多个)关键字的其他信息。所述实体可以另外地使用在线网络118中的“高级搜索”特征,来按类别(诸如名字、姓氏、头衔、公司、学校、职位、兴趣、关系、技能、行业、群体、薪水、经验水平等)来搜索简档、工作和/或信息。
在线网络118还包括交互组件130,其允许所述实体在在线网络118上彼此交互。例如,交互组件130可以允许用户、公司、学校或其他实体添加其他实体作为连接,跟随其他实体,与其他实体发送和接收电子邮件或消息,加入群组,和/或与来自其他实体的帖子互动(例如,创建、共享、重新共享、喜欢和/或评论)。
本领域技术人员将意识到,在线网络118可以包括其他组件和/或特征。例如,在线网络118可以包括主页、登陆页面和/或内容馈送,其向实体提供来自实体的连接和/或群组的最新帖子、文章和/或更新。类似地,在线网络118可以包括用于向所述实体推荐连接、工作发布、文章和/或群组的特征或机制。
在一个或多个实施例中,与实体的简档和在线网络118上的活动有关的数据(例如,数据1 122、数据x 124)被汇总到数据存储库134中,以用于随后的取回和使用。例如,每个简档更新、简档视图、连接、关注、发布、评论、喜欢、共享、搜索、点击、消息、与群组的交互、地址簿交互、对推荐的响应、购买和/或由实体在在线网络118中执行的其他动作被记录并且被存储在数据库、数据仓库、云存储和/或提供数据存储库134的其他数据存储机制中。
然后,数据存储库134中的数据被用于生成与在线网络118内的工作或机会的列表相关的推荐和/或其他见解。例如,在线网络118的一个或多个组件可以记录搜索、点击、查看、文本输入、转换、和/或在实体与在线网络118中的工作搜索工具的交互期间的其他反馈。所述反馈可以被存储在数据存储库134中,并且被用作针对一个或多个机器学习模型的训练数据,并且(一个或多个)机器学习模型的输出可以被用于向在线网络118的注册用户显示和/或以其他方式推荐工作、广告、帖子、文章、连接、产品、公司、群体和/或其他类型的内容、实体或动作。
更具体而言,在数据存储库134中的数据和一个或多个机器学习模型被用于产生与在线网络118之内或之外列出的工作或机会相关联的候选的排名。如在图1中所示的,识别机制108识别与机会相关联的候选者116。例如,识别机制108将候选者116识别为在线网络118之内或之外已经查看、搜索和/或应用于工作、职位、角色和/或机会的用户。识别机制108还或替代地识别候选者116作为在线网络118的注册用户,其技能、工作经验和/或其他属性或资格与对应的工作、职位、角色和/或机会相匹配。
在识别出候选者116之后,将候选者116的简档和/或活动数据以及对应机会的特征和/或特性(例如,所需或期望的技能、教育、经验、行业、头衔等)输入到(一个或多个)机器学习模型中。然后,所述(一个或多个)机器学习模型输出辨识候选者116相对于机会和/或与所述机会相关的资格(例如,技能、当前职位、先前职位、总体资格等)的优势的分数。例如,所述(一个或多个)机器学习模型基于在线网络118的候选者的简档数据与机会的描述之间的相似性来生成分数。所述(一个或多个)模型基于候选者的简档数据的社交和/或其他验证(例如,对技能、推荐、成就、奖项、专利、出版物、名誉分数等的认可)进一步调整分数。然后,通过按下降分数对候选者116进行排序来生成排名。
继而,基于分数和/或相关联的见解进行排名改善了候选者116的质量、对候选者116的机会的推荐、和/或针对机会对候选者116的推荐。这样的排名还可以或替代地增加在线网络118的用户活动和/或指导候选者116和/或调节者涉及筛选或放置机会的决定(例如,雇用经理、招聘人员、人力资源专业人员等)。例如,在线网络118的一个或多个组件可以显示和/或以其他方式输出用户在针对工作的候选者的排名中的位置(例如,138个中的前10%、前20%等),以鼓励用户申请用户排名较高的工作。在第二示例中,在响应于用户的工作搜索而将工作排序为搜索结果期间,(一个或多个)组件可以考虑用户在工作集合的排名中的相对位置。在第三示例中,(一个或多个)组件可以在招聘者利用被包含作为搜索的参数的工作资格执行搜索之后,将针对工作资格的给定集合的候选者116的排名作为搜索结果输出给招聘者。在第四示例中,(一个或多个)组件可以基于预测的工作对用户的相关性或吸引力和/或用户申请所述工作的可能性来向用户输出工作。
在一个或多个实施例中,在线网络118包括功能以实时、近实时或按需地生成与候选者116、机会和/或其他实体相关的推荐的分数和/或排名。在这些实施例中,响应于由实体进行的或者涉及实体的最近活动或动作而生成分数和/或排名。
例如,在线网络118包括使用机器学习模型来生成相关性分数集合的服务,所述相关性分数表示用户与工作集合的相容性(或者用户集合作为针对工作的候选者116的相容性)。所述服务响应于用户的工作搜索(或者招聘者针对与工作相匹配的候选者116的搜索)、用户访问在线网络118中的工作推荐组件、和/或用户以其他方式与在线网络118中的工作相关的功能进行交互而接收评分请求。为了改善分数的准确性,所述服务将反映用户(或招聘者)的最新活动的特征输入到机器学习模型中,诸如表示用户的搜索、点击、喜欢、不喜欢和/或在与用户与工作相关的功能交互的相同用户会话中执行的其他动作的特征。响应于所输入的特征,所述机器学习模型实时或近实时地(例如,具有在针对服务的服务级别协议(SLA)中指定的限制内的延迟)计算在用户与工作(或者候选者116集合与工作)之间的相关性分数。所述服务响应于评分请求而返回相关性分数,并且在线网络118通过将相关性分数递降作为搜索结果、推荐和/或工作(或候选者)的其他表示,向用户输出工作(或候选者)的排名。
本领域技术人员将意识到,在线网络118可以执行与实体的其他类型或组合有关的按需评分和/或排名。例如,在线网络118可以接收在用户与由在线网络118的其他用户创建和/或共享的内容项之间的相关性分数的一个或多个评分请求。这些内容项包括但不限于:帖子、文章、评论、更新和/或视频。可以响应于用户访问主页、登陆页面和/或在线网络118的另一部分中的内容馈送来生成(一个或多个)评分请求。在由一个或多个机器学习模型产生相关性分数之后,生成通过相关性分数对内容项进行的一个或多个排名,和/或将其混合到针对用户的内容馈送中。因为内容项是实时或近实时地进行评分和排名的,所以内容馈送能够反映被发布到在线网络118的最新内容和/或用户与在线网络118中的内容的交互。
在另一示例中,响应于用户访问在线网络118中的“您可能认识的人”特征,在线网络118可以生成针对在用户与在线网络118的其他注册用户之间的相关性分数的评分请求。服务通过基于包括在线网络118中用户的最新连接集和/或连接请求的特征而生成在用户与其他注册用户之间的相关性分数来处理所述评分请求。然后,通过对相关性分数递降而对其他注册用户进行排名,并且在“您可能认识的人”特征内将排名作为连接推荐输出给用户。
为了减少与生成针对大量请求和/或实体的这些类型的分数相关联的延迟和/或资源开销,在线网络118使用分数的高速缓存来处理针对分数的一些或全部请求。如在图2中所示的,用于处理评分请求的系统202包括分析装置204和处理装置206,这两个装置都被耦合到特征存储库234、特征高速缓存236和分数高速缓存238。这些组件中的每个组件在下文被更详细地描述。
分析装置204响应于在线系统(例如,图1的在线网络118)中的最近活动来接收评分请求202。例如,响应于在线系统的用户与显示根据用户的偏好、兴趣、经验或背景裁剪的结果(例如,用户、工作、公司、学校、内容、广告、商品、服务等)的组件250(例如,搜索、工作搜索、工作推荐、招聘、连接推荐等)之间的交互而生成评分请求202。评分请求202可以由组件250和/或由组件250调用的下游服务来生成。
评分请求202包括用于生成与最近活动有关的结果的参数208。例如,响应于用户访问在线系统中的工作搜索或工作推荐组件或者与其交互来生成评分请求202。评分请求202的参数208包括但不限于:用户的标识符、与用户潜在相关的一个或多个工作的标识符、以及用于计算用户与工作之间的相关性分数的机器学习模型的可选标识符。可以从在用户登录到在线系统中之后生成的数据来获得用户的标识符(例如,通过将用户的认证证书与注册的用户数据存储库中的用户独有标识符进行匹配)。通过将工作发布或描述中的头衔、技能、资历、位置和/或其他属性与用户的简档数据中的用户的对应属性和/或用户在工作搜索期间输入的搜索术语进行匹配,可以获得工作标识符。可以获得针对机器学习模型的标识符,作为用于生成在用户与工作之间的分数的机器学习模型的最新版本的标识符、针对用户个性化的机器学习模型的版本的标识符、和/或在A/B测试中为其分配用户和/或工作的机器学习模型的版本的标识符。
分析装置204使用特征存储库234、特征高速缓存236和/或分数高速缓存238中的数据来确定用于处理评分请求202的评分方法232。特征存储库234包括被用作到机器学习模型中的输入的特征的最新值。例如,特征存储库234包括服务,所述服务从分布式文件系统和/或其他类型的数据存储库取回被映射到参数208中的标识符的最新特征值。所述服务还可以或替代地生成对下游服务的调用,所述下游服务按需产生最新特征值。
特征高速缓存236存储包含能够在参数208中指定的实体标识符222到用于处理针对相同参数208的先前评分请求的先前特征值226的映射的高速缓存条目。例如,所述高速缓存条目包括针对用户以及一个或多个工作的实体标识符222,其被映射到与用户和(一个或多个)工作有关的先前特征值226。在使用先前特征值226处理包含标识符的先前评分请求之后,可以创建高速缓存条目并且利用先前特征值226来填充。在特征高速缓存236中的高速缓存条目在评分请求202和/或其他后续评分请求的处理期间加快了特征的取回。
类似地,分数高速缓存238存储高速缓存条目,所述高速缓存条目包含具有与实体标识符222相同值的实体标识符220到在处理先前评分请求期间从先前特征值226产生的先前分数224的映射。分数高速缓存238另外地包括先前特征值226的编码218。例如,编码218包括散列(hash)值、字符编码、配数、嵌入、校验和、和/或先前特征值226的其他紧凑表示。在一些实施例中,在由系统对先前分数224的计算期间,根据先前特征值226来计算编码218。然后,将编码218存储在分数高速缓存238中与先前分数224相同的高速缓存条目中,以加快针对相同参数208的后续评分请求202的处理,如下文进一步详细描述的。例如,分数高速缓存238中的高速缓存条目包括针对用户和一个或多个工作的实体标识符220,其被映射到用于产生先前分数224的先前特征值226和先前分数224的值的编码218。在处理包含标识符的先前评分请求之后,可以创建高速缓存条目并且利用标识符、编码218和先前分数224来填充。
在一个或多个实施例中,分析装置204确定基于来自特征存储库234、特征高速缓存236和/或分数高速缓存238的数据的一个或多个比较210的评分方法232。首先,分析装置204通过使用参数208中的标识符执行对特征存储库234、特征高速缓存236和分数高速缓存238的查找来取回数据。如果在分数高速缓存238或特征高速缓存236中的高速缓存条目不包括针对参数208的标识符,则分析装置232将针对参数208的新分数值242的计算指定为评分方法232。继而,处理装置206将机器学习模型应用于来自特征存储库234的参数208的特征的最新值,以产生分数值242。处理装置206然后将对包含分数值242的评分请求202的响应240发送给组件250和/或评分请求202的发起者。
如果在分数高速缓存238和特征高速缓存236中存在针对参数208中的标识符的高速缓存条目,则分析装置204对来自特征存储库234的参数208的重要特征值228与来自特征缓存236和/或分数高速缓存238的相同参数208的对应先前特征值226执行第一比较。在一个或多个实施例中,重要特征值228包括被标识为对机器学习模型的性能或输出具有大于阈值影响的“最重要”特征的集合的最新值。例如,最重要的特征包括对机器学习模型的准确性影响最大的预定数量的特征和/或对机器学习模型的准确性影响超过阈值的可变数量的特征。
在一些实施例中,分析装置204和/或系统的另一组件使用特征解释技术来识别针对机器学习模型的最重要特征。例如,所述组件通过随机化针对机器学习模型的验证数据中的特征的值来确定机器学习模型的每个特征的重要性。接下来,所述组件计算在验证数据中具有随机化值的机器学习模型的误差与在验证数据中具有原始特征值的机器学习模型的误差之间的差。然后,所述组件通过递减误差中的差异来对特征进行排名,从而将对误差影响较大的特征排名在对误差影响较小的特征之前。最后,所述组件将数字、百分比和/或另一阈值应用于误差中的差异,以将特征的子集识别为最重要的特征(例如,使得将对机器学习模型的误差影响最大的20%的特征识别为最重要的特征)。
为了将重要特征值228与先前特征值226进行比较,分析装置204从分数高速缓存238中获得先前特征值226的编码218。分析装置204还应用了相同的技术(例如,散列函数、嵌入模型等),用于生成对重要特征值228的编码以产生重要特征值228的单独编码216。如果编码216-218彼此不同,则自计算先前分数224以来,被映射到参数208中的标识符的一个或多个重要特征已经改变。如果编码216-218相同,则自计算先前分数224以来,没有重要特征改变。因此,分析装置204使用编码216-218作为重要特征值226和对应的先前特征值226的紧凑表示。这些紧凑表示能够被存储在固定量的存储器中和/或能够快速地比较以检测自计算先前分数224以来重要特征值226的改变。
如果自计算先前分数224以来任何重要特征已经改变,则分析装置204将分数的重新计算指定为评分方法232。处理装置206通过以下操作来执行评分方法232:将针对参数208的重要特征值228和额外特征值230(例如,对机器学习模型的输出不太重要的特征的最新值)输入到机器学习模型中,获得分数数值242作为机器学习模型的输出,并且响应240于评分请求202而返回分数值242。
如果自计算先前分数224的时间以来没有重要特征改变,则分析装置204执行与先前分数224和/或用于计算先前分数224的先前特征值226相关联的TTL 212与当前时间214的一个或多个比较210。在一些实施例中,TTL 212包括计数器、时间戳、或者先前分数224、先前特征值226和/或由系统所使用的其他数据的寿命的其他表示。如果针对特定数据段当前时间214已经超过TTL,则确定所述数据段已经过期。继而,如果TTL 212与当前时间214的比较210指示先前分数224或用于计算先前分数224的任何先前特征值226已经过期,则分析装置204将针对参数208的新分数值242的计算指定为评分方法232。
如果TTL 212与当前时间214的比较210指示先前分数224和/或用于计算先前分数224的所有先前特征值226仍然有效,则处理装置206将评分方法232设置为重新使用先前分数224。继而,处理装置206从分析装置204、分数高速缓存238和/或另一组件取回先前分数224,并且在响应240中将先前分数224作为分数值242返回。
在一个或多个实施例中,TTL 212包括针对先前分数224的TTL和/或针对个体先前特征值226和/或先前特征值226的群组的一个或多个TTL。例如,先前分数224包括TTL,其被设置为在创建先前分数224之后的小时、天和/或其他时段的数量。与先前特征值226相关联的个体特征具有随特征改变的频率而变化的TTL 212(例如,测量一小时的用户活动的特征的TTL比测量一天或一周的用户活动的TTL短)。
继续以上示例,先前的特征值226包括一组“最不重要”的特征(例如,对由机器学习模型产生的结果分数的影响小于阈值的特征)。在TTL 212与当前时间214的比较210期间,分析装置204将“最不重要”群组中的每个特征的TTL设置为先前分数224的TTL。结果,最不重要特征的先前特征值226仅在对应的先前分数224过期时过期。
继续上文的示例,先前的特征值226包括位于最重要的特征与最不重要的特征之间的另一组“中等重要”的特征(例如,对机器学习模型的影响落在与最重要的特征和最不重要的特征相关联的两个阈值之间的特征)。因此,如果最重要的特征包括对由机器学习模型产生的分数影响最大的20%的特征,并且最不重要的特征包括对由机器学习模型产生的分数影响最小的20%的特征,则“中等重要”的特征包括未被包含在最重要的特征或最不重要的特征中的其余60%的特征。在比较210期间,分析装置204使用“中等重要”群组中的每个特征的TTL来确定对应的先前特征值是否已经过期。如果当前时间214未超过在中等重要的群组中的先前特征值226的任何TTL 212或先前分数224的TTL,则先前分数224仍然有效,并且能够在对评分请求202的响应240中返回2。如果当前时间214超过该群组中的先前特征值216的一个或多个TTL 212或先前分数224的TTL,则先前分数224无效,并且处理装置206生成针对参数208的新分数值242,并且在响应240中返回新分数值242。
在产生新分数值242之后,分析装置204、处理装置206和/或所述系统的另一组件利用新分数值242来替换分数高速缓存238中的针对参数208的高速缓存条目中的先前分数224。所述组件还利用编码216的值来更新高速缓存条目中的编码218,编码216的值是根据用于产生新分数值242的重要特征值228来计算的。类似地,所述组件将高速缓存条目中针对在特征高速缓存236中的参数208中找到的实体标识符222的先前特征值226替换为用于产生新分数值242的重要特征值228和/或额外特征值230。所述组件还更新TTL 212以反映在分数高速缓存238中的新的先前分数224和编码218以及在特征高速缓存236中的新的先前特征值226。结果,在分数高速缓存238和特征高速缓存236中由参数208表示的实体的条目反映了最新的分数值242和用于计算分数值242的特征值,这允许使用与最新的分数值242和特征值相关的比较210来处理针对相同参数208的一个或多个后续评分请求202。
在一些实施例中,基于与用于接收评分请求202的模式相关的规则和/或公式、对在处理评分请求202中所使用的分数或特征值的更新、分数高速缓存238和/或特征高速缓存236的大小、和/或响应于评分请求而可用于计算分数的计算资源,来手动地调谐和/或设置针对先前分数224和/或先前特征值226的TTL 212、编码218、分数高速缓存238和特征高速缓存236的大小和/或影响所述系统的功能的其他因素。例如,基于公式、启发法或函数来计算针对先前分数224的TTL,所述公式、启发法或函数包括作为输入的分数高速缓存238的大小、与计算可用资源的新分数相关联的延迟或吞吐量、根据分数陈旧度在模型准确性的典型(例如,平均、中间等)降低、和/或分数对于与在在线系统中使用分数相关的功能或目标(例如,搜索结果或推荐准确性、用户参与度、收入等)的重要性。在另一示例中,基于公式、启发法或函数来计算针对给定先前特征值的TTL,所述公式、启发法或函数包括作为输入的特征对所得到的分数的影响、特征改变的时间段(例如,每小时、每天、每周等)、与取回特征的最新值相关联的延时、和/或特征高速缓存236的大小。在第三示例中,选择散列函数和/或用于计算编码216-218的另一方法来平衡与计算编码218相关联的资源开销或复杂度以及在编码216与218之间的冲突的可能性。
通常,选择或调谐这些因素以平衡在实现开销(例如,可扩展性、资源限制、延迟、吞吐量等)与响应于评分请求202而返回的分数的准确性之间的权衡。重要特征值228的较长列表导致更大的资源和系统开销(例如,由于更频繁地计算分数、取回特征值、和/或编码216-218的计算更加复杂),但是导致“更新”并且更准确的分数。相反,额外特征值230的较长列表减少了资源和系统开销(例如,由于较不频繁地计算分数和取回额外特征值230),但是降低了分数的准确性或新近度。用于计算编码216-218的更复杂的散列函数或技术增加了资源消耗和/或延迟,但是降低了在编码216与218之间的冲突的可能性以及继而未检测到重要特征值228改变的可能性。较长的特征或分数TTL减少了开销(例如,通过减少分数的重新计算和/或最新特征值的取回),但是也降低了分数的准确性和/或新近度。
通过服务先前由机器模型在对分数的评分请求的处理期间生成的高速缓存分数,与每当接收到评分请求就执行机器学习模型以产生新的分数集合的常规技术相比,图2的系统减少了计算开销、资源消耗和/或延迟。例如,在第二和随后的评分请求中,大约62%的用户-工作对在相同的用户-工作对的第一评分请求的一个小时内导致评分高速缓存238中的高速缓存命中。利用从分数高速缓存238中进行读取的最高5ms的延迟以及计算新分数的50ms的95%的延迟,系统产生的平均延迟为40%*(50+5)ms+60%*5ms,或25ms,这大约是95%评分延迟的一半。
同时,通过将与评分请求相关联的最新特征值与用于产生针对先前特征和/或分数值的高速缓存的分数和/或TTL的先前特征值进行比较,来强制执行对高速缓存的分数的定期无效。结果,响应于所述评分请求而返回的高速缓存的分数被验证为相对较新(例如,在从当前时间开始的窗口内或者根据最新的重要特征值228来计算的),这维持了推荐、见解和/或基于分数生成的其他输出的准确性和/或相关性。相反,针对特征和/或分数不强制使用TTL的技术会返回不反映最新用户活动和/或偏好的陈旧(例如,较旧或过时的)分数。这些陈旧的分数可能导致响应于针对相同用户的评分请求而重复返回相同的结果(例如,搜索结果、推荐等),这降低了用户发现新结果和/或有效地利用与评分请求和/或结果相关联的功能的能力(例如,搜索、推荐等)。因此,所公开的实施例改善了与执行机器学习模型和/或处理请求有关的计算机系统、应用、用户体验、工具和/或技术。
本领域技术人员将意识到,可以以各种方式来实现图2的系统。首先,分析装置204、处理装置206、特征存储库234、特征高速缓存236和/或分数高速缓存238可以由单个物理机器、多个计算机系统、一个或多个虚拟机、网格、一个或多个集群、一个或多个数据库、一个或多个文件系统和/或云计算系统来提供。分析装置204和处理装置206可以另外地由一个或多个硬件和/或软件组件和/或层一起实现和/或分别地实现。
第二,特征高速缓存236和分数高速缓存238中的数据可以以多种方式来存储和/或取回。例如,特征高速缓存236和分数高速缓存238可以合并为单个高速缓存,或者在特征高速缓存236和分数高速缓存238中的数据可以在多个高速缓存之间划分。在另一示例中,如果特征存储库234具有足够的带宽或速度来为由所述系统接收到的所有评分请求提供最新的特征值,则可以省略特征高速缓存236。在这种情况下,能够省略针对先前特征值226的TTL 212,并且仅将针对先前分数224的TTL与当前时间214进行比较,以确定先前分数224是否已经过期。在第三示例中,特征高速缓存236和/或分数高速缓存238包括在其上执行分析装置204和/或处理装置206的实例的主机上的本地高速缓存,或者由在相同数据中心、集群和/或配置中心内的分析装置204和/或处理装置206的所有实例访问的分布式高速缓存。当特征高速缓存236和/或分数高速缓存238包括本地高速缓存时,使用“粘性路由”技术来确保将包括一个或多个相同参数208的一系列评分请求发送给相同的主机,以允许所述主机使用与那些参数208有关的高速缓存的分数、特征值和/或特征值的编码来处理所述评分请求。
第三,能够使用各种技术来确定由机器学习模型所使用的特征的重要性。例如,能够经由递归特征消除、在个体特征与输出之间的相关性的测量、使用基于树的模型的节点杂质来计算特征重要性、使用最小绝对收缩和选择算子(套索)以回归模型来识别重要特征、和/或训练可解释模型以近似机器学习模型的预测,来确定特征对机器学习模型的输出或性能的影响。
图3示出了说明根据所公开的实施例的评分请求的处理的流程图。在一个或多个实施例中,可以以不同的次序省略、重复和/或执行一个或多个步骤。因此,在图3中所示的步骤的具体布置不应当被解释为限制该技术的范围。
最初,接收与实体和机器学习模型有关的评分请求(操作302)。例如,响应于由实体(例如,用户)在在线系统中的最近活动而生成评分请求。所述评分请求包括针对实体的一个或多个标识符、与最近活动相关联的一个或多个额外实体(例如,工作、商品、服务、内容等)和/或机器学习模型。
基于针对实体和机器学习模型的高速缓存条目的可用性来处理所述评分请求(操作304)。例如,通过使用针对实体和/或机器学习模型的标识符执行对本地或分布式高速缓存的查找来确定高速缓存条目的可用性。如果响应于涉及相同实体和机器学习模型的先前评分请求,由机器学习模型先前计算了针对所述实体的分数,则针对所述实体和模型存在高速缓存条目。相反,如果所述实体和模型没有任何先前评分请求和/或如果针对所述实体和模型的先前高速缓存条目已经无效,则不存在针对所述实体和模型的高速缓存条目。
如果针对所述实体和模型的高速缓存条目不可用,则将所述机器学习模型应用于针对所述实体的最新特征,以产生针对所述实体的分数的最新值(操作318),以及响应于所述评分请求而输出分数的最新值(操作320)。针对所述实体和模型的标识符到所述分数的最新值的映射以及特征的第一子集的最新值的编码也被存储在高速缓存条目中(操作322),这允许响应于包括针对实体和/或机器学习模型的标识符的查找而取回高速缓存条目。
如果针对所述实体和模型的高速缓存条目可用(例如,如果实体的标识符能够与高速缓存条目相匹配),则从所述高速缓存条目中取回被用于产生所述先前值的针对所述实体的分数的先前值以及特征的第一子集的先前值的编码的表示(操作306)。可以由机器学习模型在当前时间之前根据特征的第一子集以及和与所述实体相关的额外特征的先前值来生成分数的先前值。所述编码的表示包括散列值、嵌入、校验和、和/或特征的第一子集的先前值的级联的另一类型的编码。所述特征的第一子集包括被识别为对机器学习模型的性能的影响大于阈值的特征(例如,基于针对所述机器学习模型的验证数据中的特征的第一子集的排列)。例如,特征的第一子集包括对机器学习模型的输出或错误具有最大影响的特征的预定数量和/或百分比。
接下来,执行针对实体的特征的第一子集的先前值与特征的第一子集的最新值的比较(操作308),以确定最新值是否与先前值相匹配(操作310)。例如,在当前时间从特征存储库中取回针对第一实体的特征的第一子集的最新值,并且计算最新值的散列。然后,将所述散列与来自高速缓存条目的相同特征的先前值的散列进行比较,以确保相等。如果所述散列相等,则确定最新值与先前值相匹配。如果所述散列不相等,则最新值与先前值不匹配。
如果所述比较指示针对所述实体的特征的第一子集的最新值不同于针对所述实体的特征的第一子集的先前值,则新的分数针对所述实体来计算、响应于所述评分请求而输出、并且与特征的第一子集的最新值的编码一起存储在实体的高速缓存条目中(操作316-320)。如果所述比较指示最新值与先前值没有不同,则执行当前时间与关联于分数的先前值的一个或多个TTL的比较(操作312),以确定分数的先前值是否已经过期(操作314)。例如,TTL包括针对分数的先前值的TTL和/或用于计算分数的特征的第二子集的先前值的一个或多个TTL(例如,对机器学习模型的性能的影响小于特征的第一子集的特征)。
如果当前时间超过任何TTL,则分数的先前值已经过期。结果,所述分数的最新值由机器学习模型生成(操作316)、响应于评分请求而输出(操作318)、并且与特征的第一子集的最新值的编码一起存储在高速缓存条目中(操作320)。如果当前时间不超过任何TTL,则分数的先前值未过期,并且响应于所述评分请求而输出分数的先前值(操作322)。
在处理与各种实体和/或机器学习模型有关的分数的请求(操作324)期间,可以重复操作302-322。例如,操作302-322可以被用于处理针对各种类型和/或实体组合的由机器学习模型产生的分数的在线评分请求。
图4示出了根据所公开的实施例的计算机系统400。计算机系统400包括处理器402、存储器404、存储装置406和/或在电子计算设备中发现的其他组件。处理器402可以与计算机系统400中的其他处理器一起支持并行处理和/或多线程操作。存储器404包括分数高速缓存(例如,图2的分数高速缓存238)和特征高速缓存(例如,图2的特征高速缓存236)。在分数高速缓存中的条目包括实体标识符到针对对应实体(例如,用户、工作等)计算的先前分数的映射,以及在特征高速缓存中的条目包括实体标识符到用于计算针对对应实体的先前分数的先前特征值的映射。计算机系统400还可以包括输入/输出(I/O)设备,诸如键盘408、鼠标410和显示器412。
计算机系统400包括用于执行本实施例的各种组件的功能。具体地,计算机系统400可以包括操作系统(未示出),所述操作系统协调计算机系统400上的硬件和软件资源的使用,以及为用户执行专门任务的一个或多个应用。为了为用户执行任务,应用从操作系统获得对计算机系统400上的硬件资源的使用,并且通过由所述操作系统提供的硬件和/或软件框架与用户进行交互。
在一个或多个实施例中,计算机系统400提供用于处理评分请求的系统。所述系统包括分析装置和处理装置,所述装置中的一个或多个装置可以替代地被称为或实现为模块、机制或其他类型的系统组件。所述分析装置将针对评分请求中的实体的标识符与分数高速缓存中的高速缓存条目进行匹配。接下来,所述分析装置从所述高速缓存条目中取回由机器学习模型在当前时间之前根据针对实体的特征的集合的先前值生成的分数的先前值,以及对机器学习模型生成所述分数具有大于阈值的影响的特征的子集的先前值的第一编码的表示。所述分析装置还从当前时间的特征存储库中取回针对第一实体的特征的第一子集的最新值,并且执行针对所述实体的特征的子集的最新值的第一编码的表示与第二编码的表示的比较。当所述比较指示特征的子集的最新值与特征的子集的先前值相匹配并且分数的先前值有效时,所述处理装置响应于与实体和机器学习模型有关的评分请求来输出分数的先前值。
当所述比较指示特征的子集的最新值和先前值不匹配和/或分数的先前值已经过期时,所述处理装置将所述机器学习模型应用于针对所述实体的特征的集合的最新值,以产生针对所述实体的分数的最新值。然后,所述处理装置在所述响应中输出所述分数的最新值。
另外,计算机系统400的一个或多个组件可以通过网络被远程地定位并且连接到其他组件。本实施例的各部分(例如,分析装置、处理装置、特征存储库、特征高速缓存、分数高速缓存、数据存储库、在线网络等)也可以位于实现实施例的分布式系统的不同节点上。例如,可以使用云计算系统来实现本实施例,所述云计算系统处理针对远程用户或实体集合的评分请求。
在详细描述中所描述的数据结构和代码通常被存储在计算机可读存储介质上,所述计算机可读存储介质可以是存储能够由计算机系统使用的代码和/或数据的任何设备或介质。所述计算机可读存储介质包括但不限于:易失性存储器、非易失性存储器、磁和光存储设备,诸如磁盘驱动器、磁带、CD(紧致盘)、DVD(数字通用光盘或数字视频光盘)、或者能够存储现在已知或者以后开发的代码和/或数据的其他介质。
在详细描述部分中描述的方法和过程可以被体现为代码和/或数据,其可以存储在如上所述的计算机可读存储介质中。当计算机系统读取并执行存储在计算机可读存储介质上的代码和/或数据时,所述计算机系统执行被体现为数据结构和代码并且被存储在计算机可读存储介质内的方法和过程。
此外,在本文中所描述的方法和过程能够被包含在硬件模块或装置中。这些模块或装置可以包括但不限于:专用集成电路(ASIC)芯片、现场可编程门阵列(FPGA)、在特定时间执行特定软件模块或代码段的专用或共享处理器(包括专用或共享处理器核心)、和/或现在已知或者以后开发的其他可编程逻辑设备。当激活硬件模块或装置时,其执行在其之内包含的方法和过程。
仅出于说明和描述的目的给出了各种实施例的前述描述。其并非旨在穷举或者将本发明限制为所公开的形式。因此,许多修改和变化对于本领域技术人员将是显而易见的。另外,以上公开内容并非旨在限制本发明。
Claims (20)
1.一种方法,包括:
将第一评分请求中针对第一实体的标识符与分数高速缓存中的高速缓存条目进行匹配;
从所述高速缓存条目中取回:
由机器学习模型在当前时间之前根据针对所述第一实体的特征的集合的先前值生成的分数的先前值;以及
所述特征中的对所述机器学习模型生成所述分数具有大于阈值的影响的第一子集的先前值的第一编码的表示;
在所述当前时间从特征存储库中取回针对所述第一实体的所述特征的所述第一子集的最新近值;
对所述第一编码的表示与针对所述第一实体的所述特征的所述第一子集的所述最新近值的第二编码的表示执行第一比较;以及
当所述第一比较指示针对所述第一实体的特征的所述第一子集的所述最新近值与针对所述第一实体的特征的所述第一子集的所述先前值相匹配时,在对所述第一评分请求的第一响应中输出针对所述第一实体的所述分数的所述先前值。
2.根据权利要求1所述的方法,还包括:
基于所述当前时间与关联于针对所述第一实体的所述分数的所述先前值的一个或多个生存时间(TTL)的第二比较来验证在所述第一响应中包括针对所述第一实体的所述分数的所述先前值之前针对所述第一实体的所述分数的所述先前值未过期。
3.根据权利要求2所述的方法,其中,所述一个或多个TTL包括以下中的至少一项:
针对所述分数的所述先前值的第一TTL;以及
被输入到所述机器学习模型中以产生所述分数的所述先前值的针对所述第一实体的特征的第二子集的先前值中的一个或多个先前值的第二TTL。
4.根据权利要求2所述的方法,其中,所述一个或多个TTL包括:被输入到所述机器学习模型中以产生所述分数的所述先前值的针对所述第一实体的所述特征的第二子集的先前值中的一个或多个先前值的TTL。
5.根据权利要求1所述的方法,还包括:
对针对第二实体的特征的所述第一子集的所述先前值与针对所述第二实体的特征的所述第一子集的所述最新近值执行第二比较;
当所述第二比较指示针对所述第二实体的特征的所述第一子集的所述最新近值与针对所述第二实体的特征的所述第一子集的所述先前值不匹配时,将所述机器学习模型应用于针对所述第二实体的特征的集合的所述最新近值以产生针对所述第二实体的所述分数的最新值;以及
在对与所述第二实体和所述机器学习模型有关的第二请求的第二响应中输出针对所述第二实体的所述分数的所述最新值。
6.根据权利要求1所述的方法,还包括:
对针对第二实体的特征的所述第一子集的所述先前值与针对所述第二实体的特征的所述第一子集的所述最新近值执行第二比较;
当所述第二比较指示针对所述第二实体的特征的所述第一子集的所述最新近值与针对所述第二实体的特征的所述第一子集的所述先前值相匹配时,对当前时间与关联于针对所述第二实体的所述分数的先前值的一个或多个生存时间(TTL)执行第三比较;
当所述第三比较指示针对所述第二实体的所述分数的所述先前值已经过期时,将所述机器学习模型应用于针对所述第二实体的特征的集合的所述最新近值以产生针对所述第二实体的所述分数的最新值;以及
在对与所述第二实体和所述机器学习模型有关的第二请求的第二响应中输出针对所述第二实体的所述分数的所述最新值。
7.根据权利要求6所述的方法,还包括:
在针对所述第二实体的另一高速缓存条目中存储针对所述第二实体的标识符到针对所述第二实体的所述分数的所述最新值的映射以及针对所述第二实体的特征的所述第一子集的所述最新近值的编码。
8.根据权利要求1所述的方法,还包括:
基于特征的所述第一子集的排列来将特征的所述第一子集识别为对所述机器学习模型的性能具有大的影响。
9.根据权利要求1所述的方法,其中,将所述第一评分请求中针对第一实体的所述标识符与所述分数高速缓存中的所述高速缓存条目进行匹配包括:
基于针对所述第一实体的所述标识符和针对所述机器学习模型的额外标识符来执行对所述分数高速缓存的查找。
10.根据权利要求1所述的方法,其中,所述分数高速缓存包括以下中的至少一项:
本地高速缓存;以及
分布式高速缓存。
11.根据权利要求1所述的方法,其中,对所述第一编码的表示与针对所述第一实体的特征的所述第一子集的所述最新近值的所述第二编码的表示执行所述第一比较包括:
从所述编码的表示中获得针对所述第一实体的特征的所述第一子集的所述先前值的第一散列;
计算针对所述第一实体的特征的所述第一子集的所述最新近值的第二散列作为所述第二编码的表示;以及
比较所述第一散列与所述第二散列。
12.根据权利要求1所述的方法,其中,所述第一实体包括以下中的至少一项:
用户;以及
工作。
13.一种系统,包括:
一个或多个处理器;以及
存储指令的存储器,所述指令当由所述一个或多个处理器运行时使所述系统:
将第一评分请求中针对第一实体的标识符与分数高速缓存中的高速缓存条目进行匹配;
从所述高速缓存条目中取回:
由机器学习模型在当前时间之前根据针对所述第一实体的特征的集合的先前值生成的分数的先前值;以及
所述特征中的对所述机器学习模型生成所述分数具有大于阈值的影响的第一子集的所述先前值的第一编码的表示;
对所述第一编码的表示与针对所述第一实体的所述特征的所述第一子集的最新近值的第二编码的表示执行第一比较;以及
当所述第一比较指示针对所述第一实体的特征的所述第一子集的最新值与针对所述第一实体的特征的所述第一子集的所述先前值相匹配时,在对所述第一评分请求的第一响应中输出针对所述第一实体的所述分数的所述先前值。
14.根据权利要求13所述的系统,其中,所述存储器还存储指令,所述指令当由所述一个或多个处理器运行时使所述系统:
基于当前时间与关联于针对所述第一实体的所述分数的所述先前值的一个或多个生存时间(TTL)的第二比较来验证在所述第一响应中包括针对所述第一实体的所述分数的所述先前值之前所述分数的所述先前值未过期。
15.根据权利要求14所述的系统,其中,所述一个或多个TTL包括以下中的至少一项:
针对所述分数的所述先前值的第一TTL;以及
被输入到所述机器学习模型中以产生所述分数的所述先前值的针对所述第一实体的特征的第二子集的所述先前值中的一个或多个先前值的第二TTL。
16.根据权利要求13所述的系统,其中,所述存储器还存储指令,所述指令当由所述一个或多个处理器运行时使所述系统:
对针对第二实体的特征的所述第一子集的所述先前值与针对所述第二实体的特征的所述第一子集的所述最新近值执行第二比较;
当所述第二比较指示针对所述第二实体的特征的所述第一子集的所述最新近值与针对所述第二实体的特征的所述第一子集的所述先前值不匹配时,将所述机器学习模型应用于针对所述第二实体的特征的集合的所述最新近值以产生针对所述第二实体的分数的最新值;以及
在对与所述第二实体和所述机器学习模型有关的第二请求的第二响应中输出针对所述第二实体的所述分数的所述最新值。
17.根据权利要求13所述的系统,其中,取回针对所述第一实体的特征的所述第一子集的所述先前值的高速缓存的表示包括:
将来自所述第一请求的针对所述第一实体和所述机器学习模型的标识符与高速缓存中的条目进行匹配;以及
从所述条目中读取所述高速缓存的表示。
18.根据权利要求13所述的系统,其中,对针对所述第一实体的特征的所述第一子集的所述先前值与针对所述第一实体的特征的所述第一子集的所述最新值执行所述第一比较包括:
从高速缓存的表示中获得针对所述第一实体的特征的所述第一子集的所述先前值的第一散列;
根据针对所述第一实体的特征的所述第一子集的所述最新值来计算第二散列;以及
比较所述第一散列与所述第二散列。
19.一种存储指令的非暂态计算机可读存储介质,所述指令当由计算机运行时使所述计算机执行一种方法,所述方法包括:
将第一评分请求中针对第一实体的标识符与分数高速缓存中的高速缓存条目进行匹配;
从所述高速缓存条目中取回:
由机器学习模型在当前时间之前根据针对所述第一实体的特征的集合的先前值生成的分数的先前值;以及
所述特征中的对所述机器学习模型生成所述分数具有大于阈值的影响的第一子集的所述先前值的第一编码的表示;
对所述第一编码的表示与针对所述第一实体的所述特征的所述第一子集的最新近值的第二编码的表示执行第一比较;以及
当所述第一比较指示针对所述第一实体的特征的所述第一子集的所述最新近值与针对所述第一实体的特征的所述第一子集的所述先前值相匹配时,在对所述第一评分请求的第一响应中输出针对所述第一实体的所述分数的所述先前值。
20.根据权利要求19所述的非暂态计算机可读存储介质,所述方法还包括:
对针对第二实体的特征的所述第一子集的所述先前值与针对所述第二实体的特征的所述第一子集的所述最新近值执行第二比较;
当所述第二比较指示针对所述第二实体的特征的所述第一子集的所述最新近值与针对所述第二实体的特征的所述第一子集的所述先前值不匹配时,将所述机器学习模型应用于针对所述第二实体的特征的所述第一子集的最新值以产生针对所述第二实体的所述分数的最新值;以及
在对与所述第二实体和所述机器学习模型有关的第二请求的第二响应中输出针对所述第二实体的所述分数的所述最新值。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/787,248 | 2020-02-11 | ||
US16/787,248 US11568314B2 (en) | 2020-02-11 | 2020-02-11 | Data-driven online score caching for machine learning |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113255925A true CN113255925A (zh) | 2021-08-13 |
Family
ID=77177590
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110172663.1A Pending CN113255925A (zh) | 2020-02-11 | 2021-02-08 | 针对机器学习的数据驱动的在线分数高速缓存 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11568314B2 (zh) |
CN (1) | CN113255925A (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11941497B2 (en) * | 2020-09-30 | 2024-03-26 | Alteryx, Inc. | System and method of operationalizing automated feature engineering |
CN115437853B (zh) * | 2022-11-07 | 2023-03-10 | 四川省华存智谷科技有限责任公司 | 系统异常重启下的缓存数据保护方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107851066A (zh) * | 2015-07-16 | 2018-03-27 | 高通股份有限公司 | 基于运行时硬件计数器和对应用的离线建立简档的自适应高速缓存架构 |
CN110347706A (zh) * | 2018-04-03 | 2019-10-18 | 艾玛迪斯简易股份公司 | 用于处理查询的方法、数据库系统和计算机可读存储介质 |
CN110502534A (zh) * | 2018-05-17 | 2019-11-26 | 艾玛迪斯简易股份公司 | 数据库高速缓存 |
US20200005214A1 (en) * | 2018-06-27 | 2020-01-02 | Microsoft Technology Licensing, Llc | Interaction-based predictions and recommendations for applicants |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100318538A1 (en) * | 2009-06-12 | 2010-12-16 | Google Inc. | Predictive searching and associated cache management |
-
2020
- 2020-02-11 US US16/787,248 patent/US11568314B2/en active Active
-
2021
- 2021-02-08 CN CN202110172663.1A patent/CN113255925A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107851066A (zh) * | 2015-07-16 | 2018-03-27 | 高通股份有限公司 | 基于运行时硬件计数器和对应用的离线建立简档的自适应高速缓存架构 |
CN110347706A (zh) * | 2018-04-03 | 2019-10-18 | 艾玛迪斯简易股份公司 | 用于处理查询的方法、数据库系统和计算机可读存储介质 |
CN110502534A (zh) * | 2018-05-17 | 2019-11-26 | 艾玛迪斯简易股份公司 | 数据库高速缓存 |
US20200005214A1 (en) * | 2018-06-27 | 2020-01-02 | Microsoft Technology Licensing, Llc | Interaction-based predictions and recommendations for applicants |
Non-Patent Citations (1)
Title |
---|
CHEN ZHONG, M. CENK GURSOY 等: "A Deep Reinforcement Learning-Based Framework for Content Caching", 《2018 52ND ANNUAL CONFERENCE ON INFORMATION SCIENCES AND SYSTEMS (CISS)》, 24 May 2018 (2018-05-24), pages 2 - 4 * |
Also Published As
Publication number | Publication date |
---|---|
US11568314B2 (en) | 2023-01-31 |
US20210248509A1 (en) | 2021-08-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11526675B2 (en) | Fact checking | |
Lovaglio et al. | Skills in demand for ICT and statistical occupations: Evidence from web‐based job vacancies | |
US11663254B2 (en) | System and engine for seeded clustering of news events | |
Salehi et al. | Personalized recommendation of learning material using sequential pattern mining and attribute based collaborative filtering | |
US8990241B2 (en) | System and method for recommending queries related to trending topics based on a received query | |
US9292545B2 (en) | Entity fingerprints | |
US10102503B2 (en) | Scalable response prediction using personalized recommendation models | |
US20170061341A1 (en) | Workflow management for crowd worker tasks with fixed throughput and budgets | |
US8756178B1 (en) | Automatic event categorization for event ticket network systems | |
AU2014318392B2 (en) | Systems, methods, and software for manuscript recommendations and submissions | |
US20090125382A1 (en) | Quantifying a Data Source's Reputation | |
US10839406B2 (en) | A/B testing for search engine optimization | |
US20100145954A1 (en) | Role Based Search | |
CN110782037A (zh) | 量化机器学习模型中的偏差 | |
US20200320153A1 (en) | Method for accessing data records of a master data management system | |
US11755582B2 (en) | Adaptive field-level matching | |
CN113743615A (zh) | 简化机器学习的特征移除框架 | |
Chung et al. | Categorization for grouping associative items using data mining in item-based collaborative filtering | |
CN113255925A (zh) | 针对机器学习的数据驱动的在线分数高速缓存 | |
US20200043019A1 (en) | Intelligent identification of white space target entity | |
US20140195312A1 (en) | System and method for management of processing workers | |
JP2024008344A (ja) | 情報処理装置、情報処理方法、情報処理プログラム | |
US9965812B2 (en) | Generating a supplemental description of an entity | |
US20080300981A1 (en) | Campaign optimization | |
Dai et al. | The workforce analyzer: group discovery among LinkedIn public profiles |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |