BERT 确定性 (iOS)

BERT Certainty (iOS)

我目前正在将 https://developer.apple.com/machine-learning/models/#text 上列出的 BERT 模型集成到 iOS 应用程序中,并且很难删除确定性低的答案。

我使用了上面 link 中的示例代码,但因为我想根据大量文本回答问题,所以我遍历了一系列段落并预测了每个段落的答案。但是,如果未找到答案,该模型不会 return nil 或 "No Answer" 而是 return 一个(看似)随机子字符串。我想我想问的是:是否有可能获得 BERT 响应的确定性以过滤掉不太可能的结果?或者是否有另一种方法让 BERT 仅 return 结果高于设定的确定性阈值?

经过数小时的搜索,我现在找到了解决方案。具有讽刺意味的是,它只用了三行代码,但无论如何:

if bestSum < 7.5 {
    return nil
}

我在 BERTOutput.swift 文件的 findBestLogitPair() 方法中实现了这一点,如 Apple 使用 BERT 进行文本分析的示例代码中提供的那样。我现在发现 logit 这个词在统计中确实表示概率 - 但作为一名程序员,我不知道!