الانتقال إلى المحتوى الرئيسي

كيفية تقسيم النص إلى جمل في بايثون: إيجاد حل

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

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

استيراد إعادة

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

  1. طرق تقسيم النص إلى جمل في بايثون
  2. التعبيرات العادية لتقسيم النص إلى جمل
  3. مكتبة نلتك لتقسيم النص إلى جمل
  4. استخدام علامات الترقيم كفواصل جملة في بايثون
  5. خوارزميات التعلم الآلي لتقسيم النص إلى جمل
  6. نهج مجتمعة لتقسيم النص إلى جمل في بايثون
  7. مقارنة واختيار الطريقة الأكثر فعالية لتقسيم النص إلى جمل
  8. سؤال وجواب
  9. كيف يمكنني تقسيم النص إلى جمل في بيثون?
  10. هل من الممكن استخدام التعبيرات العادية لتقسيم النص إلى جمل في بايثون?
  11. هل من الممكن تقسيم النص إلى جمل دون استخدام مكتبات إضافية في بايثون?

طرق تقسيم النص إلى جمل في بايثون

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

  • طريقة الانقسام—) - تسمح لك هذه الطريقة بتقسيم النص إلى جمل باستخدام أحرف الترقيم كمحددات. على سبيل المثال:

النص = " مرحبا! كيف حالك؟ ما الجديد?"

الجمل = النص.انقسام (".")

للجملة في الجمل:

طباعة (جملة.قطاع())

خاتمة:

أهلاً

كيف حالك

ما الجديد

  • طريقة سبليتلين—) - تسمح لك هذه الطريقة بتقسيم النص إلى جمل باستخدام أحرف السطر الجديد كمحددات. على سبيل المثال:

النص = " مرحبا

كيف حالك

ما الجديد

"

الجمل = النص.خطوط الانقسام()

للجملة في الجمل:

طباعة (جملة)

خاتمة:

أهلاً

كيف حالك

ما الجديد

  • مكتبة نلتك-توفر مكتبة نلتك (مجموعة أدوات اللغة الطبيعية) مجموعة غنية من الأدوات لمعالجة اللغة الطبيعية. كما أن لديها وظيفة لتقسيم النص إلى جمل. على سبيل المثال:

استيراد نلتك

النص = " مرحبا! كيف حالك؟ ما الجديد?"

الجمل = نلتك.ارسلت_توكنيز (نص)

للجملة في الجمل:

طباعة (جملة)

خاتمة:

مرحبا!

كيف حالك؟

ما الجديد?

  • مكتبة سباسي - توفر مكتبة سباسي أدوات قوية لمعالجة النصوص وتحليلها. كما أن لديها وظيفة لتقسيم النص إلى جمل. على سبيل المثال:

استيراد سباسي

البرمجة اللغوية العصبية = سباسي.تحميل ("أخبار")

النص = " مرحبا! كيف حالك؟ ما الجديد?"

وثيقة = البرمجة اللغوية العصبية (نص)

لإرسالها في وثيقة.سينتس:

طباعة (أرسلت.النص)

خاتمة:

مرحبا!

كيف حالك؟

ما الجديد?

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

التعبيرات العادية لتقسيم النص إلى جمل

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

لتقسيم النص إلى جمل باستخدام التعبيرات العادية في بايثون ، يمكنك استخدام النمط التالي:

استيراد إعادة

ديف سبليت_الجمل (نص):

نمط = ص'[.!?]+'

الجمل = إعادة.انقسام (نمط ، نص)

إرجاع الجمل

في هذا المثال ، تأخذ دالة الجمل المنقسمة النص وتطبق التعبير العادي [.!?] + لتقسيم النص إلى جمل. علامات الترقيم ., ! و ? يتم دمجها بين قوسين معقوفين ، متبوعا بالرمز+. هذا يعني أننا نبحث عن تسلسلات لعلامة ترقيم واحدة أو أكثر.

لاستخدام وظيفة سبليت_سينتسنس ، وهو ما يكفي لتمرير النص كوسيطة لذلك:

النص = " مرحبا! كيف حالك؟ ما الجديد?"

الجمل = انقسام_الجمل (نص)

طباعة (جمل)

نتيجة لتنفيذ هذا الرمز ، سوف نحصل على قائمة من الاقتراحات:

  • "مرحبا"
  • "كيف حالك"
  • "ما الجديد"

وبالتالي ، فإن التعبيرات العادية تجعل من السهل تقسيم النص إلى جمل وقراءته والعمل مع الأجزاء الفردية.

مكتبة نلتك لتقسيم النص إلى جمل

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

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

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

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

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

مثال على استخدام طريقة الإرسال () لتقسيم النص إلى جمل:

استيراد نلتك

نلتك.تحميل ('بانكت')

من نلتك.ترميز الاستيراد المرسل

النص = " مرحبا! كيف حالك؟ اسمي الكسندرا. أنا أتعلم نلتك وتقسيم النص إلى جمل."

الجمل = المرسلة (نص)

طباعة (جمل)

نتيجة لتنفيذ التعليمات البرمجية ، سيتم عرض القائمة التالية:

['مرحبا!', 'كيف حالك?'،'اسمي الكسندرا.'،'أنا أدرس نلتك وتقسيم النص إلى جمل.']

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

استخدام علامات الترقيم كفواصل جملة في بايثون

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

لتقسيم النص إلى جمل باستخدام علامات الترقيم.

يوجد أدناه نموذج رمز يوضح هذا النهج:

النص = " مرحبا! كيف حالك؟ آمل أن يكون كل شيء على ما يرام."

الجمل = النص.انشق ، مزق ('.')

للجملة في الجمل:

طباعة (جملة)

سيؤدي هذا الرمز إلى تقسيم النص إلى جمل باستخدام نقطة كفاصل. ستكون النتيجة:

مرحبا!

كيف حالك؟

آمل أن يكون كل شيء على ما يرام.

. على سبيل المثال:

للجملة في الجمل:

طباعة (جملة.قطاع())

الآن سوف تبدو الإخراج مثل هذا:

مرحبا!

كيف حالك؟

آمل أن يكون كل شيء على ما يرام.

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

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

خوارزميات التعلم الآلي لتقسيم النص إلى جمل

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

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

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

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

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

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

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

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

نهج مجتمعة لتقسيم النص إلى جمل في بايثون

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

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

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

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

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

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

مقارنة واختيار الطريقة الأكثر فعالية لتقسيم النص إلى جمل

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

1. فصل علامات الترقيم

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

2. استخدام التعبيرات العادية

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

3. استخدام المكتبات الجاهزة

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

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

سؤال وجواب

كيف يمكنني تقسيم النص إلى جمل في بيثون?

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

هل من الممكن استخدام التعبيرات العادية لتقسيم النص إلى جمل في بايثون?

نعم ، يمكنك استخدام التعبيرات العادية لتقسيم النص إلى جمل في بايثون. للقيام بذلك ، تحتاج إلى استخدام وحدة إعادة (التعبيرات العادية) وكتابة التعبير العادي المناسب الذي سيبحث عن نهايات الجمل في النص. على سبيل المثال ، قد يبدو مثل هذا التعبير العادي كما يلي: ص' (?<=[.!?]) \ ق+'. هذا التعبير يبحث عن الشخصيات".", "!"أو"?"وبعدها مسافة واحدة أو أكثر.

هل من الممكن تقسيم النص إلى جمل دون استخدام مكتبات إضافية في بايثون?

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