I'm trying to make a dictionary on the web where people can automatically look up words in a text they're reading online. While I have the words and their definitions, the problem is that many times the word in the text won't be in it's root form - for example the word in the text may be המלכה (the queen) instead of מלכה (queen), where the latter is in the dictionary but the former is not. For nouns it doesn't seem too hard to drop the suffixes indicating plurals and/or the set of possible prefixes, but for verbs this seems like a tough job. Has any work been done on algorithms that can be applied to a word in Hebrew or Aramaic to obtain the root? Note that I'm asking for Hebrew and Aramaic because I believe that the languages are similar enough that what works for one should work for the other. Even if they do necessitate different languages, I will eventually want to do both, so info on either is appreciated.
As mentioned above, you are looking for lemmatization tools for these languages. I admit to not knowing anything about Aramaic, but I do know that Hebrew is considered harder than English with regards to stemming/lemmatization (I'm afraid I don't have a credible source for this at the moment).
A potentially good place to start might be the MILA center for processing Hebrew (http://www.mila.cs.technion.ac.il/).
There's a research program called "Bar Ilan Responsa Project." It's a database of tens of thousands of Hebrew and Aramaic works (constantly being updated and expanded), and it's fully searchable.
When conducting a search, there is the option to search by root, or the whole word, prefaces etc. So you could search for המלכה, מלכה, מ.ל.כ or other combinations.
Their search is limited to the database itself, so you can't search words online for it, but the technology that you're looking for definitely exists and I assume you could apply it to the web for your purpose as well.