Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

Wörter in Silben zerlegen.

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC.
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
ThePuppetMaster



Anmeldungsdatum: 18.02.2007
Beiträge: 1839
Wohnort: [JN58JR]

BeitragVerfasst am: 14.06.2012, 05:51    Titel: Wörter in Silben zerlegen. Antworten mit Zitat

Hab n Beispiel auf FBP gepostet: http://www.freebasic-portal.de/code-beispiele/string-funktionen/woerter-in-silben-zerlegen-262.html

Habt Ihr irgend welche Anmerkungen / Kritiken / Verbesserungsideen / ... ?


MfG
TPM
_________________
[ WebFBC ][ OPS ][ ToOFlo ][ Wiemann.TV ]
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
MisterD



Anmeldungsdatum: 10.09.2004
Beiträge: 3071
Wohnort: bei Darmstadt

BeitragVerfasst am: 14.06.2012, 20:04    Titel: Antworten mit Zitat

lokalisieren Zunge rausstrecken
_________________
"It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."
Edsger W. Dijkstra
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
ThePuppetMaster



Anmeldungsdatum: 18.02.2007
Beiträge: 1839
Wohnort: [JN58JR]

BeitragVerfasst am: 14.06.2012, 20:20    Titel: Antworten mit Zitat

??
_________________
[ WebFBC ][ OPS ][ ToOFlo ][ Wiemann.TV ]
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
MisterD



Anmeldungsdatum: 10.09.2004
Beiträge: 3071
Wohnort: bei Darmstadt

BeitragVerfasst am: 14.06.2012, 20:24    Titel: Antworten mit Zitat

na mehrsprachig machen halt happy
_________________
"It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."
Edsger W. Dijkstra
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
nemored



Anmeldungsdatum: 22.02.2007
Beiträge: 4704
Wohnort: ~/

BeitragVerfasst am: 14.06.2012, 20:40    Titel: Antworten mit Zitat

"Schwäche" hast du als Beispiel zweimal reingenommen.

Es gibt noch Buchstabenkombinationen, die nicht als zusammenhängend berücksichtigt werden; aufgefallen ist mir da zunächst einmal Konsonant + r, z. B. "Hausfrau" oder "blaugrün", aber auch andere wie "Obstfliege", "gespart", "eingepfercht" oder "versteigern". Schwierig allerdings, weil p+f normalerweise getrennt werden würde und hier eine Zusammesetzung ins Spiel kommt.

Dann gibt es noch grundsätzliche Probleme mit zusammengesetzten Wörtern, deren zweiter Bestandteil mit einem Vokal beginnen. Nehmen wir "Fallobst" oder "Bratapfel". Wie man das ohne Kombination mit einer Datenbank lösen sollte, wüsste ich jetzt allerdings nicht.
_________________
Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
ThePuppetMaster



Anmeldungsdatum: 18.02.2007
Beiträge: 1839
Wohnort: [JN58JR]

BeitragVerfasst am: 14.06.2012, 20:54    Titel: Antworten mit Zitat

Ja. Wortzusammensetzungen bereitet mir auch derzeit ziemlich viel kopfzerbrechen. Das bekomme ich nicht wirklich gelöst. Eine Datenbank möcht ich jedoch nicht integrieren, zumindest nicht so, da das verfahren so wie es ist, am schnellsten ist.

Vieleicht bekomme ich das noch irgend wie gelöst.

"Konsonant + r" ... welche kombinationen müssen denn immer zusammenhängend sein?
Ist das definitiv, oder eher intuitiv?, so wie beim ch, sch, usw. .


MfG
TPM
_________________
[ WebFBC ][ OPS ][ ToOFlo ][ Wiemann.TV ]
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
nemored



Anmeldungsdatum: 22.02.2007
Beiträge: 4704
Wohnort: ~/

BeitragVerfasst am: 14.06.2012, 21:23    Titel: Antworten mit Zitat

Solange es nicht zusammengesetzt ist mit r am Anfang des zweiten Teils, gehört das r in der Regel mit dem vorigen Konsonant zusammen (soweit ich weiß). Das wären "br", "cr" (in Fremdwörtern), "dr", "fr", "gr", "kr", "pr" und "tr", außerdem "schr" und "chr". Das einzige, was mir einfällt, bei dem nicht-zusammengesetzte Wörter vor dem r getrennt werden, ist "hr" bei Dehnungs-H wie in "Währung". Das Problem mit Zusammensetzungen "Abrieb", "Endreihe", "aufrichten" usw. (alles Gegenbeispiele zu oben genanntem) hast du natürlich nach wie vor.

Du kannst ja mal irgendwo einen längeren Text nehmen und die Einzelwörter durch den Silbentrenner laufen lassen - dann siehst du ja, ob es ergiebiger ist, zu trennen oder nicht.
_________________
Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 14.06.2012, 21:52    Titel: Antworten mit Zitat

ThePuppetMaster hat Folgendes geschrieben:
Ja. Wortzusammensetzungen bereitet mir auch derzeit ziemlich viel kopfzerbrechen. Das bekomme ich nicht wirklich gelöst. Eine Datenbank möcht ich jedoch nicht integrieren, zumindest nicht so, da das verfahren so wie es ist, am schnellsten ist.

Vieleicht bekomme ich das noch irgend wie gelöst.


Ohne Datenbank wirst du bei natürlichen Sprachen nicht weit kommen. Um Silbentrennung in allen Fällen korrekt anzuwenden, braucht man Kontextwissen in Form einer Wörterliste. Deswegen verlesen sich ja z.B. sogar Menschen manchmal bei zusammengesetzten Wörtern, weil sie nicht auf den ersten Blick sehen, wo das zweite Wort beginnen soll.
_________________
» Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
ThePuppetMaster



Anmeldungsdatum: 18.02.2007
Beiträge: 1839
Wohnort: [JN58JR]

BeitragVerfasst am: 14.06.2012, 21:54    Titel: Antworten mit Zitat

es muss nicht perfekt sein. es reicht, wenn das verfahren min. zu 75% zutreffend ist.


MfG
TPM
_________________
[ WebFBC ][ OPS ][ ToOFlo ][ Wiemann.TV ]
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 14.06.2012, 21:59    Titel: Antworten mit Zitat

Da du im Deutschen Wörter praktisch beliebig kombinieren kannst, wird das mit den 75% nicht klappen. Selbst wenn du jetzt eine Ausnahme für "Obstfliege" eingebaut hättest (was streng genommen schon eine Datenbank ist), wird diese vermutlich für "Donaudampfschiffobstfliege" nicht mehr funktionieren. Und wenn sie dafür funktionieren sollte, braucht man nur einen weiteren Wortteil anzuhängen und es würde wohl schon nicht mehr klappen.
_________________
» Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
ThePuppetMaster



Anmeldungsdatum: 18.02.2007
Beiträge: 1839
Wohnort: [JN58JR]

BeitragVerfasst am: 14.06.2012, 22:05    Titel: Antworten mit Zitat

die funktion soll helfen, für eine andere datenbank wörter zu zerlegen. expliziet zusammengesetzte wörter., .. um man den hintergrund etwas zu beleuchten.

das verfahren soll silbenspliter erzeugen, und diese spliter stückweise zusammensetzen um in eine db nach ähnlichkeiten zu suchen. anschliessend wird das hauptwort in seine gefundenen bestandteile zerlegt und die berbleibenden fragmente als mögliches zusatzwort interpretiert und untesucht. das problem ist jedoch diese silbenzusammensetzung welche bei einigen wörtern nicht richtig trifft.

ein beispiel:

Code:

[2012.0614-22:0058] [EIX_BASE] [SATZ_ADD] ADD_add: >Zehenzwischenraum<
[2012.0614-22:0058] [EIX_BASE] [SATZ_ADD] Try: [NO] 'Ze'
[2012.0614-22:0058] [EIX_BASE] [SATZ_ADD] Try: [NO] 'Zehenz'
[2012.0614-22:0058] [EIX_BASE] [SATZ_ADD] Try: [NO] 'Zehenzwi'
[2012.0614-22:0058] [EIX_BASE] [SATZ_ADD] Try: [NO] 'Zehenzwischen'
[2012.0614-22:0058] [EIX_BASE] [SATZ_ADD] Try: [OK] 'Zehenzwischenraum'
[2012.0614-22:0058] [EIX_BASE] [SATZ_ADD] Try: [NO] 'henz'
[2012.0614-22:0058] [EIX_BASE] [SATZ_ADD] Try: [NO] 'henzwi'
[2012.0614-22:0058] [EIX_BASE] [SATZ_ADD] Try: [NO] 'henzwischen'
[2012.0614-22:0058] [EIX_BASE] [SATZ_ADD] Try: [NO] 'henzwischenraum'
[2012.0614-22:0058] [EIX_BASE] [SATZ_ADD] Try: [NO] 'wi'
[2012.0614-22:0058] [EIX_BASE] [SATZ_ADD] Try: [NO] 'wischen'
[2012.0614-22:0058] [EIX_BASE] [SATZ_ADD] Try: [NO] 'wischenraum'
[2012.0614-22:0058] [EIX_BASE] [SATZ_ADD] Try: [NO] 'schen'
[2012.0614-22:0058] [EIX_BASE] [SATZ_ADD] Try: [NO] 'schenraum'
[2012.0614-22:0058] [EIX_BASE] [SATZ_ADD] Try: [OK] 'raum'
[2012.0614-22:0058] SilbSplit: [5|2|3] 'Zehenzwischenraum' -> Ze-henz-wi-schen-raum
[2012.0614-22:0058] SilbSplit: [1|2|3] 'Zehenzwischenraum' -> 'Zehenzwischenraum' [New]
[2012.0614-22:0058] SilbSplit: [2|2|3] 'Zehenzwischenraum' -> 'raum' [New]
[2012.0614-22:0058] SilbSplit: [3|2|3] 'Zehenzwischenraum' -> 'Zehenzwischenraum' [Orig]


Wie zu erkennen ist, springt leider das z an die falsche position. wodurch eine vermutugn auf "wischen" anstat auf "zwischen" entsteht. Gleiches mit "zehen" was zu "zehenz" wird, und damit ebenfalls problematisch ist.


MfG
TPM
_________________
[ WebFBC ][ OPS ][ ToOFlo ][ Wiemann.TV ]
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 14.06.2012, 22:09    Titel: Antworten mit Zitat

Das ist eben genau so ein Fall, wo du eine Datenbank brauchst, die dir sagt, dass "Zehenz" kein deutsches Wort ist, wohl aber "Zehen". Das kannst du algorithmisch nicht lösen.
_________________
» Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
ThePuppetMaster



Anmeldungsdatum: 18.02.2007
Beiträge: 1839
Wohnort: [JN58JR]

BeitragVerfasst am: 14.06.2012, 22:12    Titel: Antworten mit Zitat

das problem an der story ist jedoch, das die datenbank autonom aufgebaut wird. eben mithilfe dieses verfahrens. daher ist es ja so problematisch.

aber, wird wohl darauf hinauslaufen, das ich das zu untersuchende wort auf 2 varianten testen werden muss. -> Left(wort, len(wort) - 1)


MfG
TPM
_________________
[ WebFBC ][ OPS ][ ToOFlo ][ Wiemann.TV ]
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC. Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz