موقع د. عزيز الجعيد
  • الرئـيـسـية

  • الأقسام

    • علم البيانات والذكاء الإصطناعي

    • ذكاء الأعمال

    • لغة البرمجة بايثون

    • مقالات متنوعـة

    • لغة البرمجة آر R

    • الإحــــــصــــــاء

    • البيانات المفتوحة

  • عـنــي

  • تواصل معي

علم البيانات والذكاء الاصطناعي

  • الرئـيـسـية

  • الأقسام

    • علم البيانات والذكاء الإصطناعي

    • ذكاء الأعمال

    • لغة البرمجة بايثون

    • مقالات متنوعـة

    • لغة البرمجة آر R

    • الإحــــــصــــــاء

    • البيانات المفتوحة

  • عـنــي

  • تواصل معي

معالجة البيانات النصية باستخدام بايثون Python

30/11/2020 | لغة البرمجة بايثون | شارك بتعليقك

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

In:
text="@ffd هذا الفندق   غالي جداً ☹ ،   يكلفُ   حوالي 700$    لكل ليلة  https://www.google.com/..."

وبعد ذلك يمكن تلخيص خطوات معالجة البيانات النصية كما يلي:

1. حذف الروابط وذلك كما يلي:

In:
import re
text = re.sub(r'http\S+','',text)
text
Out:
'@ffd هذا الفندق   غالي جداً ☹ ،   يكلفُ   حوالي 700$    لكل ليلة  '

2. حذف المعرف (اسم المستخدم)، وذلك باستخدام الكود:

In:
text = re.sub(r'@\w+','',text)
text
Out:
' هذا الفندق   غالي جداً ☹ ،   يكلفُ   حوالي 700$    لكل ليلة  '

3. حذف علامات الترقيم والرموز، حيث يمكن حذف علامات ورموز محددة كما يلي:

In:
text = re.sub(r'[!"\$%&\'()*+,\-.\/:;=#@?\[\\\]^_`{|}~،ًُ]','',text)
text
Out:
' هذا الفندق   غالي جدا ☹    يكلف   حوالي 700    لكل ليلة  '

او جميع الرموز كما يلي:

In:
text = re.sub(r'[^\w\s]','',text)
text
Out:
' هذا الفندق   غالي جدا     يكلف   حوالي 700    لكل ليلة  '

4. حذف الأرقام، وذلك من خلال الكود التالي:

In:
text = re.sub(r'[\d+]+.?[\d+]+','', text)
text
Out:
' هذا الفندق   غالي جدا     يكلف   حوالي     لكل ليلة  '

5. حذف المسافات الزائدة بين الكلمات وذلك كما يلي:

In:
text = re.sub(r'\s+',' ',text)
text
Out:
' هذا الفندق غالي جدا يكلف حوالي لكل ليلة '

6. حذف الكلمات المستبعدة (stop words) باستخدام الكود:

In:
from nltk.corpus import stopwords
stop_words = stopwords.words('arabic')
text_list =[word for word in text.split() if word not in stop_words]
text= ' '.join(text_list)
text
Out:
'الفندق غالي جدا يكلف حوالي لكل ليلة'

او حذف اي كلمات أخرى كما يلي:

In:
extra_stop_words = 'لكل','ليلة','يكلف','حوالي'
text_list =[word for word in text.split() if word not in extra_stop_words]
text= ' '.join(text_list)
text
Out:
'الفندق غالي جدا'

7. ترميز (tokenizing) البيانات كما يلي:

In:
text = nltk.word_tokenize(text)
text
Out:
['الفندق', 'غالي', 'جدا']
جميع الحقوق الفكرية لهذا المقال محفوظة © موقع د. عزيز، يمنع إعادة نشره في موقع آخر

مقالات ذات صلة:

  • مقدمة في البايثون Python

    بايثون هي لغة برمجة متعددة الأغراض، تعمل على عدد من المنصات مثل ويندوز (Windows) و ماك (Mac OS X) و لينوكس (Linux).... مقدمة في البايثون Python
    اقرأ المزيد
  • قراءة ملفات البيانات في بايثون Python

    في هذا المقال سوف نستعرض كيف يمكن قراءة ملفات البيانات بأنواعها المختلفة باستخدام لغة البرمجة بايثون. في البداية نحتاج... قراءة ملفات البيانات في بايثون Python
    اقرأ المزيد
  • دوال القائمة (list) في بايثون Python

    تعتبر القائمة (list) احد انواع هياكل البيانات شائعة الاستخدام في في لغة البرمجة بايثون والتي يمكن أن تحوي انواع مختلفة... دوال القائمة (list) في بايثون Python
    اقرأ المزيد

شارك بتعليقك

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *


The reCAPTCHA verification period has expired. Please reload the page.

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

  • YouTube
جميع الحقوق محفوظة © موقع د. عزيز