固有表現認識

Pythonで学ぶNLPの特徴量エンジニアリング

Rounak Banik

Data Scientist

応用例

  • 効率的な探索アルゴリズム
  • 質問応答
  • ニュース記事分類
  • カスタマーサービス
Pythonで学ぶNLPの特徴量エンジニアリング

固有表現認識

  • 固有表現を事前定義のカテゴリに抽出・分類
  • カテゴリ例: 人名、組織、国など
    "John Doe is a software engineer working at Google. He lives in France."
    
  • 固有表現
  • John Doe → 人名
  • Google → 組織
  • France → 国(地政学的実体)
Pythonで学ぶNLPの特徴量エンジニアリング

spaCyでのNER

import spacy
string = "John Doe is a software engineer working at Google. He lives in France."

# Load model and create Doc object
nlp = spacy.load('en_core_web_sm')
doc = nlp(string)

# Generate named entities ne = [(ent.text, ent.label_) for ent in doc.ents] print(ne)
[('John Doe', 'PERSON'), ('Google', 'ORG'), ('France', 'GPE')]
Pythonで学ぶNLPの特徴量エンジニアリング

spaCyのNER注釈

NER注釈のspaCyドキュメント

Pythonで学ぶNLPの特徴量エンジニアリング

注意点

  • 完璧ではない
  • 性能は学習・評価データに依存
  • ニュアンスには専用データで再学習
  • 言語ごとに異なる
Pythonで学ぶNLPの特徴量エンジニアリング

演習に進みましょう!

Pythonで学ぶNLPの特徴量エンジニアリング

Preparing Video For Download...