شعار proxyscrape داكن

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

May-30-20215 دقائق للقراءة

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

مصطلحات التحليل وبنية المحلل التحليلي

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

المصطلحات

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

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

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

القواعد

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

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

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

تحية طيبة مرحباً بالاسم

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

تشريح النحو

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

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

<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)، وهي تمثل اللغات الخالية من السياق وهي أيضًا قوية كقواعد خالية من السياق. على أي حال، يعتمد الفرق بين النوعين على الترميز وكيفية تنفيذ القواعد.

أسهل طريقة يمكن أن تفرق بها بين نحويين هي _التعبير_، أو يمكن أن يكون الجانب الأيمن من القاعدة في صورة :

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

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

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

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

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

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

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

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

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

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

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

التحليل النحوي

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

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

ثم يقوم المحلل اللغوي للمحلل اللغوي بتقسيمها إلى رموز على النحو التالي:

( => بين قوسين

أ => القيمة

* => الضرب

2 => القيمة

 )=> قوسين

+ => زائد

4 => القيمة

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

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

محلل تحليلي داخلي أم محلل تحليلي خارجي؟

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

مزايا المحلل التحليلي الداخلي

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

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

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

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

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

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

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

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

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

الخاتمة

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

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