Operator:通用特征处理逻辑,根据功能的不同又可以分为两类:
- IO OP:用处理原始特征的获取,如从KV里获取数据,或者从对应的第三方服务中获取数据 。内置批量接口,可以实现批量召回,减少RPC 。
- Calc OP:用于处理对获取到的原始特征做与模型无关的逻辑处理,如拆分、判空、组合 。业务可以结合需求实现特征处理逻辑 。
Transformer:用于处理与模型相关的特征逻辑,如分桶、低频过滤等等 。一个特征可以配置一个或者多个Transformer 。Transformer也提供接口,业务方可以根据自己的需求定制逻辑 。
- 离在线统一逻辑:Transformer是特征处理的模型相关逻辑,因此我们将Transformer逻辑单独抽包,在我们样本生产的过程中使用,保证离线样本生产与线上特征处理逻辑的一致性 。
![智能搜索模型预估框架的建设与实践](http://img.jiangsulong.com/220418/1404532414-9.jpg)
文章插图
4.1.2 特征计算DSL
有了Operator的概念,为了方便业务方进行高效的特征迭代,Augur设计了一套弱类型、易读的特征表达式语言,将特征看成一系列OP与其他特征的组合,并基于Bison&JFlex构建了高性能语法和词法解析引擎 。我们在解释执行阶段还做了一系列优化,包括并行计算、中间特征共享、异步IO,以及自动RPC聚合等等 。
![智能搜索模型预估框架的建设与实践](http://img.jiangsulong.com/220418/14045355G-10.jpg)
文章插图
举个例子:
// IO Feature: binaryBusinessTime; ReadKV 是一个 IO 类型的 OPReadKV('mtptpoionlinefeatureexp','_id',_id,'ba_search.platform_poi_business_hour_new.binarybusinesstime','STRING')// FeatureA : CtxDateInfo; ParseJSON 是一个 Calc 类型的 OPParseJSON(_ctx['dateInfo']);// FeatureB : isTodayWeekend 需要看 Json 这种的日期是否是周末, 便可以复用 CtxDateInfo 这个特征; IsWeekend 也是是一个 Calc 类型的 OPIsWeekend(CtxDateInfo['date'])
在上面的例子中,ParseJSON与IsWeekend都是OP,CtxDateInfo与isTodayWeekend都是由其他特征以及OP组合而成的特征 。通过这种方式,业务方根据自己的需求编写OP , 可以快速复用已有的OP和特征,创造自己需要的新特征 。而在真实的场景中,IO OP的数量相对固定 。所以经过一段时间的累计,OP的数量会趋于稳定,新特征只需基于已有的OP和特征组合即可实现,非常的高效 。4.1.3 配置化的模型表达
特征可以用利用OP、使用表达式的方式去表现,但特征还可能需要经过Transformer的变换 。为此,我们同样为模型构建一套可解释的JSON表达模板,模型中每一个特征可以通过一个JSON对象进行配置,以一个输入到TF模型里的特征结构为例:
// 一个的特征的 JSON 配置{ "tf_input_config": {"otherconfig"}, "tf_input_name": "modulestyle", "name": "moduleStyle", "transforms": [ // Transfomers:模型相关的处理逻辑,可以有多个,Augur 会按照顺序执行 { "name": "BUCKETIZE", // Transfomer 的名称:这里是分桶 "params": { "bins": [0,1,2,3,4] // Transfomer 的参数 } } ], "default_value": -1}
通过以上配置,一个模型可以通过特征名和Transformer的组合清晰地表达 。因此,模型与特征都只是一段纯文本配置,可以保存在外部,Augur在需要的时候可以动态的加载,进而实现模型和特征的上线配置化,无需编写代码进行上线,安全且高效 。
推荐阅读
- 智能无人车亮相北京朝阳公园
- 数据源管理 | 搜索引擎框架,ElasticSearch集群模式
- Aqara|Aqara智能窗帘神器开卖:即挂即用 支持小爱、Siri
- 淘宝旺铺专业版和智能版区别 淘宝旺铺智能版怎么用
- 淘宝热词榜 怎么看淘宝搜索热词
- 程序员客栈 V4.18 版本更新:技术信用认证与全站搜索
- 深入聊聊Linux 五种IO模型
- 历史+科技的结合 OPPO智能音箱亮相
- 高通推出全球首个5G和人工智能机器人平台,30+公司参与生态建设
- 首期人工智能导论全国师资培训“云结业”