Cara Membuat Embedding dari Daftar Kalimat Bahasa Inggris

Cara Membuat Embedding Dari Daftar Kalimat Bahasa Inggris



Pernahkah Anda berpikir ketika kita berkomunikasi dengan mesin kita (komputer) dan memberi mereka instruksi untuk melakukan tugas tertentu bagi kita seperti melakukan pencarian tertentu atau menerjemahkan dari satu bahasa ke bahasa lain, bagaimana komputer memahami dan memproses ini? Ini semua dilakukan melalui subbidang Artificial Intelligence dari Natural Language Processing. Komputer memahami nilai numerik dan teknik 'menyematkan kata' NLP mengubah kata dan teks yang kami berikan sebagai input ke komputer menjadi vektor numerik tersebut sehingga komputer dapat mengenalinya. Beberapa proses NLP lainnya terjadi di luar interaksi manusia-komputer ini melalui model bahasa, tetapi kami akan membahas kata penyematan secara mendetail dalam panduan ini.

Sintaksis:

Fungsi yang berbeda berada di bawah Pemrosesan Bahasa Alami untuk penyematan kata teks. Artikel ini mencakup fungsi 'word2vec' untuk tujuan ini. Untuk lebih jelasnya, kata embedding mengubah input teks kita menjadi representasi vektor di mana kata-kata yang memiliki makna kontekstual yang kurang lebih sama telah memberikan representasi yang sama.

Algoritme 'word2vec' adalah model jaringan saraf yang dilatih sedemikian rupa sehingga mempelajari penyisipan kata dengan terlebih dahulu memprediksi konteks kata di mana kata itu muncul. Model ini mengambil teks sebagai inputnya. Kemudian, untuk setiap kata dalam teks, representasi vektor dibuat untuk kata tersebut. Model ini didasarkan pada gagasan bahwa kata-kata yang muncul memiliki konteks yang sama memiliki makna yang sama. Sintaks untuk 'word2vec' adalah sebagai berikut:







$ Word2Vec(kalimat, min_count)

Algoritma ini memiliki dua parameter yaitu “kalimat” dan “jumlah_minimum”. Kalimat adalah variabel tempat penyimpanan daftar kalimat atau teks berupa kalimat dan minimum_count berbicara tentang nilai hitung 1 yang artinya ada kata dalam teks yang muncul kurang dari satu perlu diabaikan .



Contoh 1:

Dalam contoh ini, kami membuat penyematan kata untuk kata-kata yang ada dalam daftar kalimat bahasa Inggris. Untuk membuat kata “embedding”, kita perlu menggunakan model “word2vec”. Model ini adalah paket library 'gensim' Python. Kita perlu memasang Gensim di repositori pustaka Python kita agar berfungsi dengan 'word2vec'.



Untuk mengimplementasikan contoh ini, kami akan mengerjakan kompiler Python online 'google colab'. Untuk menginstal gensim, gunakan perintah “pip install gensim”. Ini mulai mengunduh perpustakaan ini dengan semua paket terkait. Setelah diinstal, Anda dapat mengimpor paket 'word2vector' dari gensim.





Untuk melatih model “word2vec” ini, kita perlu membuat dataset pelatihan. Untuk itu, kami membuat daftar kalimat yang memuat empat hingga lima kalimat bahasa Inggris. Kami menyimpan daftar ini di variabel 'training_data'.

Langkah kita selanjutnya setelah membuat dataset pelatihan adalah melatih model 'word2vec' pada data ini. Jadi, kami memanggil modelnya. Kami memberikan data pelatihan dalam parameter input model ini yang kami simpan di variabel 'input'. Kemudian, kita tentukan parameter kedua yaitu “minimum_count”. Kami menetapkan nilainya sama dengan '1'. Keluaran dari model pelatihan ini disimpan dalam variabel “trained_model”.



Setelah kita selesai melatih model, kita cukup mengakses model dengan awalan 'wv' yang merupakan kata vektor model. Kami juga dapat mengakses kosakata token dari kata-kata kami dan dapat mencetaknya dengan metode sebagai berikut:

vocabof_token = daftar (model.wv.vocab)

Model mewakili model terlatih dalam kasus kami. Sekarang, kami mengakses representasi vektor dari satu kata dalam daftar kalimat yang, dalam kasus kami, adalah 'apel'. Kami melakukan ini hanya dengan memanggil model terlatih. Kami meneruskan kata yang representasi vektornya ingin kami cetak sebagai “model. wv ['apel']” ke argumen masukannya. Kemudian, kami mencetak hasilnya dengan fungsi 'cetak'.

dari sebagai bangsa model impor Word2Vec

data pelatihan = [ [ 'apel' , 'adalah' , 'itu' , 'manis' , 'apel' , 'untuk' , 'kata2vec' ] ,
[ 'ini' , 'adalah' , 'itu' , 'Kedua' , 'apel' ] ,
[ 'Di Sini' , 'lain' , 'apel' ] ,
[ 'satu' , 'manis' , 'apel' ] ,
[ 'Dan' , 'lagi' , 'manis' , 'apel' ] ]

model = Word2Vec ( data pelatihan , min_count = 1 )
mencetak ( model )
vocabof_token = daftar ( model. wv . index_to_key )
mencetak ( vocabof_token )
mencetak ( model. wv [ 'apel' ] )

Dari keluaran dan kode yang disebutkan sebelumnya, kata penyematan untuk kata 'apel' ditampilkan. Dalam contoh, kami pertama kali membuat dataset pelatihan. Kemudian, kami melatih model di atasnya dan meringkas modelnya. Kemudian, dengan menggunakan model tersebut, kami mendapat akses ke kosakata token dari kata-kata tersebut. Setelah itu, kami menampilkan kata penyematan untuk kata 'apel'.

Contoh 2:

Menggunakan pustaka gensim, mari buat daftar kalimat lainnya. Latih model kita untuk setiap kata dalam kalimat untuk membuat penyisipan kata menggunakan model 'word2vec'. Pertama, dari paket gensim library, model “word2vec” diimpor. Kemudian, kami membuat kumpulan data lain yang akan menjadi daftar yang memiliki dua kalimat di dalamnya. Setiap kalimat dalam daftar memiliki empat kata.

Sekarang, kami menyimpan daftar ini di variabel 'data'. Kemudian, kita memanggil model 'word2vec()' dan memasukkan data ke argumen model ini dengan nilai minimum_count yang sama dengan '1'. Inilah cara kami melatih model kami. Sekarang, ia dapat dan dapat mempelajari penyematan kata dari kata-kata yang ada dalam kalimat yang ada dalam daftar dengan memprediksi konteks keberadaannya. Untuk menguji hasil model kami, kami cukup meneruskan kata seperti 'anjing' dalam data kami ke model. Kemudian, kami mencetak hasilnya menggunakan fungsi “print()”.

dari sebagai bangsa model impor Word2Vec
data = [ [ 'kelinci' , 'memiliki' , 'gigi' ] , [ 'anjing' , 'memiliki' , 'telinga' ] ]
model = Word2Vec ( data , min_count = 1 )
mencetak ( model. wv [ 'anjing' ] )

Kita dapat mengamati representasi vektor dari kata yang kita masukkan ke model sebagai inputnya dari cuplikan output sebelumnya.

Kesimpulan

Panduan ini menunjukkan metode untuk membuat penyematan kata untuk kata-kata yang ada dalam daftar kalimat bahasa Inggris. Kami belajar tentang pustaka 'gensim' dari Python yang menyediakan model 'word2vec' untuk membuat penyisipan kata. Selanjutnya, kita belajar tentang parameter masukan, cara melatih model “word2vec” pada data pelatihan, dan cara menampilkan kata dalam representasi vektor.