python - 是否可以重新训练 Google 的通用句子编码器,使其在编码句子时考虑关键字?

标签 python nlp tensorflow-hub sentence-similarity

我对加载通用句子编码器 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 模块都没有什么问题。

编辑:另请参阅https://github.com/tensorflow/hub/issues/355

关于python - 是否可以重新训练 Google 的通用句子编码器,使其在编码句子时考虑关键字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58485621/

相关文章:

character-encoding - 如何识别网站的字符编码?

parsing - Go 中的上下文无关文法 (CFG) 解析器

python - 调用 app.MainLoop() 后更新 wxPython 进度条

python - 我可以使用函数参数来创建全局变量吗?

python - 是否有实例方法

tensorflow - 在自定义数据上微调 BERT

tensorflow - 使用附加数据重新训练现有的基本 BERT 模型

python - 使用 Tensorflow-Hub 中的 ELMo 时内存消耗大幅增加

python - 使用 ELMo 嵌入段落

python - 无法从 '_png' 导入名称 'matplotlib'