スケーラブルなニューラルラーニングトゥランク(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ソルバー、スマート都市計画、さらには計算生物学。
ランキングモデルは、アイテム(Webページ、ドキュメント、製品、映画など)のリストを取得し、最適化された順序でリストを生成します。たとえば、最も関連性の高いアイテムを上に、最も関連性の低いアイテムを下に配置します。ユーザークエリ:

このライブラリは、LTRモデルの標準の点ごと、ペアごと、およびリストごとの損失関数をサポートします。また含め、ランキングメトリックの広い範囲で、サポート平均相互ランク(MRR)をし、正規化は、累積ゲイン割引(NDCG)を、あなたは評価し、比較することができますので、これらは、あなたの順位のタスクに近づきます。ランキングライブラリは、Googleの機械学習エンジニアによって調査、テスト、構築された、強化されたランキングアプローチのための機能も提供します。
チェックアウトしTensorFlowランキングライブラリを使ってみるチュートリアルを。読むことによって、ライブラリの機能についての詳細はこちら概要TensorFlowが上のランキングのためのソースコードをチェックアウトをGitHubの。