自然言語処理のための人気のある20のオープンデータセット
NLPプロジェクトに理想的なデータセットを選ぶための重要な基準を学び、人気のある20のオープンデータセットを探検しましょう。
シリーズ全体を読む
#はじめに
自然言語処理 (NLP)は機械学習の一分野であり、モデルが人間の言語を理解し、そこから意味を導き出すことを学習する。NLPは、テキストや音声のような非構造化データを、分類タスク、要約、機械翻訳、感情分析、その他多くのアプリケーションで使用できる構造化された形式に変換する。
これらのタスクを実行するモデルをトレーニングするには、大量のデータが必要です。モデルの能力が高ければ高いほど、より多くのデータが必要になる。幸いなことに、Hugging Face、Kaggle、GitHub、Papers with Codeのようなリポジトリは、膨大で多様なデータセットを提供しており、一般利用が容易です。
この投稿では、一般的なNLPタスク、感情分析、テキストベースのタスク、音声認識に分類して、最も人気のあるNLPデータセットを20個まとめました。また、あなたのプロジェクトに理想的なデータセットを選ぶための重要な基準も探ります。
NLP データセットの選択基準
モデルのトレーニングやファインチューニングのために自然言語処理データセットを選択する際には、プロジェクトの具体的な目標、データセットの質とサイズ、データの多様性、アクセスや利用のしやすさなどを考慮してください。
目的
最も重要な要素は、データセットがプロジェクトの目的に合致しているかどうかである。データセットの質、量、多様性が高くても、目的とするタスクやドメインと無関係であれば役に立ちません。例えば、映画レビューのセンチメント分析モデルを構築する場合、The New York Timesのニュース記事のような大規模だが無関係なデータセットよりも、IMDbの映画レビューのデータセットの方がはるかに効果的です。データセットが特定の目的に適合していることを確認することは、モデルを効果的にトレーニングするために不可欠です。
データの質
データセットの質も、モデルの性能に直接影響するため、非常に重要です。質の悪いデータは、不正確な予測、信頼できない出力、誤解を招く可能性のある結果につながります。例えば、スペルミス、文法ミス、一貫性のないラベリングでいっぱいのデータセットでモデルをトレーニングすると、モデルがこれらのエラーを再現する可能性が高くなります。これは、テキスト生成タスクにおける幻覚のような問題を引き起こす可能性があり、モデルが間違った情報を自信を持って出力してしまいます。したがって、不正確さ、偏り、冗長性を注意深くフィルタリングしたデータセットを選択し、モデルのトレーニングのためにデータがクリーンで信頼できることを保証することが不可欠です。
データセットのサイズ
モデルが言語的・意味的関係を効果的に学習するには、大量のデータが必要です。一般的に、モデルのパラメータが多ければ多いほど、必要なデータセットも大きくなります。
Hoffmanら(2022)による研究論文「Training Compute-Optimal Large Language Models」では、チンチラ・スケーリングの法則が紹介されており、モデルの学習に最適なパラメータとトークンの比率は約0.2であると提唱しています。例えば、10億個のパラメータを持つモデルは、最適な性能を得るために約50億トークンのデータセットを必要とするかもしれない。一方、対象タスクの言語的特徴やドメインを正確に表すデータセットであれば、より小さなデータセットでもセンチメント分析モデルの微調整には十分です。例えば、1億個のパラメータを持つセンチメント分析モデルは、1,000万個の高品質なデータポイントしか必要としないかもしれません。
下の表は、チンチラ・スケーリングの法則によって決定される、さまざまなモデル・サイズとそれに対応する最適なデータセット・サイズの例を示しています:
モデルサイズ(パラメータ)**| 最適データセットサイズ(トークン)| 70M | |
70M | 300M |
1B | 5B |
10B | 50B |
70B | 300B |
表:さまざまなモデルサイズと、それに対応する最適なデータセットサイズの例_。
多様性
多様なデータセットは、幅広いタスクをより高い精度で処理できる総合的なモデルを作成するために不可欠です。多様な経験が人間の個性を豊かにするように、多様なデータによって、NLPモデルは異なるコンテキストでより良いパフォーマンスを発揮することができます。例えば、言語翻訳モデルをトレーニングする場合、正式な学術的文章のデータセットだけに頼ると、カジュアルな会話やスラングを翻訳する能力が制限されてしまいます。しかし、様々な言語の散文、学術的な文章、インタビュー、コーディングサンプルを混在させることで、モデルは様々な言語的コンテキストに対応できるようになり、より正確な翻訳を生成できるようになります。
アクセシビリティ
アクセシビリティとは、プロジェクトに必要なデータをいかに簡単に入手できるかということです。必要なデータへのアクセスが簡単であればあるほど、トレーニングの効率は上がる。Hugging Face](https://huggingface.co/)、Kaggle、Papers with Codeのようなプラットフォームで利用可能なオープンデータセットは、そのアクセスのしやすさと包括的なドキュメントにより、多くの研究者が最初に選択することが多い。
HuggingFaceは、NLPのための簡単にアクセスできるオープンデータセットの膨大なコレクションを持っています](https://assets.zilliz.com/Hugging_Face_has_a_huge_collection_of_easily_accessible_Open_Datasets_for_NLP_a29b14b945.png)
例えば、Hugging FaceからProject Gutenbergのようなデータセットをダウンロードするのは簡単です。datasets
ライブラリをインストールして、load_dataset
関数を使うだけです。このようにアクセスしやすくすることで、開発プロセスを加速させ、モデルを効果的に学習させるための適切なデータを確保することができます。
pip install datasets
from datasets import load_dataset
training_dataset = load_dataset("manu/project_gutenberg")
自然言語処理に人気のオープンデータセット20個
NLPプロジェクトに適したデータセットを選択するための重要な基準について説明したところで、最も人気のある20のデータセットを探ってみよう。これらのデータセットは、一般的なNLPタスク、感情分析、テキストベースのタスク、音声認識の4つのカテゴリに分類されます。
一般的なNLPプロジェクト
一般的な NLP タスクの場合、データセットは言語の複雑さやニュアンスをとらえた、広範で多様なものである必要があります。これにより、モデルが異なる言語的コンテクストをうまく汎化できるようになります。
ブログオーサーシップコーパス**](https://www.kaggle.com/datasets/rtatman/blog-authorship-corpus):Blogger.comの19,000人の著者による約70万件の投稿、合計1億4,000万語の英語のデータセット。このデータセットは、文体やオーサーシップの分析に貴重であるが、個人ブログに関するプライバシーや倫理的な懸念を考慮する必要がある。
Recommender Systems and Personalization Datasets](https://cseweb.ucsd.edu/~jmcauley/datasets.html):このコレクションには、Amazon、Google、Twitch、Redditなどのソースからの膨大なデータセットが含まれ、様々な形式のユーザーインタラクション、レビュー、評価を特徴としています。これらのデータセットは多様なソースを提供しますが、集計や前処理が必要な場合があります。
Project Gutenberg: 50,000以上のパブリックドメインの書籍を様々な言語で収録しており、様々な時代の言語モデリングに豊富なリソースを提供している。データセットには、プレーンテキストやHTMLなど様々な形式のテキストが含まれる。
Yelp Open Dataset:150,000以上のビジネスに対する約700万件のレビューと、ユーザーのヒントやビジネスの属性などのデータが含まれる。広範ではあるが、その焦点はビジネスレビューであり、レビュー以外の広範で一般的なNLPタスクはカバーしていない可能性がある。データセットへのアクセスはこちらから。
SQuAD (Stanford Question Answering Dataset):100,000以上の質問と答えのペアを含む、質問回答(QA)タスクのための大規模なデータセット。QAモデルの標準的なベンチマークとなっており、SQuAD 2.0が含まれています。データセットへのアクセスはこちらから。
センチメント分析
センチメント分析は、テキストの一部で表現されたセンチメントを識別し分類するために使用される NLP テクニックです。主な目的は、テキストが肯定的、否定的、中立的、または混合的な感情を伝えているかどうかを判断することです。この技法は、テキストデータの意見、感情、言い回しのニュアンスを理解するために不可欠です。
センチメント分析データセットは、意見、感情、言い回しのニュアンスを捉えるために極めて重要である。データセットには、センチメントがどのように異なる方法で表現されるかをモデルが学習できるように、多様なラベルや評価システムを含める必要があります。
センチメント140**](https://www.kaggle.com/datasets/kazanova/sentiment140):160万件のツイートからなるデータセットで、顔文字を除去し、0(否定的)から4(肯定的)までのスケールでラベル付けされている。極性、日付、ユーザー、テキストなどのフィールドを含む。このデータセットには、スラングやインフォーマルな表現など、Twitterデータに存在するバイアスが反映されている可能性があることに注意。
Multi-Domain Sentiment Analysis Dataset](https://www.cs.jhu.edu/~mdredze/datasets/sentiment/):様々なカテゴリーにわたるAmazonの商品レビューが含まれており、バイナリラベルに変換可能な星評価付き。データセットがカテゴリを比例してカバーし、特定のユースケースに関連していることを確認する。
SentimentDictionaries**](https://github.com/nproellochs/SentimentDictionaries):センチメント分析用に調整された80,000以上のエントリを持つ2つの辞書で、1つはIMDbの映画レビューから、もう1つはU.S. 8-K提出書類から。特定の用途のために追加処理が必要な場合がある。
OpinRank Dataset**](https://kavita-ganesan.com/entity-ranking-data/#.XQESU9NKgWq):EdmundsとTripAdvisorの30万件の車とホテルのレビューのデータセットで、車種別または旅行先別に整理されている。最近のレビューも含まれ、レビューの信頼性も考慮されている。
Stanford Sentiment Treebank:Rotten Tomatoesのレビューから10,000以上のエントリのセンチメントアノテーションが含まれており、1(最も否定的)から25(最も肯定的)のスケールで評価される。このデータセットには、様々な粒度のアノテーションが含まれている。
テキストベースのタスク
テキストベースの NLP タスクには、機械翻訳、テキスト要約、テキスト分類、名前付きエンティティ認識 (NER)、質問応答 (QA) などのユースケースをサポートする、大規模かつ多様なデータセットが必要です。
20ニュースグループ**](http://qwone.com/~jason/20Newsgroups/):20の異なるニュースグループから20,000の文書を集めたもので、テキストの分類やクラスタリングタスクによく使われる。オリジナル、重複なし、日付削除の3つのバージョンがある。カスタムの前処理が必要な場合があることに注意。
Microsoft Research WikiQA Corpus:Bingのクエリログから3,000以上の質問と29,000以上の回答を含む、QAタスクに最適なコーパス。データセットの品質とあなたのQAモデルとの関連性を確認してください。
Jeopardy**:](https://archive.ics.uci.edu/dataset/239/legal+case+reports) テレビ番組 "Jeopardy!"の200,000問以上の問題からなるデータセット。1964年から2012年までのエピソードをカバーするカテゴリ、値、記述子を持つ。問題の性質とTV番組の文脈に起因する潜在的なバイアスに注意。
Legal Case Reports Dataset:4,000を超えるオーストラリアの法的ケースの要約を含み、テキスト要約のモデルをトレーニングするための優れたリソースとなる。様々な種類のケースと法域をカバーしている。
名詞、動詞、形容詞、副詞が認知的類義語、つまり「シ ンセット」にグループ化され、概念的意味的関係と語彙的関係によって結ばれてい る。語彙セマンティクスのための優れたリソースであり、様々なNLPタスクと統合することができる。
音声認識
音声認識データセットは、背景雑音を最小限に抑え、高い信号品質を確保するなど、言語コミュニケーションの複雑さを捉えるために高品質でなければなりません。また、話者、アクセント、コンテキストの多様性は、ロバストで様々な実世界シナリオに適応可能なモデルを学習するために不可欠です。
英語、ドイツ語、オランダ語でナレーションされたウィキペディア記事のコレクションで、各言語で数百時間に及ぶ音声が収録されています。言語の範囲と、データセットの品質やカバレッジの制限を強調しています。
LJ Speech Dataset: オーディオブックから人間が検証したトランスクリプションの13,100クリップが収録されています。話者1人という制限と、他の音声への一般化可能性への影響に注意。
M-AI Labs Speech Dataset**](https://paperswithcode.com/dataset/m-ailabs-speech-dataset):LibriVoxとProject Gutenbergの約1,000時間の音声とトランスクリプションを、性別と言語別に整理。多様な話者と文脈が含まれていることを確認する。
ノイジー・スピーチ・データベース**](https://datashare.ed.ac.uk/handle/10283/2791):音声強調モデルや音声合成モデルの構築に有用。含まれる雑音の種類とデータセットの有用性への影響について言及する。
timit:テキサス・インスツルメンツとマサチューセッツ工科大学によって作成された音響音声音声データセットで、630人の話者が8つのアメリカ英語の方言で音韻豊かな文章を読んでいる。音声技術の進歩に伴い、現在も利用可能かどうかを示す。
NLPとディープラーニングモデルの開発に利用可能な幅広いデータセットのさらなる探求については、以下のリソースをチェックしてください:
HuggingFaceデータセット](https://huggingface.co/docs/datasets/en/index)
Kaggleデータセット](https://www.kaggle.com/datasets)
コード付き論文データセット](https://paperswithcode.com/datasets)
その他の自然言語処理データ源
一般に公開されているデータセットは機械学習の開発や研究にとって非常に貴重なものであるが、それ以外にも、特定のニーズにより適した、あるいは独自の利点をもたらすような、自然言語処理訓練データを入手する方法がある:
プライベートデータセット
プライベート・データセットとは、個人的にキュレーションされたデータ・コレクションで、社内で作成されたり、専門のデータセット・プロバイダーから購入されたりすることが多い。このようなデータセットは、特定のニーズに合わせて作られており、通常、関連性、正確性、偏りなどに注意深く配慮された質の高いものである。しかし、民間データセットの入手にはコストがかかり、データ収集と管理に多大なリソースを必要とする場合がある。このようなデータセットは、特定の分野に特化したデータを必要とするプロジェクトや、独自のアプリケーションに取り組む場合に特に有用である。
インターネットから直接
ウェブサイトから直接データをスクレイピングすることも、NLPデータを収集する方法の1つです。この方法では、大量のデータを素早く収集することができる。スクレイピングされたデータは構造化されていないことが多く、不正確な情報や偏った情報が含まれている可能性があります。さらに、ウェブサイトからのデータのスクレイピングは、特にデータが著作権で保護されている場合や、適切な許可を得ていない場合など、法的・倫理的な問題を引き起こす可能性がある。
これらの追加ソースを調べることで、一般に公開されているデータセットを補完し、プロジェクトの要件により近いデータを見つけられる可能性があります。
まとめ
効果的な自然言語処理モデルを開発するには、適切なデータセットを選ぶことが重要です。最適なパフォーマンスを確保するために、データセットのプロジェクトの目的との関連性、品質、サイズ、多様性、アクセスしやすさなどの要素を考慮しましょう。この記事では、様々なNLPタスクで人気のある20のオープン・データセットを取り上げ、その具体的な用途と利点についての洞察を提供しました。
一般に公開されているデータセットに加え、プライベート・データセットやウェブ・スクレイピングも別のデータ・ソースを提供します。プライベート・データセットは高品質で特定分野に特化したデータを提供できますが、高価な場合があります。ウェブからのデータスクレイピングは、大規模な収集を可能にするが、データ品質の問題や法的な懸念といった課題を伴う。
参考文献
ジェネレーティブAIリソースハブ|Zilliz](https://zilliz.com/learn/generative-ai)
あなたのGenAIアプリのためのトップパフォーマンスAIモデル|Zilliz](https://zilliz.com/ai-models)
機械学習・NLP・ベクトルデータベース学習センター](https://zilliz.com/learn)
あなたのMLアプリケーションを強化するトップ20 NLPモデル ](https://zilliz.com/learn/7-nlp-models)
NLPの基礎:トークン、Nグラム、Bag-of-Wordsモデル ](https://zilliz.com/learn/introduction-to-natural-language-processing-tokens-ngrams-bag-of-words-models)
RAGとは ](https://zilliz.com/learn/Retrieval-Augmented-Generation)
ベクトル・データベースとは何か、どのように機能するか ](https://zilliz.com/learn/what-is-vector-database)