This page in Hebrew -- אתר זה בעברית

Personal details:

This is me, Shlomo Yona:
Shlomo Yona
My name is Shlomo Yona. I am married and a proud father. I was born in Israel in 1976, served in the IDF in the intelligence corps . I am a computer and software engineer by education and an algorithms "hands on" applied researcher and a web application security expert by profession. I am usually working on Formal and Natural Language text Processing algorithms and Machine Learning tasks. I am also a Perl Monger, who sometimes gives talks about various computing topics to Perl programmers, and one of the organizers of the YAPC::Israel conferences. You can read my occasional blog posts at, view my occasional photographic posts at and view my professional profile and network at I'm a Mathematics teacher and I volunteer frequently at high schools, junior high schools, elementary schools and kindergartens to teach Mathematics and Mathematical thinking. I also cunsult parents with how to help their children with their homework.
Homepage (English)
Homepage (Hebrew)


I have an M.Sc. in computer science from Haifa university. My thesis was to build a finite-state based morphological analyzer for Hebrew, which resulted in several by products, one of them is a finite-state morphological grammar of Hebrew. My B.Sc. in Computers and Software Engineering is from the faculty of Electrical Engineering at the Technion, Israel Institute of Technology.

I am a member of the Association for Computing Machinery (ACM) and used to also be a member of the IEEE Computer society and the ACL. I participate in several special interests groups related to natural language processing, information retrieval and knowledge discovery. I also attend local linux groups and Perl mongers activities that provide weekly and monthly meetings where various open-source technologies are introduced and demonstrated.


I have over 13 years of experience in algorithms, software engineering, design and implementation of software, in particular in the fields of Web Application Security, Formal Language Processing, Natural Language Processing, Recommender Systems, Machine Learning and Algorithms design and analysis. I'm basically a unix person. I'm always interested in new opportunities and job offers. My CV is available here.

Since June 16th 2013 I'm back working as an Architect at F5 Networks. I'm working on future products and capabilities, mainly related to security. I'm doing formal language processing (parser and compiler design and implementation), machine learning, statistical inferece and predictive analytics.

Since October 2010 I am working as a senior software and algorithms developer at Outbrain. My job description includes: development of software and algorithms in machine learning, search, optimization and personalization - from an idea to a working code; development of highly-scalable, high performance, multithreaded, service-oriented software modules; responsibility on software and algorithms modules. I spent my last year at Outbrain as a Data Scientist making sense on lots and lots of Data.

I was working full time as an Architect at F5 Networks. I worked there as a Principal Software Engineer since March 1st 2005 and in July 2008 started a new role as an Architect. I worked in several teams and developed and maintained software in C, Perl and Java. I lead and managed two teams (Policy Building team and Text Processing team). I was technically leading the ASM product and have had many algorithmic and intellectual property contributions to F5's technology. I was leading the "patent awards" almost every quearter for 4 years, submitting several dozens of patent proposals.

I used to work as the Natural Language Engineer of the Knowledge Center for Processing Hebrew, where I designed standards for representation of corpora and lexica, and developed and maintain software for an infrastructure for Natural Language Processing in Hebrew. I established the Center's laboratory from scratch. I worked there from April 2003 and until the end of December 2005. Currently, I only help there occasionally (voluntarily).

I spent 4 months (September-December, 2003) at Phonetic Systems Ltd., the R&D branch of Phonetic Systems Inc., as a natural language engineer at the core technology team at the signal processing department of the R&D unit. I've built and trained a group of 15 people (3 teams of analysts) in order to automate rule-based language processing procedures for enriching very large databases for efficient and accurate search.

Since I 2001 I was involved in research and development at the Computational Linguistics Group (CLG) at Haifa university. My work involved collection, representation and processing of Hebrew corpora and Hebrew morphology (rule based, unsupervised learning and supervised learning approaches). It is this work that led me to work at the knowledge center. My involvement in this group ended at the end of February 2005.

I worked for Siftology for two and a half years at their Israeli R&D branch, since its first day and until it was closed down in May 2002. It was there where I initially was introduced to natural language processing and information retrieval and became familiar and proficient with statistical natural language processing and machine learning techniques. At Siftology we developed tools for document categorization, clustering, summarization, search, and technology for applying natural language understanding to interactive TV. The technology was applied to several languages such as English, French, Portuguese, Japanese and Dutch.

During 1999-2000 I developed a monitor for a distributed system in the distributed systems lab at the Technion in the Symphony project.


Courses, lectures and talks

I have taught lectures in several courses, such as C and Perl programming, but usually I give monthly talks, mostly at the monthly meetings. Following, are lecture slides for some of the courses and talks I presented.


Many of the products and resources offered on the website of the Knowledge Center for Processing Hebrew were developed by me. The center's site was also developed by me.

As my M.Sc. thesis I've developed a finite-state based morphological analyzer for undotted Hebrew. The binaries, source code, documentation and a demo of the analyzer are available at the following link: A Finite-State Based Morphological Analyzer for Hebrew.

I maintain several Perl modules on CPAN.

I implemented a very simple part-of-speech tagger for Hebrew. The task is considered as a classification problem, and was solved by applying an array of Perceptrons to learn from training data and provide weights that can be used to classify unseen data. This work was done as an assignment in a statistical natural language processing course. The code and a short explanation is available in a tarball. The implementation is in Perl. Check out an implementation of Perceptron/Winnow algorithm in Perl:, example.perl. Check out the lecture slides I prepared for a talk I gave about this.

An ANSI C implementation of a Suffix Tree can be found here. This code originates from a project I supervised. I maintain the code when time permits.

A very simplistic implementation of the Minimally Supervised Morphological Analysis by Multimodal Alignment algorithm.

While taking a course at the computational linguistics lab at the computer science department at Haifa university I did a project titled "Implementing an Automatic Acquisition of a Two-Level Morphological Rules System". The full project implementation (sources + documentation) is available.

Some toy implementations can be found in the homework section. Others can be seen/obtained upon request.

During the last year of my B.Sc studies I have done 3 large projects.

Project Lab Major Technologies Company involved
Tunneling HTTP Traffic to Allow Free Surfing Despite Firewall Supervision Computer Networks Laboratory at the Electrical Engineering Department HTTP, Firewall, Perl Our solution worked well with the Checkpoint firewall.
A System For Automatic Generation of B2B/B2C Electronic Catalogs with XML Based Communication Software Lab at the Electrical Engineering Department XML, Code Generation, Java, Servlets, Database, HTTP Project done for Tandem-Labs Israel
Parallel Perl Robot - Implementation of a Search Engine Crawler Computer Networks Laboratory at the Electrical Engineering Department Internet Protocols, Database, Search Engine An advanced version of this crawler was used by Siftology inc.


Discussion about valid prefixal particle combinations in modern Hebrew (HTML, in Hebrew). This is still a work in progress.

I'm maintaining a Hebrew Lexicon, represented in XML. The lexicon's XML structure is defined using an XML Schema, which is also available. The lexicon is being built and is growing using free resources and independent lexicography.

Tagged Hebrew Corpora is a collection of Hebrew texts collected from on-line sources, represented in XML and annotated with morpho-syntactical annotations. I have compiled these corpora in order to have some data on which I can have machine-learning algorithms evaluated. I presume such a resource might also come in handy for researchers who are interested in Hebrew (computational) linguistics.

Here's a link to a small morpho-syntactically annotated Hebrew corpus. My part in this corpus is the XML standard for representation and the conversion script from the original annotation format.

Here's a link to a big corpus of newswire Hebrew text, daily updated, tokenized and annotated, including n-gram statistics on characters and words. I've developed a systems which extracts new texts, analyzes them, performs tokenization and annotation and calculates n-gram statistics, on a daily basis. The corpus contains news and articles starting at 2001 and currently contains news and articles from over 3 years.

The above efforts are part of a Collection, organization and annotation of Hebrew corpora project done at the CLG.

Hobbies :

I have very little "free time", but I do my best to spend all or most of it with my lovely family.

I enjoy photography, especially since I purchased a Canon 350D eos camera with a few lenses, which significantly enhance my photography experience (and also the results...). Here's a partial list of my photography gear:

Some of the pictures I took can be viewed at my account (username: shlomoyona).

I do "mountain biking" when time and weather allow. I own a GIANT ATX 860 bicycle. Lately, I have added a seat that allows my son or daughter to ride with me. It's a lot of fun.

I like music. I studied in a music school for about 7 years. I play the piano. In recent years I haven't practiced much, so I probably don't play so well anymore. Jazz is the kind of music I like most. You can hear a lot of Jazz music in the Israeli radio station - 88FM.

I used to practice professional Judo. I have also earned an official "instructor" certification, that allows me to instruct Judo. After a series of serious injuries I stopped training and retired.

I'm considered a book worm. In addition to professional and academic papers that I regularly read, I read at least on book a month. Read my public book reviews on Amazon and my public book reviews on This is my book wish-list. If you want to buy me books - use this :-). a comprehensive list of the books I own and those I read -- still not publicly available.

I am a Perl Monger and participate in the Israeli Perl Mongers meetings, hosting them sometimes, and giving lectures there sometimes. I am a co-organizer of YAPC::Israel conferences. Some of my Perl modules are available on CPAN.

I sometime participate in some forums of Tapuz. Check out my Tapuz personal card.

See a social/professional network that I'm part of at

You can also read my blog: Shlomo Yona @ blogspot

Valid HTML 4.01!