استفاده از ELMO برای طبقه بندی

ELMo is a deep contextualized word representation that models both (1) complex characteristics of word use (e.g., syntax and semantics), and (2) how these uses vary across linguistic contexts (i.e., to model polysemy). These word vectors are learned functions of the internal states of a deep bidirectional language model (biLM), which is pre-trained on a large text corpus. They can be easily added to existing models and significantly improve the state of the art across a broad range of challenging NLP problems, including question answering, textual entailment and sentiment analysis.

برخلاف امبدینگ های سنتی تر مانند word2vec,glove در مدل ELMO برای یک کلمه نمایش های متفاوتی خواهیم داشت و کلماتی که در جملات مختلف معانی متفاوتی دارند بردار های متفاوتی نیز خواهند داشت.به اینمثال دقت کنید/

  1. I read the book yesterday.
  2. Can you read the letter now?

در جمله اول read به صورت کذشته بیان شده است و در جمبه دوم به صورت حاضر می باشد.بنابراین در مدل elmo بردار های متفاوتی خواهند داشت.

مدل elmo از شبکه های lstm دو طرف برای مدل کردن کلمات استفاده می کند که هم کلمات قبلی و هم بعدی آن در جمله درنظر گرفته می شود.

 https://www.analyticsvidhya.com/blog/2019/03/learn-to-use-elmo-to-extract-features-from-text
https://www.analyticsvidhya.com/blog/2019/03/learn-to-use-elmo-to-extract-features-from-text

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

همچنین در این بخش می توانید مثالی از استفاده از ELMO در یک پروژه طبقه بندی را مشاهده کنید برای درک بیشتر موضوعhttps://github.com/aliebi/ELMO


مدل های پیشرفته تر نیز مانند bert وجود دارد که در آینده نزدیک به آن ها خواهیم پرداخت