Mô hình học thần kinh để xếp hạng (LTR) có thể mở rộng

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)
Run trong Notebook

TensorFlow Ranking là một thư viện mã nguồn mở để phát triển khả năng mở rộng, thần kinh học tập để rank mô hình (LTR). Mô hình xếp hạng thường được sử dụng trong các hệ thống tìm kiếm và giới thiệu, nhưng cũng đã được áp dụng thành công trong nhiều lĩnh vực, bao gồm cả dịch máy , hệ thống đối thoại thương mại điện tử , giải quyết SAT , quy hoạch thành phố thông minh , và thậm chí sinh học tính toán.

Mô hình xếp hạng lấy danh sách các mục (trang web, tài liệu, sản phẩm, phim, v.v.) và tạo danh sách theo thứ tự được tối ưu hóa, chẳng hạn như các mục có liên quan nhất ở trên cùng và các mục ít liên quan nhất ở dưới cùng, thường là để đáp ứng với một truy vấn của người dùng:

Thư viện này hỗ trợ các hàm tiêu chuẩn theo chiều điểm, theo cặp và theo danh sách cho các mô hình LTR. Nó cũng hỗ trợ một loạt các số liệu bảng xếp hạng, trong đó có Mean đối ứng Rank (MRR) và bình thường hóa chiết khấu tích lũy Gain (NDCG), vì vậy bạn có thể đánh giá và so sánh các phương pháp tiếp cận cho nhiệm vụ xếp hạng của bạn. Thư viện Xếp hạng cũng cung cấp các chức năng cho các phương pháp xếp hạng nâng cao do các kỹ sư máy học tại Google nghiên cứu, thử nghiệm và xây dựng.

Hãy bắt đầu với thư viện Ranking TensorFlow bằng cách xem các hướng dẫn . Tìm hiểu thêm về khả năng của thư viện bằng cách đọc Tổng quan Kiểm tra mã nguồn cho TensorFlow Xếp hạng trên GitHub .