Scoring: News filtern |
|
Was Scoring ist„Scoring“ ist – ganz kurz gesagt – ein Bewertungssystem, in dem du Bedingungen dafür festlegen kannst, welche Newsartikel du lesen willst und welche nicht. Technisch funktioniert das so: Bevor der Hamster einen Artikel lädt, bekommt er vom entfernten Server schon mal einen „Vorgeschmack“ dieses Artikels, den sogenannten Overview oder XOVER. Das ist eine Auswahl aus den Headerzeilen, z.B. Message-ID, Datum, Betreff, Absender und noch einige mehr. Normalerweise schaut sich der Hamster nur die Message-ID an, um zu sehen, ob er vielleicht genau diesen Artikel schon hat, z.B. von einem anderen Server. Aber wenn du ein Scorefile anlegst, dann kannst du darin für alle Kopfzeilen, die im XOVER enthalten sind, Kriterien festlegen, nach denen der Artikel dann Plus- oder Minuspunkte bekommt. Wenn ein Artikel mit der Gesamtpunktzahl im Minus-Bereich landet, wird er vom Hamster ignoriert. Die XOVER-Zeilen aller ignorierten Artikel landen im Killfile. Das erreichst du über das Datei-Menü. Dort kannst du auch Artikel, die versehentlich ins Killfile gerutscht sind, nachträglich doch noch laden. Es lohnt sich auch, die Hamster-Hilfe hierzu anzusehen (Inhalt - scores.hst). Ein Beispiel:Nehmen wir mal an, du willst in Gruppen unter de.soc.* nur Artikel erhalten, bei denen das Stichwort Fenster im Betreff steht, in den de.comp.*-Gruppen aber willst du genau diese Artikel ausblenden. Weiter bist du von meinen Artikeln so genervt, dass du sie nicht mehr lesen willst, ausgenommen, ich schreibe in de.soc.* etwas mit Fenster im Betreff. Kompliziert? Kein Stück – für das Hamster-Scoring-System ist das eine leichte Übung! |
|
Das ScorefileEs ist eine Textdatei, hört auf den Namen scores.hst und liegt im Hamster-Arbeitsverzeichnis – ähnlich wie ein Skript. Du kannst es direkt bearbeiten, indem du im Einstellungen-Menü den Punkt News-Score-/Killfile auswählst. Wenn jetzt noch kein Scorefile da ist, wirst du gefragt, ob du eines anlegen willst – Ja. Sobald die Datei scores.hst existiert, wird sie vom Hamster auch ausgewertet. Du musst nichts mehr extra dafür einstellen. Die Einträge im Scorefile sind in Abschnitte eingeteilt. Diese Abschnitte geben an, für welche Gruppe(n) die folgenden Einträge gelten sollen. Das steht jeweils am Beginn eines Abschnitts in eckigen Klammern. Ein Stern bedeutet: gilt für alle Gruppen. |
|
1. Artikel eines bestimmten Absenders herunterscorenLegen wir also den ersten Abschnitt an, der für alle Gruppen gilt. Und darunter setzen wir gleich den ersten Eintrag, in dem wir unser Beispiel von oben umsetzen: Jeder Beitrag von mir bekommt erst einmal generell, sagen wir, 10 Minuspunkte. Wie das geht, siehst du rechts im ersten Beispiel. Es trifft auf alle Gruppen zu (Abschnitt [*]) und vergibt 10 Minuspunkte an jedes Posting, das im Absender (From-Header) meine Adresse trägt. Groß- und Kleinschreibung ist im Scorefile übrigens egal, darauf achtet der Hamster nicht: das Kriterium abc trifft auch auf ABC zu. 2. Artikel in bestimmten Gruppen herunterscorenUnd jetzt kommt die Vorschrift für die de.comp.*-Gruppen: Keine Beiträge laden, in deren Subject (Betreff) das Wort „Fenster“ vorkommt. Dazu müssen wir zwei neue Zeilen ins Scorefile schreiben – du siehst sie rechts im zweiten Beispiel. Dieser Abschnitt trifft auf alle Gruppen zu, die ein de.comp im Namen haben (wo auch immer), und er vergibt darin allen Artikeln mit „Fenster“ im Betreff einen Minuspunkt. Die Tilde ~ vor dem Wort Subject bewirkt, dass die Zeile gegebenenfalls dekodiert wird, bevor der Hamster die Übereinstimmung prüft. Das ist bei Subject-Einträgen immer empfehlenswert – obwohl „Fenster“ keine Sonderzeichen enthält, kann es dennoch kodiert worden sein. Ist ja nicht verboten. Ein Artikel von mir in de.comp mit „Fenster“ im Betreff hat jetzt schon insgesamt 11 Minuspunkte! 3. Nur bestimmte Artikel lesenUnd jetzt kommen wir zur dritten Vorschrift: In de.soc.* sollen nur Artikel mit „Fenster“ geladen werden, sogar dann, wenn sie von mir kommen (obwohl du mich ja schon global ausgeblendet hast mit den zehn Minuspunkten). Wir müssen jetzt also dafür sorgen, dass alle Artikel ohne „Fenster“ im Minusbereich landen. Alle Artikel mit „Fenster“ müssen dagegen Pluspunkte bekommen, und zwar mindestens zehn, weil du ja am Anfang allen Artikeln von mir zehn Minuspunkte verpasst hast. Die müssen jetzt natürlich wieder ausgeglichen werden, wenn du „Fenster“-Artikel von mir jetzt doch wieder lesen willst. Das könnte dann so aussehen wie rechts im dritten Beispiel. Gesamtergebnis bis jetzt:
Ich denke, das System hast du verstanden, oder? Damit du selbst weitermachen kannst, hier noch ein paar Erklärungen: |
[*]
Jeder Artikel mit dieser Adresse im From-Header (=Absender) bekommt 10 Minuspunkte [de.comp]
In allen de.comp-Gruppen keine „Fenster“-Artikel lesen. [de.soc]
In de.soc.-Gruppen nur „Fenster“-Artikel lesen |
EinzelheitenDie XOVER-HeaderWelche Header im Overview enthalten sind, so dass du auf sie scoren kannst, hängt ein bisschen von deinem Provider ab. In der Regel sind es aber Subject, From, Date, Message-ID, References, Bytes, Lines und Xref. Dazu kommen noch zwei Parameter, die der Hamster aus anderen Headern ermittelt: Age und Xpost. Wie das jeweils genau geht, erfährst du in der Hamster-Hilfe. Scoring festnagelnWenn du vor eine Punktzahl ein Gleichheitszeichen setzt, dann wird der Punktestand festgeschrieben und nicht mehr verändert. Bedingungen kombinierenDu kannst mehrere Kriterien einfach hintereinanderschreiben. Die werden dann ODER-verknüpft, das heißt: die Vorschrift gilt immer dann, wenn mindestens eines dieser Kriterien erfüllt ist. UND-VorschriftWenn du in einer Aufzählung von Kriterien ein Pluszeichen vor eines davon setzt, heißt das, dass diese Bedingung zutreffen muss. UND NICHT-VorschriftUmgekehrt ist es, wenn du ein Minus davorsetzt. Das bedeutet: Dieses Kriterium darf nicht zutreffen; wenn es doch zutrifft, ist die komplette Scorevorschrift ungültig. Also so eine Art „außer“: Andere Header mit einbeziehenDu kannst in einer Scorezeile auch auf andere Header Bezug nehmen. Dann schreibst du den Namen dieses Headers mit einem vorangehenden @ in die Zeile. |
=-10 From "news-fups@volker-gringmuth.de"
Scoring festnageln: News von mir bekommen fest 10 Minuspunkte [de.etc.forstwirtschaft]
ODER-Verknüpfung von Bedingungen – hier kommen fast nur noch Lärchen durch [de.rec.sport.misc]
UND-Vorschrift: „ball“ muss vorkommen, die anderen sind ODER-verknüpft: Alle Ballsportarten werden ausgefiltert, aber „Wasserski“ kommt weiterhin durch -10 ~Subject baum -tannen
UND NICHT-Vorschrift: Das hier filtert alle Bäume aus, lässt aber Tannenbäume durch – wenn „tannen“ enthalten ist, trifft die ganze Zeile nicht mehr zu -10 Subject fischers -@from:"fritze"
Einbeziehen anderer Header: „fischers“ im Subject wird heruntergescoret, außer bei Postings, die „fritze“ im Absender tragen – die bleiben ungeschoren |
Reguläre Ausdrücke (RegEx)Reguläre Ausdrücke sind eine ausgefeilte Methode, Zeichenfolgen allgemein zu beschreiben. Die kannst du im Hamster ungehemmt einsetzen. Eine Regex muss in {geschweiften Klammern} stehen, damit der Hamster sie als solche erkennt. Damit muss man sich jetzt allerdings ein bisschen auskennen, dafür kann ich dir hier keinen Grundkurs anbieten – such mal im Web nach „regex“ oder „PCRE“ („Perl Compatible Regular Expression“). Praktisch wird das allerdings, wenn du zum Beispiel Wortgrenzen erkennen musst. Nehmen wir an, du interessierst dich nicht für Tiere. Wenn du dann die obere Scorevorschrift einsetzt, erlebst du unangenehme Überraschungen... Wenn du ausgefeilt filtern willst, solltest du dich unbedingt mit Regex befassen. |
-20 ~Subject tier
Ungeschickt: Von dieser Scorevorschrift wird auch das Subject „Zirkus Krone gastiert in München“ erfasst -20 ~Subject {\btier\b}
Sehr viel besser: „\b“ bedeutet eine Wortgrenze. Der String „tier“ wird jetzt nur noch erfasst, wenn er als einzelnes Wort steht – links und rechts eine Wortgrenze. |
FazitDas war natürlich auch keine intensive Schulung, aber du sollst ja durch Ausprobieren lernen. Aber ich sage dir aus Erfahrung: Wenn du einmal angefangen hast, Scoring gezielt einzusetzen, dann wirst du dich bald fragen, was du bisher eigentlich ohne gemacht hast. Vor allem, wenn du viele Gruppen liest – da kann man das Nachrichtenaufkommen oft schon ganz gut vorsortieren. |
|
|