Skip to content

ルーブリック評価

Potatoで複数観点の評価グリッドを構築します。LLM出力の評価、小論文の採点、翻訳品質の判定など、ルーブリックに沿った構造的なアノテーションに使えます。

ルーブリック評価のアノテーションスキーマは、決められた尺度で複数の観点からコンテンツを採点するための、構造化されたグリッドインターフェースを提供します。LLM出力の評価、小論文の採点、翻訳品質の判定など、多次元の採点が必要なタスクに使えます。

正確さ・関連性・流暢さで応答を採点するPotatoのルーブリック評価グリッドRubric evaluation in Potato

概要

ルーブリック評価スキーマが表示するもの:

  • 観点のグリッド(それぞれに独自の評価尺度が付きます)
  • 尺度のラベル(Poor から Excellent まで。変更可能です)
  • 総合スコア(任意。観点全体をまとめた値です)
  • 各観点の説明文(アノテーターの判断の手がかりになります)

生成AIの出力を人手で構造的に評価する場面でとくに役立ちます。

クイックスタート

yaml
annotation_schemes:
  - annotation_type: rubric_eval
    name: response_quality
    description: Evaluate the quality of this AI-generated response.
    scale_points: 5
    criteria:
      - name: Accuracy
        description: Is the information factually correct?
      - name: Relevance
        description: Does the response address the question?
      - name: Fluency
        description: Is the response well-written and natural?

設定オプション

フィールドデフォルト説明
annotation_typestring必須"rubric_eval"を指定します
namestring必須このスキーマの一意な識別子
descriptionstring必須アノテーターに表示される指示文
scale_pointsinteger5評価尺度の段階数
scale_labelsarray["Poor", "Fair", "Average", "Good", "Excellent"]各段階のラベル(要素数はscale_pointsと一致させます)
criteriaarray必須観点オブジェクトのリスト。それぞれnameと、任意でdescriptionを持ちます
show_overallbooleanfalse観点の下に総合スコアの行を追加で表示するか

LLM出力の評価

yaml
annotation_schemes:
  - annotation_type: rubric_eval
    name: llm_eval
    description: Rate the quality of this model-generated response.
    scale_points: 5
    scale_labels:
      - Poor
      - Fair
      - Average
      - Good
      - Excellent
    show_overall: true
    criteria:
      - name: Helpfulness
        description: Does the response provide useful and actionable information?
      - name: Accuracy
        description: Is the response factually correct and free of hallucinations?
      - name: Harmlessness
        description: Is the response free of harmful, biased, or inappropriate content?
      - name: Coherence
        description: Is the response logically structured and easy to follow?

小論文の採点

yaml
annotation_schemes:
  - annotation_type: rubric_eval
    name: essay_grade
    description: Grade this student essay using the rubric below.
    scale_points: 4
    scale_labels:
      - Below Expectations
      - Approaching
      - Meets Expectations
      - Exceeds Expectations
    criteria:
      - name: Thesis
        description: Is there a clear and arguable thesis statement?
      - name: Evidence
        description: Does the essay use relevant evidence to support claims?
      - name: Organization
        description: Is the essay logically organized with clear transitions?
      - name: Grammar
        description: Is the writing free of grammatical and spelling errors?

翻訳品質の評価

yaml
annotation_schemes:
  - annotation_type: rubric_eval
    name: translation_quality
    description: Evaluate the quality of this machine translation.
    scale_points: 3
    scale_labels:
      - Unacceptable
      - Acceptable
      - Perfect
    criteria:
      - name: Adequacy
        description: Does the translation convey the same meaning as the source?
      - name: Fluency
        description: Does the translation read naturally in the target language?
      - name: Terminology
        description: Are domain-specific terms translated correctly?

出力形式

json
{
  "response_quality": {
    "labels": {
      "Accuracy": 4,
      "Relevance": 5,
      "Fluency": 3
    },
    "overall": 4
  }
}

各観点は、選択された尺度の値(1始まり)に対応します。overallフィールドが含まれるのはshow_overalltrueのときだけです。

ベストプラクティス

  1. 観点を独立させる - 各観点が別々の次元を測るようにして、採点の重複を避けてください
  2. 説明文を明確に書く - それぞれの観点が何を測るのか、曖昧さなく伝わるようにしてください
  3. 段階数は3〜5に - 段階が少ないほど負担が軽くなります。7を超えても信頼性はほとんど上がりません
  4. 基準となる例を示す - 尺度の両端がどのようなものかを説明文に書いておいてください
  5. 集計するなら総合スコアを有効に - 詳細な内訳と併せて1つの要約指標が必要な場合、show_overallが役立ちます

参考資料

実装の詳細については、ソースドキュメントを参照してください。