CountVectorizer’in Çalışma Şekli


Python’da Metin Madenciliğine dayalı makine öğrenme modelleri kullanırken doküman külliyatınızı (corpus) kelime kelime sayılara (numpy.array formatında) çevirmek için CountVectorizer nesnesini kullanabiliyorsunuz. Çalışma şekli aşağıda:In [43]:

from sklearn.feature_extraction.text import CountVectorizer

a=["gel ali","gel suat","ali atan","suat atan"]

In [44]:

vec = CountVectorizer(max_features=10, min_df=2, max_df=10)  
X = vec.fit_transform(a)
print(X.toarray())
print(vec.vocabulary_)
[[1 0 1 0]
 [0 0 1 1]
 [1 1 0 0]
 [0 1 0 1]]
{'gel': 2, 'ali': 0, 'suat': 3, 'atan': 1}

In [54]:

new_sentence = "gel ali"
mapped_a = vec.transform([new_sentence])
print(mapped_a.toarray()) # sparse feature vector
print(vec.vocabulary_)
[[1 0 1 0]]
{'gel': 2, 'ali': 0, 'suat': 3, 'atan': 1}

In [55]:

new_sentence = "sen ali"
mapped_a = vec.transform([new_sentence])
print(mapped_a.toarray()) # sparse feature vector
print(vec.vocabulary_)
[[1 0 0 0]]
{'gel': 2, 'ali': 0, 'suat': 3, 'atan': 1}

Tahmin Yaparken Yeni Gelen Söz Dizisini Vektörize Etmek

“hakan gel” ifadesi külliyatınızda birebir yok sadece ‘gel’ ifadesi eşleşmekte. Bu diziyi vektörize edince corpus’ta ‘gülnur’ olmadığından matriste değer sıfır çıkacaktır.In [59]:

new_sentence = "hakan gel"
mapped_a = vec.transform([new_sentence])
print(mapped_a.toarray()) # sparse feature vector
print(vec.vocabulary_)
[[0 0 1 0]]
{'gel': 2, 'ali': 0, 'suat': 3, 'atan': 1}

In [60]:

tokenizer = vec.build_tokenizer()
# array of words ids
for token in tokenizer(new_sentence):
    print(vec.vocabulary_.get(token))
None
2

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Google fotoğrafı

Google hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Connecting to %s