问题标签 [sentence-transformers]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
26 浏览

python - 在 cpanel 的 python 应用程序中导入 SentenceTransformer 时出现分段错误错误

在 cpanel 我创建了一个 python 程序,它适用于我运行的每个 python 代码,但是在安装并在 python sentence-transformerswithpip中导入它之后from sentence_transformers import SentenceTransformerSegmentation fault当我运行.py文件时出现错误。

0 投票
2 回答
161 浏览

nlp - 与 BERT 的字符串比较似乎忽略了句子中的“不”

我使用 SentenceTransformers 和 BERT 实现了一个字符串比较方法,如下所示

请注意我的句子示例非常相似但含义相反。问题是余弦相似度返回 0.9,表明这两个字符串在上下文中非常相似,而我期望它返回接近零的值,因为它们具有相反的含义。

如何调整我的代码以返回更准确的结果?

0 投票
0 回答
103 浏览

python - 解码从 SentenceTransformer 派生的句子表示

是否可以将从 SentenceTransformer 派生的句子表示解码回句子?

请参阅文档中的示例

我想解码表示以获得句子

0 投票
1 回答
91 浏览

nlp - 限制 BERT 编码器-解码器文本生成的词汇

有没有办法限制 Huggingface BERT 编码器-解码器模型中解码器的词汇量?我想强制解码器在生成文本时从一个小词汇表中进行选择,而不是 BERT 的整个约 30k 词汇表。

0 投票
0 回答
259 浏览

python - RuntimeError:堆栈需要一个非空的 TensorList

我正在尝试创建一个嵌入以用于单词匹配技术,但出现以下错误:

我似乎不明白为什么会发生这种情况,因为我的第二个嵌入(2)没有任何错误就很好地完成了?

如果有帮助,这里是一些代码:

0 投票
0 回答
742 浏览

bert-language-model - 微调 BERT 句子转换器模型

我正在使用预训练的 BERT 句子转换器模型,如此处所述https://www.sbert.net/docs/training/overview.html来获取句子的嵌入。

我想微调这些预训练的嵌入,我按照上面链接的教程中的说明进行操作。根据本教程,您可以通过输入句子对和一个标签分数来微调预训练模型,该标签分数表示成对中两个句子之间的相似性分数。我了解这种微调是使用下图所示的架构进行的:

在此处输入图像描述

对中的每个句子首先使用 BERT 模型进行编码,然后“池化”层聚合(通常通过取平均值)由 Bert 层生成的词嵌入,从而为每个句子生成单个嵌入。在最后一步计算两个句子嵌入的余弦相似度,并与标签分数进行比较。

我的问题是 - 在使用给定架构微调模型时,哪些参数正在优化?是不是只微调了BERT模型最后一层的参数?通过查看教程中显示的微调模型的代码示例,我不清楚这一点。

0 投票
1 回答
248 浏览

nlp - 如何从本地路径加载带有 SentenceTransformers 的 Bert 预训练模型?

我正在使用 SentenceTransformer 库来使用 Bert 预训练模型我在 google Colabs 中下载了文件并使用以下命令保存了它:

这些给了我一个包含我的模型的文件夹,然后我下载该文件夹并想在我的本地文件中使用以下代码:

但现在它不能正常工作,我得到这个错误,' NameError: name 'model' is not defined ' 如何加载我保存到路径的模型?

0 投票
1 回答
517 浏览

nlp - 如何在变压器和火炬中使用句子 bert

我想使用sentence_transformers
但由于政策限制我无法安装 package sentence-transformers

我有变压器和手电筒包。

我去了这个页面并尝试运行以下代码

在此之前,我去了页面并下载了所有文件

我运行的代码是

我得到的错误如下

我的问题:

  1. 我应该如何解决这个错误?
  2. 有没有办法对MiniLM-L6-H384-uncased -使用相同的方法。我想使用它,因为它似乎更快

=============================== 软件包版本如下 -

0 投票
0 回答
92 浏览

huggingface-transformers - 为什么三个嵌入结果与 Transformer 模型如此不同?

我想从转换器模型中获得短文本嵌入,所以我测试了 3 种计算方法。所有 3 个案例都使用 Huggingface Hub 的模型。

两种方法都使用中国模式:

第三种方法直接使用句子转换器模型(https://www.sbert.net/):

现在我测试了'这个好'和其他几个句子的相似度,结果如下(基于cosine_similarity):

很明显,这 3 种方法产生了非常不同的相似度分数,第 3 种方法似乎是最好的。如果它们略有不同,那是可以理解的。如果它们如此不同,应该使用哪一个?

我喜欢第三种方法的结果,但是在测试这几句话时,它在 CPU 和 GPU 机器上都非常慢。其他2个要快得多。

0 投票
0 回答
131 浏览

python - 在没有 GPU 的情况下提高拥抱面变压器模型的模型预测时间

我在很多任务中使用了拥抱脸变压器模型,效果很好,但唯一的问题是响应时间。生成结果大约需要 6-7 秒,有时甚至需要大约 15-20 秒。我在使用 GPU 的 google collab 上进行了尝试,GPU 的性能在处理结果的几秒钟内太快了。由于我当前服务器上的 GPU 存在限制,是否有任何方法可以增加仅使用 CPU 的模型的响应时间。

目前使用 GooglePegasus 模型进行文本摘要。 https://huggingface.co/google/pegasus-xsum

和 Parrot 释义:内部使用来自变形金刚的 bert 模型 https://huggingface.co/prithivida/parrot_paraphraser_on_T5

这是飞马模型的代码:

稍有改善也会有所帮助!