Topik ini menjelaskan komponen Pemisahan Kata yang disediakan oleh Machine Learning Designer (sebelumnya dikenal sebagai Machine Learning Studio).
Komponen ini memisahkan kata dalam kolom tertentu berdasarkan Alibaba Word Segmenter (AliWS). Kata-kata hasil pemisahan dipisahkan oleh spasi. Jika Anda mengatur parameter POS Tagger atau Semantic Tagger, sistem akan memberikan hasil penandaan Part-of-Speech (POS) dan penandaan semantik. Hasil penandaan POS dipisahkan oleh garis miring (/), sedangkan hasil penandaan semantik dipisahkan oleh tanda batang vertikal (|).
Pemisah kata dapat berupa TAOBAO_CHN atau INTERNET_CHN.
Anda dapat mengonfigurasi komponen melalui konsol Platform untuk AI (PAI) atau menggunakan perintah PAI.
Mengonfigurasi komponen
Gunakan salah satu metode berikut untuk mengonfigurasi komponen Pemisahan Kata:
Metode 1: Mengonfigurasi komponen di halaman pipeline
Anda dapat mengonfigurasi parameter komponen Pemisahan Kata di halaman pipeline Machine Learning Designer dari Platform untuk AI (PAI). Machine Learning Designer sebelumnya dikenal sebagai Machine Learning Studio. Tabel berikut menjelaskan parameter-parameter tersebut.
Tab | Parameter | Deskripsi |
Fields Setting | Column | Kolom yang digunakan untuk pemisahan kata. |
Parameters Setting | Recognition Options | Jenis konten untuk pengenalan. Nilai valid:
Secara default, opsi berikut dipilih: Mengenali Entitas Sederhana, Mengenali Nomor Telepon, Mengenali Waktu, Mengenali Tanggal, dan Mengenali Karakter Alfanumerik. |
Merge Options | Jenis konten untuk penggabungan. Nilai valid:
Nilai default: Menggabungkan Angka Arab. | |
Tokenizer | Tipe tokenizer. Nilai valid: TAOBAO_CHN dan INTERNET_CHN. Nilai default: TAOBAO_CHN. | |
Pos Tagger | Menentukan apakah akan mengaktifkan penandaan POS. Secara default, penandaan POS diaktifkan. | |
Semantic Tagger | Menentukan apakah akan mengaktifkan penandaan semantik. Secara default, penandaan semantik dinonaktifkan. | |
Filter Out Words That Contain Only Numbers | Menentukan apakah akan menyaring kata-kata yang hanya terdiri dari angka. Secara default, opsi ini tidak dicentang. | |
Filter Out Words That Contain Only English Letters | Menentukan apakah akan menyaring kata-kata yang hanya terdiri dari huruf Inggris. Secara default, opsi ini tidak dicentang. | |
Filter Out Words That Contain Only Punctuations | Menentukan apakah akan menyaring kata-kata yang hanya terdiri dari tanda baca. Secara default, opsi ini tidak dicentang. | |
Tuning | Cores | Jumlah core. Secara default, sistem menentukan nilainya. |
Memory Size per Core | Ukuran memori setiap core. Secara default, sistem menentukan nilainya. |
Metode 2: Gunakan perintah PAI
Konfigurasikan parameter komponen dengan menggunakan perintah PAI. Anda dapat menggunakan komponen SQL Script untuk memanggil perintah PAI. Untuk informasi lebih lanjut, lihat SQL Script.
pai -name split_word_model
-project algo_public
-DoutputModelName=aliws_model
-DcolName=content
-Dtokenizer=TAOBAO_CHN
-DenableDfa=true
-DenablePersonNameTagger=false
-DenableOrgnizationTagger=false
-DenablePosTagger=false
-DenableTelephoneRetrievalUnit=true
-DenableTimeRetrievalUnit=true
-DenableDateRetrievalUnit=true
-DenableNumberLetterRetrievalUnit=true
-DenableChnNumMerge=false
-DenableNumMerge=true
-DenableChnTimeMerge=false
-DenableChnDateMerge=false
-DenableSemanticTagger=trueParameter | Diperlukan | Deskripsi | Nilai default |
inputTableName | Ya | Nama tabel input. | Tidak ada nilai default |
inputTablePartitions | Tidak | Partisi yang dipilih dari tabel input untuk pemisahan kata. Nilai ini harus dalam format | Semua partisi |
selectedColNames | Ya | Nama kolom yang dipilih dari tabel input untuk pemisahan kata. Jika beberapa kolom ditentukan, pisahkan mereka dengan koma (,). | Tidak ada nilai default |
dictTableName | Tidak | Menentukan apakah akan menggunakan kamus kustom. Kamus kustom hanya memiliki satu kolom, dan setiap baris hanya berisi satu kata. | Tidak ada nilai default |
tokenizer | Tidak | Tipe tokenizer. Nilai valid: TAOBAO_CHN dan INTERNET_CHN. | TAOBAO_CHN |
enableDfa | Tidak | Menentukan apakah akan mengenali entitas sederhana. Nilai valid: True dan False. | True |
enablePersonNameTagger | Tidak | Menentukan apakah akan mengenali nama individu. Nilai valid: True dan False. | False |
enableOrgnizationTagger | Tidak | Menentukan apakah akan mengenali nama organisasi. Nilai valid: True dan False. | False |
enablePosTagger | Tidak | Menentukan apakah akan mengaktifkan penandaan POS. Nilai valid: True dan False. | False |
enableTelephoneRetrievalUnit | Tidak | Menentukan apakah akan mengenali nomor telepon. Nilai valid: True dan False. | True |
enableTimeRetrievalUnit | Tidak | Menentukan apakah akan mengenali ekspresi waktu. Nilai valid: True dan False. | True |
enableDateRetrievalUnit | Tidak | Menentukan apakah akan mengenali ekspresi tanggal. Nilai valid: True dan False. | True |
enableNumberLetterRetrievalUnit | Tidak | Menentukan apakah akan mengenali digit dan huruf. Nilai valid: True dan False. | True |
enableChnNumMerge | Tidak | Menentukan apakah akan menggabungkan angka Cina menjadi unit pengambilan. Nilai valid: True dan False. | False |
enableNumMerge | Tidak | Menentukan apakah akan menggabungkan angka Arab menjadi unit pengambilan. Nilai valid: True dan False. | True |
enableChnTimeMerge | Tidak | Menentukan apakah akan menggabungkan ekspresi waktu Cina menjadi unit semantik. Nilai valid: True dan False. | False |
enableChnDateMerge | Tidak | Menentukan apakah akan menggabungkan ekspresi tanggal Cina menjadi unit semantik. Nilai valid: True dan False. | False |
enableSemanticTagger | Tidak | Menentukan apakah akan mengaktifkan penandaan semantik. Nilai valid: True dan False. | False |
outputTableName | Ya | Nama tabel output. | Tidak ada nilai default |
outputTablePartition | Tidak | Nama partisi dalam tabel output. | Tidak ada nilai default |
coreNum | Tidak | Jumlah core. Parameter ini hanya berlaku ketika parameter memSizePerCore diatur. Nilai harus berupa bilangan bulat positif dalam rentang [1,9999]. | Ditentukan oleh sistem |
memSizePerCore | Tidak | Ukuran memori setiap core. Unit: MB. Nilai harus berupa bilangan bulat positif dalam rentang [1024,64 × 1024]. | Ditentukan oleh sistem |
lifecycle | Tidak | Lifecycle tabel output. Nilai harus berupa bilangan bulat positif. | Tidak ada nilai default |
Jika Anda menggunakan tabel reguler, kami sarankan agar Anda tidak mengatur parameter coreNum dan memSizePerCore. Komponen Pemisahan Kata secara otomatis menentukan nilai default untuk parameter tersebut.
Jika sumber daya Anda terbatas, gunakan kode berikut untuk menghitung jumlah core dan ukuran memori setiap core:
def CalcCoreNumAndMem(row, col, kOneCoreDataSize=1024):
"""Menghitung jumlah core dan ukuran memori setiap core.
Args:
row: jumlah baris dalam tabel input.
col: jumlah kolom dalam tabel input.
kOneCoreDataSize: jumlah data yang dapat dihitung oleh setiap core. Unit: MB. Nilai harus berupa bilangan bulat positif. Nilai default: 1024.
Return:
coreNum, memSizePerCore
Contoh:
coreNum, memSizePerCore = CalcCoreNumAndMem(1000,99, 100, kOneCoreDataSize=2048)
"""
kMBytes = 1024.0 * 1024.0
# Jumlah core yang terlibat dalam komputasi
coreNum = max(1, int(row * col * 1000/ kMBytes / kOneCoreDataSize))
# Ukuran memori per core = Jumlah data
memSizePerCore = max(1024, int(kOneCoreDataSize*2))
return coreNum, memSizePerCoreContoh
Data yang Dihasilkan
create table pai_aliws_test as select 1 as id, 'Hari ini adalah hari yang baik. Cuaca cerah dan matahari bersinar.' as content;Perintah PAI
pai -name split_word -project algo_public -DinputTableName=pai_aliws_test -DselectedColNames=content -DoutputTableName=doc_test_split_wordDeskripsi Input
Tabel input terdiri dari dua kolom: id dan content.
+------------+------------+ | id | content | +------------+------------+ | 1 | Hari ini adalah hari yang baik. Cuaca cerah dan matahari bersinar. |Deskripsi Output
Kata-kata dalam kolom tokenisasi tabel input dipisahkan lalu dikembalikan. Kolom lainnya dikembalikan tanpa perubahan.
Ketika kamus kustom digunakan, sistem memisahkan kata berdasarkan kamus kustom dan konteks.