データセット「Wiki-40B」について説明。高品質に加工された、英語や日本語を含む40以上の言語におけるWikipediaテキストが無料でダウンロードでき、自然言語処理の言語モデルの作成などに利用できる。TensorFlowにおける利用コードも紹介。
Wiki-40Bデータセットは、英語や日本語を含む40以上の言語におけるWikipediaのテキストを高品質に加工した、言語モデル用データセットである(図1)。Google Researchが作成し2020年から公開しているので、TensorFlow Datasetsを使うと簡単に使用できる。
ちなみにWikipediaテキストのデータセットとしては、1993年からあるPenn Treebankデータセットや、2006年からあるenwik8データセット、Saleforce Researchが作成し2016年より公開されているWikiText-2データセットとWikiText-103データセットなどもある。またTensorFlow Datasetsでは、2019年3月1日/2020年3月1日/2020年12月1日における言語ごとのダンプのデータセットも提供されている。
Wiki-40Bは、それらと比べて2020年に提供開始と比較的新しいデータセットで、高品質に前処理されているという特徴がある。その前処理の内容としては、
が行われている。
前掲の図1を見ると分かるように、1行分のデータには「text」「version_id」「wikidata_id」が含まれているので、基本的には「text」情報を使用すればよい。このtextには、下記に示す4つの境界用マーカーが含まれているので、実際に使用する際にはそれらのマーカーを適切に処理する必要がある。
Wiki-40Bのデータ件数は、言語ごとに異なる。「どのような言語が使えるか」や各言語のデータ件数については、公式のカタログページを確認してほしい。参考までに日本語データのデータ件数を示すと、下記のようになっている。
上記の通り、データはtrain(90%)/validation(5%)/test(5%)に3分割されている。なお「validation」は論文では「dev」と表記されている。
このデータセットは、CC-BY-SAライセンスで提供されている。Wiki-40Bデータセット自体の情報を以下にまとめておく。
実際にWiki-40Bデータセットを使うには、基本的にTensorFlow Datasetsを利用する。それ以外にはHugging Faceのwiki40bデータセットも使えるが、(※筆者がGoogle Colaboratoryで試そうとしたらエラーが出たので)公式のTensorFlow Datasetsの方がお勧めである。
# !pip install tensorflow tensorflow-datasets # ライブラリ「TensorFlow」と「TensorFlow Datasets」をインストール
import tensorflow_datasets as tfds
(ds_train, ds_valid, ds_test), ds_info = tfds.load(
name='wiki40b/ja', split=['train', 'validation', 'test'], with_info=True)
# 次のコードにより、5行分のデータを表示できる
#tfds.as_dataframe(ds_train.take(5), ds_info)
TensorFlow Datasetsの各データセットは、tensorflow_datasetsモジュール(=tfds)のtfds.load()関数から利用できる。リスト1では「wiki40bデータセット」の日本語版('wiki40b/ja')をロードしている。
Copyright© Digital Advantage Corp. All Rights Reserved.