2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Hugging Face で Wikipediaのデータを Dataset として公開する

Last updated at Posted at 2023-11-12

JSONデータ

Wikipedia のダンプファイルから以下のような改行区切りJSONファイルを作成したとします。

jawiki-20230101-pages-articles-multistream_type1.jsonl (読みやすいように成形済み)
{
    "id": "5",
    "url": "https://ja.wikipedia.org/wiki/%E3%82%A2%E3%83%B3%E3%83%91%E3%82%B5%E3%83%B3%E3%83%89",
    "title": "アンパサンド",
    "text": "アンパサンドは、並立助詞「…と…」を意味する記号である。...(以下略)"
}
{
    "id": "10",
    "url": "https://ja.wikipedia.org/wiki/%E8%A8%80%E8%AA%9E",
    "title": "言語",
    "text": "言語は、狭義には「声による記号の体系」をいう。...(以下略)"
}

Hugging Face にアップロードして公開

これをHugging Face にアップロードするためのコードは以下の通りです。

# 必要なライブラリと関数をインポート
from datasets import DatasetDict, load_dataset
from datasets import load_dataset, DatasetBuilder, BuilderConfig, Version
import datasets

# BuilderConfigクラスをconfigとしてインスタンス化
config = datasets.BuilderConfig
# configの言語設定を'ja'(日本語)に設定
config.language = 'ja'
# データセットのバージョンを定義
_VERSION = datasets.Version("2.0.0", "")

# Wikipediaデータセットの設定クラスを定義
class WikipediaConfig(datasets.BuilderConfig):
    def __init__(self, language=None, date=None, version=_VERSION, **kwargs):
        super().__init__(
            name=f"{date}.{language}",
            description=f"Wikipedia dataset for {language}, parsed from {date} dump.",
            version=version,
            **kwargs,
        )
        self.date = date
        self.language = language

# WikipediaConfigを日本語と特定日付でインスタンス化
config = WikipediaConfig(date='20230101',language='ja')

# データセットのファイル名を定義
filename = 'jawiki-20230101-pages-articles-multistream_type1.jsonl'

# JSON形式のデータセットをロード
dataset1 = load_dataset('json', name='20230101.ja', data_files='/local/wiki/jawiki/20230101/'+filename, split='train')

# データセットをDatasetDictオブジェクトとして定義
dataset_dict = DatasetDict({
    'train': dataset1
})

# ユーザー名とデータセットの名前を設定
username = 'nlp4j'
dataset_name = 'wikipedia'

# DatasetDictオブジェクトをHugging Face Hubにアップロード。トークンとconfig名を指定
dataset_dict.push_to_hub(f"{username}/{dataset_name}", token='【あなたのト-クン】',config_name='20230101.ja' )

結果

このコードを実行してアップロードしたものが以下になります。


何かのお役に立てばさいわいです。

以上.

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?