Autor Beitrag
filer
Hält's aus hier
Beiträge: 5



BeitragVerfasst: Mi 18.03.09 20:45 
Hallo,
hab da ein Problem und hoffe ihr gebt mir hier die richtige Anregung.Ich habe die Aufgbe zwei Sätze miteinander vergleichen.Soweit ja noch kein Problem.
Der erste Satz ist vorgegeben und der zweite(Eingabe) soll auf Unterschiede(Fehler)untersucht werden.
Hatte daran gedacht beide zu splitten und dann mit Levenshtein zu vergleichen.
Jetzt kommt mein Hauptproblem:
Wenn im 2. Satz ein oder mehr Wörter zusammengeschrieben oder getrennt geschrieben (Versehentlich) worden sind!
Dann stimmt mein array nicht mehr und er gibt nach dem Leerzeichen alle weiteren Wörter als Fehler aus.

Hoffe es hat jemand ne Idee würde mir wirklich sehr helfen!

Vielen Dank schonmal
Skiller-1988
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 100

Win XP | Debian | Ubuntu
C# | PHP | VB.NET
BeitragVerfasst: Mi 18.03.09 21:06 
Hi,
Auch wenns warscheinlich nicht die beste Lösung ist, aber man könnte ja vor dem Vergleich allgemein im 1. und 2. Satz die Leerzeichen entfernen, und dann Vergleichen. ( Auch wenn es dann zwar nicht mehr korrekt ist bezüglich des zusammen bzw. getrennt schreiben der Wörter )

_________________
~ Wer Rechtschreibfehler findet darf sie behalten ~
Kha
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3803
Erhaltene Danke: 176

Arch Linux
Python, C, C++ (vim)
BeitragVerfasst: Mi 18.03.09 21:08 
:welcome:

Dürfte es dann nicht die einfachste Lösung sein, Levenshtein auf die ganzen Sätze loszulassen? Dann bekommst du auch Unterschiede wie verschiedene Zeichensetzung.

_________________
>λ=
filer Threadstarter
Hält's aus hier
Beiträge: 5



BeitragVerfasst: Do 19.03.09 09:44 
Hallo nochmal,
ihr versteht mich ich bischen falsch soweit war ich auch schon.
Ich muss Wort für Wort vergleichen,z.B.:
Ich gehe Heim.
Eingabe:
ich ge he heim
Im Original hab ich 3 Strings, in der Eingabe 4.
Jetzt würde er ja Ich mit ich vergleichen,das ist ein Fehler weil ich klein.
als 2. Vergleicht er aber gehe mit ge und dann Heim mit he, sodass er mir in diesem Satz 4 Fehler anzeigen würde es sind aber nur 2.
Wort ist falsch wenn Levenshtein Distanz>0
Kann nicht den ganzen String vergleichen und Leerzeichen löschen da die als Fehler angezeigt werden soll.Dasselbe wenn zwei Wörter zusammen geschrieben wurden z.B.: ichgehe Heim. (nur 2 Strings)
Hoffe es kann mir jemand helfen.

Vielen Dank schonmal.
filer Threadstarter
Hält's aus hier
Beiträge: 5



BeitragVerfasst: Do 19.03.09 10:04 
Der Vergleich muss Wort für Wort sein,da ich z.B. das Wort gehe vorgegeben habe.
Wenn in der Eingabe aber Ge hhe steht gibt mir Levenshtein 3 Fehler zurück.
Es darf aber nur als 1 Fehler gewertet werden.
Ist echt kompliziert.
Hoffe trotzdem das ich hier den richtigen Tip!
JüTho
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2021
Erhaltene Danke: 6

Win XP Prof
C# 2.0 (#D für NET 2.0, dazu Firebird); früher Delphi 5 und Delphi 2005 Pro
BeitragVerfasst: Do 19.03.09 10:50 
Tja, manche Fragen werden doppelt diskutiert. Siehe auch dort. Jürgen