انتقل إلى المحتوى

مقدمة: 1#

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

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

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

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

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

يعتبر مجال معالجة اللغات الطبيعية مجالاً هاماً لأسباب علمية، واقتصادية، واجتماعية، وثقافية. ويشهد أيضاً نمواً سريعاً كلما استُخدمت أساليبه في تقنيات اللغة. ولهذا السبب يعتبر الإلمام بمجال معالجة اللغات الطبيعية أمرا هاما لفئات عديدة من الناس. مثل من يعملون في مجالنا التقني كالمشتغلين بتفاعل الإنسان والحاسوب (Human-Computer Interaction) ، و تحليل المعلومات التجارية(business information analysis)، و وبناء برمجيات الويب (web software development). أما في النطاق الأكاديمي، فهو يشمل المشتغلين بمجالات عديدة من أول حوسبة الإنسانيات ولسانيات المدونة إلى علوم الحاسب والذكاء الاصطناعي. (بالنسبة لكثير ممن هم في النطاق الأكاديمي، يُعرف الـNLP بـإسم "اللسانيات الحاسوبية".

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

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

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

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

تأكيد#

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

ولاحظ أن هذا الكتاب ليس مرجعاً. بل إن ما يغطيه من مواضيع في كل من بايثون و معالجة اللغات الطبيعية منتقى، و تم عرضه بأسلوب تعليمي. وللحصول على مواد المرجعية، يرجى الرجوع إلى الكم الضخم من الموارد القابلة للبحث والمتاحة على http://python.org/ و http://nltk.org/

وهذا الكتاب ليس نصاً متقدماً في علوم الحاسوب. فالمحتوى يتراوح من تمهيدي إلى متوسط، وموجه للقراء الذين يرغبون في تعلم كيفية تحليل النصوص بإستخدام بايثون و مجموعة أدوات اللغة الطبيعية NLTK. أما للتعرف على الخوارزميات المتقدمة المطبقة في NLTK، فيمكنك مراجعة كود بايثون المستخدم في http://nlk.org/ ، والإطلاع على المواد الأخرى المذكورة في الكتاب.


  1. هذا الكتاب ترجمة لكتاب Natural Language Processing With Python لكاتبه Steven Bird تحت رخصة CC-BY-NC-ND بإذن من الكاتب و دار النشر O'Reilly. تمت الترجمة بواسطة م. طارق شحاتة من موقع اللغوي 

  2. تجدون على موقعنا معجماً/قاموساً للمصطلحات العلمية في مجال اللسانيات الحاسوبية. 

Back to top