tf.keras.preprocessing.sequence.make_sampling_table
| View source on GitHub |
Генерирует таблицу вероятностного выбора слов, основанную на ранге слов.
tf.keras.preprocessing.sequence.make_sampling_table(
size, sampling_factor=1e-05
)
Используется для генерации аргумента sampling_table для skipgrams. sampling_table[i] — вероятность выбора i-го по частоте слова в наборе данных (более частые слова должны выбираться реже, для баланса).
Вероятности выбора генерируются в соответствии с распределением выборки, используемым в word2vec:
p(word) = (min(1, sqrt(word_frequency / sampling_factor) /
(word_frequency / sampling_factor)))
Мы предполагаем, что частоты слов следуют закону Ципфа (s=1), чтобы получить численное приближение частоты(ранга):
frequency(rank) ~ 1/(rank * (log(rank) + gamma) + 1/2 - 1/(12*rank)) где gamma — постоянная Эйлера-Маскерони.
| Аргументы | |
|---|---|
size | Целое число, количество возможных слов для выбора. |
sampling_factor | Фактор выборки в формуле word2vec. |
| Возвращаемое значение | |
|---|---|
Одномерный массив NumPy длиной size, где i-й элемент — вероятность выбора слова с рангом i. |
© 2022 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 4.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r2.9/api_docs/python/tf/keras/preprocessing/sequence/make_sampling_table