โมเดลการเรียนรู้ทางประสาทเพื่อจัดอันดับ (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 เป็นไลบรารีโอเพ่นซอร์สสำหรับการพัฒนาแบบจำลอง การเรียนรู้เชิง ประสาทที่ปรับขนาดได้ (LTR) แบบจำลองการจัดอันดับมักใช้ในระบบการค้นหาและการแนะนำ แต่ยังประสบความสำเร็จในการใช้งานในด้านต่างๆ เช่น การแปลภาษา ด้วย คอมพิวเตอร์ ระบบการสนทนา ทางอิเล็กทรอนิกส์ ตัวแก้ปัญหา SAT การวางผังเมืองอัจฉริยะ และแม้แต่ ชีววิทยาเชิงคอมพิวเตอร์
โมเดลการจัดอันดับใช้รายการของรายการ (หน้าเว็บ เอกสาร ผลิตภัณฑ์ ภาพยนตร์ ฯลฯ) และสร้างรายการตามลำดับที่เหมาะสมที่สุด เช่น รายการที่เกี่ยวข้องมากที่สุดอยู่ด้านบนและรายการที่เกี่ยวข้องน้อยที่สุดอยู่ด้านล่าง ซึ่งมักจะตอบสนองต่อ แบบสอบถามผู้ใช้:
![](https://www.tensorflow.org/static/ranking/images/ranking-overview.jpeg?authuser=2&hl=th)
ไลบรารีนี้รองรับฟังก์ชันการสูญเสียมาตรฐานแบบ pointwise, pairwise และ listwise สำหรับรุ่น LTR นอกจากนี้ยังรองรับเมตริกการจัดอันดับที่หลากหลาย รวมถึง Mean Reciprocal Rank (MRR) และ Normalized Discounted Cumulative Gain (NDCG) เพื่อให้คุณสามารถประเมินและเปรียบเทียบวิธีการเหล่านี้สำหรับงานจัดอันดับของคุณ ไลบรารีการจัดอันดับยังมีฟังก์ชันสำหรับแนวทางการจัดอันดับที่ได้รับการปรับปรุงซึ่งได้รับการวิจัย ทดสอบ และสร้างโดยวิศวกรแมชชีนเลิร์นนิงของ Google
เริ่มต้นใช้งานไลบรารี TensorFlow Ranking โดยดูจากบทช่วย สอน เรียนรู้เพิ่มเติมเกี่ยวกับความสามารถของไลบรารีโดยอ่าน ภาพรวม ตรวจสอบซอร์สโค้ดสำหรับการจัดอันดับ TensorFlow บน GitHub