Alıştırma - Metinde Yaklaşım Analizi Yapmak İçin Nöral Ağ Kullanımı

Tamamlandı

Gerçek test, modele kendi metninizi girdiğinizde ve nasıl gerçekleştiğini, yani o metinde ifade edilen yaklaşımı ölçmede ne kadar usta olduğunu gördüğünüzde başlar. Bu ünitede, bir metin dizesini girdi olarak kabul eden, onu modele geçiren ve yaklaşım puanı olarak döndüren bir Python işlevi yazacaksınız. Ardından işlevi, çeşitli metin dizelerinde ifade edilen yaklaşımı analiz etmek için kullanacaksınız.

  1. Aşağıdaki kodu not defterinin sonundaki bir hücreye ekleyin ve hücreyi çalıştırın:

    import string
    import numpy as np
    
    def analyze(text):
        # Prepare the input by removing punctuation characters, converting
        # characters to lower case, and removing words containing numbers
        translator = str.maketrans('', '', string.punctuation)
        text = text.translate(translator)
        text = text.lower().split(' ')
        text = [word for word in text if word.isalpha()]
    
        # Generate an input tensor
        input = [1]
        for word in text:
            if word in word_dict and word_dict[word] < top_words:
                input.append(word_dict[word])
            else:
                input.append(2)
        padded_input = sequence.pad_sequences([input], maxlen=max_review_length)
    
        # Invoke the model and return the result
        result = model.predict(np.array([padded_input][0]))[0][0]
        return result
    

    Bu deyimler, bir dizeyi girdi olarak kabul eden ve o dizede ifade edilen yaklaşımı ölçerek 0,0 ile 1.0 arasında bir sayı döndüren analyze adlı bir işlevi tanımlar. Sayı ne kadar yüksek olursa, yaklaşım o kadar pozitif olur. İşlev girdi dizesini temizler, onu load_data işlevi tarafından oluşturulan sözlükteki sözcüklere başvuran tamsayıların listesine dönüştürür ve son olarak metni yaklaşım için puanlamak üzere modelin predict işlevini çağırır.

  2. Aşağıdaki deyimi yürütmek için not defterini kullanın:

    analyze('Easily the most stellar experience I have ever had.')
    

    Çıktı, girdi metninde 0,0 ile 1,0 arasında bir sayı olarak ifade edilen yaklaşımdır. Modelin değerlendirmesini kabul ediyor musunuz?

  3. Şimdi şu deyimi deneyin:

    analyze('The long lines and poor customer service really turned me off.')
    

    Model, bu metinde ifade edilen yaklaşımı nasıl ölçer?

Modeli kendi girdi dizenizle test ederek bitirin. Sonuçlar kusursuz olmayacak ancak modelin, yaklaşımı ölçmede epey usta olduğunu göreceksiniz. Model, film incelemeleriyle eğitilmiş olsa da, film incelemelerini analiz etmekle sınırlı değildir. Bir filmin beğenildiğini veya beğenilmediğini ifade eden dil ile diğer ilgisiz konulara ilişkin duyguları ifade eden kelimeler arasında doğal benzerlikler bulunduğu için, bu durum mantıklıdır.