はじめに
AI-900の勉強内容をメモする。
AIが文章を処理するときに必要となる技術が「自然言語処理」(NLP)。
地味だけどとても大事な技術。
本を読むときも、まずページをめくって文字を追いながら単語もしくは一部の固まりで理解しながら読み進めると思うが、この理解する単位に分けるという行為を無意識にやっていると思う。
コンピューターでも文章を認識するためには同じように分割するなど、似たようなことをしている。
自然言語処理(NLP)の世界を少しだけ探ってみる。
ちょっとした専門用語については軽く説明と参考URLを添える。
トークン化
文章を「単語」や「意味のあるかたまり」に分解すること。
例えば「私はりんごを食べた」という文章をトークン化すると、
[“私”, “は”, “りんご”, “を”, “食べた”]
といった具合に、部品に切り分けられる。
この切り分け方を工夫することで、後続の分析がぐっとやりやすくなる。
テキストの正規化
トークン化する前に、トークン化の処理を効率化するために「余計なノイズを消す」作業。
例えば:
- 全て小文字にする(
Apple
→apple
) - 余計な記号や句読点を削除する(
.
や,
を落とす) - 全角・半角を統一する
これをしておくと、「Apple」と「apple」を別々に数えてしまうミスが減る。
地味だけど、テキスト分析の精度を上げる重要ポイント。
参考: Text Normalization (Wikipedia)
ストップワードの削除
文章にはたくさんの単語があるが、その中には「やたら出てくるけどあまり意味を持たない単語」もある。
例えば:
- 英語なら the, a, it など。
- 日本語なら は, が, を など。
これらをあえて削除することで、「本当に意味のある単語」に注力した処理になる。
N-Grams
単語を1つずつだけでなく、連続した組み合わせとして扱う方法。
- 1-gram(ユニグラム):
"dog"
,"barked"
- 2-gram(バイグラム):
"dog barked"
,"barked loudly"
- 3-gram(トライグラム):
"the big dog"
例えば「I love New York」という文は、単語ごとに切るよりも「I love」と「New York」という2語のセットで扱った方が自然。
こういう時に役立つのがN-Grams。
ステミングとは
「単語の語尾を削って、共通の語幹にそろえる」方法。
例:
-
power
,powered
,powerful
→power
こうしてまとめると、「同じ意味グループの単語」として扱えるようになる。
ちなみにステミングは少し乱暴な手法で、似ているけど違う単語までまとめてしまうこともある。もう少し賢い方法に レンマ化(Lemmatization) というものもあるが、2025/9時点のAI-900関連の情報を検索しても出てこないので、出題はされないようだ。
参考: Stemming (Wikipedia)
参考: Lemmatization (Wikipedia)
ちょっと雑談
このあたりの処理は、NLPのための、いわば「下準備」という感じかな。
調理しやすいように事前に皮を剥いたり、いい感じの大きさに切ったりすること。
この準備をおろそかにすると、後の分析がうまくいかない。
NLPでは、派手なAIモデルよりも、こういう地味な基礎工程がとても大事。
まとめ
今回の学習メモをざっくり振り返ると:
- トークン化: 文章を単語やかたまりに分解する
- 正規化: 大文字小文字の統一や記号削除でデータをきれいにする
- ストップワード: 「the」「は」など意味の薄い単語を除去する
- N-Grams: NLPのときに組み合わせの文字列(例: “New York”)として扱う
- ステミング: 単語の語尾を削って共通化する(必要ならレンマ化も検討)
どれもシンプルだが、自然言語処理の入口として必ず登場する基本技術。
これを押さえておくと、次のステップで出てくる「感情分析」や「テキスト分類」もぐっと理解しやすくなる。