Unlimited WordPress themes, graphics, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. Swift
Code

الحصول على "البدء بمعالجة اللغة الطبيعية" في 11 دائرة الرقابة الداخلية

by
Difficulty:AdvancedLength:LongLanguages:

Arabic (العربية/عربي) translation by Muhammad Hasrullah (you can also view the original English article)

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

الآن قد دخلت أبل السباق لتوفير التعلم آلة المواجه للمطور. الأساسية مل يجعل من السهل للمطورين لإضافة آلة العميق التعلم لتطبيقات الخاصة بهم.

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

أهداف هذا البرنامج التعليمي

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

  • تحديد اللغة
  • كون
  • تحديد جزء من الكلام
  • الاعتراف بالكيان المسمى

بعد أن يمر إلى نظرية البرمجة اللغوية العصبية، سوف نضع معرفتنا للممارسة عن طريق إنشاء عميل Twitter بسيط الذي يحلل تويت. المضي قدما واستنساخ الريبو GitHub للبرنامج التعليمي ونلقي نظرة.

المعرفة المفترضة

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

مقدمة لتعلم آلة والبرمجة اللغوية العصبية

وهدف التعلم الآلي لجهاز كمبيوتر للقيام بمهام دون يجري صراحة مبرمجة للقيام بذلك – القدرة على التفكير أو تفسير صورة مستقلة. رفيعة معاصرة-حالة استخدام ذاتية القيادة: منح السيارات القدرة على تفسير بصريا البيئة ومحرك الأقراص دون مساعدة.

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

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

Core ML technology stack source Apple

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

في هذا البرنامج التعليمي، سوف نركز على "معالجة اللغة الطبيعية".

معالجة اللغة الطبيعية (NLP)

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

Diagram showing how Natural Language Processing works

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

لماذا تنفذ معالجة اللغات الطبيعية؟

مع الشركات الاستمرار في الاعتماد على تخزين ومعالجة بيانات كبيرة، تمكن البرمجة اللغوية العصبية تفسير النص الحر وغير منظم، مما يجعل من أناليزابل. مع الكثير من المعلومات المخزنة في ملفات نصية غير منظم-في السجلات الطبية، على سبيل المثال – البرمجة اللغوية العصبية يمكن غربلة ترفيس بيانات وتوفير بيانات عن السياق والقصد، والمشاعر حتى.

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

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

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

Machine Learning and NLP at work source Apple

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

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

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

المقبل، سوف نلقي نظرة على تشكيلة من محرك أبل "معالجة اللغة الطبيعية".

عرض نسلينجويستيكتاجير

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

NSLinguisticTagger components source Apple

عندما تقوم بتهيئة NSLinguisticTagger ، فإنك تمر في NSLinguisticTagScheme كنت مهتمًا بالتحليل. فمثلا:

اسمح tagger = NSLinguisticTagger (tagSchemes: [.language، .tokenType، ...]، options: 0)

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

تحديد اللغة

يحاول نوع مخطط العلامات الأول ، وتحديد اللغة ، تحديد لغة BCP-47 الأكثر بروزًا في مستوى المستند أو الفقرة أو الجملة. يمكنك استرداد هذه اللغة عن طريق الوصول إلى الخاصية dominantLanguage لكائن مثيل NSLinguisticTagger:

واضحة جداً. وبعد ذلك، سوف ننظر في تصنيف النص باستخدام الأسلوب كون.

كون

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

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

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

ليماتيزيشن

ليماتيزاتيون تضم أشكال مقوس لكلمة ليتم تحليلها كبند وحيد، مما يسمح لك للاستدلال المعني المقصود. أساسا، كل ما عليك أن تتذكر أنه اشتقاق النموذج القاموس للكلمة.

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

وبالمثل في المثال السابق، لأداء ليماتيزيشن، أننا سوف تعيين النظام في التهيئة بلغة إلى.lemma، قبل تعداد العلامات:

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

جزء من الكلام (PoS)

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

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

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

الاعتراف بالكيان المسمى

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

يمكنك تنفيذ "الاعتراف بالكيان المسمى" بطريقة مماثلة كما لدينا أمثلة أخرى، إعداد مخطط العلامة إلى.nameType، وحلقات عبر بلغة واسطة طائفة محددة.

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

تنفيذ معالجة اللغات الطبيعية

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

في لقطة الشاشة التالية، استخدمنا "الاعتراف الكيان المسمى" بالبرمجة اللغوية العصبية لتمييز الكلمات الرئيسية الكيان (المنظمات والمواقع إلخ) باللون الأحمر.

Phone screenshot with key words highlighted in red

المضي قدما واستنساخ مشروع TwitterNLPExample من البرنامج التعليمي GitHub ريبو وإلقاء نظرة سريعة على الكود. الفئة الأكثر اهتمامًا بها هي TweetsViewController.swift. دعنا نلقي نظرة على طاولته ViewView (_ tableView: cellForRowAt).

وندعو لكل خلية (سقسقة)، الأساليب الأربعة التي سوف نحدد قريبا:

  • detectLanguage()
  • getTokenization()
  • getNamedEntityRecognition()
  • getLemmatization()

لكل من هذه الأساليب، ونحن استدعاء الأسلوب enumerate، يمر في تسمية المخطط والنص لاستخراج النص، كما نفعل نحن التعرف على اللغة:

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

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

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

الاستنتاج

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

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

حين كنت هنا، تحقق بعض من وظيفة أخرى في تطوير التطبيق دائرة الرقابة الداخلية وآله التعلم!

Advertisement
Advertisement
Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.