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

 

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

 

كيف تعالج الآلات اللغة البشرية وتفهمها

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

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

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

حالات استخدام البرمجة اللغوية العصبية

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

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

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

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

تقوم شركات مثل Yahoo و Google بتصفية وتصنيف رسائل البريد الإلكتروني الخاصة بك باستخدام NLP من خلال تحليل النص في رسائل البريد الإلكتروني التي تتدفق عبر خوادمهم وإيقاف البريد العشوائي قبل أن يدخلوا صندوق الوارد الخاص بك.

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

تعد Alexa من Amazon و Apple’s Siri مثالين على واجهات ذكية مدفوعة بالصوت تستخدم البرمجة اللغوية العصبية للاستجابة للمطالبات الصوتية وتفعل كل شيء مثل العثور على متجر معين أو إخبارنا بتوقعات الطقس أو اقتراح أفضل طريق إلى المكتب أو تشغيل الأضواء في المنزل.

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

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

مدعومًا بتقنية IBM Watson NLP ، طورت LegalMation منصة لأتمتة مهام التقاضي الروتينية ومساعدة الفرق القانونية على توفير الوقت وخفض التكاليف وتحويل التركيز الاستراتيجي.

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

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

عدد المنشورات التي تحتوي على جملة “معالجة اللغة الطبيعية” في PubMed في الفترة 1978-2018. اعتبارًا من عام 2018 ، تضمنت PubMed أكثر من 29 مليون اقتباس للأدب الطبي الحيوي

تقوم شركات مثل Winterlight Labs بإدخال تحسينات هائلة في علاج مرض الزهايمر من خلال مراقبة ضعف الإدراك من خلال الكلام ويمكنها أيضًا دعم التجارب والدراسات السريرية لمجموعة واسعة من اضطرابات الجهاز العصبي المركزي.
باتباع نهج مماثل ، طورت جامعة ستانفورد Woebot ، معالج روبوت المحادثة بهدف مساعدة الأشخاص الذين يعانون من القلق والاضطرابات الأخرى.
لكن الجدل الجاد يدور حول هذا الموضوع. قبل عامين ، أثبتت شركة Microsoft أنه من خلال تحليل عينات كبيرة من استفسارات محرك البحث ، يمكنهم تحديد مستخدمي الإنترنت الذين كانوا يعانون من سرطان البنكرياس حتى قبل أن يتم تشخيصهم بالمرض. كيف سيكون رد فعل المستخدمين على مثل هذا التشخيص؟ وماذا سيحدث إذا تم اختبارك على أنك إيجابي خاطئ؟ (بمعنى أنه يمكن تشخيص إصابتك بالمرض على الرغم من عدم إصابتك به).
يشير هذا إلى حالة Google Flu Trends التي تم الإعلان عنها في عام 2009 على أنها قادرة على التنبؤ بالإنفلونزا ولكنها اختفت لاحقًا بسبب دقتها المنخفضة وعدم قدرتها على تلبية معدلاتها المتوقعة.
قد يكون البرمجة اللغوية العصبية هي المفتاح للحصول على دعم سريري فعال في المستقبل ، ولكن لا تزال هناك العديد من التحديات التي يجب مواجهتها على المدى القصير.

أساسيات البرمجة اللغوية العصبية لإقناع أصدقائك غير المتخصصين في البرمجة اللغوية العصبية

العوائق الرئيسية التي نواجهها هذه الأيام مع البرمجة اللغوية العصبية تتعلق بحقيقة أن اللغة صعبة للغاية.
تعتبر عملية فهم اللغة ومعالجتها معقدة للغاية ، ولهذا السبب من الشائع استخدام تقنيات مختلفة للتعامل مع التحديات المختلفة قبل ربط كل شيء معًا. تُستخدم لغات البرمجة مثل Python أو R بشكل كبير لأداء هذه التقنيات ، ولكن قبل الغوص في أسطر التعليمات البرمجية (التي ستكون موضوع مقالة مختلفة) ، من المهم فهم المفاهيم الكامنة وراءها. دعونا نلخص ونشرح بعض الخوارزميات الأكثر استخدامًا في البرمجة اللغوية العصبية عند تحديد مفردات المصطلحات:

حقيبة الكلمات

هو نموذج شائع الاستخدام يسمح لك بعد كل الكلمات في جزء من النص. في الأساس ، يقوم بإنشاء مصفوفة حدوث للجملة أو المستند ، متجاهلة القواعد وترتيب الكلمات. ثم يتم استخدام تكرارات الكلمات أو التكرارات كميزات لتدريب المصنف.
لإحضار مثال قصير ، أخذت الجملة الأولى من أغنية “Across the Universe” من فرقة البيتلز:

الكلمات تتدفق مثل مطر لا نهاية له في فنجان ورقي ،

ينزلقون أثناء مرورهم ، ينزلقون عبر الكون

الآن دعونا نحسب الكلمات:

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

الترميز

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

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

وقف إزالة الكلمات

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

ينبع

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

تسمى اللواصق المرفقة في بداية الكلمة البادئات (على سبيل المثال ، “أسترو” في كلمة “علم الأحياء الفلكي”) وتسمى اللواحق المرفقة في نهاية الكلمة باللواحق (على سبيل المثال ، “فول” في كلمة “مفيد”) .

تكمن المشكلة في أن الألقاب يمكن أن تنشئ أو توسع أشكالًا جديدة من نفس الكلمة (تسمى اللواحق التصريفية) ، أو حتى تنشئ كلمات جديدة بنفسها (تسمى اللواحق المشتقة ). في اللغة الإنجليزية ، تكون البادئات مشتقة دائمًا (تُنشئ اللاحقة كلمة جديدة كما في مثال البادئة “eco” في كلمة “النظام البيئي”) ، ولكن يمكن أن تكون اللواحق مشتقة (تُنشئ اللاحقة كلمة جديدة كما في مثال اللاحقة “ist” في كلمة “عازف الجيتار”) أو تصريفية (تُنشئ اللاحقة شكلًا جديدًا للكلمة كما في مثال اللاحقة “er” في الكلمة “الأسرع”).
حسنًا ، كيف يمكننا معرفة الفرق وتقطيع الجزء الصحيح؟

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

اللماتة

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

يحل Lemmatization الكلمات إلى شكل قاموسها (المعروف باسم lemma ) والتي تتطلب قواميس مفصلة يمكن للخوارزمية من خلالها النظر في الكلمات وربطها مع lemmas المقابلة لها.

على سبيل المثال ، الكلمات ” تشغيل” و “يركض” و “ركض” كلها أشكال لكلمة ” تشغيل” ، لذا فإن كلمة ” تشغيل” هي lemma لكل الكلمات السابقة.

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

 

Scroll to Top