// Contains features required for Ranker model inference and training.
syntax = "proto2";
option optimize_for = LITE_RUNTIME;
package assist_ranker;
message ExamplePreprocessorConfig {
// A list of features names for which you want to do special handling if
// the feature is missing in the RankerExample.
repeated string missing_features = 1;
// Boundaries to bucketize a feature.
message Boundaries { repeated float boundaries = 1; }
// A map of feature_name to boundaries for bucketizing this feature.
map<string, Boundaries> bucketizers = 2;
// A map from feature_fullnames to indices for vectorizing a RankerExample.
// A feature fullname is defined as:
// (1) feature_name if it's bool_value, int64_value or float_value.
// (2) a combination of feature_name and feature_value if it's string_value
// or i-th element of a string_list.
map<string, int32> feature_indices = 3;
// A map from feature name to a float value to normalize the original value.
// The new feature value is set as float_value of
// GetFeatureValueAsFloat(feature) / normalizers[feature_name]
// The specified feature must be convertible to float (e.g. int32 or float).
map<string, float> normalizers = 4;
// Features inside this list will be converted to string_value. bool_value,
// int32_value will be converted by base::NumberToString; string_value will be
// kept as original; fails for other feature_types.
repeated string convert_to_string_features = 5;
}