الگوریتم برت bert

تقریباً پنج سال پیش گوگل توانست بار دیگر با معرفی الگوریتمی به نام الگوریتم برت به موتور جستوجوی خود برای درک بهتر زبان انسان‌ ها بخصوص زبان محاوره ‌ای اضافه کند. او اولین ‌بار با معرفی الگوریتم Rank Brain توانست جستجو را براساس یادگیری ماشین طراحی کند. اما الگوریتم برت (الگوریتم bert) به Rank Brain کمک می ‌کند تا حتی کوچک‌ ترین اجزای محاوره‌ ای زبان انسان نیز برای موتور جستجو قابل‌ درک باشند. در ابتدا این الگوریتم تنها برای زبان انگلیسی قابل ‌اجرا بود اما حالا می ‌دانیم که بیشتر زبان ‌های تحت پوشش گوگل را پشتیبانی می ‌کند. در حقیقت الگوریتم برت یک تکنیکی براساس شبکه عصبی است که می‌ تواند زبان طبیعی را پردازش کند تا موتور جستجو انعطاف بیشتری برای درک کوئری داشته باشد که در ادامه بیشتر با چگونگی عملکرد این الگوریتم و ارزش آن برای هر جستجو آشنا خواهیم شد.

الگوریتم برت

یادگیری ماشین در جستجو و الگوریتم برت

الگوریتم برت bert متوجه منظور شما می‌شود. این یعنی وقتی ‌که از او می‌پرسید سالاد سزار با کاهو خوشمزه‌ تر می‌شود یا کلم، او تنها به تک ‌تک اجزای لغات شما توجه نمی‌کند، بلکه مفهوم کلی آن را نیز در نظر می ‌گیرد. حاصل پردازش کوئری الگوریتم گوگل برت (الگوریتم bert) این است که هر یک از کلمات چه ارتباطی با یکدیگر دارند و چه معنایی را می‌رسانند. این‌ گونه می‌ شود که اگر شما از کلماتی مترادف هم استفاده کنید باز هم او متوجه می ‌شود. یا اگر به ‌جای جملاتی کاملاً مطابق دستور زبان هستند از جملات محاوره‌ای استفاده کنید، باز هم نتایجی مشابه آنچه که می‌خواهید به دست خواهید آورد. موتور جستجو با یادگیری ماشین به‌ معنای کلی کوئری شما نیز توجه می‌ کند چون بعضی از واژه‌ها در زبان بیش ‌از یک معنی دارند و یا ممکن است در کنار کلمات دیگر معنی متفاوتی بگیرند.

قدرت الگوریتم برت (الگوریتم bert) در یادگیری

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

درک بهتر هوش مصنوعی آن 

الگوریتم برت (الگوریتم bert)  برای آموختن روابط میان کلمات در یک جمله از transformer استفاده می‌کند که دو مکانیسم جداگانه دارد. مکانیسم رمزگذاری برای خواندن متن داده‌ شده و مکانیسم رمزگشایی برای پیش‌بینی کردن معنای آن است. اما ازآن جایی‌که الگوریتم برت (الگوریتم bert)  تنها می ‌خواهد معنای واژه ‌ها را متوجه شود تنها از مکانیزم رمزگذاری استفاده می ‌کند. بر خلاف مدل‌های directional یا جهت‌ دار در این مدل به جای این‌که متن به‌ صورت متوالی خوانده شود، یعنی از چپ به راست یا راست به چپ، رمزگذار کل دامنه کلمات را به ‌صورت هم ‌زمان دریافت می کند. این روش، روشی غیر جهت‌ دار است. ورودی رمزگذار دنباله‌ای از توکن ها است. که ابتدا در وکتور ها جاسازی می‌ شوند و سپس در شبکه‌های عصبی پردازش می‌ شوند. که در آن هر خروجی دنباله‌ای از وکتور ها با سایز h است. سپس هر وکتور با توکن هم ایندکس اش مطابقت داده می ‌شود. 

الگوریتم برت

مقایسه مدل برت با دیگر مدل ها

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

این الگوریتم قرار نیست جایگزین الگوریتم قدیمی تر گوگل یعنی Rank Brain شود هدف اصلی آن کمک کردن به آن است. مانند هر تکنولوژی دیگری نیاز به زمان برای بهبود دارد. هر اشتباهی که انجام می دهد، به بهبود آن و درک بهتر توسعه دهندگان از نقاط ضعف آن کمک می کند. توسعه الگوریتم های یادگیری پر هزینه و زمان بر هستند اما گوگل بارها خود را در عرضه محصولاتی که تکنولوژی را تغییر می دهند ثابت کرده است. این بار که کوئری را مانند همه کلماتی که به دوستان تان می گویید در سرچ بار گوگل وارد می کنید، می دانید که الگوریتمی مثل انسان ها در حال فکر کردن برای پردازش آن است.