🤖 STEP 1: 自然言語処理とは何か
NLPの定義、歴史、主要なタスクと応用分野を理解します
📋 このステップで学ぶこと
- NLPの定義と応用分野
- NLPの歴史(ルールベース→統計→深層学習)
- NLPの課題(曖昧性、文脈依存性)
- 主要なNLPタスク(分類、NER、翻訳、QA、生成、要約)
- 実務事例(ChatGPT、Google翻訳、Siri)
練習問題: 3問
🎯 1. 自然言語処理(NLP)とは?
まず最初に、「自然言語処理」とは何かを理解しましょう。
1-1. 「自然言語」の意味
「自然言語」という言葉は、プログラミングを学ぶ人には少し不思議に聞こえるかもしれません。 これは「人間が自然に使っている言語」という意味です。
私たちが毎日使っている言語のことです:
- 日本語:「今日はいい天気ですね」
- 英語:“How are you today?”
- 中国語:“你好吗?”
- 韓国語:“안녕하세요?”
では、なぜ「自然」言語と呼ぶのでしょうか? それは「人工言語」と区別するためです。
人工言語(形式言語)は、人間が特定の目的のために作った言語です:
- プログラミング言語:Python、JavaScript、Java など
- 数学の記号:x + y = z など
これらはルールが厳密に決まっているため、コンピュータが解釈しやすいです。 一方、自然言語は曖昧さや例外が多く、コンピュータには難しいのです。
1-2. NLPの定義
自然言語処理の正式名称と定義を確認しましょう。
自然言語処理(NLP)とは、
人間が普段使っている言葉(自然言語)を
コンピュータに理解・処理させる技術のことです。
NLPを日本語に分解すると以下のようになります:
- Natural(自然な)→ 人間が自然に使う
- Language(言語)→ 日本語や英語などの言葉
- Processing(処理)→ コンピュータで処理する
つまり「人間の言葉をコンピュータで処理する技術」という意味です。
1-3. なぜNLPが必要なのか?
コンピュータは計算が得意ですが、言葉の理解は苦手です。 なぜ苦手なのか、具体例で見てみましょう。
人間には簡単でも、コンピュータには難しいことがあります:
例1:似た表現の理解
例2:同じ言葉の複数の意味
例3:常識的な推論
NLP技術により、コンピュータが以下のことをできるようになります:
- ✅ テキストを読んで意味を理解する
- ✅ ユーザーの質問に答える
- ✅ 文章を自動生成する
- ✅ 言語を翻訳する
- ✅ 文章の感情を分析する
- ✅ 文章から重要な情報を抽出する
📚 2. NLPの歴史と進化
NLPは約70年の歴史があります。どのように進化してきたかを理解することで、 現在の技術がなぜ優れているかがわかります。
NLPは3つの大きな時代を経て進化してきました。
2-1. 第1世代:ルールベースアプローチ(1950年代〜1980年代)
人間の専門家が言語のルールを1つずつプログラムに書き込む方法です。
言語学者がルールを考え、プログラマーがそれをコードにしていました。
具体的にどのようなルールを書いていたか、例を見てみましょう:
このアプローチには大きな問題がありました:
- 例外が多すぎる:言語には無数の例外があり、全てをルール化できない
- 保守が大変:新しい表現が出るたびにルールを追加する必要がある
- スケールしない:複雑な文章に対応できない
- 言語ごとに作り直し:英語と日本語では全く別のルールが必要
2-2. 第2世代:統計的アプローチ(1980年代〜2010年代前半)
大量のテキストデータから統計的なパターンを学習する方法です。
人間がルールを書く代わりに、コンピュータがデータから「よく出てくるパターン」を学習します。
統計的アプローチの考え方を例で見てみましょう:
- データ駆動:ルールを手作業で書く必要がない
- 柔軟性:新しいデータを追加すると自動的に改善される
- 言語に依存しない:どの言語にも同じ手法を適用可能
- n-gram:連続するn個の単語のパターンを学習
- Hidden Markov Model(HMM):品詞タグ付けなどに使用
- Naive Bayes:テキスト分類(スパムフィルターなど)
2-3. 第3世代:深層学習アプローチ(2010年代後半〜現在)
ニューラルネットワークを使って、言葉の「意味」や「文脈」まで理解する方法です。
これまでの手法と違い、単語の意味を「ベクトル(数値の配列)」として表現し、 数学的に処理できるようにしました。
深層学習の登場により、NLPは革命的に進化しました。 主要な出来事を年表で確認しましょう:
- 精度の飛躍的向上:多くのタスクで人間レベル以上の性能
- 汎用性:1つのモデルで複数のタスク(翻訳、要約、QAなど)をこなせる
- 事前学習+ファインチューニング:少ないデータでも高精度が出せる
- エンドツーエンド学習:手作業での特徴量設計が不要
2-4. 3つの時代の比較
3つのアプローチの違いを表で整理してみましょう:
| 特徴 | ルールベース | 統計的 | 深層学習 |
|---|---|---|---|
| 時代 | 1950〜1980年代 | 1980〜2010年代前半 | 2010年代後半〜現在 |
| 学習方法 | 人間がルールを書く | データから確率を計算 | ニューラルネットで学習 |
| 精度 | 低い | 中程度 | 高い(人間超え) |
| 柔軟性 | 低い | 中程度 | 高い |
| 必要データ量 | 不要 | 中程度 | 大量 |
⚡ 3. NLPの主要なタスク
NLPには様々なタスク(解決すべき問題)があります。 それぞれのタスクを理解することで、このコースで何を学ぶのかが明確になります。
3-1. テキスト分類(Text Classification)
テキストを事前に決められたカテゴリに分類するタスクです。
「この文章は〇〇か、△△か?」という判定を行います。
具体例1:感情分析(Sentiment Analysis)
具体例2:スパムフィルター
具体例3:ニュース記事の分類
- カスタマーレビュー分析:製品レビューが肯定的か否定的か自動判定
- 問い合わせ自動振り分け:お問い合わせを適切な部署に自動転送
- SNS監視:ブランドに関する投稿の感情をリアルタイム分析
- コンテンツ管理:記事を自動でカテゴリ分け
3-2. 固有表現認識(Named Entity Recognition, NER)
テキストから人名、地名、組織名などの固有名詞を抽出するタスクです。
「この文章に出てくる人物名は?会社名は?」という情報抽出を行います。
- ニュース分析:記事から企業名や人名を自動抽出して整理
- 契約書分析:契約書から当事者名、日付、金額を自動抽出
- 医療記録:カルテから病名、薬剤名、症状を抽出
- 履歴書スクリーニング:応募者の学歴、職歴を自動抽出
3-3. 機械翻訳(Machine Translation)
ある言語のテキストを別の言語に翻訳するタスクです。
Google翻訳やDeepLなど、私たちが日常的に使っているサービスです。
- Google翻訳:100以上の言語に対応
- Webサイトの多言語化:コンテンツを自動で多言語展開
- 国際ビジネス:契約書や文書の翻訳支援
- 旅行:リアルタイム通訳アプリ
3-4. 質問応答(Question Answering, QA)
質問に対して適切な回答を生成または抽出するタスクです。
主に2種類あります:抽出型(文章から答えを見つける)と 生成型(答えを新しく作る)です。
抽出型QA(文章から答えを見つける)
生成型QA(答えを新しく作る)
- チャットボット:カスタマーサポートでの自動応答
- 検索エンジン:Googleの「強調スニペット」機能
- 社内FAQ:社内文書から情報を自動検索・回答
- 音声アシスタント:Siri、Alexaの質問応答機能
3-5. テキスト生成(Text Generation)
与えられた入力や文脈から、新しいテキストを自動生成するタスクです。
ChatGPTが最も有名な例です。
- ChatGPT:対話型のテキスト生成
- コンテンツ作成:記事の下書き、キャッチコピー生成
- コード生成:GitHub Copilot
- メール文作成:ビジネスメールの自動生成
3-6. 要約(Summarization)
長い文章から重要な情報を抽出し、短くまとめるタスクです。
抽出型(元の文から重要な部分を選ぶ)と 生成型(新しく要約文を作る)があります。
- ニュース要約:長い記事を3行でまとめる
- 会議議事録:長時間の会議内容を要点だけ抽出
- レポート要約:長い報告書のエグゼクティブサマリー作成
- 論文要約:学術論文のアブストラクト生成
3-7. タスクの関係性まとめ
これらのタスクは組み合わせて使われることも多いです:
- チャットボット = 質問応答 + テキスト生成
- 多言語対応システム = 機械翻訳 + テキスト分類
- 情報抽出パイプライン = 固有表現認識 + 要約
🚧 4. NLPの課題
NLPは大きく進化しましたが、まだ完璧ではありません。 人間の言語には様々な難しさがあります。 これらの課題を理解することで、なぜNLPが難しいのかがわかります。
4-1. 曖昧性(Ambiguity)
同じ言葉でも、文脈によって全く違う意味になることがあります。 これを「曖昧性」と呼びます。
多義語の問題
構文の曖昧性
指示語の曖昧性
4-2. 文脈依存性(Context Dependency)
言葉の意味は、誰が、どんな状況で言ったかによって変わります。
4-3. 暗黙の知識(Implicit Knowledge)
人間は「言わなくてもわかること」を省略して話します。 コンピュータはこの常識を持っていません。
4-4. 新語・造語への対応
新しい言葉やスラングは次々と生まれます。 訓練データに含まれていない言葉は理解が困難です。
これらの課題はまだ完全には解決されていませんが、 大規模言語モデル(LLM)の登場により、大きく改善されています。
- ✅ 大量のデータで学習することで、多くの文脈を理解
- ✅ 事前学習で常識的な知識を獲得
- ✅ 定期的なモデル更新で新語に対応
このコースでは、これらの課題にどう取り組むかも学んでいきます。
🌟 5. NLPの実務事例
NLPは私たちの日常生活のあらゆるところで使われています。 代表的なサービスを見ていきましょう。
5-1. ChatGPT(対話型AI)
OpenAIが開発した対話型AI。質問に答えたり、文章を書いたり、 コードを生成したりできます。2022年11月の公開以来、世界中で大ブームに。
- GPT(Generative Pre-trained Transformer):大規模言語モデル
- Transformerアーキテクチャ:長い文脈を理解
- RLHF(人間のフィードバックによる強化学習):人間好みの回答を学習
5-2. Google翻訳(機械翻訳)
100以上の言語に対応した翻訳サービス。 テキストだけでなく、音声や画像内の文字も翻訳可能。
- ニューラル機械翻訳(NMT):ニューラルネットワークによる翻訳
- Transformerモデル:文脈を考慮した高精度な翻訳
- 多言語BERT:複数言語を同時に理解
5-3. Siri / Alexa(音声アシスタント)
音声で指示を出すと、天気予報を教えてくれたり、 アラームをセットしてくれたりするサービス。
- 音声認識(Speech Recognition):音声をテキストに変換
- 意図理解(Intent Classification):ユーザーの目的を特定
- 固有表現認識(NER):時間、場所などの情報を抽出
- テキスト生成:応答文を作成
5-4. Gmail(スパムフィルター・スマートリプライ)
スパムメールを自動で検出したり、 返信候補を提案してくれる機能にNLPが使われています。
- テキスト分類:スパム判定
- テキスト生成:返信候補の作成
- 感情分析:メールのトーンに合った返信を提案
5-5. あなたの仕事でのNLP活用例
- カスタマーサポート:問い合わせの自動分類・自動応答
- マーケティング:SNSやレビューの感情分析、トレンド分析
- 人事:履歴書のスクリーニング、社員アンケートの分析
- 法務:契約書からの情報抽出、リスク条項の検出
- 医療:カルテからの症状抽出、医療文書の要約
- 金融:ニュース分析による株価予測、詐欺検出
- 教育:自動採点、学習内容の個別最適化
📝 練習問題
このステップで学んだ内容を確認しましょう。
問題1:NLPの定義
次のうち、自然言語処理(NLP)の説明として最も適切なものはどれですか?
- プログラミング言語をコンピュータに理解させる技術
- 人間が使う自然言語をコンピュータに理解・処理させる技術
- コンピュータ同士が通信するための言語技術
- 数式をコンピュータで計算する技術
NLPはNatural Language Processing(自然言語処理)の略で、 人間が日常的に使っている言語(日本語、英語など)をコンピュータに理解させる技術です。
各選択肢の解説:
- a. 不正解 – プログラミング言語は「形式言語」であり、自然言語ではありません。プログラミング言語はコンピュータが直接解釈できるように設計されています。
- b. 正解 – NLPの正確な定義です。
- c. 不正解 – コンピュータ間の通信は「ネットワークプロトコル」の分野です。
- d. 不正解 – 数式の計算は「数値計算」や「科学計算」の分野です。
問題2:NLPの歴史
NLPの歴史において、深層学習アプローチが主流になったのはいつ頃からですか?
- 1950年代〜1980年代
- 1980年代〜2010年代前半
- 2010年代後半〜現在
- まだ主流ではない
深層学習(ディープラーニング)がNLPで主流になったのは2010年代後半からです。
NLPの3つの時代:
- 1950〜1980年代:ルールベースアプローチ – 人間がルールを書く
- 1980〜2010年代前半:統計的アプローチ – データから確率を学習
- 2010年代後半〜現在:深層学習アプローチ – ニューラルネットワークで学習
深層学習時代の主な出来事:
- 2013年:Word2Vec登場
- 2017年:Transformer登場
- 2018年:BERT登場
- 2020年:GPT-3登場
- 2022年:ChatGPT登場
問題3:NLPのタスク
次のうち、テキスト分類タスクに該当するものはどれですか?(複数選択可)
- 映画レビューが肯定的か否定的か判定する
- 文章から人名や地名を抽出する
- メールがスパムか正常か判定する
- 日本語を英語に翻訳する
テキスト分類は、テキストを事前に決められたカテゴリに分類するタスクです。
各選択肢の解説:
- a. 正解(テキスト分類) – 感情分析は「ポジティブ/ネガティブ」に分類するテキスト分類タスクです
- b. 不正解 – これは固有表現認識(NER)タスクです
- c. 正解(テキスト分類) – スパムフィルターは「スパム/正常」に分類するテキスト分類タスクです
- d. 不正解 – これは機械翻訳(Machine Translation)タスクです
テキスト分類の特徴:
「この文章は〇〇か、△△か?」というように、決められたカテゴリのどれかに分類する点がポイントです。
📝 STEP 1 のまとめ
- NLPとは、人間の言語をコンピュータに理解させる技術
- NLPは3つの時代を経て進化(ルールベース→統計→深層学習)
- 主要なタスク:テキスト分類、NER、機械翻訳、QA、テキスト生成、要約
- NLPには曖昧性、文脈依存性、暗黙の知識などの課題がある
- 実務事例:ChatGPT、Google翻訳、Siri/Alexa、Gmail
NLPは深層学習の登場で劇的に進化しました。 特にTransformer、BERT、GPTシリーズの登場により、 多くのタスクで人間レベル以上の性能を達成しています。
このコースでは、これらの最新技術を基礎から実装まで学んでいきます。
次のSTEP 2では、テキスト前処理の基礎を学びます。 NLPでは、テキストをそのまま使うのではなく、前処理を行ってから分析します。
トークン化、正規化、ストップワード除去など、 NLPの最初のステップとなる重要な技術を習得していきましょう!
学習メモ
自然言語処理(NLP) - Step 1