Katakan kita mahu mengikis chicagomusiccompass.com.
Seperti yang anda lihat, ia mempunyai beberapa kad, setiap satu mewakili acara. Sekarang, mari lihat yang seterusnya:
Perhatikan bahawa nama acara ialah:
jazmin bean: the traumatic livelihood tour
Jadi sekarang persoalannya ialah: Bagaimanakah kita mengeluarkan nama artis daripada teks?
Sebagai manusia, saya boleh "dengan mudah" memberitahu bahawa jazmin bean ialah artisnya—lihat sahaja halaman wiki mereka. Tetapi menulis kod untuk mengekstrak nama itu boleh menjadi rumit.
Kita boleh fikir, "Hei, apa-apa sebelum : sepatutnya nama artis," yang nampaknya bijak, bukan? Ia berfungsi untuk kes ini, tetapi bagaimana pula dengan yang ini:
happy hour on the patio: kathryn & chris
Di sini, pesanan terbalik. Kami boleh terus menambah logik untuk mengendalikan kes yang berbeza, tetapi tidak lama lagi kami akan mendapat satu tan peraturan yang rapuh dan mungkin tidak meliputi segala-galanya.
Di situlah model Pengiktirafan Entiti Dinamakan (NER) berguna. Ia adalah sumber terbuka dan boleh membantu kami mengekstrak nama daripada teks. Ia tidak akan menangkap setiap kes, tetapi kebanyakan masa, mereka akan memberi kami maklumat yang kami perlukan.
Dengan pendekatan ini, pengekstrakan menjadi lebih mudah. Saya akan menggunakan Python kerana komuniti di sekitar Pembelajaran Mesin dalam Python sememangnya tiada tandingan.
from gliner import GLiNER model = GLiNER.from_pretrained("urchade/gliner_base") text = "jazmin bean: the traumatic livelihood tour" labels = ["person", "bands", "projects"] entities = model.predict_entities(text, labels) for entity in entities: print(entity["text"], "=>", entity["label"])
Yang menjana output:
jazmin bean => person
Sekarang, mari kita lihat kes lain itu:
happy hour on the patio: kathryn & chris
Output:
kathryn => person chris => person
sumber-GLiNER
Hebat, bukan? Tiada lagi logik yang membosankan untuk mengekstrak nama, hanya gunakan model. Sudah tentu, ia tidak akan merangkumi setiap kes yang mungkin, tetapi untuk projek saya, tahap fleksibiliti ini berfungsi dengan baik. Jika anda memerlukan lebih ketepatan, anda sentiasa boleh:
Sebagai Pembangun Perisian, amat disyorkan untuk sentiasa dikemas kini dengan alatan dalam ruang Pembelajaran Mesin. Tidak semuanya boleh diselesaikan dengan hanya pengaturcaraan dan logik biasa—sesetengah cabaran ditangani dengan lebih baik menggunakan model dan statistik.
Atas ialah kandungan terperinci ETL: Mengekstrak Nama Orang daripada Teks. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!