Das grundsätzliche Problem bei dieser Art von Aufgaben ist, daß jedes Computerprogramm die Sprachinformation nicht "versteht", sondern lediglich ein solches Verstehen durch einen Satz angewendeter Regeln vorgibt.
Soll heißen: man kann alle möglichen Regeln, wie Komposita in einzelne Wörter getrennt werden, aufstellen, aber dann landet man bei (aus dem Cabaret bekannten) Doppeldeutigkeiten wie:
Blumentopferde
was sowohl die Pferde aus Blumento sein können, wie die Erde im Blumentopf.
Der Umstand, daß wir "Pferde aus Blumento" als unsinnig abtun und infolgedessen diese Bedeutung ausschließen, ist lediglich der Tatsache geschuldet, daß wir wissen, daß es solche Pferde nicht gibt. Das ist aber "außersprachliches" Wissen.
Daraus folgt, daß es eine "algorithmische" (ich nehme an, daß das mit "programmatisch" gemeint ist) Lösung im strengen Sinne nicht gibt und auch nicht geben kann. Das Programm müßte das gesamte "kulturelle Hintergrundwissen" eines Menschen haben, um gewisse Entscheidungen (wie eben "Blumento-Pferde" als mögliches Kompositum auszusondern) zu treffen.
Man kann dieses Problem durch Wörterbücher (also quasi vorgefertigte Lösungen, die als gegeben vorausgesetzt werden) ein wenig abmildern. Google Translate und ähnliche Software zeigen, daß das schon halbwegs zufriedenstellend funktionieren kann. An dem grundsätzlichen Problem, daß nämlich Computer bzw. Programme Sprache nicht verstehen, wird dies aber nichts ändern, weil dies nur ein Zudecken von Symptomen ist.
Gut möglich, daß mit der Weiterentwicklung von AI (Stichwort: neuronale Netze) dieses Verständnisproblem irgendwann gelöst wird - derzeit aber ist dies nicht der Fall.