BaşlayınÜcretsiz Başlayın

Metni vektör biçimine dönüştürme

Bir cümleyi nasıl böleceğini ve bir sözcük dizisini CountVectorizer kullanarak sayısal bir vektöre dönüştürmeyi öğrendin.

sentence, in ve out sütunlarına sahip bir df dataframe'i veriliyor. Her sütun birer string dizisidir. sentence, bir ders kitabındaki bir cümleyi oluşturan sözcüklerin listesidir. out sütunu, sentence içindeki son sözcüğü verir. in sütunu ise sentence içinden son sözcüğün çıkarılmasıyla elde edilir.

CountVectorizer modeli words adlı bir sütunu olan bir dataframe bekler ve vec adlı bir sütun oluşturur.

Önce aşağıdakine benzeyen bir invec sütunu ekleyen bir dönüşüm uygulayacaksın:

+----------------------+-------+------------------------------------+
|in                    |out    |invec                               |
+----------------------+-------+------------------------------------+
|[then, how, many, are]|[there]|(126,[3,18,28,30],[1.0,1.0,1.0,1.0])|
|[how]                 |[many] |(126,[28],[1.0])                    |
|[i, donot]            |[know] |(126,[15,78],[1.0,1.0])             |
+----------------------+-------+------------------------------------+
only showing top 3 rows

Sonra aşağıdakine benzeyen ikinci bir dönüşüm uygulayacaksın:

+------------------------------------+----------------+
|invec                               |outvec          |
+------------------------------------+----------------+
|(126,[3,18,28,30],[1.0,1.0,1.0,1.0])|(126,[11],[1.0])|
|(126,[28],[1.0])                    |(126,[18],[1.0])|
|(126,[15,78],[1.0,1.0])             |(126,[21],[1.0])|
+------------------------------------+----------------+
only showing top 3 rows

Bu egzersiz

Python ile Spark SQL'e Giriş

kursunun bir parçasıdır
Kursu Görüntüle

Egzersiz talimatları

  • model ile df üzerinde transform() uygulayarak result adlı bir dataframe oluştur. result şu sütunlara sahip olsun: sentence, in, out ve invec. invec, in sütununun vektör dönüşümüdür.
  • resulta outvec adlı bir sütun ekle. Artık result şu sütunlara sahip: sentence, in, out, invec ve outvec.

Uygulamalı interaktif egzersiz

Bu örnek kodu tamamlayarak bu egzersizi bitirin.

# Transform df using model
result = model.____(df.withColumnRenamed('in', 'words'))\
        .withColumnRenamed('words', 'in')\
        .withColumnRenamed('vec', 'invec')
result.drop('sentence').show(3, False)

# Add a column based on the out column called outvec
result = model.transform(result.withColumnRenamed('out', 'words'))\
        .withColumnRenamed('words', 'out')\
        .withColumnRenamed('vec', '____')
result.select('invec', 'outvec').show(3, False)	
Kodu Düzenle ve Çalıştır