İngilizce Cümleler Listesinden Bir Yerleştirme Nasıl Oluşturulur

Ingilizce Cumleler Listesinden Bir Yerlestirme Nasil Olusturulur



Makinelerimizle (bilgisayarlarımız) iletişim kurduğumuzda ve onlara bizim için belirli bir görevi yerine getirmeleri için talimatlar verdiğimizde, örneğin belirli bir arama yapmak veya bir dilden diğerine çevirmek gibi, bir bilgisayar bunu nasıl anlar ve işler, hiç düşündünüz mü? Tüm bunlar, Doğal Dil İşleme'nin Yapay Zeka alt alanı aracılığıyla yapılır. Bilgisayar sayısal değerleri anlar ve NLP'nin 'kelime gömme' tekniği, bilgisayarlara girdi olarak verdiğimiz kelime ve metinleri, bilgisayarın tanıyabilmesi için o sayısal vektöre dönüştürür. Dil modelleri aracılığıyla bu insan-bilgisayar etkileşiminin ötesinde birkaç başka NLP süreci gerçekleşir, ancak bu kılavuzda gömme kelimesini ayrıntılı olarak ele alacağız.

Sözdizimi:

Metnin kelime gömülmesi için Doğal Dil İşleme kapsamında farklı işlevler vardır. Bu makale, bu amaçla 'word2vec' işlevini ele almaktadır. Daha açık hale getirmek için, gömme kelimesi, metin girdilerimizi, aşağı yukarı aynı bağlamsal anlamlara sahip kelimelerin aynı temsili verdiği vektör temsiline dönüştürür.

'Word2vec' algoritması, önce kelimenin göründüğü bağlamı tahmin ederek kelimelerin gömülmesini öğrenecek şekilde eğitilmiş bir sinir ağı modelidir. Bu model metni girdi olarak alır. Daha sonra metindeki her kelime için o kelimenin vektör temsili oluşturulur. Bu model, aynı bağlama sahip gibi görünen kelimelerin aynı anlamlara sahip olduğu fikrine dayanmaktadır. “word2vec” sözdizimi aşağıdaki gibidir:







$ Word2Vec(cümleler, min_count)

Bu algoritmanın “cümleler” ve “minimum_sayım” olmak üzere iki parametresi vardır. Cümle, cümle listesinin veya cümle şeklindeki metnin saklandığı değişkendir ve minimum_count, 1'in sayma değerinden bahseder; bu, metinde birden az geçen kelimelerin yok sayılması gerektiği anlamına gelir. .



Örnek 1:

Bu örnekte, İngilizce cümleler listesinde bulunan kelimeler için kelime yerleştirmeleri yaratıyoruz. “embedding” kelimesini oluşturmak için “word2vec” modelini kullanmamız gerekiyor. Bu model, Python'un 'gensim' kitaplığının bir paketidir. “Word2vec” ile çalışabilmemiz için Python kütüphane havuzlarımızda Gensim kurulu olması gerekmektedir.



Bu örneği uygulamak için “google colab” çevrimiçi Python derleyicisi üzerinde çalışacağız. Gensim kurulumu için “pip install gensim” komutunu kullanınız. Bu, bu kitaplığı tüm ilişkili paketleriyle birlikte indirmeye başlar. Kurulduktan sonra, “word2vector” paketini gensim'den içe aktarıyoruz.





Bu “word2vec” modelini eğitmek için bir eğitim veri seti oluşturmamız gerekiyor. Bunun için dört ila beş İngilizce cümle içeren bir cümle listesi oluşturuyoruz. Bu listeyi “training_data” değişkenine kaydediyoruz.

Eğitim veri setini oluşturduktan sonraki adımımız ise bu veri üzerinden “word2vec” modelini eğitmek. Yani, modeli diyoruz. “input” değişkeninde kaydettiğimiz bu modelin girdi parametrelerinde eğitim verilerini veriyoruz. Ardından, “minimum_count” olan ikinci parametreyi belirtiyoruz. Değerini “1” olarak ayarladık. Bu eğitim modelinin çıktısı 'trained_model' değişkenine kaydedilir.



Modeli eğitmeyi bitirdikten sonra, vektör modeli kelimesi olan “wv” öneki ile modele kolayca erişebiliriz. Ayrıca belirteçlerin sözcük dağarcığına erişebilir ve bunları aşağıdaki yöntemle yazdırabiliriz:

vocabof_tokens = liste (model.wv.vocab)

Model, bizim durumumuzda eğitilmiş modeli temsil eder. Şimdi, bizim durumumuzda 'elma' olan cümle listesindeki tek kelimenin vektör temsiline erişiyoruz. Bunu sadece eğitimli modeli çağırarak yapıyoruz. Vektör temsilini yazdırmak istediğimiz kelimeyi “model” olarak geçiyoruz. wv ['elma']' giriş bağımsız değişkenine ekleyin. Ardından “print” fonksiyonu ile sonuçları yazdırıyoruz.

itibaren ulus olarak modeller içe aktarmak Word2Vec

Eğitim verileri = [ [ 'elma' , 'dır-dir' , 'the' , 'tatlı' , 'elma' , 'için' , 'kelime2vec' ] ,
[ 'Bu' , 'dır-dir' , 'the' , 'ikinci' , 'elma' ] ,
[ 'Burada' , 'bir diğer' , 'elma' ] ,
[ 'bir' , 'tatlı' , 'elma' ] ,
[ 'Ve' , 'Daha' , 'tatlı' , 'elma' ] ]

modeli = Word2Vec ( Eğitim verileri , min_sayım = 1 )
Yazdır ( modeli )
vokabof_tokens = liste ( modeli. wv . index_to_key )
Yazdır ( vokabof_tokens )
Yazdır ( modeli. wv [ 'elma' ] )

Daha önce bahsedilen çıktı ve koddan, “elma” kelimesi için kelime gömme gösterilir. Örnekte, önce bir eğitim veri seti oluşturduk. Daha sonra üzerinde bir model eğittik ve modeli özetledik. Ardından, modeli kullanarak, kelimelerin belirteç sözlüğüne erişim sağladık. Bundan sonra, “elma” kelimesi için gömme kelimesini gösterdik.

Örnek 2:

Gensim kütüphanesini kullanarak başka bir cümle listesi oluşturalım. “Word2vec” modelini kullanarak kelime gömme oluşturmak için modelimizi cümledeki her kelime için eğitin. Öncelikle gensim kütüphane paketinden “word2vec” modeli import edilir. Ardından, içinde iki cümlenin bulunduğu liste olacak başka bir veri seti oluşturuyoruz. Listedeki her cümlenin dört kelimesi vardır.

Şimdi bu listeyi “data” değişkenine kaydediyoruz. Ardından “word2vec()” modelini çağırıyoruz ve bu modelin argümanlarına “1” e eşit olan minimum_count değeri ile verileri besliyoruz. Bu şekilde modelimizi eğitiyoruz. Artık listede yer alan cümlelerde yer alan kelimelerin gömülmesini, bulundukları bağlamı tahmin ederek öğrenebiliyor ve öğrenebiliyor. Modelimizin sonuçlarını test etmek için, verilerimizdeki 'köpek' gibi bir kelimeyi modele iletiyoruz. Ardından, “print ()” işlevini kullanarak sonuçları yazdırıyoruz.

itibaren ulus olarak modeller içe aktarmak Word2Vec
veri = [ [ 'tavşan' , 'sahip olmak' , 'dişler' ] , [ 'köpek' , 'sahip olmak' , 'kulaklar' ] ]
modeli = Word2Vec ( veri , min_sayım = 1 )
Yazdır ( modeli. wv [ 'köpek' ] )

Modele beslediğimiz kelimenin vektör temsilini çıktının önceki parçacığından girdi olarak gözlemleyebiliriz.

Çözüm

Bu kılavuz, İngilizce cümleler listesinde bulunan kelimeler için kelime gömme oluşturma yöntemini gösterir. Gömme kelimesini oluşturmak için “word2vec” modelini sağlayan Python'un “gensim” kütüphanesini öğrendik. Ayrıca, girdi parametrelerini, eğitim verileri üzerinde 'word2vec' modelinin nasıl eğitileceğini ve sözcüğün bir vektör temsilinde nasıl sunulacağını öğrendik.