Philipp Hasenfratz: Definition "signifikanter Wörter"

Halihallo Forumer

Ich würde gerne einige Meinungen einholen um mir das Entscheiden etwas zu erleichtern.
Es geht um eine Software, welche Texte automatisch zusammenfasst. Der Algorithmus zur
Textanalyse basiert weitestgehend auf Luhn (Stichwörter: Luhn, automatic abstracting,
cluster(ing|ization), relevant word). Vereinfacht ausgedrückt besagt Luhn, dass ein
relevanter Satz ein Satz mit möglichst vielen relevanten Wörtern ist. Nun ist die Frage:
Was ist ein "relevantes Wort" oder besser: wie bringe ich dies dem Computer bei?

<img src="http://www.emedias.ch/tmp/significance.gif" border="0" alt="">

in diesem Diagram sieht man die relative Häufigkeit (Frequenz) der Wörter auf der
vertikalen und die extrahierten Terme (Wörter) auf der Horizontalen. Nach Luhns
Definition ist ein relevantes Wort ein Wort, dass nicht zu oft (wie z.B. und, oder,
nicht, in, über, ich, ...) und nicht fast nie (Hausbootwaschutensilienvorratskammer) vor-
kommt. Es sind also alle Wörter relevant, die irgendwo in der "Mitte" liegen, da diese
für den Text "relevant" sind, aber auch nicht in jedem anderen Text vorkommen (
sprich: allgemein verwendete Wörter).

So, mein Problem ist nun ein Algorithmus zu finden, der die Spreu vom Weizen trennt.
Ein Algorithmus also, der relevante von irrelevanten Wörtern trennt. Es gibt natürlich
tausende von Lösungsmöglichkeiten.

Ausschlusskriterien:
 - Algorithmus nicht parametrisiert (keine Benutzereingaben)
   (ausser vielleicht einer Anzahl an relevanten Wörtern, also der Benutzer definiert,
    dass er genau 200 relevante Wörter indexieren will)
 - Algorithmus basiert nicht auf historischen/wissensbasierten (Thesaurus, füher
    indexierte Dokumente z.B.) Daten/Systemen
 - rein mathematisch/statistisches Verfahren

Möglichkeiten:
Puh... Naja, gehen wir von oben gesehenem Diagramm aus, haben wir in den oberen
Frequenzbereichen eine starke Dichte, es scheinen also viele Wörter sehr oft vorzukommen.
Dann flacht das ganze ab und "strebt" gegen 0. Also eine Art log(n)-Funktion (wenn ich
mich recht erinnere).

a) Terme kleiner Häufigkeit: Naja, diese fallen beim Abstracting (Zusammenfassen
   meinetwegen) nicht sehr stark ins Gewicht, also könnte ich mir hier eine kleine
   Vereinfachung erlauben, dass ich einfach die letzten x Terme aus dem Vokabular der
   relevanten Terme entferne. Für x wählt man kleine Zahl, die zur Anzahl indexierter
   Wörter proportional ist (aber klein muss sie sein, sonst löschen wir die relevanten
   Wörter).
b) die in der Mitte sind gesucht, die lassen wir ja stehen! ;)
c) Terme grosser Häufigkeit: Hier bin ich ziemlich unschlüssig und bräuchte euren Input.
   Man bräuchte irgendwie eine Schranke, eine Grenze, diese liesse sich natürlich einfach
   über den Benutzer eingeben, aber das will ich nicht. Es soll algorithmisch möglichst
   "sicher" funktionieren (natürlich, mindestens ein "Erfahrungswert" brauchen wir, aber
   dieser sollte dem Dokument irgendwie angepasst werden). Einfach ausgedrückt haben wir
   einige Frequenzbänder (mehrere Wörter können gleich häufig sein und haben dieselbe
   Frequenz, aber zwischen der einen Frequenz und der nächsten gibt es ein "Loch").

Total: [1,0] (relative Häufigkeit 1 - 0)
   Oft vorkommende Wörter: [1,m]
   Relevante Wörter: [m,n]
   Wenig vorkommende Wörter: [n,0]

c1) wir haben die Terme kleiner Häufigkeit weggestrichen, nun könnte man einfach die
       nach Frequenz geordnet "x" nächsten als relevant definieren. Problem: x wird mit
       der Anzahl Wörter im Text proportional steigen und Proportionalität impliziert
       eine Konstante: x ~ Wörter_im_Text = x = _Konstante_ * Wörter_im_Text. Zudem
       basiert die Löschung der Terme niedriger Häufigkeit auch auf diese Konstante.
   c2) wir definieren relevante Wörter als die nächsten x Frequenzen/-bänder nach den
       niederfrequenten Termen (wenig vorkommende Wörter).
   c3) wir definieren relevante Wörter als eine folge von Wörtern, die mindestens
       Anzahl_Wörter_im_Text/15 Wörter umfasst und nicht zu den letzten
       Anzahl_Wörter_im_Text/20 Wörtern gehört (also die zwanzig seltensten auftauchenden
       Wörter werden gestrichen und die nächsten 15 werden als relevant gekennzeichnet,
       wenn der Text 100 Wörter hat).
   c4-cn, n->infinity) man möge mir die Wege weisen.

Eben: Lösungen gibt es tausende und jede hat Vor- und Nachteile. Mir geht es irgendwie
darum auch hier die Spreu vom Weizen zu trennen. Was würded ihr an meiner Stelle ent-
scheiden, welche algorithmische Umsetzung würded ihr hier anstreben?

Ich weiss, die Frage ist nicht leicht, wahrscheinlich deshalb, weil sie nicht mit ja,
nein oder einfach "einfach" zu beantworten ist. Es geht mir auch nicht um eine Lösung,
sondern um Input, um Vorschläge, um Argumentation, um Auseinandersetzung. Ich würde mich
auch nur auf eine kleine Diskussion zum Thema freuen, mit virtuellem Kaffe und Cookies
:-)

Keine Ahnung, sagt bitte irgendwas, ich befinde mich in einer Feedback-Schleife, meine
Raumzeit ist derart gekrümmt, dass ich dieselben Gedanken immer wieder durchlaufe :-)

Viele Grüsse

Philipp

--
RTFM! - Foren steigern das Aufkommen von Redundanz im Internet, danke für das lesen der Manuals.
Selbstbedienung! - Das SelfForum ist ein Gratis-Restaurant mit Selbstbedienung, Menüangebot steht in den </faq/> und dem </archiv/>.
  1. Halihallo

    Übrigens: relevant=signifikant

    Also ich bin für folgende Lösung:

    Wir haben oft, relevant und selten vorkommende Wörter im Text vorliegen. Der Input ist
    also eine Liste von Wörtern (puh, keine Ahnung, was hat so ein durchschnittliches
    Dokument? - Etwa 800 Wörter?), die nach ihrer relativen Häufigkeit sortiert sind.
    Gehen wir davon aus, dass der Text 800 Wörter hat...

    Wir schneiden die letzten paar Wörter ab, da sie anscheinend nicht sehr oft vorkommen.
    Sagen wir mal die letzten 800/20 = 40 Wörter. Jetzt haben wir also nur noch alle oft
    und relevant/signifikanten Wörter in der Liste, weil wir die selten vorkommenden weg-
    geschnitten haben. Jetzt geht es darum die oft vorkommenden (diejenigen, die eh in jedem
    Text vorkommen wie z.B. und/oder/es/bei/...) wegzuschneiden. Da sage ich einfach:
    naja, teilen wir die ganze Liste durch drei und nehmen das letzte drittel. Dieses letzte
    drittel definieren wir als die "relevanten Wörter" (es sind dann also (800-40)/3 ~ 250
    relevante Wörter vorhanden).

    250 mag dem einen oder anderen ggf. hoch vorkommen, aber das sollte schon so sein.
    Beispiel:

    Ich versuche mich mit *automatischem* *Abstracting*. Das ist eine nicht sehr leichte
    *Aufgabe*, wie mir scheint und *basiert* oft auf *Annahmen*.

    Indexierte Wörter/relevante Wörter: automatisch, Abstract, Aufgabe, basieren, Annahme

    5/21 ~ 1/4 (viertel, drittel, naja, hier scheint der "Grenzwert" vielleicht etwa zu
    liegen)...

    Was haltet ihr von dieser Lösung? - Akzeptabel?

    Viele Grüsse

    Philipp

    --
    RTFM! - Foren steigern das Aufkommen von Redundanz im Internet, danke für das lesen der Manuals.
    Selbstbedienung! - Das SelfForum ist ein Gratis-Restaurant mit Selbstbedienung, Menüangebot steht in den </faq/> und dem </archiv/>.
    1. Hallo,

      Was genau versuchst Du hier zu tun? Du sprichst von einer Software, die Texte zusammenfasst. Was verstehst Du unter "zusammenfassen"? Den Sinn des Textes zusammenfassen? Die Hauptaussage des Textes extrahieren? Ich bezweifle, dass dies mit einer Software, die unterhalb eines KI-Systems angesiedelt ist, möglich sein wird. Die menschliche Schriftsprache ist so komplex, dass sogar ein _Satzzeichen_ den Satzsinn total verändern kann. Angeblich historisch belegtes Beispiel:
      "Verschont den Kerl, nicht hinrichten!"
      "Verschont den Kerl nicht, hinrichten!"

      Es wird also nicht möglich sein, die _angeblich_ signifikanten Worte eines Textes herauszufiltern und dann der Meinung zu sein, man habe den Sinn des Textes verstanden. Gerade solche Worte wie: "nicht", "nie", "immer" ..., die ja herausgefiltert werden, bestimmen oft en eigentlichen Textsinn.

      Entwickle also ein KI-System, welches eine Sprache beherrscht, dann kann dieses entscheiden, ob ein Text "zusammengefasst" werden kann. Ein vielversprechender Ansatz hierzu sind Neuronal-Netzwerke, die via Sprachtraining lernen können.

      viele Grüße

      Axel

      1. Halihallo Axel

        Was genau versuchst Du hier zu tun?

        Ein kleines Freizeitprojekt, will mal wissen, was diese automatischen Summarizer so
        hergeben und wie lernt man es besser und schneller als am eigenen Leibe :-)

        Du sprichst von einer Software, die Texte zusammenfasst. Was verstehst Du unter "zusammenfassen"? Den Sinn des Textes zusammenfassen? Die Hauptaussage des Textes extrahieren?

        Jain. Es sollen nach dem Extraktionsprinzip relevante Sätze (zugegebenermassen völlig
        aus dem Kontext gerissen => Textkohärenz fehlt dann gänzlich) aus dem Text extrahiert
        werden.

        Ich bezweifle, dass dies mit einer Software, die unterhalb eines KI-Systems angesiedelt ist, möglich sein wird.

        Ich bin deiner Meinung. Einige Leute sind der Meinung, dass das automatische dennoch
        ein Mehrwert darstellt. Ich weiss selbst nicht, was die sich denken :-) dennoch scheint
        es einige Anwendungsgebiete zu geben.

        Die menschliche Schriftsprache ist so komplex, dass sogar ein _Satzzeichen_ den Satzsinn total verändern kann. Angeblich historisch belegtes Beispiel:
        "Verschont den Kerl, nicht hinrichten!"
        "Verschont den Kerl nicht, hinrichten!"

        Ausnahmen sind wohl bekannt, aber wie in der Statistik geht es in diesem Bereich um
        das "Grosse Bild". Übrigens hätte der automatische Summarizer mit deinem Beispiel kein
        Problem, da er ganze Sätze extrahiert => der Sinn bleibt erhalten. Aber ich verstehe gut,
        der Computer (zumindest mit den vorgestellten Algorithmen) ist nicht fähig die Semantik
        des Textes zu analysieren. Er basiert auf rein syntaktischen und statistischen Verfahren.
        Naja, ich werd mal sehen, was er so taugt...

        Ach ja, vielleicht eine Anwendung: Durch die Reduktion an Daten wird die Index-Qualität
        eines Suchdienstes (mindestens die Performance und den Datenspeicher) gesteigert. Dies
        wäre eine mögliche Anwendung des Autoabstractings.

        Es wird also nicht möglich sein, die _angeblich_ signifikanten Worte eines Textes herauszufiltern und dann der Meinung zu sein, man habe den Sinn des Textes verstanden. Gerade solche Worte wie: "nicht", "nie", "immer" ..., die ja herausgefiltert werden, bestimmen oft en eigentlichen Textsinn.

        Ja, und der bleibt ja erhalten. Es geht um das erkennen relevanter Sätze, nicht um die
        Bedeutung jener. Und ein Mass für die Relevanz können statistische Verfahren denk ich
        mal schon liefern. Dass statistische Verfahren immer mit einem Fehler behaftet sind, ist
        klar.

        Entwickle also ein KI-System, welches eine Sprache beherrscht, dann kann dieses entscheiden, ob ein Text "zusammengefasst" werden kann. Ein vielversprechender Ansatz hierzu sind Neuronal-Netzwerke, die via Sprachtraining lernen können.

        Ah, guter Vorschlag, ich mache mich gleich an die Arbeit :-)
        @Trekkies: Vielleicht wirds auch gleich ein Exocom (oder wie die Dinger hiessen)

        Viele Grüsse

        Philipp

        --
        RTFM! - Foren steigern das Aufkommen von Redundanz im Internet, danke für das lesen der Manuals.
        Selbstbedienung! - Das SelfForum ist ein Gratis-Restaurant mit Selbstbedienung, Menüangebot steht in den </faq/> und dem </archiv/>.
        1. Hallo,

          Jain. Es sollen nach dem Extraktionsprinzip relevante Sätze (zugegebenermassen völlig
          aus dem Kontext gerissen => Textkohärenz fehlt dann gänzlich) aus dem Text extrahiert
          werden.

          Ja, für eine "Suchdatenbank" könnte das sinnvoll sein.

          Entwickle also ein KI-System, welches eine Sprache beherrscht, dann kann dieses entscheiden, ob ein Text "zusammengefasst" werden kann. Ein vielversprechender Ansatz hierzu sind Neuronal-Netzwerke, die via Sprachtraining lernen können.

          Was ein relevantes Wort ist, hängt, meiner Meinung nach, hauptsächlich vom Fachgebiet der Texte ab, die behandelt werden sollen. Ein allgemein gültiger Ansatz, für Texte _eines_ Fachgebietes, wäre:
          Speichere zunächst alle verschiedenen Worte aller Texte, mit Verweisen auf ihre Herkunft, in einer Datenbank. Wenn ein bestimmter(request for comment) "Wortschatz" aus einer bestimmten(request for comment) Anzahl von Texten angesammelt ist, wende Deine statistischen Ausschlussmethoden darauf an. Filtere also alle von der Gausschen Normalverteilung extrem(request for comment) abweichenden Worte heraus. Wende dies rekursiv an, bis ein Mindestwortschatz(request for comment) entstanden ist.

          Für unterschiedliche Fachgebiete muss es, meiner Meinung nach, jeweils eigene Datenbanken geben. Die Gewichtung von Worten hängt zu sehr vom Fachkontext ab. Das Wort "Ausweiden" wird im Kontext Programmierung eher seltener vorkommen, als im Kontext Jagd.

          Ah, guter Vorschlag, ich mache mich gleich an die Arbeit :-)
          @Trekkies: Vielleicht wirds auch gleich ein Exocom (oder wie die Dinger hiessen)

          Die werden aber mit "überechtzeit" arbeiten müssen. Da reicht es nicht, dass sie die Sprache in Rechnergeschwindigkeit lernen können, sie müsse die Sprache zur Anforderungszeit gelernt _haben_ können. *g* Du siehst, Sprache kann sogar unmögliches ausdrücken. Eine technische Lösung ist allerdings schon bekannt. Die Exocoms sind halt der Besatzung in der Zeit immer mindestens eine Zeiteinheit voraus; Sie befinden sich in einem anderen Raum-Zeit-Kontinuum.

          viele Grüße

          Axel

          1. Hallo,

            Speichere zunächst alle verschiedenen Worte aller Texte, mit Verweisen auf ihre Herkunft, in einer Datenbank. Wenn ein bestimmter(request for comment) "Wortschatz" aus einer bestimmten(request for comment) Anzahl von Texten angesammelt ist, wende Deine statistischen Ausschlussmethoden darauf an. Filtere also alle von der Gausschen Normalverteilung extrem(request for comment) abweichenden Worte heraus. Wende dies rekursiv an, bis ein Mindestwortschatz(request for comment) entstanden ist.

            Eine neuronalsystemähnliche Verhaltensweise könntest Du dadurch erreichen, dass Du zu jedem Wort speicherst, wie oft es von Nutzern als Suchbegriff angefordert wird. Worte, die häufig angefordert werden, sind relevanter als Worte, die weniger häufig angefordert werden. Worte, die eine bestimmte Zeit in der Datenbank stehen, von der statistischen Methode (Normalverteilung) als relevant eingestuft wurden, aber nie angefordert werden, können entfernt werden. So "lernt" das System aus der Interaktion mit den Benutzern.

            viele Grüße

            Axel

            1. Halihallo Axel

              Eine neuronalsystemähnliche Verhaltensweise könntest Du dadurch erreichen, dass Du zu jedem Wort speicherst, wie oft es von Nutzern als Suchbegriff angefordert wird. Worte, die häufig angefordert werden, sind relevanter als Worte, die weniger häufig angefordert werden. Worte, die eine bestimmte Zeit in der Datenbank stehen, von der statistischen Methode (Normalverteilung) als relevant eingestuft wurden, aber nie angefordert werden, können entfernt werden. So "lernt" das System aus der Interaktion mit den Benutzern.

              Das ist in der Tat ein Verfahren, das oft zum Einsatz kommt. Selbst einige heutige
              Suchmaschinen basieren auf diesem. Gut ist es bestimmt, nur halte ich dies für meinen
              Kontext für zu verfälschend, da das System eigentlich nur zum Eigennutzen dient, die
              Abfragen somit eher klein sind (gut wäre hier ein Multiuser-System) und diese den Index
              höchstens verfälschen. Primär wollte ich ja fern von jedwelchen Analysen anderer Texte
              und "Präkoordination" (bereits beim Indexierungszeitpunkt Dokumente gewissen Kontexten
              zuordnen und aufgrund der Zugehörigkeit indexieren) arbeiten, aber dass diese Verfahren
              schlechte Ergebnisse liefern ist mir (zumindest jetzt) klar. Die Expansion auf
              Dokumentabhängigkeiten/-distanzen und Klassifikation zur Erstellung
              Themenbereichnegativwortlisten derjenigen halte ich jedoch für einen durchaus guten Weg.

              Danke für die Inputs!

              Viele Grüsse

              Philipp

              --
              RTFM! - Foren steigern das Aufkommen von Redundanz im Internet, danke für das lesen der Manuals.
              Selbstbedienung! - Das SelfForum ist ein Gratis-Restaurant mit Selbstbedienung, Menüangebot steht in den </faq/> und dem </archiv/>.
          2. Halihallo Axel

            Entwickle also ein KI-System, welches eine Sprache beherrscht, dann kann dieses entscheiden, ob ein Text "zusammengefasst" werden kann. Ein vielversprechender Ansatz hierzu sind Neuronal-Netzwerke, die via Sprachtraining lernen können.
            Was ein relevantes Wort ist, hängt, meiner Meinung nach, hauptsächlich vom Fachgebiet der Texte ab, die behandelt werden sollen. Ein allgemein gültiger Ansatz, für Texte _eines_ Fachgebietes, wäre:

            Dies scheint wirklich ein Problem zu sein. Die Signifikanz von Wörtern über statistische
            Verfahren zu finden ist wohl ein einfacher, manchmal zuverlässiger, aber meisst zu
            sehr simplifizierter Prozess. Ich stelle fest, dass durch wissensbasierte Systeme
            viel bessere Ergebnisse gewonnen werden können. Das Problem ist schlicht der menschliche
            Aufwand den Wortschatz zu kontrollieren und zu erweitern, dies hätte ich eben gerne
            ausgelassen.
            Es gibt aber schon mehrere Varianten, wie dies einfach und automatisch geschehen könnte.
            Über neuronale Netzwerke wäre dies zwar möglich, aber für meine Verhältnisse etwas
            "overkill" :-)   eine mögliche Zwischenlösung wäre: Verwandte Dokumente zu indexieren,
            aus diesen relevante Wörter zu extrahieren und in allen verwandten Dokumenten
            gegenzuprüfuen. Kommt ein Wort in allen kontextgleichen Dokumenten vor, scheint es sich
            um ein relevantes Wort für den Themenbereich zu handeln. So könnten wir Themenbereichen
            relevante Wörter zuweisen und so die Dokumente klassifizieren und auch automatisch zu-
            sammenzufassen. Das Problem hier wäre, dass ein Dokument dann aufgrund der indexierten
            Terme eines Themengebietes zusammengefasst wird und somit ggf. nicht die Kernaussagen
            des Textes extrahiert werden, da dort spezifische Wörter verwendet werden würden, die
            eben nicht als relevant gekennzeichnet sind (also nicht im Themenbereichvokabular vor-
            kommen).
            Hm. Mir scheint, als ob Negativwortlisten (Stoppwortlisten) wirklich ein akzeptabler
            Konsens ist, der wohl die besten Resultate zeigen würde. Diese Stoppwortlisten könnten
            auch maschinell erarbeitet werden (ein Wort, dass in einer vielzahl von Dokumenten mit
            hoher Frequenz vorkommt, ist ein Stoppwort).

            Speichere zunächst alle verschiedenen Worte aller Texte, mit Verweisen auf ihre Herkunft, in einer Datenbank. Wenn ein bestimmter(request for comment) "Wortschatz" aus einer bestimmten(request for comment) Anzahl von Texten angesammelt ist, wende Deine statistischen Ausschlussmethoden darauf an. Filtere also alle von der Gausschen Normalverteilung extrem(request for comment) abweichenden Worte heraus. Wende dies rekursiv an, bis ein Mindestwortschatz(request for comment) entstanden ist.

            Halte ich für eine sehr gute Lösung, danke für den Tipp! - Obwohl das leider auf
            historische Daten zurückgreift, aber das ist wohl unumgänglich, um gute Resultate zu
            bekommen.

            Für unterschiedliche Fachgebiete muss es, meiner Meinung nach, jeweils eigene Datenbanken geben. Die Gewichtung von Worten hängt zu sehr vom Fachkontext ab. Das Wort "Ausweiden" wird im Kontext Programmierung eher seltener vorkommen, als im Kontext Jagd.

            Tja, hier steht man wieder vor einem anderen Problem: Die Dokumente müssten dann bereits
            vor dem indexieren klassifiziert sein, die automatische Klassifikation der Dokumente
            basiert jedoch auch auf das Auswerten von Indexausdrücken. Man müsste eine Datenbank mit
            Klassen erstellen, zuder einige Deskriptoren (Wörter,Terme) zugeordnet sind. Kommen in
            einem Dokument mehrere Deskriptoren einer Klasse vor, gehört dieses Dokument zu jener
            Klasse. Dann schaltet sich die Stoppwortliste dieser Klasse ein, welche Negativwörter
            löscht und dann wird das Dokument zusammengefasst.

            Halleluja, ich will doch bloss ein Summarizer schreiben, puh :-)

            @Trekkies: Vielleicht wirds auch gleich ein Exocom (oder wie die Dinger hiessen)
            Die werden aber mit "überechtzeit" arbeiten müssen. Da reicht es nicht, dass sie die Sprache in Rechnergeschwindigkeit lernen können, sie müsse die Sprache zur Anforderungszeit gelernt _haben_ können. *g* Du siehst, Sprache kann sogar unmögliches ausdrücken. Eine technische Lösung ist allerdings schon bekannt. Die Exocoms sind halt der Besatzung in der Zeit immer mindestens eine Zeiteinheit voraus; Sie befinden sich in einem anderen Raum-Zeit-Kontinuum.

            *g* man müsste ein Exocom sein :-)

            Viele Grüsse und Danke

            Philipp

            --
            RTFM! - Foren steigern das Aufkommen von Redundanz im Internet, danke für das lesen der Manuals.
            Selbstbedienung! - Das SelfForum ist ein Gratis-Restaurant mit Selbstbedienung, Menüangebot steht in den </faq/> und dem </archiv/>.
    2. Hallo Philipp!

      Also ich bin für folgende Lösung:

      Also ich kenne mich mit sowas nicht wirklich aus, aber ich glaube das mit dem pauschalen Abschneiden ist allgemein nicht so gut, da Du evtl. das relevanteste Wort aus Versehen mit abschneidest, da es gerade über oder unter einem bestimmten Schwellenwert lag. Du magst mit Deiner Statistik zwar richtig liegen, aber im Einzellfall wäre mir die Gefahr zu gross dass ich am Ende nicht auch die wirklich relaevanten Wörter im Text habe. Daher würde ich eher so vorgehen:

      Stoppword-Liste, in die schreibst Du alle oft vorkommen und unwichtigen Wörter, wie und/oder/ich... die können dann schonmal alle Weg. Je besser Du diese Liste auf Deine Gegebenheiten anpasst desto besser das Ergebnis.
      Ich habe mal eine MySQL-basierte Suche zu schreiben versucht, ich erinnere mich nicht mehr so an die Details, aber dazu stehen einige größere Threads im Archiv
      (falls es Dich interessiert:
      [linkhttp://forum.de.selfhtml.org/archiv/2002/10/27766/]
      http://forum.de.selfhtml.org/archiv/2002/11/30209/
      http://forum.de.selfhtml.org/archiv/2002/11/30860/
      http://forum.de.selfhtml.org/archiv/2002/11/30406/#m167081
      Ich glaube da war noch mehr...),

      waren für mich sehr interessante Diskussionen mit Michael Schröpl, wobei es hier eher um Peroformance ging, aber irgendwie sind die Probleme doch ein bisschen ähnlich.

      Viele Grüße
      Andreas

      1. Halihallo Andreas

        Also ich kenne mich mit sowas nicht wirklich aus, aber ich glaube das mit dem pauschalen Abschneiden ist allgemein nicht so gut, da Du evtl. das relevanteste Wort aus Versehen mit abschneidest, da es gerade über oder unter einem bestimmten Schwellenwert lag. Du magst mit Deiner Statistik zwar richtig liegen, aber im Einzellfall wäre mir die Gefahr zu gross dass ich am Ende nicht auch die wirklich relaevanten Wörter im Text habe. Daher würde ich eher so vorgehen:

        Jep, das ist leider so :-(

        Stoppword-Liste, in die schreibst Du alle oft vorkommen und unwichtigen Wörter, wie und/oder/ich... die können dann schonmal alle Weg. Je besser Du diese Liste auf Deine Gegebenheiten anpasst desto besser das Ergebnis.

        Yo, das ist auch schon implementiert, nur kann man sich auf das nicht beschränken.
        Das Problem ist einfach: Stoppwortlisten sind Sprach- und Kontextabhängig. Der Luhn
        Algorithmus _muss_ davon unabhängig funktionieren. Eben, er ist rein statistisch, nicht
        linguistisch (OK, einen Stemmer [Stammformreduktion] habe ich auch davorgeschalten).
        Mit Stoppwortlisten erreicht man in der Tat wesentlich mehr, nur müssten diese auch
        gepflegt und gewartet (und gar erst definiert und eingegeben) werden; ein kontrolliertes
        Vokabular.

        Hier tut sich übrigens ein neues Problem auf: Wenn man Stoppwortlisten (oder auch
        Positivwortlisten) mit Luhn vereint, muss man ziemlich darauf achten, dass man dann nicht
        zu weit an der Wortliste rumschnipselt, sonst steigt die Wahrscheinlichkeit, dass man ein
        relevantes Wort wegschneidet noch mehr an...

        Ich muss dir und Axel ja recht geben, ich bin mir dessen selber auch bewusst. Nur reizt
        es mich mal das zu testen. Ich werde auch ein Test mit nur Stoppwortlisten durchführen,
        mal sehen, was das so bringt; ist nur leider sehr zeitaufwändig und soviel will ich für
        dieses Projekt nun auch wieder nicht opfern.

        waren für mich sehr interessante Diskussionen mit Michael Schröpl, wobei es hier eher um Peroformance ging, aber irgendwie sind die Probleme doch ein bisschen ähnlich.

        Sehr interessant zu lesen. Nur leider ist das Indexieren wesentlich einfacher, als Texte
        zusammenzufassen. Aber lesen tue ich es gerne, weil's mich interessiert.

        Viele Grüsse und Danke euch beiden

        Philipp

        --
        RTFM! - Foren steigern das Aufkommen von Redundanz im Internet, danke für das lesen der Manuals.
        Selbstbedienung! - Das SelfForum ist ein Gratis-Restaurant mit Selbstbedienung, Menüangebot steht in den </faq/> und dem </archiv/>.
  2. Hallo Phillip,

    Ich bin ziemlich sicher, dass es vor einigen Jahren ein Projekt in dieser Richtung  entweder beim DFKI, dem IAI oder den COLI's an der Uni Saarbruecken gegeben hat. In meiner Erinnerung hatte das was zu tun mit dem Finden von Analysieren von Nachrichten im Web. Vielleicht gibt es dazu oeffentliche Forschungsergebnisse.
    http://dfki.de
    http://www.iai.uni-sb.de/iaide/index.htm
    http://www.coli.uni-sb.de

    Dieter

    1. Halihallo Dieter

      Ich bin ziemlich sicher, dass es vor einigen Jahren ein Projekt in dieser Richtung  entweder beim DFKI, dem IAI oder den COLI's an der Uni Saarbruecken gegeben hat. In meiner Erinnerung hatte das was zu tun mit dem Finden von Analysieren von Nachrichten im Web. Vielleicht gibt es dazu oeffentliche Forschungsergebnisse.
      http://dfki.de
      http://www.iai.uni-sb.de/iaide/index.htm
      http://www.coli.uni-sb.de

      Oh, da müsste ich morgen genauer hinsehen. Gerade in die Augen gestochen ist mir hierbei:

      http://www.iai.uni-sb.de/~bindex/index-demo.html

      füttert den mal mit dem Ausgangsposting von mir (achtung, dauert _einige_ Sekunden, vielleicht erst mit kleinerem Text versuchen, sonst stürzt denen der Computer ab *g*),
      gibt eigentlich ganz intelligente Deskriptoren und Stichwörter heraus. Vielleicht kann
      da etwas veranschaulichen, dass es wirklich ein Anwendungsbereich für derartige
      Software gibt (OK, Summarizer ist noch etwas anderes als Indexer, aber es lässt sich
      schon vergleichen).

      Danke für die Links!

      Viele Grüsse

      Philipp

      --
      RTFM! - Foren steigern das Aufkommen von Redundanz im Internet, danke für das lesen der Manuals.
      Selbstbedienung! - Das SelfForum ist ein Gratis-Restaurant mit Selbstbedienung, Menüangebot steht in den </faq/> und dem </archiv/>.