Noul — Jev 里的是非题

Noul 是 TypeSafe 的 Jev 模型三种提问类型之一。它问一个是非题,并以「答案为是」的概率作答,取值 0 到 1。

Noul 问一件可能为真也可能为假的事,并以一个 0 到 1 之间的数作答:它为真的概率。接近 1 是强烈的「是」,接近 0 是强烈的「否」,接近 0.5 则意味着是与否大致等可能。

最后那种情况正是 Noul 比布尔值更值钱的原因。被迫返回 true 或 false 的模型,即使文本并不支持任何一边也必须选边站;Noul 可以递回 0.51,让你的代码察觉自己其实什么也没拿到。

一个真实的答案

发给 jev-1.13.0。下面的数字就是回来的东西。

state

订单 #88213 到货时屏幕裂了。我已经拿到三天了。我不想要换货,只想请你们退钱。

问题

这条消息是在要求退款吗?

几乎肯定是
答案为「是」的概率
99%
抛硬币

0.99——这条消息用明明白白的话排除了主要的另一种可能(「我不想要换货」),所以模型几乎没有什么可犹豫的。大多数真实输入不会这么干净,这也正是数字比结论更重要的原因。

请求与响应原文
请求
{
  "state": "Order #88213 arrived with a cracked screen. I have had it three days. I do not want a replacement, I would just like my money back please.",
  "model": "jev-latest",
  "questions": {
    "requests_refund": {
      "type": "noul",
      "instructions": "Does this message request a refund?",
      "criteria": {
        "true": "The customer asks for money back",
        "false": "The customer wants a repair, a replacement, or something else"
      }
    }
  }
}
响应
{
  "model": "jev-1.13.0",
  "answers": {
    "requests_refund": {
      "type": "noul",
      "noul": 0.99
    }
  }
}

答案里有什么

type "noul"
与提问类型对应。
noul number
答案为「是」的概率,从 0(否)到 1(是)。

规则与限制

  • criteria 是可选的。它接受一个 true 和一个 false 描述,把问题两边各自的含义写清楚。
  • Noul 的答案没有 confidence 字段——这一点和 Choice、Score 不同。概率本身已经描述了不确定性:0.5 就是模型在说它不知道。

什么时候该用 Noul

  • 问题确实只有两面——这是不是在要求退款、这是不是重复提交、这里有没有提到截止日期。
  • 你想要一个由自己掌握的阈值。0.9 自动执行,0.6 标记待查,中间的一律转人工。
  • 你想廉价地多问一个推测性的问题,只在它触发时才去读。

什么时候该换别的

  • 真正的问题有三个或更多答案。把它拆成好几个 Noul 会招来互相矛盾的「是」;该用 Choice,它会强制概率之和为一。
  • 你评的是强度而不是真假。「这紧急吗」丢掉了「有点」和「火烧眉毛」之间的差别,而 Score 会留住它。

另外两个

对你自己的文本问一个 Noul

试验场会把你粘贴的一切发给 Jev,并把每个答案画出来。不用账号,不用密钥。

打开试验场