GEUL לא דוחה את ויקינתונים. היא עומדת עליהם.


אי אפשר ליצור שפה בלי מילון

כל שפה צריכה אוצר מילים.

לקוריאנית יש מילון קוריאני. לאנגלית יש מילון אנגלי. לשפות תכנות יש ספריות סטנדרטיות.

כך גם לגבי שפה מלאכותית. רשימת ישויות, רשימת יחסים, רשימת תכונות. איזה קוד מייצג את “Samsung Electronics” בשפה הזו? איזה קוד מייצג את היחס “בירה”? צריך אוצר מילים לפני שאפשר לכתוב משפט.

איך בונים את אוצר המילים הזה? יש שתי דרכים.

לבנות מאפס. או להשתמש במה שכבר קיים.


לבנות מאפס: הלקח של CYC

פרויקט CYC התחיל ב-1984.

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

שלושים שנה חלפו. מיליוני כללים הוזנו.

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

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


מה שכבר קיים: ויקינתונים

ויקינתונים (Wikidata) הושקו ב-2012.

בסיס ידע מובנה המנוהל על ידי קרן ויקימדיה. כל אחד יכול לערוך. נכון ל-2024, מכילה יותר מ-100 מיליון ישויות. יותר מ-10,000 תכונות. מיליארדי הצהרות. תוויות ביותר מ-300 שפות.

הקנה מידה ש-CYC לא הצליח להשיג ב-30 שנה עם צוות מומחים, ויקינתונים השיגו ב-10 שנים עם קהילה.

בואו נראה מה ויקינתונים מספקים.

מזהי ישויות. Q-ID. Samsung Electronics הוא Q20718. סיאול היא Q8684. יי סון-סין הוא Q217300. מזהים ייחודיים גלובלית. בלתי תלויים בשפה.

מזהי תכונות. P-ID. “מיקום מטה” הוא P159. “תאריך ייסוד” הוא P571. “אוכלוסייה” הוא P1082. יחסים ותכונות מזוהים באופן ייחודי.

מבנה היררכי. P31 (instance of) ו-P279 (subclass of) יוצרים היררכיית טיפוסים. “סיאול ← עיר ← יישוב אנושי ← ישות גיאוגרפית.” מערכת הסיווג של העולם מתבטאת דרך שתי התכונות האלה.

תוויות רב-לשוניות. התווית הקוריאנית של Q20718 היא “삼성전자”, התווית האנגלית היא “Samsung Electronics”, התווית היפנית היא “サムスン電子”. מזהה אחד, שמות שונים לכל שפה.

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

אין סיבה לבנות את כל זה מאפס.


אוצר המילים של GEUL מגיע מויקינתונים

ה-SIDX (Semantic-aligned Index) של GEUL הוא מזהה מיושר-סמנטית בן 64 ביט. המשמעות מקודדת בביטים עצמם. בבדיקת הביטים העליונים בלבד, אפשר לדעת אם משהו הוא אדם, מקום או ארגון.

ספר הקוד של SIDX — איזה תבנית ביט ממופה לאיזו משמעות — מופק מויקינתונים.

התהליך כדלקמן.

שלב 1: חילוץ טיפוסים. מחלצים את כל ה-Q-ID המשמשים כמושאים של P31 (instance of) בויקינתונים. זה מייצר את רשימת ה"טיפוסים". “אדם (Q5)”, “עיר (Q515)”, “מדינה (Q6256)”, “חברה (Q4830453)”… סופרים כמה פעמים כל טיפוס משמש — מספר המופעים.

שלב 2: בניית היררכיה. מחלצים יחסי P279 (subclass of) בין טיפוסים. “עיר ← יישוב אנושי ← ישות גיאוגרפית ← ישות.” זה יוצר את מבנה העץ של הטיפוסים. מזהים צמתי שורש, צמתי עלים וצמתים ביניים. מזהים ומטפלים בירושה מרובה — מקרים שבהם טיפוס אחד שייך למספר טיפוסי אב.

שלב 3: הקצאת ביטים. מבנה העץ קובע את יחסי הקידומת של תבניות הביט. תתי-טיפוסים תחת אותו אב חולקים את אותה קידומת. “עיר” ו"עיירה" חולקות את הקידומת של “יישוב אנושי”.

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


מה ויקינתונים מספקים

בתהליך הזה, ויקינתונים מספקים שלושה דברים.

מערכת סיווג. תשובה ל"אילו סוגים של דברים קיימים בעולם?" ב-CYC, צוות מומחים תכנן את זה. GEUL מחלצת את זה מויקינתונים. מערכת סיווג שנבנתה על ידי מיליוני עורכים במשך 10 שנים, ממורה לעץ ביטים.

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

מיפוי מזהים. מיפוי בין ה-Q-ID של ויקינתונים ל-SIDX של GEUL. איזו תבנית ביט ב-SIDX מתאימה ל-Q20718 (Samsung Electronics)? עם מיפוי זה, ידע ויקינתונים ניתן להמרה ל-GEUL, והצהרות GEUL ניתנות להמרה חזרה לויקינתונים.


מה ויקינתונים לא מספקים

ויקינתונים הם מילון. מילון הוא לא שפה.

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

מה שויקינתונים לא מספקים הוא מה ש-GEUL מוסיפה.

מעובדות לטענות. יחידת הבסיס של ויקינתונים היא עובדה (Fact). “האוכלוסייה של סיאול היא 9.74 מיליון.” או נכון או לא נכון.

יחידת הבסיס של GEUL היא טענה (Claim). “לפי A, האוכלוסייה של סיאול היא בערך 9.74 מיליון. (ביטחון 0.9, נכון ל-2023)” מי טוען, באיזו רמת ודאות, ונכון למתי — כל זה מוטמע בהצהרה. הבדל זה נדון בפירוט בלמה טענות ולא עובדות.

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

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

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

GEUL מתוכננת ביחידות מילים של 16 ביט. מיפוי אחד לאחד עם טוקנים של LLM. מערכת ייצוג הבנויה על ההנחה שחלונות הקשר הם סופיים. זה כבר נדון בלמה לא MD/JSON/XML.

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


היחס בין מילון לשפה

לסיכום:

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

GEUL בונה דקדוק מעל אוצר המילים הזה. מערכת הסיווג של אוצר המילים ← עץ הביטים של SIDX. סטטיסטיקות התדירות של אוצר המילים ← סדרי העדיפויות של הקצאת ביטים. המזהים של אוצר המילים ← המיפוי ל-SIDX.

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

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

כי ויקינתונים קיימים, GEUL לא מתכננת אונטולוגיה. היא ממירה קונצנזוס קיים.


סיכום

שפה מלאכותית צריכה אוצר מילים. בנייה מאפס היא מה ש-CYC ניסה, ו-30 שנה הוכיחו את גבולות הגישה.

ויקינתונים הם אוצר המילים של העולם, עם יותר מ-100 מיליון ישויות, יותר מ-10,000 תכונות ומיליארדי הצהרות. מיליוני עורכים בנו אותם במשך 10 שנים.

ספר הקוד SIDX של GEUL מופק מויקינתונים. תדירויות המופעים של P31 קובעות את הקצאת הביטים, וההיררכיה של P279 מהווה את השלד של עץ הביטים.

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

GEUL לא דוחה את ויקינתונים. היא עומדת עליהם.