إتقان ChatGPT: التلخيص الفعال مع LLMs

إتقان ChatGPT: التلخيص الفعال مع LLMs

عقدة المصدر: 2763303

تلخيص النص ChatGPT

عوامل التلخيص التي تتخيلها أداة إنشاء الصور بالذكاء الاصطناعي Dall-E.

هل أنت جزء من السكان الذين يتركون التعليقات على خرائط Google في كل مرة تزور فيها مطعمًا جديدًا؟

أو ربما تكون من النوع الذي تشارك برأيك حول مشتريات Amazon ، خاصةً عندما يتم تشغيلك بواسطة منتج منخفض الجودة؟

لا تقلق ، لن ألومك - لدينا جميعًا لحظات!

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

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

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

أكبر قيد للتلخيص؟
غالبًا ما تقصر LLM عندما يتعلق الأمر بالالتزام بحدود محددة أو كلمة معينة في ملخصاتهم.

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

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

التلخيص الفعال مع ChatGPT

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

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

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

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

دعنا نستكشف الخيارات من خلال إحياء هذا المثال!

مثال: مراجعات التجارة الإلكترونية

عصامي gif.

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

prod_review = """
I purchased this children's computer for my son, and he absolutely adores it. He spends hours exploring its various features and engaging with the educational games. The colorful design and intuitive interface make it easy for him to navigate. The computer is durable and built to withstand rough handling, which is perfect for active kids. My only minor gripe is that the volume could be a bit louder. Overall, it's an excellent educational toy that provides hours of fun and learning for my son. It arrived a day earlier
than expected, so I got to play with it myself before I gave it to him. """

في هذه الحالة ، نود أن يقوم ChatGPT بما يلي:

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

ملاحظات التنفيذ

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

import openai
import os openai.api_key_path = "/path/to/key" def get_completion(prompt, model="gpt-3.5-turbo"): """
This function calls ChatGPT API with a given prompt
and returns the response back. """ messages = [{"role": "user", "content": prompt}] response = openai.ChatCompletion.create( model=model, messages=messages, temperature=0 ) return response.choices[0].message["content"] user_text = f"""
<Any given text> """ prompt = f"""
<Any prompt with additional text> """{user_text}""" """ # A simple call to ChatGPT
response = get_completion(prompt)

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

دعنا نستخدم get_completion() وظيفة لمطالبة ChatGPT!

إليك مطالبة تلبي المتطلبات الموضحة أعلاه:

prompt = f"""
Your task is to generate a short summary of a product review from an e-commerce site. Summarize the review below, delimited by triple backticks, in exactly 20 words. Output a json with the sentiment of the review, the summary and original review as keys. Review: ```{prod_review}``` """
response = get_completion(prompt)
print(response)

⚠️ يتم شرح إرشادات المطالبة المستخدمة في هذا المثال ، مثل استخدام المحددات لفصل نص الإدخال عن بقية الموجه وطلب إخراج منظم بشكل كامل في ما تعلمته من دورة OpenAI حول الهندسة السريعة - توجيهات توجيهية.

إليك إجابة ChatGPT:

{ "sentiment": "positive", "summary": "Durable and engaging children's computer with intuitive interface and educational games. Volume could be louder.", "review": "I purchased this children's computer for my son, and he absolutely adores it. He spends hours exploring its various features and engaging with the educational games. The colorful design and intuitive interface make it easy for him to navigate. The computer is durable and built to withstand rough handling, which is perfect for active kids. My only minor gripe is that the volume could be a bit louder. Overall, it's an excellent educational toy that provides hours of fun and learning for my son. It arrived a day earlierthan expected, so I got to play with it myself before I gave it to him."
}

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

تلخيص مع التركيز على

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

prompt = f"""
Your task is to generate a short summary of a product review from an ecommerce site. Summarize the review below, delimited by triple backticks, in exactly 20 words and focusing on any aspects that mention shipping and delivery of the product. Output a json with the sentiment of the review, the summary and original review as keys. Review: ```{prod_review}``` """ response = get_completion(prompt)
print(response)

هذه المرة ، إجابة ChatGPT هي كما يلي:

{ "sentiment": "positive", "summary": "Durable and engaging children's computer with intuitive interface. Arrived a day earlier than expected.", "review": "I purchased this children's computer for my son, and he absolutely adores it. He spends hours exploring its various features and engaging with the educational games. The colorful design and intuitive interface make it easy for him to navigate. The computer is durable and built to withstand rough handling, which is perfect for active kids. My only minor gripe is that the volume could be a bit louder. Overall, it's an excellent educational toy that provides hours of fun and learning for my son. It arrived a day earlierthan expected, so I got to play with it myself before I gave it to him."
}

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

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

دعونا نصلح ذلك!

"استخراج" بدلاً من "تلخيص"

من خلال التحقيق في مهام التلخيص ، اكتشفت ذلك يمكن أن يكون التلخيص مهمة صعبة بالنسبة لـ LLM إذا لم يكن موجه المستخدم دقيقًا بدرجة كافية.

عندما تطلب من ChatGPT تقديم ملخص لنص معين ، يمكنه تخطي المعلومات التي قد تكون ذات صلة بنا - كما اختبرناها مؤخرًا - أو ستعطي نفس الأهمية لجميع الموضوعات في النص ، وتقدم فقط نظرة عامة على النقاط الرئيسية.

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

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

prompt = f"""
Your task is to extract relevant information from a product review from an ecommerce site to give feedback to the Shipping department. From the review below, delimited by triple quotes extract the information relevant to shipping and delivery. Use 100 characters. Review: ```{prod_review}``` """ response = get_completion(prompt)
print(response)

في هذه الحالة ، باستخدام الاستخراج ، نحصل فقط على معلومات حول موضوع تركيزنا: Shipping: Arrived a day earlier than expected.

الأتمتة

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

في حالة معالجة مراجعات متعددة ، إليك نموذج لبنية كود Python التي يمكن أن تساعد.

reviews = [ "The children's computer I bought for my daughter is absolutely fantastic! She loves it and can't get enough of the educational games. The delivery was fast and arrived right on time. Highly recommend!", "I was really disappointed with the children's computer I received. It didn't live up to my expectations, and the educational games were not engaging at all. The delivery was delayed, which added to my frustration.", "The children's computer is a great educational toy. My son enjoys playing with it and learning new things. However, the delivery took longer than expected, which was a bit disappointing.", "I am extremely happy with the children's computer I purchased. It's highly interactive and keeps my kids entertained for hours. The delivery was swift and hassle-free.", "The children's computer I ordered arrived damaged, and some of the features didn't work properly. It was a huge letdown, and the delivery was also delayed. Not a good experience overall."
] prompt = f""" Your task is to generate a short summary of each product review from an e-commerce site. Extract positive and negative information from each of the given reviews below, delimited by triple backticks in at most 20 words each. Extract information about the delivery, if included. Review: ```{reviews}``` """

فيما يلي ملخصات لمجموعة المراجعات الخاصة بنا:

1. Positive: Fantastic children's computer, fast delivery. Highly recommend.
2. Negative: Disappointing children's computer, unengaging games, delayed delivery.
3. Positive: Great educational toy, son enjoys it. Delivery took longer than expected.
4. Positive: Highly interactive children's computer, swift and hassle-free delivery.
5. Negative: Damaged children's computer, some features didn't work, delayed delivery.

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

يحدث عدم التطابق في عد الكلمات لأن LLM لا تملك فهمًا دقيقًا لعدد الكلمات أو الأحرف. يعتمد السبب وراء ذلك على أحد المكونات المهمة الرئيسية في هندستها المعمارية: الرمز المميز.

Tokenizer

تم تصميم LLMs مثل ChatGPT لإنشاء نص بناءً على الأنماط الإحصائية المستفادة من كميات هائلة من بيانات اللغة. في حين أنها فعالة للغاية في إنشاء نص متماسك بطلاقة ، إلا أنها تفتقر إلى التحكم الدقيق في عدد الكلمات.

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

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

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

عصامي gif.

معمارية الرمز المميز

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

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

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

صورة عصامي.

ومع ذلك ، إذا تم تكوين الرمز المميز للمعالجة "زبدة الفول السوداني" ككلمة مركبة ، يمكن تقسيم الجملة إلى الرموز المميزة التالية ، بإجمالي عدد كلمات 8 ، لكن عدد رمزي هو 7.

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

هذا يجعل ChatGPT ليس جيدًا في إنجاز قيود الأحرف أو الكلمات ، ولكن يمكن للمرء أن يجرب الجمل بدلاً من ذلك لأن الرمز المميز لا يؤثر عدد الجمل ولكن طولها.

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

الختام: مراجعات التجارة الإلكترونية

دعونا نجمع ما تعلمناه من هذه المقالة في موجه نهائي! في هذه الحالة ، سنطلب النتائج في HTML تنسيق لإخراج أجمل:

from IPython.display import display, HTML prompt = f"""
Your task is to extract relevant information from a product review from an ecommerce site to give feedback to the Shipping department and generic feedback from the product. From the review below, delimited by triple quotes construct an HTML table with the sentiment of the review, general feedback from
the product in two sentences and information relevant to shipping and delivery. Review: ```{prod_review}``` """ response = get_completion(prompt)
display(HTML(response))

وهنا الناتج النهائي من ChatGPT:

لقطة شاشة عصامي من مفكرة Jupyter مع الأمثلة المستخدمة في هذه المقالة.

نبذة عامة

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

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

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

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

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

تم نشر هذه المقالة في الأصل نحو علم البيانات وإعادة النشر إلى TOPBOTS بإذن من المؤلف.

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

سنخبرك عندما نصدر المزيد من المقالات الموجزة مثل هذه.

الطابع الزمني:

اكثر من توب بوتس