همه چیز درباره الگوریتم BERT December 2019

? فهمیدن قصد کاربر با توجه به BERT?این مقاله در تاریخ 12 اکتبر 2019 از زبان پاندو نویاک (Pandu Nayak) معاون مدیر عامل گوگل درباره بهتر فهمیدن قصد کاربر در موتور جستجو نوشته شده است.در این مقاله شما کاملا متوجه می‌شوید ، وقتی یک کلمه یا جمله توسط کاربر جستجو می‌شود ،موتور جستجو چه درکی نسبت به آن دارد؛ علاوه بر این موضوع سیر تکاملی این درک تا به امروز را با هم بررسی می‌کنیم.?درک بهتر از جستجوها توسط تکنولوژی‌های جدید از زبان (Pandu Nayak)اگر یک چیز در طی این 15 سال یادگرفته باشم این است که حس کنجکاوی مردم در جستجو نامحدود است، ما روزانه با میلیاردها جستجو روبرو هستیم که معمولا 15 درصد این جستجو‌ها تازه هستند و در گذشته دیده نشده اند .? ما سعی کردیم راهکاری را بسازیم تا موتور جستجوی گوگل بتواند برای درخواست‌هایی که حتی برای آن پیش بینی نشده است نیز، نتایج مناسبی و جامعی به کاربر نشان دهد.خیلی از مواقع هر فردی که قصد جستجو در گوگل را دارد ، بهترین روش را برای جستجوی موضوع مد نظرش نمی‌داند.(جست و جو عامیانه و به زبان خودشان صورت میگیرد).?حتی در خیلی از مواقع افراد ساختار درست املایی کلمات را نیز نمی دانند(غلط املایی) و همین موضوع است که کمی کار را برای گوگل سخت کرده است.در هسته گوگل، جستجو به معنای فهمیدن و یا درک زبان است و این کار ماست که متوجه شویم ، شما به دنبال چه چیزی هستید ، تا اطلاعات مورد نیاز و لازم در دنیای وب را در اختیار شما قرار دهیم .اصلا مهم نیست که شما از لحاظ املایی کلمه را درست نوشته یا کلمه را همراه با کلمات دیگر به کار برده‌ایدباشید ‌.? معمولا فکر می‌کنید ما متوجه می‌شویم(ولی در اکثر مواقع ما متوجه منظور شما نمی‌شویم) و اگر دقت کنید درحالت عادی روزمره شاید سؤال خود را اینگونه نپرسید.با توجه به آخرین پیشرفت‌های تیم ما در علم درک و فهم زبان این امر توسط یادگیری ماشینی محقق شده است.?یعنی ما به وسیله یادگیری ماشینی می‌توانیم متوجه درخواست کاربران با هر پیچیدگی شویم ، پیشرفت ما در این حوزه کمک بسیار زیادی به رشد موتور جستجوگر گوگل کرده است.استفاده از این روش خاص باعث ایجاد جهش بزرگی در این دنیای شگفت انگیز شده و می‌توان از آن به عنوان بزرگترین پیشرفت دنیای موتورهای جستجو در 5 سال اخیر و یا حتی کل تاریخ موتورهای جستجو یاد کرد.? استفاده از مدل BERT برای جستجوسال گدشته ما یک سیستم Open Source (منبع باز) بر پایه شبکه‌های عصبی در پردازش زبان طبیعی به نام (Bidirectional Encoder Representations from Transformers) که مخفف آن BERT است معرفی کردیم ، این سیستم و تکنولوژی به ما اجازه می‌دهد تا متوجه هر گونه درخواستی شویم.?مهم نیست شما برای جستجو از چه الگویی استفاده می‌کنید ،اگر حتی از نظر املایی نیز کلمه مورد نظر خود را اشتباه تایپ کنید ،باز هم این تکنولوژی متوجه موضوع مدنظر شما می‍شود.این موفقیت حاصل تحقیقات و جستجو گوگل بر روی Transformers هاست ، درواقع مدلی هستند که ارتباط معنایی یک کلمه را با توجه به کلماتی که در آن جمله است متوجه می‌شوند.? مدل BERT می‌تواند کل مفهوم (هدف) یک متن را بررسی کند تا بتواند مفهوم یک کلمه را متوجه شود و سپس با فهمیدن قصد کاربر نتایج مناسب را به او نمایش دهد.برای استفاده از این مدل صرفا نرم افزار های جدید استفاده نمیشوند ، بلکه نیاز هست سخت افزارهای قدرتمندی نیز داشته باشیم .? البته سیستم های سخت افزاری ما قدرت پردازش‌های مورد نیاز را نداشت و ما مجبور بودیم از سیستم‌های Cloud TPUs استفاده کنیم.? بررسی جستجوهای شمامدل BERT جزییات بسیار زیادی دارد ولی شاید سؤال اصلی این باشد که این همه تغییرات جزیی چه سودی برای کاربران دارد؟?جواب بسیار ساده است؛ زمانی که این همه جزییات و تکنولوژی به موتور جست و جو برای درک هدف آن‌ها اضافه شده است ،مطمئنا به کاربران کمک می‌کند تا نتایج بهتری برای هر جستجوی خود بدست بیاورند.به طور مثال زمانی که این مدل وارد نتایج جستجو و Feature snippet ها شد ، طبیعتا کار کاربران را ساده تر کرد.?همانطور که گفتیم به خصوص زمانی که شما به صورت عامیانه و محاوره‌ای جستجو می‌کنید ، فقط به کلمه مورد نظر دقت نمی‌کند ، بلکه به قصد شما از جستجو و از سمتی به کل مفهوم محتوایی که قرار است به شما نمایش دهد ، توجه میکند.همین موضوع موجب می‌شود که آینده جستجو بسیار قدرتمندتر گردد ، درواقع این اتفاق و دیگر ویژگی ‌ها باعث تمایز گوگل از دیگر موتورهای جستجو شده است ، به همین دلیل بیشتر افراد در دنیا از این ابزار استفاده می‌کنند.?یکی دیگر از چالش‌های موجود در فهمیدن قصد کاربر استفاده از حروف اضافه میباشد ، به طوری که شاید اضافه یا کم کردن یک حرف اضافه به کلی منظور کاربر را عوض کند.به طور مثال در زبان فارسی اگر به جای حرف اضافه "به" در جمله "رفتن به" از حرف اضافه " از" استفاده کنیم معنی جمله کاملا عوض می‌شود .? در گذشته موتور جستجو به صورت کامل متوجه این موضوع نمیشد ولی با اضافه شدن BERT شرایط کاملا عوض شده و هدف و قصد کاربر درک می‌شود ، بنابراین نتایج نسبت به قصد او نمایش داده خواهد شد.البته ما قبل از اینکه این سیستم را بر روی موتور جستجو سوار کنیم آزمایشات بسیار زیادی انجام دادیم تا از درست عمل کردن آن مطمئن شویم .? درنهایت آنچه پیش بینی کرده ایم درست از آب درآمد ، در ادامه مثالی از این آزمایشات را شرح خواهیم داد تا بهتر متوجه این موضوع شوید.? آزمایش گوگل برای امتحان BERTگوکل برای اینکه مطمئن شود ،سعی کرد روی یک سری درخواست(QUERY) این موضوع را آزمایش کند ؛ جمله ای که انتخاب شده این بود " 2019 brazil traveler to usa need a visa" به این معنا که در سال 2019 کسانی که از برزیل به آمریکا مسافرت می‌کنند نیاز به ویزا دارند.?این جمله بسیار مشخص است و موتور جستجوگر با فکر کردن به ارتباط معنایی بین کلمات یک جمله و حتی یک متن متوجه هدف اصلی شما از جستجو می‌شود.ولی در گذشته وقتی شما این جستجو را انجام میدادید، گوگل این صفحه "U.S. citizens traveling to Brazil" را نیز در نتایج نشان میداد که شاید ربطی به جستجوی شما نداشت ، درواقع یک حرف اضافه این تمایز را ایجاد میکرده است.? با وارد شدن BERT هوشمندی موتور جستجو درجهت درک هدف کاربر از جستجو افزایش یافته است.در نتیجه مشخص شد که این سیستم می‌تواند هدف اصلی کاربران را متوجه شود ، بنابراین گوگل از آزمایش خود مطمئن شد.? پیشرفت جستجو در زبان‌های دیگربا اینکه این سیستم کمک بسیار زیادی به دنیای جستجو می‌کند ولی باتوجه به ویژگی‌هایی که دارد، باید بتواند از جستجو‌های کاربران در راستای رشد و درک بهتر دنیا چیزهای زیادی یاد بگیرد .? در نتیجه این سیستم را بر روی زبان انگلیسی پیاده سازی کردند (زبان انگلیسی، زبانی است که اکثریت محتوای موجود در دنیای وب به این زبان منتشر شده است) و بعد از اینکه پیشرفت‌هایی لازم انجام شد این قابلیت بر روی زبان‌های دیگر نیز پیاده سازی میشود.از مدل برت BERT برای Feature Snippets ها نیز استفاده شده است که تا به امروز پیشرفت‌های بسیار زیادی در چندین زبان (کره‌ای و پرتغالی) در فیچر اسنیپت‌ها رخ داده است ، امیدواریم این مدل از زبان فارسی نیز در آینده پشتیبانی کند.? اما طبق آخرین توییت دنی سالیوان در تاریخ 10 دسامبر 2019 هنوز بر روی زبان فارسی پیاده سازی نشده است.ما در این مقاله سعی کردیم مدل BERT رابه طور کامل شرح دهیم و امیدواریم که از مطالعه آن لذت برده باشید.