日本語を対象とした事前学習済みモデルの多くがこの記事で紹介するデータを利用して事前学習されています。 この記事ではそれらのデータがどのように構築されたかをまとめます。

目次

ここで紹介するデータはいずれもCommon Crawlのスナップショットから作成されています。 Common Crawlはウェブ上のあらゆる文書を有志が収集し、定期的にスナップショットを作成・公開されているデータです。 そのため、あらゆる言語のさまざまな文書が含まれます。このデータを利用しやすいように、一定の品質の文書を抽出し、言語ごとに分類されています。 これらのデータの違いは、いつのスナップショットを使って、どのように言語を判定し、どのように品質の良い文書集合を抽出するか、という点です。 Wikipediaは事前学習で最もよく利用されるデータですが、他のウェブ文書よりも高品質でかつ日本語のみのデータを抽出するのが容易なので説明は省きます。

CC-100

CC-100はFacebookが構築したデータ (Wenzek et el., 20)(homepage)です。 2018年のCommonCrawlのスナップショットから作成された大規模な多言語テキストコーパスです。

処理概要:

  • 他の文書にも含まれるパラグラフを文書から削除。
  • fastTextを使って言語判定。言語判定モデルの学習にはWikipediaやtatoebaを利用。
  • Wikipediaで学習した言語モデルでパラグラフの対数尤度を計算。対数尤度が低いパラグラフは低品質 (Wikipediaの記事とは分布が異なる) とみなして除去。

データが2018年のスナップショットなので新しい話題に関するテキストは含まれません。

mC4

mC4はmT5 (Xue et al., 2021) の事前学習で利用され、その後公開されたデータです (homepage)。 CC-100と異なり、定期的に新しいバージョンのデータが公開されています 1

処理概要:

  • 行数が少なすぎる文書や非倫理的な単語2を含む文書を削除。
  • 他の文書にも含まれる行を文書から削除。
  • 言語判定にはCLD3を利用。

OSCAR

OSCARはInriaのチームがメンテナンスしているデータ (Abadji et al., 21), (Abadji et al., 22), (homepage)です。 こちらもCC-100と異なり、定期的に新しいバージョンのデータが公開されています。

データのバージョンによって行単位の重複を削除したものがあったりなかったりします。 たとえばv21-09は重複削除済みデータが提供されています3が、v22-01では重複削除済みデータ4は提供されていません。 これはv22-01が文書単位の情報を保持することを意識しているためです。

(v22-01の) 処理概要:

  • ヘッダーやフッターなどの行を削除。
  • 短い文書は削除。
  • 記号ばかりの文書は削除
  • blockリストに含まれるURLの文書は削除。
  • fastTextを使って言語判定。

おわり

この記事ではCC-100、mC4、OSCARという3種類のデータを紹介しました。 これらのデータはいずれもCommon Crawlから収集されており、いつの時期のデータを使って、どのような処理をしているのか、という点が異なることを説明しました。 最近ではただ大規模なデータを使うだけではなく、冗長な文書を除くこと (行やパラグラフ単位ではなく、文書単位で冗長性を除去する) でもモデルの精度が上がるという話 56 もあるので、事前学習に使われるデータがどのように処理されているのかという点を追っていきたいです。


  1. https://www.tensorflow.org/datasets/catalog/c4 ↩︎

  2. https://github.com/LDNOOBW/List-of-Dirty-Naughty-Obscene-and-Otherwise-Bad-Words ↩︎

  3. https://oscar-project.org/post/oscar-v21-09/ ↩︎

  4. https://oscar-project.org/post/oscar-v22-01/ ↩︎

  5. https://aclanthology.org/2022.acl-long.577.pdf ↩︎

  6. https://arxiv.org/pdf/2112.11446.pdf ↩︎


関連記事






最近の記事