文書分類と固有表現抽出 — 文の意味をラベルにする
前のレッスンで、言葉は数(ベクトル)にできると学びました。今度はその数を使って、文にラベルを貼る2つの定番タスクを動かします。文まるごとに1枚貼るのが文書分類(ポジ/ネガ・迷惑/正常)、文の中の単語に貼るのが固有表現抽出(NER)です。どちらも実務で最もよく使うNLPです。
1. 単語の重みを足すだけ — 文書分類のしくみ
感情分析やスパム判定の一番やさしいモデルは、驚くほど単純です。単語ごとに「プラス/マイナスの点数(重み)」を持たせておき、文に出てきた単語の点数を全部足すだけ。合計がプラスに傾けばポジティブ、マイナスなら ネガティブ、というわけです。
下のデモは、文を左から読みながら1単語ずつ点数を足していきます。針がどちらに倒れるかを見てください。スパム判定に切り替えても、やっていることは同じ「足し算」です。
2. 重みはどこから来る? — データから学ぶ
「最高」がプラス、「最悪」がマイナス。この点数は誰かが手で決めたわけではありません。正解ラベル付きの例文をたくさん見せると、自動で決まっていきます。ポジティブな文によく出る単語は少しずつプラスへ、ネガティブな文に出る単語はマイナスへ引っぱられるのです。
下のデモは学習のイメージです。例文を見るたびに各単語の重みが目標へ寄っていきます。データ量を増やすと重みがはっきりし、判定に自信が持てるようになります。
3. 固有表現抽出(NER)— 文の中の「名前」を見つける
文書分類は文に1枚のラベルでした。固有表現抽出(NER)はもっと細かく、文の中の単語のかたまりに種類を付けます。人名・地名・組織名・日付などの「固有名詞」を拾い出す作業です。検索・要約・情報抽出の土台になります。
下のデモでは、タガー(付け屋)が文を左から1単語ずつ走査し、固有名詞を見つけると色を塗って種類の札を立てます。人名=青/地名=緑/組織=橙/日付=紫。
4. BIO記法 — どこで始まり、どこで終わるか
「山田 太郎」のように名前が2単語にまたがると、「どこからどこまでが1人の名前か」を機械に伝える必要があります。そこで各単語に3種類の印を付けます。B(Begin=かたまりの先頭)・I(Inside=続き)・O(Outside=固有名詞ではない)。これがBIO記法です。NERは結局「各単語にBIOタグを予測する分類問題」に落とし込めます。
5. まとめ — ラベルを貼る2つの粒度
- 文書分類:文に1枚ラベル。単語の重みを足して符号で判定する線形分類器が出発点(感情分析・スパム判定)。
- 重みは学習で決まる:正解付きの例文を見るほど重みがはっきりし、判定の自信が増す。単語だけ見る素朴なモデルは否定や皮肉に弱い。
- 固有表現抽出(NER):文の中の単語のかたまりに種類(人名・地名・組織・日付)を付ける。単語ごとの分類。
- BIO記法:B/I/O の印で「かたまりの始まりと続き」を表し、複数単語の名前を1つとして扱う。