FeatureColumn是Tensorflow 特征 工程的一类接口在文本类算法中应用广泛 。在文本类算法中特征工程的目的是将文本转化为向量即Embedding操作)。FeatureColumn中提供了丰富的基本转化操作用户可以通过组合不同的FeatureColumn来实现自己的 特征工程 。下面介绍几种常见的特征工程组合 。
FeatureColumn对于利用 Tensorflow 开发算法来说 ,最重要的意义有两点:
- 支撑可配置化的特征工程
- 支撑算法实现 与 数据源 隔离
这两点是实现通用算法以及算法市场的基础,即同一个算法实现可以通过不同的特征工程配置应用到不同的业务领域对接不同的数据源。
FeatureColumn的每一个 节点是一个独立的处理单元,特征工程通过将不同的功能单元连接在一起组合实现。且处理结果是与原始数据无关的特征向量 。因此可以将特征处理过程用DAG有向无环图表示 ,形成前端可配置的拖拽化产品。后端的算法实现 (网络层构建)则完全面向特征向量,与数据源解耦,无需关心数据源字段和数据类型构成通用的算法实现 。达到在不同业务类似场景之间自由配置应用算法的目的。在我的工作经验中,基于配置化特征工程和通用算法实现,能够在多条业务线快速推广优秀算法快速取得业务收益极大提高业务线之间协同效率和拿取算法红利能力 。