NLP Academy · レッスン

文書単語行列を読み解く

行、列、スパース性を理解する

レッスン 4/413 ステップ

「文書単語行列を読み解く」はCoddyKit上の無料NLP Academyレッスンです。 これはレッスン4/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはNLP Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 NLP Academyコースには全4レッスンが含まれています。

DTMとは何か

文書用語行列は、カウントを並べた表です。各行が文書を、各列が語彙に含まれる単語を表します。🧮

行は文書を表す

1つの行には、1つの文書の完全なカウントベクトルが入り、その文書内で各単語が何回現れたかをまとめます。

列は用語を表す

各列は、すべての文書における1つの単語を追跡します。そのため、列を縦に読むと、その単語がどこに現れるかが分かります。

セルはカウントを表す

行i、列jの値は、文書iに単語jが何回現れたかを示す、1つのカウントです。

形状を確認する

行列の形状を見ると、扱っている文書数と一意な単語数が分かります。

print(X.shape)  # (n_documents, n_words)

ほとんどのセルはゼロ

1つの文書で使われるのは数千語のうち一部だけなので、行列の大部分はゼロになります。この状態をスパースと呼びます。

スパース性が重要な理由

ゼロでない値だけを保存することで、巨大な行列をメモリ内に保持できます。そのため、scikit-learnはスパース形式を返します。

列にラベルを付ける

配列に特徴量名を対応付けると、内容を読みやすくできます。DataFrameを使えば、元のカウントを分かりやすい表にできます。

import pandas as pd
df = pd.DataFrame(X.toarray(), columns=names)

1つの文書を読む

1行だけを見ると、その文書がどの単語をどれだけ使っているかという文書の特徴が分かります。この行が文書の指紋です。

2つの文書を比較する

似た文書は似た行になります。ベクトルを比較することで、2つのテキストの内容がどれほど近いかを測定できます。

行列からモデルへ

この行列を分類器への入力として渡します。DTMが特徴量で、ラベルが目的変数です。

確認問題

文書用語行列の1つのセルには何が入っていますか。

まとめ: DTM

文書用語行列について、行は文書、列は単語、セルはカウントを表すことを学び、スパースになる理由も確認しました。🎉

無料で開始

AI チューターと学ぶ Python — 無料

ブラウザでリアルコードを書いて実行し、24/7 の AI チューターから瞬時にサポートを受け、ウェブまたはアプリで続きから学習できます。

コース
30
レッスン
120

よくある質問

「文書単語行列を読み解く」レッスンは無料ですか?

はい。「文書単語行列を読み解く」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、NLP Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 NLP Academyコースには全4レッスンが含まれています。

「文書単語行列を読み解く」で何を学びますか?

行、列、スパース性を理解する ブラウザで直接実行するハンズオンコードでNLP Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

NLP Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのNLP Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン4/4です。

「文書単語行列を読み解く」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このNLP Academyレッスンでコードを書いて実行できますか?

はい。すべてのNLP Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. モデルが単語ではなく数値を必要とする理由
  2. 語彙を構築する
  3. CountVectorizer で数える
  4. 文書単語行列を読み解く
← NLP Academyに戻る