مقیاس پذیر، یادگیری عصبی برای رتبه بندی مدل های (LTR).

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 = {
    name: tf.keras.Input(shape=(None, 1), dtype=tf.float32, name=name)
    for name in ds.element_spec[0]
    if name != "_mask"
}
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 رتبه بندی یک کتابخانه منبع باز برای توسعه مقیاس پذیر، عصبی است یادگیری به رتبه مدل (LTR). مدل های رتبه بندی به طور معمول در سیستم های جستجو و توصیه استفاده می شود، اما همچنین با موفقیت در یک طیف گسترده ای از زمینه ها از جمله اعمال ترجمه ماشینی ، سیستم های گفت و گو تجارت الکترونیک ، حل کننده شنبه ، برنامه ریزی شهرستان هوشمند ، و حتی زیست شناسی محاسباتی.

یک مدل رتبه‌بندی فهرستی از موارد (صفحات وب، اسناد، محصولات، فیلم‌ها و غیره) را می‌گیرد و فهرستی را به ترتیب بهینه‌سازی‌شده تولید می‌کند، مانند بیشتر موارد مرتبط در بالا و کمترین موارد مرتبط در پایین، معمولاً در پاسخ به یک پرسش کاربر:

این کتابخانه از توابع استاندارد از دست دادن نقطه ای، زوجی و لیستی برای مدل های LTR پشتیبانی می کند. این برنامه همچنین از طیف گسترده ای از معیارهای رتبه بندی، از جمله میانگین متقابل رتبه (MRR) و نرمال تخفیف تجمعی به دست آوردن (NDCG)، بنابراین شما می توانید ارزیابی و مقایسه این روش برای کار رتبه بندی خود را. کتابخانه رتبه‌بندی همچنین عملکردهایی را برای رویکردهای رتبه‌بندی پیشرفته ارائه می‌کند که توسط مهندسین یادگیری ماشین در Google مورد تحقیق، آزمایش، و ساخته شده‌اند.

شروع به کار با کتابخانه رتبه بندی TensorFlow با چک کردن آغاز شده آموزش . اطلاعات بیشتر در مورد قابلیت های کتابخانه با خواندن بررسی اجمالی اتمام کد منبع برای TensorFlow رتبه بندی در گیتهاب .