Metrik evaluasi untuk model pengenalan entitas bernama kustom

Himpunan data Anda dibagi menjadi dua bagian: satu set untuk pelatihan, dan satu set untuk pengujian. Set pelatihan digunakan untuk melatih model, sementara set pengujian digunakan sebagai pengujian untuk model setelah pelatihan untuk menghitung performa dan evaluasi model. Set pengujian tidak diperkenalkan ke model melalui proses pelatihan, untuk memastikan bahwa model diuji pada data baru.

Evaluasi model dipicu secara otomatis setelah pelatihan berhasil diselesaikan. Proses evaluasi dimulai dengan menggunakan model terlatih untuk memprediksi entitas yang ditentukan pengguna untuk dokumen dalam set pengujian, dan membandingkannya dengan tag data yang disediakan (yang menetapkan dasar kebenaran). Hasil ditampilkan sehingga Anda dapat meninjau performa model. Untuk evaluasi, NER kustom menggunakan metrik berikut:

  • Presisi: Mengukur seberapa presisi/akurat model Anda. Ini adalah rasio antara positif yang diidentifikasi dengan benar (positif benar) dan semua positif yang diidentifikasi. Metrik presisi mengungkapkan berapa banyak kelas yang diprediksi diberi tag dengan benar.

    Precision = #True_Positive / (#True_Positive + #False_Positive)

  • Pengenalan: Mengukur kemampuan model untuk memprediksi kelas positif aktual. Hal ini adalah rasio antara prediksi positif benar dan apa yang sebenarnya ditandai. Metrik ingatan mengungkapkan berapa banyak entitas yang diprediksi benar.

    Recall = #True_Positive / (#True_Positive + #False_Negatives)

  • F-measure: F-measure adalah fungsi dari Presisi dan Pengenalan. Hal ini diperlukan ketika Anda mencari keseimbangan antara Presisi dan Pengenalan.

    F1 Score = 2 * Precision * Recall / (Precision + Recall)

Catatan

Presisi, ingatan, dan skor F1 dihitung untuk setiap entitas secara terpisah (evaluasi tingkat entitas) dan untuk model secara kolektif (evaluasi tingkat model).

Metrik evaluasi tingkat model dan tingkat entitas

Presisi, pengenalan, dan f-measure dihitung untuk setiap entitas secara terpisah (evaluasi tingkat entitas) dan untuk model secara kolektif (evaluasi tingkat model).

Definisi presisi, pengenalan, dan evaluasi adalah sama untuk evaluasi tingkat entitas dan tingkat model. Namun, jumlah untuk Positif Benar, Positif Palsu, dan Negatif Palsu dapat berbeda. Misalnya, pertimbangkan teks berikut ini.

Contoh

Pihak pertama dari kontrak ini adalah John Smith, yang tinggal di 5678 Main Rd., Kota Frederick, negara bagian Nebraska. Dan pihak kedua adalah Forrest Ray, yang tinggal di 123-345 Integer Rd., Kota Corona, negara bagian New Mexico. Ada juga Fannie Thomas yang tinggal di 7890 River Road, kota Colorado Springs, Negara Bagian Colorado.

Model yang mengekstrak entitas dari teks ini bisa memiliki prediksi berikut:

Entitas Diprediksi sebagai Jenis sebenarnya
John Smith Orang Orang
Frederick Orang Kota
Forrest Kota Orang
Fannie Thomas Orang Orang
Colorado Springs Kota Kota

Evaluasi tingkat entitas untuk entitas orang

Model ini akan memiliki evaluasi tingkat entitas berikut, untuk entitas orang:

Kunci Count Penjelasan
Positif Benar 2 John Smith dan Fannie Thomas diprediksi dengan benar sebagai orang.
Positif Palsu 1 Frederick salah diprediksi sebagai orang karena seharusnya kota.
Negatif Palsu 1 Forrest salah diprediksi sebagai kota karena seharusnya orang.
  • Presisi: #True_Positive / (#True_Positive + #False_Positive) = 2 / (2 + 1) = 0.67
  • Pengenalan: #True_Positive / (#True_Positive + #False_Negatives) = 2 / (2 + 1) = 0.67
  • f-measure: 2 * Precision * Recall / (Precision + Recall) = (2 * 0.67 * 0.67) / (0.67 + 0.67) = 0.67

Evaluasi tingkat entitas untuk entitas kota

Model ini akan memiliki evaluasi tingkat entitas berikut, untuk entitas kota:

Kunci Count Penjelasan
Positif Benar 1 Colorado Springs diprediksi dengan benar sebagai kota.
Positif Palsu 1 Forrest salah diprediksi sebagai kota karena seharusnya orang.
Negatif Palsu 1 Frederick salah diprediksi sebagai orang karena seharusnya kota.
  • Presisi = #True_Positive / (#True_Positive + #False_Positive) = 1 / (1 + 1) = 0.5
  • Pengenalan = #True_Positive / (#True_Positive + #False_Negatives) = 1 / (1 + 1) = 0.5
  • f-measure = 2 * Precision * Recall / (Precision + Recall) = (2 * 0.5 * 0.5) / (0.5 + 0.5) = 0.5

Evaluasi tingkat model untuk model kolektif

Model ini akan memiliki evaluasi berikut untuk model secara keseluruhan:

Kunci Count Penjelasan
Positif Benar 3 John Smith dan Fannie Thomas diprediksi dengan benar sebagai orang. Colorado Springs diprediksi dengan benar sebagai kota. Ini adalah jumlah positif benar untuk semua entitas.
Positif Palsu 2 Forrest salah diprediksi sebagai kota karena seharusnya orang. Frederick salah diprediksi sebagai orang karena seharusnya kota. Ini adalah jumlah positif palsu untuk semua entitas.
Negatif Palsu 2 Forrest salah diprediksi sebagai kota karena seharusnya orang. Frederick salah diprediksi sebagai orang karena seharusnya kota. Ini adalah jumlah negatif palsu untuk semua entitas.
  • Presisi = #True_Positive / (#True_Positive + #False_Positive) = 3 / (3 + 2) = 0.6
  • Pengenalan = #True_Positive / (#True_Positive + #False_Negatives) = 3 / (3 + 2) = 0.6
  • f-measure = 2 * Precision * Recall / (Precision + Recall) = (2 * 0.6 * 0.6) / (0.6 + 0.6) = 0.6

Menafsirkan metrik evaluasi tingkat entitas

Jadi apa artinya memiliki presisi tinggi atau pengenalan tinggi untuk entitas tertentu?

Pengenalan Presisi Interpretasi
Tinggi Tinggi Entitas ini ditangani dengan baik oleh model.
Rendah Tinggi Model tidak selalu dapat mengekstrak entitas ini, tetapi ketika berhasil, ia melakukannya dengan keyakinan tinggi.
Tinggi Rendah Model mengekstrak entitas ini dengan baik, tetapi dengan keyakinan rendah karena kadang-kadang diekstraksi sebagai jenis lain.
Rendah Rendah Jenis entitas ini ditangani dengan kurang baik oleh model, karena biasanya tidak diekstraksi. Ketika dilakukan, model tidak memiliki keyakinan tinggi.

Panduan

Setelah berlatih model, Anda akan melihat beberapa panduan dan rekomendasi tentang cara meningkatkan model. Disarankan untuk memiliki model yang mencakup semua titik di bagian panduan.

  • Set pelatihan memiliki data yang cukup: Ketika jenis entitas memiliki kurang dari 15 instans berlabel dalam data pelatihan, itu dapat menyebabkan akurasi yang lebih rendah karena model tidak terlatih secara memadai pada kasus-kasus ini. Dalam hal ini, pertimbangkan untuk menambahkan lebih banyak data berlabel dalam set pelatihan. Anda dapat memeriksa tab distribusi data untuk panduan selengkapnya.

  • Semua jenis entitas ada dalam set pengujian: Ketika data pengujian tidak memiliki instans berlabel untuk jenis entitas, performa pengujian model mungkin menjadi kurang komprehensif karena skenario yang belum diuji. Anda dapat memeriksa tab distribusi data set pengujian untuk panduan selengkapnya.

  • Jenis entitas diseimbangkan dalam set pelatihan dan pengujian: Ketika bias pengambilan sampel menyebabkan representasi frekuensi jenis entitas yang tidak akurat, hal ini dapat menyebabkan akurasi yang lebih rendah karena model yang mengharapkan jenis entitas tersebut terjadi terlalu sering atau terlalu sedikit. Anda dapat memeriksa tab distribusi data untuk panduan selengkapnya.

  • Jenis entitas didistribusikan secara merata antara set pelatihan dan pengujian: Ketika campuran jenis entitas tidak cocok antara set pelatihan dan pengujian, hal ini dapat menyebabkan akurasi pengujian yang lebih rendah karena model dilatih secara berbeda dari cara pengujiannya. Anda dapat memeriksa tab distribusi data untuk panduan selengkapnya.

  • Perbedaan yang tidak jelas antara jenis entitas dalam set pelatihan: Ketika data pelatihan mirip untuk beberapa jenis entitas, hal ini dapat menyebabkan akurasi yang lebih rendah karena jenis entitas mungkin sering salah diklasifikasikan sebagai satu sama lain. Tinjau jenis entitas berikut dan pertimbangkan untuk menggabungkannya jika mirip. Jika tidak, tambahkan lebih banyak contoh untuk membedakannya dengan lebih baik satu sama lain. Anda dapat memeriksa tab matriks confusion untuk panduan selengkapnya.

Matriks kebingungan

Matriks Konfusi adalah matriks N x N yang digunakan untuk evaluasi performa model, di mana N adalah jumlah entitas. Matriks membandingkan label yang diharapkan dengan yang diprediksi oleh model. Hal ini memberikan pandangan holistik tentang seberapa baik performa model dan jenis kesalahan apa yang dibuatnya.

Anda dapat menggunakan matriks Konfusi untuk mengidentifikasi entitas yang terlalu dekat satu sama lain dan sering salah (ambiguitas). Dalam hal ini, pertimbangkan untuk menggabungkan jenis entitas ini. Jika itu tidak mungkin, pertimbangkan untuk menambahkan lebih banyak contoh yang diberi tag dari kedua entitas untuk membantu model membedakan keduanya.

Diagonal yang disorot pada gambar di bawah ini adalah entitas yang diprediksi dengan benar, di mana tag yang diprediksi sama dengan tag yang sebenarnya.

Cuplikan layar yang menunjukkan contoh matriks confusion.

Anda dapat menghitung metrik evaluasi tingkat entitas dan tingkat model dari matriks konfusi:

  • Nilai dalam diagonal adalah nilai Positif Benar dari setiap entitas.
  • Jumlah nilai dalam baris entitas (tidak termasuk diagonal) adalah positif palsu dari model.
  • Jumlah nilai dalam kolom entitas (tidak termasuk diagonal) adalah Negatif palsu dari model.

Demikian pula,

  • Positif benar dari model ini adalah jumlah Positif benar untuk semua entitas.
  • Positif palsu dari model ini adalah jumlah positif palsu untuk semua entitas.
  • Negatif palsu dari model ini adalah jumlah negatif palsu untuk semua entitas.

Langkah berikutnya