Komponen Word2Vec menggunakan jaringan saraf untuk memetakan kata-kata ke vektor dalam ruang berdimensi-K. Komponen ini mendukung operasi pada vektor untuk menunjukkan semantik dari vektor tersebut. Inputnya adalah kolom kata atau korpus teks, dan outputnya adalah tabel vektor dan kosakata.
Catatan penggunaan
Komponen Word2Vec harus dihubungkan ke komponen Statistik Frekuensi Kata sebagai node hilir.
Komponen Statistik Frekuensi Kata menghasilkan tabel triple yang berisi kata-kata dan statistik kata. Anda dapat menghubungkan komponen Statistik Frekuensi Kata sebagai node hulu dari komponen Word2Vec. Kemudian, komponen Word2Vec memperoleh data yang dihasilkan oleh komponen Statistik Frekuensi Kata, mengonversi data tersebut menjadi kata tunggal, dan memproses semua data sebagai dokumen.
Konfigurasi komponen
Anda dapat menggunakan salah satu metode berikut untuk mengonfigurasi komponen Word2Vec:
Metode 1: Konfigurasikan komponen pada tab konfigurasi pipeline di konsol
Konfigurasikan komponen pada halaman detail pipeline Machine Learning Designer di konsol Platform for AI (PAI). Tabel berikut menjelaskan parameter komponen.
Tab | Parameter | Deskripsi |
Fields Setting | Word Column | Kolom kata yang digunakan untuk pelatihan. Kami merekomendasikan agar jumlah kata tidak melebihi 10 juta. |
Parameters Setting | Word Feature Dimension | Jumlah dimensi kata. Nilai valid: 0 hingga 1000. Nilai default: 100. |
Language Model | Model bahasa yang digunakan untuk pelatihan. Nilai valid: Skip-gram dan Cbow. Nilai default: Skip-gram. | |
Word Window Size | Ukuran jendela kata. Nilainya harus bilangan bulat positif. Nilai default: 5. | |
Random Window | Menentukan apakah akan menggunakan jendela acak. Secara default, Jendela Acak dipilih. | |
Minimum Word Truncation Frequency | Frekuensi minimum kata untuk pemotongan. Nilainya harus bilangan bulat positif. Nilai default: 5. | |
Hierarchical Softmax | Menentukan apakah akan menggunakan softmax hirarkis. Secara default, Softmax Hirarkis dipilih. | |
Negative Sampling | Ukuran jendela pengambilan sampel negatif. Nilai default adalah 0, yang menunjukkan bahwa fitur pengambilan sampel negatif tidak tersedia. | |
Downsampling Threshold | Ambang batas untuk downsampling. Nilai default adalah 0, yang menunjukkan bahwa fitur downsampling tidak tersedia. | |
Initial Learning Rate | Tingkat pembelajaran awal. Nilainya lebih besar dari 0. Nilai default: 0,025. | |
Number of Iterations | Jumlah iterasi. Nilainya lebih besar dari atau sama dengan 1. Nilai default: 1. | |
Tuning | Number of Cores | Jumlah core. Secara default, sistem menentukan nilainya. |
Memory Size per Core | Ukuran memori setiap core. Secara default, sistem menentukan nilainya. |
Metode 2: Jalankan perintah PAI
Konfigurasikan komponen Word2Vec dengan menggunakan perintah PAI. Anda dapat menggunakan komponen SQL Script untuk menjalankan perintah PAI. Untuk informasi lebih lanjut, lihat SQL Script. Tabel berikut menjelaskan parameter perintah PAI yang digunakan untuk mengonfigurasi komponen ini.
pai -name Word2Vec
-project algo_public
-DinputTableName=w2v_input
-DwordColName=word
-DoutputTableName=w2v_output;Parameter | Diperlukan | Deskripsi | Nilai default |
inputTableName | Ya | Nama tabel kosakata input. | Tidak ada |
inputTablePartitions | Tidak | Nama partisi yang digunakan untuk segmentasi kata dalam kosakata input. Nilai ini harus dalam format | Tidak ada |
wordColName | Ya | Nama kolom kata. Setiap sel dalam kolom kata hanya berisi satu kata. Tag </s> menunjukkan baris baru. | Tidak ada |
inVocabularyTableName | Tidak | Output dari operasi wordcount yang dilakukan pada kosakata input. | Operasi wordcount yang dilakukan sistem pada tabel output |
inVocabularyPartitions | Tidak | Nama partisi dalam output setelah operasi wordcount dilakukan pada kosakata input. | Semua partisi dalam output dari inVocabularyTableName |
layerSize | Tidak | Jumlah dimensi kata. Nilai valid: 0 hingga 1000. | 100 |
cbow | Tidak | Model bahasa yang digunakan untuk pelatihan. Nilai valid: 0 dan 1. Nilai 0 menunjukkan model skip-gram, dan nilai 1 menunjukkan model CBOW. | 0 |
window | Tidak | Ukuran jendela kata. Nilainya harus bilangan bulat positif. | 5 |
minCount | Tidak | Frekuensi minimum kata untuk pemotongan. Nilainya harus bilangan bulat positif. | 5 |
hs | Tidak | Menentukan apakah akan menggunakan softmax hirarkis. Nilai valid: 0 dan 1. Nilai 0 menunjukkan bahwa softmax hirarkis tidak digunakan, dan nilai 1 menunjukkan bahwa softmax hirarkis digunakan. | 1 |
negative | Tidak | Ukuran jendela pengambilan sampel negatif. Nilainya harus bilangan bulat positif. Nilai 0 menunjukkan bahwa fitur contoh negatif tidak tersedia. | 0 |
sample | Tidak | Ambang batas untuk downsampling. Nilai valid: 1e-3 hingga 1e-5. Nilai 0 menunjukkan bahwa fitur downsampling tidak tersedia. | 0 |
alpha | Tidak | Nilainya lebih besar dari 0. | 0,025 |
iterTrain | Tidak | Nilainya lebih besar dari atau sama dengan 1. | 1 |
randomWindow | Tidak | Mode yang digunakan untuk menampilkan jendela kata. Nilai valid: 0 dan 1. Nilai 0 menunjukkan bahwa nilainya ditentukan oleh parameter jendela, dan nilai 1 menunjukkan nilai acak dari 1 hingga 5. | 1 |
outVocabularyTableName | Tidak | Nama tabel kosakata output. | Tidak ada |
outputTableName | Ya | Nama tabel vektor output. | Tidak ada |
lifecycle | Tidak | Lifecycle tabel output. Nilainya harus bilangan bulat positif. | Tidak ada |
coreNum | Tidak | Jumlah core. Parameter ini dan parameter memSizePerCore hanya berlaku jika keduanya disetel. Nilainya harus bilangan bulat positif. | Dialokasikan secara otomatis |
memSizePerCore | Tidak | Ukuran memori setiap core. Parameter ini dan parameter coreNum hanya berlaku jika keduanya disetel. Nilainya harus bilangan bulat positif. | Dialokasikan secara otomatis |
FAQ
Pesan kesalahan "Ukuran kosakata nol! vocab_size: 0" dilaporkan jika kamus kosong. Untuk menyelesaikan masalah ini, atur parameter minCount ke nilai yang lebih kecil.