全部产品
Search
文档中心

Platform For AI:Kemiripan Dokumen

更新时间:Jul 02, 2025

Kemiripan dokumen adalah nilai yang dihitung antara artikel atau kalimat berdasarkan kemiripan string. Kalimat atau dokumen dipisahkan oleh spasi. Topik ini menjelaskan cara mengonfigurasi komponen algoritma Kemiripan Dokumen yang disediakan oleh Platform for AI (PAI).

Informasi latar belakang

Kemiripan dokumen dihitung dengan pendekatan yang mirip dengan perhitungan kemiripan string. Kemiripan dokumen mendukung metode perhitungan berikut: Levenshtein Distance (Levenshtein), Longest Common SubString (LCS), String Subsequence Kernel (SSK), Cosine, dan Simhash_Hamming.

  • Metode Levenshtein mendukung perhitungan jarak dan kemiripan.

    • Jarak dinyatakan sebagai parameter levenshtein.

    • Kemiripan dihitung menggunakan rumus berikut: Kemiripan = 1 - Jarak. Kemiripan dinyatakan sebagai parameter levenshtein_sim.

  • Metode LCS mendukung perhitungan jarak dan kemiripan.

    • Jarak dinyatakan sebagai parameter lcs.

    • Kemiripan dihitung menggunakan rumus berikut: Kemiripan = 1 - Jarak. Kemiripan dinyatakan sebagai parameter lcs_sim.

  • Metode SSK mendukung perhitungan kemiripan dan dinyatakan sebagai parameter ssk.

  • Metode Cosine mendukung perhitungan kemiripan dan dinyatakan sebagai parameter cosine.

  • Dalam metode Simhash_Hamming, algoritma SimHash digunakan untuk memetakan dokumen asli ke sidik jari biner 64-bit. Jarak Hamming digunakan untuk menghitung jumlah karakter sidik jari biner pada posisi yang sama. Metode Simhash_Hamming mendukung perhitungan jarak dan kemiripan.

    • Jarak dinyatakan sebagai parameter simhash_hamming.

    • Kemiripan dihitung menggunakan rumus berikut: Kemiripan = 1 - Jarak/64.0. Kemiripan dinyatakan sebagai parameter simhash_hamming_sim.

    Catatan

Batasan

Komponen Kemiripan Dokumen hanya dapat digunakan dengan sumber daya komputasi MaxCompute.

Mengonfigurasi komponen

Anda dapat menggunakan salah satu dari metode berikut untuk mengonfigurasi komponen Kemiripan Dokumen.

Metode 1: Mengonfigurasi komponen di konsol PAI

Anda dapat mengonfigurasi parameter komponen Kemiripan Dokumen di halaman pipeline Machine Learning Designer. Tabel berikut menjelaskan parameter tersebut.

Tab

Parameter

Deskripsi

Fields Setting

First Column for Similarity Calculation

Nilai default adalah nama kolom string pertama dalam tabel.

Second Column for Similarity Calculation

Nilai default adalah nama kolom string kedua dalam tabel.

Columns Appended to Output Table

Nama kolom yang ditambahkan ke tabel output.

Similarity Column in Output Table

Nama kolom kemiripan di tabel output. Nilai default: output.

Catatan

Nama kolom dapat memiliki panjang hingga 128 karakter dan dapat berisi huruf, angka, dan garis bawah (_). Harus dimulai dengan huruf.

Parameters Setting

Similarity Calculation Method

Metode yang digunakan untuk perhitungan kemiripan. Nilai valid:

  • levenshtein

  • levenshtein_sim (default)

  • lcs

  • lcs_sim

  • ssk

  • cosine

  • simhash_hamming

  • simhash_hamming_sim

Substring Length (Available in SSK and Cosine)

Parameter ini berlaku hanya ketika parameter Similarity Calculation Method diatur ke levenshtein, ssk, atau Cosine. Nilai valid: (0,100]. Nilai default: 2.

Matching Word Pair Weight (Available in SSK)

Parameter ini berlaku hanya ketika parameter Similarity Calculation Method diatur ke ssk. Nilainya harus antara 0 dan 1. Nilai default: 0.5.

Tuning

Computing Cores

Jumlah inti yang digunakan untuk perhitungan. Secara default, sistem menentukan nilainya.

Memory Size per Core (Unit: MB)

Ukuran memori setiap inti. Secara default, sistem menentukan nilainya.

Metode 2: Mengonfigurasi parameter 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 doc_similarity    
    -project algo_public    
    -DinputTableName="pai_test_doc_similarity"    
    -DoutputTableName="pai_test_doc_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 yang digunakan untuk perhitungan kemiripan.

Nama kolom string pertama dalam tabel

inputSelectedColName2

Tidak

Kolom kedua yang digunakan untuk perhitungan kemiripan.

Nama kolom string kedua dalam tabel

inputAppendColNames

Tidak

Kolom yang ditambahkan ke tabel output.

Tidak ada kolom yang ditambahkan

inputTablePartitions

Tidak

Partisi yang dipilih dari tabel input.

Tabel lengkap

outputColName

Tidak

Nama kolom kemiripan di tabel output.

Catatan

Nama kolom dapat memiliki panjang hingga 128 karakter dan dapat berisi huruf, angka, dan garis bawah (_). Harus dimulai dengan huruf.

output

method

Tidak

Metode yang digunakan untuk perhitungan kemiripan. Nilai valid:

  • levenshtein

  • levenshtein_sim

  • lcs

  • lcs_sim

  • ssk

  • cosine

  • simhash_hamming

  • simhash_hamming_sim

levenshtein_sim

lambda

Tidak

Bobot pasangan kata yang cocok. Metode SSK mendukung parameter ini. Nilai valid: (0,1).

0.5

k

Tidak

Panjang substring. Metode SSK dan Cosine mendukung parameter ini. Nilai valid: (0,100].

2

lifecycle

Tidak

Siklus hidup tabel output.

Tidak tersedia

coreNum

Tidak

Jumlah inti yang digunakan untuk perhitungan.

Dialokasikan secara otomatis

memSizePerCore

Tidak

Ukuran memori setiap inti. Unit: MB.

Dialokasikan secara otomatis

Contoh

  • Input

    Gunakan node ODPS SQL untuk membuat tabel pai_ft_string_similarity_topn_input. Untuk informasi lebih lanjut, lihat Mengembangkan Tugas SQL MaxCompute. Contoh perintah:

    drop table if exists pai_doc_similarity_input;
    create table pai_doc_similarity_input as
    select * from 
    (
    select 0 as id, "Beijing Shanghai" as col0, "Beijing Shanghai" as col1 from dual
    union all
    select 1 as id, "Beijing Shanghai" as col0, "Beijing Shanghai Shenzhen" as col1 from dual
    )tmp

    Setelah menjalankan perintah, tabel input bernama pai_doc_similarity_input akan terlihat seperti berikut:

    id

    col0

    col1

    1

    0

  • Perintah PAI

    Anda dapat menggunakan komponen skrip SQL atau node ODPS SQL untuk menjalankan perintah PAI berikut.

    drop table if exists pai_doc_similarity_output;
    PAI -name doc_similarity    
        -project algo_public    
        -DinputTableName=pai_doc_similarity_input    
        -DoutputTableName=pai_doc_similarity_output    
        -DinputSelectedColName1=col0    
        -DinputSelectedColName2=col1    
        -Dmethod=levenshtein_sim    
        -DinputAppendColNames=id,col0,col1;
  • Output

    Tabel berikut adalah tabel output bernama pai_doc_similarity_output.

    id

    col0

    col1

    output

    1

    Beijing Shanghai

    Beijing Shanghai Shenzhen

    0,6666666666666667

    0

    Beijing Shanghai

    Beijing Shanghai

    1,0

FAQ

  • Perhitungan kemiripan didasarkan pada hasil segmentasi kata. Kata-kata dipisahkan oleh spasi. Setiap kata berfungsi sebagai unit perhitungan kemiripan. Jika inputnya adalah string secara keseluruhan, gunakan metode kemiripan string.

  • Dalam parameter method, levenshtein, lcs, dan simhash_hamming digunakan untuk menghitung jarak. levenshtein_sim, lcs_sim, ssk, cosine, dan simhash_hamming_sim digunakan untuk menghitung kemiripan. Jarak dihitung menggunakan rumus berikut: Jarak = 1.0 - Kemiripan.

  • Jika Anda mengatur parameter method ke cosine atau ssk, parameter k tersedia, yang menunjukkan bahwa k kata digunakan sebagai kombinasi untuk perhitungan kemiripan. Jika nilai k lebih besar dari jumlah kata, dua string dianggap sama. Output kemiripannya adalah 0. Dalam kasus ini, Anda perlu mengubah nilai k menjadi nilai yang lebih kecil atau sama dengan jumlah kata minimum.

Referensi

  • Untuk informasi lebih lanjut tentang komponen Machine Learning Designer, lihat Ikhtisar Machine Learning Designer.

  • Anda dapat menggunakan komponen Kemiripan String untuk menghitung kemiripan string. Untuk informasi lebih lanjut, lihat Kemiripan String.

  • Machine Learning Designer menyediakan berbagai komponen algoritma preset. Anda dapat memilih komponen untuk memproses data berdasarkan skenario yang berbeda. Untuk informasi lebih lanjut, lihat Ikhtisar Komponen Designer.