Noul — Jev における はい/いいえ の質問
Noul は TypeSafe の Jev モデルにある 3 つの質問タイプのひとつです。はい/いいえの質問を 1 つ投げ、答えが「はい」である確率を 0 から 1 の数で返します。
Noul は、真か偽でありうる 1 つのことを問い、0 と 1 の間の数で答えます。それが真である確率です。1 に近ければ強い「はい」、0 に近ければ強い「いいえ」、0.5 に近ければ、はいといいえがほぼ等しく起こりうるということです。
最後のケースこそ、Noul が真偽値より価値がある理由です。true か false を返すよう強制されたモデルは、テキストがどちらも支持していなくても片方を選ばざるをえません。Noul は 0.51 を返せるので、コードは「何も渡されなかった」ことに気づけます。
実際の答え
jev-1.13.0 に送信。下の数字は返ってきたものそのものです。
注文 #88213 は画面が割れた状態で届きました。受け取って 3 日です。交換は希望しません。返金をお願いしたいです。
質問
このメッセージは返金を求めていますか?
ほぼ確実に
答えが「はい」である確率
いいえ コイン投げ はい
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 を使うのはこんなとき
- 問いに本当に 2 つの側面があるとき。返金を求めているか、これは重複か、期限に言及しているか。
- 自分で決めたしきい値がほしいとき。0.9 で自動処理、0.6 でフラグ、その中間は人へ。
- 思いつきの質問を安く投げておいて、それが発火したときだけ読みたいとき。
別のものを使うべきとき
- 本当の問いに 3 つ以上の答えがあるとき。複数の Noul に割ると矛盾する「はい」を招きます。確率の合計を 1 に強制する Choice を使ってください。
- 真偽ではなく強度を測っているとき。「これは緊急か」では、少し急ぐのと切羽詰まっているのとの差が消えます。Score ならそれが残ります。