Rozpoznávání pojmenovaných entit

Úvod do zpracování přirozeného jazyka v Pythonu

Katharine Jarmul

Founder, kjamistan

Co je rozpoznávání pojmenovaných entit?

  • Úloha NLP pro identifikaci důležitých pojmenovaných entit v textu
    • Osoby, místa, organizace
    • Data, státy, umělecká díla
    • ... a další kategorie!
  • Lze kombinovat s identifikací témat
    • ... nebo použít samostatně!
  • Kdo? Co? Kdy? Kde?
Úvod do zpracování přirozeného jazyka v Pythonu

Příklad NER

NER na článku z Wikipedie

(Zdroj: Europeana Newspapers (http://www.europeana-newspapers.eu))

Úvod do zpracování přirozeného jazyka v Pythonu

nltk a knihovna Stanford CoreNLP

  • Knihovna Stanford CoreNLP:
    • Integrace do Pythonu přes nltk
    • Založena na Javě
    • Podpora NER, koreference a závislostních stromů
Úvod do zpracování přirozeného jazyka v Pythonu

Použití nltk pro rozpoznávání pojmenovaných entit

import nltk
sentence = '''In New York, I like to ride the Metro to 
              visit MOMA and some restaurants rated 
              well by Ruth Reichl.'''
tokenized_sent = nltk.word_tokenize(sentence)

tagged_sent = nltk.pos_tag(tokenized_sent)
tagged_sent[:3]
[('In', 'IN'), ('New', 'NNP'), ('York', 'NNP')]
Úvod do zpracování přirozeného jazyka v Pythonu
print(nltk.ne_chunk(tagged_sent))
(S
  In/IN
  (GPE New/NNP York/NNP) 
  ,/,
  I/PRP
  like/VBP
  to/TO
  ride/VB
  the/DT
  (ORGANIZATION Metro/NNP)
  to/TO
  visit/VB
  (ORGANIZATION MOMA/NNP)
  and/CC
  some/DT
  restaurants/NNS
  rated/VBN
  well/RB
  by/IN
  (PERSON Ruth/NNP Reichl/NNP) 
  ./.)
Úvod do zpracování přirozeného jazyka v Pythonu

Pojďme procvičovat!

Úvod do zpracování přirozeného jazyka v Pythonu

Preparing Video For Download...