问题标签 [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.
allennlp - 如何将 Bart 与 PretrainedTransformerEmbedder 一起使用?
如果我encoder = PretrainedTransformerEmbedder(model_name, sub_module="encoder")
用作编码器传递给 Bart(encoder=encoder),它会报告错误,因为它没有实现get_input_dim()
,如果我encoder = PretrainedTransformerEmbedder(model_name, sub_module="encoder"), encoder = encoder.encoder
像这里提到的那样作为输入编码器传递,它会报告错误,因为PretrainedTransformerEmbedder(model_name, sub_module="encoder")
它没有属性encoder
。那么如何在 allennlp 中为 seq2seq 任务使用完整的 bart 模型(包括 token_embed、position_embed)?
nlp - 无法使用 Allennlp 双仿射解析器模型
我正在尝试将 allennlp 预测器用于 biaffine 解析器。这是代码: -
但是,我收到此错误:-
python - 解析嵌套字典(allen nlp hierplane_tree)
我正在尝试解析由 allennlp 预测器返回的 JSON 对象。我能够找到一个有用的函数来查找所有子值,但是我真正想要对依赖项做的事情是给定一个实体“人”,我可以从 JSON 对象中获取关联的属性。
例句:“昨天我去公园散步的时候,看到一个穿蓝色衬衫的男人。”
依赖树有与实体相关联的穿着、蓝色、衬衫等。如何在该结构中为 man 取回关联的 JSON 块?我不确定如何修改我的辅助函数或开发另一个函数以从 JSON 输出中获取该块。任何帮助或建议将不胜感激。
艾伦NLP代码:
可以让我获取子值的辅助函数:
该函数可以给我值:
JSON 提取(当我提供“人”时,我想尝试得到什么:
JSON输出:
python - AllenNLP 语义角色标签 - SRLBert 错误
我正在尝试运行 AllenNLP 演示https://demo.allennlp.org/semantic-role-labeling。当我通过 Juptyer 运行命令行或 Python 版本时,我收到下面提到的错误。
我已经安装了所需的库?pip install allennlp==1.0.0 allennlp-models==1.0.0
运行这个给我一个错误:
更新:如果我使用较旧的 gz 下载,我不会收到错误,我从他们的公共模型网站 bert-base-srl-2020.09.03.tar.gz 抓取了这个
错误:
操作系统和版本:
BERT 是否有一些我可能缺少的依赖项?我对其他 AllenNLP 示例没有任何问题。
我添加了一个答案,但他们删除了它。这是您解决此问题的方法:
在 github 上发布后,从 AllenNLP 的人那里得知这是一个版本问题。我需要使用 allennlp=1.3.0 和最新型号。现在它按预期工作。
python - AllenNLP 语义角色标注器 - 参数注释
对于 AllenNLP 语义角色标签实现,如何像演示中所示那样应用参数注释?当我从本地实现运行代码时,我看到动词和描述,但看不到注释?我一定遗漏了需要应用以支持该部分输出的额外步骤或逻辑。
演示应用程序中显示的内容
我的代码:
我的代码对同一句话的输出:
python - How to improve Allen NLP question answering performance
I am trying out Allen NLP pre-trained models for Q&A.
The online demo is here : https://demo.allennlp.org/reading-comprehension
I have created a python script to try out various models.
Here is the benchmark summary on my laptop
- Macbook Pro (2017)
- 2.9 Ghz Intel i7 quad-core
- 16 G memory
Benchmark | transformer-qa | bidaf-model | bidaf-elmo-model |
---|---|---|---|
loading time | 31.6 seconds | 1.6 seconds | 13.8 seconds |
questions | |||
Who stars in The Matrix? | 794 ms | 62 ms | 1,798 ms |
where does polar bear live | 2,211 ms | 96 ms | 7,125 ms |
how much does a polar bear weigh | 2,435 ms | 98 ms | 7,082 ms |
what is lightning | 1,361 ms | 69 ms | 3,173 ms |
How many lightning bolts strike earth | 1,019 ms | 47 ms | 2,885 ms |
Looking at the output I can see all 3 models are providing good answers. I like the transformer-qa
model but it takes a while (in the order of seconds) to predict.
Is there a way to speed up prediction times?
thanks!
python - 如何用 allennlp 训练语义角色标签?
训练配置文件在哪里?此页面上的链接已失效https://demo.allennlp.org/semantic-role-labeling
训练 SRL 模型在 CoNLL 2012 数据集上进行了评估。不幸的是,由于 LDC 的许可限制,我们无法发布此数据。您可以按照 CoNLL 2012 数据处理说明自行整理评估数据。编译数据集后,您可以使用https://github.com/allenai/allennlp/blob/master/training_config/semantic_role_labeler.jsonnet上的配置文件进行训练。
python - 当假设和前提都涉及多个句子时,allennlp 文本蕴涵模型是否有效?
在 allennlp 文本蕴涵演示网站上,示例中的假设和前提总是仅由一个句子组成。当假设和前提都包含多个句子时,allennlp 文本蕴涵模型是否有效?理论上可行吗?或者我可以在我自己的标记数据集上训练模型以使其适用于段落文本吗?
例如:
- 前提:“每当杰克被问到他更喜欢妈妈还是爸爸时,他都不知道该如何回答。说实话,他不知道自己为什么要做出选择。”
- 假设:“你更爱谁,妈妈还是爸爸?有些成年人喜欢用这个问题来逗孩子。对于杰克来说,他不喜欢这个问题。”
我阅读了论文decomposable attention model (Parikh et al, 2017)。本文不讨论这种情况。论文背后的想法是文本对齐。所以直觉上,我认为在段落文本上工作也应该是合理的。但我对此不是很有信心。
如果有人可以提供帮助,我将不胜感激。
gradient-descent - allennlp.predictors.predictor.get_gradients 出错 RuntimeError: Expected object of backend CUDA but got backend CPU for argument #3 'index'
我尝试使用 allennlp.predictors.Predictor.get_gradients 来获取实例的渐变。
allennlp==0.8.5
主要代码:
但我收到以下错误:
但是,我可以使用以下代码通过 Predictor.predict_instance 测试
allennlp - 使用 allennlp 构建管道模型
我对 allennlp 很陌生,我正在努力构建一个似乎不完全适合在 allennlp 中构建模型的标准方式的模型。
我想使用 NLP 构建管道模型。管道基本上由两个模型组成,我们称它们为 A 和 B。首先 A 被训练并基于完整训练 A 的预测,然后训练 B。
我所看到的是人们定义了两个独立的模型,使用命令行界面allennlp train ...
在一个看起来像
我对此有两个担忧:
- 这段代码很难调试
- 它不是很灵活。当我想对完全训练的模型进行前向传递时,我编写了另一个脚本来执行该操作的 bash 脚本。
关于如何以更好的方式做到这一点的任何想法?
我考虑过使用 python 脚本而不是 shell 脚本并allennlp.commands.main(..)
直接调用。这样做至少你有一个可以使用调试器运行的联合 python 模块。