Noul — the yes/no question in Jev

A Noul is one of the three question types in TypeSafe’s Jev model. It asks a single yes/no question and answers with the probability that the answer is yes, as a number from 0 to 1.

A Noul asks one thing that could be true or false, and answers with a number between 0 and 1: the probability that it is true. A value near 1 is a strong yes, near 0 a strong no, and near 0.5 means yes and no are about equally likely.

That last case is the reason a Noul is worth more than a boolean. A model forced to return true or false has to pick a side even when the text does not support one; a Noul can hand back 0.51 and let your code notice that it was handed nothing.

A real answer

Sent to jev-1.13.0. The numbers below are what came back.

The 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.

The question

Does this message request a refund?

Almost certainly
Probability the answer is yes
99%
No Coin flip Yes

0.99 — the message rules out the main alternative in so many words ("I do not want a replacement"), so there is very little for the model to be unsure about. Most real inputs are not this clean, which is why the number matters more than the verdict.

The request and the response, verbatim
Request
{
  "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"
      }
    }
  }
}
Response
{
  "model": "jev-1.13.0",
  "answers": {
    "requests_refund": {
      "type": "noul",
      "noul": 0.99
    }
  }
}

What the answer contains

type "noul"
Matches the question type.
noul number
The probability that the answer is yes, from 0 (no) to 1 (yes).

Rules and limits

  • criteria is optional. It takes a true and a false description, spelling out what each side of the question means.
  • A Noul answer carries no confidence field — unlike Choice and Score. The probability already describes the uncertainty: 0.5 is the model saying it does not know.

Reach for a Noul when

  • The question genuinely has two sides — does this ask for a refund, is this a duplicate, does this mention a deadline.
  • You want a threshold you control. 0.9 to auto-action, 0.6 to flag, anything in the middle to a human.
  • You want to ask a speculative question cheaply and only read it when it fires.

Use something else when

  • The real question has three or more answers. Splitting it into several Nouls invites contradictory yeses; use a Choice, which forces the probabilities to sum to one.
  • You are rating intensity rather than truth. "Is this urgent" loses the difference between mildly and desperately; a Score keeps it.

The other two

Ask a Noul of your own text

The playground sends whatever you paste to Jev and draws every answer. No account, no key.

Open the playground