Doccano: طلب الميزة: إخراج مستوى الرمز المميز

تم إنشاؤها على ٣ أكتوبر ٢٠١٩  ·  4تعليقات  ·  مصدر: doccano/doccano

ميزة الوصف

يقوم doccano حاليًا بإخراج التعليقات التوضيحية على مستوى الحرف فقط. ومع ذلك ، تتطلب بعض مهام سير العمل المستخدمة في معالجة اللغات الطبيعية (NLP) إدخالاً كقوائم من الكلمات وقائمة تسميات الرموز المميزة:

Sample sentence: 
['Two', ',', 'Samsung', 'based', ',', 'electronic', 'cash', 'registers', 'were', 'reconstructed', 'in', 'order', 'to', 'expand', 'their', 'functions', 'and', 'adapt', 'them', 'for', 'networking', '.']

Sample sentence labels: 
['O', 'O', 'I-ORG', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O']

تمت الإشارة في إصدار سابق (رقم 7) إلى أن هذا تم على هذا النحو نظرًا لأن بعض اللغات ليست مفصولة بمسافات. أعتقد أنه سيكون من الجيد أن يكون لديك الخيار ويمكن للمستخدمين الذين يقومون بالتعليق على اللغات المفصولة بمسافات استخدام ذلك لإدخال سلس لسير عملهم.

مثال مأخوذ من: https://github.com/microsoft/nlp/blob/master/examples/itled_entity_recognition/ner_wikigold_bert.ipynb

feature request

التعليق الأكثر فائدة

لدي خطة لإنشاء حزمة Python جديدة باسم doccano-transformer .
سيحول المستندات المشروحة إلى تنسيقات أخرى مثل https://github.com/chakki-works/doccano/issues/362 و https://github.com/chakki-works/doccano/issues/454 وما إلى ذلك. لذلك ، يجب تضمين مخرجات مستوى الرمز المميز في doccano-transformer .

ال 4 كومينتر

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

والأشياء الأخرى ، ما الذي يجب أن يكون رمز "غير الكيان"؟ 'O' ؟ ثم يجب علينا منع المستخدم من إضافة مثل هذه التسمية التي قد تكون مضللة لبعض الناس. أو ربما يجب علينا إنشاء النموذج حيث يمكن للمستخدم نفسه توفير الرمز المميز؟ أو تركها فارغة؟

أعتقد أن طلب الميزة هذا رائع ولكن يجب أن نتفق على كيفية التعامل مع هذا بالضبط: ابتسم: أحب قراءة اقتراحاتك

لدي خطة لإنشاء حزمة Python جديدة باسم doccano-transformer .
سيحول المستندات المشروحة إلى تنسيقات أخرى مثل https://github.com/chakki-works/doccano/issues/362 و https://github.com/chakki-works/doccano/issues/454 وما إلى ذلك. لذلك ، يجب تضمين مخرجات مستوى الرمز المميز في doccano-transformer .

أي تحديثات على هذا؟ أرغب في استيراد مجموعة بيانات بتنسيق .txt (حيث يكون كل سطر جملة):

George Washington went to Washington.
Sam Houston stayed home.

.. وتصديره (بعد إضافة التعليقات التوضيحية) على النحو التالي ، أيضًا بتنسيق .txt:

George B-PER
Washington I-PER
went O
to O
Washington B-LOC

Sam B-PER
Houston I-PER
stayed O
home O

بمعنى آخر ، قم بالتصدير بتنسيق IOB الشهير للتعليقات التوضيحية. لذلك ، يجب أن يعرف Doccano تلقائيًا أنه إذا كان الكيان المشروح يشتمل على أكثر من رمز واحد ، فيجب أن يتم شرحه بملصقات B (البداية) و I (من الداخل). أيضًا ، هناك مخططات توضيحية أكثر تعقيدًا إلى جانب IOB ، مثل BIOES. هنا ، يتم استخدام S (مفرد) لتمثيل قطعة تحتوي على رمز واحد. سينتج عن مخطط BIOES التوضيحي ما يلي:

George B-PER
Washington E-PER
went O
to O
Washington S-LOC

Sam B-PER
Houston E-PER
stayed O
home O

سيكون من الرائع أن أتمكن من تصدير مجموعات البيانات المشروحة بتنسيقات IOB أو BIOES (أو غيرها). تتطلب العديد من المكتبات الحديثة لـ NER شرحًا توضيحيًا على مستوى الرموز لتدريب النماذج (Flair from Zalando ، Transformers from HuggingFace ، ...).

أصدرنا محول doccano . يدعم تحويل البيانات. حاليًا ، يتم تسمية المهام المدعومة بالتعرف على الكيانات والتنسيقات المدعومة هي CoNLL2003 و spaCy.

لدينا خطة لتوسيع المهام والصيغ.
يرجى نتطلع إلى ذلك.

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات