בדל איך עובד סיווג טקסט? - Unite.AI
צור קשר
כיתת אמן בינה מלאכותית:

AI 101

איך עובד סיווג טקסט?

mm
מְעוּדכָּן on

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

הגדרת סיווג טקסט

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

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

איך עובד סיווג טקסט?

צילום: קווין דומברובסקי דרך פליקר, CC BY SA 2.0, (https://www.flickr.com/photos/quinnanya/4714794045)

את רוב שיטות סיווג הטקסט ניתן למקם באחת משלוש קטגוריות שונות: שיטות מבוססות כללים או שיטות למידת מכונה.

שיטות סיווג מבוססות כללים

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

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

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

מערכות למידת מכונה

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

אלגוריתמים של למידת מכונה מוזנים במופעים מתויגים מראש/מסווגים מראש, המנותחים למאפיינים רלוונטיים. המופעים שסומנו מראש הם נתוני ההדרכה.

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

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

שקית-מלים

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

תמונה: gk_ דרך Machinelearning.co, (https://machinelearnings.co/text-classification-using-neural-networks-f5cd7b8765c6)

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

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

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

תדר תדירות מסמך הפוך (TF-IDF)

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

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

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

הטבעות מילוליות

הטמעות מילים הן שיטות לייצוג טקסט המבטיחות שלמילים בעלות משמעויות דומות יש ייצוגים מספריים דומים.

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

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

כתוצאה מכך, הטבעות מילים טובות יותר בללכוד את ההקשר של מילים בתוך משפט.

ישנם אלגוריתמים וגישות שונות המשמשות ליצירת הטבעת מילים. כמה משיטות הטבעת המילים הנפוצות והאמינות ביותר כוללות: הטמעת שכבות, word2vec ו- GloVe.

הטבעת שכבות

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

בגישה של הטבעת מילים, למילים דומות יהיו ייצוגים דומים ויהיו קרובות יותר זו לזו מאשר למילים שאינן דומות.

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

Word2Old

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

כְּפָפָה

GloVE, או וקטור גלובלי לייצוג מילים, מתבסס על אלגוריתמי ההטמעה המשמשים את Word2Vec. שיטות הטבעה של GloV משלבות היבטים הן של Word2Vec והן של טכניקות פירוק מטריצה ​​כמו ניתוח סמנטי סמוי. היתרון של Word2Vec הוא שהוא יכול ללכוד את ההקשר, אבל בתור פשרה הוא לוכד בצורה גרועה סטטיסטיקות טקסט גלובליות. לעומת זאת, ייצוגים וקטוריים מסורתיים טובים בקביעת סטטיסטיקת טקסט גלובלית אך הם אינם שימושיים לקביעת ההקשר של מילים וביטויים. GloVE שואבת מהמיטב משתי הגישות, ויוצרת טקסט-קונטקסט המבוסס על סטטיסטיקות טקסט גלובליות.

בלוגר ומתכנת עם התמחות ב למידת מכונה ו למידה עמוקה נושאים. דניאל מקווה לעזור לאחרים להשתמש בכוח של AI למען טוב חברתי.