Skip to content
このページはまだお使いの言語に翻訳されていません。英語版を表示しています。

डेटा प्रारूप

समर्थित डेटा प्रारूप और अपने एनोटेशन डेटा को कैसे संरचित करें।

डेटा प्रारूप

Potato बॉक्स से बाहर एकाधिक डेटा प्रारूपों का समर्थन करता है। यह गाइड बताती है कि एनोटेशन के लिए अपने डेटा को कैसे संरचित करें।

समर्थित प्रारूप

प्रारूपएक्सटेंशनविवरण
JSON.jsonऑब्जेक्ट की सरणी
JSON Lines.jsonlप्रति पंक्ति एक JSON ऑब्जेक्ट
CSV.csvअल्पविराम-पृथक मूल्य
TSV.tsvटैब-पृथक मूल्य

JSON प्रारूप

सबसे सामान्य प्रारूप। आपका डेटा ऑब्जेक्ट की एक सरणी होनी चाहिए:

json
[
  {
    "id": "doc_001",
    "text": "This is the first document to annotate.",
    "source": "twitter",
    "date": "2024-01-15"
  },
  {
    "id": "doc_002",
    "text": "This is the second document.",
    "source": "reddit",
    "date": "2024-01-16"
  }
]

JSON Lines प्रारूप

प्रत्येक पंक्ति एक अलग JSON ऑब्जेक्ट है। बड़े डेटासेट के लिए उपयोगी:

jsonl
{"id": "doc_001", "text": "First document"}
{"id": "doc_002", "text": "Second document"}
{"id": "doc_003", "text": "Third document"}

CSV/TSV प्रारूप

हेडर के साथ सारणीबद्ध डेटा:

csv
id,text,source
doc_001,"This is the first document",twitter
doc_002,"This is the second document",reddit

कॉन्फ़िगरेशन

बुनियादी सेटअप

अपने YAML में डेटा फ़ाइलें और फील्ड मैपिंग कॉन्फ़िगर करें:

yaml
data_files:
  - "data/documents.json"
 
item_properties:
  id_key: id      # Field name for unique ID
  text_key: text  # Field name for content to annotate

एकाधिक डेटा फ़ाइलें

एकाधिक डेटा स्रोत संयोजित करें:

yaml
data_files:
  - "data/batch_1.json"
  - "data/batch_2.json"
  - "data/batch_3.jsonl"

फ़ाइलें क्रम में प्रोसेस और संयुक्त की जाती हैं।

डेटा प्रकार

सादा पाठ

सरल पाठ सामग्री:

json
{
  "id": "1",
  "text": "The product arrived quickly and works great!"
}

मीडिया फ़ाइलें

छवियों, वीडियो, या ऑडियो का संदर्भ दें:

json
{
  "id": "1",
  "image_path": "images/photo_001.jpg"
}
yaml
item_properties:
  id_key: id
  image_key: image_path

डायलॉग/सूचियाँ

सूचियाँ स्वचालित रूप से क्षैतिज रूप से प्रदर्शित होती हैं:

json
{
  "id": "1",
  "text": "Option A,Option B,Option C"
}

पाठ जोड़े

तुलना कार्यों के लिए:

json
{
  "id": "pair_001",
  "text": {
    "A": "Response from Model A",
    "B": "Response from Model B"
  }
}

HTML फ़ाइलें

फ़ोल्डर में संग्रहीत HTML फ़ाइलों का संदर्भ दें:

json
{
  "id": "1",
  "html_file": "html/document_001.html"
}

संदर्भात्मक एनोटेशन

मुख्य पाठ के साथ संदर्भ शामिल करें:

json
{
  "id": "1",
  "text": "This is great!",
  "context": "Previous message: How do you like the new feature?"
}
yaml
item_properties:
  id_key: id
  text_key: text
  context_key: context

डिस्प्ले कॉन्फ़िगरेशन

सूची डिस्प्ले विकल्प

नियंत्रित करें कि सूचियाँ और शब्दकोश कैसे प्रदर्शित होते हैं:

yaml
list_as_text:
  # Add prefixes to items
  text_prefix: "A"  # A., B., C. (or "1" for 1., 2., 3.)
 
  # Display orientation
  horizontal: true  # Side-by-side (false for vertical)
 
  # Randomization
  randomize_values: true   # Shuffle list items
  randomize_keys: true     # Shuffle dictionary keys

HTML सामग्री

पाठ में HTML रेंडरिंग सक्षम करें:

yaml
html_content: true
json
{
  "id": "1",
  "text": "<p>This is <strong>formatted</strong> text.</p>"
}

आउटपुट कॉन्फ़िगरेशन

आउटपुट डायरेक्टरी

निर्दिष्ट करें कि एनोटेशन कहाँ सहेजे जाएं:

yaml
output_annotation_dir: "output/"

आउटपुट प्रारूप

आउटपुट प्रारूप चुनें:

yaml
output_annotation_format: "json"  # json, jsonl, csv, or tsv

आउटपुट संरचना

एनोटेशन में दस्तावेज़ ID और प्रतिक्रियाएं शामिल हैं:

json
{
  "id": "doc_001",
  "user": "annotator_1",
  "annotations": {
    "sentiment": "Positive",
    "confidence": 4
  },
  "timestamp": "2024-01-15T10:30:00Z"
}

विशेष डेटा प्रकार

Best-Worst Scaling

रैंकिंग कार्यों के लिए, अल्पविराम-पृथक आइटम उपयोग करें:

json
{
  "id": "1",
  "text": "Item A,Item B,Item C,Item D"
}

कस्टम तर्क

डिस्प्ले या फ़िल्टरिंग के लिए अतिरिक्त फील्ड शामिल करें:

json
{
  "id": "1",
  "text": "Document content",
  "category": "news",
  "priority": "high",
  "custom_field": "any value"
}

डेटाबेस बैकएंड

बड़े डेटासेट के लिए, MySQL का उपयोग करें:

yaml
database:
  type: mysql
  host: localhost
  database: potato_db
  user: ${DB_USER}
  password: ${DB_PASSWORD}

Potato पहले स्टार्टअप पर स्वचालित रूप से आवश्यक तालिकाएं बनाता है।

डेटा सत्यापन

Potato स्टार्टअप पर आपके डेटा को मान्य करता है:

  • गुम ID फील्ड - सभी आइटम में अद्वितीय पहचानकर्ता होने चाहिए
  • गुम पाठ फील्ड - आइटम में एनोटेट करने योग्य सामग्री होनी चाहिए
  • डुप्लिकेट ID - सभी ID अद्वितीय होनी चाहिए
  • फ़ाइल नहीं मिली - डेटा फ़ाइल पथ सत्यापित करें

पूर्ण उदाहरण

yaml
task_name: "Document Classification"
task_dir: "."
port: 8000
 
# Data configuration
data_files:
  - "data/documents.json"
 
item_properties:
  id_key: id
  text_key: text
  context_key: metadata
 
# Display settings
list_as_text:
  text_prefix: "1"
  horizontal: false
 
# Output
output_annotation_dir: "output/"
output_annotation_format: "json"
 
# Annotation scheme
annotation_schemes:
  - annotation_type: radio
    name: category
    description: "Select the document category"
    labels:
      - News
      - Opinion
      - Tutorial
      - Other
 
allow_all_users: true

सर्वोत्तम अभ्यास

1. अर्थपूर्ण ID का उपयोग करें

ट्रैकिंग और डीबगिंग आसान बनाता है:

json
{"id": "twitter_2024_001", "text": "..."}

2. पाठ संक्षिप्त रखें

लंबे पाठ एनोटेशन धीमा करते हैं। विचार करें:

  • महत्वपूर्ण भागों को छोटा करना
  • सारांश प्रदान करना
  • स्क्रॉल कंटेनर उपयोग करना

3. मेटाडेटा शामिल करें

फ़िल्टरिंग और विश्लेषण में मदद करता है:

json
{
  "id": "1",
  "text": "Content",
  "source": "twitter",
  "date": "2024-01-15",
  "language": "en"
}

4. लोड करने से पहले मान्य करें

अपने डेटा को ऑफलाइन जांचें:

python
import json
 
with open('data.json') as f:
    data = json.load(f)
 
# Check for required fields
for item in data:
    assert 'id' in item, f"Missing id: {item}"
    assert 'text' in item, f"Missing text: {item}"
 
# Check for duplicates
ids = [item['id'] for item in data]
assert len(ids) == len(set(ids)), "Duplicate IDs found"
 
print(f"Validated {len(data)} items")

5. मूल डेटा का बैकअप लें

पुनरुत्पादन के लिए एनोटेशन से कच्चे डेटा को अलग रखें।

6. बड़ी फ़ाइलों के लिए JSON Lines का उपयोग करें

JSON सरणियों की तुलना में अधिक मेमोरी-कुशल:

bash
# Convert JSON array to JSON Lines
cat data.json | jq -c '.[]' > data.jsonl

आगे पढ़ें

  • Data Directory Loading - लाइव वॉचिंग के साथ डायरेक्टरी से लोड करें
  • Dialogue Annotation - मल्टी-आइटम डेटा डिस्प्ले
  • Export Formats - आउटपुट प्रारूप विकल्प

कार्यान्वयन विवरण के लिए, स्रोत दस्तावेज़ देखें।