自然言語処理(NLP)の基礎

spaCyで学ぶNatural Language Processing

Azadeh Mobasher

Principal Data Scientist

自然言語処理(NLP)

 

  • 人工知能(AI)の一分野
  • コンピュータが人間の言語を理解するのを支援
  • 非構造化データから洞察を抽出
  • 統計機械学習深層学習を活用

 

AI の一分野である NLP

spaCyで学ぶNatural Language Processing

NLP のユースケース

感情分析  

  • 文章の潜在的な主観的トーンをコンピュータで判定

 

感情分析の例

spaCyで学ぶNatural Language Processing

NLP のユースケース

固有表現認識(NER)  

  • 非構造化テキスト中の固有表現を検出し、事前定義カテゴリに分類
  • 固有表現は人物・場所など現実世界の対象

 

NER の例

spaCyで学ぶNatural Language Processing

NLP のユースケース

 

  • ChatGPT など、テキスト入力に人間らしく応答を生成

 

チャットボット

spaCyで学ぶNatural Language Processing

spaCy 入門

spaCy は 無料オープンソースPython 向けNLPライブラリです。

  • 情報抽出システムの構築に最適
  • NLPの本番運用向けコードを提供
  • 64以上の言語をサポート
  • 堅牢高速可視化も提供

 

spaCy と NLP

spaCyで学ぶNatural Language Processing

spaCy のインストールとインポート

 

  • 最初の手順として、Pythonのパッケージ管理ツール pip で spaCy をインストールします
  • spaCy の学習済みモデルをダウンロード可能
  • 英語向けの複数モデルは spacy.io にあります

 

$ python3 pip install spacy
python3 -m spacy download en_core_web_sm
import spacy
nlp = spacy.load("en_core_web_sm")
spaCyで学ぶNatural Language Processing

spaCy でテキストを読み込み・処理

  • 読み込んだ spaCy モデル en_core_web_smnlp オブジェクト
  • nlp はテキストを処理済みテキストを格納する Doc オブジェクト(コンテナ)に変換

spaCy によるテキスト処理

spaCyで学ぶNatural Language Processing

spaCy の実行例

  • spaCy で文字列を処理
import spacy
nlp = spacy.load("en_core_web_sm")
text = "A spaCy pipeline object is created."
doc = nlp(text)
  • トークン化
    • Token はテキストの最小の意味単位
    • トークン化: テキストを意味のあるトークン列に分割する処理
print([token.text for token in doc])
['A', 'spaCy', 'pipeline', 'object', 'is', 'created', '.']
spaCyで学ぶNatural Language Processing

練習しましょう!

spaCyで学ぶNatural Language Processing

Preparing Video For Download...