Ölçeklenebilir, sinirsel sıralamaya göre öğrenme (LTR) modelleri,Ölçeklenebilir, sinirsel sıralamaya göre öğrenme (LTR) modelleri

import tensorflow as tf
import tensorflow_datasets as tfds
import tensorflow_ranking as tfr

# Prep data
ds = tfds.load("mslr_web/10k_fold1", split="train")
ds = ds.map(lambda feature_map: {
    "_mask": tf.ones_like(feature_map["label"], dtype=tf.bool),
    **feature_map
})
ds = ds.shuffle(buffer_size=1000).padded_batch(batch_size=32)
ds = ds.map(lambda feature_map: (
    feature_map, tf.where(feature_map["_mask"], feature_map.pop("label"), -1.)))

# Create a model
inputs = {
    "float_features": tf.keras.Input(shape=(None, 136), dtype=tf.float32)
}
norm_inputs = [tf.keras.layers.BatchNormalization()(x) for x in inputs.values()]
x = tf.concat(norm_inputs, axis=-1)
for layer_width in [128, 64, 32]:
  x = tf.keras.layers.Dense(units=layer_width)(x)
  x = tf.keras.layers.Activation(activation=tf.nn.relu)(x)
scores = tf.squeeze(tf.keras.layers.Dense(units=1)(x), axis=-1)

# Compile and train
model = tf.keras.Model(inputs=inputs, outputs=scores)
model.compile(
    optimizer=tf.keras.optimizers.Adam(learning_rate=0.01),
    loss=tfr.keras.losses.SoftmaxLoss(),
    metrics=tfr.keras.metrics.get("ndcg", topn=5, name="NDCG@5"))
model.fit(ds, epochs=3)

TensorFlow Ranking, ölçeklenebilir, sinirsel öğrenmeden sıralamaya (LTR) modeller geliştirmeye yönelik açık kaynaklı bir kitaplıktır. Sıralama modelleri tipik olarak arama ve öneri sistemlerinde kullanılır, ancak makine çevirisi , diyalog sistemleri e-ticaret , SAT çözücüler , akıllı şehir planlaması ve hatta hesaplamalı biyoloji dahil olmak üzere çok çeşitli alanlarda başarıyla uygulanmıştır.

Bir sıralama modeli, öğelerin (web sayfaları, belgeler, ürünler, filmler vb.) bir listesini alır ve genellikle yanıt olarak en alakalı öğeler üstte ve en az alakalı öğeler gibi optimize edilmiş bir sırayla bir liste oluşturur. bir kullanıcı sorgusu:

Bu kitaplık, LTR modelleri için standart noktasal, ikili ve liste düzeyinde kayıp işlevlerini destekler. Ayrıca, Ortalama Karşılıklı Sıra (MRR) ve Normalleştirilmiş İndirimli Kümülatif Kazanç (NDCG) dahil olmak üzere çok çeşitli sıralama ölçümlerini destekler, böylece sıralama göreviniz için bu yaklaşımları değerlendirebilir ve karşılaştırabilirsiniz. Sıralama kitaplığı ayrıca Google'daki makine öğrenimi mühendisleri tarafından araştırılan, test edilen ve oluşturulan gelişmiş sıralama yaklaşımları için işlevler sağlar.

Öğreticiye göz atarak TensorFlow Sıralaması kitaplığını kullanmaya başlayın. Genel Bakış'ı okuyarak kitaplığın yetenekleri hakkında daha fazla bilgi edinin GitHub'da TensorFlow Sıralaması için kaynak kodunu inceleyin.