问题标签 [allennlp]

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 投票
1 回答
322 浏览

heatmap - 如何在自定义模型上使用 Allen NLP 解释

我希望使用 Allen NLP Interpret 进行集成可视化和显着性映射。在自定义变压器模型上,你能告诉我怎么做吗?

0 投票
1 回答
37 浏览

python - 访问 AllenNLP 中实例的字段值

我将 AllenNLP 用于组合分类器(其任务之一是 NER 标记),在设计一些测试时,我遇到了这个疑问:如何访问 AllenNLP 实例的不同字段的值?我想将它们与引入的值进行比较,以确保在预处理中没有丢失任何内容。

我设法使用 到达实例的文本字段instance.__getitem__("text"),但我不知道如何从那里获取值,或者是否直接从 Instance 类中获取更快的值。

我想要做的是assert instance.getValueFromField("text) == training_dataset["text"][0]

0 投票
1 回答
200 浏览

python - 如何用我自己的训练集训练文本蕴涵模型?

我想训练可分解注意力+ELMo;使用我自己的数据集进行演示的SNLI模型。我是 nlp 的新手。在阅读完指南之后,我仍然不知道如何从我自己的由纯文本前提、假设和标签组成的训练集开始。数据格式如下所示。

根据 demo 上的训练命令,我发现它的训练集是https://allennlp.s3.amazonaws.com/datasets/snli/snli_1.0_train.jsonl. 如何使用自己的数据生成这样的训练集?

供参考。我的数据集是这样的:

输入snli_1.0_train.jsonl是这样的:

如果有人能提供帮助,我真的很感激。谢谢。

0 投票
1 回答
83 浏览

python - 是否可以在 RPi4 上安装 python 包 AllenNLP?

是否已经可以在 Raspbian 上安装 AllenNLP?我可以在 Windows 10 Python 64 位上安装 AllenNLP,但还不能在 RPi4 上安装。

我已经尝试通过 Miniconda、pip 和 docker 安装 AllenNLP,但没有一个适合我。

参考他们 github 的自述文件:( https://github.com/allenai/allennlp#installation )

我在这个世界上有点新,所以如果有人有一个具有这些规格的工作 allennlp 包:

  • Raspbian 10 克星
  • aarch64
  • 蟒蛇 3.7

并指定步骤,那就太棒了!

是否有任何车轮包已经可用?

我真的很想使用 AllenNLP 的语义角色标签模型(https://demo.allennlp.org/semantic-role-labeling/semantic-role-labeling)但是当我尝试 pip3 install allennlp==1.0.0 allennlp-models ==1.0.0 我明白了:

pip 安装的图像

难道我做错了什么?我已经在 1.6.0 版上安装了 pytorch(script.py 的输出)

任何帮助都是极好的!

祝你有美好的一天

伦纳特

0 投票
1 回答
260 浏览

allennlp - 据我所知,没有办法在 AllenNLP 配置文件中参数化字符串——只有整数或浮点数

所以问题是,对于使用 AllenNLP 的自动调整(如 optuna),建议的做法是在 jsonnet 脚本中使用对环境变量的引用,然后建立一个研究来修改这些参数。

当值是整数或浮点时,这很好。对于整数,您使用std.parseInt(std.extVar(varname)),对于浮点数,您使用std.parseJson(std.extVar(varname))

但是如果我想改变,比如我的测试中的优化技术在“adam”、“sparseadam”、“adamax”、adamw”等之间,或者改变我正在使用的 RNN 的类型,似乎并不容易方法来做到这一点。

在这种情况下,您似乎应该能够std.extVar(varname)在不将其包装在parseJson()or中的情况下执行此操作parseInt(),但这会返回错误。有没有其他人遇到过这个问题,你是如何解决的?

除此之外,我正在尝试使用三个不同的字符串参数。这是第一个“bert_vocab”的 jsonnet:

错误信息:

我还尝试了像这里这样的各种“字符串转义函数”(但字符串转义函数都不起作用:

我可以执行以下操作来验证是否设置了 os 环境变量:

os.environ['bert_vocab']返回'bert-base-uncased'

0 投票
1 回答
31 浏览

allennlp - 为什么新版 allennlp 的 datasetloader 没有 __add__ 方法?

取消了吗?那么如何添加两个数据集来构建词汇?在 allennlp1.0 中,我可以做到

然后一起建立一个词汇,但是为什么allennlp 2.0取消了呢?很抱歉成为 allennlp 的新人

0 投票
1 回答
108 浏览

pytorch - AllenNLP 2.0:无法运行 FBetaMultiLabelMeasure

我想计算用 allen-nlp 训练的分类器的 f1 分数。我使用了 allen-nlp 指南中的工作代码,它计算了准确度,而不是 F1,所以我尝试调整代码中的指标。

根据文档,CategoricalAccuracyFBetaMultiLabelMeasure采用相同的输入。(预测:torch.Tensor形状[batch_size, ..., num_classes],gold_labels:torch.Tensor形状[batch_size, ...]

但是由于某种原因,对于 f1-multi-label 指标而言,对于准确性非常有效的输入会导致 RuntimeError。

我将问题浓缩为以下代码片段:

为什么会发生此错误?我在这里想念什么?

0 投票
1 回答
93 浏览

parsing - AllenNLP:使用 Taskdemo 和 Python 库的不同选区解析

感谢您与我们分享您出色的工具。非常出色的工作。

只是一个问题,为什么在线任务演示和本地python库之间的选区解析结果不同?我认为他们两个都是基于这个模型?

例如,输入相同的句子,

他们迅速跑到了声音传来的地方。

(来自学生的作文)。

在线演示给出了结果: (S (NP (PRP They)) (ADVP (RB quickly)) (VBD ran) (PP (IN to) (NP (NP (DT the) (NN place)) (SBAR (WHNP (WDT which)) (S (VP (VBZ is) (NP ***(NN sound)***)))))) (VP (VBD came) (PP (IN from))) (. .))

但是python库版本的结果: (S (NP (PRP They)) (ADVP (RB quickly)) (VBD ran) (PP (IN to) (NP (NP (DT the) (NN place)) (SBAR (WHNP (WDT which)) (S (VP (VBZ is) (NP ***(JJ sound)***)))))) (VP (VBD came) (PP (IN from))) (. .))

似乎在线演示给出了更好的结果。

0 投票
1 回答
281 浏览

pytorch - AllenNLP DatasetReader.read 返回生成器而不是 AllennlpDataset


在学习 AllenNLP 框架(版本 2.0.1)时,我尝试实现来自 https://guide.allennlp.org/training-and-prediction#1 的示例代码。
从 Parquet 文件中读取数据时,我得到:

对于下一行:

我怀疑返回值应该是 AllennlpDataset 但也许我把它弄混了。我做错了什么?

完整代码:

谢谢你的帮助

0 投票
2 回答
179 浏览

python - AllenNLP DatasetReader:只加载单个实例,而不是遍历训练数据集中的所有实例

我正在使用AllenNLP来训练分层注意力网络模型。我的训练数据集包含一个JSON 对象列表(例如,列表中的每个对象都是一个带有键的JSON 对象:= ["text", "label"]。与文本键关联的值是一个列表列表,例如:

我的 DatasetReader 类看起来像:

在我的配置文件中,我有:

我已经尝试(或者)将lazy数据集读取器的参数设置为Trueand False

  • 当设置为True时,模型能够进行训练,但是,我观察到只有一列火车和一个开发实例实际被加载,而我的数据集包含 ~100。
  • 当设置为 时False,我已将yield行修改_readreturn; 但是,这会导致基本词汇类中的类型错误。我也尝试yield在设置为时保持原样False;在这种情况下,根本没有加载任何实例,并且由于实例集是空的,因此词汇表不会被实例化,并且嵌入类会引发错误。

将不胜感激指针和/或调试提示。