نکات کلیدی
تکنیکهای سنتی صفحهبندی که محتوا را در صفحات یا بلوکهای ثابت بارگذاری میکنند، اغلب به زمانهای بارگذاری کند، انتقالهای مختلکننده و تجربه کاربری آزاردهنده منجر میشوند، بهویژه روی دستگاههایی با اتصال اینترنت ضعیف.
میتوانیم با استفاده از هوش مصنوعی از صفحهبندی ایستا عبور کنیم و با تحلیل رفتار تعامل هر کاربر و شرایط شبکه، بهصورت پویا تنظیم کنیم که چگونه و چه محتوایی بارگذاری شود.
در این مقاله، دو تکنیک اصلی هوش مصنوعی برای درک تعامل کاربر را بررسی میکنیم: نخست، ردیابی عمق و سرعت اسکرول که بر اساس رفتار اسکرول، علاقه کاربر را پیشبینی میکند. دوم، تحلیل زمان مکث (dwell time) که با ردیابی زمان صرفشده روی بخشهای صفحه، محتوای جذاب را شناسایی میکند.
دادههای رفتاری کاربر مانند رویدادهای اسکرول و تغییرات قابلمشاهده بودن معمولاً در سمت کلاینت با استفاده از JavaScript جمعآوری میشوند. سپس این دادهها به سرور ارسال میشوند، جایی که مدلهای یادگیری ماشین (ML) مانند رگرسیون یا درخت تصمیم برای تحلیل و پیشبینی الگوهای مصرف استفاده میشوند و بر اساس آن، راهبرد بارگذاری محتوا تعیین میگردد.
استفاده از بارگذاری شخصیسازیشده محتوا با کمک هوش مصنوعی مزایای زیادی دارد. این استفاده از AI به بارگذاری سریعتر محتوا، تعاملات روانتر کاربر، و تعامل و ماندگاری بهتر کاربران منجر میشود. هزینههای زیرساخت فنی نیز با بهینهسازی انتقال داده و منابع سمت سرور کاهش مییابد.
مقدمه
تصور کنید در حال اسکرول کردن اخبار جدید یا شبکههای اجتماعی هستید و ناگهان همه چیز کند میشود. تصاویر خیلی آرام بارگذاری میشوند، ویدئوها از پخش شدن امتناع میکنند، و آن مقالهای که بیشترین علاقه را به خواندنش داشتید، انگار تا ابد طول میکشد تا لود شود. خیلی وقتها این اتفاق به خاطر اتصال اینترنت کند یا ناپایدار رخ میدهد. اپها و وبسایتها بهطور سنتی محتوا را با استفاده از صفحهبندی نمایش دادهاند؛ یعنی بارگذاری محتوا در قالب صفحات یا تکهها. این شبیه خواندن یک کتاب است که فقط اجازه دارید یک یا دو صفحه را همزمان ببینید.
این روش مؤثر است، اما معمولاً با انتظارات کاربران همخوانی ندارد، بهویژه روی دستگاههای موبایل با اتصال شبکه ضعیف. مشکلاتی مثل بارگذاری کند، انتقالهای مختلکننده بین صفحات، و کلیک یا تپ بیپایان برای دیدن محتوای بیشتر میتواند کاربران را کلافه کند و در نهایت آنها را از سرویس دور کند.
چه خرید آنلاین باشد، چه گشتوگذار در شبکههای اجتماعی یا دنبالکردن اخبار، کاربران انتظار دارند تجربهای روان و جذاب داشته باشند، فارغ از دستگاه یا شرایط شبکه. اینجاست که میتوانیم از هوش مصنوعی برای صفحهبندی هوشمند و شخصیسازیشده استفاده کنیم.
بهجای ارائه یک روش صفحهبندی ثابت برای همه کاربران، میتوانیم از هوش مصنوعی برای بارگذاری پویای محتوا استفاده کنیم. این رویکرد صفحهبندی پویا اجازه میدهد نحوه نمایش محتوا را طوری تغییر دهیم که با نیازهای هر کاربر و توان شبکه او سازگار باشد.
وبسایت یا اپی را در نظر بگیرید که somehow بتواند شرایط اتصال اینترنت و همچنین دستگاه شما را حس کند و بر اساس آن تنظیم کند چه چیزی نشان دهد. با اتصال پرسرعت، ممکن است یک صفحه غنی و سنگین از نظر چندرسانهای ببینید. روی اتصالهای کند، همان صفحه ابتدا متن و تصاویر ضروری را در اولویت قرار میدهد و سپس تکههای دیگر را بهمرور و با اجازه پهنای باند بارگذاری میکند.
با تنظیم هوشمندانه مقدار محتوایی که باید بارگذاری شود، میتوانیم برای هر کاربر تجربهای پاسخگوتر و شخصیسازیشدهتر بسازیم. کاربران سود میبرند چون این رویکرد زمان بارگذاری سریعتر و تعاملات روانتر را ممکن میکند.
شرکتها هم سود میبرند چون هزینههای زیرساخت فنی را کاهش میدهند؛ چون این کار مقدار داده منتقلشده را کم میکند و در نتیجه فشار روی سرورهای استریمینگ و منابع شبکه را بهطور قابلتوجهی کاهش میدهد. علاوه بر این، تأخیر کمتر یعنی کاربران خوشحالتر؛ کاربران خوشحالتر احتمال بیشتری دارد درگیر بمانند و دوباره برگردند.
در این مقاله بررسی میکنیم چگونه میتوانیم از هوش مصنوعی برای شخصیسازی بارگذاری محتوا بر اساس رفتار کاربر استفاده کنیم.
استفاده از هوش مصنوعی برای تحلیل رفتار کاربر
دو کاربر را در یک وبسایت خبری در نظر بگیرید:
User A: سریع تیترها را اسکرول میکند و عمدتاً روی مقالاتی کلیک میکند که تصاویر چشمگیر دارند.
User B: هر مقاله را با دقت میخواند و زمان قابلتوجهی را روی هر صفحه میگذراند.
این الگوهای استفاده میتوانند توسط هوش مصنوعی شناسایی شوند و تحویل محتوا میتواند متناسب تنظیم شود؛ مثلاً برای User A تصاویر از قبل پیشواکشی (prefetch) شوند یا برای User B مقاله کامل بعدی از پیش بارگذاری شود. برای اینکه AI بتواند تحویل محتوا را بهطور مؤثر شخصیسازی کند، ابتدا باید الگوهای تعامل متمایز کاربر را بفهمد و نیت او را استنباط کند. این درک با تحلیل سیگنالهای رفتاری مشخصی ساخته میشود که هنگام تعامل با محتوا ثبت میشوند. بخشهای بعدی به روشهای عملی برای ثبت و تفسیر دو نوع حیاتی از این سیگنالها میپردازند:
ردیابی عمق و سرعت اسکرول نشان میدهد کاربران چطور در صفحات حرکت میکنند و سرعتشان چقدر است.
تحلیل زمان مکث کمک میکند علاقه و تعامل کاربران با بخشها یا عناصر مشخص را کمیسازی کنیم.
با بررسی این رفتارها، هوش مصنوعی میتواند پروفایل دقیقتری بسازد تا نیازهای کاربر را بهتر پیشبینی کند.
ردیابی عمق و سرعت اسکرول
نمونه پیادهسازی سمت کلاینت
در اینجا، در سمت کلاینت، از event listenerهای JavaScript (مانند scroll یا wheel) استفاده میکنیم تا ردیابی کنیم کاربر تا چه عمقی در صفحه پایین میرود و با چه سرعتی اسکرول میکند. این داده سرنخهایی درباره سطح تعامل و علاقه او ارائه میدهد.
مثال زیر از یک scroll event listener استفاده میکند:

در اینجا نمونهای از wheel event listener آمده است:

نمونه پیادهسازی سمت سرور
وقتی سرور ما رویدادهای scroll یا wheel را از دستگاه کلاینت دریافت میکند، میتوانیم مدلهای ML مانند رگرسیون یا درخت تصمیم را اعمال کنیم تا الگوهای عمق و سرعت اسکرول را تحلیل کنیم و پیشبینی کنیم کاربر احتمالاً چه مقدار محتوا مصرف خواهد کرد. برای مثال، اگر کاربر بهطور پیوسته با سرعت زیاد تا پایین صفحه اسکرول کند، سیستم میتواند نیاز او به محتوای بیشتر را پیشبینی کند و بهصورت پیشدستانه تکه بعدی را بارگذاری کند.
نمونه مدل رگرسیون
فرض کنیم برای هر نشست کاربر، دادههای زیر را ردیابی میکنیم:
- Scroll depth میزان درصدی از صفحه است که اسکرول شده است
- Scroll speed میانگین سرعت اسکرول بر حسب پیکسل در ثانیه است
- Time spent مجموع زمانی است که روی صفحه صرف شده است
- Content consumed میزان محتوای مصرفشده است، مثل تعداد مقالات خواندهشده، تصاویر دیدهشده و غیره
میتوانیم از یک مدل رگرسیون مثل رگرسیون خطی یا رگرسیون بردار پشتیبان استفاده کنیم تا رابطهای بین این متغیرها پیدا کنیم. مدل یاد میگیرد بر اساس scroll depth، scroll speed و time spent مقدار content consumed را پیشبینی کند.
یک مدل رگرسیون بسیار سادهشده را در نظر بگیرید که رابطه زیر را پیدا میکند:
Content consumed = 0.5 * (Scroll depth) + 0.2 * (Scroll speed) + 0.3 * (Time spent)
حالا اگر یک کاربر جدید ۸۰٪ صفحه را با میانگین سرعت ۱۰۰ پیکسل در ثانیه اسکرول کند و ۶۰ ثانیه روی صفحه بماند، مدل پیشبینی میکند:
Content consumed = 0.5 * (80) + 0.2 * (100) + 0.3 * (60) = 78
این معادله یعنی مدل پیشبینی میکند کاربر حدوداً ۷۸ واحد محتوا مصرف خواهد کرد (مثلاً ۷۸ مقاله بخواند، ۷۸ تصویر ببیند و غیره).
تحلیل زمان مکث (Dwell Time)
در اینجا، ردیابی میکنیم کاربر چه مدت روی بخشها یا عناصر مشخص داخل یک صفحه زمان صرف میکند. این ردیابی کمک میکند بفهمیم کدام محتوا توجه کاربر را جلب میکند و برای چه مدت.
نمونه پیادهسازی سمت کلاینت
اینجا ابتدا با JavaScript ردیابی میکنیم کاربر چه مدت روی هر بخش از یک مقاله میماند. میتوانیم از رویدادهای اسکرول، رویدادهای تغییر قابلمشاهده بودن (visibility change)، یا تکنیکهای دیگر استفاده کنیم تا زمانی را که یک بخش وارد viewport میشود و زمانی را که از آن خارج میشود پایش کنیم. علاوه بر این، هر مقاله را به بخشهای منطقی تقسیم میکنیم (مثلاً بر اساس تیترها، پاراگرافها یا عناصر ساختاری دیگر). این تقسیمبندیها اجازه میدهند زمان مکث را در سطحی ریزتر تحلیل کنیم.
این مثال از یک scroll event listener استفاده میکند:

مثال زیر از یک رویداد visibilitychange استفاده میکند:

نمونه پیادهسازی سمت سرور
وقتی سرور ما دادههای زمان مکث (مثل زمان کل صرفشده برای هر بخش، تعداد بخشهای دیدهشده، و زمان مکث کلی صفحه) را که از سمت کلاینت ارسال شده دریافت کند (مثلاً از طریق navigator.sendBeacon یا pingهای دورهای)، میتوانیم مدلهای یادگیری ماشین را اعمال کنیم. این مدلها، مانند رگرسیون یا درخت تصمیم، الگوهای زمان مکث را تحلیل میکنند تا تعامل کاربر و احتمال مصرف محتوای بعدی را پیشبینی کنند.
نمونه مدل رگرسیون:
فرض کنیم دادههای زیر را که از تحلیل زمان مکث سمت کلاینت به دست آمده برای هر نشست کاربر روی صفحه مقاله ردیابی میکنیم:
- Average dwell time per viewed section (AvgDwell) میانگین زمان (بر حسب ثانیه) است که کاربر هر بخشِ واردشده به viewport را بهصورت فعال مشاهده کرده است.
- Total active page dwell time (TotalDwell) مجموع زمان (بر حسب ثانیه) است که کاربر بهصورت فعال هر بخشی از صفحه را مشاهده کرده است (جمع زمانهای مکث، بدون احتساب زمانی که تب پنهان بوده است).
- Number of sections viewed (SectionsViewed) تعداد بخشهای متمایزی است که کاربر برای بیش از یک آستانه حداقلی روی آنها مکث داشته است (مثلاً > ۱ ثانیه).
میتوانیم از یک مدل رگرسیون (مثل رگرسیون خطی، یا مدلهای پیچیدهتر مثل gradient boosting regressor برای دقت بهتر) استفاده کنیم تا رابطهای بین این ویژگیهای زمان مکث و مقدار محتوایی که کاربر احتمالاً علاقه دارد بعداً مصرف کند پیدا کنیم. این colab مربوط به صفحهبندی شخصیسازیشده یک walkthrough ارائه میدهد درباره اینکه چگونه چنین مدل رگرسیونی را با داده نمونه بسازید.
فرض کنیم مدل رگرسیون آموزشدیده ما رابطه خطی سادهشده زیر را پیدا میکند:
Predicted_Next_Content_Units = 5 + (0.8 * AvgDwell) + (0.1 * TotalDwell) + (2.0 * SectionsViewed)
حالا تصور کنید کاربری وارد صفحه میشود و سرور دادههای زیر را دریافت میکند:
- AvgDwell = 15 seconds
- TotalDwell = 70 seconds
- SectionsViewed = 4 sections
مدل مصرف بالقوه محتوای بعدی را اینگونه پیشبینی میکند:
Predicted_Next_Content_Units = 5 + (0.8 * 15) + (0.1 * 70) + (2.0 * 4) = 32
به عبارت دیگر، مدل پیشبینی میکند کاربر حدوداً ۳۲ واحد محتوا مصرف خواهد کرد (مثلاً ۳۲ مقاله بخواند، ۳۲ تصویر ببیند و غیره).
نتیجهگیری
در چشمانداز دیجیتال امروز، کاربران تجربههای آنلاین روان و جذاب میخواهند. بهینهسازی تحویل محتوا به کاربران فقط یک ضرورت فنی نیست، بلکه یک عامل تمایز کلیدی هم هست.
این نیازها با صفحهبندی سنتی برآورده نمیشوند، چون ساختار خشک دارد و میتواند به زمانهای بارگذاری کند منجر شود. بنابراین با استفاده از هوش مصنوعی برای تحلیل هوشمندانه رفتار کاربر همانطور که در این مقاله بحث کردیم، با ردیابی سرعت و عمق اسکرول یا تحلیل زمان مکث، میتوانیم یک تجربه مرور مسئولانه (یعنی احترام به پهنای باند کاربران و اجتناب از انتقال داده غیرضروری) و شخصیسازیشده برای کاربران ایجاد کنیم.
