Komponen Konversi Kata ke Vektor

Artikel ini menjelaskan cara menggunakan komponen Konversi Kata ke Vektor di perancang Azure Machine Learning untuk melakukan tugas berikut:

  • Menerapkan berbagai model Word2Vec (model pra-pelatihan Word2Vec, FastText, GloVe) pada badan teks yang Anda tentukan sebagai input.
  • Membuat kosakata dengan penyematan kata.

Komponen ini menggunakan pustaka Gensim. Untuk informasi lebih lanjut tentang Gensim, lihat situs web resminya, yang mencakup tutorial dan penjelasan algoritma.

Selengkapnya tentang mengonversi kata menjadi vektor

Mengonversi kata menjadi vektor, atau vektorisasi kata, adalah proses pemrosesan bahasa alami (NLP). Proses ini menggunakan model bahasa untuk memetakan kata-kata ke dalam ruang vektor. Ruang vektor mewakili setiap kata dengan vektor angka riil. Ruang verktor Ini juga memungkinkan kata-kata dengan makna serupa memiliki representasi yang sama.

Gunakan penyematan kata sebagai input awal untuk tugas hilir NLP seperti klasifikasi teks dan analisis sentimen.

Di antara berbagai teknologi penyematan kata, dalam komponen ini, kami menerapkan tiga metode yang banyak digunakan. Word2Vec dan FastText adalah model pelatihan online. Yang lainnya adalah model pra-pelatihan, glove-wiki-gigaword-100.

Model pelatihan online dilatih pada data input Anda. Model yang dilatih secara offline pada korpus teks yang lebih besar (misalnya, Wikipedia, Google Berita) yang biasanya berisi sekitar 100 miliar kata. Penyematan kata kemudian tetap konstan selama vektorisasi kata. Model kata yang dilatih sebelumnya memberikan manfaat seperti pengurangan waktu pelatihan, vektor kata yang lebih baik dikodekan, dan peningkatan kinerja keseluruhan.

Berikut adalah beberapa informasi tentang metode:

Cara mengonfigurasi Konversi Word ke Vektor

Komponen ini memerlukan himpunan data yang berisi kolom teks. Teks yang sudah diproses lebih baik.

  1. Tambahkan komponen Konversi Kata ke Vektor ke alur Anda.

  2. Sebagai input untuk komponen, berikan himpunan data yang berisi satu atau beberapa kolom teks.

  3. Untuk kolom Target, pilih hanya satu kolom yang berisi teks untuk diproses.

    Karena komponen ini membuat kosakata dari teks, konten kolom berbeda, yang mengarah ke konten kosakata yang berbeda. Itu sebabnya komponen hanya menerima satu kolom target.

  4. Untuk strategi Word2Vec, pilih dari Model Bahasa Inggris Terlatih GloVe, Gensim Word2Vec, dan Gensim FastText.

  5. Jika strategi Word2Vec adalah Gensim Word2Vec atau Gensim FastText:

    • Untuk Algoritma Pelatihan Word2Vec, pilih dari Skip_gram dan CBOW. Perbedaan diperkenalkan dalam makalah asli (PDF).

      Metode default adalah Skip_gram.

    • Untuk Panjang penyematan kata, tentukan dimensi kata vektor. Pengaturan ini sesuai dengan parameter size di Gensim.

      Ukuran penyematan default adalah 100.

    • Untuk Ukuran jendela konteks, tentukan jarak maksimum antara kata yang diprediksi dan kata saat ini. Pengaturan ini sesuai dengan parameter window di Gensim.

      Ukuran jendela default adalah 5.

    • Untuk Jumlah zaman, tentukan jumlah zaman (iterasi) di atas corpus. Sesuai dengan parameter iter di Gensim.

      Jumlah zaman default adalah 5.

  6. Untuk Ukuran kosakata maksimum, tentukan jumlah maksimum kata dalam kosakata yang dibuat.

    Jika ada kata-kata yang lebih unik dari ukuran maksimal, pangkas yang jarang.

    Ukuran kosakata default adalah 10.000.

  7. Untuk Jumlah kata minimum, berikan jumlah kata minimum. Komponen akan mengabaikan semua kata yang memiliki frekuensi lebih rendah dari nilai ini.

    Nilai defaultnya adalah 5.

  8. Kirimkan alur.

Contoh

Komponen memiliki satu output:

  • Kosakata dengan penyematan: Berisi kosakata yang dihasilkan, bersama dengan penyematan setiap kata. Satu dimensi menempati satu kolom.

Contoh berikut menunjukkan cara kerja komponen Konversi Kata ke Vektor. Ini menggunakan Konversi Word ke Vector dengan pengaturan default ke kumpulan Data Wikipedia SP 500 yang telah diproses sebelumnya.

Himpunan data sumber

Himpunan data berisi kolom kategori, bersama dengan teks lengkap yang diambil dari Wikipedia. Tabel berikut ini memperlihatkan beberapa contoh perwakilan.

Teks
nasdaq 100 component s p 500 component foundation founder location city apple campus 1 infinite loop street infinite loop cupertino california cupertino california location country united states...
br nasdaq 100 nasdaq 100 component br s p 500 s p 500 component industry computer software foundation br founder charles geschke br john warnock location adobe systems...
s p 500 s p 500 component industry automotive industry automotive predecessor general motors corporation 1908 2009 successor...
s p 500 s p 500 component industry conglomerate company conglomerate foundation founder location city fairfield connecticut fairfield connecticut location country usa area...
br s p 500 s p 500 component foundation 1903 founder william s harley br arthur davidson harley davidson founder arthur davidson br walter davidson br william a davidson location...

Kosakata output dengan penyematan

Tabel berikut berisi output dari komponen ini, dengan mengambil himpunan data Wikipedia SP 500 sebagai input. Kolom paling kiri menunjukkan kosakata. Vektor penyematannya diwakili oleh nilai kolom yang tersisa dalam baris yang sama.

Kosakata Dim penyematan 0 Dim penyematan 1 Dim penyematan 2 Dim penyematan 3 Dim penyematan 4 Dim penyematan 5 ... Dim penyematan 99
nasdaq -0,375865 0,609234 0,812797 -0,002236 0,319071 -0,591986 ... 0,364276
component 0,081302 0,40001 0,121803 0,108181 0,043651 -0,091452 ... 0,636587
s -0,34355 -0,037092 -0,012167 0,151542 0,601019 0,084501 ... 0,149419
p -0,133407 0,073244 0,170396 0,326706 0,213463 -0,700355 ... 0,530901
foundation -0,166819 0,10883 -0,07933 -0,073753 0,262137 0,045725 ... 0,27487
founder -0,297408 0,493067 0,316709 -0,031651 0,455416 -0,284208 ... 0,22798
lokasi -0.375213 0,461229 0,310698 0,213465 0,200092 0,314288 ... 0,14228
city -0,460828 0,505516 -0,074294 -0,00639 0,116545 0,494368 ... -0,2403
apple 0,05779 0,672657 0,597267 -0,898889 0,099901 0,11833 ... 0,4636
campus -0,281835 0,29312 0,106966 -0,031385 0,100777 -0,061452 ... 0,05978
infinite -0,263074 0,245753 0,07058 -0,164666 0,162857 -0,027345 ... -0,0525
loop -0.391421 0.52366 0.141503 -0,105423 0,084503 -0,018424 ... -0,0521

Dalam contoh ini, kami menggunakan Strategi Gensim Word2Vec default untuk Word2Vec, dan Algoritma Pelatihan adalah Skip-gram. Panjang penyematan kata adalah 100, jadi kami memiliki 100 kolom penyematan.

Catatan teknis

Bagian ini berisi tips dan jawaban atas pertanyaan yang sering diajukan.

  • Perbedaan antara pelatihan online dan model yang telah dilatih sebelumnya:

    Dalam komponen Konversi Kata ke Vektor ini, kami menyediakan tiga strategi berbeda: dua model pelatihan online dan satu model pra-pelatihan. Model pelatihan online menggunakan set data input Anda sebagai data pelatihan, dan menghasilkan kosakata dan vektor kata selama pelatihan. Model yang sudah dilatih sebelumnya sudah dilatih oleh korpus teks yang jauh lebih besar, seperti Wikipedia atau teks Twitter. Model yang dilatih sebenarnya adalah kumpulan pasangan kata/penyematan.

    Model pra-terlatih GloVe meringkas kosakata dari set data input dan menghasilkan vektor penyematan untuk setiap kata dari model yang telah dilatih sebelumnya. Tanpa pelatihan online, penggunaan model yang dilatih dapat menghemat waktu pelatihan. Ini memiliki kinerja yang lebih baik, terutama ketika ukuran set data input relatif kecil.

  • Ukuran penyematan:

    Secara umum, panjang penyematan kata diatur ke beberapa ratus. Misalnya, 100, 200, 300. Ukuran penyematan kecil berarti ruang vektor kecil, yang dapat menyebabkan tabrakan penyematan kata.

    Panjang penyematan kata diperbaiki untuk model yang sudah dilatih sebelumnya. Dalam contoh ini, ukuran penyematan glove-wiki-gigaword-100 adalah 100.

Langkah berikutnya

Lihat set komponen yang tersedia untuk Azure Machine Learning.

Untuk daftar kesalahan khusus untuk komponen perancang, lihat kode galat Pembelajaran Mesin.