Monday, October 25, 2010

A view of Outbrain's algorithms' focus


There's a post at the Outbrain blog, What do readers really want?, which reasons why contextual relations among documents is not necessarily the most interesting content for readers when being recommended for additional content. Apparently, the related contextual related content is less appealying to readers than the behavioral related content.

* Popularity: recommending content that is trending up in popularity on the site
* Contextual: recommending content related to the page the person is currently on
* Behavioral: recommending content based on audience dynamics. For instance, finding content that people with similar reading habits have been consuming, that is not mainstream popular, and that the person has not read before
* Personal: recommending content within broad categories that the person frequents but not necessarily related to the page they are on at present

When evaluating success, we look at a couple of metrics.

1. How frequently do people click on links based on the algorithmic approach (CTR, or “click through rate”)
2. How many more pieces of content does the person consume on the site *after* clicking on the link (what we call PVAC, or “pageviews after the click”)


Check out that post: What do readers really want? by David Sasson.


Sunday, October 24, 2010

החלטות מקבלים ולא לוקחים


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

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


Saturday, October 23, 2010

בילוי עם הוריי

בצהריים נפגשנו היום עם הוריי במסעדת קם-סון בהוד השרון ואחרי שסעדנו שם טיילנו כולנו ביחד בטיילת של נתניה על המצוק. היה נחמד. הנה תמונות מהבילוי. התמונות במלואן ועוד רבות אחרות זמינות בכתובת http://yeda.cs.technion.ac.il/~yona/aviv/2010/10.2010/index.html#23.10.2010


























































































Recitation Slides for Introduction to Computer Science, C language


I was teaching students in Haifa university during recitations of Introduction to Computer Science, C language course that they needed for the undergraduate studies (usually 1st semester).
The slides that I produced and used are still available on the net and I was recently surprised to realize that Google Alerts found them for me.

Here is the link: http://yeda.cs.technion.ac.il/~yona/c/index.html -- there are 14 recitations for 14 weeks of the cours.

Friday, October 22, 2010

אביב במשקפיים

הנה אביב במשקפיו החדשים (לצילומים כולם, שהרי זה רק מדגם, יש ללחוץ על הקישור הזה)




















































חור שחור מתמטי -- מספרי סיזיפוס


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


נתון מספר, למשל, 982100

1. נספור את מספר הספרות הזוגיות

2. נספור את מספר הספרות האי-זוגיות

3. נספור את מספר הספרות בסך הכול

4. המספר הבא בתהליך הוא זה שמתקבל מ-מספר הספרות הזוגיות כאשר משורשר לו מימין מספר הספרות האי-זוגיות ולבסוף משורשר מימין מספר הספרות בסך הכול.

במקרה שלנו המספר המתקבל בשלב הבא של התהליך יהיה 426, כי יש 4 ספרות סוגיות (0,0,2,8) ושתי ספרות אי-זוגיות (1, 9). יש להבחין שזהות הספרות אינה חשובה, אלא רק הזוגיות שלהן חשובה.

5. ממשיכים לפי ההוראות של השלבים 1-4 שוב ושוב עד אשר מתקבל אותו המספר שוב ושוב ושוב.... זה קורה כאשר מגיעים ל-123.



בהסברים של המקבץ שקיבל אביב ממכון ויצמן הפעם כתוב:

"מספר סיזיפוס כונה 'חור שחור מתמטי' על יד המתמטיקאי מייקל אקר (Michael Ecker) משום שבדומה ל'חור שחור' שמושך את מה שקרוב אליו, המספר הזה "מושך" אליו את כל המספרים השלמים כולם. לא משנה באיזה מספר התחלתי בוחרים - כאשר מבצעים עליו את האיטראציה המתוארת הוא נופל לתוך 'החור השחור המתמטי', מספר סיזיפוס - 123!"

שאלה שמצאה חן בעיני היתה:



מהו מספר השלבים הגדול ביותר האפשרי עד שמגיעים למספר סיזיפוס אם מתחילים ממספר תלת - ספרתי? שימו לב: שלב הוא כל מעבר ממספר למספר שבא אחריו.

אביב הגיע למסקנה שמספר הצעדים הוא לכל היותר 2. והנה הנימוק שלו:


נתבונן במקרים הבאים:
1. כל הספרות זוגיות (אין בכלל ספרות איזוגיות) -- אז נקבל: 303 -> 123
לכן במקרים אלה יש רק שלב אחד
2. יש רק ספרה איזוגית אחת -- אז נקבל :213 -> 123. גם כאן רק שלב אחד
3. יש שתי ספרות איזוגיות -- אז נקבל: 123 ואין צורך בשלב נוסף
4. יש שלוש ספרות איזוגיות (אין זוגיות בכלל): 033 -> 123
מסקנה: צריכים לכל היותר שני שלבים.

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


התוכנית מקבלת משורת הפקודה שני מספרים, מספר התחלה ומספר סיום, לציון התחום שיש לעבור עליו. למשל, לשאלה שקיבל אביב התחום המתאים הוא 100 עד 999. התוכנית כתובה בשפת Perl.






#!/usr/bin/perl

use strict;

use warnings;

my $from = shift;

my $to = shift;

my $max_iter=0;

foreach (my $i=$from; $i<=$to; ++$i) {

print $i,"\n";

my $num_iter=0;

my @old_r = split '',$i;

while (1){

my @r=iter(@old_r);



last if equals(\@r,\@old_r);

@old_r=@r;

++$num_iter;

print "@r\titeration #",$num_iter,"\n";

$max_iter=$num_iter if $num_iter>$max_iter;

}

print "\n===\n";

}

print "\n\nmax=$max_iter\n";



sub iter {

my $even=0;

my $odd=0;

foreach my $d (@_) {

if ($d%2) {

++$odd;

}else{

++$even;

}

}

return ($even , $odd , $even+$odd);

}



sub equals {

for(my $i=0; $i<scalar @{$_[0]}; ++$i){

return 0 if $_[0]->[$i] != $_[1]->[$i];

}

return 1;

}








תוכנית המחשב אכן אישרה את התוצאה שאליה הגיע אביב בכח המחשבה!

חוג מתמטיקה בהתכתבות של מכון דוידסון במכון ויצמן


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

אנחנו נהנים לנו מהפעילות ולומדים תוך כדי כך לבצע חישובים, להסביר ולנמק את התשובות שלנו בשפה ברורה ומתמטית וגם לומדים מושגים חדשים (איזה כיף שיש גוגל וויקיפדיה!)

IntelliJ IDEA will be Open Sourced starting version 9.0


The IntelliJ Blog announced that IntelliJIDEA 9 will be open source. In addition to the commercial edition, called Ultimate Edition, there's now a community edition, which is available under the apache 2.0 license. Here's a comparison of the two editions.

Thursday, October 21, 2010

Bruni PR about Outbrain



Bruni PR posted a blog post about Outbrain on his blog .

עלילונים מעשה ידיה של אחותי, רות


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







































Wednesday, October 20, 2010

מסתבר שאני מוזכר בספרים


מצאתי אזכורים לעבודות שלי בכמה ספרים באמצעות חיפוש ב- Google Books. עלו 7 תוצאות, מהן 2 שאינן קשורות בי. התוצאות הרלוונטיות הן 1, 2, 3, 5 ו-6 ואילו תוצאות 4 ו-7 אינן רלוונטיות. האזכורים עוסקים בשני נושאים: האחד, פיתוח כלי לחילוץ משפטים מטקסטים שכתבתי בשפת פרל (Perl) והשני עבודת המאסטר שלי ומשאבים לעבוד שפה טבעית שפיתחתי בהקשר אליה בקבוצת המחקר לבלשנות חישובית באוניברסיטת חיפה (CLG): מורפולוגיה עברית ו-קורפורה בעברית.


  1. Hans Christian Boas - 2009 - 350 pages - Preview
    Wintner, Shuly and Shlomo Yona 2003 Resources for Processing Hebrew. In: Proceedings of the MT Summit IX Workshop on Machine Translation for Semitic Languages. New Orleans. Yona, Shlomo and Shuly Wintner 2005 A Finite-state ...
    books.google.com
  2. Alexander Gelbukh - 2007 - 648 pages - Preview
    ... Ministry of Science and Technology, under the auspices of the Knowledge Center for Processing Hebrew. The research was supported by a grant from the Israel Internet Association. I am very grateful to Shlomo Yona for implementing the ...
    books.google.com - More editions
  3. Sergei Nirenburg - 2009 - 333 pages - Preview
    [37] Shlomo Yona and Shuly Wintner. A finite-state morphological grammar of Hebrew. Natural Language Engineering, Forthcoming. [38] Kenneth R. Beesley. Arabic morphology using only finite-state operations. In Michael Rosner, editor, ...
    books.google.com
  4. Shabtai Teveth - 1988 - 992 pages - Snippet view
    60, 61; IG, letters 25, 28; personal interview with Shlomo Yona (Taub). 17. Personal interview with R. Beit-Halachmi; IG, letters 27, 28. Chapter 3: Jaffa 1. DBG to Israel Shochat, Jan. 15, 1956; DBG to Shlomo Zemach, Sept. ...
    books.google.com - More editions
  5. Roger Bilisoly - 2008 - 295 pages - Snippet view
    126. Dominic Widdows. Geometry and Meaning. CSLI Publications, Stanford, California, 2004. 127. Shlomo Yona. Lingua::EN::Sentence, Version 0.25, 2001. URL: http://search.cpan.org/" ...
    books.google.com
  6. Gérald Purnelle, Cédrick Fairon, Anne Dister - 2004 - 1219 pages - Preview
    Pour ce faire, nous avons utilisé le module Sentence. pm, développé par Shlomo Yona ...
    books.google.com - More editions
  7. David Levi-Faur, Gabriel Sheffer, David Vogel - 1999 - 304 pages - Preview
    Shlomo-Yona ...
    books.google.com - More editions





Monday, October 18, 2010

finding implementation of an interface method in Eclipse

You read your code and bump into a method that you'd like to dive into. You then, most probably, hit F3 (find it's declaration) or attempt to drill down using CTRL + LEFT-MOUSE-CLICK. However, then you end up with a declaration of the method's signature in an interface. What you'd like to find are the implementations of that method. Fear not! Instead of ending up at the signature in the interface press CTRL + T which will popup the implementations with shortcuts to the actual implementations' code.

Source: http://zvikico.typepad.com/problog/2008/01/eclipse-tip-qui.html

מצגת על הלקסיקון מעבודת המאסטר שלי


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