تسلط بر ChatGPT: خلاصه سازی موثر با LLM

تسلط بر ChatGPT: خلاصه سازی موثر با LLM

گره منبع: 2763303

خلاصه سازی متن ChatGPT

عوامل خلاصه سازی توسط ابزار تولید تصویر هوش مصنوعی Dall-E تصور می شود.

آیا شما بخشی از جمعیتی هستید که هر بار که از یک رستوران جدید بازدید می کنید، نظرات خود را بر روی نقشه های گوگل ارسال می کنید؟

یا شاید شما از آن دسته افرادی هستید که نظر خود را در مورد خریدهای آمازون به اشتراک می گذارید، به خصوص زمانی که محصولی با کیفیت پایین باعث تحریک شما می شود؟

نگران نباشید، من شما را سرزنش نمی کنم - همه ما لحظات خود را داریم!

در دنیای داده های امروزی، همه ما به طرق مختلف در سیل داده ها مشارکت می کنیم. یکی از انواع داده‌ها که به دلیل تنوع و دشواری تفسیر آن به‌ویژه جالب است، داده‌های متنی است، مانند بررسی‌های بی‌شماری که هر روز در اینترنت پست می‌شوند. آیا تا به حال به اهمیت استانداردسازی و فشرده سازی داده های متنی توجه نکرده اید؟
به دنیای عوامل خلاصه سازی خوش آمدید!

عوامل خلاصه سازی به طور یکپارچه در زندگی روزمره ما ادغام شده اند و اطلاعات فشرده و دسترسی سریع به محتوای مرتبط را در بسیاری از برنامه ها و پلتفرم ها فراهم می کنند.

در این مقاله، ما استفاده از ChatGPT را به عنوان یک عامل خلاصه‌سازی قدرتمند برای برنامه‌های سفارشی خود بررسی خواهیم کرد. به لطف توانایی مدل های زبان بزرگ (LLM) برای پردازش و درک متون، آنها می توانند در خواندن متون و ایجاد خلاصه های دقیق یا استانداردسازی اطلاعات کمک کنند. با این حال، مهم است که بدانیم چگونه می توان پتانسیل آنها را در انجام چنین کاری استخراج کرد و همچنین محدودیت های آنها را تصدیق کرد.

بزرگترین محدودیت برای خلاصه سازی؟
LLM اغلب در مورد پایبندی به محدودیت های شخصیتی یا کلمه ای خاص کوتاهی می کند در خلاصه آنها

بیایید بهترین روش ها برای ایجاد خلاصه با ChatGPT را بررسی کنیم برای برنامه سفارشی ما، و همچنین دلایل پشت محدودیت های آن و نحوه غلبه بر آنها!

اگر این محتوای آموزشی عمیق برای شما مفید است، می توانید در لیست پستی تحقیقات هوش مصنوعی ما مشترک شوید زمانی که مطالب جدید را منتشر می کنیم هشدار داده شود. 

خلاصه سازی موثر با ChatGPT

عوامل خلاصه سازی در سراسر اینترنت استفاده می شود. به عنوان مثال، وب‌سایت‌ها از عوامل خلاصه‌سازی برای ارائه خلاصه‌ای مختصر از مقالات استفاده می‌کنند و کاربران را قادر می‌سازد تا یک دید کلی سریع از اخبار بدون غوطه‌ور شدن در کل محتوا داشته باشند. پلتفرم های رسانه های اجتماعی و موتورهای جستجو نیز این کار را انجام می دهند.

از جمع‌آوری‌کننده‌های اخبار و پلتفرم‌های رسانه‌های اجتماعی گرفته تا وب‌سایت‌های تجارت الکترونیک، عوامل خلاصه‌سازی به بخشی جدایی‌ناپذیر از چشم‌انداز دیجیتال ما تبدیل شده‌اند.. و با افزایش LLMها، برخی از این عوامل اکنون از هوش مصنوعی برای نتایج خلاصه‌سازی مؤثرتر استفاده می‌کنند.

ChatGPT می تواند متحد خوبی در هنگام ساخت یک برنامه با استفاده از عوامل خلاصه سازی برای سرعت بخشیدن به خواندن وظایف و طبقه بندی متون باشد. به عنوان مثال، تصور کنید ما یک تجارت الکترونیکی داریم و علاقه مند به پردازش تمام نظرات مشتریان خود هستیم. ChatGPT می‌تواند به ما کمک کند تا هر مروری را در چند جمله خلاصه کنیم، آن را در قالبی عمومی استاندارد کنیم و تعیین کنیم. احساس بررسی، و طبقه بندی بر این اساس.

در حالی که درست است که می‌توانیم به سادگی بررسی را به ChatGPT ارائه دهیم، لیستی از بهترین روش‌ها وجود دارد - و چیزهایی که باید اجتناب کرد - برای استفاده از قدرت ChatGPT در این کار مشخص.

بیایید با زنده کردن این مثال گزینه ها را بررسی کنیم!

مثال: بررسی های تجارت الکترونیک

گیف خود ساخته

مثال بالا را در نظر بگیرید که در آن ما علاقه مند به پردازش تمام بررسی های یک محصول معین در وب سایت تجارت الکترونیک خود هستیم. ما علاقه مند به پردازش نظرات مانند مورد زیر در مورد محصول ستاره خود هستیم: اولین کامپیوتر برای کودکان!

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 از برنامه سفارشی خود استفاده کنیم. من همچنین یک لینک به a نوت بوک ژوپیتر با تمام مثال های استفاده شده در این مقاله.

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 بسیار مهم است..

آیا توجه کرده اید که اگرچه این آزمایش دوم شامل اطلاعات مربوط به تحویل است، اما تنها جنبه منفی بررسی اصلی را نادیده گرفته است؟

بیایید درستش کنیم!

"Extract" به جای "Summarize"

با بررسی وظایف خلاصه سازی متوجه شدم که اگر درخواست کاربر به اندازه کافی دقیق نباشد، خلاصه‌سازی می‌تواند یک کار دشوار برای 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.

خودکار سازی

این سیستم برای یک بررسی کار می کند. با این وجود، هنگام طراحی یک درخواست برای یک کاربرد بتن، مهم است که آن را در مجموعه‌ای از مثال‌ها آزمایش کنیم تا بتوانیم هر گونه رفتار پرت یا نادرست را در مدل تشخیص دهیم..

در صورت پردازش چندین بررسی، در اینجا یک نمونه ساختار کد پایتون وجود دارد که می تواند کمک کند.

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 ها درک دقیقی از تعداد کلمات یا کاراکترها ندارند. دلیل این امر به یکی از مولفه های مهم معماری آنها متکی است: توکن ساز.

توکنایزر

LLMهایی مانند ChatGPT برای تولید متن بر اساس الگوهای آماری آموخته شده از مقادیر زیادی از داده های زبان طراحی شده اند. در حالی که آنها در تولید متن روان و منسجم بسیار مؤثر هستند، کنترل دقیقی بر تعداد کلمات ندارند..

در مثال‌های بالا، وقتی دستورالعمل‌هایی در مورد شمارش کلمات بسیار دقیق داده‌ایم، ChatGPT برای برآوردن این الزامات تلاش می کرد. در عوض، متنی تولید کرده است که در واقع کوتاهتر از تعداد کلمات مشخص شده است.

در موارد دیگر، ممکن است متون طولانی‌تر یا متنی ساده ایجاد کند که بیش از حد پرمخاطب یا فاقد جزئیات باشد. علاوه بر این، ChatGPT ممکن است عوامل دیگری مانند انسجام و ارتباط را بر رعایت دقیق تعداد کلمات در اولویت قرار دهد.. این می تواند منجر به متنی شود که از نظر محتوا و انسجام آن با کیفیت است، اما دقیقاً با الزامات تعداد کلمات مطابقت ندارد.

توکنایزر عنصر کلیدی در معماری ChatGPT است که به وضوح بر تعداد کلمات در خروجی تولید شده تأثیر می گذارد..

گیف خود ساخته

معماری توکنایزر

توکنایزر اولین گام در فرآیند تولید متن است. این وظیفه دارد متنی را که به 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:

اسکرین شات خود ساخته از نوت بوک ژوپیتر با مثال های استفاده شده در این مقاله

خلاصه

در این مقاله، ما در مورد بهترین شیوه ها برای استفاده از ChatGPT به عنوان یک عامل خلاصه سازی برای برنامه سفارشی خود بحث کرده ایم.

ما دیده‌ایم که هنگام ساختن یک برنامه کاربردی، به‌شدت دشوار است که در اولین آزمایش به درخواست کاملی که با نیازهای برنامه شما مطابقت داشته باشد، برسید. من فکر می کنم یک پیام خوب به خانه است در مورد تحریک به عنوان یک فرآیند تکراری فکر کنید جایی که اعلان خود را اصلاح و مدل می کنید تا زمانی که دقیقاً خروجی مورد نظر را بدست آورید.

با اصلاح مکرر درخواست خود و اعمال آن بر روی دسته ای از نمونه ها قبل از استقرار آن در تولید، می توانید مطمئن شوید خروجی در چندین مثال سازگار است و پاسخ‌های پرت را پوشش می‌دهد. در مثال ما، ممکن است اتفاق بیفتد که شخصی به جای بررسی، یک متن تصادفی ارائه کند. می‌توانیم به ChatGPT دستور دهیم که یک خروجی استاندارد نیز داشته باشد تا این پاسخ‌های پرت را حذف کند.

علاوه بر این، هنگام استفاده از ChatGPT برای یک کار خاص، یادگیری در مورد مزایا و معایب استفاده از LLM برای کار هدفمان نیز تمرین خوبی است. به این ترتیب است که وقتی می‌خواهیم خلاصه‌ای شبیه انسان از یک متن ورودی داشته باشیم، با این واقعیت مواجه شدیم که وظایف استخراج مؤثرتر از خلاصه‌سازی هستند. ما همچنین آموخته ایم که ارائه تمرکز خلاصه می تواند یک تغییر دهنده ی بازی در مورد محتوای تولید شده

در نهایت، در حالی که LLM ها می توانند در تولید متن بسیار موثر باشند، آنها برای پیروی از دستورالعمل های دقیق در مورد تعداد کلمات یا سایر الزامات قالب بندی خاص ایده آل نیستند. برای دستیابی به این اهداف، ممکن است لازم باشد به شمارش جملات پایبند باشید یا از ابزارها یا روش‌های دیگری مانند ویرایش دستی یا نرم‌افزارهای تخصصی‌تر استفاده کنید.

این مقاله در اصل در تاریخ منتشر شد به سمت علم داده و با اجازه نویسنده مجدداً در TOPBOTS منتشر شد.

از این مقاله لذت می برید؟ برای به روز رسانی های بیشتر تحقیقات هوش مصنوعی ثبت نام کنید.

زمانی که مقالات خلاصه بیشتری مانند این مقاله منتشر کنیم، به شما اطلاع خواهیم داد.

تمبر زمان:

بیشتر از TOPBOTS