我想将不属于训练样本的单词(即<mask>
和<pad>
标记(添加到tft.vocabulary
创建的词汇表中。
我在文档中看到,tft.vocabulary
函数可以接受一个参数key_fn
,文档中说:
如果您想生成覆盖特定密钥的词汇表,请提供key_fn。
,但下面的key_fn仍然不会将<mask>
和<pad>
标记附加到词汇表中。
def _key_fn(x):
return tf.constant(['<mask>', '<pad>'])
vocab = tft.vocabulary(
words,
key_fn = lambda x : _key_fn(x),
top_k = config.VOCAB_SIZE
)
您想要实现什么?
我不认为key_fn
是相关的,因为它只影响词汇表的排序(以及提供的前k(
你能在添加信息后计算一下词汇表吗?
tft.vocabulary(tf.strings.join([words, <mask>, <pad>]), ...)
这将导致词汇表包括添加的后缀