Cara Mencipta Benamkan daripada Senarai Ayat Bahasa Inggeris

Cara Mencipta Benamkan Daripada Senarai Ayat Bahasa Inggeris



Pernahkah anda terfikir apabila kami berkomunikasi dengan mesin kami (komputer) dan memberi mereka arahan untuk melaksanakan tugas khusus untuk kami seperti melakukan carian tertentu atau menterjemah daripada satu bahasa ke bahasa lain, bagaimanakah komputer memahami dan memproses perkara ini? Ini semua dilakukan melalui subbidang Kecerdasan Buatan Pemprosesan Bahasa Semulajadi. Komputer memahami nilai berangka dan teknik 'pembenaman perkataan' NLP menukar perkataan dan teks yang kami berikan sebagai input kepada komputer kepada vektor berangka tersebut supaya komputer dapat mengenalinya. Beberapa proses lain NLP berlaku di luar interaksi manusia-komputer ini melalui model bahasa tetapi kami akan merangkumi perkataan pembenaman secara terperinci dalam panduan ini.

Sintaks:

Fungsi yang berbeza terletak di bawah Pemprosesan Bahasa Semulajadi untuk pembenaman perkataan teks. Artikel ini merangkumi fungsi 'word2vec' untuk tujuan ini. Untuk menjadikannya lebih jelas, perkataan embedding menukar input teks kita kepada perwakilan vektor di mana perkataan yang mempunyai makna kontekstual yang lebih kurang sama telah memberikan perwakilan yang sama.

Algoritma 'word2vec' ialah model rangkaian saraf yang dilatih sedemikian rupa sehingga ia mempelajari pembenaman perkataan dengan terlebih dahulu meramalkan konteks perkataan di mana ia muncul. Model ini mengambil teks sebagai inputnya. Kemudian, untuk setiap perkataan dalam teks, perwakilan vektor dicipta untuk perkataan itu. Model ini berdasarkan idea bahawa perkataan yang kelihatan mempunyai konteks yang sama mempunyai makna yang sama. Sintaks untuk 'word2vec' adalah seperti berikut:







$ Word2Vec(ayat, min_count)

Algoritma ini mempunyai dua parameter iaitu “ayat” dan “minimum_count”. Ayat ialah pembolehubah di mana senarai ayat atau teks dalam bentuk ayat disimpan dan minimum_count bercakap tentang nilai kiraan 1 yang bermaksud mana-mana perkataan dalam teks yang muncul kurang daripada satu perlu diabaikan .



Contoh 1:

Dalam contoh ini, kami mencipta perkataan embeddings untuk perkataan yang wujud dalam senarai ayat bahasa Inggeris. Untuk mencipta perkataan 'benam', kita perlu menggunakan model 'word2vec'. Model ini ialah pakej perpustakaan 'gensim' Python. Kami perlu memasang Gensim dalam repositori perpustakaan Python kami untuk berfungsi dengan 'word2vec'.



Untuk melaksanakan contoh ini, kami akan mengusahakan pengkompil Python dalam talian 'google colab'. Untuk memasang gensim, gunakan arahan 'pip install gensim'. Ini mula memuat turun perpustakaan ini dengan semua pakej yang berkaitan. Sebaik sahaja ia dipasang, anda mengimport pakej 'word2vector' daripada gensim.





Untuk melatih model 'word2vec' ini, kami perlu mencipta set data latihan. Untuk itu, kami membuat senarai ayat yang mengandungi empat hingga lima ayat bahasa Inggeris. Kami menyimpan senarai ini dalam pembolehubah 'training_data'.

Langkah seterusnya kami selepas mencipta set data latihan ialah melatih model 'word2vec' pada data ini. Jadi, kita panggil model. Kami memberikan data latihan dalam parameter input model ini yang kami simpan dalam pembolehubah 'input'. Kemudian, kami menentukan parameter kedua iaitu 'bilangan_minimum'. Kami menetapkan nilainya sama dengan '1'. Output daripada model latihan ini disimpan dalam pembolehubah 'model_terlatih'.



Sebaik sahaja kami selesai melatih model, kami hanya boleh mengakses model dengan awalan 'wv' iaitu model vektor perkataan. Kami juga boleh mengakses perbendaharaan kata token perkataan kami dan boleh mencetaknya dengan kaedah seperti berikut:

vocabof_tokens = senarai (model.wv.vocab)

Model mewakili model terlatih dalam kes kami. Sekarang, kami mengakses perwakilan vektor bagi satu perkataan dalam senarai ayat yang, dalam kes kami, adalah 'epal'. Kami melakukan ini dengan hanya memanggil model terlatih. Kami lulus perkataan yang perwakilan vektornya kami mahu cetak sebagai 'model. wv [‘epal’]” kepada hujah inputnya. Kemudian, kami mencetak hasilnya dengan fungsi 'cetak'.

daripada sebagai sebuah bangsa model import Word2Vec

data_latihan = [ [ 'epal' , 'adalah' , 'yang' , 'manis' , 'epal' , 'untuk' , 'word2vec' ] ,
[ 'ini' , 'adalah' , 'yang' , 'kedua' , 'epal' ] ,
[ 'sini' , 'lain' , 'epal' ] ,
[ 'satu' , 'manis' , 'epal' ] ,
[ 'dan' , 'lebih' , 'manis' , 'epal' ] ]

model = Word2Vec ( data_latihan , kiraan_min = 1 )
cetak ( model )
vocabof_token = senarai ( model. wv . index_to_key )
cetak ( vocabof_token )
cetak ( model. wv [ 'epal' ] )

Daripada output dan kod yang dinyatakan sebelum ini, perkataan pembenaman untuk perkataan 'epal' ditunjukkan. Dalam contoh, kami mula-mula mencipta set data latihan. Kemudian, kami melatih model di atasnya dan meringkaskan model tersebut. Kemudian, menggunakan model, kami mendapat akses kepada perbendaharaan kata token perkataan. Selepas itu, kami memaparkan perkataan benam untuk perkataan 'epal'.

Contoh 2:

Menggunakan perpustakaan gensim, mari buat senarai ayat yang lain. Latih model kami untuk setiap perkataan dalam ayat untuk mencipta pembenaman perkataan menggunakan model 'word2vec'. Pertama, daripada pakej perpustakaan gensim, model 'word2vec' diimport. Kemudian, kami mencipta satu lagi set data yang akan menjadi senarai yang mempunyai dua ayat di dalamnya. Setiap ayat dalam senarai mempunyai empat perkataan.

Sekarang, kami menyimpan senarai ini dalam pembolehubah 'data'. Kemudian, kami memanggil model 'word2vec()' dan suapkan data kepada hujah model ini dengan nilai minimum_count yang sama dengan '1'. Inilah cara kami melatih model kami. Kini, ia mampu dan boleh mempelajari perkataan yang membenam perkataan yang wujud dalam ayat yang terdapat dalam senarai dengan meramalkan konteks di mana ia wujud. Untuk menguji keputusan model kami, kami hanya menghantar perkataan seperti 'anjing' dalam data kami kepada model. Kemudian, kami mencetak keputusan menggunakan fungsi 'cetak ()'.

daripada sebagai sebuah bangsa model import Word2Vec
data = [ [ 'arnab' , 'mempunyai' , 'gigi' ] , [ 'anjing' , 'mempunyai' , 'telinga' ] ]
model = Word2Vec ( data , kiraan_min = 1 )
cetak ( model. wv [ 'anjing' ] )

Kita boleh memerhatikan perwakilan vektor perkataan yang kita berikan kepada model sebagai input daripada coretan output sebelumnya.

Kesimpulan

Panduan ini menunjukkan kaedah untuk mencipta perkataan benam untuk perkataan yang wujud dalam senarai ayat bahasa Inggeris. Kami mempelajari tentang pustaka 'gensim' Python yang menyediakan model 'word2vec' untuk mencipta pembenaman perkataan. Tambahan pula, kami mempelajari tentang parameter input, cara melatih model 'word2vec' pada data latihan dan cara mempersembahkan perkataan dalam perwakilan vektor.