Autor Beitrag
Marco D.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 2750

Windows Vista
Delphi 7, Delphi 2005 PE, PHP 4 + 5 (Notepad++), Java (Eclipse), XML, XML Schema, ABAP, ABAP OO
BeitragVerfasst: Fr 21.09.07 12:40 
Ich überlege mir gerade einen Suchalgorithmus. Beispiel:
Titel: Hansa nach Niederlage abgestiegen
Suchbegriff: Hansa Abstieg


Wie kann ich nun per Software klar machen, dass das Wort abgestiegen mit Abstieg sinngemäß gleichzusetzen ist? Per Stringvergleich würde ja herauskommen, dass nur Hansa gefunden wurde.
Kurz: Wie bekommt man das hin, dass man z.B. aus abgestiegen das Wort Abstieg macht (gleiche Wortfamilie) um dann per Stringvergleich abzugleichen.

_________________
Pascal keeps your hand tied. C gives you enough rope to hang yourself. C++ gives you enough rope to shoot yourself in the foot
Calculon
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 676

Win XP Professional
Delphi 7 PE, Delphi 3 PRO
BeitragVerfasst: Fr 21.09.07 12:46 
Eine Idee:
Wenn du mehrdimensionale arrays of string benutzen würdest, könnte man allen Einträgen eines Indexes die selbe Bedeutung zuweisen:

ausblenden Quelltext
1:
2:
[gehen] [Gang]..
[Abstieg] [absteigen] [abgestiegen]..


Wäre aber viel Arbeit alle Wortbedeutungen für jedes deutsche Wort zu finden...

Gruß

Calculon
--
Marco D. Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 2750

Windows Vista
Delphi 7, Delphi 2005 PE, PHP 4 + 5 (Notepad++), Java (Eclipse), XML, XML Schema, ABAP, ABAP OO
BeitragVerfasst: Fr 21.09.07 12:50 
Danke für deine Hilfe. :zustimm:
Jedoch ist die programmiertechnische Umsetzung nicht das Problem.
Ich bräuchte eine Datei, in der zu jedem Wort alle Wörter der gleichen Wortfamilie auftauchen. Sowas gibt's wohl nicht, oder? Wer erstellt sowas freiwillig? Das muss man ja den gesamten Duden durcharbeiten.

_________________
Pascal keeps your hand tied. C gives you enough rope to hang yourself. C++ gives you enough rope to shoot yourself in the foot
jasocul
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 6393
Erhaltene Danke: 147

Windows 7 + Windows 10
Sydney Prof + CE
BeitragVerfasst: Fr 21.09.07 12:56 
Ach, für Geld machen die Leute eine ganze Menge freiwillig. :mrgreen:
Dein Problem wäre damit ja nicht gelöst. Du bräuchtest auch noch eine Synonym-Verwaltung. Man kann zum Beispiel nach Auszubildender oder Lehrling (auch wenn es heute nicht mehr gebräuchlich ist) suchen.
TProgger
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 148

XP
D6, D2007 prof
BeitragVerfasst: Fr 21.09.07 13:00 
Vielleicht nützt dir folgender Link was: home.arcor.de/pdxstuff/SoundEx.rar
Dort wird eine SoundEx.Pas verwendet, die Algorithmen beinhaltet, um ähnliche Wörter zu finden. Das habe ich vor einigen Jahren mal bei Datenbankabfragen benutzt. Wenn man "Meier" eingab, dann wurde auch "Maier", "Meyer", "Mayer" etc. gefunden.
Kurz gesagt, bekommt jedes Wort eine bestimmte Wertigkeit, und die, die die gleiche Wertigkeit haben, sind ähnlich.
Zieh dir mal den Code der uSoundEx.pas rein, vielleicht hilft dir das.
Calculon
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 676

Win XP Professional
Delphi 7 PE, Delphi 3 PRO
BeitragVerfasst: Fr 21.09.07 13:25 
TProgger hat folgendes geschrieben:
Kurz gesagt, bekommt jedes Wort eine bestimmte Wertigkeit, und die, die die gleiche Wertigkeit haben, sind ähnlich.

Aber Phoneme bringen ihn hier auch nicht weiter, da "Abstieg" und "abgestiegen" nicht als das gleiche Wort erkannt werden würden.

[edit]Aber bei Rechtschreibfehlern würde dich das schon weiterbringen ;-)[/edit]

Gruß

Calculon
--
Gausi
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 8548
Erhaltene Danke: 477

Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
BeitragVerfasst: Fr 21.09.07 13:45 
Hm. Das geht stark in die Richtung Semantik, oder? Ist afaik ein recht aktuelles Forschungsgebiet. SoundEx bringt da so ziemlich gar nichts, würde ich behaupten. Es geht dir ja nicht nur darum, den Text selbst auseinanderzunehmen, sondern den Sinn dahinter zu erfassen und daraus ein paar Schlagwörtre zu generieren.

Ich sag mal so: Wenn du das vernünftig hinbekommst, dann kannst du das an Google für ein paar Millionen oder so verkaufen. Die freuen sich bestimmt über sowas. Alternativ ne eigene Suchmaschine starten und Google vom Markt drängen. ;-)

_________________
We are, we were and will not be.