Rumah > pembangunan bahagian belakang > Tutorial Python > ETL: Mengekstrak Nama Orang daripada Teks

ETL: Mengekstrak Nama Orang daripada Teks

Linda Hamilton
Lepaskan: 2024-10-08 06:20:30
asal
843 orang telah melayarinya

Katakan kita mahu mengikis chicagomusiccompass.com.

Seperti yang anda lihat, ia mempunyai beberapa kad, setiap satu mewakili acara. Sekarang, mari lihat yang seterusnya:

ETL: Extracting a Person

Perhatikan bahawa nama acara ialah:


jazmin bean: the traumatic livelihood tour


Salin selepas log masuk

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


Salin selepas log masuk
Salin selepas log masuk

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"])


Salin selepas log masuk

Yang menjana output:


jazmin bean => person


Salin selepas log masuk

Sekarang, mari kita lihat kes lain itu:


happy hour on the patio: kathryn & chris


Salin selepas log masuk
Salin selepas log masuk

Output:


kathryn => person
chris => person


Salin selepas log masuk

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:

  • Cuba model lain
  • Menyumbang kepada model sedia ada
  • Bantu projek dan ubah suai agar sesuai dengan keperluan anda

Kesimpulan

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!

sumber:dev.to
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan