Frequently Asked Questions

What is Hspell?

The Hspell project is a free Hebrew linguistic project.

Its primary goal is to create a free Hebrew spell-checker. We have already achieved that goal, and you are invited to Download the latest version of the spell-checker. It is free software, licensed under the GNU Affero General Public License (AGPLv3).

In addition to a spell-checker, the project also produced a Hebrew morphological analyzer, which for every valid Hebrew word lists all of its possible readings (combinations of prefix and inflected base word).

The secondary goal of the project is to make the algorithms and dictionaries, created initially for the spell-checker, freely available. These could be used in more sophisticated research or applications that require Hebrew word lists or a Hebrew morphology engine.

Such potential application areas might include search engines, speech synthesis, and much much more. The availability of a free basis will hopefully encourage free development on top of it, to the benefit of the general Hebrew-speaking population.

Who wrote Hspell, and why?

Hspell was written by Nadav Har'El and Dan Kenigsberg.

Both authors are avid supporters of free software. In January 2000, they realized that while support for Hebrew is growing in the big free software projects (such as Web browsers and word processors), there are a few Hebrew-specific programs that are not likely to miraculously appear. One of these important missing pieces was a Hebrew spell-checker.

After an initial (and not very useful) proof-of-concept was produced, Hspell development remained dormant until development resumed at full steam in October 2002, and the first public release was made in December of that year. Since then, we produced eleven more releases, in which we continued to improve Hspell and make its vocabulary more complete. The latest release (so far) was Hspell 1.2, in February 2012.

To use Hspell, do I need to download it from this site?

Probably not. Nowadays, most users of Hspell will never need to download it from this site. Some will even enjoy Hebrew spell-checking without realizing that they are using Hspell.

Today, all common multi-lingual spell-checking frameworks — aspell, myspell and hunspell — have a Hebrew dictionary built from Hspell's data. Some major applications, like OpenOffice and Firefox, include one of these frameworks, and allow users to easily download the dictionary for any language, including Hebrew, as a plugin.

In some operating systems, such as most Linux distributions and Mac OS X v10.6, spell-checking across the whole system depends on one of these multi-lingual spell-checkers, so installing the Hebrew dictionary (which is often an addon package of the distribution) gives all or many applications Hebrew spell-checking support.

Finally, some Web applications ("software as a service"), such as Google's Gmail mail service and Google Docs word processor, use Hspell to provide Hebrew spell-checking to their users.

And if I still want to download the source?

There remain many good reasons to download Hspell from this site. Your operating system might not include Hspell, or includes an old version. You might want to look at the source code, or modify it. You might like to use Hspell's spell-checking utility or library, both more efficient than their multi-lingual counterparts. You might like to use one of Hspell's advanced features such as morphological analysis. Or you might like to use Hspell's data for something we've never envisioned.

You can download here the source of the latest version of Hspell.

Note that Hspell was written on, and for, Unix-like platforms such as Linux, BSD and Solaris. While it can be used, in theory, on any operating system with the tools it needs (e.g., Perl is needed during compilation), please don't ask us to help you tweak it for proprietary operating systems such as Microsoft Windows, unless you are willing to pay for our time. You can also do it on your own, or use one of the several commercial Hebrew spell-checkers that are available for Windows.

Can I use Hspell in my own software?

Hspell's license, the AGPL, is a copyleft free-software license. According to this license, if you use Hspell yourself, you are free to do with it whatever you want, for business or for pleasure. However, if you include Hspell in software which you intend to sell or otherwise distribute to others, or in software which others will use through a network server (software-as-a-service), then you must release your software as free software as well. In particular, you must give users of your software its source code, in essence giving your users the same freedoms you got from Hspell.

If you really want to include Hspell in proprietary (non-open-source) software, or in non-open-source online services, please email us and we can negotiate different licensing terms.

Can I try Hspell without installing anything?

If you want to try Hspell's spell-checking and morphological-analysis features without downloading or installing anything, try Hspell's online demonstration. In the Web form, can type Hebrew and see your errors, suggested corrections, and (if you want) morphological analysis of the correct words.

What is Hspell's spelling standard?

Hspell was designed to be 100% and strictly compliant with the official niqqud-less spelling rules ("כתיב חסר-ניקוד", colloquially known as "כתיב מלא"). These rules are published by the Academy of the Hebrew Language and are partially available online, and can also be found in an appendix in most modern Hebrew dictionaries. All recently published Hebrew dictionaries, including מילון ההווה, רב-מילים, and the new (2004) edition of אבן שושן, use niqqud-less spelling.

Our strict compliance with these rules is both an advantage and a disadvantage, depending on your viewpoint. It's an advantage because it encourages a correct and consistent spelling style throughout your writing. It is a disadvantage, because a few of the Academia's official spelling decisions are relatively unknown to the general public, and sometimes even disputed by popular publishers.

Users of Hspell (and all Hebrew writers, for that matter) are encouraged to read the Academia's official niqqud-less spelling rules, get to know them, and start using them.

Future releases may include an option for alternative spelling standards.

But Hspell tells me to write "אימא" instead of "אמא", and "אפנה" instead of "אופנה", and even "אמתי" instead of "אמיתי"!

Please see the previous answer. We weren't kidding when we said that Hspell is in 100% accordance to the Academia's niqqud-less spelling standard.

If you are curious why Hspell spells a particular word the way that it does, please refer to our document סוגיות בכתיב חסר הניקוד. This 70-page document explains Hspell's spelling standard in detail, and discusses spelling decisions that we had to take while developing Hspell — especially those which were more controversial.

If you really want Hspell to accept mis-spelled variants, you can add them to your personal dictionary.

How does Hspell work?

The "hspell" program itself is a relatively-simple (but efficient) program that looks up words in a large list of words. But the real "brain" behind it is the word list (lexicon) provided by the Hspell project.

In order for it to be completely free of other people's copyright restrictions, the Hspell project is a clean-room implementation, not based on other companies' word lists, on other companies' spell checkers, or on copying of printed dictionaries. The word list is also not based on automatic scanning of available Hebrew documents, because there is no way to guarantee that such a list will be correct, complete, or consistent in its spelling standard.

Instead, our idea was to write programs which know how to correctly inflect Hebrew nouns and conjugate Hebrew verbs. The input to these programs is a list of noun stems and verb roots, plus hints needed for the correct inflection when these cannot be figured out automatically. These input files are obviously an important part of the Hspell project. The word list generators (written in Perl, and are also part of the Hspell project) then create the complete word-list for use by the spellchecking program, hspell. The generated lists are useful for much more than spellchecking, by the way, and is one of the reasons the Hspell project is so exciting.

Although we wrote all of Hspell's code ourselves, we are truly indebted to the old-style "open source" pioneers — people who published their knowledge in books instead of hiding it in proprietary software. For the correct noun inflections, Dr. Shaul Barkali's "The Complete Noun Book" has been a great help. Prof. Uzzi Ornan's booklet "Verb Conjugation in Flow Charts" has been instrumental in the implementation of verb conjugation, and Barkali's "The Complete Verb Book" was used too. During our work we have extensively used a number of Hebrew dictionaries, including Even Shoshan, Millon Ha-hove and Rav-Milim, to ensure the correctness of certain words. Various Hebrew newspapers and books, both printed and online, were used for inspiration and for finding words we still do not recognize. We wish to thank Cilla Tuviana and Dr. Zvi Har'El for their assistance with some grammatical questions.

How do I use the "hspell" program?

When you install Hspell, the "hspell" program is installed on your system. Like the traditional Unix spell(1), hspell outputs the sorted list of incorrect words, and does not have a more friendly interface for making these corrections for you. Unlike spell(1), however, hspell can suggest possible corrections for some spelling errors — such suggestions are enabled with the -c (correct) and -n (notes) options.

hspell comes with a good manual page, so please run "man hspell" (or look here) to learn more on what file encoding hspell expects, and how to use it more effectively.

If (like most people) you prefer graphical user interfaces, your favorite editor word-processor or mail application might already be able to use Hspell to do spellchecking! See "To use Hspell, do I need to download..." above, or check out HOWTO use Hspell with... for (somewhat archaic) instructions.

What is on Hspell's horizon?

Between October 2002 and August 2003, Hspell development proceeded at full steam, with major releases coming out once every 1-3 months. as Hspell and its vocabulary matured, releases became sparser, at first twice a year, and then once every 1-3 years.

The bulk of the work on the 0.* release series has been on enlarging the project's dictionaries. When release 0.1 came out, it was estimated that in typical documents about 10% of the valid Hebrew words would be mistakenly marked as errors. By release 0.4, the estimated percentage is down to only 1%. By release 1.0, Hspell's vocabulary is considered mature, and while words are still being added (and more rarely, corrected), this is happening at a much slower pace, which explains the slower release schedule.

Towards the end of the 0.* series, and the beginning of the 1.*, we also worked, and will continue to work, on making Hspell more useful for the average user, and easier to embed in other applications. This entails improving performance, supporting well-defined and documented APIs, better supporting the needs of different users (such different encodings, personal dictionaries, and alternative spelling standards), and making features unique to Hspell (such as the "spelling hints") stronger.

Towards the end of the 1.* series, Hspell should also be able to affix- compress its word list. This will not affect the size of the word list on disk (which is already optimally compressed to a tiny fraction of its original size), but will lower Hspell's memory use and startup times (perhaps even to the point where it could be used on embedded devices).

The 2.* series (if we dare look far-enough into the future) will give Hspell more sophisticated linguistic capabilities, beyond those of naive spell-checkers. What these might be we can only speculate at this stage.

How can I help?

One ongoing task that takes up a significant amount of our time is to find correct Hebrew words that Hspell still doesn't recognize, and add them to the dictionary. As Hspell matures, it becomes harder and harder for us to find quality missing words (especially verbs), and help from the users is appreciated. You can help by sending us verified lists of missing words. To make sure your list is useful, please try to:

  1. Check in your favorite dictionary that the word is indeed spelled correctly.
  2. Check that the spelling you proposed is correct according to the Academia's niqqud-less spelling rules (see above for details, and especially our document).
  3. Check in this online Hspell interface that the word in question hasn't been added since the last released version (the online interface is updated more often than versions are released).

Such word lists, please send to nyh@math.technion.ac.il

If you want to show your appreciation for our efforts, and contribute financially to Hspell's continued development, you can also donate to the Hspell project.

I think I found a bug in Hspell...

If you think you found a bug in Hspell, or want to request the addition of a certain feature, please mail them to nyh@math.technion.ac.il.

Where can I get more information about Hspell?

If you're still thirsty for information, you might want to take a look at some more Hspell documentation, including more in-depth explanation on the linguistic technology behind Hspell.