Python ile Konuşma Dili İşleme
Daniel Bourke
Machine Learning Engineer/YouTube Creator
# spaCy'yi kurun
$ pip install spacy
# spaCy dil modelini indirin
$ python -m spacy download en_core_web_sm
import spacy# spaCy dil modelini yükleyin nlp = spacy.load("en_core_web_sm")
# Bir spaCy doc oluşturun
doc = nlp("I'd like to talk about a smartphone I ordered on July 31st from your
Sydney store, my order number is 40939440. I spoke to Georgia about it last week.")
# Farklı belirteçleri ve konumlarını gösterin
for token in doc:
print(token.text, token.idx)
I 0
'd 1
like 4
to 9
talk 12
about 17
a 23
smartphone 25...
# Doc içindeki cümleleri gösterin
for sentences in doc.sents:
print(sentence)
I'd like to talk about a smartphone I ordered on July 31st from your Sydney store,
my order number is 4093829.
I spoke to one of your customer service team, Georgia, yesterday.
spaCy'nin yerleşik adlandırılmış varlıklarından bazıları:
# Doc içindeki adlandırılmış varlıkları bulun
for entity in doc.ents:
print(entity.text, entity.label_)
July 31st DATE
Sydney GPE
4093829 CARDINAL
one CARDINAL
Georgia GPE
yesterday DATE
# EntityRuler sınıfını içe aktarın
from spacy.pipeline import EntityRuler
# spaCy hattını kontrol edin
print(nlp.pipeline)
[('tagger', <spacy.pipeline.pipes.Tagger at 0x1c3aa8a470>),
('parser', <spacy.pipeline.pipes.DependencyParser at 0x1c3bb60588>),
('ner', <spacy.pipeline.pipes.EntityRecognizer at 0x1c3bb605e8>)]
# EntityRuler örneği oluşturun
ruler = EntityRuler(nlp)
# Kurala belirteç deseni ekleyin
ruler.add_patterns([{"label":"PRODUCT", "pattern": "smartphone"}])
# Yeni kuralı ner'den önce hatta ekleyin
nlp.add_pipe(ruler, before="ner")
# Güncellenen hattı kontrol edin
nlp.pipeline
[('tagger', <spacy.pipeline.pipes.Tagger at 0x1c1f9c9b38>),
('parser', <spacy.pipeline.pipes.DependencyParser at 0x1c3c9cba08>),
('entity_ruler', <spacy.pipeline.entityruler.EntityRuler at 0x1c1d834b70>),
('ner', <spacy.pipeline.pipes.EntityRecognizer at 0x1c3c9cba68>)]
# Yeni varlık kuralını test edin
for entity in doc.ents:
print(entity.text, entity.label_)
smartphone PRODUCT
July 31st DATE
Sydney GPE
4093829 CARDINAL
one CARDINAL
Georgia GPE
yesterday DATE
Python ile Konuşma Dili İşleme