All Products
Search
Document Center

Platform For AI:Conditional random field

Last Updated:Apr 02, 2026

Komponen Conditional Random Field (CRF) di Machine Learning Designer melatih model CRF rantai linier untuk tugas penandaan urutan. CRF rantai linier merupakan model distribusi probabilitas kondisional yang variabel outputnya membentuk Markov random field (MRF). Model ini dapat digunakan dalam berbagai skenario prediksi, terutama dalam anotasi. Untuk latar belakang lebih lanjut, lihat Conditional random field.

Konfigurasikan komponen

Komponen Conditional Random Field dapat dikonfigurasi melalui halaman pipeline atau menggunakan perintah PAI.

Metode 1: Konfigurasi di halaman pipeline

Di halaman pipeline Machine Learning Designer (sebelumnya Machine Learning Studio) pada Platform for AI (PAI), atur parameter berikut.

TabParameterDeskripsi
Fields settingID columnsKolom yang berisi ID setiap sampel. Sampel disimpan dalam bentuk n-tuple.
Feature columnsKata yang akan dianotasi dan fiturnya, jika kata tersebut memiliki fitur.
Target columnsKolom yang ingin Anda pilih.
Parameters settingFeature generation templateTemplat yang menentukan fitur konteks apa saja yang dihasilkan. Default: [-2:0],[-1:0],[0:0],[1:0],[2:0],[-1:0]/[0:0],[0:0]/[1:0],[-2:1],[-1:1],[0:1],[1:1],[2:1],[-2:1]/[-1:1],[-1:1]/[0:1],[0:1]/[1:1],[1:1]/[2:1],[-2:1]/[-1:1]/[0:1],[-1:1]/[0:1]/[1:1],[0:1]/[1:1]/[2:1]
Infrequently used word filtering thresholdFrekuensi minimum fitur. Fitur dengan jumlah kemunculan di bawah nilai ini akan dibuang. Default: 1.
L1 regularization coefficientBobot untuk regularisasi L1. Nilai yang lebih tinggi meningkatkan sparsitas. Default: 1.
L2 regularization coefficientBobot untuk regularisasi L2. Default: 0.
Maximum iterationsJumlah maksimum iterasi optimasi L-BFGS. Default: 100.
Convergence thresholdMenghentikan pelatihan ketika perubahan log-likelihood antar iterasi turun di bawah nilai ini. Default: 0.00001.
TuningCoresJumlah core. Ditentukan oleh sistem secara default.
Memory size per coreMemori per core. Ditentukan oleh sistem secara default.

Memahami templat pembuatan fitur

Setiap item dalam templat mengikuti format [row_offset:col_index], di mana:

FieldMaknaContoh
row_offsetPosisi relatif terhadap token saat ini. 0 = token saat ini, -1 = token sebelumnya, 1 = token berikutnya.-2, -1, 0, 1, 2
col_indexIndeks kolom dalam kolom fitur. 0 = kolom fitur pertama, 1 = kolom fitur kedua.0, 1

Item yang digabungkan dengan / membentuk fitur konjungsi yang menggabungkan beberapa posisi menjadi satu fitur.

Item templatMakna
[0:0]Nilai kolom fitur 0 pada token saat ini
[-1:0]Nilai kolom fitur 0 pada token sebelumnya
[-1:0]/[0:0]Konjungsi kolom fitur 0 pada token sebelumnya dan saat ini
[0:1]Nilai kolom fitur 1 pada token saat ini

Metode 2: Gunakan perintah PAI

Gunakan komponen SQL Script untuk memanggil perintah PAI. Untuk informasi selengkapnya, lihat SQL Script.

Melatih model

PAI -name=linearcrf
    -project=algo_public
    -DinputTableName=crf_input_table
    -DidColName=sentence_id
    -DfeatureColNames=word,f1
    -DlabelColName=label
    -DoutputTableName=crf_model
    -Dlifecycle=28
    -DcoreNum=10
ParameterWajibNilai defaultDeskripsi
inputTableNameYaTabel yang berisi fitur input.
inputTablePartitionsTidakSemua partisiPartisi yang akan dibaca dari tabel input.
featureColNamesTidakSemua kolom kecuali kolom labelKolom fitur dari tabel input.
labelColNameYaKolom label yang akan diprediksi.
idColNameYaKolom yang berisi label sampel.
outputTableNameYaTabel tempat model yang telah dilatih akan ditulis.
outputTablePartitionsTidakSemua partisiPartisi yang akan ditulis di tabel model output.
templateTidakLihat Feature generation templateTemplat yang mengontrol pembuatan fitur. Format: <template_item>,<template_item>,... di mana setiap item berupa [row_offset:col_index]/[row_offset:col_index]/...
freqTidak1Ambang batas frekuensi minimum untuk fitur. Fitur dengan jumlah kemunculan di bawah nilai ini akan dibuang.
iterationsTidak100Jumlah maksimum iterasi optimasi.
l1WeightTidak1.0Bobot regularisasi L1. Berlaku untuk algoritma L-BFGS.
l2WeightTidak1.0Bobot regularisasi L2. Berlaku untuk algoritma L-BFGS.
epsilonTidak0.0001Ambang batas konvergensi. Pelatihan berhenti ketika perubahan log-likelihood antara dua iterasi berturut-turut turun di bawah nilai ini. Berlaku untuk algoritma L-BFGS.
lbfgsStepTidak10Jumlah langkah historis yang digunakan oleh pengoptimal L-BFGS. Hanya berlaku untuk algoritma L-BFGS.
threadNumTidak3Jumlah thread paralel untuk pelatihan model.
lifecycleTidakPeriode retensi tabel output.
coreNumTidakSistem menentukanJumlah core.
memSizePerCoreTidakSistem menentukanMemori per core.

Jalankan prediksi

Setelah pelatihan selesai, gunakan perintah crf_predict untuk memberi label pada urutan baru.

PAI -name=crf_predict
    -project=algo_public
    -DinputTableName=crf_test_input_table
    -DmodelTableName=crf_model
    -DidColName=sentence_id
    -DfeatureColNames=word,f1
    -DlabelColName=label
    -DoutputTableName=crf_predict_result
    -DdetailColName=prediction_detail
    -Dlifecycle=28
    -DcoreNum=10
ParameterWajibNilai defaultDeskripsi
inputTableNameYaTabel yang berisi fitur input.
inputTablePartitionsTidakSemua partisiPartisi yang akan dibaca dari tabel input.
featureColNamesTidakSemua kolom kecuali kolom labelKolom fitur dari tabel input.
labelColNameTidakKolom label. Opsional untuk prediksi.
IdColNameYaKolom yang berisi label sampel.
resultColNameTidakprediction_resultNama kolom untuk label hasil prediksi di tabel output.
scoreColNameTidakprediction_scoreNama kolom untuk skor kepercayaan prediksi.
detailColNameTidakNama kolom untuk detail skor per label.
outputTableNameYaTabel tempat hasil prediksi akan ditulis.
outputTablePartitionsTidakSemua partisiPartisi yang akan ditulis di tabel output.
modelTableNameYaTabel yang berisi model yang telah dilatih.
modelTablePartitionsTidakSemua partisiPartisi yang akan dibaca dari tabel model.
lifecycleTidakPeriode retensi tabel output.
coreNumTidakSistem menentukanJumlah core.
memSizePerCoreTidakSistem menentukanMemori per core.

Contoh

Contoh ini melatih model CRF pada dataset chunking CoNLL, lalu menjalankan prediksi pada data baru.

Format data input

Tabel input berisi satu baris per token. Setiap kalimat diidentifikasi oleh sentence_id yang sama. Kolom label menggunakan notasi IOB2 untuk menandai batas chunk:

LabelMakna
B-<TYPE>Token pertama dari chunk bertipe <TYPE>
I-<TYPE>Token lanjutan di dalam chunk
OToken di luar semua chunk
sentence_idwordf1label
1RockwellNNPB-NP
1InternationalNNPI-NP
1CorpNNPI-NP
1'sPOSB-NP
............
823OhioNNPB-NP
823grewVBDB-VP
8233.8CDB-NP
823%NNI-NP
823..O

Data output

Catatan

Kolom label bersifat opsional dalam output.

sentence_idwordf1label
1ConfidenceNNB-NP
1inINB-PP
1theDTB-NP
1poundNNI-NP
............
77haveVBPB-VP
77announcedVBNI-VP
77similarJJB-NP
77increasesNNSI-NP
77..O