---
title: レビュー
slug: api-guide/ja/C_QyHPHgR-bpjLWrd3eL2
docTags: 
createdAt: 2024-12-16T13:32:55.569Z
---

レビューとは、アノテーションが十分な品質であるか、改善が必要かどうかを決定する判断です。効率的に改善できるように、判断を行った人またはシステムは、考えられるエラーやミスを詳しく示す[フィードバック](docId\:iidcJY1_3wY4Hwg43HKhH)データを提供できます。これらの概念がプラットフォームでどのように使用されているかについては、フィードバックに関する[ユーザードキュメント](https://docs.kognic.com/task-view-guide)を参照してください。なお、ユーザードキュメントではレビューとフィードバックを扱うための利用可能なすべての機能とワークフローを説明していますが、この統合で利用できる機能は、以下に示すとおり現在のところ一部に限られています。

## レビューの投稿

現在の統合機能では、納品済みアノテーションと、レビューアクセス権を持つフェーズの予備アノテーションに対してのみレビューを投稿できます。アノテーションは、[アノテーションのダウンロード](docId\:E49JXwMqEE54HoChctMeX)で取得したアノテーションのメタデータ（およびファイル名）に含まれるOpenLabel UUIDを使用して識別されます。

レビューを投稿する際、APIはフィードバックデータと、品質が十分と判断されたかどうかを示すブール値`accepted`を必要とします。またAPIは、改善をどのように行うかを指定する列挙型`workflow`も必要とします。拒否されたレビューでワークフローが`correct`の場合、修正タスクが1つだけ作成され、その後のレビュータスクは作成されません。完了した修正タスクが新しい納品済みアノテーションになります。

レビューの投稿が成功すると、レビューを識別するUUIDが返されます。このUUIDを使用して、投稿したフィードバックデータを取得できます。また、選択した`workflow`に従ってタスクが作成されます。プロジェクトの設定によっては、プロジェクトマネージャーとの調整が必要になる場合があります。

以下はkognic-ioの例です：

```python
def run(client: KognicIOClient, open_label_uuid: str, error_type_id: str) -> ReviewResponse:
    review = ReviewRequest(
        feedback_items=[
            AddFeedbackItem(
                sensor_id="<the id/name of the sensor>",
                frame_id="<the id of the frame>",  # in our OpenLabel file this is frame.frame_properties.external_id
                object_id="<the id of the object>",
                pin=AddFeedbackItemPin(x=0.0, y=0.0, z=0.0),
                description="I post this via the Python client",
                suggested_property=AddFeedbackItemSuggestedProperty(
                    property_name="propertyName", suggested_property_value="suggestedPropertyValue"
                ),
                error_type_id=error_type_id,
                metadata={"key": "value"},
            )
        ],
        workflow=ReviewWorkflowEnum.CORRECT,
        accepted=False,
    )

    return client.review.create_review(open_label_uuid=open_label_uuid, body=review)


if __name__ == "__main__":
    setup_logging(level="DEBUG")

    client = KognicIOClient()

    open_label_uuid = "<the uuid of the OpenLABEL>"
    error_type_id = "<the id of the error type>"
    annotation = run(client, open_label_uuid, error_type_id)
```

## 部分レビューの投稿

部分レビューとは、オプションのフィードバックデータを含む未完了のレビューです。この機能は、以下のいずれか（または複数）の目的で使用できます：

- 手動または機械生成のフィードバックによるレビュータスクの準備
- レビュー対象の選択

この機能は、自組織が[producer](https://docs.kognic.com/request-details)または[owner](https://docs.kognic.com/request-details)であるリクエストで利用できます。

部分レビューが投稿されると、アノテーションのレビュータスクが作成されます。このレビュータスクには、部分レビューの投稿時にフィードバックが提供されていれば、そのフィードバックが含まれます。レビュアーは、同意しないフィードバックを削除または無効化したり、独自のフィードバックを追加したりできます。現在、部分レビューのワークフローを上書きすることはできません。デフォルトのワークフローはレビューループで、拒否されたレビュータスクの修正の後に新しいレビュータスクが作成されます。レビュアーがレビューを承認した場合、アノテーションは再度納品され、レビュアーが加えた変更があれば反映されます。

## フィードバック

フィードバック項目は、アノテーション内の注目すべき点を詳しく示します。そのために以下の情報を追加でき、追加した情報はアノテーターがアノテーションを改善する際に参照できます：

- **エラータイプID** - 利用可能なエラータイプのリストから選択されたUUID（`KognicIOClient().review.get_error_types()`を使用して取得）
- **説明** - 改善すべき点を説明する文字列
- **センサーID** - エラーが発生した[概要](docId\:M9gJ_7GE3M0jf7hvLohJ2)の識別子
- **フレームID** - エラーが発生した[概要](docId\:M9gJ_7GE3M0jf7hvLohJ2)の識別子。OpenLABELファイルでは`frame.frame_properties.external_id`に該当します。
- **オブジェクトID** - この特定のフィードバックの対象となる特定のオブジェクトの識別子
- **ピン** - 特定の関心領域へのポインタ。欠落しているオブジェクトを示すために使用できます（ピンには必須のx座標とy座標、およびオプションのz座標が含まれ、画像内の座標単位はピクセルであり、3Dデータではセンサー固有です）。
- **提案されたプロパティ** - 不適切なプロパティ値が検出された場合、このフィールドを使用してより適切な値を示すことができます。
- **メタデータ** - このフィールドには任意のデータを含めることができ、フィードバックを生成したシステムのバージョンを識別するために使用できます。
