این یک پست مهمان توسط Jakob Kohl، یک توسعه دهنده نرم افزار در Süddeutsche Zeitung است. Süddeutsche Zeitung یکی از روزنامه های با کیفیت پیشرو در آلمان در مورد اشتراک های پولی و کاربران منحصر به فرد است. وب سایت آن، SZ.de، تا اکتبر 15 به بیش از 2021 میلیون کاربر منحصر به فرد ماهانه می رسد.
به لطف بلندگوها و پادکست های هوشمند، صنعت صدا در سال های اخیر رونق واقعی را تجربه کرده است. در Süddeutsche سایتونگ، ما دائماً به دنبال راه های جدیدی برای دسترسی بیشتر به روزنامه نگاری متنوع خود هستیم. به عنوان پیشگام در روزنامه نگاری دیجیتال، ما می خواهیم فرصت های بیشتری را برای آنها باز کنیم Süddeutsche سایتونگ خوانندگان برای مصرف مقالات. ما شروع به جستجوی راه حل هایی کردیم که بتواند روایت صوتی با کیفیتی را برای مقالات ما ارائه دهد. هدف نهایی ما راه اندازی ویژگی "گوش دادن به مقاله" بود.
در این پست، نحوه بهینهسازی فرآیند روایت صوتی خود را با Amazon Polly به اشتراک میگذاریم، سرویسی که تبدیل میشود متن به گفتار واقعی با استفاده از فناوری های پیشرفته یادگیری عمیق
چرا آمازون پولی؟
ما معتقدیم که ویکی، عصبی آلمانی صدای آمازون پولی، در حال حاضر بهترین صدای آلمانی موجود در بازار است. آمازون پولی این ویژگی چشمگیر را ارائه می دهد تعویض بین زبانها، تلفظ صحیح به عنوان مثال عنوان فیلم های انگلیسی و همچنین نام های شخصی به زبان های مختلف (به عنوان مثال، به مقاله گوش دهید Schall und Wahn در وب سایت ما).
بخش بزرگی از زیرساخت ما در حال حاضر بر روی AWS اجرا می شود، بنابراین با استفاده از آمازون پولی کاملا مناسب بود ما می توانیم Amazon Polly را با اجزای زیر ترکیب کنیم:
- An سرویس اطلاع رسانی ساده آمازون موضوع (Amazon SNS) که می توانیم برای مقالات در آن مشترک شویم. مقالات هر زمان که توسط یک ویرایشگر ذخیره شوند توسط CMS به این موضوع ارسال می شوند.
- An آمازون CloudFront توزیع با Lambda@Edge به مقالات پریمیوم دیوار پرداخت، که میتوانیم برای نسخههای صوتی مقالات مجدداً استفاده کنیم.
La Amazon Polly API آسان برای استفاده و به خوبی مستند شده است. کمتر از یک هفته طول کشید تا اثبات مفهومی خود را به نتیجه برسانیم.
چالش
هر روز صدها مقاله جدید در SZ.de منتشر می شود. پس از انتشار اولیه، ممکن است به دلایل مختلف چندین بار بهروزرسانی شوند - پاراگرافهای جدیدی در مقالههای مبتنی بر اخبار اضافه میشوند، اشتباهات تایپی برطرف میشوند، تیزرها تغییر میکنند یا ابردادهها برای موتورهای جستجو بهینه میشوند.
تولید گفتار برای انتشار اولیه یک مقاله ساده است، زیرا کل متن باید ترکیب شود. اما چگونه میتوانیم به سرعت صدا را برای نسخههای بهروز شده مقالات تولید کنیم، بدون اینکه برای یک محتوا دو بار هزینه کنیم؟ بزرگترین چالش ما جلوگیری از ارسال مکرر متن به آمازون پولی برای هر به روز رسانی منفرد بود.
راه حل فنی ما
هر بار که یک ویرایشگر مقاله ای را ذخیره می کند، نسخه جدید مقاله در یک موضوع SNS منتشر می شود. یک AWS لامبدا تابع در این موضوع مشترک است و برای هر نسخه جدید مقاله فراخوانی می شود. این تابع مراحل زیر را اجرا می کند:
- بررسی کنید که آیا نسخه جدید مقاله قبلاً به طور کامل ترکیب شده است یا خیر. در این صورت، عملکرد فوراً متوقف میشود (این ممکن است زمانی اتفاق بیفتد که فقط ابردادهای تغییر کند که روی صدا تأثیری نداشته باشد).
- مقاله را به چندگانه تبدیل کنید اسناد SSML، تقریباً یک پاراگراف متنی.
- برای هر سند SSML، تابع بررسی میکند که آیا قبلاً با استفاده از هشهای محاسبهشده به صدا سنتز شده است یا خیر. مثلا:
- اگر مقاله ای برای اولین بار ذخیره می شود، تمام اسناد SSML باید ترکیب شوند.
- اگر اشتباه تایپی در یک پاراگراف برطرف شده باشد، فقط سند SSML این پاراگراف باید دوباره ترکیب شود.
- اگر پاراگراف جدیدی به مقاله اضافه شود، فقط سند SSML برای این پاراگراف جدید باید ترکیب شود.
- تمام اسناد SSML که هنوز سنتز نشده اند را جداگانه به Amazon Polly ارسال کنید.
این بررسیها به بهینهسازی عملکرد و کاهش هزینه با جلوگیری از سنتز کل یک مقاله در چندین بار کمک میکنند. به دلیل تغییرات جزئی مانند ویرایش عنوان یا تنظیمات ابرداده به دلایل سئو، از تحمیل هزینههای اضافی اجتناب میکنیم.
نمودار زیر گردش کار راه حل را نشان می دهد.
پس از اینکه آمازون پولی اسناد SSML را ترکیب کرد، فایلهای صوتی به سطل خروجی ارسال میشوند. سرویس ذخیره سازی ساده آمازون (Amazon S3). تابع Lambda دوم در حال گوش دادن به ایجاد شی در آن سطل است، منتظر تکمیل تمام قطعات صوتی یک مقاله است و آنها را با استفاده از فایل صوتی نهایی ادغام می کند. FFmpeg از یک لایه Lambda. این صوتی نهایی به سطل S3 دیگری ارسال می شود که به عنوان مبدأ در توزیع CloudFront ما استفاده می شود. در CloudFront، ما از یک دیوار پرداخت موجود برای مقالات ممتاز برای نسخه صوتی مربوطه دوباره استفاده میکنیم.
بر اساس مدل فریمیوم خود، نسخه صوتی کوتاه شده مقالات برتر را ارائه می دهیم. غیر مشترکین می توانند به صورت رایگان به پاراگراف اول گوش دهند، اما برای دسترسی به مقاله کامل ملزم به خرید اشتراک هستند.
نتیجه
ادغام Amazon Polly در زیرساخت های موجود ما بسیار ساده بود. محتوای ما به حداقل سفارشیسازی نیاز دارد، زیرا ما فقط پاراگرافها و برخی وقفههای اضافی را درج میکنیم. چالش برانگیزترین بخش عملکرد و بهینه سازی هزینه بود که با تقسیم مقاله به چندین سند SSML مربوط به پاراگراف ها، بررسی تغییرات در هر سند SSML و ساخت کل فایل صوتی با ادغام قطعات به آن دست یافتیم. با این بهینه سازی ها می توانیم به موارد زیر دست یابیم:
- تنها با ترکیب تغییرات واقعی، مقدار کاراکترهای سنتز شده را حداقل 50 درصد کاهش دهید.
- مدت زمانی که طول می کشد تا تغییر در متن مقاله در صدا ظاهر شود را کاهش دهید زیرا صدای کمتری برای ترکیب وجود دارد.
- بدون ترکیب مجدد کل مقاله، فایل های صوتی دلخواه را بین پاراگراف ها اضافه کنید. به عنوان مثال، میتوانیم یک فایل صوتی را در نسخه صوتی کوتاهشده مقالات برتر قرار دهیم تا پاراگراف اول را از یادداشت بعدی جدا کنیم که برای گوش دادن به نسخه کامل به اشتراک نیاز است.
در ماه اول پس از راه اندازی ویژگی "گوش دادن به مقاله" در مقالات SZ.de ما، بازخوردهای مثبت زیادی از کاربران دریافت کردیم. ما توانستیم در طول 30,000 ماه اول پس از راه اندازی به تقریبا 2 کاربر دسترسی پیدا کنیم. از این کاربران، تقریباً 200 نفر تنها از طریق گوش دادن به تیزر یک مقاله در پشت دیوار پرداخت ما به اشتراک پولی تبدیل شدند. ویژگی «گوش دادن به مقاله» پشت دیوار پرداخت ما نیست، اما کاربران تنها در صورت داشتن اشتراک میتوانند به طور کامل به مقالات برتر گوش دهند. وب سایت ما همچنین مقالات رایگان بدون دیوار پرداخت را ارائه می دهد. در آینده، ما این ویژگی را به سایر پلتفرمهای SZ، بهویژه برنامههای خبری موبایل خود گسترش خواهیم داد.
درباره نویسنده
یاکوب کهل یک توسعهدهنده نرمافزار در Süddeutsche Zeitung است، جایی که از کار با فناوریهای مدرن در یک تیم وبسایت چابک لذت میبرد. او یکی از توسعه دهندگان اصلی ویژگی "گوش دادن به مقاله SZ" است. در اوقات فراغت، او ساخت مبلمان چوبی را دوست دارد، جایی که طراحی فنی و بصری به اندازه توسعه وب اهمیت دارد.
- "
- 000
- 100
- 2021
- دسترسی
- دست
- اضافی
- پیشرفته
- فرز
- معرفی
- قبلا
- آمازون
- مقدار
- دیگر
- برنامه های
- مقاله
- مقالات
- سمعی
- AWS
- بهترین
- بزرگترین
- رونق
- بنا
- به چالش
- تغییر دادن
- بار
- بررسی
- چک
- مفهوم
- مصرف
- محتوا
- میتوانست
- روز
- طرح
- توسعه دهنده
- توسعه دهندگان
- پروژه
- مختلف
- دیجیتال
- توزیع
- اسناد و مدارک
- نمی کند
- سردبیر
- انگلیسی
- به خصوص
- مثال
- گسترش
- با تجربه
- ویژگی
- باز خورد
- نام خانوادگی
- بار اول
- مناسب
- پیروی
- رایگان
- کامل
- تابع
- آینده
- تولید می کنند
- آلمان
- هدف
- مهمان
- پست مهمان
- کمک
- چگونه
- HTTPS
- مهم
- شامل
- صنعت
- شالوده
- IT
- روزنامه نگاری
- زبان ها
- راه اندازی
- برجسته
- یادگیری
- استماع
- به دنبال
- بازار
- میلیون
- موبایل
- مدل
- ماه
- اکثر
- سینما
- نام
- اخبار
- اخطار
- پیشنهادات
- باز کن
- فرصت ها
- دیگر
- پرداخت
- کارایی
- شخصی
- سیستم عامل
- پــادکـست
- حق بیمه
- جلوگیری
- روند
- اثبات
- اثبات مفهوم
- ارائه
- خرید
- کیفیت
- به سرعت
- دلایل
- كاهش دادن
- ضروری
- جستجو
- موتورهای جستجو
- سرویس
- اشتراک گذاری
- ساده
- هوشمند
- So
- نرم افزار
- مزایا
- سخنرانان
- آغاز شده
- ذخیره سازی
- مشترک
- اشتراک، ابونمان
- تیم
- فنی
- فن آوری
- زمان
- منحصر به فرد
- بروزرسانی
- us
- استفاده کنید
- کاربران
- صدا
- وب
- سایت اینترنتی
- هفته
- بدون
- مهاجرت کاری
- کارگر
- سال