Distributed Representations of Words and Phrases and their Compositionality Part #1

ارائه کلمات و عبارات توزیع شده و ترکیب آنها (قسمت اول)

نویسندگان مقاله:

Tomas Mikolov, Ilya Sutskever, Kai Chen, Greg Corrado, Jeffrey Dean

متن اصلی این مقاله را از اینجا بخوانید.

چکیده

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

محدودیت ذاتی در بازنمایی کلمات، بی‌تفاوتی آن‌ها به ترتیب کلمات و عدم توانایی آن‌ها در بیان اصطلاحات. به عنوان مثال، معانی “کانادا” و “هوا” را نمی‌توان از عبارت “Air Canada” به دست‌آورد. منظور ما از این مثال این است که، ما یک روش ساده برای پیدا کردن عبارات در متن ارائه می دهیم و نشان می‌دهیم که یادگیری بردارد مناسب برای میلیون‌ها عبارت امکان‌پذیر است.

 

1- مقدمه

نمایش توزیع شده کلمات در در یک فضای بردار، به الگوریتم یادگیری کمک می کند به کارایی بهتری در پردازی زبان طبیعی با گروه‌بندی کلمات مشابه برسد. یکی از اولین استفاده از بازنمایی کلمات به سال 1386 بازمی‌گردد. این ایده از آن زمان تا کنون با موفقیت قابل توجهی در الگوسازی زبان آماری به کار رفته است. فرایند این کار، شامل برنامه‌هایی برای تشخیص خودکار گفتار و ترجمه ماشینی و طیف گسترده‌ی از NLP است.

به تازگی، Mikolov و همکاران، مدلی را با نام Skip-Gram ارائه کرده‌اند، این روش بسیار کارآمدی برای آموزش باکیفیت بردارهای کلمات در مقدار زیادی از داده‌های متنی بدون ساختار است. برخلاف بیشتر معماری‌های شبکه‌عصبی که قبلا برای یادگیری بردارهای کلمات مورد استفاده قرار گرفته‌اند، آموز مدل Skip-Gram (شکل 1) شاممل ضرب‌های متراکم ماتریسی نیست. که این موضوع باعث دست شدن آموزشی بسیار کارآمد می‌شود: single-machine های بهینه شدهمی توانند بیش از 100میلیارد کلمه را در یک روز آموزش دهند.

ارائه کلماتی که با استفاده از شبکه های عصبی محاسبه شده‌اند، بسیار جالب است، زیرا بردارهای آموزش دیده، بسیاری از نظم‌ها و الگوهای زبانی را رمزگشایی می‌کنند. در کمال تعجب، بسیاری از این الگوها می توانند به عنوان ترجمه‌های خطی اراده شوند. به‌عنوان مثال، نتیجه محاسبه یک بردارد vec(“Madrid”) – vec(“Spain”) + vec(“France”) نسبت به سایر واژگان دیگر، به vec(“Paris”) نزدیکتر است.

شکل 1: معماری مدل Skip-gram. هدف از آموزش، یادگیری بردارهای کلمات است که در پیش‌بینی کلمات نزدیک به هم، خوب عمل می کنند.

در این مقاله چندین مورد از مدل اصلی Skip-gram ارائه شده است. ما نشان می‌دهیم که نمونه برداری از کلمات پرتکرار در طی آموزش، منجر به افزایش قابل توجه سرعت (از 2 تا 10 برابر) می شود و دقت بازنمایی کلمات با تکرار کمتر را بهبود می‌دهد. علاوه بر این، ما یک نوع ساده از تخمین تضاد نویز (Noise Contrastive Estimation (NCE)) برای آموزش مدل Skip-gram ارئه می‌دهیم که در مقایسه با نرم‌افزارهای پیچیده‌تر که در کارهای قبلی استفاده شده است، نتیجه‌ی آموزش سریعتر و بازنمایی بهتر بردار کلمات پرتکرار را ارائه می‌دهد.

بازنمایی کلمات به دلیل عدم توانایی آنها در بیان عبارات اصطلاحاتی که دارای موقعیت های مشترک کلمات نیستند ، محدود هستند. به عنوان مثال ، “Boston Globe” یک روزنامه است ، بنابراین ترکیبی غیر معانی از معانی “Boston” و “Globe” نیست. بنابراین ، استفاده از بردارها برای نشان دادن کل عبارات ، مدل Skip-gram را به طرز چشمگیری بیان می کند. هدف دیگر این فن آوری ، بیان جملات با ترکیب کلمات بردار مانند رمزگذار خودکار برگشتی است که از استفاده از بردار عبارات به جای بردارهای کلمه ای سود می برد.

گسترش مدل های مبتنی بر کلمه به اصطلاح نسبتاً ساده است. ابتدا تعداد زیادی از عبارات را با استفاده از یک رویکرد داده محور شناسایی می کنیم و سپس عبارات را به عنوان نشانه گذاری فرد در آموزش آموزش می دهیم. برای ارزیابی کیفیت بردارهای عبارت ، ما مجموعه ای از تست های استدلال آنالوگ را تهیه کردیم که شامل کلمات و عبارات است. یک جفت قیاس معمولی از مجموعه آزمونهای ما “Montreal”:“Montreal Canadiens”::“Toronto”:“Toronto Maple Leafs”. به نظر می رسد که به‌درستی پاسخ داده شده است که آیا نزدیکترین ارائه برای جابجایی vec(“Montreal Canadiens”) – vec(“Montreal”) +vec(“Toronto”)  این vec(“Toronto Maple Leafs”) است.

درنهایت یکی دیگر از ویژگی‌های جالب مدل Skip-gram را شرح می دهیم. ما دریافتیم که آنها علاوه‌بر بردارهای ساده، معمولاً می تواند نتایج معنی داری نیز داشته باشند. به عنوان مثال ، vec (“Russia”) + vec (“river”) نزدیک به vec (“Volga River”) ، و vec (“Germany”) + vec (“capital”) نزدیک به vec (“Berlin”) است. این ترکیب نشان می دهد که یک درجه غیر واضح از درک زبان را می توان با استفاده از عملیات اساسی ریاضی بر روی بازنمدهای بردار کلمه بدست آورد.

 

2- مدل  Skip-gram

هدف آموزشی مدل Skip-gram یافتن و ارائه کلماتی  که برای پیش بینی کلمات اطراف در یک جمله یا یک سند مفید است. به طور رسمی ، با توجه به توالی کلمات آموزش w1 ، w2 ، w3 ،. . . ، wT ، هدف از مدل Skip-gram حداکثر رساندن احتمال ورود به سیستم است.

جایی که c اندازه متن آموزش است (wt می تواند تابعی از کلمه مرکزی باشد). Rc بزرگ در مثالهای آموزشی بیشتر نتیجه می گیرد و این می تواند با هزینه زمان آموزش به دقت بیشتری منجر شود. فرمول اولیه Skip-gram با استفاده از تابع softmax، p(wt+j | wt) را تعریف می کند.

در جایی که vw و v′w نمایشگرهای برداری “input” و “output” از w و W تعداد کلمات موجود در واژگان است. این فرمول غیر عملی است زیرا هزینه محاسبه log p(wO | wI) متناسب با W است ، که اغلب بزرگ است (105-107 مورد).

 

2.1. Hierarchical Softmax

تقریب محاسباتی کارآمد تابع Full Softmax یک تابع Hierarchical Softmax است. محتوای مدل زبان شبکه عصبی، برای اولین بار توسط مورین و بنگیو معرفی شد. مزیت اصلی این است که به جای ارزیابی گره های خروجی W در شبکه عصبی برای به دست آوردن توزیع احتمال ، فقط باید در مورد گره های log2(W) ارزیابی شود.

Hierarchical Softmax از یک درخت باینری برای ارائه لایه خروجی و نمایش کلمات W در برگ‌ها استفاده می‌کند. برای هر نود احتمال رابطه نودهای فرزند با یکدیگر را بیان می کند. اینها یک حرکت تصادفی را تعریف می کنند که احتمالات را به کلمات اختصاص می دهد.

به طور دقیق تر ، هر کلمه w را می توان با مسیری مناسب از ریشه درخت به دست آورد. درصورتی که n (w، j) گره j – th در مسیر از ریشه تا w باشد و درصورتی که L (w) طول این مسیر باشد ، بنابراین n (w، 1) = root و n (w، L (w)) = w. علاوه بر این ، برای هر گره درونی ، اگر ch (n) یک فرزند ثابت دلخواه باشد و اگر [[x]] برابر 1 می‌شود اگر x درست باشد و در غیر این صورت برابر -1 می شود. سپس Hierarchical Softmax به شکل زیر p (wO | wI) را تعریف می کند:

جایی که σ (x) = 1 / (1+ exp (−x)) باشد، می توان ثابت کرد که . این بدان معناست که مقدار محاسبه log p (wO | wI) و∇log p (wO | wI) متناسب با L (wO) است ، که به طور متوسط هیچ چیزی بیشتر از log W نیست. همچنین ، بر خلاف فرمولاسیون Softmax استاندارد، Skip-gram به هر کلمه w دو مقدارVw و Vw اختصاص می دهد ، فرمول Hierarchical Softmax دارای یک بازنویسی Vw برای هر کلمه W و یک بازنمایی Vn برای هر گره داخلی n از درخت باینری است.

ساختار درخت بکار رفته توسط Hierarchical Softmax تأثیر قابل توجهی در عملکرد دارد. Mnih و Hinton تعدادی از روش ها را برای درست کردن ساختار درخت و تأثیر آن بر زمان آموزش و دقت نتیجه‌ی مدل بررسی کردند. در کار ما از یک درخت باینری هافمن (binary Huffman tree) استفاده می کنیم ، زیرا کدهای کوتاه را به کلمات مکرر اختصاص می دهد که منجر به آموزش سریع می شود. پیش از این ، گروه بندی کلمات با هم با فرکانس آنها و همچنین یک تکنیک سرعت بسیار ساده برای مدل های زبان مبتنی بر شبکه عصبی مشاهده شده است.

ادامه ترجمه این مقاله را در مطلب بعدی برای شما قرار خواهم داد.

 

سایر مقالات Tomas Mikolov را از اینجا بخوانید.

یک دیدگاه بگذارید

آدرس ایمیل شما منتشر نخواهد شد.


*