انها تدرس كيفية تحقيق LSTM التنبؤ نطق الكلمات الإنجليزية مع Keras

مذكرة لى فنغ الشبكة: هذه المادة هي عبارة عن تجميع للAI Yanxishe بلوق التكنولوجيا، والعنوان الأصلي توقع الإنجليزية المنطوقة، مؤلف ريان EPP.

الترجمة | تو شي ون التشطيب | جيانغ فان

1. الدافع

كنت مؤخرا في مشروع دراسة البرمجة اللغوية العصبية، وفقا لمتطلبات المشروع، وضرورة أن تكون قادرة، وهذه الكلمات لا تظهر في القاموس لإيجاد ناظم الكلمات في القاموس الخوارزميات والنماذج التي صممها المقاطع معالجة النصوص (المقاطع) (ملاحظة المقابلة: وبالمثل بعض الكلمات النادرة مثل هذه المصطلحات الفنية أو كلمات جديدة الناتجة عن الجمع، مثل Brexit، هو مزيج من بريطانيا والخروج معا لخلق كلمات جديدة يخرج في المملكة المتحدة من أوروبا). في كل المهام، فمن الممكن التنبؤ نطق كلمة ضروري جدا. تفاصيل هذه المقالة عملية التسجيل I حل المشكلة، تأمل للمبتدئين مساعدة والأصدقاء لديك بعض الخبرة. وهنا تقوم على تنفيذ رمز وبيثون 3 إطار Keras. الآن دعونا تبدأ المفضل

2. اكتساب مجموعة البيانات

سوف نستخدم جامعة كارنيجي ميلون النطق قاموس ( ومجموعة البيانات لدينا، القاموس يحتوي على حوالي 134،000 كلمات والإملاء الصوتي المقابلة. على سبيل المثال، "تفاحة" للكلمة الإنجليزية "تفاحة" يظهر في قاموس النموذج: "AE1P AH0L". حيث كل من إزالة كتلة عدد فظي (رمزي)، يمثل النطق (على سبيل المثال، AE، P، AH، الخ)، وتسمى "صوت" في اللغويات. عدد في نهاية الصوتيات تمثل النطق حجم لهجة، والمعروفة باسم "علامة لهجة المعجمية." منذ حروف العلة الوحيدة لديهم علامات التشكيل، لذلك لا يوجد سوى 39 الصوتيات و 84 حرف فريدة من نوعها في اللغة الإنجليزية.

من اللغط، دعونا الحمل جامعة كارنيجي ميلون النطق قاموس قاموس البيانات وتنقية البيانات والقيام ببعض الأعمال الأولية:

العديد من أول إخراج البيانات ونرى ما تبدو وكأنها قاموس البيانات الطفل:

3. إعداد البيانات

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

هذه ID الرقمية مباشرة كمدخلات ليبدو نموذج جذابة للغاية، ولكن سوف تجعل العلاقة الضمنية بين نوع واحد من خطاب للقيام بذلك / صوت لا وجود لها في الواقع. على سبيل المثال، منذ A = 4، C = 6، وU = 24، A و C يعني أكثر مماثلة من ألف وU إلى حد ما (منذ 4 هو أقرب إلى 6). من الواضح أن حقيقة أن الأمر ليس كذلك. بدلا من ذلك، يمكننا استخدام خريطتنا لتحويل ID الحرف وصوت هو متجه الساخنة واحد (https://machinelearningmastery.com/why-one-hot-encode-data-in-machine-learning/):

الآن لدينا تمثيل عددي من الحروف والصوتيات، يمكننا تحويل مجموعة البيانات بالكامل إلى قسمين كبيرة مصفوفة ثلاثية الأبعاد (قد يتم الإشارة أيضا إلى أنه موتر):

4. الأساس نموذج

وبما أننا نتعامل مع بيانات تسلسل، تسلسل البيانات لذلك، RNN نموذج ، ولكن الأفضل. بداية دعونا مع نموذج LSTM RNN استنادا البداية لتبدأ الآن!

RNN رابط نموذج فيديو: الشبكي: //www.coursera.org/learn/nlp-sequence-models/lecture/ftkzt/recurrent-neural-network-model

RNN رابط نموذج بلوق: الشبكي: //www.coursera.org/learn/nlp-sequence-models/lecture/ftkzt/recurrent-neural-network-model

LSTM صلة نماذج الفيديو: الشبكي: //www.coursera.org/learn/nlp-sequence-models/lecture/ftkzt/recurrent-neural-network-model

LSTM نماذج صلة بلوق: HTTP: //colah.github.io/posts/2015-08-Understanding-LSTMs/

وتجدر الإشارة إلى أن عدد الأحرف في كلمة هي عادة ليست نفس عدد الفونيمات في النطق. لا يوجد أحد لرسم الخرائط واحد بين المدخلات والمخرجات لدينا. لهذا السبب، فإننا سنضع seq2seq قسمين مع المبرمج (التشفير) وحدة فك الترميز (فك) (https://blog.keras.io/a-ten-minute-introduction- إلى تسلسل إلى التعلم في keras.html تسلسل نموذج).

تعطينا (التشفير) مدخلات ترميز حرف، ثم يمر التشفير (التشفير) إلى فك متغيرات الحالة (فك). نحن بحاجة إلى فك مختلف قليلا (فك) توفير التدريب والاختبار الوقت. خلال التدريب، وسوف نقدم النطق الصحيح وحدة فك الترميز، مرة واحدة في صوت. في كل خطوة الوقت، فإن فك التنبؤ صوت المقبل. في عملية الاستدلال (توقعات النطق)، ونحن لا نعرف التسلسل الصحيح من الفونيمات (نظريا على الأقل). ولذلك، فإننا سوف فك الإخراج (فك) من السابق لإدخال الوقت خطوة إلى الخطوة التالية الوقت كمدخل. هذا هو السبب في أننا بحاجة إلى START_PHONE_SYM سبق ذكره. تدفق الرسم البياني هنا يوضح كيف نموذجنا للتنبؤ على مجموعة الاختبار:

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

التدريب 4.1 نموذج

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

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

4.2 التوقعات

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

1. التشفير كلمات نموذج المدخلات (تسلسل الأحرف) ترميز ناقلات الدولة.

2. متغيرات حالة التشفير التي تم تمريرها إلى وحدة فك الترميز.

3. العلم البداية إلى وحدة فك الترميز للحصول على أول خطوة التنبؤ الوقت صوت.

4. الدولة المحدثة والتنبؤي صوت إلى فك كإدخال للحصول على الفونيمات التنبؤ الثانية.

5. الصوتيات الدولة والثانية المحدثة التي تم تمريرها إلى وحدة فك الترميز للحصول على صوت ثالث، وما إلى ذلك، حتى التنبؤ توقف العلم فك (محطة رمز)، أو أننا نطق طول أقصى التسلسل.

دعونا نفعل الاختيار اليدوي سريع لمعرفة ما إذا نموذجنا هو كيفية القيام به:

توقعات النتائج الأولية تبدو نتائج جيدة، وهي جزء من الخطأ توقع أمر مفهوم تماما ... بعد كل شيء، وأنا لم أقرأ

4.3 تقييم نموذج

سوف نستخدم ثلاثة مقاييس مختلفة لتقييم نموذجنا.

1. بناء على دقة العد مقطع: تذكر أن أحد الأهداف الأصلية للمشروع قادر على حساب عدد المقاطع لا تظهر في قاموس الكلمات. التهم التي تم الحصول عليها من المقاطع الصوتية الإملاء كما حسابية بسيطة مع لهجات صوت:

2. معدل دقيقة تماما: هذا المؤشر متطلبات أكثر صرامة في كل اختبار تحديد التوقعات والصوتيات واللهجات الصحيحة ولكن أيضا من أجل التنبؤ بشكل صحيح، وذلك تمشيا مع العدد الكلي للعينات مجموعة اختبار توقع عدد العينات بشكل صحيح المطلوبة ثلاثة من هذه الحسابات النسبة المئوية هي الدقة الكاملة.

3. BLEU يسجل نفسه: قيمة درجة ما بين 0.0 و 1.0، 1.0 يمثل التنبؤ الصحيح تماما، 0.0 تنبأ يشير خاطئ تماما. وغالبا ما يستخدم مؤشر التقييم لتقييم مستوى النموذج الترجمة الآلية، إذا كنت تفكر في ذلك قليلا، وكنا نطق هذه التوقعات لا تزال جميلة مماثلة. يمكنك الإشارة إلى فتح هذا الرابط (https://machinelearningmastery.com/calculate-bleu-score-for-text-python/) لمعرفة المزيد.

عظيم! نموذج النتيجة التي تحققت حتى الآن تبدو جيدة! الآن دعونا نرى ما اذا كان هناك أي وسيلة أخرى لتعزيز النموذج الأساس لدينا.

حسبنا تتم إزالة هذا الرقم من أول TensorFlow لدينا الأساس نموذج قبل أن نواصل، من أجل ذاكرة النظام CONSERVE.

جزءا لا يتجزأ من شخصية وصوت

دمج التكنولوجيا سوف نستخدم لتمثيل الحروف والصوتيات بدلا من الحروف والصوتيات ممثلة على النحو ناقلات واحدة ساخنة، لذلك أشار نموذجنا أنه سيدرس كل رمز الخاصة بهم. عادة ما تكون نسبة ساخنة واحدة التضمين ناقلات ولدت أكثر تمثل وصفية. أعتقد في بعض الأحيان يبدو وكأنه حرف C "K"، وأحيانا أخرى يبدو وكأنه S. من الناحية النظرية، ينبغي لنا أن نتعلم هؤلاء جزءا لا يتجزأ من العلاقة المحتملة طبقة. نأمل أن هذا سوف يساعد على تحسين عشرات تقييمنا.

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

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

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

5.1 نموذج التدريب التضمين

5.2 نموذج تقييم تضمين

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

قبل أن يقيم لدينا نموذج جديد، ونحن بحاجة إلى تجاوز أسلوب التنبؤ لمعالجة النتائج التي أعرب عنها في شكل ID (شكل الساخنة واحد بدلا من)

حسن! بعد إضافة طبقة جزءا لا يتجزأ من والتسرب نموذج طبقة من درجة عالية جديدة!

5.3 تضمين التصور

دعونا نتعلم من النموذج لاستخراج التضمينات ومع تقنيات تي SNE لتصور لهم الهدايا عن ذلك!

رائع جدا! يمكننا أن نرى نطق مماثل من الحروف والصوتيات تتجمع معا. الآن دعونا ننظر مرة أخرى لإعادة حساب الشكل TensorFlow ومواصلة استكشاف نماذج أخرى ذلك!

6. والاهتمام ثنائية الاتجاه التشفير فك

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

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

6.1 التدريب الانتباه نموذج

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

6.2 تقييم الاهتمام نموذج

كما أننا بحاجة إلى إجراء بعض التغييرات على نموذجنا التنبؤ الأساس، لتمكينها من العمل مع انتباهنا إلى نموذج:

من نتائج، نموذجا جديدا من الاهتمام على ثلاثة مؤشرات تحسنت المزيد!

6.3 التدريب والتقييم النهائي

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

أعدادنا تبدو جيدة، ولكن ما زلنا لم يلعب حيلة للخروج منه!

7. بحث الشعاع

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

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

8. النتائج

هنا جريت خارجا على (حوالي 20K حجم العينة) مجموعة كاملة من نتائج الاختبار تتلخص في الجدول:

وكان لTucao عن الإنجليزية حقا لغة غريبة. بالنسبة لبعض الكلمات الجديدة، وحتى في الشعب الناطقة باللغة الإنجليزية وأساء. النطق القواعد المعقدة، وأحيانا ببساطة لا يمكن أن نفهم. يمكن تبدو مهتمة في بعض الأمثلة على هذا الفيديو Yotube (https://www.youtube.com/watch؟v=1edPxKqiptw). على الرغم من أن معدل دقة 75.4 لا تبدو عالية، لكن خصائص نقطة لغة متكاملة للعرض، وأعتقد أن هذا هو على درجة جيد جدا.

8.1 تصنيف خطأ المعاينة

دعونا نلقي نظرة على توقعات النموذج هي النطق الخطأ بالضبط الكلمات التي:

حسنا، حقا ... كبشر، وسوف لا يقرأ ...

8.2 من الأفكار لإدخال تحسينات المستقبل

  • نموذجين منفصلة هي: صوت نموذج التنبؤ، ونموذج لهجة زائد 2 (عدد) في المكان. وأخيرا، ومعرفة طول وسائل تسلسل أن لدينا الثاني فك نموذج بسهولة في كلا الاتجاهين. فهم الماضي والمستقبل يبدو للمساعدة في تحسين النطق وحرف علة نتوقع تأثير لهجات.

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

  • وباستخدام نموذج أكثر تعقيدا إضافة طبقة أخرى إلى ترميز بشكل متكرر إضافة بعض أو 1D التفاف فك طبقة يستحق المحاولة.

  • مزيد من البيانات لإنشاء المزيد من الأسماء، عامية ومجموعات البيانات المحلية من شأنه أن يساعد.

8.3 التكنولوجيا المتقدمة

بالطبع، هذا لا يمكن التنبؤ مشكلة النطق الأساليب الأكثر تقدما، والمسافة للوصول إلى مستوى SOTA يزال هناك طريق طويل! إذا كنت مهتما في حل أفضل، يجب علينا أن قرأت عن هذه الأوراق:

توقع المنطوقة مع تقطيع والإجهاد مع الشبكات العصبية المتكررة التي كتبها دان فان إيش، ميسون تشوا، كانيشكا راو (https://www.isca-speech.org/archive/Interspeech_2016/pdfs/1419.PDF)

تحويل النص إلى صوت رسم الخرائط باستخدام الشبكات العصبية التي كتبها إنيكو بياتريس Bilcu (https://tutcris.tut.fi/portal/files/2313141/bilcub.pdf)

حرف من حروف اللغة-TO-صوت التحويل باستخدام قصيرة طويلة الأجل MEMORY NETWORKS المتكررة العصبية التي كتبها كانيشكا راو، فوشون بنغ، هاشم ساك، وفرانسواز Beaufays (https://static.googleusercontent.com/media/research.google.com/ أون // الحانات / أرشيف / 43264.pdf)

نماذج المشتركة-تسلسل لحرف من حروف اللغة إلى PhonemeConversion التي كتبها ماكسيميليان Bisani، هيرمان ناي (https://hal.archives-ouvertes.fr/hal-00499203/document)

8.4 شكر وتقدير

وهناك الكثير من الإلهام لهذا المقال يأتي من أندرو نغ فتح في كورسيرا دورات دراسة متعمقة الخاصة (https://www.coursera.org/specializations/deep-learning)، في حين أن إشارة على جيثب Keras مثال (https://github.com / keras فريق / keras / شجرة / سيد / أمثلة) نموذج الأساس مع الأمثلة هنا. عند تنفيذ نموذج من الاهتمام، وتوجه في جزء منه على PyTorch البرنامج التعليمي (https://pytorch.org/tutorials/intermediate/seq2seq_translation_tutorial.html).

شكرا تقرأ هذا المقال!

إذا كان لديك أي أسئلة حول هذه المادة، أو اقتراحات، يرجى ترك رسالة في قسم التعليقات أو الاتصال بي!

الرابط الأصلي: الشبكي: //www.kaggle.com/reppic/predicting-english-pronunciations/notebook

رقم لقب ~

التركيز على

تطوير التكنولوجيا AI AI والنمو المهندس المعارف المجتمعية في البحث عن عمل

لقد ولدت!

مرحبا بكم فى زيارة الروابط أدناه أو الخبرة كود مسح

https://club.leiphone.com/page/home

لى فنغ لى فنغ صافي صافي

التحركات الأزياء كوكا كولا في كثير من الأحيان! الدعاية المتحدة بناء حنين كبسولة خط الملابس!

يكون كل من الخصوصية والراحة، لوحة المنزل الذكي لخلق تجربة جديدة التفاعل الصوتي

ومن المتوقع الهاتف 5G للاحصاءات الجدول الزمني وسائل الإعلام، وجوجل فقط الكشف عن الوقت المحدد!

اللعب 8A مجد تقييم شامل لأول مائة يوان شاشة اللؤلؤ سعر الهاتف الذي لا يقهر

تمر مي أشهر قبل العزم الضباب DAQIN أعلنت الملكة الأم، زيارتك إلى الآلهة المعركة الضباب

ofo تنفي المباعة من قبل بت؛ IBM منصة سلسلة كتلة التنمية؛ اوبر الطيار الآلي شاحنة مشروع الإجهاض شو لى فنغ الصباح

Smartisan الاكسسوارات الوشق مرة أخرى على الرفوف، ولكن السهم سلعة رئيسية فقط في Jingdong!

نلقي نظرة على هذه المروحة "نافذة" بقيمة ألفي؟ MEIZU برو 7 على تعليق ماهر

IMAX المحسن: معايير جديدة لالمسرح المنزلي

هان جنغ "المخبر هوثورن الكبير" الثابتة والعتاد 1.25 "حالة المد والجزر شرسة زيادة" فاتوريت أول تعرض مسرح الجريمة

عناصر التكنولوجيا متعددة مجال هذه النعمة Suning 818 مهرجان التسوق ما هي جوانب مختلفة

عانى الأمازون أزمة ثقة "السلع المقلدة" للمرة الأولى المدرجة في التقرير السنوي تحت عنوان "عوامل الخطر"!