علم داده

به کارگیری الگوریتم های یادگیری ماشین و یادگیری عمیق در پردازش زبان طبیعی

علم داده

به کارگیری الگوریتم های یادگیری ماشین و یادگیری عمیق در پردازش زبان طبیعی

سلام
من باران، دانشجوی دکترا رشته مهندسی کامپیوتر(نرم افزار) هستم.
در حال حاضر مشغول نوشتن تز هستم و هر روز مطالب مفید و جالب زیادی در زمینه علم داده فرا میگیرم.
این وبلاگ را با هدف به اشتراک گذاری این مطالب ایجاد کردم.

امیدوارم مطالبی که خواهم نوشت برای خوانندگان مفید باشه.

طبقه بندی موضوعی

آخرین مطالب

بردارهای کلمه یا word vectors

يكشنبه, ۱ دی ۱۳۹۸، ۰۱:۲۰ ب.ظ

سلام.

امروز برای شروع می خوام یه مطلبی در مورد بردارهای کلمه بنویسم که البته خیلی ابتدایی هست ولی برای شروع خوبه.

 

بردار های کلمه (Word vectors) یا تعبیه لغات (Word embedding)

بردارهای کلمه یا تعبیه لغات (word embedding) روشی برای تبدیل کلمات به اعداد یا اصطلاحا روشی برای ارائه کلمات هستند. بعد از اینکه کلمات به اعداد تبدیل شدند اونموقع میتونیم این اعداد را به عنوان ورودی الگوریتم های یادگیری ماشین بکار ببریم.

به سادگی میشه گفت بردارهای کلمه، بردارهایی (همون آرایه هایی که از قدیم می شناختیم)از اعداد هستند که معنی یک کلمه را در بر می گیرند.

 روش های سنتی NLP مانند One-hot encoding و bag of words در برگیرنده اطلاعاتی مانند معنی و محتوای کلمات نبودند. یعنی ارتباطات بین کلمات مانند نزدیکی محتوایی کلمات در روش های سنتی نادیده گرفته می شدند.  به عنوان مثال، روش one-hot encoding نمی تواند ارتباط ساده بین دو کلمه "سگ" و "گربه" را به این صورت که هر دو از حیوانات هستند و در context حیوانات خانگی هستند را بیان نماید. روش های ستنی برای کارهای ساده NLP مانند تشخیص ایمیل های spam مناسب هستند ولی برای کارهای پیچیده تر مانند ترجمه و Speech Recognition کارایی لازم را ندارند. در واقع روش های سنتی مانند one-hot encoding ارتباطات ساختاری(Syntactic) و معنایی(Semantic) میان کلمات را نادیده می گیرند.

در مقایسه با روش های سنتی، بردارهای کلمه، کلمات را به صورت بردارهای چند بعدی از اعداد اعشاری نمایش می دهند، به صورتی که کلمات با معنای مشابه به نقاط نزدیکی در فضای هندسی نگاشته می شوند. به زبان ساده تر یک بردار کلمه، سطری از اعداد حقیقی است که هر نقطه آن یک بعد (Dimension) از معنی کلمه را در بر می گیرد  و کلمات با معنای مشابه، بردارهای مشابهی دارند. این با آن معنی است که کلماتی مانند "چرخ" و "موتور" بردارهای مشابهی با کلمه "ماشین" دارند، در حالیکه  کلمه "موز" اختلاف زیادی با این کلمات دارد. علاوه بر این کلماتی که در محتوای مشابهی استفاده می شوند، به فضای برداری نزدیکی نگاشته می شوند.  زیبایی ارائه کلمات با استفاده از بردارها، امکان استفاده از عملگرهای ریاضی بر روی بردار هاست. برای مثال ما می توانیم بردار ها را به هم اضافه و یا از هم کم کنیم. یک مثال معروف در این زمینه مانند زیر است:

King – man + woman = queen

به عبارت دیگر در این مثال یک معنی از بردار King  کم می شود (معنی مرد بودن) و یک معنی به بردار king اضافه می شود (معنی  زن بودن).

اعداد در بردار کلمه، وزن توزیع شده کلمه در میان dimension ها هستند. به عبارت ساده تر، هر dimension یک معنی را ارائه می نماید و وزن عددی داده شده به dimension در برگیرنده میزان نزدیکی کلمه با آن dimension است. بنابراین معنی یک کلمه در میان ابعاد بردار قرار می گیرد.

منبع

#باران_سیل_سپور

#بردارهای_کلمه

#بردارهای_لغت

#wordvectors

#word_vectors

#word_embedding

#NLP

#پردازش_زبان_طبیعی

#تعبیه لغات

 

۹۸/۱۰/۰۱ موافقین ۰ مخالفین ۰
یک محقق علم داده

نظرات  (۱)

۰۱ دی ۹۸ ، ۱۳:۲۳ هادی اسماعیلی فضل

سلام وب خوبی دارین . بنده هم تک بیت همراه با عکس نوشته کار می کنم خوشحال میشیم در خدمتتون باشیم.


چه کرده برق لبت با دلم؟ نمی دانم
همیشه کشته ی یک اتصال کوتاهم

همیشه زجر دشمن شادی آور نیست گاهی هم
دل یک گربه با مرگ سگی ولگرد می گیرد

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی