כיצד לבחון "הבנה" של שפה טבעית בצ'אטבוט

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

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

מורכב לבדוק הבנה של שפה טבעית

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

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


שיטה לבדיקת הבנה של שפה טבעית

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

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

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

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


I want to rent a car => Intent rent car


במערכת שלנו יש מנגנון הבנה שעובד בצורה הזאת.

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


I need to rent a red car => intent red car


ויקבל את אותה התגובה, בהתאם ליכולת התאמת התשובה המתאימה ביותר.

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


סיכום:

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

 



More articles

Overview of common methods for Natural Language Processing in Chatbots

We've already talked about it - Repetition in the Chatbot

The correct way to build a Chatbot that gathers critical information

How is asking, and how is answering

Chatbot? what is this?


Go back to: All articles