自然言語処理入門

Pythonで学ぶ自然言語処理(NLP)

Fouad Trad

Machine Learning Engineer

講師紹介

 

講師の写真。

 

Fouad Trad

  • 機械学習エンジニア
  • 研究者
  • サイバー・ヘルスケア分野のNLP
Pythonで学ぶ自然言語処理(NLP)

NLPとは

 

 

  • 言語は主要なコミュニケーション手段
  • コンピュータは人間の言語を理解しない

言語が存在する場所:本、Webサイト、SNS投稿、メール。

Pythonで学ぶ自然言語処理(NLP)

NLPとは

コンピュータが人間の言語を解析できるようにする

人が機械に話しかけ、自然言語処理が内容を機械に伝える図。

Pythonで学ぶ自然言語処理(NLP)

NLPのワークフロー

ワークフローの第1段階:生テキスト。

  • 生テキスト: ツイートから本の一節まで
Pythonで学ぶ自然言語処理(NLP)

NLPのワークフロー

ワークフローの第2段階:前処理

  • 生テキスト: ツイートから本の一節まで
  • 前処理: クリーニングと不要要素の除去
Pythonで学ぶ自然言語処理(NLP)

NLPのワークフロー

ワークフローの第3段階:特徴抽出。

  • 生テキスト: ツイートから本の一節まで
  • 前処理: クリーニングと不要要素の除去
  • 特徴抽出: テキストを数値化
Pythonで学ぶ自然言語処理(NLP)

NLPのワークフロー

ワークフローの第4段階:モデリング

  • 生テキスト: ツイートから本の一節まで
  • 前処理: クリーニングと不要要素の除去
  • 特徴抽出: テキストを数値化
  • モデル: 解析・予測・分類・生成
Pythonで学ぶ自然言語処理(NLP)

コース計画

全体のワークフローダイアグラム。第1章ではNLTKで前処理を扱うことを示す

Pythonで学ぶ自然言語処理(NLP)

コース計画

全体のワークフローダイアグラム。第2章ではscikit-learnとGensimで特徴抽出を扱うことを示す。

Pythonで学ぶ自然言語処理(NLP)

コース計画

全体のワークフローダイアグラム。第3・4章ではtransformersライブラリで前処理・特徴抽出・モデリングを隠蔽するパイプラインを扱うことを示す。

Pythonで学ぶ自然言語処理(NLP)

トークナイゼーション

  • テキストをトークン(小さな単位)に分割

人がニンジンを刻む画像

Pythonで学ぶ自然言語処理(NLP)

文のトークン化

  • テキスト → 文
  • 全文よりも明確に分析できる
import nltk

nltk.download('punkt_tab')
text = "NLP is fun. Let's dive into it!"
sentences = nltk.sent_tokenize(text)
print(sentences)
["NLP is fun.", "Let's dive into it!"]

翻訳を表すアイコンの画像。

Pythonで学ぶ自然言語処理(NLP)

単語のトークン化

  • テキスト → 単語・句読点
  • 次に有用:
    • 重要語の抽出
    • 単語頻度の計数
text = "Claim your free prize now!"

words = nltk.word_tokenize(text)
print(words)
['Claim', 'your', 'free', 'prize', 'now', '!']

スパムメールのアイコン画像。

Pythonで学ぶ自然言語処理(NLP)

Ayo berlatih!

Pythonで学ぶ自然言語処理(NLP)

Preparing Video For Download...