استفاده از مدل های تولید متن برای ساخت محصولات پشتیبانی مشتری موثرتر و مقیاس پذیرتر.
یکی از حوزههایی که در هوش مصنوعی مدرن (AI) با سرعت بالایی در حال رشد است، مدلهای تولید متن با هوش مصنوعی هستند. همانطور که از نام آن پیداست، این مدل ها قادر به تولید زبان طبیعی هستند. پیش از این، بیشتر مدلهای پردازش زبان طبیعی صنعتی (NLP) طبقهبندیکننده بودند، یا همان مدل های متمایز ادبیات یادگیری ماشینی (ML). با این حال، در سالهای اخیر، مدلهای مولد بر پایه مدلهای زبانی به سرعت در حال گسترش هستند و اساساً نحوه فرمولبندی مسائل یادگیری ماشینی را تغییر میدهند. این روزها، مدلهای مولد قادر به پیشآموزش بخشی از دانش دامنه در مقیاس بزرگ و سپس قادر به تولید متن با کیفیت بالا هستند، به عنوان مثال پاسخ به سؤالات کاربران یا بازنویسی بخشی از محتوا.
در Airbnb، به مدلهای تولید متن با هوش مصنوعی در مجموعه محصولات پشتیبانی (CS) بسیار اهمیت میدهند و سرمایهگذاری زیادی در این زمینه صورت گرفته است. این مدلها، بسیاری از قابلیتها و موارد استفاده جدید را در این محصولات فعال کردهاند. در این مقاله، سه مورد از این موارد استفاده را به تفصیل بررسی خواهیم کرد. همچنین، ابتدا به برخی از ویژگیهای مفید مدلهای تولید متن خواهیم پرداخت که آنها را برای استفاده در محصولات ما مناسب کردهاند.
درباره مدل های تولید متن
استفاده از مدلهای هوش مصنوعی در کاربردهای صنعتی در مقیاس بزرگ، مانند پشتیبانی مشتریان Airbnb، چالش آسانی نیست. برنامههای کاربردی واقعی دارای چالش های پنهان و پیچیده بسیاری هستند، مقیاسپذیری آنها ممکن است دشوار باشد، و اغلب برای برچسبگذاری دادههای آموزشی پرهزینه میشوند. چندین ویژگی از مدلهای تولید متن وجود دارد که به این چالشها رسیدگی میکند و این گزینه را به ویژه ارزشمند میکند.
رمزگذاری دانش
یکی از ویژگیهای جذاب مدلهای زبانی، قابلیت رمزگذاری دانش دامنه است که توسط پترونی و همکاران او در سال ۲۰۱۹ طراحی شده است. میتوانیم دانش را با استفاده از پیشآموزش در مقیاس بزرگ و انتقال یادگیری با استناد به سوابق عملیات صورت گرفته توسط انسان کدگذاری کنیم. در پارادایمهای سنتی یادگیری ماشین، ورودی اهمیت بسیار زیادی دارد و مدل فقط یک تابع تبدیل از ورودی به خروجی است. آموزش مدل به طور عمده بر تهیه برچسبهای ورودی، مهندسی ویژگی (Feature engineering) و آموزش تمرکز دارد. اما برای مدلهای مولد (Generative)، کلید رمزگذاری دانش است. بسیار مهم است که بتوانیم پیشآموزش و آموزش را به گونهای طراحی کنیم که رمزگذاری دانش با کیفیت بالا در مدل انجام شود و دستورالعملهایی (Prompts) برای القای این دانش طراحی شوند. این به طور اساسی نحوه حل مشکلات سنتی مانند طبقهبندی، رتبهبندی، نسلهای نامزد (Candidate generations) و غیره را تغییر میدهد.
در چند سال گذشته، تعداد زیادی از دادههای مربوط به عوامل انسانی واحد پشتیبانی در Airbnb جمعآوری شده است که به مهمانان و میزبانان کمک میکنند. سپس از این دادهها برای طراحی پیشآموزش و آموزش در مقیاس بزرگ برای رمزگذاری دانش در مورد حل مشکلات سفر کاربران استفاده کردهاند. در زمان استنتاج، ما دستورالعمل ها (Prompts) را برای تولید پاسخها بر اساس دانش رمزگذاری شده انسانی طراحی کردهایم. این رویکرد نتایج قابل توجه بهتری را نسبت به پارادایمهای طبقهبندی سنتی به ارمغان آورده است. تست A/B نشان داد که این رویکرد باعث بهبود قابل توجهی در معیارهای ارزیابی عملکرد (KPI) و همچنین تجربه کاربری (UX) شده است.
یادگیری بدون نظارت انسانی
دومین خصوصیت جذاب مدل تولید متن، ماهیت بدون نظارت آن است. در صنایع بزرگ مانند Airbnb، داده های کاربران به مقدار زیادی وجود دارند. استخراج دانش و اطلاعات مفید برای آموزش مدل ها چالش برانگیز است. اول، برچسب گذاری داده ها با تلاش انسان بسیار پرهزینه است و محدودیت های قابل توجهی روی مقیاس پذیری داده های آموزشی وجود دارد. دوم، طراحی دستورالعمل های برچسب گذاری و طبقه بندی جامع از مسائل و اهداف کاربر چالش برانگیز است زیرا مشکلات واقعی اغلب دارای طیف و تنوع گسترده و چالشهای پنهان و متفاوت هستند. در نتیجه، تکیه بر تلاش انسان برای پایان دادن به تمام تعاریف احتمالی کاربر، مقیاس پذیر نیست.
با استفاده از این مدل، می توانیم بدون نیاز به برچسب گذاری داده ها، مدل ها را آموزش دهیم. در مرحله پیش آموزش، مدل برای یادگیری نحوه پیش بینی برچسب هدف، ابتدا باید درک خاصی از طبقه بندی مسئله به دست آورد. به طور خلاصه، این مدل به صورت داخلی و ضمنی، برچسب گذاری داده ها را برای ما انجام می دهد. این ویژگی، مسائل مقیاس پذیری در طراحی طبقه بندی هدف و هزینه برچسب گذاری را حل می کند و فرصت های جدیدی را برای ما فراهم می کند. در این پست، به مثال های کاربردی این ویژگی خواهیم پرداخت.
مدل های زبانی طبیعیتر و سازندهتر
در نهایت، مدل های تولید متن از مرزهای سنتی فرمول بندی های مسئله یادگیری ماشین فراتر می روند. در چند سال گذشته، پژوهشگران متوجه شدند که لایه های اضافی و متراکم در مدل های رمزگذاری خودکار، ممکن است غیرطبیعی، محدود کننده و معکوس باشند. در واقع، تمام وظایف معمولی یادگیری ماشین و فرمول بندی های مسئله، به عنوان جلوه های مختلف مشکل واحد و یکپارچه مدل سازی زبان در نظر گرفته می شوند. به عنوان مثال، طبقه بندی را می توان به عنوان یک نوع از مدل زبان دسته بندی کرد که در آن، متن خروجی نمایش یک رشته تحت الفظی کلاس های طبقه بندی شده است.
به منظور موثر ساختن یکسان سازی مدل زبان، یک نقش جدید اما اساسی معرفی شده است: دستورالعمل (Prompt). پرامپت قطعه کوتاهی از دستورالعمل متنی است که به مدل کار در دست اطلاع می دهد و انتظارات را برای قالب و محتوای خروجی تعیین می کند. همراه با پرامپت، نکات اضافی زبان طبیعی نیز در زمینه سازی بیشتر تولید زبان بسیار مفید هستند. نشان داده شده است که ادغام دستورات به طور قابل توجهی کیفیت مدل های زبانی را در کارهای مختلف بهبود می بخشد. شکل زیر آناتومی یک متن ورودی با کیفیت بالا برای مدلسازی مولد بین المللی را نشان میدهد.
اکنون، بیایید به چند روش بپردازیم که مدلهای تولید متن در محصولات پشتیبانی Airbnb اعمال شدهاند. ما سه مورد استفاده را بررسی خواهیم کرد - توصیه محتوا، کمک به کارشناسان پشتیبانی در زمان پاسخگویی، و بازنویسی محتوای کاربر توسط چتبات.
مدل توصیه محتوا
گردش کار توصیه محتوا، که جستجو در مرکز راهنمایی (knowledge base) Airbnb و هم توصیه محتوای پشتیبانی را در چت بات را تقویت میکند، از رتبهبندی نقطهای برای تعیین ترتیب اسناد دریافتی کاربران استفاده میکند، همانطور که در شکل 2.1 نشان داده شده است. این رتبهبندی نقطهای دو داده ورودی را همزمان در نظر میگیرد - شرح مسئله مطرح شده توسط کاربر و سند کاندید برای استفاده در پاسخ به کاربر، در قالب عنوان، خلاصه و کلمات کلیدی آن. سپس برای توضیحات و سند کاندید امتیاز محاسبه می کند که برای رتبه بندی استفاده می شود. قبل از سال 2022، این رتبهبندی نقطهای با استفاده از XLMRoBERTa پیادهسازی شده بود، اما به زودی خواهیم دید که چرا به مدل MT5 روی آوردهایم.
پس از تصمیم به طراحی پرامپتها، مشکل طبقهبندی باینری کلاسیک را به یک سیستم تولید زبان مبتنی بر دستورالعمل تبدیل کردند. ورودی هنوز هم از شرح موضوع مشکل کاربر و سند کاندید برای پاسخ مشتق می شود. با این حال،آنها ورودی را در قالب یک درخواست به متن میدهند برای این که به مدل اطلاع دهد که انتظار دارند یک پاسخ «بله» یا «خیر»، در مورد اینکه آیا سند انتخابی برای حل مشکل مفید است یا خیر، دریافت کنند. همانطور که در شکل زیر نشان داده شده است، برای ارائه نکات اضافی به نقش های مورد نظر قسمت های مختلف متن ورودی، نکته برداری را اضافه کردند.
آنها مدل MT5 را بر روی مدلی که در بالا توضیح داده شد تنظیم کردند. به منظور ارزیابی کیفیت طبقهبندیکننده مولد، از دادههای پشتیبانی کابران نمونهبرداری شده از توزیع مشابه دادههای آموزشی استفاده کردند. مدل مولد، همانطور که در جدول زیر نشان داده شده است، پیشرفت های قابل توجهی را در معیار کلیدی عملکرد برای رتبه بندی اسناد پشتیبانی نشان داد.
علاوه بر این، همچنین مدل تولیدی را در با مدل A/B آزمایش کردند و مدل را در مرکز راهنمای Airbnb که میلیونها کاربر فعال دارد، ادغام کردند. نتایج آزمایش موفقیت آمیز بود - مدل تولیدی اسنادی را با ارتباط قابل توجهی بالاتر در مقایسه با مدل پایه مبتنی بر طبقه بندی توصیه می کند.
دستیار مجازی اپراتورهای پشتیبانی
تجهیز نمایندگان به دانش زمینه ای مناسب و ابزارهای قدرتمند به منظور دریافت پاسخ صحیح در کمترین زمان
و به موقع منجر به تجربیات بهتر برای مشتریان Airbnb می شود، که به طور مداوم پاسخ های صحیح را در اختیار آنها قرار میدهد و به آنها کمک می کند تا مسائل کاربر را به طور موثر حل کنند.
به عنوان مثال، از طریق مکالمات پشتیبان و کاربر، الگوهای پیشنهادی برای کمک به نمایندگان پشتیبانی در حل مشکل نمایش داده می شود. برای اطمینان از اینکه پیشنهادات سیستم در خطمشی واحد پشتیبانی سازمان CS اجرا میشوند، الگوهای پیشنهادی با ترکیبی از بررسیهای API از طریق اتصال به سیستم های پشتیبانی همچون CRM و بررسیهای رفتار و قصد کاربر دستهبندی میشوند. این مدل باید به سوالاتی پاسخ دهد تا به حل مشکل کاربر منجر شود. سوالاتی مانند:
آیا این پیام در مورد لغو رزرو است؟
این کاربر چه دلیلی برای لغو رزرو خود ذکر کرده است؟
آیا این کاربر به دلیل بیماری کووید در حال لغو است؟
آیا این کاربر به طور تصادفی رزرو خود را انجام داده است؟
به منظور پشتیبانی از بررسی دقیق بسیاری از اهداف کاربران، با هدف کمک به پاسخ به تمام سؤالات مرتبط یک مدل پرسش-پاسخ مغز متفکر (Mastermind) (QA) را توسعه دادند. این مدل QA با استفاده از معماری مدل مولد ذکر شده در بالا توسعه داده شد. چندین دور از مکالمات کاربر و پشتیبان را به هم متصل میکنند تا از تاریخچه چت به عنوان متن ورودی استفاده کنند و سپس پرامپت را در زمان ارائه پاسخ به کاربر ارسال میکنند.
دستورالعمل ها به طور طبیعی با همان سؤالاتی که از انسانها میخواهیم نکته برداری کنند، همسو میشوند. دستورهای کمی متفاوت منجر به پاسخ های متفاوتی می شود که در زیر نشان داده شده است. بر اساس مدل پاسخ، الگوهای مربوطه به پشتیبانها توصیه می شود.
آنها از مدلهای پشتیبان مانند t5-base و Narrativa استفاده کردند و آزمایشهایی را روی ترکیبهای مجموعه داده آموزشی مختلف از جمله دادههای مبتنی بر نکته برداریها (annotation-based) و دادههای مبتنی بر ورود اطلاعات به سیستم (logging-based) با پس پردازش اضافی انجام دادند. مجموعه دادههای نکته برداری شده معمولاً دقت بالاتر، همپوشانی کمتر و نویز ثابتتری دارند، در حالی که مجموعههای داده ورودی به سیستم دقت کمتر، هم پوشانی موردی بالاتر و نویزهای تصادفی بیشتری دارند. آنها دریافتند که ترکیب این دو مجموعه داده با هم بهترین عملکرد را به همراه خواهد داشت.
به دلیل اندازه بزرگ پارامترها، آنها از کتابخانه ای به نام DeepSpeed برای آموزش مدل تولیدی و از GPU چند هستهای استفاده میکنند. DeepSpeed به سرعت بخشیدن به روند آموزش از هفته ها به روزها کمک می کند. همانطور که گفته شد، معمولاً برای تنظیم هایپر پارامتر به زمان بیشتری نیاز است. بنابراین، آزمایشهایی با مجموعه دادههای کوچکتر برای دستیابی به جهت بهتر در تنظیمات پارامتر مورد نیاز هستند. در فاز تولید زبان، آزمایش آنلاین آن با پشتیبانان CS واقعی بهبود نرخ تعامل بالایی را نشان داد.
مدل بازنویسی محتوا در چت بات
تشخیص دقیق هدف کاربر، پر کردن اسلات و راهحلهای مؤثر برای ساخت یک چت بات موفق هوش مصنوعی کافی نیست. کاربران اغلب تصمیم می گیرند که با چت بات درگیر نشوند، مهم نیست که مدل ML چقدر خوب است. کاربران می خواهند مشکلات را به سرعت حل کنند، بنابراین آنها دائماً در تلاش هستند ارزیابی کنند که آیا ربات مشکل آنها را درک می کند و آیا سریعتر از یک پشتیبان انسانی مشکل را حل می کند یا خیر. ساختن یک مدل بازنویسی محتوا (Paraphrasing)، که ابتدا مشکلی را که کاربر توصیف میکند، بازنویسی میکند، میتواند به کاربران اطمینان دهد و تأیید کند که درک ربات درست است. این به میزان قابل توجهی نرخ تعامل ربات را بهبود بخشیده است. در زیر نمونه ای از چت بات که به طور خودکار توضیحات کاربر را بازنویسی می کند میبینید.
این روش برای بیان مشکل کاربر اغلب توسط عوامل پشتیبانی انسانی استفاده می شود. رایج ترین الگو این است: "من درک می کنم که شما ...". به عنوان مثال، اگر کاربر بپرسد که آیا میتواند رزرو را به صورت رایگان لغو کند، نماینده با این جمله پاسخ میدهد: «میدانم که شما میخواهید رزرو خود را لغو کنید و میخواهم بدانم آیا میتوانیم مبلغ پرداختی را به طور کامل بازپرداخت کنیم یا خیر». آنها یک الگوی ساده ساختهاند تا تمام مکالماتی را که در آن پاسخ یک نماینده با آن عبارت کلیدی شروع می شود، استخراج کنند. از آنجایی که سالها دادههای ارتباطی پشتیبان و کاربر را دارند، این اکتشافی ساده میلیونها برچسب آموزشی را به صورت رایگان به آنها میدهد.
آنها سیستم های اصلی مدل مبدل دنباله به دنباله (Sequence to sequence) مانند BART، PEGASUS، T5، و غیره و مدل های Autoregresive مانند GPT2 و غیره را آزمایش کردند. برای مورد استفاده Airbnb، مدل T5 بهترین عملکرد را داشت.
همانطور که Huang et al در سال ۲۰۲۰ دریافته بود، یکی از رایجترین مسائل مدل تولید متن این است که تمایل به ایجاد پاسخهای ساده، عمومی و بلا استفاده دارد. این نیز چالش بزرگی بود که با آن روبرو بودند.
به عنوان مثال، مدل برای ورودیهای مختلف پاسخ یکسانی را ارائه میکند: «میدانم که شما با رزرو خود مشکل دارید». اگرچه درست است، اما این بیش از حد عمومی است و بار مفیدی برای کاربر نخواهد داشت.
آنها چندین راه حل مختلف را امتحان کردند. اول ، سعی کردند یک مدل معکوس برای پیش بینی عدد P (نسبت منبع به هدف) بسازند و از آن به عنوان یک مدل reranking برای فیلتر کردن نتایج بسیار عمومی استفاده کنند. دوم ، سعی کردند از برخی از فیلترهای مبتنی بر قانون یا مبتنی بر مدل استفاده کنند.
در پایان، بهترین راه حل را تنظیم (Tune) داده های آموزشی یافتند. برای انجام این کار، دسته بندی متن را روی دادههای هدف آموزشی بر اساس مدلهای مشابه از پیش آموزشدیده شده از Sentence-Transformers اجرا کردند. همانطور که در جدول زیر مشاهده میشود، دادههای آموزشی حاوی پاسخهای بیمعنی بسیار زیاد بود که باعث شد مدل در خروجی همین کار را انجام دهد.
همه دسته هایی را که خیلی عمومی هستند برچسبگذاری کردند و از Sentence-Transformers استفاده کردند تا آنها را از دادههای آموزشی فیلتر کنیم. این رویکرد به طور قابل توجهی بهتر عمل کرد و به آنها یک مدل با کیفیت بالا داد تا در تولید زبان مورد استفاده قرار دهند.
نتیجه
با رشد سریع مدلهای ترانسفورماتور مبتنی بر پیشآموزش در مقیاس بزرگ، مدلهای تولید متن اکنون میتوانند دانش دامنه را رمزگذاری کنند. این نه تنها به آنها اجازه می دهد تا از داده های برنامه بهتر استفاده کنند، بلکه به آنها این امکان را می دهد مدل ها را به روشی بدون نظارت آموزش دهند که به مقیاس پذیر شدن برچسب گذاری داده ها کمک می کند. این موضوع روش های نوآورانه بسیاری را برای مقابله با چالش های رایج در ساخت محصولات هوش مصنوعی امکان پذیر می کند. همانطور که در سه مورد استفاده به تفصیل در این پست نشان داده شد - توصیه محتوا، کمک به کارشناسان پشتیبانی در زمان پاسخگویی، و بازنویسی محتوای کاربر توسط چتبات - مدلهای تولید متن تجربیات کاربر را به طور موثر در سناریوهای پشتیبانی مشتری بهبود میبخشند. آنها بر این باورند که مدلهای تولید متن یک مسیر جدید حیاتی در حوزه NLP هستند. آنها به مهمانان و میزبانان Airbnb کمک میکنند تا مسائل خود را سریعتر حل کنند و به سفیران پشتیبانی در دستیابی به کارایی بهتر و حل و فصل بیشتر مسائل کمک میکنند.