当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python tf.keras.preprocessing.sequence.make_sampling_table用法及代码示例


生成一个基于单词等级的概率抽样表。

用法

tf.keras.preprocessing.sequence.make_sampling_table(
    size, sampling_factor=1e-05
)

参数

  • size Int,要采样的可能单词数。
  • sampling_factor word2vec 公式中的采样因子。

返回

  • 一个长度为 size 的一维 Numpy 数组,其中第 i 个条目是应该对排名为 i 的单词进行采样的概率。

用于为 skipgrams 生成 sampling_table 参数。 sampling_table[i] 是对数据集中最常见的单词i-th 进行采样的概率(为了平衡,更常见的单词应该不那么频繁地采样)。

采样概率是根据 word2vec 中使用的采样分布生成的:

p(word) = (min(1, sqrt(word_frequency / sampling_factor) /
    (word_frequency / sampling_factor)))

我们假设词频遵循 Zipf 定律 (s=1) 以得出频率(秩)的数值近似:

frequency(rank) ~ 1/(rank * (log(rank) + gamma) + 1/2 - 1/(12*rank)) 其中 gamma 是 Euler-Mascheroni 常数。

相关用法


注:本文由纯净天空筛选整理自tensorflow.org大神的英文原创作品 tf.keras.preprocessing.sequence.make_sampling_table。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。