gpt4 book ai didi

python - UI Demo和Python库中AllenNLP阅读理解结果不同

转载 作者:行者123 更新时间:2023-12-04 08:38:50 25 4
gpt4 key购买 nike

我正在尝试 AllenNLP reading comprehensionTransformer QA Model获得问题的答案 "Who is CEO of ABB?"从 channel "ABB opened its first dedicated global healthcare research center for robotics in October 2019." .
正如预期的那样,UI 演示显示 no answer returned .网络选项卡中的 API 响应也显示了这一点。在 json 响应中,best_span_str为空,但 best_span_scores9.9 . Screenshot of demo UI and API response in network tab.
当我通过 python 库执行类似的代码时,我得到了不同的结果。

from allennlp.predictors.predictor import Predictor
import pandas

def allen_nlp_demo_1():
import allennlp_models.structured_prediction
import allennlp_models.rc
predictor = Predictor.from_path("https://storage.googleapis.com/allennlp-public-models/transformer-qa-2020-05-26.tar.gz")
data = predictor.predict(
passage="ABB opened its first dedicated global healthcare research center for robotics in October 2019.",
question= "Who is CEO of ABB?"
)
print(data)

if __name__ == '__main__':
allen_nlp_demo_1()
提供以下 json 输出
{
"span_start_logits": [...],
"best_span": [
7,
15
],
"best_span_scores": -10.418445587158203,
"loss": 0,
"best_span_str": "healthcare research center for robotics in October 2019",
"context_tokens": [...],
"id": "1",
"answers": []
}
我在这里看到 best_span_str来了,和 best_span_scores-10.418445587158203 . Attaching python code and output snippet.
为什么 UI 演示与库中的输出存在差异?另外, best_span_scores的范围是多少?我在哪里可以决定丢弃错误结果的阈值?

最佳答案

  • 关于演示输出和您运行的差异,这是因为实际演示使用了不同的存档文件。演示中的使用代码现已更新以反射(reflect)新的文件路径 ( transformer-qa-2020-10-03.tar.gz )。
  • 为了找到 best_span,模型将 cls 标记的预测视为问题不可回答。这由 best_spans 表示, 当问题无法回答时为 [-1, -1]。对于问题实际上可以回答的情况,跨度分数是相对的;我们选择得分最高的跨度。所以,没有一个固定的阈值可以在所有情况下使用。
  • 关于python - UI Demo和Python库中AllenNLP阅读理解结果不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64661565/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com