【问题标题】:Saliency score keeps changing allennlp显着性分数不断变化 allennlp
【发布时间】:2021-06-17 07:42:12
【问题描述】:

我正在尝试获取情绪分析任务的显着性分数。每次我运行代码时,我都会得到不同的显着性分数。应该是这样吗?我附上我的代码以供更多参考。

from allennlp.predictors.predictor import Predictor
import nltk
from allennlp.interpret.saliency_interpreters import SmoothGradient


data = "purchase costume year old grandson halloween arrive one week earlier expect happy grandson absolutely love glad order larger size size barely fit material durable well make think wear many time play since halloween happy purchase worth dollars spend"

words = nltk.word_tokenize(data)

predictor = Predictor.from_path("https://storage.googleapis.com/allennlp-public-models/stanford-sentiment-treebank-roberta.2021-03-11.tar.gz")
predicted = predictor.predict(words)
saliency_scores = SmoothGradient(predictor).saliency_interpret_from_json({'sentence':words})

每次我打印相同数据的显着性分数时,值都会不断变化。模型生成的标记也被扭曲了,例如万圣节闯入大厅、ow 和 een。我怎样才能解决这个问题?任何帮助将不胜感激。

【问题讨论】:

  • 令牌被这样分解是意料之中的。这就是 RoBERTa 的工作原理。

标签: nlp sentiment-analysis allennlp


【解决方案1】:

SmoothGradient 解释器向嵌入添加随机噪声。它的设计不是确定性的。详情请阅读论文:https://arxiv.org/abs/1706.03825

如果您需要确定性结果,请改用SimpleGradient

【讨论】:

    猜你喜欢
    • 2019-01-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多