אדם בדרך כלל יסתמך על הניסיון והידע שלו כדי להשיג את התובנות. מחשב חייב להיות מסופק עם ידע דומה כדי להיות מסוגל לבצע את המשימה. ישנן כמה טכניקות נפוצות שניתן להשתמש בהן כדי לבנות תוכנה לניתוח טקסט, כולל:
- ניתוח סטטיסטי של מונחים המשמשים בטקסט. לדוגמה, הסרת "מילות עצירה" נפוצות (מילים כמו "the" או "a", החושפות מעט מידע סמנטי על הטקסט), וביצוע ניתוח תדירות של המילים הנותרות (ספירת תדירות הופעת כל מילה) יכולים לספק רמזים לגבי הנושא העיקרי של הטקסט.
- הרחבת ניתוח התדרים לביטויים מרובי מונחים, הידועים בכינוי N-גרם (ביטוי בן שתי מילים הוא דו-גרם, ביטוי בן שלוש מילים הוא טריגרם, וכן הלאה).
- יישום אלגוריתמים של גבעול או למטיזציה כדי לנרמל מילים לפני ספירתן – למשל, כך שמילים כמו "כוח", "כוח", ו"חזק" מתפרשות כאותה מילה.
- יישום כללי מבנה לשוניים לניתוח משפטים – למשל, פירוק משפטים למבנים דמויי עץ כגון ביטוי שם עצם, שבעצמו מכיל שמות עצם, פעלים, שמות תואר וכן הלאה.
- קידוד מילים או מונחים כתכונות מספריות שניתן להשתמש בהן כדי לאמן מודל למידת מכונה. לדוגמה, כדי לסווג מסמך טקסט בהתבסס על המונחים שהוא מכיל. טכניקה זו משמשת לעתים קרובות לביצוע ניתוח סנטימנט, שבו מסמך מסווג כחיובי או שלילי.
- יצירת מודלים וקטוריים הלוכדים קשרים סמנטיים בין מילים על ידי הקצאתם למיקומים במרחב n-ממדי. טכניקת מידול זו עשויה, למשל, להקצות ערכים למילים "פרח" ו"צמח" הממקמים אותם קרוב זה לזה, בעוד ש "סקייטבורד" עשוי לקבל ערך שממקם אותו הרבה יותר רחוק.
בעוד טכניקות אלה ניתן להשתמש כדי להשפיע מאוד, תכנות אותם יכול להיות מורכב. ב- Microsoft Azure, השירות הקוגנטיבי 'שפה' יכול לעזור לפשט את פיתוח היישומים על-ידי שימוש במודלים מאומנים מראש שיכולים:
- קבע את השפה של מסמך או טקסט (לדוגמה, צרפתית או אנגלית).
- בצע ניתוח סנטימנט על טקסט כדי לקבוע סנטימנט חיובי או שלילי.
- חלץ ביטויי מפתח מטקסט שעשויים להצביע על נקודות השיחה העיקריות שלו.
- זהה וסווג ישויות בטקסט. ישויות יכולות להיות אנשים, מקומות, ארגונים או אפילו פריטים יומיומיים כגון תאריכים, שעות, כמויות וכן הלאה.
במודול זה, תחקור כמה מיכולות אלה ותבין כיצד תוכל ליישם אותן על יישומים כגון:
- מנתח פיד מדיה חברתית כדי לזהות סנטימנטים סביב קמפיין פוליטי או מוצר בשוק.
- יישום חיפוש מסמכים המחלץ ביטויי מפתח כדי לסייע בסיכום הנושא העיקרי של מסמכים בקטלוג.
- כלי לחילוץ פרטי מותג או שמות חברות ממסמכים או טקסט אחר למטרות זיהוי.
דוגמאות אלה הן רק דוגמה קטנה מהתחומים הרבים שבהם שירות השפה יכול לעזור בניתוח טקסט.
שירות השפה הוא חלק מהצעות השירותים הקוגניטיביים של Azure שיכולים לבצע עיבוד מתקדם של שפה טבעית על טקסט גולמי.
משאבי Azure עבור שירות השפה
כדי להשתמש בשירות השפה ביישום, עליך להקצות משאב מתאים במנוי Azure שלך. באפשרותך לבחור להקצות אחד מסוגי המשאבים הבאים:
- משאב שפה – בחר סוג משאב זה אם בכוונתך להשתמש רק בשירותי עיבוד שפה טבעית, או אם ברצונך לנהל את הגישה והחיוב עבור המשאב בנפרד משירותים אחרים.
- משאב שירותים קוגניטיביים – בחר סוג משאב זה אם בכוונתך להשתמש בשירות השפה בשילוב עם שירותים קוגניטיביים אחרים, וברצונך לנהל את הגישה והחיוב עבור שירותים אלה יחד.
זיהוי שפה
השתמש ביכולת זיהוי השפה של שירות השפה כדי לזהות את השפה שבה הטקסט נכתב. באפשרותך לשלוח מסמכים מרובים בו-זמנית לניתוח. עבור כל מסמך שיוגש לו, השירות יזהה:
- שם השפה (לדוגמה "אנגלית").
- קוד השפה ISO 6391 (לדוגמה, "en").
- ציון המציין רמת ביטחון בזיהוי השפה.
לדוגמה, שקול תרחיש שבו אתה הבעלים והמפעיל של מסעדה שבו לקוחות יכולים להשלים סקרים ולספק משוב על האוכל, השירות, הצוות וכן הלאה. נניח שקיבלת את הביקורות הבאות מלקוחות:
סקירה 1: "מקום פנטסטי לארוחת צהריים. המרק היה טעים. "
סקירה 2: "אוכל נהדר ושירות מעולה. "
סקירה 3: "קרוק מסייה avec frites היה נהדר. בתאבון! "
באפשרותך להשתמש ביכולות ניתוח הטקסט בשירות השפה כדי לזהות את השפה עבור כל אחת מביקורות אלה; והוא עשוי להגיב עם התוצאות הבאות:
מסמך | שם השפה | קוד ISO 6391 | הציון |
ביקורת 1 | אנגלית | ב | 1.0 |
חוות דעת 2 | ספרדית | הוא | 1.0 |
חוות דעת 3 | אנגלית | ב | 0.9 |
שים לב שהשפה שזוהתה עבור סקירה 3 היא אנגלית, למרות שהטקסט מכיל שילוב של אנגלית וצרפתית. שירות זיהוי השפה יתמקד בשפה השלטת בטקסט. השירות משתמש באלגוריתם כדי לקבוע את השפה השלטת, כגון אורך הביטויים או כמות הטקסט הכוללת עבור השפה בהשוואה לשפות אחרות בטקסט. השפה השלטת תהיה הערך המוחזר, יחד עם קוד השפה. ציון הביטחון עשוי להיות נמוך מ- 1 כתוצאה מהטקסט בשפה מעורבת.
תוכן דו-משמעי או בשפה מעורבת
ייתכן שיש טקסט שהוא דו-משמעי באופיו, או שיש בו תוכן בשפה מעורבת. מצבים אלה יכולים להוות אתגר לשירות. דוגמה לתוכן דו-משמעי תהיה מקרה שבו המסמך מכיל טקסט מוגבל, או רק סימני פיסוק. לדוגמה, שימוש בשירות כדי לנתח את הטקסט ":-)", גורם לערך של לא ידוע עבור שם השפה ומזהה השפה, וציון של NaN (המשמש לציון לא מספר).
ניתוח סנטימנטים
יכולות ניתוח הטקסט בשירות השפה יכולות להעריך טקסט ולהחזיר ציוני סנטימנט ותוויות עבור כל משפט. יכולת זו שימושית לזיהוי סנטימנטים חיוביים ושליליים במדיה החברתית, ביקורות של לקוחות, פורומים לדיונים ועוד.
באמצעות מודל הסיווג של למידת מכונה שנבנה מראש, השירות מעריך את הטקסט ומחזיר ציון סנטימנט בטווח של 0 עד 1, כאשר ערכים קרובים יותר ל-1 הם סנטימנט חיובי. ציונים הקרובים לאמצע הטווח (0.5) נחשבים ניטרליים או לא מוגדרים.
לדוגמה, ניתן לנתח את שתי ביקורות המסעדות הבאות לצורך סנטימנט:
"אכלנו אתמול בערב במסעדה הזאת והדבר הראשון ששמתי לב אליו היה כמה הצוות אדיב. קיבלו את פנינו בצורה ידידותית ונלקחנו מיד לשולחן שלנו. השולחן היה נקי, הכיסאות היו נוחים והאוכל היה מדהים. "
"חווית האוכל שלנו במסעדה הזו הייתה אחת הגרועות ביותר שהיו לי בחיים. השירות היה איטי, והאוכל היה נורא. לעולם לא אוכל שוב במפעל הזה. "
ציון הסנטימנט של הסקירה הראשונה עשוי להיות סביב 0.9, מה שמעיד על סנטימנט חיובי; בעוד שהציון של חוות הדעת השנייה עשוי להיות קרוב יותר ל-0.1, מה שמעיד על סנטימנט שלילי.
סנטימנט לא מוגדר
ציון של 0.5 עשוי להצביע על כך שהסנטימנט של הטקסט אינו מוגדר, ויכול לנבוע מטקסט שאין לו הקשר מספיק כדי להבחין ברגש או בניסוח לא מספיק. לדוגמה, רשימת מילים במשפט שאין לו מבנה, עלולה לגרום לציון לא מוגדר. דוגמה נוספת שבה ציון עשוי להיות 0.5 היא במקרה שבו נעשה שימוש בקוד שפה שגוי. קוד שפה (כגון "en" עבור אנגלית, או "fr" עבור צרפתית) משמש כדי ליידע את השירות באיזו שפה הטקסט נמצא. אם תעביר טקסט בצרפתית אך תגיד לשירות שקוד השפה הוא en לאנגלית, השירות יחזיר ציון של 0.5 בדיוק.
חילוץ ביטויי מפתח
חילוץ ביטויי מפתח הוא הרעיון של הערכת הטקסט של מסמך, או מסמכים, ולאחר מכן זיהוי נקודות השיחה העיקריות של המסמך(ים). שקול את תרחיש המסעדה שנדון קודם לכן. בהתאם לכמות הסקרים שאספת, זה יכול לקחת הרבה זמן לקרוא את הביקורות. במקום זאת, באפשרותך להשתמש ביכולות חילוץ ביטויי המפתח של שירות השפה כדי לסכם את הנקודות העיקריות.
ייתכן שתקבל חוות דעת כגון:
"אכלנו כאן ארוחת ערב לחגיגת יום הולדת והייתה לנו חוויה נהדרת. את פנינו קיבלה מארחת ידידותית ונלקחנו לשולחן שלנו מייד. האווירה הייתה רגועה, האוכל היה מדהים והשירות היה נהדר. אם אתם אוהבים אוכל נהדר ושירות קשוב, עליכם לנסות את המקום הזה. "
חילוץ ביטויי מפתח יכול לספק הקשר כלשהו לסקירה זו על-ידי חילוץ הביטויים הבאים:
- שירות קשוב
- אוכל נהדר
- חגיגת יום הולדת
- חוויה פנטסטית
- שולחן
- מארחת ידידותית
- ארוחת ערב
- אווירה
- מקום
לא רק שאתה יכול להשתמש בניתוח סנטימנט כדי לקבוע שסקירה זו חיובית, אתה יכול להשתמש בביטויי המפתח כדי לזהות אלמנטים חשובים של הסקירה.
הכרה בישות
באפשרותך לספק לשירות השפה טקסט לא מובנה והוא יחזיר רשימה של ישויות בטקסט שהוא מזהה. השירות יכול גם לספק קישורים למידע נוסף אודות ישות זו באינטרנט. ישות היא למעשה פריט מסוג מסוים או מקטגוריה מסוימת; ובמקרים מסוימים, תת-סוג, כגון אלה המוצגים בטבלה הבאה.
סוג | תת-סוג | דוגמה |
אדם | "ביל גייטס", "ג'ון" | |
מקום | "פריז", "ניו יורק" | |
ארגון | "מיקרוסופט" | |
כמות | מספר | "6" או "שש" |
כמות | אחוז | "25%" או "חמישים אחוז" |
כמות | סידוריים | "ראשון" או "ראשון" |
כמות | גיל | "בן 90 יום" או "בן 30" |
כמות | מטבע | "10.99" |
כמות | ממד | "10 מיילים", "40 ס"מ" |
כמות | טמפרטורה | "45 מעלות" |
תאריך שעה | "18:30 4 בפברואר 2012" | |
תאריך שעה | תמר | "2 במאי 2017" או "05/02/2017" |
תאריך שעה | זמן | "8 בבוקר" או "8:00" |
תאריך שעה | טווח תאריכים | "מה-2 במאי עד ה-5 במאי" |
תאריך שעה | טווח זמנים | "18:00 עד 19:00" |
תאריך שעה | משך | "דקה ו-45 שניות" |
תאריך שעה | הצית | "כל יום שלישי" |
כתובת URL | "https://www.bing.com" | |
דואר אלקטרוני | "support@microsoft.com" | |
מספר טלפון בארה"ב | "(312) 555-0176" | |
כתובת IP | "10.0.1.125" |
השירות תומך גם בקישור ישויות כדי לסייע בפירוק ישויות על-ידי קישור להפניה ספציפית. עבור ישויות מוכרות, השירות מחזיר כתובת URL עבור ערך רלוונטי בוויקיפדיה.
לדוגמה, נניח שאתה משתמש בשירות השפה כדי לזהות ישויות בתמצית ביקורת המסעדה הבאה:
"אכלתי במסעדה בסיאטל בשבוע שעבר. "
ישות | סוג | תת-סוג | כתובת האתר של ויקיפדיה |
סיאטל | מקום | https://en.wikipedia.org/wiki/Seattle | |
בשבוע שעבר | תאריך שעה | טווח תאריכים |
זיהוי דיבור
זיהוי דיבור עוסק בלקיחת המילה המדוברת והמרתה לנתונים שניתן לעבד – לעתים קרובות על ידי תמלול שלה לייצוג טקסט. המילים המדוברות יכולות להיות בצורה של קול מוקלט בקובץ שמע, או שמע חי ממיקרופון. דפוסי דיבור מנותחים בשמע כדי לקבוע דפוסים ניתנים לזיהוי הממופים למילים. כדי להשיג הישג זה, התוכנה משתמשת בדרך כלל במספר סוגים של מודלים, כולל:
- דגם אקוסטי הממיר את אות השמע לפונמות (ייצוגים של צלילים ספציפיים).
- מודל שפה הממפה פונמות למילים, בדרך כלל באמצעות אלגוריתם סטטיסטי המנבא את רצף המילים הסביר ביותר בהתבסס על הפונמות.
המילים המזוהות מומרות בדרך כלל לטקסט, שבו ניתן להשתמש למטרות שונות, כגון.
- מתן כתוביות מקודדות לכבדי שמיעה לסרטונים מוקלטים או חיים
- יצירת תמלול של שיחת טלפון או פגישה
- הכתבת הערות אוטומטית
- קביעת קלט משתמש מיועד לעיבוד נוסף
סינתזת דיבור
סינתזת דיבור היא במובנים רבים ההיפך מזיהוי דיבור. הוא עוסק בהשמעת נתונים, בדרך כלל על ידי המרת טקסט לדיבור. פתרון סינתזת דיבור דורש בדרך כלל את המידע הבא:
- הטקסט שייאמר.
- הקול שישמש להשמעת הנאום.
כדי לסנתז דיבור, המערכת בדרך כלל עושה טוקניזציה לטקסט כדי לפרק אותו למילים בודדות, ומקצה צלילים פונטיים לכל מילה. לאחר מכן הוא מפרק את התעתיק הפונטי ליחידות פרוזודיות (כגון משפטים, משפטים או משפטים) כדי ליצור פונמות שיומרו לפורמט שמע. פונמות אלה מסונתזות לאחר מכן כשמע על ידי החלת קול, אשר יקבע פרמטרים כגון גובה צליל וגוון; ויצירת צורת גל שמע שניתן להפיק לרמקול או לכתוב לקובץ.
באפשרותך להשתמש בפלט של סינתזת דיבור למטרות רבות, כולל:
- יצירת תגובות מדוברות לקלט המשתמש.
- יצירת תפריטים קוליים למערכות טלפון.
- קריאת דואר אלקטרוני או הודעות טקסט בקול רם בתרחישים של דיבורית.
- שידור תשדירים במקומות ציבוריים, כגון תחנות רכבת או שדות תעופה.
תרגום מילולי וסמנטי
ניסיונות מוקדמים לתרגום מכונה יישמו תרגומים מילוליים. תרגום מילולי הוא המקום שבו כל מילה מתורגמת למילה המתאימה בשפת היעד. גישה זו מציגה כמה סוגיות. במקרה אחד, ייתכן שלא תהיה מילה מקבילה בשפת היעד. מקרה נוסף הוא שבו תרגום מילולי יכול לשנות את משמעות הביטוי או לא לקבל את ההקשר הנכון.
לדוגמה, הביטוי הצרפתי "éteindre la lumière" יכול להיות מתורגם לאנגלית כמו "לכבות את האור". עם זאת, בצרפתית אתה יכול גם לומר "fermer la lumiere" כדי להתכוון לאותו דבר. הפועל הצרפתי fermer פירושו פשוטו כמשמעו "לסגור", ולכן תרגום מילולי המבוסס רק על המילים יציין, באנגלית, "לסגור את האור"; אשר עבור דובר אנגלית ממוצע, לא ממש הגיוני, אז כדי להיות שימושי, שירות תרגום צריך לקחת בחשבון את ההקשר הסמנטי ולהחזיר תרגום לאנגלית של "לכבות את האור".
מערכות בינה מלאכותית חייבות להיות מסוגלות להבין, לא רק את המילים, אלא גם את ההקשר הסמנטי שבו הן משמשות. בדרך זו, השירות יכול להחזיר תרגום מדויק יותר של ביטוי קלט או ביטויים. יש לקחת בחשבון את כללי הדקדוק, הפורמליים לעומת הבלתי פורמליים, ואת כללי הדיבור.
תרגום טקסט ודיבור
תרגום טקסט יכול לשמש לתרגום מסמכים משפה אחת לאחרת, לתרגום תכתובות דוא"ל המגיעות מממשלות זרות ואף לספק את היכולת לתרגם דפי אינטרנט באינטרנט. פעמים רבות תראה אפשרות תרגום עבור פוסטים באתרי מדיה חברתית, או שמנוע החיפוש של Bing יכול להציע לתרגם דפי אינטרנט שלמים המוחזרים בתוצאות החיפוש.
תרגום דיבור משמש לתרגום בין שפות מדוברות, לעתים באופן ישיר (תרגום דיבור לדיבור) ולעיתים על ידי תרגום לתבנית טקסט מתווכת (תרגום דיבור לטקסט).