ios - BERT 确定性 (iOS)
问题描述
我目前正在将https://developer.apple.com/machine-learning/models/#text上列出的 BERT 模型集成到 iOS 应用程序中,并且难以删除确定性较低的答案。
我使用了上面链接中的示例代码,但是因为我想根据大量文本来回答问题,所以我遍历了一组段落并预测每个段落的答案。但是,如果未找到答案,模型不会返回 nil 或“No Answer”,而是返回(看似)随机子字符串。我想我想问的是:是否有可能获得 BERT 响应的确定性以过滤掉不太可能的结果?还是有另一种方法让 BERT 只返回高于设定确定性阈值的结果?
解决方案
经过数小时的搜索,我现在找到了解决方案。具有讽刺意味的是,它只用了三行代码,但无论如何:
if bestSum < 7.5 {
return nil
}
我findBestLogitPair()
在文件中的方法中实现了这一点,BERTOutput.swift
如 Apple 使用 BERT 进行文本分析的示例代码中提供的那样。我现在发现 logit 这个词在统计学中确实意味着概率——但作为一名程序员,我不知道!
推荐阅读
- reactjs - REACT JS 中的 Matrix Like Grid 更改源(根据数据添加新列)
- android - 没有转换器的Android Room中Kotlin的可空类型?
- python - 为什么 pip install bitarray 不适合我?
- angular - 如何以角度测试可观察对象的订阅部分
- angular - Angular 12 升级 - Subscriber.js 未捕获的 TypeErro
- sql - Access VBA:在两列上使用 GROUP BY 计算数据的中位数
- node.js - NodeJS Discord 本地化
- ansible - Ansible - 将 2 组 ip 列表与计数匹配
- lua - 无法在nodemcu lua中从静态IP切换到DHCP
- python - 如何修复python代码中的错误,它不会运行大量?