מודלים ניתנים להרחבה, למידה עצבית לדירוג (LTR), מודלים ניתנים להרחבה, למידה עצבית לדירוג (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 = {
    "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 היא ספריית קוד פתוח לפיתוח מודלים ניתנים להרחבה של למידה עצבית לדירוג (LTR). מודלים של דירוג משמשים בדרך כלל במערכות חיפוש והמלצות, אך יושמו בהצלחה גם במגוון רחב של תחומים, כולל תרגום מכונה , מערכות דיאלוג מסחר אלקטרוני , פותרי SAT , תכנון ערים חכם , ואפילו ביולוגיה חישובית.

מודל דירוג לוקח רשימה של פריטים (דפי אינטרנט, מסמכים, מוצרים, סרטים וכו') ויוצר רשימה בסדר אופטימלי, כגון הפריטים הרלוונטיים ביותר למעלה והפריטים הפחות רלוונטיים בתחתית, בדרך כלל בתגובה ל שאילתת משתמש:

ספרייה זו תומכת בפונקציות אובדן נקודתיות, זוגיות ורשמיות סטנדרטיות עבור דגמי LTR. זה גם תומך במגוון רחב של מדדי דירוג, כולל דירוג הדדי ממוצע (MRR) ו- Normalized Discounted Cumulative Gain (NDCG), כך שתוכל להעריך ולהשוות גישות אלו עבור משימת הדירוג שלך. ספריית הדירוג מספקת גם פונקציות לגישות דירוג משופרות שנחקרות, נבדקות ונבנות על ידי מהנדסי למידת מכונה בגוגל.

התחל עם ספריית דירוג TensorFlow על ידי עיון במדריך . למד עוד על היכולות של הספרייה על ידי קריאת סקירה כללית בדוק את קוד המקור של TensorFlow דירוג ב- GitHub .