I have done some little experiments with the decomposition algorithm I suggested in the blog earlier (you find it here). For hyphenation I used the hyphenator of the Apache FOP project. The dictionary I got from this page: http://wiki.services.openoffice.org/wiki/Dictionaries. For fuzzy matching I use Apache Lucene's spellchecker extension.
Some examples generated from the current code:
- Donaudampfschifffahrtskapitänsstellvertreter -> [donau, dampf, schiff, schifffahrts, schifffahrt, fahrt, kap, kapitäns, kapitän, pi, stell, steller, stelle, stellvertretend, vertreter, treter, treue]
- Donaudampfschifffahrtselektrizitätenhauptbetriebswerkbauunterbeamtengesellschaft -> [donau, dampf, schiff, schifffahrt, schifffahrts, fahrt, fahr, elektrizität, elektrizitäts, elektro, elektrik, jäten, täte, haupt, betrieb, betriebs, trieb, werk, wer, bau, bauen, un, unter, werbe, bea, beamten, beamte, am, amten, menge, geselle, gesellschaft, schaft, schaf]
- Rindfleischetikettierungsüberwachungsaufgabenübertragungsgesetz -> [rind, rindfleisch, fleischer, fleisch, fleischerei, scheu, tibet, kette, rings, über, überwachungs, auf, au, aufgab, aufgaben, aufgabe, gabeln, gabe, ben, übertrat, übertragungs, tagungs, gesetz, set]
- Urinstinkt -> [urin, urinstinkt, in, instinkt]
- Drahtschere -> [draht, schere, schor]
For only one hour work this looks promising.



compound german words
Dear Mr. Thomas,
Could you please send me the piece of source code related to this topic. I just saw a short description on your site and I am interested in this solution.
Best regards,
Florin Popa
The code
Here is the code: http://svn.apache.org/viewvc/lucene/java/trunk/contrib/analyzers/src/java/org/apache/lucene/analysis/compound/.
Post new comment