🌐

TensorFlow DatasetsでCC-100の日本語データを使う

2023/07/20に公開

TensorFlow Datasetsでcc100の日本語を使う

TensorFlowデータセットの公式カタログにはcc100は含まれていません。(2023年7月現在)
しかし、ユーザーコミュニティによって作成されたコミュニティデータセットとしてcc100が利用可能です。

私が試した環境は、Python3.8@Ubuntu 20.04 LTSです。

必要なPythonパッケージのインストール

まず、tensorflow-datasetsと、その関連パッケージをインストールします。
tensorflowに依存しているのでそれもインストールします。datasetsパッケージはHuggingfaceデータセットを利用するために必要です。

pip install tensorflow==2.11.1
pip install tensorflow-datasets==4.8.3
pip install datasets==2.12.0

サンプルコード

cc100の日本語データセットをダウンロードし、trainスプリットの先頭10件のテキストを表示してみます。

import tensorflow as tf
import tensorflow_datasets as tfds

builder = tfds.builder('huggingface:cc100/lang=ja')
builder.download_and_prepare()
ds = builder.as_dataset(split='train', shuffle_files=False)

for i, x in enumerate(ds.take(10)):
  text_tensor = x['text']
  text_str = tf.compat.as_text(text_tensor.numpy())
  print(f'{i} : {text_str}')
0 : 右カラムには点数別に区分けしたカテゴリーを設けています。「おもしろいDVDなんかないかな?」と思った時は、80点以上から選ぶと外す確率が少なくなると思います。ちなみにつまらない映画はなるべく観たくないので、60点以上の作品の紹介が自然と多くなっています。そのかわり、90点以上はめったなことではつけないようにしています。
1 : 
2 : 筑摩「そういえば、足が大きく露出しているというのは、私と姉さんの改二と似ていると言ってもいいかもしれないですね」
3 : ところで、なぜ北米なのかって?というか、なぜこの大陸を最初に選んだのか?
4 : ※あと何度も言いますけども、上記コードは新バージョン「ユニバーサル・アナリティクス」を利用してる場合のものです。旧バージョンを使っている場合はこのコード使えないのでご注意ください。
5 : 私が見た雑誌には看護師 求人 滋賀の情報が紹介された全国の求職情報が載っていました。
6 : この時期に、英語学習を始める、あるいはさらに力を入れる方は多いんです。
7 : そして5つ目はキシリトール。キシリトールは虫歯の原因菌を作らせない、かつ減らす働きがあり、虫歯のリスクを下げる効果があるんですね。
8 : 
9 : 収益的収入の総額は、57万3千円を増額し、23億9,987万2千円に補正するものであります。

さいごに

transformer-lm-japaneseというJAX/Flaxベースの日本語LLMをOSSで作っています。

https://github.com/FookieMonster/transformer-lm-japanese

参考資料

https://www.tensorflow.org/datasets/community_catalog/overview?hl=ja

https://www.tensorflow.org/datasets/community_catalog/huggingface/cc100?hl=ja

https://huggingface.co/datasets/cc100

Discussion