Perhitungan kemiripan string merupakan operasi dasar dalam pembelajaran mesin yang banyak digunakan di berbagai industri seperti pengambilan informasi, pemrosesan bahasa alami, dan bioinformatika. Topik ini menjelaskan cara mengonfigurasi komponen Algoritma Kemiripan String di Platform for AI (PAI).
Informasi latar belakang
Komponen ini mendukung lima metode perhitungan: Levenshtein (Levenshtein Distance), Longest Common SubString (LCS), String Subsequence Kernel (SSK), Cosine (Cosine), dan SimHash_Hamming. Data input dapat didistribusikan dalam dua kolom, dengan nilai dalam satu kolom digunakan untuk menghitung nilai di kolom lainnya.
Metode Levenshtein mendukung perhitungan jarak dan kemiripan.
Jarak ditentukan oleh parameter levenshtein.
Kemiripan dihitung menggunakan rumus berikut: Kemiripan = 1 - Jarak. Kemiripan ditentukan oleh parameter levenshtein_sim.
Metode LCS mendukung perhitungan jarak dan kemiripan.
Jarak ditentukan oleh parameter lcs.
Kemiripan dihitung menggunakan rumus berikut: Kemiripan = 1 - Jarak. Kemiripan ditentukan oleh parameter lcs_sim.
Metode SSK mendukung perhitungan kemiripan, yang ditentukan oleh parameter ssk.
Cosine mendukung perhitungan kemiripan, yang ditentukan oleh parameter cosine.
Pada Simhash_Hamming, algoritma SimHash digunakan untuk memetakan dokumen asli ke sidik jari biner 64-bit. Jarak Hamming digunakan untuk menghitung jumlah karakter dari sidik jari biner pada posisi yang sama. Metode Simhash_Hamming mendukung perhitungan jarak dan kemiripan.
Jarak ditentukan oleh parameter simhash_hamming.
Kemiripan dihitung menggunakan rumus berikut: Kemiripan = 1 - Jarak/64.0. Kemiripan ditentukan oleh parameter simhash_hamming_sim.
Mengonfigurasi komponen
Anda dapat menggunakan salah satu metode berikut untuk mengonfigurasi parameter komponen Kemiripan String.
Metode 1: Mengonfigurasi komponen di konsol PAI
Anda dapat mengonfigurasi parameter komponen Kemiripan String di Machine Learning Designer. Tabel berikut menjelaskan parameter tersebut.
Tab | Parameter | Deskripsi |
Fields Setting | Columns Appended Output Table | Kolom yang ditambahkan ke tabel output yang ditentukan. |
First Column for Similarity Calculation | Nilai default adalah kolom STRING pertama di tabel input. | |
Second Column for Similarity Calculation | Nilai default adalah kolom STRING kedua di tabel input. | |
Similarity Columns in Output Table | Kolom kemiripan di tabel output yang ditentukan. | |
Parameters Setting | Similarity Calculation Method | Metode yang digunakan untuk perhitungan kemiripan. Nilai valid:
Nilai default: levenshtein_sim. |
Substring Length | Parameter ini diperlukan hanya ketika parameter Similarity Calculation Method disetel ke ssk, Cosine, simhash_hamming, atau simhash_hamming_sim. Nilai valid: (0,100). Nilai default: 2. | |
Weight of Matching String | Parameter ini diperlukan hanya ketika parameter method disetel ke ssk, cosine, atau simhash_hamming_sim. Nilai valid: (0,1). Nilai default: 0.5. | |
Execution Tuning | Number of Computing Cores | Jumlah inti komputasi. Secara default, sistem menentukan nilainya. |
Memory Size per Core (MB) | Ukuran memori setiap inti. Secara default, sistem menentukan nilainya. |
Metode 2: Mengonfigurasi komponen dengan menggunakan perintah PAI
Konfigurasikan parameter komponen menggunakan perintah PAI. Bagian berikut menjelaskan parameter tersebut. Anda dapat menggunakan skrip SQL untuk memanggil perintah PAI. Untuk informasi lebih lanjut, lihat Skrip SQL.
PAI -name string_similarity
-project algo_public
-DinputTableName="pai_test_string_similarity"
-DoutputTableName="pai_test_string_similarity_output"
-DinputSelectedColName1="col0"
-DinputSelectedColName2="col1";Parameter | Diperlukan | Deskripsi | Nilai default |
inputTableName | Ya | Nama tabel input. | Tidak tersedia |
outputTableName | Ya | Nama tabel output. | Tidak tersedia |
inputSelectedColName1 | Tidak | Kolom pertama untuk perhitungan kemiripan. | Nama kolom pertama tipe STRING di tabel kiri |
inputSelectedColName2 | Tidak | Kolom kedua untuk perhitungan kemiripan. | Kolom STRING kedua di tabel input |
inputAppendColNames | Tidak | Kolom yang ditambahkan ke tabel output. | Tidak tersedia |
inputTablePartitions | Tidak | Partisi di tabel input. | Semua partisi |
outputColName | Tidak | Nama kolom kemiripan di tabel output. Nilai tidak boleh mengandung karakter khusus. Hanya dapat berisi huruf, angka, atau garis bawah (_) dan harus dimulai dengan huruf serta panjangnya hingga 128 byte. | output |
method | Tidak | Metode yang digunakan untuk perhitungan kemiripan. Nilai valid:
| levenshtein_sim |
lambda | Tidak | Parameter ini diperlukan hanya ketika parameter Method disetel ke ssk. Nilai valid: (0,1). | 0.5 |
k | Tidak | Parameter ini diperlukan hanya ketika parameter Method disetel ke ssk, cosine, simhash_hamming, atau simhash_hamming_sim. Nilai valid: (0,100). | 2 |
lifecycle | Tidak | Lifecycle tabel output. Nilai harus bilangan bulat positif. | Tidak tersedia |
coreNum | Tidak | Jumlah inti yang digunakan dalam komputasi. | Dialokasikan secara otomatis |
memSizePerCore | Tidak | Ukuran memori setiap inti. | Dialokasikan secara otomatis |
Referensi
Untuk informasi tentang Machine Learning Designer, lihat Ikhtisar Machine Learning Designer.
Anda juga dapat menggunakan komponen Kemiripan String - top N untuk menghitung kemiripan string dan mendapatkan N catatan data teratas yang paling cocok dengan tabel pemetaan. Untuk informasi tentang cara menggunakan komponen ini, lihat Kemiripan String - top N.