כיצד ליצור הטבעה מתוך רשימה של משפטים באנגלית

Kyzd Lyzwr Htb H Mtwk Rsymh Sl Msptym B Nglyt



האם אי פעם חשבתם כאשר אנו מתקשרים עם המכונות שלנו (המחשבים) ונותנים להם הוראות לבצע עבורנו משימה ספציפית כמו לבצע חיפוש ספציפי או לתרגם משפה אחת לאחרת, איך מחשב מבין ומעבד זאת? כל זה נעשה באמצעות תת-תחום הבינה המלאכותית של עיבוד שפה טבעית. המחשב מבין את הערכים המספריים והטכניקה של 'הטבעת מילים' של ה-NLP ממירה את המילה ואת הטקסטים שאנו נותנים כקלט למחשבים לאותו וקטור מספרי, כך שהמחשב יוכל לזהות אותה. מספר תהליכים אחרים של NLP מתרחשים מעבר לאינטראקציה בין אדם למחשב באמצעות מודלים של שפות, אך אנו נסקור את המילה הטבעה בפירוט במדריך זה.

תחביר:

פונקציות שונות נופלות תחת עיבוד השפה הטבעית עבור הטבעת המילה של הטקסט. מאמר זה מכסה את הפונקציה 'word2vec' למטרה זו. כדי להבהיר את זה, המילה embedding ממירה את קלט הטקסט שלנו לייצוג הווקטורי שבו מילים בעלות פחות או יותר אותן משמעויות הקשריות נתנו את אותו ייצוג.

אלגוריתם 'word2vec' הוא מודל רשת עצבית אשר מאומן בצורה כזו שהוא לומד את הטבעת המילים על ידי חיזוי תחילה של ההקשר של המילה שבה היא מופיעה. מודל זה מקבל את הטקסט כקלט שלו. לאחר מכן, עבור כל מילה בטקסט, ייצוג וקטור נוצר עבור אותה מילה. מודל זה מבוסס על הרעיון שלמילים שנראות בעלות אותו הקשר יש אותן משמעויות. התחביר עבור 'word2vec' הוא כדלקמן:







$ Word2Vec(משפטים, min_count)

לאלגוריתם זה שני פרמטרים שהם 'משפטים' ו-'מינימום_ספירה'. המשפט הוא המשתנה שבו מאוחסנת רשימת המשפטים או הטקסט בצורה של משפטים והמינימום_ספירה מדברת על ערך הספירה של 1 כלומר, יש להתעלם מכל אחת מהמילים בטקסט שהופיעה פחות מאחת. .



דוגמה 1:

בדוגמה זו, אנו יוצרים את המילה embeddings עבור המילים הקיימות ברשימת המשפטים באנגלית. כדי ליצור את המילה 'הטבעה', עלינו להשתמש במודל 'word2vec'. דגם זה הוא חבילה של ספריית ה-'gensim' של Python. אנחנו צריכים להתקין את Gensim במאגרי ספריית Python שלנו כדי לעבוד עם 'word2vec'.



כדי ליישם דוגמה זו, נעבוד על המהדר המקוון של Python 'google colab'. כדי להתקין את gensim, השתמש בפקודה 'pip install gensim'. זה מתחיל להוריד את הספרייה הזו עם כל החבילות המשויכות לה. לאחר התקנתו, עליך לייבא את חבילת 'word2vector' מה- gensim.





כדי לאמן את המודל 'word2vec' הזה, עלינו ליצור מערך נתונים לאימון. לשם כך, אנו יוצרים רשימה של משפטים המכילה ארבעה עד חמישה משפטים באנגלית. אנו שומרים רשימה זו במשתנה 'training_data'.

הצעד הבא שלנו לאחר יצירת מערך ההדרכה הוא להכשיר את מודל 'word2vec' על נתונים אלה. אז, אנחנו קוראים למודל. אנו נותנים את נתוני האימון בפרמטרי הקלט של מודל זה ששמרנו במשתנה 'קלט'. לאחר מכן, אנו מציינים את הפרמטר השני שהוא 'מינימום_ספירה'. הגדרנו את הערך שלו שווה ל- '1'. הפלט ממודל אימון זה נשמר במשתנה 'trained_model'.



לאחר שסיימנו עם אימון המודל, נוכל פשוט לגשת למודל עם הקידומת 'wv' שהיא המילה מודל וקטור. אנו עשויים גם לגשת לאוצר המילים של האסימון של המילים שלנו ונוכל להדפיס אותן בשיטה הבאה:

vocabof_tokens = רשימה (model.wv.vocab)

המודל מייצג את המודל המאומן במקרה שלנו. כעת, אנו ניגשים לייצוג הווקטור של המילה האחת ברשימת המשפט, שבמקרה שלנו היא 'תפוח'. אנו עושים זאת פשוט על ידי קריאה למודל המאומן. אנחנו מעבירים את המילה שאת הייצוג הווקטורי שלה אנחנו רוצים להדפיס בתור 'מודל. wv ['apple']' לארגומנט הקלט שלו. לאחר מכן, אנו מדפיסים את התוצאות עם הפונקציה 'הדפסה'.

מ כעם דגמים יְבוּא Word2Vec

training_data = [ [ 'תפוח עץ' , 'הוא' , 'ה' , 'מתוק' , 'תפוח עץ' , 'ל' , 'word2vec' ] ,
[ 'זֶה' , 'הוא' , 'ה' , 'שְׁנִיָה' , 'תפוח עץ' ] ,
[ 'כאן' , 'אַחֵר' , 'תפוח עץ' ] ,
[ 'אחד' , 'מתוק' , 'תפוח עץ' ] ,
[ 'ו' , 'יותר' , 'מתוק' , 'תפוח עץ' ] ]

דֶגֶם = Word2Vec ( training_data , min_count = 1 )
הדפס ( דֶגֶם )
vocabof_tokens = רשימה ( דֶגֶם. wv . index_to_key )
הדפס ( vocabof_tokens )
הדפס ( דֶגֶם. wv [ 'תפוח עץ' ] )

מהפלט והקוד שהוזכרו קודם לכן, המילה הטבעה עבור המילה 'תפוח' מוצגת. בדוגמה, יצרנו לראשונה מערך הדרכה. לאחר מכן, הדרכנו עליו מודל וסיכמנו את המודל. לאחר מכן, באמצעות המודל, קיבלנו גישה לאוצר המילים הסמלי של המילים. לאחר מכן, הצגנו את המילה embedding עבור המילה 'תפוח'.

דוגמה 2:

בעזרת ספריית gensim, בואו ניצור רשימה נוספת של משפטים. אמנו את המודל שלנו עבור כל מילה במשפט כדי ליצור את הטבעת המילה באמצעות מודל 'word2vec'. ראשית, מחבילת ספריית gensim, מיובא מודל 'word2vec'. לאחר מכן, אנו יוצרים מערך נתונים נוסף אשר יהיה הרשימה הכוללת את שני המשפטים. לכל משפט ברשימה יש ארבע מילים.

כעת, אנו שומרים רשימה זו במשתנה 'נתונים'. לאחר מכן, אנו קוראים למודל 'word2vec()' ומזין את הנתונים לארגומנטים של מודל זה עם ערך minimum_count השווה ל-'1'. כך אנו מאמנים את המודל שלנו. כעת, הוא מסוגל ויכול ללמוד את הטבעת המילה של המילים הקיימות במשפטים הקיימים ברשימה על ידי חיזוי ההקשר שבו הן קיימות. כדי לבדוק את התוצאות של המודל שלנו, אנחנו פשוט מעבירים מילה כמו 'כלב' בנתונים שלנו למודל. לאחר מכן, אנו מדפיסים את התוצאות באמצעות הפונקציה 'print()'.

מ כעם דגמים יְבוּא Word2Vec
נתונים = [ [ 'ארנב' , 'יש ל' , 'שיניים' ] , [ 'כֶּלֶב' , 'יש ל' , 'אוזניים' ] ]
דֶגֶם = Word2Vec ( נתונים , min_count = 1 )
הדפס ( דֶגֶם. wv [ 'כֶּלֶב' ] )

אנו יכולים לראות את הייצוג הווקטורי של המילה שהזנו למודל כקלט שלה מהקטע הקודם של הפלט.

סיכום

מדריך זה מדגים את השיטה ליצירת הטבעת המילה עבור המילים הקיימות ברשימת המשפטים באנגלית. למדנו על ספריית 'gensim' של Python המספקת את מודל 'word2vec' ליצירת הטבעת המילה. בנוסף, למדנו על פרמטרי קלט, כיצד לאמן את מודל 'word2vec' על נתוני האימון, וכיצד להציג את המילה בייצוג של הווקטור.