स्केलेबल, न्यूरल लर्निंग टू रैंक (एलटीआर) मॉडल, स्केलेबल, न्यूरल लर्निंग टू रैंक (एलटीआर) मॉडल

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 रैंकिंग स्केलेबल, न्यूरल लर्निंग टू रैंक (LTR) मॉडल विकसित करने के लिए एक ओपन-सोर्स लाइब्रेरी है। रैंकिंग मॉडल आमतौर पर खोज और सिफारिश प्रणालियों में उपयोग किए जाते हैं, लेकिन मशीन अनुवाद , संवाद प्रणाली ई-कॉमर्स , एसएटी सॉल्वर , स्मार्ट सिटी प्लानिंग और यहां तक ​​​​कि कम्प्यूटेशनल जीवविज्ञान सहित विभिन्न प्रकार के क्षेत्रों में सफलतापूर्वक लागू किए गए हैं।

एक रैंकिंग मॉडल वस्तुओं (वेब ​​पेजों, दस्तावेजों, उत्पादों, फिल्मों, आदि) की एक सूची लेता है और एक अनुकूलित क्रम में एक सूची तैयार करता है, जैसे कि शीर्ष पर सबसे अधिक प्रासंगिक आइटम और नीचे सबसे कम प्रासंगिक आइटम, आमतौर पर प्रतिक्रिया में एक उपयोगकर्ता क्वेरी:

यह पुस्तकालय एलटीआर मॉडल के लिए मानक बिंदुवार, जोड़ीवार और सूचीवार हानि कार्यों का समर्थन करता है। यह मीन रेसिप्रोकल रैंक (MRR) और नॉर्मलाइज़्ड डिस्काउंटेड संचयी लाभ (NDCG) सहित रैंकिंग मेट्रिक्स की एक विस्तृत श्रृंखला का भी समर्थन करता है, ताकि आप अपने रैंकिंग कार्य के लिए इन दृष्टिकोणों का मूल्यांकन और तुलना कर सकें। रैंकिंग लाइब्रेरी उन्नत रैंकिंग दृष्टिकोणों के लिए कार्य भी प्रदान करती है जो Google में मशीन लर्निंग इंजीनियरों द्वारा शोध, परीक्षण और निर्मित किए जाते हैं।

ट्यूटोरियल की जाँच करके TensorFlow रैंकिंग लाइब्रेरी के साथ शुरुआत करें। लाइब्रेरी की क्षमताओं के बारे में अधिक जानें अवलोकन को पढ़कर GitHub पर TensorFlow रैंकिंग के लिए स्रोत कोड देखें।