我对加载通用句子编码器 3 时设置 trainable = True
的含义有点困惑。我有一个小语料库(3000 个不同的句子),给定一个我想找到的句子10 个最相似的句子。
我目前的方法是:
1) 加载模块
embed = hub.Module("path", trainable =False)
2) 对所有句子进行编码:
session.run(嵌入(句子))
3)使用余弦相似度查找最接近的句子。
它的性能不错,但我希望模型能够根据我自己的字典进行微调,因为有些关键字比其他关键字更重要。因此这不是一个分类问题。当查看模块中重新训练的现有示例时( https://www.tensorflow.org/hub/tutorials/text_classification_with_tf_hub ),它是为了分类。
是否可以让通用句子编码器重新训练我的关键字并输出不同的嵌入(例如通过设置 trainable = True
)?
最佳答案
设置hub.Module(..., trainable=True)
不允许更改词汇表,但它使模块的变量可训练,这可能足以捕获现有单词相关性的机会。
预训练的词嵌入,例如 U.S.E.往往适用于各种任务(包括分类、回归、嵌入空间中的邻近搜索)。一般来说,对于其中任何一个使用相同的 TF Hub 模块都没有什么问题。
关于python - 是否可以重新训练 Google 的通用句子编码器,使其在编码句子时考虑关键字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58485621/