Topik ini memperkenalkan komponen algoritma Split Word (Generate Model) yang disediakan oleh Designer.
Komponen algoritma Split Word (Generate Model) didasarkan pada sistem analisis leksikal Alibaba Word Segmenter (AliWS) dan menghasilkan model segmentasi kata berdasarkan parameter serta kamus kustom.
Komponen Split Word (Generate Model) mendukung segmentasi kata bahasa Tiongkok untuk domain Taobao dan Internet.
Perbedaan dari Split Word:
-
Komponen Split Word langsung melakukan segmentasi terhadap teks input.
-
Komponen Split Word (Generate Model) menghasilkan model segmentasi kata. Untuk melakukan segmentasi teks, Anda harus terlebih dahulu menyebarluaskan (deploy) model tersebut, lalu melakukan prediksi atau memanggil API online.
Konfigurasi komponen
Anda dapat mengonfigurasi komponen Split Word (Generate Model) dengan salah satu cara berikut.
Metode 1: Gunakan GUI
Anda dapat mengonfigurasi parameter komponen pada halaman alur kerja Designer.
|
Tab |
Parameter |
Deskripsi |
|
Fields Setting |
Selected Field Column |
Kolom bidang yang digunakan untuk menghasilkan model. |
|
Parameters Setting |
Recognized Options |
Tipe konten yang akan dideteksi. Nilai yang valid:
Default: Detect simple entities, Detect phone numbers, Detect time, Detect dates, dan Detect numbers and letters dipilih. |
|
Merge Options |
Tipe konten yang akan digabung. Nilai yang valid:
Default: Merge Arabic numerals dipilih. |
|
|
Tokenizer |
Jenis filter. Nilai yang valid: TAOBAO_CHN dan INTERNET_CHN. Default: TAOBAO_CHN. |
|
|
Pos Tagger |
Menentukan apakah akan melakukan penandaan bagian ucapan (part-of-speech tagging). Secara default, fitur ini dinonaktifkan. |
|
|
Semantic Tagger |
Menentukan apakah akan melakukan penandaan semantik (semantic tagging). Secara default, fitur ini dinonaktifkan. |
|
|
Filter out words that contain only numbers |
Menentukan apakah akan menyaring kata hasil segmentasi yang hanya berupa angka. Secara default, fitur ini dinonaktifkan. |
|
|
Filter out words that contain only English letters |
Menentukan apakah akan menyaring kata hasil segmentasi yang seluruhnya terdiri atas huruf Inggris. Secara default, fitur ini dinonaktifkan. |
|
|
Filter out words that contain only punctuation marks |
Menentukan apakah akan menyaring kata hasil segmentasi yang hanya berupa tanda baca. Secara default, fitur ini dinonaktifkan. |
|
|
Execution Tuning |
Number of cores |
Secara default, sistem akan menetapkannya. |
|
Memory per core |
Sistem secara otomatis mengalokasikan sumber daya. |
Metode 2: Gunakan perintah PAI
Anda dapat menjalankan perintah PAI dalam komponen SQL Script untuk mengonfigurasi komponen. 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=true
|
Parameter Name |
Required |
Deskripsi |
Default Value |
|
userDictTableName |
No |
Menentukan apakah akan menggunakan tabel kamus kustom. Tabel kamus kustom hanya memiliki satu kolom, dan setiap baris berisi satu kata. |
None |
|
outputModelName |
Yes |
Nama model output. |
None |
|
colName |
No |
Nama kolom teks untuk prediksi. |
context |
|
dictTableName |
No |
Menentukan apakah akan menggunakan tabel kamus kustom. Tabel kamus kustom hanya memiliki satu kolom, dan setiap baris berisi satu kata. |
None |
|
tokenizer |
No |
Jenis filter. Nilai yang valid: TAOBAO_CHN dan INTERNET_CHN. |
TAOBAO_CHN |
|
enableDfa |
No |
Menentukan apakah akan mendeteksi entitas sederhana. Nilai yang valid: True dan False. |
True |
|
enablePersonNameTagger |
No |
Menentukan apakah akan mendeteksi nama orang. Nilai yang valid: True dan False. |
False |
|
enableOrgnizationTagger |
No |
Menentukan apakah akan mendeteksi nama organisasi. Nilai yang valid: True dan False. |
False |
|
enablePosTagger |
No |
Menentukan apakah akan melakukan penandaan bagian ucapan (part-of-speech tagging). Nilai yang valid: True dan False. |
False |
|
enableTelephoneRetrievalUnit |
No |
Menentukan apakah akan mendeteksi nomor telepon. Nilai yang valid: True dan False. |
True |
|
enableTimeRetrievalUnit |
No |
Menentukan apakah akan mendeteksi waktu. Nilai yang valid: True dan False. |
True |
|
enableDateRetrievalUnit |
No |
Menentukan apakah akan mendeteksi tanggal. Nilai yang valid: True dan False. |
True |
|
enableNumberLetterRetrievalUnit |
No |
Menentukan apakah akan mendeteksi angka dan huruf. Nilai yang valid: True dan False. |
True |
|
enableChnNumMerge |
No |
Menentukan apakah akan menggabungkan angka Tiongkok menjadi satu unit pengambilan (retrieval unit). Nilai yang valid: True dan False. |
False |
|
enableNumMerge |
No |
Menentukan apakah akan menggabungkan angka biasa menjadi satu unit pengambilan (retrieval unit). Nilai yang valid: True dan False. |
True |
|
enableChnTimeMerge |
No |
Menentukan apakah akan menggabungkan ekspresi waktu Tiongkok menjadi satu unit semantik. Nilai yang valid: True dan False. |
False |
|
enableChnDateMerge |
No |
Menentukan apakah akan menggabungkan ekspresi tanggal Tiongkok menjadi satu unit semantik. Nilai yang valid: True dan False. |
False |
|
enableSemanticTagger |
No |
Menentukan apakah akan melakukan penandaan semantik. Nilai yang valid: True dan False |
False |
Contoh
-
Perintah PAI
pai -name split_word_model -project algo_public -DoutputModelName=aliws_model -
Penyebaran
create onlinemodel ning_test_aliws_model_2 -offlinemodelName ning_test_aliws_model -instanceNum 1 -cpu 100 -memory 4096; -
Segmentasi kata online
KVJsonRequest request = new KVJsonRequest(); Map<String, JsonFeatureValue> row = request.addRow(); row.put(col_name, new JsonFeatureValue("The big data algorithm platform is a new platform")); KVJsonResponse res = predictClient.syncPredict(new JsonPredictRequest(project_name, model_name, request)); List<ResponseItem> ri = res.getOutputs(); for (ResponseItem item : ri) { System.out.println(item.getOutputLabel()); } -
Segmentasi kata offline
pai -name prediction -DmodelName=ning_test_aliws_model -DinputTableName=ning_test_aliws -DoutputTableName=ning_test_aliws_offline_predict;