احضر ندوة النساء في غسل الأموال في 7 ديسمبر. سجل الآن

التعلم العصبي القابل للتطوير لنماذج الترتيب (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). تُستخدم نماذج التصنيف عادةً في أنظمة البحث والتوصية ، ولكن تم تطبيقها أيضًا بنجاح في مجموعة متنوعة من المجالات ، بما في ذلك الترجمة الآلية ، والتجارة الإلكترونية لأنظمة الحوار ، وحلول SAT ، وتخطيط المدن الذكية ، وحتى علم الأحياء الحسابي.

يأخذ نموذج الترتيب قائمة بالعناصر (صفحات الويب ، والمستندات ، والمنتجات ، والأفلام ، وما إلى ذلك) وينشئ قائمة بترتيب مُحسَّن ، مثل العناصر الأكثر صلة في الأعلى والعناصر الأقل صلة في الأسفل ، عادةً استجابةً لـ استعلام المستخدم:

تدعم هذه المكتبة وظائف الخسارة المعيارية ، والزوجية ، والقائمة لنماذج LTR. كما أنه يدعم مجموعة واسعة من مقاييس الترتيب ، بما في ذلك متوسط ​​الترتيب المتبادل (MRR) والمكاسب التراكمية المخصومة المعيارية (NDCG) ، بحيث يمكنك تقييم ومقارنة هذه الأساليب لمهمة الترتيب الخاصة بك. توفر مكتبة التصنيف أيضًا وظائف لتحسين مناهج التصنيف التي يتم البحث عنها واختبارها وبناءها بواسطة مهندسي التعلم الآلي في Google.

ابدأ مع مكتبة TensorFlow Ranking عن طريق مراجعة البرنامج التعليمي . تعرف على المزيد حول إمكانات المكتبة من خلال قراءة نظرة عامة تحقق من الكود المصدري لترتيب TensorFlow على GitHub .