问题标签 [elmo]
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.
python - 使用 Elmo 模型预测句子中的掩码词
我有一个作业,要求我构建一个可以从句子中猜出缺失单词的算法。例如,当输入句子是:“I take my **** for a walk this morning”时,我希望输出猜测丢失的单词(dog)。我的任务要求我从头开始训练自己的模型。我建立了我的语料库,它有大约 500.000 个句子。我清理了语料库。它都是小写的,每个句子都用换行符 (\n) 分隔。我也有 words.txt 文件,它按频率降序列出所有唯一单词。词汇文件以前 3 行 'S'、'/S' 和 'UNK' 开头(这 3 个标记在词汇表中用 <> 包围,但在本网站中使用 <> 会出于某种原因隐藏它们之间的字符) .
我按照https://github.com/allenai/bilm-tf中的说明进行操作,它提供了使用 Elmo 从头开始训练您自己的模型的步骤。
在收集了 data.txt 和词汇文件后,我使用了
并使用 tensorflow 和启用 CUDA 的 gpu 训练我的语料库。
训练完成后,我使用了以下命令:
这给了我 weights.hdf5 和 options.json 文件。我在训练模型时收到的唯一警告是:
在 AllenAI repo 中提到它是无害的。因此可以安全地假设模型训练阶段已正确完成。我的问题是,在此之后我不知道该怎么做。在这个 stackOverflow 链接Predicting Missing Words in a sentence - Natural Language Processing Model中,答案表明可以使用以下代码来预测丢失的单词:
不幸的是,上面的代码是针对 Bert 模型的。我的任务要求我使用 Elmo 模型。我试图为 Elmo 找到一个类似于 pytorch_pretrained_bert的库,但我找不到任何东西。我可以做些什么来使用我的 Elmo 模型来预测被屏蔽的单词?
谢谢。
python - 使用 Tensorflow-Hub 中的 ELMo 时显着增加内存消耗
我目前正在尝试比较数百万个文档的相似性。对于 CPU 上的第一次测试,我将它们减少到每个大约 50 个字符,并尝试一次获得 10 个字符的 ELMo 嵌入,如下所示:
然而,即使是这个小例子,在大约 300 个句子(甚至不保存向量)之后,程序也会消耗高达 12GB 的 RAM。这是一个已知问题(我发现的其他问题提出了类似的问题,但不是那么极端)还是我犯了错误?
nlp - word2vec、glove 和 elmo 有什么区别?
word2vec、glove 和 elmo 有什么区别?根据我的理解,它们都用于训练词嵌入,对吗?
python - 我们如何修复以下错误“InternalError:无法将元素作为字节获取”?
我是一名学生,我正在尝试在 keras 上使用 elmo 实现文本分类。我从 tensorflow-hub 导入了 elmo 层。
模型 :
x 和 y 是 int32 numpy 数组
在实现上述代码时,我收到以下错误
更新代码
新错误
tensorflow - 混淆 tensorflow hub 中 elmo 模型的参数“tokens_length”
我正在 tensorflow hub 中查看 ELMo 模型,我不太清楚tokens_length = [6, 5]在流程示例使用中的含义:(https://tfhub.dev/google/elmo/2)
它不喜欢输入标记句子的最大长度,也不喜欢 [每个句子的最大单词数,句子数],这让我感到困惑。有人可以解释一下吗?谢谢!
python-3.x - 为俄语微调 ELMO
如何微调俄语的 ELMO 模型?如果我想用 AllenNLP 做到这一点,我需要一些 options.json 文件,但我不知道从哪里得到它
python - Keras PREDICTION 抛出'TypeError:ufunc'add'不包含签名匹配类型dtype的循环('
我构建了一个具有以下结构的槽填充(一种序列分类)模型:自定义 ELMo 嵌入层 - BiLSTM - CRF。
它训练得很好。但在预测中我得到:
'TypeError: ufunc 'add' did not co
我构建了一个具有以下结构的槽填充(一种序列分类)模型:自定义 ELMo 嵌入层 - BiLSTM - CRF。
它训练得很好。但在预测中我得到:
注意:U4 是一个无符号整数。
在此处的类似问题中,建议“使用预测时,test_data 应与 type(training_data[0]) 的数据类型相同,并且它将返回 type(training_labels[0]) 的数据类型”。我已经确认是的,我的每个测试样本都与 training_data[0] 类型相同。
本文末尾的完整错误消息。
注意:这个问题可能与我之前需要将我的训练和测试数据更改为 np.strings 的事实有关,使用:
这是为了避免在模型构建过程中出错,即:str没有属性ndim。如果我不将测试数据转换为 np.str,我会再次收到此错误。
一位同事认为问题出在 Keras 深处某个地方的 add 方法(见错误)。显然,这是一种使用无符号整数的特殊添加方法,它不应该引起这样的问题。
自定义层松散地基于此人的存储库
重现错误:我在这里设置了一个包含代码和一些虚拟数据的 github 存储库
完整错误:
我认为我更喜欢的可能性是允许许可!采用可选参数,以允许这样做。
你可以参考这个这个
我构建了一个具有以下结构的槽填充(一种序列分类)模型:自定义 ELMo 嵌入层 - BiLSTM - CRF。
它训练得很好。但在预测中我得到:
'TypeError: ufunc 'add' did not co
我构建了一个具有以下结构的槽填充(一种序列分类)模型:自定义 ELMo 嵌入层 - BiLSTM - CRF。
它训练得很好。但在预测中我得到:
注意:U4 是一个无符号整数。
在此处的类似问题中,建议“使用预测时,test_data 应与 type(training_data[0]) 的数据类型相同,并且它将返回 type(training_labels[0]) 的数据类型”。我已经确认是的,我的每个测试样本都与 training_data[0] 类型相同。
本文末尾的完整错误消息。
注意:这个问题可能与我之前需要将我的训练和测试数据更改为 np.strings 的事实有关,使用:
这是为了避免在模型构建过程中出错,即:str没有属性ndim。如果我不将测试数据转换为 np.str,我会再次收到此错误。
一位同事认为问题出在 Keras 深处某个地方的 add 方法(见错误)。显然,这是一种使用无符号整数的特殊添加方法,它不应该引起这样的问题。
自定义层松散地基于此人的存储库
重现错误:我在这里设置了一个包含代码和一些虚拟数据的 github 存储库
完整错误:
我认为我更喜欢的可能性是允许许可!采用可选参数,以允许这样做。
你可以参考这个这个
python - 如何在自定义图层中重塑 keras 蒙版
注意:我已经在此处发布了有关此问题的信息。我正在创建一个新问题,因为: 1. 我认为这个问题特别与在我的自定义层中重塑我的蒙版有关,但我不确定是否完全忽略了我在原始帖子中写的另一个错误。2. 有很多关于重塑Keras图层或添加Masking图层的帖子,但是我找不到任何关于在图层内重新塑造蒙版的帖子,所以我希望这篇文章可以更普遍地有用。
问题:
我有一个自定义 Keras 层,它接受 2D 输入并返回 3D 输出(batch_size、max_length、1024),然后将其传递给 BiLSTM,然后是 CRF。
自定义 Keras 层是从此存储库中复制的。不同之处在于我从 Elmo 模型中采用 'elmo' 而不是 'default' 输出,因此输出是 BiLSTM 要求的 3D:
result = self.elmo(K.squeeze(K.cast(x, tf.string), axis=1),
as_dict=True,
signature='default',
)['elmo'] # The original code used 'default'
但是,compute_mask 函数不适合我的架构,因为它的输出是 2D。因此我得到错误:
InvalidArgumentError: Incompatible shapes: [32,47] vs. [32,0] [[{{node loss/crf_1_loss/mul_6}}]]
其中 32 是批量大小,47 比我指定的 max_length 小一。
我确定我需要重塑面具,但我无法找到任何方法。
如果需要的话,很高兴用整个东西和/或完整的堆栈跟踪来制作一个 git repo。
自定义 ELMo 层:
模型构建如下:
nlp - 使用预训练的 Bert、Elmo 获得 2 个单词之间的相似度分数
我正在尝试使用 Wiki 的预训练模型根据两个单词之间的相似性来比较 Glove、Fasttext、Bert、Elmo。Glove 和 Fasttext 具有预训练模型,可以很容易地在 python 中与 gensim word2vec 一起使用。Elmo 和 Bert 有这样的模型吗?
keras - 使用 Keras 的 ELMo 嵌入层中 variable_scope 的问题
我正在尝试使用 tensorflow-gpu==2.0.0-rc0 在 Keras 中为我的模型使用自定义 ElmoEmbeddingLayer。
这是课程:
这是我的模型:
但是,当我尝试拟合我的模型时,我遇到了这个错误,我该如何解决?
RuntimeError: variable_scope elmo_embedding_layer_14_module/ 未使用,但相应的 name_scope 已被占用。