Ölçekleme ve performans

spaCy ile İleri Düzey NLP

Ines Montani

spaCy core developer

Büyük metinleri işleme

  • nlp.pipe metodunu kullanın
  • Metinleri akış olarak işler, Doc nesneleri üretir
  • Her metin için nlp çağırmaktan çok daha hızlıdır

KÖTÜ:

docs = [nlp(text) for text in LOTS_OF_TEXTS]

İYİ:

docs = list(nlp.pipe(LOTS_OF_TEXTS))
spaCy ile İleri Düzey NLP

Bağlam geçirme (1)

  • nlp.pipe üzerinde as_tuples=True ayarlamak, (text, context) ikilileri geçirmenizi sağlar
  • (doc, context) ikilileri üretir
  • doc ile meta verileri ilişkilendirmek için yararlıdır
data = [
    ('This is a text', {'id': 1, 'page_number': 15}),
    ('And another text', {'id': 2, 'page_number': 16}),
]

for doc, context in nlp.pipe(data, as_tuples=True): print(doc.text, context['page_number'])
This is a text 15
And another text 16
spaCy ile İleri Düzey NLP

Bağlam geçirme (2)

from spacy.tokens import Doc

Doc.set_extension('id', default=None)
Doc.set_extension('page_number', default=None)

data = [ ('This is a text', {'id': 1, 'page_number': 15}), ('And another text', {'id': 2, 'page_number': 16}), ] for doc, context in nlp.pipe(data, as_tuples=True): doc._.id = context['id'] doc._.page_number = context['page_number']
spaCy ile İleri Düzey NLP

Yalnızca belirteçleyiciyi kullanma

spaCy boru hattının görseli

  • tüm boru hattını çalıştırmayın!
spaCy ile İleri Düzey NLP

Yalnızca belirteçleyici (2)

  • Metni Doc nesnesine dönüştürmek için nlp.make_doc kullanın

KÖTÜ:

doc = nlp("Hello world")

İYİ:

doc = nlp.make_doc("Hello world!")
spaCy ile İleri Düzey NLP

Boru hattı bileşenlerini devre dışı bırakma

  • Bir veya daha fazla boruyu geçici olarak devre dışı bırakmak için nlp.disable_pipes kullanın
# Etiketleyici ve ayrıştırıcıyı devre dışı bırak
with nlp.disable_pipes('tagger', 'parser'):
    # Metni işle ve varlıkları yazdır
    doc = nlp(text)
    print(doc.ents)
  • with bloğundan sonra bunları geri yükler
  • yalnızca kalan bileşenleri çalıştırır
spaCy ile İleri Düzey NLP

Hadi pratik yapalım!

spaCy ile İleri Düzey NLP

Preparing Video For Download...