Amazon Comprehend mengumumkan batas anotasi yang lebih rendah untuk pengenalan entitas kustom, PlatoBlockchain Data Intelligence. Pencarian Vertikal. Ai.

Amazon Comprehend mengumumkan batas anotasi yang lebih rendah untuk pengenalan entitas kustom

Amazon Comprehend adalah layanan pemrosesan bahasa alami (NLP) yang dapat Anda gunakan untuk mengekstrak entitas, frasa kunci, bahasa, sentimen, dan wawasan lain secara otomatis dari dokumen. Misalnya, Anda dapat segera mulai mendeteksi entitas seperti orang, tempat, barang komersial, tanggal, dan jumlah melalui Konsol Pemahaman Amazon, Antarmuka Baris Perintah AWS, atau Amazon Comprehend API. Selain itu, jika Anda perlu mengekstrak entitas yang bukan bagian dari Jenis entitas bawaan Amazon Comprehend, Anda dapat membuat model pengenalan entitas kustom (juga dikenal sebagai entitas kustom pengenal) untuk mengekstrak istilah yang lebih relevan untuk kasus penggunaan spesifik Anda, seperti nama item dari katalog produk, pengenal khusus domain, dan sebagainya. Membuat pengenal entitas yang akurat sendiri menggunakan pustaka dan kerangka kerja pembelajaran mesin bisa menjadi proses yang rumit dan memakan waktu. Amazon Comprehend menyederhanakan pekerjaan pelatihan model Anda secara signifikan. Yang perlu Anda lakukan hanyalah memuat kumpulan data dokumen dan anotasi Anda, dan menggunakan konsol Amazon Comprehend, AWS CLI, atau API untuk membuat model.

Untuk melatih pengenal entitas kustom, Anda dapat memberikan data pelatihan ke Amazon Comprehend sebagai anotasi atau daftar entitas. Dalam kasus pertama, Anda menyediakan kumpulan dokumen dan file dengan anotasi yang menentukan lokasi tempat entitas muncul dalam kumpulan dokumen. Atau, dengan daftar entitas, Anda memberikan daftar entitas dengan label tipe entitas yang sesuai, dan sekumpulan dokumen tanpa catatan yang Anda harapkan ada entitas Anda. Kedua pendekatan dapat digunakan untuk melatih model pengenalan entitas kustom yang berhasil; namun, ada situasi di mana satu metode mungkin merupakan pilihan yang lebih baik. Misalnya, ketika arti entitas tertentu dapat menjadi ambigu dan bergantung pada konteks, pemberian anotasi direkomendasikan karena ini dapat membantu Anda membuat model Amazon Comprehend yang mampu menggunakan konteks dengan lebih baik saat mengekstrak entitas.

Membuat anotasi dokumen dapat memerlukan cukup banyak usaha dan waktu, terutama jika Anda mempertimbangkan bahwa kualitas dan kuantitas anotasi berdampak pada model pengenalan entitas yang dihasilkan. Anotasi yang tidak tepat atau terlalu sedikit dapat menyebabkan hasil yang buruk. Untuk membantu Anda menyiapkan proses untuk memperoleh anotasi, kami menyediakan alat seperti Kebenaran Dasar Amazon SageMaker, yang dapat Anda gunakan untuk membuat anotasi dokumen Anda lebih cepat dan menghasilkan file anotasi manifes yang ditambah. Namun, bahkan jika Anda menggunakan Ground Truth, Anda masih perlu memastikan bahwa set data pelatihan Anda cukup besar untuk berhasil membangun pengenal entitas Anda.

Hingga hari ini, untuk mulai melatih pengenal entitas kustom Amazon Comprehend, Anda harus menyediakan koleksi minimal 250 dokumen dan minimal 100 anotasi per jenis entitas. Hari ini, kami mengumumkan bahwa, berkat peningkatan terbaru dalam model yang mendasari Amazon Comprehend, kami telah mengurangi persyaratan minimum untuk melatih pengenal dengan file anotasi CSV teks biasa. Anda sekarang dapat membuat model pengenalan entitas kustom dengan sedikitnya tiga dokumen dan 25 anotasi per jenis entitas. Anda dapat menemukan detail lebih lanjut tentang batas layanan baru di Pedoman dan kuota.

Untuk menunjukkan bagaimana pengurangan ini dapat membantu Anda memulai pembuatan pengenal entitas kustom, kami menjalankan beberapa pengujian pada beberapa kumpulan data sumber terbuka dan mengumpulkan metrik kinerja. Dalam posting ini, kami memandu Anda melalui proses pembandingan dan hasil yang kami peroleh saat mengerjakan kumpulan data subsampel.

Persiapan kumpulan data

Dalam posting ini, kami menjelaskan bagaimana kami melatih pengenal entitas kustom Amazon Comprehend menggunakan dokumen beranotasi. Secara umum, anotasi dapat diberikan sebagai File CSV, Sebuah file manifes tambahan yang dihasilkan oleh Ground Truth, Atau File PDF. Fokus kami adalah pada anotasi teks biasa CSV, karena ini adalah jenis anotasi yang dipengaruhi oleh persyaratan minimum yang baru. File CSV harus memiliki struktur berikut:

File, Line, Begin Offset, End Offset, Type
documents.txt, 0, 0, 13, ENTITY_TYPE_1
documents.txt, 1, 0, 7, ENTITY_TYPE_2

Bidang yang relevan adalah sebagai berikut:

  • File โ€“ Nama file yang berisi dokumen
  • baris โ€“ Jumlah baris yang berisi entitas, dimulai dengan baris 0
  • Mulai Mengimbangi โ€“ Karakter offset dalam teks input (relatif terhadap awal baris) yang menunjukkan di mana entitas dimulai, mengingat karakter pertama berada di posisi 0
  • Akhiri Offset โ€“ Karakter offset dalam teks input yang menunjukkan di mana entitas berakhir
  • Tipe โ€“ Nama tipe entitas yang ingin Anda definisikan

Selain itu, saat menggunakan pendekatan ini, Anda harus menyediakan kumpulan dokumen pelatihan sebagai file .txt dengan satu dokumen per baris, atau satu dokumen per file.

Untuk pengujian kami, kami menggunakan Tolok ukur Pemahaman Bahasa Alami SNIPS, kumpulan data ucapan crowdsourced yang didistribusikan di antara tujuh maksud pengguna (AddToPlaylist, BookRestaurant, GetWeather, PlayMusic, RateBook, SearchCreativeWork, SearchScreeningEvent). Dataset diterbitkan pada tahun 2018 dalam konteks makalah Snips Voice Platform: sistem Pemahaman Bahasa Lisan yang disematkan untuk antarmuka suara pribadi-oleh-desain oleh Coucke, dkk.

Dataset SNIPS terbuat dari kumpulan file JSON yang memadatkan anotasi dan file teks mentah. Berikut ini cuplikan dari kumpulan data:

{
   "annotations":{
      "named_entity":[
         {
            "start":16,
            "end":36,
            "extent":"within the same area",
            "tag":"spatial_relation"
         },
         {
            "start":40,
            "end":51,
            "extent":"Lawrence St",
            "tag":"poi"
         },
         {
            "start":67,
            "end":70,
            "extent":"one",
            "tag":"party_size_number"
         }
      ],
      "intent":"BookRestaurant"
   },
   "raw_text":"I'd like to eat within the same area of Lawrence St for a party of one"
}

Sebelum membuat pengenal entitas, kami mengubah anotasi SNIPS dan file teks mentah menjadi file anotasi CSV dan file dokumen .txt.

Berikut ini adalah kutipan dari kami annotations.csv File:

File, Line, Begin Offset, End Offset, Type
documents.txt, 0, 16, 36, spatial_relation
documents.txt, 0, 40, 51, poi
documents.txt, 0, 67, 70, party_size_number

Berikut ini adalah kutipan dari kami documents.txt File:

I'd like to eat within the same area of Lawrence St for a party of one
Please book me a table for three at an american gastropub 
I would like to book a restaurant in Niagara Falls for 8 on June nineteenth
Can you book a table for a party of 6 close to DeKalb Av

Konfigurasi pengambilan sampel dan proses pembandingan

Untuk eksperimen kami, kami berfokus pada subset tipe entitas dari set data SNIPS:

  • BukuRestoran โ€“ Jenis entitas: spatial_relation, poi, party_size_number, restaurant_name, city, timeRange, restaurant_type, served_dish, party_size_description, country, facility, state, sort, cuisine
  • DapatkanCuaca โ€“ Jenis entitas: condition_temperature, current_location, geographic_poi, timeRange, state, spatial_relation, condition_description, city, country
  • Bermusik โ€“ Jenis entitas: track, artist, music_item, service, genre, sort, playlist, album, year

Selain itu, kami mensubsampelkan setiap kumpulan data untuk mendapatkan konfigurasi yang berbeda dalam hal jumlah sampel dokumen untuk pelatihan dan jumlah anotasi per entitas (juga dikenal sebagai tembakan). Ini dilakukan dengan menggunakan skrip khusus yang dirancang untuk membuat set data subsampel di mana setiap jenis entitas muncul setidaknya k kali, dalam waktu minimal n dokumen.

Setiap model dilatih menggunakan subsampel tertentu dari kumpulan data pelatihan; kesembilan konfigurasi model tersebut diilustrasikan pada tabel berikut.

Nama set data yang disubsampelkan Jumlah dokumen sampel untuk pelatihan Jumlah dokumen sampel untuk pengujian Jumlah rata-rata anotasi per jenis entitas (gambar)
snips-BookRestaurant-subsample-A 132 17 33
snips-BookRestaurant-subsample-B 257 33 64
snips-BookRestaurant-subsample-C 508 64 128
snips-GetWeather-subsample-A 91 12 25
snips-GetWeather-subsample-B 185 24 49
snips-GetWeather-subsample-C 361 46 95
snips-PlayMusic-subsample-A 130 17 30
snips-PlayMusic-subsample-B 254 32 60
snips-PlayMusic-subsample-C 505 64 119

Untuk mengukur keakuratan model kami, kami mengumpulkan metrik evaluasi yang dihitung secara otomatis oleh Amazon Comprehend saat melatih pengenal entitas:

  • Ketelitian โ€“ Ini menunjukkan fraksi entitas yang terdeteksi oleh pengenal yang diidentifikasi dan diberi label dengan benar. Dari perspektif yang berbeda, presisi dapat didefinisikan sebagai: tp / (tp + fp), Di mana tp adalah jumlah positif sejati (identifikasi yang benar) dan fp adalah jumlah positif palsu (identifikasi salah).
  • Mengingat kembali โ€“ Ini menunjukkan fraksi entitas yang ada dalam dokumen yang diidentifikasi dan diberi label dengan benar. Ini dihitung sebagai tp / (tp + fn), Di mana tp adalah jumlah positif sejati dan fn adalah jumlah negatif palsu (identifikasi tidak terjawab).
  • Skor F1 โ€“ Ini adalah kombinasi dari metrik presisi dan recall, yang mengukur akurasi model secara keseluruhan. Skor F1 adalah rata-rata harmonik dari metrik presisi dan ingatan, dan dihitung sebagai: 2 * Presisi * Ingat / (Presisi + Ingat).

Untuk membandingkan kinerja pengenal entitas kami, kami fokus pada skor F1.

Mempertimbangkan bahwa, mengingat kumpulan data dan ukuran subsampel (dalam hal jumlah dokumen dan pengambilan), Anda dapat menghasilkan subsampel yang berbeda, kami membuat 10 subsampel untuk masing-masing dari sembilan konfigurasi, melatih model pengenalan entitas, mengumpulkan metrik kinerja, dan rata-rata mereka menggunakan rata-rata mikro. Ini memungkinkan kami untuk mendapatkan hasil yang lebih stabil, terutama untuk subsampel yang sedikit diambil.

Hasil

Tabel berikut menunjukkan skor F1 rata-rata mikro yang dihitung pada metrik kinerja yang dikembalikan oleh Amazon Comprehend setelah melatih setiap pengenal entitas.

Nama set data yang disubsampelkan Skor F1 rata-rata mikro pengenal entitas (%)
snips-BookRestaurant-subsample-A 86.89
snips-BookRestaurant-subsample-B 90.18
snips-BookRestaurant-subsample-C 92.84
snips-GetWeather-subsample-A 84.73
snips-GetWeather-subsample-B 93.27
snips-GetWeather-subsample-C 93.43
snips-PlayMusic-subsample-A 80.61
snips-PlayMusic-subsample-B 81.80
snips-PlayMusic-subsample-C 85.04

Bagan kolom berikut menunjukkan distribusi skor F1 untuk sembilan konfigurasi yang kami latih seperti yang dijelaskan pada bagian sebelumnya.

Kami dapat mengamati bahwa kami berhasil melatih model pengenalan entitas kustom bahkan dengan sedikitnya 25 anotasi per jenis entitas. Jika kita fokus pada tiga set data subsampel terkecil (snips-BookRestaurant-subsample-A, snips-GetWeather-subsample-A, dan snips-PlayMusic-subsample-A), kami melihat bahwa secara rata-rata kami mampu mencapai skor F1 sebesar 84%, hasil yang cukup baik mengingat terbatasnya jumlah dokumen dan anotasi yang kami gunakan. Jika kami ingin meningkatkan kinerja model kami, kami dapat mengumpulkan dokumen dan anotasi tambahan dan melatih model baru dengan lebih banyak data. Misalnya, dengan subsampel berukuran sedang (snips-BookRestaurant-subsample-B, snips-GetWeather-subsample-B, dan snips-PlayMusic-subsample-B), yang berisi dokumen dan anotasi dua kali lebih banyak, kami memperoleh rata-rata skor F1 sebesar 88% (peningkatan 5% sehubungan dengan subsample-A kumpulan data). Akhirnya, kumpulan data subsampel yang lebih besar (snips-BookRestaurant-subsample-C, snips-GetWeather-subsample-C, dan snips-PlayMusic-subsample-C), yang berisi lebih banyak data beranotasi (kira-kira empat kali jumlah dokumen dan anotasi yang digunakan untuk subsample-A dataset), memberikan peningkatan 2% lebih lanjut, meningkatkan skor F1 rata-rata menjadi 90%.

Kesimpulan

Dalam posting ini, kami mengumumkan pengurangan persyaratan minimum untuk melatih pengenal entitas kustom dengan Amazon Comprehend, dan menjalankan beberapa tolok ukur pada kumpulan data sumber terbuka untuk menunjukkan bagaimana pengurangan ini dapat membantu Anda memulai. Mulai hari ini, Anda dapat membuat model pengenalan entitas dengan sedikitnya 25 anotasi per jenis entitas (bukan 100), dan setidaknya tiga dokumen (bukan 250). Dengan pengumuman ini, kami menurunkan hambatan masuk bagi pengguna yang tertarik menggunakan teknologi pengenalan entitas kustom Amazon Comprehend. Sekarang Anda dapat mulai menjalankan eksperimen dengan kumpulan dokumen beranotasi yang sangat kecil, menganalisis hasil awal, dan mengulangi dengan menyertakan anotasi dan dokumen tambahan jika Anda memerlukan model pengenalan entitas yang lebih akurat untuk kasus penggunaan Anda.

Untuk mempelajari lebih lanjut dan memulai dengan pengenal entitas kustom, lihat Pengakuan entitas kustom.

Terima kasih khusus kepada rekan-rekan saya Jyoti Bansal dan Jie Ma atas bantuan berharga mereka dalam persiapan data dan benchmarking.


Tentang Penulis

Amazon Comprehend mengumumkan batas anotasi yang lebih rendah untuk pengenalan entitas kustom, PlatoBlockchain Data Intelligence. Pencarian Vertikal. Ai.Luka Guida adalah Arsitek Solusi di AWS; dia berbasis di Milan dan mendukung ISV Italia dalam perjalanan cloud mereka. Dengan latar belakang akademis di bidang ilmu komputer dan teknik, ia mulai mengembangkan minat AI/ML-nya di universitas. Sebagai anggota komunitas pemrosesan bahasa alami (NLP) dalam AWS, Luca membantu pelanggan menjadi sukses saat mengadopsi layanan AI/ML.

Stempel Waktu:

Lebih dari Pembelajaran Mesin AWS