よくある質問
Potatoに関するよくある質問への回答をご覧いただけます。お探しの内容が見つからない場合は、Discordに参加するか、ドキュメントをご確認ください。
はじめに
Potato(Portable Text Annotation Tool)は、高品質なデータセットを作成するための無料のオープンソースアノテーションツールです。シンプルなYAMLベースの設定システムにより、テキスト、画像、音声、動画のアノテーションをサポートしています。
はい、PotatoはPolyForm Shield License 1.0.0に基づく無料のオープンソースソフトウェアです。このライセンスは、研究、教育、および非商用目的での無料使用を許可しています。競合するアノテーションプラットフォームの構築にPotatoを使用することを制限する非競合条項が含まれています。詳細はGitHubリポジトリのLICENSEファイルをご確認ください。
プログラミングは不要です。Potatoは人間が読みやすく書きやすいYAML設定ファイルを使用しています。プレイグラウンドでは、コードを書かずにビジュアルインターフェースで設定を構築できます。
pipでインストールできます:`pip install potato-annotation`。次に`potato start my_project -c config.yaml`を実行してアノテーションサーバーを起動します。詳しい手順はクイックスタートガイドをご覧ください。
PotatoにはPython 3.7以上が必要です。最適な使用体験のためにPython 3.10以上をお勧めします。
データとプライバシー
データはお使いのマシンに保存されます。Potatoは完全にローカルで動作し、データを外部サーバーに送信することはありません。医療記録や機密コンテンツなどのセンシティブなデータに最適です。
はい。Potatoはセルフホスティングでローカルに動作するため、データを完全に管理できます。データがインフラの外に出ることはなく、HIPAA、GDPRなどのコンプライアンス要件に適しています。
Potatoは、プレーンテキスト、JSON、JSONL、CSV、TSV、画像(PNG、JPG、GIF、WebP)、音声(MP3、WAV、OGG)、動画ファイルなど、さまざまな入力形式をサポートしています。出力はJSON、JSONL、CSVのほか、CoNLL、spaCy、COCO、HuggingFace datasetsなどの専門形式にエクスポートできます。
アノテーション機能
Potatoは以下をサポートしています:ラジオボタン(単一選択)、チェックボックス(複数選択)、リッカート尺度、テキスト入力、スパンアノテーション(ハイライト)、バウンディングボックス、ポリゴン、ペアワイズ比較、Best-Worst Scalingなど。サンプルはショーケースをご覧ください。
はい。1つのアノテーションタスクにアノテーションスキームを任意に組み合わせることができます。たとえば、エンティティのハイライト(スパンアノテーション)、感情分類(ラジオボタン)、コメント入力(テキスト入力)を同じアイテムで行うことができます。
はい。Potatoは、ラジオ/チェックボックスラベルによる画像分類、物体検出のためのバウンディングボックスアノテーション、セグメンテーションタスクのためのポリゴンアノテーションをサポートしています。
はい。Potatoはアノテーションコントロールとともに音声波形や動画プレーヤーを表示できます。文字起こしレビュー、話者ダイアライゼーション、感情検出などのタスクに便利です。
設定ファイルにハイライトするテキストのスパンアノテーションスキームを追加します。アノテーターはテキストスパンを選択してラベルを割り当てることができます。NERとスパンアノテーションのサンプルはショーケースをご覧ください。
アノテーター管理
Potatoは標準で複数のアノテーターをサポートしています。各アノテーターは一意のIDでログインし、アノテーションは個別に追跡されます。品質管理のために、複数のアノテーターが同じアイテムにラベル付けするオーバーラップを設定できます。
はい。PotatoはProlificおよびAmazon Mechanical Turkと統合しています。アノテーターはプラットフォームからリダイレクトされ、Potatoでタスクを完了し、完了コードとともに戻されます。
Potatoは複数のアノテーターによってアノテーションされたアイテムを追跡します。アノテーションをエクスポートし、標準的なPythonライブラリを使用して一致度指標(Cohen's Kappa、Krippendorff's Alphaなど)を計算できます。
はい。注意チェックアイテムの追加、必要なアノテーションオーバーラップの設定、管理ダッシュボードでのアノテーターの進捗監視と潜在的な問題の特定が可能です。
LLM統合
はい。PotatoはOpenAI、Anthropic Claude、Google Gemini、およびOllamaを介したローカルLLMと統合しています。AIによる事前アノテーションを設定して、人間のアノテーションワークフローを加速できます。
設定ファイルに`llm`セクションを追加し、プロバイダー、モデル、プロンプトテンプレートを指定します。Potatoは各アイテムに対してLLM APIを呼び出し、アノテーターが承認または修正できるアノテーションフィールドを事前入力します。
はい。PotatoはOllamaによるローカルLLMの実行をサポートしています。AI支援の恩恵を受けながら、データを完全にプライベートに保つことができます。
はい。PotatoはRLHFのための人間の嗜好データ収集に適しています。ペアワイズ比較を使用してモデル出力の中から選択したり、リッカート尺度を使用して応答品質を評価したりできます。
デプロイ
はい。Potatoはデフォルトでローカルに動作しますが、任意のサーバーにデプロイできます。HTTPSのためにnginxやApacheの背後で実行するか、Dockerでコンテナ化してデプロイできます。
カスタムDockerfileを使用してPotatoをコンテナ化できます。現在公式Dockerイメージは提供していませんが、標準的なPythonベースイメージを使用して独自に作成できます。デプロイに関するドキュメントをご覧ください。
はい。サーバーにデプロイした場合、複数のアノテーターが同じPotatoインスタンスに同時にアクセスできます。各アノテーターの作業は個別に追跡されます。
nginxやCaddyなどのリバースプロキシの背後にPotatoをデプロイし、SSL終端を処理します。設定例についてはデプロイガイドをご覧ください。
トラブルシューティング
よくある問題:1) config.yamlが有効なYAML構文であることを確認してください。2) データファイルが存在し、正しい形式であることを確認してください。3) ポート(デフォルトは8000)が他で使用されていないことを確認してください。4) ターミナル出力で具体的なエラーメッセージを確認してください。
以下を確認してください:1) 保存/送信ボタンをクリックしましたか。2) 出力ディレクトリに書き込み権限がありますか。3) 必須フィールドがすべて入力されていますか。ブラウザのコンソールでJavaScriptエラーを確認してください。
出力ディレクトリからそのアノテーターのアノテーションファイルを削除します。次回ログイン時に割り当てが再生成されます。
リアルタイムのサポートにはDiscordコミュニティに参加し、既知の問題についてはGitHub Issuesを確認するか、ドキュメントをご覧ください。コミュニティはフレンドリーで迅速に対応します!