🌐

TensorFlow Datasetsでwiki40bの日本語データを使う

2023/07/22に公開

TensorFlow Datasetsでwiki40b/jaを使う

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

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

まず、tensorflow-datasetsと、その関連パッケージをインストールします。
tensorflowに依存しているのでそれもインストールします。

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

サンプルコード

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

import tensorflow as tf
import tensorflow_datasets as tfds

builder = tfds.builder('wiki40b/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}')

出力結果が長いので1件文のみ表示しています。

0 : 
_START_ARTICLE_
Seventeen (日本の雑誌)
_START_SECTION_
概要
_START_PARAGRAPH_
1968年6月に、総合少女週刊誌『マーガレット』のお姉さん雑誌『週刊セブンティーン』として創刊、アメリカで1944年に創刊された『Seventeen』の日本版として出発した。掲載内容はファッション・少女漫画・芸能など多岐にわたる。_NEWLINE_通巻1000号となる1988年1月3日号より、誌名の表記をアルファベットの『SEVENTEEN』としてリニューアル。判型は大きいサイズ、刊行は月2回の隔週刊(毎月1日・15日)に変更し、漫画部分が無くなった。 漫画雑誌としての部分は『月刊ティアラ』として新創刊され、引き継がれた。その後、ライバル誌だった小学館の『プチセブン』の廃刊後、急速に売り上げを伸ばし、「ティーンのNo.1雑誌」と銘打っている。_NEWLINE_2001年から徐々に芸能人の記事や表紙掲載が減り、表紙は当雑誌の専属モデルを起用、誌面にも多数の現役女子高生読者モデルを登場させ、女子中高生向けファッション雑誌に特化するようになった。_NEWLINE_創刊40周年を機に2008年10月号より月刊化。表記も『Seventeen』に変更した。_NEWLINE_上位誌は1971年創刊の『non-no』であるが、2004~09年にかけては系統の異なる上位誌として『PINKY』も発売された。
_START_SECTION_
月刊セブンティーン
_START_PARAGRAPH_
1969年に『別冊セブンティーン』として創刊(1969年12月号)。毎月24日発売。掲載内容は、少女漫画の他にファッションや芸能もあった。1973年6月号より『月刊セブンティーン』へ名称を変更し、新創刊する。『週刊』の「週セ」に対し、「月セ」と呼ばれ、以下のヒット作を生み出したが、1986年12月号を最後に廃刊。従来「月刊セブンティーン特別編集」とされていた『ヤングユー』が隔月刊から月刊になった。
_START_SECTION_
専属モデル
_START_PARAGRAPH_
誌面に登場する専属モデルは「STモ」と呼ばれる。STモは一般公募のオーディション「ミスセブンティーン」で選出されたり、大手芸能事務所からの編集部への売り込みなどで定期的に補充される「プロダクション組」がいる。_NEWLINE_特にプロダクション組は2010年以降ローティーン向け雑誌『nicola』(新潮社)からのトップモデルもしくはナンバー2モデルの移籍が続いており、2010年の西内まりや、2011年の立石晴香、2013年の古畑星夏を皮切りに、以降2017年までは毎年9月号で1~2名の移籍が発生している。西内まりやはトップモデルとし活躍し表紙25回在籍64か月であったが、ローティーン雑誌主催のモデルオーディション出身者は冷遇される傾向があり、立石晴香(在籍29ヶ月)や藤麻理亜(在籍20ヶ月)は表紙を経験せずに比較的短期間で『seventeen』を卒業しており、4年間在籍した古畑星夏も当時同年代でも唯一の表紙未経験であった。2017年8月現在プロダクション組の10名中7名がローティーン雑誌からの移籍組が占めている。_NEWLINE_人気モデルは頻繁にカバーガール(表紙)を務めたり、連載ページを担当するほか、ソロでフォトエッセイが発売されることもある。本誌に限らないが、『週刊プレイボーイ』、『MEN'S NON-NO』など集英社の男性向け雑誌に出演して、女性に限らず男性からも支持を集めるという手法も採られている。卒業後は、他のファッション誌に移籍し引き続きモデルとして活躍する者がほとんどだが、女優や歌手に転向し人気を得る者もいる。_NEWLINE_本誌は10代の女性向け雑誌で、専属モデルは20歳前後で卒業するが近年は人気が高いモデルは成人後も留まる場合がある。2010年4月号から専属モデルがすべて平成生まれになった。
_START_SECTION_
ミスセブンティーン
_START_PARAGRAPH_
1986年から1999年までの休止期をはさんで2期に分かれる。
_START_SECTION_
旧オーディション
_START_PARAGRAPH_
1970年から1986年まで、「ミスセブンティーン」と題したオーディション大会を開催していた。_NEWLINE_1971年大会は坂口良子がグランプリ、1978年大会では松田聖子が地区大会でスカウトされた。中でも1984年大会は非常に水準の高い大会となり(応募総数歴代最大18万325人)、松本典子や網浜直子らがグランプリを受賞し、入賞者の全てが歌手ないしは女優としてデビューしている。国生さゆり、渡辺美里、工藤静香、渡辺満里奈、清原亜希などが出場していた。_NEWLINE_1986年の大会では、おニャン子クラブを生み出したバラエティ番組『夕やけニャンニャン』との合同オーディションを開催した(出場者の中から7名がおニャン子クラブのメンバー、及び、おニャン子クラブB組に選出された)。募集要項に記されていたグランプリ獲得者への優勝特典“ソロデビュー”と、“おニャン子クラブ内の新ユニットへの参加”は実現されなかった。
_START_SECTION_
現在のオーディション
_START_PARAGRAPH_
1986年以降一時休止していたが、1999年からオーディションが再開され、現在は専属モデルの選出に特化している。下記のテンプレート参照。_NEWLINE_4月号にモデルの応募方法が記載され、8月号で最終選考で残った候補者による読者投票で決定する。_NEWLINE_毎年夏に専属モデルが総出演するファッションショー「夏の学園祭」を開催して受賞者を披露する。_NEWLINE_10月号の紙面で全国の読者に披露する。
_START_SECTION_
連動番組
_START_PARAGRAPH_
BS-TBSでは、2008年から「夏の学園祭」の模様を放送するようになり、2009年4月からは本誌とのメディアミックスとして『恋とオシャレと男のコ』というテレビドラマが放送され、セブンティーンの専属モデルが主演を務めた。7月からは、メディアミックスの第2弾となる情報・バラエティ番組『激モテ!セブンティーン学園』が開始、やはり同誌の専属モデルがレギュラー出演していた。
_START_SECTION_
Seventeenモデビュ
_START_PARAGRAPH_
集英社と株式会社スナウトが共同で2011年からMobageで配信しているソーシャルゲーム。「STモデル」が全員ゲーム内に登場するだけでなく、『Seventeen』監修のアバターやアイテムも用意され、人気ブランドとのコラボアイテムも登場している。プレイヤーは、『Seventeen』の専属モデル「STモ」になるための様々なミッションをこなしたり、モデルの仕事をこなしたりして、自分磨きを行っていくモデルを職業として体験するゲーム。フィーチャーフォン用に公開。

前処理のサンプルコード

RAWデータのままだと、言語モデルの学習には不便なので、段落(START_PARAGRAPH)を、改行(NEWLINE)で区切った短文のデータセットにflat_map関数で変換します。

import tensorflow as tf
import tensorflow_datasets as tfds

builder = tfds.builder('wiki40b/ja')
builder.download_and_prepare()
ds = builder.as_dataset(split='train', shuffle_files=False)

def split_paragraph_py(x):
  text = x.numpy().decode('utf-8')
  lines = text.split('\n')
  paragraphs = []

  for i, line in enumerate(lines):
    if '_START_PARAGRAPH_' in line:
      next_line_index = i + 1
      if next_line_index < len(lines):
        next_line = lines[next_line_index]
        paragraphs.extend(next_line.split('_NEWLINE_'))

  if not paragraphs:
    paragraphs.append("")
  return [paragraphs]

def split_paragraph(x):
  text = x['text']
  parts = tf.py_function(split_paragraph_py, [text], Tout=tf.string)
  parts.set_shape([None])  # set the shape of output tensor
  return tf.data.Dataset.from_tensor_slices({'text': parts})

ds = ds.flat_map(split_paragraph)

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}')

lm1bやcc100のような短文形式のデータセットに変換されているはずです。

0 : 1968年6月に、総合少女週刊誌『マーガレット』のお姉さん雑誌『週刊セブンティーン』として創刊、アメリカで1944年に創刊された『Seventeen』の日本版として出発した。掲載内容はファッション・少女漫画・芸能など多岐にわたる。
1 : 通巻1000号となる1988年1月3日号より、誌名の表記をアルファベットの『SEVENTEEN』としてリニューアル。判型は大きいサイズ、刊行は月2回の隔週刊(毎月1日・15日)に変更し、漫画部分が無くなった。 漫画雑誌としての部分は『月刊ティアラ』として新創刊され、引き継がれた。その後、ライバル誌だった小学館の『プチセブン』の廃刊後、急速に売り上げを伸ばし、「ティーンのNo.1雑誌」と銘打っている。
2 : 2001年から徐々に芸能人の記事や表紙掲載が減り、表紙は当雑誌の専属モデルを起用、誌面にも多数の現役女子高生読者モデルを登場させ、女子中高生向けファッション雑誌に特化するようになった。
3 : 創刊40周年を機に2008年10月号より月刊化。表記も『Seventeen』に変更した。
4 : 上位誌は1971年創刊の『non-no』であるが、2004~09年にかけては系統の異なる上位誌として『PINKY』も発売された。
5 : 1969年に『別冊セブンティーン』として創刊(1969年12月号)。毎月24日発売。掲載内容は、少女漫画の他にファッションや芸能もあった。1973年6月号より『月刊セブンティーン』へ名称を変更し、新創刊する。『週刊』の「週セ」に対し、「月セ」と呼ばれ、以下のヒット作を生み出したが、1986年12月号を最後に廃刊。従来「月刊セブンティーン特別編集」とされていた『ヤングユー』が隔月刊から月刊になった。
6 : 誌面に登場する専属モデルは「STモ」と呼ばれる。STモは一般公募のオーディション「ミスセブンティーン」で選出されたり、大手芸能事務所からの編集部への売り込みなどで定期的に補充される「プロダクション組」がいる。
7 : 特にプロダクション組は2010年以降ローティーン向け雑誌『nicola』(新潮社)からのトップモデルもしくはナンバー2モデルの移籍が続いており、2010年の西内まりや、2011年の立石晴香、2013年の古畑星夏を皮切りに、以降2017年までは毎年9月号で1~2名の移籍が発生している。西内まりやはトップモデルとし活躍し表紙25回在籍64か月であったが、ローティーン雑誌主催のモデルオーディション出身者は冷遇される傾向があり、立石晴香(在籍29ヶ月)や藤麻理亜(在籍20ヶ月)は表紙を経験せずに比較的短期間で『seventeen』を卒業しており、4年間在籍した古畑星夏も当時同年代でも唯一の表紙未経験であった。2017年8月現在プロダクション組の10名中7名がローティーン雑誌からの移籍組が占めている。
8 : 人気モデルは頻繁にカバーガール(表紙)を務めたり、連載ページを担当するほか、ソロでフォトエッセイが発売されることもある。本誌に限らないが、『週刊プレイボーイ』、『MEN'S NON-NO』など集英社の男性向け雑誌に出演して、女性に限らず男性からも支持を集めるという手法も採られている。卒業後は、他のファッション誌に移籍し引き続きモデルとして活躍する者がほとんどだが、女優や歌手に転向し人気を得る者もいる。
9 : 本誌は10代の女性向け雑誌で、専属モデルは20歳前後で卒業するが近年は人気が高いモデルは成人後も留まる場合がある。2010年4月号から専属モデルがすべて平成生まれになった。

さいごに

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

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

参考資料

https://www.tensorflow.org/datasets/catalog/wiki40b?hl=ja

https://www.tensorflow.org/api_docs/python/tf/data/Dataset#flat_map

Discussion