מנועי חיפוש רגילים מקבלים מן המשתמש את המילה שהוא מבקש ומנסים למצוא את אותה מחרוזת האותיות בקבצים המצויים באינטרנט. מנועים מתוחכמים יותר מחפשים לא רק את מחרוזת האותיות של המילה, אלא גם את נטיותיה וגם את אותיות השימוש המחוברות אליה. למשל, חיפשת את המילה נשיא - בתוצאות יופיעו כל המילים שנשיא היא הבסיס שלהן, כגון נשיאים, הנשיא, כשהנשיאים, ומהנשיא, וכשמנשיאנו וכיוצא באלה.
אבל, כידוע, כל מילה עברית כתובה יכולה בעצם להיות יותר ממילה אחת. למשל, מי שיחפש פרה (בהמה) באחד ממנועי החיפוש הקיימים יקבל בתוצאות גם מילים כגון הֵפֵרָה, הֲפָרוֹת, הַפֵּרוֹת, פֵּרוֹת, שֶהֵפֵרָה, כְּשֶהֵפֵרָה, שִפְרָה וכיוצא באלה. תוצאות כאלה מתסכלות את המשתמש, שכן עליו לעסוק בלי הרף במחיקות של שורות לא רלוונטיות לפני שיוכל לעיין בתוצאות המבוקשות.
הדוגמה הבאה קרתה לידיד שלי: הוא חיפש את המילה מוּכָּר. הוא רצה לעיין במקרים שבהם היו תשלומים מוכרים בתור הוצאות רפואיות, או פטורות ממס ערך מוסף או פטורות מהתחשבנות למס הכנסה וכדומה. בחיפוש נמצאו 201 מחרוזות מוכר. אבל כשהוא עיין במשפטים שנמצאו בקבצים השונים התברר שב-175 מקרים הכוונה היתה ל"מוֹכֵר" וב-24 משפטים אחרים היה מדובר בפועל "מָכַר" בזמן הווה. רק 2 מבין ה"מציאות" היו מכוונות לחיפוש שלו. כמה טרחת שווא היה עליו להשקיע בחיפוש זה!
וכך לא בעברית בלבד. בכל שפה יש הרבה מילים הנכתבות בדיוק באותו אופן, אבל הן מילים שונות זו מזו וכל אחת מהן יש לה משמעות אחרת. למשל, המילה "אח" מסמנת (1) בן לאותם ההורים, (2) מטפל קדם-רפואי וגם (3) תנור חימום בנוי. "בית" הוא (1) מבנה למגורים, (2) משפחה, וכן (3) חלק של שיר ובו מספר שורות. ובאנגלית - חשבו על המילה press, או על המילה light, וראו כמה משמעויות יש לכל אחת מהן.
מנועי החיפוש הרגילים אינם יודעים להבחין, לא בין מילים שבדיבור הן שונות זו מזו בהגייה, ולא בין מילים שהן שוות בהגייה אבל שונות במשמעות.
עבודתי בבלשנות חישובית הביאה אותי לידי פיתוח מנוע חיפוש חדש היודע להתגבר, הן על מילים שוות בכתיבה ושונות בהגייה והן על מילים השוות גם בכתיבה וגם בהגייה, אבל שונות במשמעות. הדרך היתה - לחקות את האדם הקורא. אנחנו איננו קוראים מילים בודדות, אלא בעת הקריאה אנו מחליטים על המילה ומנחשים את משמעותה, כשאנו מתבוננים ביחידה התחבירית הגדולה שהמילה נמצאת בתוכה.
מנוע החיפוש שלנו בנוי על יסוד התבוננות זו של הקורא האנושי. הוא מיוחד מכל שאר מנועי החיפוש, בכך שאינו קורא מילים וגם לא מילים בהתאם ל"הקשר הקצר" שלהן, אלא הוא קורא את המשפט כולו, ורק על-פי המשפט כולו נקבעת הקריאה המתאימה של המילה המבוקשת, ונבדק אם מילה זו היא במשמעות המבוקשת.
כך יכול המנוע להחליט אם המילה אכן שייכת לבקשתו של המשתמש. על כן, כשהמשתמש מבקש מילה מסוימת הוא נשאל קודם כול איזו משמעות של המילה הוא מבקש. מוצגות לפניו כל משמעויות המילה שהוא מחפש, והוא מסמן את המשמעות המבוקשת. התוצאה - המנוע יסמן בטקסט הנבדק רק את המילים בעלות המשמעות המבוקשת. יש כאן שילוב של תחביר ושל סמנטיקה, והמנוע פועל על יסוד מילון תחבירי-סמנטי מורכב שנבנה במיוחד לצורך זה.
התוצאה היא שמידת הדיוק של המנוע הזה גבוהה הרבה יותר מן ה"דיוק" של מנועי החיפוש הקיימים. הם מעלים איתם לקובץ הפלט 60%-80% של "מציאות" מיותרות - מילים הנכתבות אומנם בדומה למילה המבוקשת (או לנטיותיה), אבל אין הן שייכות למילה המבוקשת, בין משום שהן נהגות אחרת, בין משום שמשמעותן אחרת. מה שנקרא בעגה של המשתמשים בשם "זבל".
לעומת זאת, הניתוח התחבירי והסמנטי שלנו לא יציג כמעט שום "מציאה" שאינה שייכת למשמעות או להגייה המבוקשת של המילה. רק 5%-2% של תוצאות עלולות להיות לא שייכות
למילה המבוקשת, מה שמאפשר למחפש לעבוד במהירות וביעילות ולעבד כמויות אדירות של טקסטים בתוך זמן קצר. המנוע מותאם לעבודה באינטרנט, והוא עולה פי כמה על מה שעושים מנועי החיפוש הקיימים, כגון Yahoo, Google, Alta vista ודומיהם.
רב-משמעות של מילים קיימת בכל שפה, וכל מנועי החיפוש המוצאים מילים לפי הצורה נחותים ביחס למנוע שלנו. דרכנו בפתרון בעיית מנוע החיפוש - קריאת המשפט כולו ויכולת הבחנה במשמעויות השונות של אותה מילה - מבטיחה מנועי חיפוש מעולים לא לעברית בלבד, אלא לכל השפות. המנוע מכוון להפעלה על כמויות טקסטים גדולות מאוד, כגון קבצים של גיליונות של עיתון יומי, קובצי ספרים וכדומה.
ברצוני להביא כאן דוגמות אחדות של תוצאות חיפוש במנוע שלנו. לשם כך הכנתי קובץ ובו המילה "דלק" במשפטים שונים, שקריאתה ומשמעותה בהם שונה. כשאני מפעיל את המנוע ומבקש "חיפוש לפי משמעות" - ירשום המנוע את המשמעויות של המילה דלק כדלקמן:
דלק - בער, היה בלהבות
דלק - מי שעובד בתחנת דלק
דלק - נוזל המשמש לבעירה או להתנעה
דלק - פעל, היה מצוי בפעולה
דלק - רדף
נאמר שנבקש למצוא רק את המקרים שבהם המילה "דלק" היא במשמעות - נוזל המשמש לבעירה או להתנעה. לצורך הצגת המנוע נשתמש בקובץ המכיל מספר רב של משפטים שבהם נמצאת המילה "דלק". החיפוש המבוקש של המילים במשמעות זו ייתן את המילים המתאימות לחיפוש כשהן מסומנות על-רקע אדום, מכיוון שלא תמיד ניתן להראות צבעים - המילים שנמצאו מסומנות כאן בסוגריים מזוותים < >, והנה התוצאות:
התנור דולק ומחמם את החדר.
צריך למלא את המיכל <בדלק>.
את המיכל צריך למלא <בדלק>.
השוטר דלק אחרי הגנב.
האור דלק בחדר העבודה.
האריה דלק אחרי הנמר.
מוכרים <דלק> במחיר גבוה.
שאלנו את בעל התחנה מה מחיר <הדלק>.
יש כמה סוגי <דלקים> בתחנה.
האח דולק בחדר.
הנמרים דלקו אחרי האיילות.
יש למלא את המיכל <בדלק>.
הדלק את האור בחדר.
<הדלק> התייקר בשבוע שבעבר.
בבקשה אל תדלוק אחרי כול היום.
האור דולק בחדר המדרגות.
הדליקו את התנור כדי לחמם את החדר.
לעומת זאת, אם נבחר למצוא את המשמעות דלק - רדף, יסומנו המילים הבאות:
התנור דולק ומחמם את החדר.
צריך למלא את המיכל בדלק.
את המיכל צריך למלא בדלק.
השוטר <דלק> אחרי הגנב.
האור דלק בחדר העבודה.
האריה <דלק> אחרי הנמר.
מוכרים דלק במחיר גבוה.
שאלנו את בעל התחנה מה מחיר הדלק.
יש כמה סוגי דלקים בתחנה.
האח דולק בחדר.
הנמרים <דלקו> אחרי האיילות.
יש למלא את המיכל בדלק.
הדלק את האור בחדר.
הדלק התייקר בשבוע שבעבר.
בבקשה אל <תדלוק> אחרי כול היום.
האור דולק בחדר המדרגות.
הדליקו את התנור כדי לחמם את החדר.
צאו וחשבו כמה יגיעות שווא תוכלו לחסוך אם יהיה ברשותכם מנוע החיפוש החדש - חיפוש לפי משמעות.