コーパス
Corpus / テキストコーパス
言語モデルの学習・分析に使われる、構造化されたテキストデータの集合
NLPデータ
概要
コーパスは、自然言語処理や機械学習のために収集・整理された大規模なテキストデータの集合。書籍・新聞・Webページ・SNS投稿など様々な情報源から集められ、LLMの事前学習や統計的言語モデルの構築に使われる基礎データとなる。単一言語のみを含む単言語コーパス、複数言語の対訳文を含む対訳コーパス、特定分野に特化したドメイン特化コーパスなど、用途に応じて多様な種類が存在する。
背景
言語をコンピュータで統計的に扱うには、実際に使われた言語データの蓄積が不可欠。コーパス言語学の発展とともに、大規模テキストを収集・アノテーションしてモデル学習や言語研究に活用する手法が確立された。
歴史
1960年代: Brown Corpusなど初期の電子化コーパスが登場。1990年代: Webの普及によりテキストデータの入手が容易化。2010年代以降: Common Crawlなどウェブ全体をクロールした超大規模コーパスがLLM事前学習の基盤に。
ワークフロー
収集(クロール・スキャン等) → クリーニング(重複除去・ノイズ除去) → トークン化・正規化 → 必要に応じたアノテーション → モデル学習・言語研究への利用。
コード例
NLTKでコーパスを読み込む
import nltk
from nltk.corpus import brown
words = brown.words()
print(len(words))利点
- 実際の言語使用パターンを反映した学習データを提供する
- 大規模化により統計的な信頼性が向上する
- ドメイン特化コーパスによりタスク特化の精度向上が可能
欠点
- 収集源に由来するバイアス(偏った意見・言語・地域等)が混入しやすい
- 著作権・プライバシーなど権利処理の課題がある
- クリーニングやアノテーションに人手・コストがかかる
比較
- LLM — コーパスはLLMの事前学習に使われる元データ
関連用語
よくある質問
コーパスとデータセットの違いは?
コーパスは主に自然言語テキストの集合を指す用語。データセットはより広い概念で、画像や数値データなどテキスト以外も含む学習用データ全般を指す。
参考文献
- Official WebsiteCommon Crawl