אלגוריתם פונטי
מתוך ויקיפדיה, האנציקלופדיה החופשית
אלגוריתם פונטי הוא אלגוריתם לניתוח מילים ומיפוי צורת ההגייה שלהן. מיפוי כזה מאפשר השוואה בין צורות שונות לכתיב של אותה מילה ומאפשר להתגבר על שגיאות כתיב או הקלדה של מילים ושמות זהים באיות שונה. אלגוריתם פונטי תלוי באופן טבעי בשפה שבה הוא מופעל, ועקב שליטתה של האנגלית בתחומי מדעי המחשב מרבית האלגוריתמים הפונטיים מותאמים לאנגלית (אך ניתן להתאימם לשפות אחרות, תוך שמירה על עקרונותיהם).
אלגוריתמים פונטיים נפוצים לשפה האנגלית הם -
- סאונדקס (soundex) - פותח בארצות הברית בתחילת המאה ה-20 ושימש לניתוח שמות מתוך מרשם האוכלוסין. משמש פעמים רבות כשם גנרי לכלל האלגוריתמים הפונטיים.
- Daitch-Mokotoff Soundex - אלגוריתם שפותח על מנת להתאים להגייה של שמות יהודיים וסלאביים באנגלית
- Metaphone וDouble Metaphone - שני דורות של אלגוריתם שנועד לתת מענה טוב לכל המילים בשפה האנגלית, ולא מוכוון לשמות.
בישראל פותחו מספר אלגוריתמים פונטיים לשפה העברית. ביניהם אלגוריתם דמוי סאונדקס שפותח במסגרת מרשם האוכלוסין בשנות ה-60 ואלגוריתם בשם GRAPHEX שפותח בצה"ל על ידי אסא כשר.
[עריכה] שימוש באלגוריתם
אלגוריתם פונטי משמש בעת הזנת נתונים למחשב, כחלק מבדיקות הקליטה, ובעת אחזור מידע.
בעת עדכון מאגר נתונים משמשת בדיקה באמצעות אלגוריתם פונטי כאישור נוסף לכך שרשומה שמצאנו במאגר הנתונים (על-פי מפתחה) אכן מתאימה לרשומת התנועה שבאה לעדכן אותה.
דוגמה: בקובץ חיילי צה"ל רשומה לכל חייל. מפתח הרשומה הוא המספר האישי של החייל, שאינו כולל ספרת ביקורת. עקב היעדר ספרת ביקורת, טעות בהקלדת ספרה במספר האישי תוביל בסבירות גבוהה לרשומה של חייל אחר, שאין כוונה לעדכנה. השוואה בין שם החייל הרשום במאגר הנתונים לשמו המוקלד תאפשר לוודא שאכן מדובר ברשומה הנכונה. השוואה רגילה בין השמות אינה יעילה, כיוון ששמות נכתבים בצורות שונות עקב סיבות רבות, כגון:
- כתיב מלא וכתיב חסר (דוד - דויד, למשל)
- החלפת אותיות בעלות צליל דומה (מכבי - מקבי, למשל)
- החלפת אותיות בעלות גופן דומה (ף - ץ, למשל)
- שינוי סדר אותיות סמוכות (ידין - דיין, למשל).
- שיבוש אקראי (כוכבא - כוזיבא, למשל).
על-מנת להיות יעילה, על השוואת השמות להיות כזו שתתעלם מהבדלים לא משמעותיים ביניהם, ולכך משמש אלגוריתם פונטי.
בעת אחזור מידע ממאגר נתונים, מסייע אלגוריתם פונטי לאיתור הרשומות המבוקשות.
דוגמה: אדם מנסה לאתר בספר טלפונים ממוחשב את ידידו מנוער, יהושע דוידוביץ. יש דרכים שונות לאיית שם זה, וחיפוש המסתייע באלגוריתם פונטי יאתר את כל השמות השקולים לשם המבוקש.