N-gram Counting menghasilkan dan menghitung frekuensi n-gram di seluruh korpus. Komponen ini memindai semua kalimat input, mengidentifikasi setiap urutan n kata berurutan (n-gram), lalu menghitung seberapa sering setiap urutan muncul. Hasilnya berupa hitungan frekuensi global atas seluruh korpus—bukan per dokumen—yang dapat langsung digunakan sebagai input untuk pelatihan language model.
Cara kerja
Baca setiap kalimat dari kolom tabel input yang Anda tentukan.
Geser jendela dengan lebar 1 hingga
order(panjang maksimum n-gram) pada setiap kalimat, sehingga menghasilkan semua n-gram hingga panjang tersebut. Misalnya, denganorder=3, komponen ini menghasilkan unigram, bigram, dan trigram.Akumulasikan hitungan dari semua kalimat. Jika tabel bag-of-words disediakan, kata-kata di luar kosakata akan diganti dengan
<unk>sebelum dihitung.Tuliskan akumulasi hitungan n-gram ke tabel output. Setiap baris berisi satu n-gram dan frekuensi totalnya di seluruh korpus.
Konfigurasi komponen
Terdapat dua metode konfigurasi: melalui editor pipeline visual di Machine Learning Designer atau menggunakan perintah PAI melalui komponen SQL Script.
Metode 1: Konfigurasi di halaman pipeline
Di Machine Learning Designer (sebelumnya Machine Learning Studio) pada Platform for AI (PAI), seret komponen N-gram Counting ke kanvas dan konfigurasikan parameter di panel kanan.
Pengaturan Bidang
| Parameter | Deskripsi |
|---|---|
| Column of Sentences in Input Table | Kolom yang berisi kalimat untuk diproses. |
| Column of Words in the Bag-of-Words | Kolom yang berisi kata-kata dalam kosakata. Kata yang tidak ada dalam kosakata ini akan diganti dengan <unk> pada output. |
| Words Column in Input Counting Result Table | Kolom kata dalam tabel hitungan n-gram yang sudah ada untuk digabungkan ke dalam output. |
| Count Column in Input Counting Result Table | Kolom hitungan dalam tabel hitungan n-gram yang sudah ada untuk digabungkan ke dalam output. |
| Sentence Weight Column | Kolom yang berisi bobot per kalimat. Biarkan kosong untuk menerapkan bobot seragam bernilai 1 pada semua kalimat. |
Pengaturan Parameter
| Parameter | Deskripsi | Default |
|---|---|---|
| Maximum N-gram Length | Panjang maksimum n-gram yang akan dihasilkan. Misalnya, jika diatur ke 3, komponen ini menghasilkan unigram, bigram, dan trigram — semua ordo dari 1 hingga nilai yang Anda tetapkan. | 3 |
Tuning
| Parameter | Deskripsi |
|---|---|
| Optional. The number of cores. | Jumlah core yang dialokasikan. Biarkan kosong agar sistem menentukan sendiri. |
| Optional. Memory size per core. | Memori per core, dalam MB. Biarkan kosong agar sistem menentukan sendiri. |
Metode 2: Gunakan perintah PAI
Jalankan algoritma ngram_count dari proyek algo_public menggunakan komponen SQL Script. Untuk informasi lebih lanjut, lihat SQL Script.
PAI -name ngram_count
-project algo_public
-DinputTableName=pai_ngram_input
-DoutputTableName=pai_ngram_output
-DinputSelectedColNames=col0
-DweightColName=weight
-DcoreNum=2
-DmemSizePerCore=1000;| Parameter | Wajib | Default | Deskripsi |
|---|---|---|---|
inputTableName | Ya | — | Nama tabel input. |
outputTableName | Ya | — | Nama tabel output. Setiap baris dalam output berisi satu n-gram dan frekuensi totalnya di seluruh korpus. |
inputSelectedColNames | Tidak | Kolom STRING pertama | Kolom yang dibaca dari tabel input. |
weightColName | Tidak | 1 | Kolom bobot. Nilai 1 menerapkan pembobotan seragam pada semua kalimat. |
inputTablePartitions | Tidak | Semua partisi | Partisi yang dibaca dari tabel input. |
countTableName | Tidak | — | Tabel hitungan n-gram yang sudah ada untuk digabungkan ke dalam output. |
countWordColName | Tidak | Kolom kedua | Kolom kata dalam tabel hitungan yang ditentukan oleh countTableName. |
countCountColName | Tidak | Kolom ketiga | Kolom hitungan dalam tabel hitungan yang ditentukan oleh countTableName. |
countTablePartitions | Tidak | — | Partisi yang dibaca dari tabel hitungan. |
vocabTableName | Tidak | — | Tabel bag-of-words. Kata yang tidak ada dalam tabel ini akan diganti dengan <unk>. |
vocabSelectedColName | Tidak | Kolom STRING pertama | Kolom kosakata dalam tabel bag-of-words. |
vocabTablePartitions | Tidak | — | Partisi yang dibaca dari tabel bag-of-words. |
order | Tidak | 3 | Panjang maksimum n-gram. Misalnya, order=3 menghasilkan unigram, bigram, dan trigram — semua ordo dari 1 hingga nilai yang Anda tetapkan. |
lifecycle | Tidak | — | Siklus hidup tabel output, dalam hari. |
coreNum | Tidak | — | Jumlah core yang dialokasikan. |
memSizePerCore | Tidak | — | Memori per core, dalam MB. |