تطبيع النص في مهام التعرف على الكلام

عند حل المهام المتعلقة بالتعرف على الكلام (تحويل الكلام إلى نص) وتوليد (تحويل النص إلى كلام) ، من المهم أن يتطابق النص مع ما قاله المتحدث - أي اللغة المنطوقة الحقيقية . هذا يعني أنه قبل أن يصبح الخطاب المكتوب نصنا ، يجب تطبيعه .


بمعنى آخر ، يجب أن يتم النص من خلال عدة خطوات:


  • استبدال الرقم بالكلمات: 1984 -> ألف وتسعمائة واربعة وثمانين سنة ؛
  • شرح الاختصارات: 2 . -> دقيقتان من الكراهية ؛
  • النسخ اللاتيني: Orwell-> إلخ.

تطبيع


في هذه المقالة ، سأتحدث بإيجاز عن كيفية تطبيع التطبيع في مجموعة بيانات اللغة الروسية Open_STT ، وما هي الأدوات التي تم استخدامها وحول نهجنا للمهمة.


مثل الكرز على الكعكة ، قررنا وضع جهاز التطبيع الخاص بنا استنادًا إلى seq2seq في المجال العام: رابط إلى github . إنه بسيط قدر الإمكان للاستخدام ويطلق عليه طريقة واحدة:


norm = Normalizer()
result = norm.norm_text(' 9  11   whiskas')

>>> '      '

المزيد عن المهمة


, , ? , . , .


, , :


  • 2(), . 2;
  • 2, 2;
  • 2, 2;
  • = 2/5, . 2/5.

: - () (?). , , . .



. - . , , ~20% , ~80% .


Open_STT : — . STT , - 2020 , .


. 2020 . "" — .


Sequence to Sequence


- , sequence-to-sequence (seq2seq) . , seq2seq , "" , :


  • — ;
  • — ;
  • , — ;

انتباه


attention "5 ". , "" "5", "".

seq2seq PyTorch . — . + + + , — + .


— , . ( , ) .


, :



TorchScript


, , Torchscript.


TorchScript — PyTorch, Python C++.


, PyTorch :


  1. , TorchScript , ;
  2. torch.jit.script ( torch.jit.trace), .

, , , , . , : , .. .



, . , .


  • norm.norm_string(" — — 27 38 %.")

' — — .'


  • norm.norm_string(" 22 1939 ")

' '


  • norm.norm_string(" «The Crying Game»")

' « »'


  • norm.norm_string(" XVIII ")

' '


  • norm.norm_string(" 2012 6,6 ")

All Articles