Good question. Because I need one for my other project, Mabhathu Tulab (A student's place of research) which is an Arabic - Arabic dictionary, similar to http://baheth.info but better of course ;) Its main feature is that the user may click on any word of a dictionary entry that may then be further explained by an overlay.
Hopefully I can find some time to increase accuracy. Some words can be derived from multiple possible theoretical roots so these could be enumerated in the return value. Prior to returning them they could be compared against some known lists of existing roots to filter out unknown roots.