לא היתה לי ברירה, אז יצרתי שיטה חדשה ונחמדה למציאת התחום העסקי של דומיין וכתובת אימייל, בעזרת Embeddings.
אמבדינגס מה?!
בואו נחזור כמה צעדים אחורה 😀
***
לאחרונה שחררנו לאויר העולם את הקופיילוט שבניתי באלמנטור.
מדובר בכלי שמנחש בעזרת בינה מלאכותית איזה מקטע עיצובי כדאי להכניס לדף ויוצר מקטע כזה שמותאם לתוכן והעיצוב של הדף הנוכחי. הכלי כבר רץ בעשרות אלפי אתרים, בחלק אוהבים יותר את ההצעות שלו, ובחלק פחות.
מה שהוביל אותי לרצות לנתח האם יש קשר לתחום העסקי שבו האתר עוסק, האם יתכן שיש תחומים עסקיים (נניח אתרים לעורכי דין) שהוא עובד טוב יותר לעומת תחומים שיש מה לשפר בהם (נניח אתרים לרופאים).
***
כדי לנתח את זה צריך להבין באיזה תחום עסקי האתר עוסק. הגישה הפשוטה היא לסווג את האתר לפי הדומיין שלו. לדוגמה ynet-co-il שייך לעסקי החדשות, לעומת facebook-com ששייך לעסקי הרשתות החברתיות.
ניתן להשיג את המידע הזה על ידי שירותים שאוספים מידע על דומיינים ויכולים לתת לכם נתונים כמו פופולריות, קטגוריה עסקית, תאריך רישום ועוד. שירותים מוכרים בתחום הם SimilarWeb הישראלית, גם CloudFlare Radar יודע לתת מידע, ויש עוד.
החסרונות בספקים הקיימים
א. חוסר מידע. הספקים בדרך כלל יודעים לסווג דומיינים פופולריים או ותיקים, אבל על דומיינים חדשים, כנראה לא תמצאו הרבה מידע.
ב. קטגוריה מאוד כללית. הספקים בדרך כלל מסווגים בקטגוריה מאוד עליונה, לדוגמה, אתר של קופת חולים, ואתרים של רופאי עיניים ושיניים יסווגו כולם תחת עולם הרפואה.
האתגר
האתגר אצלנו לא ניתן היה לפיתרון על ידי ספקי נתונים קיימים, כיון שהקופיילוט מיועד לשלב בניית האתר, כשהדומיין חדש ולא מוכר או כלל לא קיים, כשהפיתוח הוא על localhost או fbdshjds-hosting-com.
אז לא היתה לי ברירה… ויצרתי מנגנון לאיתור הקטגוריה בעזרת Embeddings.
Embeddings למי שלא מכיר
למי שלא מכיר, מודל Embeddigns יודע לקבל טקסט כל שהוא ולהחזיר וקטור עם מספרים (יכול להגיע לאלפי מספרים) שמייצגים את המשמעות שבו הטקסט עוסק.
לשם ההפשטה המוחלטת, אם אם אני אשאל מה הייצוג של המילה "רפואה" אני עשוי לקבל את המספרים [4,4,4] לעומת המילה "חדשות" שתחזיר [8,8,8].
אם אני אשאל מה הייצוג של ה"מרפאת עיניים" אני עשוי לקבל [4,4,5] שדומה למערך המספרים של רפואה [4,4,4] וכך אפשר להבין ש"מרפאת עיניים" היא כנראה בתחום הרפואה ולא בתחום החדשות.
השיטה החדשה
מכאן הדרך קצרה, לא להשתמש בדומיין עצמו, אלא בכותרת האתר ותיאור האתר, שהם טקסטים שלרוב יש להם משמעות שניתן לשייך אותה לקטגוריה מסויימת.
ביקשתי מAI רשימה של קטגוריות עסקיות מובילות ועל כל הצעה שקופיילוט מייצר, אני רושם את הקטגוריה העסקית שהכי קשורה לכותרת האתר, מה שמאפשר ליצור השוואת שימוש במוצר לפי הקטגוריה העסקית.
התהליך הטכני מתבצע בשני שלבים
השלב הראשון הוא יצירת טבלה עם עמודת הקטגוריה ועמודת הייצוג המספרי.
השלב השני הוא רכיב שרץ על כל הדומיינים המבוקשים, ומבצע את הפעולות הבאות:
א. לגשת לHTML של האתר
ב. לשלוף את התג title ואת התיאור אם יש בog:description.
ג. לבקש את הייצוג של הכותרת ממודל אמבדינגס.
ד. להשוות מול האמבדינגס של הקטגוריות שהגדרנו
ה. לרשום את הקטגוריה הכי קרובה לצד הדומיין המדובר.
לאחר מכן אפשר לבצע ניתוחי נתונים שונים, ולשייך הצלחות וכשלונות של המוצר שלכם גם לרמת התחום העסקי.
היתרונות בשיטה החדשה
א. לפני הכל זה זול, העלות של מודל אמבדינגס לעשרות אלפי דומיינים זה ברמת דולר או שניים, וכך גם הפעלת שרת שיסרוק את כל האתרים המדוברים. לעומת ספקי נתונים שלוקחים על זה טבין ותקילין.
ב. זה עובד גם על דומיינים חדשים, וגם על localhost, כיון שמתבססים על כותרת האתר, והתיאור שלו.
ג. זה מאפשר לכם להחליט מה הקטגוריות שאתם מסווגים. אתם יכולים גם אחרי סיווג וניתוח ראשוני להחליט להיכנס לסיווגי משנה מסויימים ולהריץ שוב. לדוגמה אם תחום הרפואה דומיננטי אצלכם, תוכלו לסווג ממש לפי תחום רפואי, שיניים, עיניים, אורתופדיה וכו' זהו סיווג שכנראה לא תמצאו בשום מקום.
ד. קטגוריות מרובות שמייצגות את המהות. לדוגמה עבור לימודי קונגפו תמצאו שזה קרוב גם לקטגוריית לימודים, וגם לקטגוריית ספורט או קרב מגע.
המגבלות
א. לא כל האתרים עם כותרת ברורה שניתן להבין את המשמעות הקטגורית שלהם. אז צריך למצוא בהתאם לסוג הנתונים שלכם מהו אחוז הדמיון שממנו ומטה הקטגוריה כבר לא רלוונטית.
ב. לא מומלץ להפעלה מהמחשב האישי, צריך לעבוד נכון מבחינת זיהוי הIP כבוט שסורק אתרים, וגם לא תמיד תרצו לחשוף את הביקור שלכם בדומיין.
ג. אם יש לכם ריבוי שפות, אז צריך להשתמש עם מודל אמבדינגס קטן, כדי שלא יצור ייצוג שונה לשפות שונות.
במודל אמבדינגס גדול, הוא נותן משמעות גם לשפה, ואז "עורך דין" בעברית עשוי לצאת רחוק יותר מקטגוריית "Lawyer".
מצד שני, מודל קטן פחות רגיש לניואנסים אחרים.
אפליקציית הדגמה
בבדיקה שלי על מגוון רחב של דומיינים, הדיוק הקטגורי של הכלי שבניתי בכמה שעות, טוב פי כמה משל ספקי הנתונים למיניהם. אבל אשמח אם גם אתם תתנסו ותתנו פידבק.
אז ביקשתי מChatGPT ליצור לי אפליקציית ריאקט עובדת לדבר הזה, עזרתי לו קצת, והנה אתם יכולים לשחק בו בלינק בזה.
אשמח לשמוע על סיווגים שגויים, כדי להוסיף עוד קטגוריות מתאימות.