كتاب "تحليل بيانات النص التطبيقي في بيثون"

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


ما هو موصوف في هذا الكتاب؟


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

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

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

من هو هذا الكتاب ل؟


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

مقتطفات. استخراج الرسوم البيانية من النص


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

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

صورة

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

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

إنشاء رسم بياني اجتماعي


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

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

صورة

البحث عن أزواج الكيانات

خطوتنا التالية هي إنشاء فئة EntityPairs ، التي تستقبل المستندات في شكل قوائم بالكيانات (تم إنشاؤها بواسطة فئة EntityExtractor من الفصل 7). يجب أن تعمل هذه الفئة كمحول في خط أنابيب Pipeline من Scikit-Learn ، وبالتالي ترث فئتي BaseEstimator و TransformerMixin ، كما هو موضح في الفصل 4. من المفترض أن الكيانات في نفس المستند متصلة ببعضها البعض دون قيد أو شرط ، لذلك نضيف طريقة الأزواج باستخدام وظيفة itertools .permutations لإنشاء جميع أزواج الكيانات الممكنة في وثيقة واحدة. ستتصل طريقة التحويل الخاصة بنا بأزواج لكل مستند في النص:

import itertools from sklearn.base import BaseEstimator, TransformerMixin class EntityPairs(BaseEstimator, TransformerMixin): def __init__(self): super(EntityPairs, self).__init__() def pairs(self, document): return list(itertools.permutations(set(document), 2)) def fit(self, documents, labels = None): return self def transform(self, documents): return [self.pairs(document) for document in documents] 

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

الرسوم البيانية الملكية


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

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

عن المؤلفين


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

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

»يمكن الاطلاع على مزيد من المعلومات حول الكتاب على موقع الناشر
» المحتويات
» مقتطفات

20 ٪ من القسيمة للباعة المتجولين - بيثون

عند دفع النسخة الورقية من الكتاب ، يتم إرسال نسخة إلكترونية من الكتاب عن طريق البريد الإلكتروني.

ملاحظة: 7٪ من تكلفة الكتاب ستذهب إلى ترجمة كتب الكمبيوتر الجديدة ، قائمة الكتب التي سلمت إلى المطبعة هنا .

Source: https://habr.com/ru/post/ar444384/


All Articles