Automatisches Tagging

cr4m0

Angesehenes Mitglied
Viele Nachrichten-Aggregatoren, wie z.B. Wikio, ordnen allen Artikeln Tags zu. Da diese Arbeit per Hand viel zu aufwändig wäre, kann man ja davon ausgehen, dass das Tagging automatisch oder zumindest halbautomatisch durchgeführt wird.

Beispieltext:
Klaus Dobbratz über den Abschiedsschmerz von Hans-Michael Holczer Der Teammanger des Radrennstalls Gerolsteiner, ein wichtiger Sympathieträger des Sports, fand kein Gehör bei der Industrie. Der Name verschwindet wie auch die Fahrer. Das Ende einer durchaus erfolgreichen Geschichte. Neuss, 4. September...
Quelle: sport-signale.de

Wikios Tags für diesen Artikel:
- Sport/Radsport/Radsportler/Gerolsteiner
- Sport/Radsport
- Sport/Radsport/Radsportler
- Sport
Für alle Tags gibt es also auch noch eine Hierarchie: "Radsport" ist z.B. "Sport" untergeordnet.

Wie wird das eurer Meinung nach realisiert? Automatisch oder halbautomatisch? Welchen Ansatz von mir findet ihr besser? Oder habt ihr vielleicht noch einen besseren?

1. Ansatz: Es wird eine Datenbank aufgebaut mit einem Tag und einem Pfad für das Tag. Beispiel: "Tour de France" als Tag und "Sport/Radsport/Tour de France" als Pfad. Wenn in einem Artikel nun "Tour de France" vorkommt, dann werden auch die übergeordneten Tags dem Artikel zugeordnet. Der Artikel erhält dann also die Tags "Tour de France", "Radsport" und "Sport".

2. Ansatz: Alle Wörter und Wortkombinationen werden aus dem Text ausgelesen und als Tag genommen. Weil das sehr oft gemacht wird, erkennt das system mit der Zeit, dass "Tour de France" zu "Radsport" gehört und verbindet die Tags automatisch. Das ist also ein vollautomatischer Ansatz.

Ich hoffe, ihr könnt mir helfen, herauszufinden, wie man so etwas umsetzen kann. Danke im Voraus für eure Antworten!
 
QUOTE Ich hoffe, ihr könnt mir helfen, herauszufinden, wie man so etwas umsetzen kann.

Ich vermute, dass ist aufwendiger als Du Dir das vorstellst.

Ich gehe auch davon aus, dass die technologische Hürde für eine vollautomatische Implementation zu hoch ist. Der Aufbau einer Taxonomie ist recht aufwändig. Es wäre nötig, dass Du die Wahrscheinlichkeit eines Tags anhand der relativen Vorkommnisse seiner taxonomischen Nachbaren bestimmen kannst. Das ist nötig um "Serena Villiams gedopt wie an der Tour de France" Tennis und nicht Radsport zuzuordnen.

Dein erster Ansatz ist eine Taxonomie. Nummer 2 muss mit den nicht-Tag-Strings umgehen. Es gibt sehr viele Eigennamen
wink.gif
Und das ist erst der Anfang. Dazu könnten 3rd Apis wie die von Yahoo verwendet werden (ist bei Ayom im Einsatz).
Damit könnte vor allem schnell und einfach etwas semi-automatisches gemacht werdne.

Gute nacht.
 
Danke für die Antwort! Ich sehe jetzt auch ein, dass die vollautomatische Lösung zu schwer wäre. Es gibt zwar Lösungen wie die von dir genannte Yahoo !Q und OpenCalais von Reuters. Aber alle vollautomatischen Lösungen sind nicht 100%ig korrekt. Es wird z.B. nach großgeschriebenen Wörtern vor GmbH gesucht und das Wort davor als Firma genommen. Wenn ich aber schreibe "bei Google ist ..." funktioniert das System ja nicht.
Also werde ich eine Datenbank aufbauen. Ich habe jetzt auch einen Hinweis gefunden, dass es wohl bei Wikio auch nur halbautomatisch mit einer Datenbank durchgeführt wird: Es gibt nämlich folgendes Tag:
People > Promi-Kinder > Henry Günther Ademola Dashtu Samuel
Woher sollte ein Algorithmus wissen, dass "Henry Günther Ademola Dashtu Samuel" ein Promikind ist? Es könnte auch ein Autoname oder so sein ...
Seht ihr das auch so, dass so ein Tag nur mit einer manuell angelegten Datenbank erkannt werden kann?
 
QUOTE Seht ihr das auch so, dass so ein Tag nur mit einer manuell angelegten Datenbank erkannt werden kann?


Ja! Vollautomatisches Tagging ist eine wirklich komplizierte Sache...da haben sich schon andere die Zähne ausgebissen. Geht auch in Richtung "Semantic Web" etc. und dort wird noch viel entwickelt.

Für den Moment scheinen wir uns mit halbautomatischen Verfahren abfinden zu müssen.

Grüße
Oli
 
Ich benutze auch eine Art automatisches Tagging.. falls du nicht so anspruchsvoll sein solltest:

Artikelname -> Stopwords entfernen -> Adjektive/Verben entfernen (..lich,..lig,..)

Was dabei rauskommt kannste als Tags nehmen, ggf. noch nach Abkürzungen suchen.. . Das Ganze lässt sich bestimmt noch verfeinern.

Gruß Malte
 
Danke für eure Antworten!

@malte: Die Idee ist gut. Aber statt Adjektive mit -lich und so rauszuwerfen würde ich eher alle kleingeschriebenen Wörter rauswerfen. Dann hast du im Idealfall nur Substantive übrig.
Dafür brauchst du dann keine aufwendigen Regeln mit allen Adjektiv-Endungen. Außerdem könnte ein -lich auch ein Name sein (z.B. Beinlich). Also werden dadurch auch Substantive aussortiert.
@pangu: Stimmt, das wäre auch sinnvoll. Aber man kann die Ergebnisse des Stemmers nicht so als Tags nehmen, da sie ja nur Pseudo-Stämme sind. Beispiel: Stamm von "Reisen" = "Reis" ...
Man muss mit den Stämmen also noch irgendwie weiterarbeiten und kann sie nur als Hilfsmittel nehmen.
 
Zurück
Oben