Definition "signifikanter Wörter"
Philipp Hasenfratz
- programmiertechnik
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
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
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
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
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
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
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
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
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
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
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
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