مدلهای مقیاسپذیر، یادگیری عصبی برای رتبهبندی (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) و سود تجمعی تنزیلشده عادی (NDCG) پشتیبانی میکند، بنابراین میتوانید این رویکردها را برای کار رتبهبندی خود ارزیابی و مقایسه کنید. کتابخانه رتبهبندی همچنین عملکردهایی را برای رویکردهای رتبهبندی پیشرفته ارائه میدهد که توسط مهندسین یادگیری ماشین در Google مورد تحقیق، آزمایش و ساخته شدهاند.
با بررسی این آموزش ، با کتابخانه رتبه بندی TensorFlow شروع کنید. با مطالعه مرور کلی درباره قابلیت های کتابخانه بیشتر بیاموزید کد منبع رتبه بندی TensorFlow را در GitHub بررسی کنید.