داكن proxyscrape شعار

ما هو تحليل البيانات؟

00-مايو-20215 دقائق للقراءة

Data Parsing is a term that you often come across when you work with large quantities of data, especially for those who scrape data from the web as well as software engineers. However, data parsing is a topic that needs to be discussed in greater depth. For instance, what exactly is data parsing, and how

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

ستجيب هذه المقالة على جميع الأسئلة المذكورة أعلاه وتقدم نظرة عامة على المصطلحات المهمة المرتبطة بتحليل البيانات.

ماذا يعني التحليل؟

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

ماذا يفعل محلل البيانات؟

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

لا يقوم المحلل اللغوي بتحليل كل سلسلة HTML لأن المحلل اللغوي الجيد سيميز البيانات المطلوبة في علامات HTML عن البقية.

التقنيات المختلفة التي تستخدم المحلل اللغوي

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

لغات البرمجة النصية - هذه هي اللغات التي لا تحتاج إلى مترجم للتنفيذ لأنها تعمل بناء على سلسلة من الأوامر داخل الملف. الأمثلة النموذجية هي PHP و Python و JavaScript.

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

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

SQL ولغات قاعدة البيانات- محلل SQL ، على سبيل المثال ، يوزع استعلام SQL وينشئ الحقول المحددة في استعلام SQL.

لغات النمذجة - يسمح المحلل اللغوي في لغات النمذجة للمطورين والمحللين وأصحاب المصلحة بفهم بنية النظام الذي يتم تصميمه.

لغات البيانات التفاعلية - تستخدم في المعالجة التفاعلية لكميات كبيرة من البيانات ، بما في ذلك علوم الفضاء والفيزياء الشمسية. 

لماذا تحتاج إلى تحليل البيانات؟

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

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

مصطلحات التحليل وهيكل المحلل اللغوي

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

المصطلحات

  1. التعبيرات العادية

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

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

  1. القواعد

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

مرحبا: "مرحبا"

الاسم: [a-zA-z] +

تحية: مرحبا الاسم

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

تشريح النحو

يمكننا أن ننظر إلى تشريح القواعد مع الأشكال شائعة الاستخدام ، مثل نموذج باكوس ناور (BNF). هذا النموذج له متغيراته وهو نموذج Backus-Naur الممتد ، ويشير إلى التكرار. البديل الآخر من BNF هو شكل باكوس ناور المعزز. يتم استخدامه عند وصف بروتوكولات الاتصالات ثنائية الاتجاه.

عند استخدام قاعدة نموذجية في نموذج Backus-Naur ، تبدو كما يلي:

<symbol> : : _expression_

The <symbol> is nonterminal, which means you can replace it with elements on the right,  _expression_. The _expression_ could contain terminal symbols as well as nonterminal symbols. 

الآن قد تسأل ما هي الرموز الطرفية؟ حسنا ، هم الذين لا يظهرون كرمز في أي مكون من مكونات القواعد. مثال نموذجي لرمز المحطة هو سلسلة من الأحرف مثل "البرنامج".

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

نوع القواعد 

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

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

  • سلسلة فارغة
  • رمز طرف واحد
  • يتبع رمز المحطة الطرفية الواحدة رمز غير طرفي.

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

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

مكونات المحلل اللغوي

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

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

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

دعونا بعد ذلك نناقش العمليتين الرئيسيتين للمحلل اللغوي.

  1. التحليل المعجمي

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

بعد أن يتجاهل المحلل اللغوي الرموز المميزة غير ذات الصلة أثناء العملية المعجمية ، تتعامل بقية عملية التحليل مع التحليل النحوي.

  1. التحليل النحوي

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

لكي تفهم هذا بشكل أفضل ، دعنا نوضحه بمعادلة رياضية بسيطة: (أ * 2) +4

  1. سيقوم Lexer الخاص بالمحلل اللغوي بعد ذلك بتقسيمها إلى رموز مميزة على النحو التالي:

( = > الأقواس

أ = > القيمة

* = > ضرب

2 = > القيمة

 )=> الأقواس

+ = > زائد

4 = > قيمة

  1. بعد ذلك سيتم بناء شجرة التحليل على النحو التالي.:

    عندما يستخرج المحلل اللغوي البيانات من عناصر HTML ، فإنه سيتبع نفس المبدأ.

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

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

إيجابيات المحلل اللغوي الداخلي

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

تتضمن بعض المزايا المهمة الأخرى توفير التكاليف والتحكم في تحديث المحلل اللغوي المدمج وصيانته. 

سلبيات المحلل اللغوي الداخلي

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

إيجابيات محلل الاستعانة بمصادر خارجية

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

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

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

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

استنتاج

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

نأمل أن تستخدم هذه المعرفة بشكل فعال.