"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > ETL: استخراج اسم الشخص من النص

ETL: استخراج اسم الشخص من النص

تم النشر بتاريخ 2024-11-07
تصفح:159

لنفترض أننا نريد حذف chicagomusiccompass.com.

كما ترون، فهي تحتوي على عدة بطاقات، تمثل كل منها حدثًا. الآن، دعونا نتحقق من التالي:

ETL: Extracting a Person

لاحظ أن اسم الحدث هو:


jazmin bean: the traumatic livelihood tour


والسؤال الآن هو: كيف نستخرج اسم الفنان من النص؟

كإنسان، يمكنني "بسهولة" أن أقول أن جازمين بين هي الفنانة - فقط قم بمراجعة صفحة الويكي الخاصة بهم. لكن كتابة التعليمات البرمجية لاستخراج هذا الاسم يمكن أن تكون صعبة.

يمكننا أن نفكر، "مرحبًا، أي شيء قبل : يجب أن يكون اسم الفنان،" والذي يبدو ذكيًا، أليس كذلك؟ إنه يعمل لهذه الحالة، ولكن ماذا عن هذه الحالة:


happy hour on the patio: kathryn & chris


هنا، يتم قلب الترتيب. يمكننا الاستمرار في إضافة المنطق للتعامل مع الحالات المختلفة، ولكن قريبًا سننتهي بعدد كبير من القواعد الهشة وربما لن تغطي كل شيء.

هذا هو المكان الذي تصبح فيه نماذج التعرف على الكيانات المسماة (NER) مفيدة. إنها مفتوحة المصدر ويمكن أن تساعدنا في استخراج الأسماء من النص. لن يتم اكتشاف كل حالة، ولكن في معظم الأحيان، سيزودوننا بالمعلومات التي نحتاجها.

مع هذا النهج، يصبح الاستخراج أسهل بكثير. سأختار لغة Python لأن المجتمع المحيط بالتعلم الآلي في لغة Python لا يهزم.


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


الذي يولد الإخراج:


jazmin bean => person


الآن، دعونا نلقي نظرة على تلك الحالة الأخرى:


happy hour on the patio: kathryn & chris


الإخراج:


kathryn => person
chris => person


المصدر GLiNER

رائع أليس كذلك؟ لا مزيد من المنطق الممل لاستخراج الأسماء، فقط استخدم النموذج. بالتأكيد، لن يغطي كل الحالات الممكنة، ولكن بالنسبة لمشروعي، فإن هذا المستوى من المرونة يعمل بشكل جيد. إذا كنت بحاجة إلى مزيد من الدقة، يمكنك دائمًا:

  • جرب نموذجًا مختلفًا
  • المساهمة في النموذج الحالي
  • افصل المشروع وقم بتعديله ليناسب احتياجاتك

خاتمة

باعتبارك مطور برامج، يوصى بشدة بالبقاء على اطلاع دائم بالأدوات الموجودة في مجال التعلم الآلي. لا يمكن حل كل شيء بمجرد البرمجة والمنطق البسيط، فبعض التحديات يمكن معالجتها بشكل أفضل باستخدام النماذج والإحصائيات.

بيان الافراج يتم استنساخ هذه المقالة على: https://dev.to/garciadiazjaime/etl-extracting-a-persons-name-from-text-ahl؟1 إذا كان هناك أي انتهاك ، فيرجى الاتصال بـ [email protected] لحذفه.
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3