Skip to Content
モデルの使い方Jev(TypeSafe)質問の設計

質問の設計

Jev は指定された選択肢の範囲内でのみ回答するため、質問と選択肢の設計が判定の正確性に直接影響します。このページでは、本番導入前に一つずつ確認すべき設計の要点を示し、返却結果の各フィールドの意味を説明します。

設計の要点

1. 選択肢はすべてのケースを網羅する。 これは誤判定の最も一般的な原因です。選択肢が不完全な場合でも、Jev はその中から 1 つを選択し、信頼度が高くなる場合もあります。そのため、この種の誤りは信頼度では検出できません。

実測:billing(charges, invoices, refunds)と technical(outages, errors, integration issues)の 2 つの選択肢のみを指定し、Will it rain in Shanghai tomorrow? を入力したところ、3 回連続で technical が返され、信頼度は 0.96–0.98 でした。other(none of the above)を追加すると、3 回とも other が返され、信頼度は 1 でした。

2. すべての選択肢と段階に説明を記述する。 description は単語 1 つよりも範囲を明確に定義できます。たとえば billing に「請求、請求書、返金」と記述することで、モデルは「請求書の発行内容の誤り」をこの選択肢に分類できるようになります。

3. 1 つの質問では 1 つの事項のみを判定する。「緊急であり、かつ支払いに関係するか」は 2 つの predicate に分割し、同じリクエストに含めてください。

4. すべての質問に name を設定する。 設定しなくてもリクエストは成功しますが、返される回答に name が含まれず、順序でしか対応付けられないため、質問が多い場合に誤りが生じやすくなります。

5. 複数の質問を同じリクエストにまとめる。 同一リクエスト内の質問は同一の入力を共有し、入力は 1 回分のみ課金されます。実測では、1 回のリクエストに 60 個の質問を含めた場合の所要時間は約 0.9 秒、質問 1 つの場合は約 0.6 秒でした。

返却結果の説明

{ "type": "choice", "name": "team", "choice": "billing", "confidence": 0.85, "probabilities": [ { "value": "billing", "probability": 0.9 }, { "value": "technical", "probability": 0.1 }, { "value": "other", "probability": 0 } ] }
  • choice:確率が最も高い選択肢であり、判定結果です。
  • probabilities:各選択肢の確率であり、合計は 1 です。
  • confidence:今回の判定の信頼性を 0–1 で表します。2 つの選択肢の確率が近い場合でも choice は結果を返しますが、confidence は低くなります。
  • score(score タイプ):各段階の確率で重み付けして算出した値であり、段階は 0 から番号付けされます。結果は段階の間の値になる場合があります。たとえば 1.43 は第 1 段階と第 2 段階の間で、第 1 段階に近いことを表します。
  • probability(predicate タイプ):回答が「はい」である確率です。predicate は信頼度を個別に返しません。

同じ入力で複数回呼び出すと、確率と信頼度にはわずかな変動が生じます(実測では、同じチケットの信頼度が 0.56–0.61 の間で変動しました)。そのため、しきい値は結果の境界値付近に設定しないでください。

最終更新日