LLM 課程文件

將資料集載入到 Argilla

Hugging Face's logo
加入 Hugging Face 社群

並獲得增強的文件體驗

開始使用

將資料集載入到 Argilla

Ask a Question Open In Colab Open In Studio Lab

根據您正在處理的 NLP 任務以及特定的用例或應用程式,您的資料和標註任務將有所不同。對於本課程的這一部分,我們將使用一個新聞資料集來完成兩項任務:對每篇文字的主題進行文字分類,以及對識別提到的命名實體進行標記分類。

可以直接使用 Argilla UI 從 Hub 匯入資料集,但我們將使用 SDK 來學習如何在需要時對資料進行進一步編輯。

配置資料集

第一步是連線到我們的 Argilla 例項,就像我們在上一節中所做的那樣

import argilla as rg

HF_TOKEN = "..."  # only for private spaces

client = rg.Argilla(
    api_url="...",
    api_key="...",
    headers={"Authorization": f"Bearer {HF_TOKEN}"},  # only for private spaces
)

現在我們可以考慮 Argilla 中資料集的設定。這些代表了我們將在資料上執行的標註任務。首先,我們可以從 Hub 載入資料集並檢查其功能,以便我們確保正確配置資料集。

from datasets import load_dataset

data = load_dataset("SetFit/ag_news", split="train")
data.features

這些是我們的資料集的功能

{'text': Value(dtype='string', id=None),
 'label': Value(dtype='int64', id=None),
 'label_text': Value(dtype='string', id=None)}

它包含一個`文字`,以及文字分類的一些初始標籤。我們將把這些新增到我們的資料集設定中,以及一個用於命名實體的`跨度`問題。

settings = rg.Settings(
    fields=[rg.TextField(name="text")],
    questions=[
        rg.LabelQuestion(
            name="label", title="Classify the text:", labels=data.unique("label_text")
        ),
        rg.SpanQuestion(
            name="entities",
            title="Highlight all the entities in the text:",
            labels=["PERSON", "ORG", "LOC", "EVENT"],
            field="text",
        ),
    ],
)

讓我們深入瞭解這些設定的含義。首先,我們定義了**欄位**,這些欄位包含我們將要標註的資訊。在這種情況下,我們只有一個欄位,並且它以文字的形式出現,因此我們選擇了`TextField`。

然後,我們定義了代表我們希望在資料上執行的任務的**問題**。

  • 對於文字分類任務,我們選擇了`LabelQuestion`,並使用`label_text`列的唯一值作為我們的標籤,以確保問題與資料集中已有的標籤相容。
  • 對於標記分類任務,我們需要一個`SpanQuestion`。我們定義了一組用於該任務的標籤,以及我們將繪製跨度的欄位。

要了解所有可用的欄位和問題型別以及其他高階設定,例如元資料和向量,請訪問Argilla 文件

上傳資料集

現在我們已經定義了一些設定,我們可以建立資料集了。

dataset = rg.Dataset(name="ag_news", settings=settings)

dataset.create()

資料集現在出現在我們的 Argilla 例項中,但你會發現它是空的。

Screenshot of the empty dataset.

現在我們需要新增將要註釋的記錄,即資料集中的行。為此,我們只需將資料記錄為記錄,併為那些在 hub 和 Argilla 資料集中名稱不相同的元素提供對映。

dataset.records.log(data, mapping={"label_text": "label"})

在我們的對映中,我們指定了資料集中的`label_text`列應對映到名為`label`的問題。這樣,我們將使用資料集中現有的標籤作為預標註,以便我們可以更快地進行標註。

當記錄繼續登入時,您已經可以開始在 Argilla UI 中使用資料集了。此時,它應該看起來像這樣:

Screenshot of the dataset in Argilla.

現在我們的資料集已準備好開始標註!

< > 在 GitHub 上更新

© . This site is unofficial and not affiliated with Hugging Face, Inc.