EnglischFranzösischSpanisch

Ad


OnWorks-Favicon

dbacl – Online in der Cloud

Führen Sie dbacl im kostenlosen Hosting-Anbieter OnWorks über Ubuntu Online, Fedora Online, den Windows-Online-Emulator oder den MAC OS-Online-Emulator aus

Dies ist der Befehl dbacl, der beim kostenlosen Hosting-Anbieter OnWorks mit einer unserer zahlreichen kostenlosen Online-Workstations wie Ubuntu Online, Fedora Online, dem Windows-Online-Emulator oder dem MAC OS-Online-Emulator ausgeführt werden kann

PROGRAMM:

NAME/FUNKTION


dbacl – ein digramischer Bayesianischer Klassifikator zur Texterkennung.

ZUSAMMENFASSUNG


dbac [-01dvnirmwMNDXW] [-T tippe ] -l Kategorie [-H Größe] [-H ggröße] [-X dezim] [-Q
Qualität] [-w max_order] [-e deftok] [-Ö Online] [-L messen] [-G Regex] ...
[DATEI]...

dbac [-vnimNRX] [-h Größe] [-T Typ] -c Kategorie [-C Kategorie]... [-F halten]... [DATEI]...

dbac -V

Überblick


dbac ist ein bayesianischer Text- und E-Mail-Klassifikator. Bei Verwendung des -l Schalter, es lernt einen Körper
von Text und erzeugen Sie eine Datei mit dem Namen Kategorie welches den Text zusammenfasst. Bei Verwendung des -c
Schalter, vergleicht es einen Eingabetextstrom mit einer beliebigen Anzahl von Kategorie Dateien und Ausgaben
der Name der engsten Übereinstimmung oder optional verschiedene numerische Bewertungen, die unten erläutert werden.

Obwohl diese Handbuchseite als Referenz gedacht ist, gibt es mehrere Tutorials und
Dokumente, die Sie lesen können, um spezielle Informationen zu erhalten. Spezifische Dokumentation zum
Design von dbac und die statistischen Modelle, die es verwendet, finden Sie in dbacl.ps. Für ein
Grundlegender Überblick über die Textklassifizierung mit dbac, siehe Tutorial.html. Ein begleitendes Tutorial
auf E-Mail-Filterung ausgerichtet ist email.html. Wenn Sie Probleme haben, dbacl zu erhalten
Zuverlässig klassifizieren, is_it_working.html lesen. Der Abschnitt „NUTZUNG“ dieser Handbuchseite finden Sie ebenfalls
hat einige Beispiele.

/usr/share/doc/dbacl/dbacl.ps

/usr/share/doc/dbacl/tutorial.html

/usr/share/doc/dbacl/email.html

/usr/share/doc/dbacl/is_it_working.html

dbac verwendet ein Sprachmodell mit maximaler Entropie (minimale Divergenz), das mit Respekt erstellt wurde
zu einem digramischen Referenzmaß (unbekannte Token werden aus Digrammen, also Paaren von, vorhergesagt).
Briefe). Praktisch bedeutet dies, dass a Kategorie wird aus Token im erstellt
Trainingssatz, während bisher nicht sichtbare Token automatisch aus ihrem vorhergesagt werden können
Briefe. Ein Token ist hier entweder ein Wort (Fragment) oder eine Kombination von Wörtern (Fragmente).
nach verschiedenen Schaltern ausgewählt. Das grobe Lernen funktioniert durch Anpassen des Tokens
Wahrscheinlichkeiten, bis die Trainingsdaten am wenigsten überraschend sind.

EXIT STATUS


Die normalen Shell-Exit-Konventionen werden nicht befolgt (sorry!). Bei Verwendung des -l Befehl
bilden, dbac Gibt bei Erfolg Null zurück, bei Auftreten eines Fehlers ungleich Null. Bei Verwendung des -c bilden,
dbac gibt eine positive ganze Zahl zurück, die dem entspricht Kategorie mit dem höchsten hinteren
Wahrscheinlichkeit. Bei Gleichstand wird die erste wahrscheinlichste Kategorie gewählt. Wenn ein Fehler
tritt ein, dbac gibt null zurück.

BESCHREIBUNG


Bei Verwendung der -l Befehlsformular, dbac lernt eine Kategorie, wenn ein oder mehrere DATEI-Namen vergeben werden,
die lesbaren ASCII-Text enthalten sollte. Wenn keine FILE angegeben ist, dbac lernt von STDIN. Wenn
FILE ist ein Verzeichnis, es wird geöffnet und alle seine Dateien werden gelesen, nicht jedoch seine Unterverzeichnisse.
Das Ergebnis wird in der Binärdatei mit dem Namen gespeichert Kategorieund ersetzt alle vollständig
bisherige Inhalte. Der Einfachheit halber, wenn die Umgebungsvariable DBACL_PATH eine enthält
Verzeichnis, dann wird das dem Dateipfad vorangestellt, es sei denn Kategorie beginnt mit einem „/“ oder einem
'.'.

Als Eingabetext für das Lernen wird standardmäßig unstrukturierter Klartext angenommen. Das ist
Nicht zum Erlernen von E-Mail geeignet, da E-Mail verschiedene Transportkodierungen enthält und
Formatierungsanweisungen, die die Wirksamkeit der Klassifizierung verringern können. Sie müssen die verwenden -T
Wechseln Sie in diesem Fall damit dbac weiß, dass es die Dekodierung und Filterung von MIME durchführen soll
und ggf. HTML. Geeignete Schalterwerte sind „-T email“ für die RFC2822-E-Mail-Eingabe,
„-T html“ für HTML-Eingaben, „-T xml“ für generische XML-Eingaben und „-T text“ ist die
Standard-Nur-Text-Format. Es gibt andere Werte von -T Schalter, der auch in Ordnung ist
Optimierung der Dekodierungsfunktionen.

Bei Verwendung der -c Befehlsformular, dbac versucht, den in der DATEI gefundenen Text zu klassifizieren, oder
STDIN, wenn kein FILE angegeben ist. Jedes möglich Kategorie müssen gesondert angegeben werden und sollten es auch sein
der Dateiname eines zuvor gelernten Textkorpus. Der Einfachheit halber, wenn die Variable
DBACL_PATH enthält ein Verzeichnis, es wird jedem Dateipfad vorangestellt, der nicht beginnt
mit einem '/' oder einem '.'. Die sichtbare Ausgabe der Klassifizierung hängt von der Kombination ab
Anzahl der zusätzlichen Schalter, die verwendet werden. Wenn kein Schalter verwendet wird, wird auf STDOUT keine Ausgabe angezeigt. Jedoch,
dbac Erzeugt immer einen Exit-Code, der getestet werden kann.

Um eine Ausgabe für eine Klassifizierung anzuzeigen, müssen Sie mindestens eine davon verwenden -v,-U,-n,-N,-D,-d
Schalter. Manchmal können sie in Kombination verwendet werden, um eine natürliche Variante zu erzeugen
ihre individuellen Ergebnisse. Manchmal, dbac Erzeugt ggf. auch Warnungen zu STDERR.

Das -v switch gibt den Namen der besten Kategorie unter allen gegebenen Auswahlmöglichkeiten aus.

Das -U switch gibt den Namen der besten Kategorie gefolgt von einem Konfidenzprozentsatz aus.
Normalerweise ist dies der Schalter, den Sie verwenden möchten. Ein Prozentsatz von 100 % bedeutet dies dbac
ist sich seiner Wahl sicher, während ein Prozentsatz von 0 % bedeutet, dass eine andere Kategorie gleichwertig ist
wahrscheinlich. Dabei handelt es sich nicht um die Modellwahrscheinlichkeit, sondern um ein Maß dafür, wie eindeutig die Klassifizierung ist
ist, und kann verwendet werden, um unsichere Klassifizierungen zu kennzeichnen (z. B. wenn die Konfidenz 25 % oder weniger beträgt).

Das -N switch gibt jeden Kategorienamen aus, gefolgt von seiner (posterioren) Wahrscheinlichkeit, ausgedrückt
als Prozentsatz. Die Prozentsätze summieren sich immer auf 100 %. Das ist intuitiv, aber nur wertvoll
wenn das zu klassifizierende Dokument eine Handvoll Token (zehn oder weniger) enthält. Im Gemeinsamen
Bei viel mehr Token liegen die Wahrscheinlichkeiten immer sehr nahe bei 100 % und 0 %.

Das -n switch gibt jeden Kategorienamen gefolgt vom negativen Logarithmus aus
Wahrscheinlichkeit. Dies entspricht der Verwendung von -N Schalter, aber viel nützlicher. Das kleinste
Die Zahl gibt die beste Kategorie an. Eine bequemere Form besteht darin, beides zu verwenden -n und -v welche
gibt den Namen jeder Kategorie aus, gefolgt von der Kreuzentropie und der Anzahl der analysierten Token.
Die Kreuzentropie misst (in Bits) die durchschnittlich erreichbare Komprimierungsrate,
unter dem angegebenen Kategoriemodell, pro Token des Eingabetextes. Wenn Sie alle drei verwenden -n,-v,-X
dann wird für jede Kategorie ein zusätzlicher Wert ausgegeben, der für jede eine Art p-Wert darstellt
Kategoriepunktzahl. Dies gibt an, wie typisch die Punktzahl im Vergleich zum Training ist
Dokumente, funktioniert aber nur, wenn die -X Der Schalter wurde während des Lernens verwendet, und zwar nur für einige
Arten von Modellen (z. B. E-Mail). Diese p-Werte sind gleichmäßig verteilt und unabhängig
(wenn die Kategorien unabhängig sind), können sie daher mit dem Chi-Quadrat-Test nach Fisher kombiniert werden
Erhalten Sie zusammengesetzte p-Werte für Gruppierungen von Kategorien.

Das -v und -X Die Schalter geben zusammen den Namen jeder Kategorie aus, gefolgt von einer detaillierten Beschreibung
Zerlegung der Kategoriebewertung, berücksichtigt in (Divergenzrate + Shannon-Entropie
Rate)* Token-Anzahl @ p-Wert. Auch dies funktioniert nur bei einigen Modelltypen.

Das -v und -U Schalter geben jeden Kategorienamen aus, gefolgt von einer Zerlegung des
Kategorie-Score in (Divergenzrate + Shannon-Entropierate # Score-Varianz)* Token
Anzahl.

Das -D switch gibt den Eingabetext so aus, wie er intern von geändert wurde dbac vor
Tokenisierung. Wenn beispielsweise ein MIME-codiertes E-Mail-Dokument klassifiziert wird, dann dies
Gibt den dekodierten Text aus, der tatsächlich tokenisiert und klassifiziert wird. Dieser Schalter ist
hauptsächlich zum Debuggen nützlich.

Das -d Der Schalter wirft Token und Punkte ab, während sie gelesen werden. Es ist nützlich für
beim Debuggen oder wenn Sie grafische Darstellungen der Klassifizierung erstellen möchten. A
Eine detaillierte Erläuterung der Ausgabe würde den Rahmen dieser Handbuchseite sprengen, ist es aber
unkompliziert, wenn Sie dbacl.ps gelesen haben. Zu den möglichen Variationen gehören: -d Zusammen mit -n
or -N.

Die Klassifizierung kann grundsätzlich mit einer oder mehreren Kategorien erfolgen. Wenn zwei oder mehr
Wenn Kategorien verwendet werden, wird die Bayesian-posteriori-Wahrscheinlichkeit verwendet, abhängig vom Eingabetext.
mit einer einheitlichen Vorverteilung nach Kategorien. Weitere Priorisierungsoptionen finden Sie im
Begleitdienstprogramm bayesol(1). Wenn eine einzelne Kategorie verwendet wird, kann eine Klassifizierung durchgeführt werden
durch Vergleich der Punktzahl mit einem Schwellenwert. In der Praxis werden jedoch weitaus bessere Ergebnisse erzielt
mit mehreren Kategorien erhalten.

Lernen und Klassifizieren können nicht im selben Befehlsaufruf kombiniert werden, dies ist jedoch der Fall
Keine Verriegelungsprobleme und getrennt dbac Prozesse können gleichzeitig mit offensichtlichen ablaufen
Ergebnisse, da Dateioperationen atomar konzipiert sind.

Beachten Sie schließlich, dass dbac verwaltet weder Ihre Dokumentenkorpora noch Ihre berechneten Dokumente
Kategorien, und insbesondere ist es nicht möglich, eine vorhandene Kategoriedatei zu erweitern
mit neuen Unterlagen. Dies steht im Gegensatz zu verschiedenen aktuellen Spam-Filtern, die Neues lernen können
E-Mails schrittweise. Diese Einschränkung von dbac ist zum Teil auf das nichtlineare Verfahren zurückzuführen
im Lernalgorithmus verwendet werden, und teilweise ein Wunsch nach erhöhter Flexibilität.

Sie können den Effekt des inkrementellen Lernens simulieren, indem Sie Ihre Schulungsdokumente in speichern
Archive zu erstellen und diese Archive im Laufe der Zeit zu erweitern und regelmäßig von Grund auf neu zu lernen.
Das Lernen geht tatsächlich schneller, wenn diese Archive im laufenden Betrieb komprimiert und dekomprimiert werden
wenn gebraucht. Indem Sie die Kontrolle über Ihre Archive behalten, können Sie niemals die darin enthaltenen Informationen verlieren
Ihre Kategorien, und Sie können ganz einfach mit verschiedenen Schaltern oder Tokenisierungen experimentieren oder
Auf Wunsch auch Sätze von Schulungsunterlagen.

SEKUNDÄR SWITCHES


Standardmäßig dbac klassifiziert den Eingabetext als Ganzes. Bei der Verwendung von -f Option,
dbac kann verwendet werden, um jede Eingabezeile separat zu filtern und nur die Zeilen zu drucken, die
stimmen mit einem oder mehreren durch identifizierten Modellen überein halten (Verwenden Sie den Namen oder die Nummer der Kategorie, um auf eine zu verweisen
Kategorie). Dies ist nützlich, wenn Sie einige Zeilen herausfiltern möchten. Beachten Sie jedoch, dass die Zeilen
sind kurz, dann kann die Fehlerquote hoch sein.

Das -e,-w,-g,-j Schalter werden zur Auswahl eines geeigneten Tokenisierungsschemas verwendet. A
Token ist ein Wort oder Wortfragment oder eine Kombination von Wörtern oder Fragmenten. Die Form von Token
ist wichtig, da es die Grundlage der von verwendeten Sprachmodelle bildet dbacdem „Vermischten Geschmack“. Seine -e
Der Switch wählt ein vordefiniertes Tokenisierungsschema aus, das schnell, aber begrenzt ist. Der -w
Der Schalter gibt zusammengesetzte Token an, die von abgeleitet sind -e schalten. Beispiel: „-e alnum -w 2“
bedeutet, dass Token alphanumerische Wortfragmente sein sollten, die zu überlappenden Paaren zusammengefasst sind
(Bigramm). Wenn das -j Wenn der Schalter verwendet wird, werden alle Token in Kleinbuchstaben umgewandelt
reduziert die Anzahl der möglichen Token und damit den Speicherverbrauch.

Besitzt das -g Wenn ein Schalter verwendet wird, können Sie vollständig festlegen, wie die Token aussehen sollen
unter Verwendung eines regulären Ausdrucks. Mehrere -g Mit Schaltern lassen sich komplexe Konstruktionen realisieren
Tokenisierungsschemata und Klammern innerhalb jedes Ausdrucks können zur Auswahl verwendet werden
Fragmente und kombinieren sie zu n-Gramm. Die Kosten einer solchen Flexibilität werden reduziert
Klassifizierung und Lerngeschwindigkeit. Wenn Sie mit Tokenisierungsschemata experimentieren, versuchen Sie es mit
-d or -D Schalter beim Lernen oder Klassifizieren, da sie die Token drucken
explizit, damit Sie sehen können, welche Textfragmente aufgegriffen oder übersehen werden. Für regelmäßig
Ausdruckssyntax, siehe Regex(7).

Das -h und -H Schalter regeln, wie viel Speicher vorhanden ist dbac Kann zum Lernen verwendet werden. Text
Die Klassifizierung kann standardmäßig viel Speicher beanspruchen dbac beschränkt sich schon bei der
Kosten der Lerngenauigkeit. In vielen Fällen wird bei Erreichen eines Grenzwerts eine Warnmeldung angezeigt
mit einigen Ratschlägen auf STDERR gedruckt werden.

Wenn Sie dieselbe Kategorie mehrmals neu lernen, kann eine erhebliche Beschleunigung erzielt werden
Verwendung der -1 wechseln, da hierdurch die zuvor erlernten Wahrscheinlichkeiten abgelesen werden können
der Kategorie hinzugefügt und wiederverwendet.

Beachten Sie, dass die Klassifizierungsgenauigkeit in erster Linie von der Menge und Qualität der Daten abhängt
Trainingsbeispiele und dann nur auf den Umfang der Optimierungen.

EXIT STATUS


Bei Verwendung der -l Befehlsformular, dbac gibt bei Erfolg Null zurück. Bei Verwendung des -c bilden,
dbac gibt eine positive Ganzzahl (1,2,3...) zurück, die dem entspricht Kategorie mit dem höchsten
hintere Wahrscheinlichkeit. Bei Gleichstand wird die erste wahrscheinlichste Kategorie gewählt. Wenn ein
Fehler tritt auf, dbac gibt null zurück.

OPTIONAL


-0 Verhindert beim Lernen eine Gewichtsvorbelastung. Normalerweise, dbac prüft, ob die Kategorie
Die Datei ist bereits vorhanden und versucht in diesem Fall, die vorhandenen Gewichtungen als Ausgangspunkt zu verwenden
Punkt. Dies kann das Lernen erheblich beschleunigen. Wenn die -0 (Null-)Schalter ist eingestellt,
dann dbac verhält sich so, als ob noch keine Kategoriedatei vorhanden wäre. Dies ist vor allem nützlich für
testen. Dieser Schalter ist jetzt standardmäßig aktiviert, um vor Gewichtsdrift zu schützen
Dies kann die Genauigkeit über viele Lerniterationen hinweg verringern. Verwenden -1 zu zwingen
Vorladen.

-1 Erzwingt das Vorladen der Gewichtung, wenn die Kategoriedatei bereits vorhanden ist. Siehe Diskussion über die
-0 Schalter.

-a Noten anhängen. Jede Eingabezeile wird nach STDOUT geschrieben, ebenso wie die dbacl-Scores
beigefügt. Dies ist nützlich für die Nachbearbeitung mit bayesol(1). Zur Erleichterung
Bei der Verarbeitung wird jede ursprüngliche Eingabezeile um ein einzelnes Leerzeichen eingerückt (zur Unterscheidung).
aus den beigefügten Partituren) und die Zeile mit den Partituren (falls -n verwendet wird).
mit der Zeichenfolge „scores“ vorangestellt. Wenn eine zweite Kopie von dbac muss das lesen
Wenn die Ausgabe später erfolgt, sollte sie mit dem aufgerufen werden -A Schalter.

-d Gibt die Modellparameter nach STDOUT aus. In Verbindung mit -l Option, das
erzeugt eine für Menschen lesbare Zusammenfassung des Maximum-Entropie-Modells. In Verbindung mit
-c Option zeigt den Beitrag jedes Tokens zum Endergebnis an.
Unterdrückt alle anderen normalen Ausgaben.

-e Wählen Sie die Zeichenklasse für die standardmäßige (nicht regexbasierte) Tokenisierung aus. Standardmäßig,
Token sind nur alphabetische Zeichenfolgen. Dies entspricht dem Fall, wenn deftok is
"Alpha". Mögliche Werte für deftok sind „alpha“, „alnum“, „graph“, „char“, „cef“
und „adp“. Die letzten beiden sind benutzerdefinierte Tokenizer für E-Mail-Nachrichten. Sehen
ebenfalls Isalpha(3). Der „char“-Tokenizer erfasst vielmehr einzelne druckbare Zeichen
als größere Token und ist nur zum Testen gedacht.

-f Filtert jede Eingabezeile separat und übergibt nur Zeilen an STDOUT, die mit übereinstimmen
Kategorie erkannt als halten. Diese Option sollte für jeden wiederholt verwendet werden
Kategorie die aufbewahrt werden müssen. halten kann entweder das sein Kategorie Dateiname, oder a
positive ganze Zahl, die die erforderliche Zahl darstellt Kategorie in der gleichen Reihenfolge, in der es erscheint
die Befehlszeile.

Ausgabezeilen werden geleert, sobald sie geschrieben werden. Wenn die Eingabedatei eine Pipe ist
oder Zeichengerät, wird andernfalls versucht, den Zeilenpufferungsmodus zu verwenden
desto effizienter ist die Blockpufferung.

-g Lernen Sie nur die Funktionen kennen, die durch den erweiterten regulären Ausdruck beschrieben werden Regex. Dies
überschreibt die standardmäßige Feature-Auswahlmethode (siehe -w Option) und lernt, für jeden
Eingabezeile, nur Token, die aus der Verkettung von Zeichenfolgen erstellt wurden
Übereinstimmung mit den getaggten Unterausdrücken innerhalb der angegebenen Regex. Alle Teilzeichenfolgen, die
Spiel Regex innerhalb eines Suffixes jeder Eingabezeile werden als Features behandelt, auch wenn
sie überlappen sich in der Eingabezeile.

Als optionale Annehmlichkeit, Regex kann das Suffix enthalten ||xyz was anzeigt
welche in Klammern gesetzten Unterausdrücke markiert werden sollen. In diesem Fall, xyz sollte
bestehen ausschließlich aus den Ziffern 1 bis 9 und nummerieren genau die Teilausdrücke, die
sollte markiert werden. Alternativ, wenn darin keine Klammern vorhanden sind Regex, Dann ist es
davon ausgegangen, dass der gesamte Ausdruck erfasst werden muss.

-h Setzt die Größe der Hash-Tabelle auf 2^Größe Elemente. Bei Verwendung des -l Option, das
bezieht sich auf die Gesamtzahl der Features, die im Maximum-Entropie-Modell zulässig sind
gelernt. Bei Verwendung des -c Option zusammen mit dem -M Schalter- und Multinomialtyp
Kategorien bezieht sich dies auf die maximale Anzahl der Features, die dabei berücksichtigt werden
Einstufung. Ohne das -M Schalter, diese Option hat keine Auswirkung.

-i Vollständig internationalisierter Modus. Erzwingt intern die Verwendung von Breitzeichen
ist an manchen Orten notwendig. Dies führt zu einer spürbaren Leistungseinbuße.

-j macht bei Features die Groß-/Kleinschreibung beachtet. Normalerweise werden alle Merkmale in Kleinbuchstaben umgewandelt
während der Verarbeitung, was den Speicherbedarf reduziert und die Statistik verbessert
Schätzungen für kleine Datensätze. Bei dieser Option wird die ursprüngliche Großschreibung verwendet
für jede Funktion. Dadurch kann die Klassifizierungsgenauigkeit verbessert werden.

-m Ordnet Kategorien aggressiv dem Speicher zu und sperrt sie im RAM, um dies zu verhindern
wenn möglich tauschen. Dies ist nützlich, wenn Geschwindigkeit und Speicher im Vordergrund stehen
reichlich vorhanden, zum Beispiel beim Testen des Klassifikators an großen Datensätzen.

Das Sperren erfordert möglicherweise eine Lockerung der Benutzerbeschränkungen unlimit(1). Fragen Sie Ihr System
Administrator. Seien Sie vorsichtig bei der Verwendung -m zusammen mit dem wechseln -o Schalter, als nur
Es muss immer nur ein Dbacl-Prozess lernen oder klassifizieren, um eine Dateibeschädigung zu verhindern. Wenn
findet kein Lernen statt, dann die -m Der Schalter zum Klassifizieren ist immer sicher zu verwenden.
Siehe auch die Diskussion zum -o Schalter.

-n Ergebnisse für jeden ausgeben Kategorie. Jede Punktzahl ist das Produkt zweier Zahlen, die
Kreuzentropie und die Komplexität des Eingabetextes unter jedem Modell. Multipliziert
Zusammen stellen sie die logarithmische Wahrscheinlichkeit dar, dass die Eingabe dem Modell ähnelt. Zu
Sehen Sie sich diese Nummern separat an, verwenden Sie auch die -v Möglichkeit. In Verbindung mit -f
Option: stoppt die Filterung, gibt aber jede Eingabezeile mit einer vorangestellten Liste der Ergebnisse aus
für diese Zeile.

-q Auswählen Qualität des Lernens, wo Qualität kann 1,2,3,4 sein. Höhere Werte dauern länger
zu lernen und sollte etwas genauer sein. Der Standard Qualität ist 1, wenn die
Kategoriedatei existiert nicht oder Gewichtungen können nicht vorgeladen werden, und 2 andernfalls.

-o Liest/schreibt beim Lernen Teil-Token-Zählungen, damit diese wiederverwendet werden können. Normalerweise,
Kategoriedateien werden aus genau den angegebenen Eingabedaten gelernt und enthalten keine
Fremdinformationen. Wenn diese Option aktiviert ist, werden einige zusätzliche Informationen angezeigt
in der Datei gespeichert Online, nachdem alle Eingaben gelesen wurden. Diese Informationen können erneut gelesen werden
Wenn das nächste Mal gelernt wird, wird dort fortgefahren, wo der vorherige Datensatz aufgehört hat
aus. Wenn Online existiert nicht, es wird erstellt. Wenn Online existiert, wird es vorher gelesen
Lernen und anschließend aktualisiert. Die Datei ist ungefähr dreimal so groß (ca
am wenigsten) als die Gelehrten Kategorie.

In dbac, Dateiaktualisierungen sind atomar, aber bei Verwendung von -o Schalter, zwei oder mehr
Prozesse sollten nicht gleichzeitig lernen, da nur ein Prozess dauerhaft schreiben wird
Kategorie und Speicherauszug. Der -m Switch kann aber auch das Online-Lernen beschleunigen
Hüten Sie sich vor möglicher Korruption. Nur ein Prozess sollte eine Datei lesen oder schreiben. Das
Die Option ist in erster Linie für kontrollierte Testläufe gedacht.

-r Lernen Sie nur das digramische Referenzmodell. Überspringt das Erlernen zusätzlicher Funktionen in
das Textkorpus.

-v Ausführlicher Modus. Drucken Sie beim Lernen die Details der Berechnung aus
Klassifizieren, den Namen des wahrscheinlichsten ausdrucken Kategorie. In Verbindung mit
-n Option, druckt die Ergebnisse als explizites Produkt der Kreuzentropie und
Die Komplexität.

-w Wählt Standardfunktionen aus, die bis zu n-Gramm betragen sollen max_order. Dies ist nicht kompatibel mit
-g Option, die immer Vorrang hat. Wenn nein -w or -g Optionen sind gegeben,
dbac übernimmt -w 1. Beachten Sie, dass n-Gramme für n größer als 1 nicht über die Linie hinausgehen
bricht standardmäßig ab. Der -S Der Schalter ermöglicht die Linienüberbrückung.

-x Dezimierungswahrscheinlichkeit auf 1 - 2^( setzen-dezim). Um den Speicherbedarf zu reduzieren, wenn
Beim Lernen werden einige Eingaben zufällig übersprungen und nur wenige zum Modell hinzugefügt.
Das genaue Verhalten hängt von der jeweiligen Anwendung ab -T Option (Standard ist -T "Text"). Wann
Ist der Typ nicht „E-Mail“ (z. B. „Text“), werden einzelne Eingabefunktionen mit hinzugefügt
Wahrscheinlichkeit 2^(-dezim). Wenn der Typ „E-Mail“ lautet, handelt es sich um vollständige Eingabenachrichten
hinzugefügt mit Wahrscheinlichkeit 2^(-dezim). In jeder dieser Nachrichten sind alle Funktionen enthalten
benutzt.

-A Erwarten Sie eingerückte Eingaben und Ergebnisse. Mit diesem Schalter dbac erwartet Eingabezeilen
durch ein einzelnes Leerzeichen eingerückt (das dann übersprungen wird). Zeilen beginnen mit
Alle anderen Zeichen werden ignoriert. Dies ist das Gegenstück zum -a Schalter oben.
Bei Verwendung zusammen mit dem -a Schalter, dbac gibt die übersprungenen Zeilen unverändert aus,
und fügt das Leerzeichen am Anfang jeder verarbeiteten Eingabezeile wieder ein.

-D Debug-Ausgabe ausgeben. Wird normalerweise nicht verwendet, kann aber für die Anzeige sehr nützlich sein
Listen Sie Funktionen auf, die Sie beim Lernen gelernt haben.

-H Ermöglicht das Anwachsen der Hash-Tabelle auf maximal 2^ggröße Elemente beim Lernen.
Die Anfangsgröße ist gegeben durch -h .

-L Wählen Sie das digramische Referenzmaß für Zeichenübergänge. Der messen kann sein
eines von „uniform“, „dirichlet“ oder „maxent“. Der Standardwert ist „einheitlich“.

-M Erzwingt multinomiale Berechnungen. Beim Lernen werden die Modellfunktionen erzwungen
multinomial behandelt. Korrigiert bei der Klassifizierung die Entropiewerte, um sie widerzuspiegeln
Multinomiale Wahrscheinlichkeiten (gilt nur für multinomiale Typmodelle, falls vorhanden).
Die Bewertungen werden immer niedriger sein, da die Reihenfolge der Features verloren geht.

-N Geben Sie jeweils die A-Posteriori-Wahrscheinlichkeiten aus Kategorie. Dies setzt die mitgelieferte Lieferung voraus
Kategorien bilden eine erschöpfende Liste von Möglichkeiten. In Verbindung mit -f
Option stoppt die Filterung, gibt aber jede Eingabezeile mit einer vorangestellten Zusammenfassung aus
Posteriorverteilung für diese Linie.

-R Fügen Sie eine zusätzliche Kategorie für rein zufälligen Text hinzu. Die Kategorie heißt „zufällig“.
Macht nur Sinn, wenn man das verwendet -c .

-S Aktiviert die Linienüberbrückung. Dies ist zusammen mit dem nützlich -w Option, um N-Gramm zuzulassen
für n > 1, um Zeilenumbrüche zu ignorieren, sodass ein komplexes Token über das Ende von hinaus fortgesetzt werden kann
die Linie. Dies wird für E-Mails nicht empfohlen.

-T Geben Sie ein nicht standardmäßiges Textformat an. Standardmäßig, dbac geht davon aus, dass der Eingabetext ein ist
reine ASCII-Textdatei. Dies entspricht dem Fall, wenn tippe ist „Text“.

Es gibt verschiedene Typen und Untertypen, die zum Bereinigen des Eingabetexts verwendet werden können
überflüssige Token, bevor das eigentliche Lernen oder Klassifizieren stattfindet. Jeder (Unter-)Typ
Die gewünschte Nutzung muss gesondert angegeben werden -T Option in der Befehlszeile,
und impliziert automatisch den entsprechenden Typ.

Der Typ „Text“ ist für unstrukturierten Klartext vorgesehen. Es wird keine Bereinigung durchgeführt. Das ist
die Standardeinstellung, wenn in der Befehlszeile keine Typen angegeben werden.

Der Typ „E-Mail“ ist für Eingabedateien im Mbox-Format oder einzelne RFC822-E-Mails vorgesehen. Überschriften
werden erkannt und die meisten werden übersprungen. Um zusätzliche RFC822-Standard-Header einzuschließen
(außer für Trace-Header) verwenden Sie den Untertyp „email:headers“. Trace einschließen
Verwenden Sie für Header den Untertyp „email:theaders“. Um alle Header in die E-Mail aufzunehmen, verwenden Sie
der Untertyp „email:xheaders“. Um alle Überschriften außer dem Betreff zu überspringen, verwenden Sie
„email:noheaders“. Um binäre Anhänge nach Zeichenfolgen zu durchsuchen, verwenden Sie „email:atts“.
Unterart.

Wenn der Typ „E-Mail“ aktiviert ist, wird HTML-Markup automatisch aus dem Text entfernt
Anhänge außer Text-/einfachen Anhängen. Um auch HTML-Markup aus der Ebene zu entfernen
Für Textanhänge verwenden Sie „email:noplain“. Um das Entfernen von HTML-Markups im gesamten Text zu verhindern
Für Anhänge verwenden Sie „email:plain“.

Der Typ „html“ dient zum Entfernen von HTML-Markup (zwischen Und Tags) und
umgebenden Text. Beachten Sie, dass, wenn der Typ „E-Mail“ aktiviert ist, auch „HTML“ aktiviert ist
Wird automatisch nur für kompatible Nachrichtenanhänge aktiviert.

Der Typ „xml“ ähnelt „html“, berücksichtigt ihn jedoch nicht Und , und nicht
Tags interpretieren (daher sollte dies besser als „Winkel-Markup“-Entfernung bezeichnet werden) und
hat nichts mit der tatsächlichen XML-Semantik zu tun).

Wenn „html“ aktiviert ist, gehen die meisten Markup-Attribute verloren (für Werte von „most“ nahe beieinander).
an alle'). Der Untertyp „html:links“ erzwingt das Parsen und Lernen von Link-URLs.
was sonst ignoriert würde. Der Untertyp „html:alt“ erzwingt das Parsen von
Alternativtext in ALT-Attributen und verschiedenen anderen Tags. Die „html:scripts“
Subtyp erzwingt das Parsen von Skripten, „html:styles“ erzwingt das Parsen von Stilen,
„html:forms“ erzwingt das Parsen von Formularwerten, während „html:comments“ das Parsen von Formularwerten erzwingt
HTML-Kommentare.

-U Gibt (U)Nambiguität aus. Bei Verwendung in Verbindung mit dem -v Schalter, druckt Partituren
gefolgt von ihren empirischen Standardabweichungen. Wenn es allein verwendet wird, lassen sich die besten Ergebnisse erzielen
Kategorie, gefolgt von einer geschätzten Wahrscheinlichkeit, dass diese Kategorie ausgewählt wird
eindeutig. Genauer gesagt misst die Wahrscheinlichkeit die fehlende Überlappung von CLT
Konfidenzintervalle für jede Kategoriebewertung (Wenn es Überschneidungen gibt, dann gibt es sie
Mehrdeutigkeit).

Diese geschätzte Wahrscheinlichkeit kann als „Unsicher“-Flag verwendet werden, z. B. wenn die geschätzte
Wahrscheinlichkeit liegt unter 50 %. Formal bedeutet ein Wert von 0 %, dass eine andere Kategorie vorhanden ist
trifft mit gleicher Wahrscheinlichkeit auf die Eingabe zu, und eine Punktzahl von 100 % bedeutet, dass es keine andere Kategorie gibt
trifft wahrscheinlich auf die Eingabe zu. Beachten Sie, dass diese Art von Vertrauen nichts damit zu tun hat
-X schalten. Außerdem ist die Wahrscheinlichkeitsschätzung normalerweise niedrig, wenn das Dokument vorhanden ist
kurz ist, oder wenn die Nachricht viele Token enthält, die noch nie zuvor gesehen wurden
(gilt nur für einheitliches digramisches Maß).

-V Geben Sie die Versionsnummer des Programms aus und beenden Sie es.

-W Wie -w, verhindert aber, dass Funktionen Zeilenumbrüche überspannen. Siehe die Beschreibung von -w.

-X Gibt die Konfidenz in die jeweils berechnete Punktzahl aus Kategorie, wenn sie zusammen verwendet werden
an. Nach der Installation können Sie HEIC-Dateien mit der -n or -N schalten. Bereitet das Modell auf Konfidenzwerte vor, wenn es mit verwendet wird
-l schalten. Die Konfidenz ist eine Schätzung der Typizität der Bewertung,
unter der Annahme der Nullhypothese, dass die gegebene Kategorie korrekt ist. Bei Verwendung mit dem
-v Allein durch den Schalter wird die Punktzahl als empirische Divergenz plus Shannon faktorisiert
Entropie, multipliziert mit Komplexität, in dieser Reihenfolge. Der -X Der Schalter wird in nicht unterstützt
alle möglichen Modelle und zeigt einen Prozentsatz von „0.0“ an, wenn dieser nicht berechnet werden kann.
Beachten Sie, dass es bei unbekannten Dokumenten durchaus üblich ist, dass Vertraulichkeiten in der Nähe vorliegen
Null.

ANWENDUNG


So erstellen Sie zwei Kategoriedateien im aktuellen Verzeichnis aus zwei ASCII-Textdateien mit dem Namen
Mark_Twain.txt bzw. William_Shakespeare.txt, geben Sie Folgendes ein:

% dbacl -l twain Mark_Twain.txt
% dbacl -l shake William_Shakespeare.txt

Jetzt können Sie Eingabetext klassifizieren, zum Beispiel:

% echo „Howdy“ | dbacl -v -c twain -c schütteln
Twain
% echo „sein oder nicht sein“ | dbacl -v -c twain -c schütteln
schütteln

Beachten Sie, dass die -v Option ist zumindest erforderlich, andernfalls dbac druckt nichts.
Der Rückgabewert ist im ersten Fall 1, im zweiten 2.

% echo „sein oder nicht sein“ | dbacl -v -N -c twain -c schütteln
Zwilling 22.63 % Schütteln 77.37 %
% echo „sein oder nicht sein“ | dbacl -v -n -c twain -c schütteln
Twin 7.04 * 6.0 Shake 6.74 * 6.0

Diese Aufrufe sind gleichwertig. Die Zahlen 6.74 und 7.04 geben an, wie nahe das liegt
Der durchschnittliche Token gehört zu jeder Kategorie und 6.0 ​​ist die Anzahl der beobachteten Token. Falls Sie es wollen
Um einen einfachen Konfidenzwert zusammen mit der besten Kategorie auszugeben, ersetzen Sie ihn -v mit -U.

% echo „sein oder nicht sein“ | dbacl -U -c twain -c shake
schütteln # 34%

Beachten Sie, dass die wahre Wahrscheinlichkeit der Kategorie ist schütteln versus Kategorie Twain beträgt 77.37 %, aber die
Die Berechnung ist etwas mehrdeutig und 34 % ist die Sicherheit von 100 %, dass die
Die Berechnung ist qualitativ korrekt.

Angenommen, eine Datei document.txt enthält englische Textzeilen, die mit Rauschzeilen durchsetzt sind. Zu
Filtern Sie die Rauschlinien aus den englischen Linien heraus, vorausgesetzt, Sie haben eine bestehende Kategorie
Schütteln Sie, sagen Sie, geben Sie Folgendes ein:

% dbacl -c shake -f shake -R document.txt > document.txt_eng
% dbacl -c shake -f random -R document.txt > document.txt_rnd

Beachten Sie, dass die Qualität der Ergebnisse davon abhängt, wie gut die Kategorien wackeln
und random repräsentieren jede Eingabezeile. Manchmal ist es nützlich, den hinteren Teil zu sehen
Wahrscheinlichkeiten für jede Zeile ohne Filterung:

% dbacl -c shake -f shake -RN document.txt > document.txt_probs

Sie können nun die A-Posteriori-Wahrscheinlichkeiten für jede Textzeile mit einer anderen nachbearbeiten
Skript, um eine beliebige Bayes'sche Entscheidungsregel Ihrer Wahl zu replizieren.

Im Spezialfall von genau zwei Kategorien kann das optimale Bayes'sche Entscheidungsverfahren erfolgen
für Dokumente wie folgt implementiert werden: let p1 sei die A-priori-Wahrscheinlichkeit der Eingabe
Text ist klassifiziert als Kategorie1. Folglich ist die A-priori-Wahrscheinlichkeit der Klassifizierung als
Kategorie2 ist 1 - p1. Lassen u12 seien die Kosten einer Fehlklassifizierung von a Kategorie1 Text eingeben als
zugehörig Kategorie2 und umgekehrt für u21. Wir gehen davon aus, dass für die Klassifizierung keine Kosten anfallen
korrekt. Dann implementiert der folgende Befehl die optimale Bayes'sche Entscheidung:

% dbacl -n -c Kategorie1 -c Kategorie2 | awk '{ if($2 * p1 * u12 > 4 $ * (1 - p1) * u21) {
$1 drucken; } else { print $3; } }'

dbac kann auch in Verbindung mit verwendet werden procmail(1) Um einen einfachen Bayesian zu implementieren
E-Mail-Klassifizierungssystem. Gehen Sie davon aus, dass eingehende E-Mails automatisch zugestellt werden sollen
zu einem der drei Mail-Ordner in $MAILDIR mit dem Namen Arbeit, persönliche und Spam.
Diese müssen zunächst erstellt und mit entsprechenden Beispiel-E-Mails gefüllt werden. A crontab(1)
Die Datei kann verwendet werden, um die drei Kategorien einmal täglich zu lernen, z

CATS=$HOME/.dbacl
5 0 * * * dbacl -T email -l $CATS/work $MAILDIR/work
10 0 * * * dbacl -T email -l $CATS/personal $MAILDIR/personal
15 0 * * * dbacl -T email -l $CATS/spam $MAILDIR/spam

Um jede eingehende E-Mail automatisch in den entsprechenden Ordner zu übermitteln, gehen Sie wie folgt vor
procmailrc(5) Rezeptfragment könnte verwendet werden:

CATS=$HOME/.dbacl

# Führen Sie den Spam-Klassifikator aus
:0 c
YAY=| dbacl -vT email -c $CATS/work -c $CATS/personal -c $CATS/spam

# an die entsprechende Mailbox senden
: 0:
* ? test -n "$YAY"
$MAILDIR/$YAY

: 0:
$STANDARD

Manchmal, dbac wird die E-Mail an das falsche Postfach senden. In diesem Fall ist das falsch klassifiziert
Die Nachricht sollte vom falschen Ziel entfernt und im richtigen Postfach abgelegt werden.
Der Fehler wird behoben, wenn Ihre Nachrichten das nächste Mal gelernt werden. Wenn es in der bleibt
falsche Kategorie, dbac wird die falschen Korpusstatistiken lernen.

Die standardmäßigen Textfunktionen (Tokens), die von gelesen werden dbac sind rein alphabetische Zeichenfolgen, die
minimiert den Speicherbedarf, kann jedoch in manchen Fällen unrealistisch sein. Modelle konstruieren
Basierend auf alphanumerischen Token verwenden Sie die -e schalten. Im folgenden Beispiel wird auch das optionale verwendet
-D Schalter, der eine Liste der tatsächlich im Dokument gefundenen Token ausgibt:

% dbacl -e alnum -D -l twain Mark_Twain.txt | weniger

Es ist auch möglich, die standardmäßige Feature-Auswahlmethode zu überschreiben, die zum Erlernen des verwendet wird
Kategoriemodell mittels regulärer Ausdrücke. Im Folgenden wird beispielsweise Folgendes dupliziert
Standardmethode zur Funktionsauswahl im C-Gebietsschema, obwohl sie viel langsamer ist:

% dbacl -l twain -g '^([[:alpha:]]+)' -g '[^[:alpha:]]([[:alpha:]]+)' Mark_Twain.txt

Die erhaltene Kategorie zwei hängt nur von einzelnen alphabetischen Wörtern im Text ab
Datei Mark_Twain.txt (und berechnete Digrammstatistiken zur Vorhersage). Für eine Sekunde
Der folgende Befehl erstellt beispielsweise ein geglättetes Markovian-Modell (Wortbigramm), das
hängt von Paaren aufeinanderfolgender Wörter innerhalb jeder Zeile ab (aber Paare können sich nicht über eine Zeile erstrecken).
brechen):

% dbacl -l twain2 -g '(^|[^[:alpha:]])([[:alpha:]]+)||2' -g
'(^|[^[:alpha:]])([[:alpha:]]+)[^[:alpha:]]+([[:alpha:]]+)||23' Mark_Twain.txt

Auf ähnliche Weise können allgemeinere, linienbasierte N-Gramm-Modelle aller Ordnungen (bis zu 7) erstellt werden
Weg. Um absatzbasierte Modelle zu erstellen, sollten Sie die Eingabekorpora mit neu formatieren
awk(1) oder Durst(1) um einen Absatz pro Zeile zu erhalten. Die Leitungsgröße ist je nach Verfügbarkeit begrenzt
Beachten Sie jedoch, dass die Regex-Leistung bei langen Zeilen schnell nachlässt.

LEISTUNG


Die zugrunde liegende Annahme des statistischen Lernens ist, dass eine relativ kleine Anzahl von
Schulungsdokumente können einen viel größeren Satz von Eingabedokumenten darstellen. Also auf lange Sicht
Beim Ausführen kann das Lernen zum Stillstand kommen, ohne dass die Klassifizierungsgenauigkeit ernsthaft beeinträchtigt wird. Während
Obwohl dies in der Realität nicht zutrifft, ist diese Annahme für Probleme wie E-Mail überraschend zutreffend
Filterung. In der Praxis bedeutet dies, dass ein gut ausgewählter Korpus in der Größenordnung von zehntausend liegt
Dokumente reichen für hochpräzise Ergebnisse über Jahre hinweg aus. Kontinuierliches Lernen danach
Eine solche kritische Masse führt zu sinkenden Erträgen. Natürlich, wenn reale Eingaben erfolgen
Wenn sich Dokumentmuster dramatisch ändern, kann die Vorhersagekraft der Modelle verloren gehen. Bei
Andererseits liefern ein paar hundert Dokumente in den meisten Fällen bereits akzeptable Ergebnisse.

dbac ist stark für häufige Klassifizierungen, aber seltene Chargen optimiert
Lernen. Dies ist das oben beschriebene Langzeitoptimum. Unter idealen Bedingungen dbac kann
Klassifizieren Sie hundert E-Mails pro Sekunde auf Low-End-Hardware (500 MHz Pentium III). Lernen
Die Geschwindigkeit ist nicht sehr viel langsamer, dauert aber bei großen Dokumenten deutlich länger
Sammlungen aus verschiedenen Gründen. Bei Verwendung des -m Schalter, Datenstrukturen sind
werden nach Möglichkeit aggressiv in den Speicher gemappt, wodurch der Overhead für E/A und Speicher reduziert wird
Zuteilungen.

dbac verwirft seine Eingabe so schnell wie möglich und hat keine Beschränkungen für das Eingabedokument
Größe. Sowohl die Klassifizierung als auch die Lerngeschwindigkeit sind direkt proportional zur Anzahl
Tokens in der Eingabe, aber das Lernen erfordert auch einen nichtlinearen Optimierungsschritt
Zeit proportional zur Anzahl der entdeckten eindeutigen Token. Zum Zeitpunkt des Schreibens dbac is
Aufgrund seines optimalen Einsatzszenarios einer der schnellsten Open-Source-Mailfilter, aber verwendet
mehr Speicher zum Lernen als andere Filter.

MEHRERE Prozesse UND DATEN KORRUPTION


Beim Speichern von Kategoriedateien dbac schreibt zunächst eine temporäre Datei am selben Ort aus,
und benennt es anschließend um. Wenn beim Lernen ein Problem oder ein Absturz auftritt, wird die alte Kategorie verwendet
Die Datei bleibt daher unberührt. Dies stellt sicher, dass Kategorien niemals beschädigt werden können, nein
Egal wie viele Prozesse gleichzeitig zu lernen oder zu klassifizieren versuchen, und bedeutet, dass dies gültig ist
Kategorien stehen jederzeit zur Klassifizierung zur Verfügung.

Bei Verwendung der -m Mit dem Schalter werden Dateiinhalte für schnelles Lesen und Schreiben im Speicher abgebildet.
Dies zusammen mit der -o Schalter, ist hauptsächlich für Testzwecke gedacht, wenn Dutzende von
Zur Messung müssen Tausende von Nachrichten gelernt und in einem Labor bewertet werden dbac's
Genauigkeit. Da aus Leistungsgründen keine Dateisperrung versucht wird, kommt es zu Beschädigungen
möglich, es sei denn, Sie stellen sicher, dass nur eine dbac Der Prozess liest oder schreibt jede beliebige Datei
gegebene Zeit. Dies ist der einzige Fall (-m und -o zusammen), in dem Korruption möglich ist.

SPEICHER VERWENDUNG


Bei der Klassifizierung eines Dokuments dbac lädt alle angezeigten Kategorien in den RAM, also die Gesamtsumme
Der benötigte Speicher entspricht ungefähr der Summe der Dateigrößen der Kategorie plus einem festen Wert
Overhead. Das Eingabedokument wird beim Lesen verbraucht, daher spielt seine Größe keine Rolle.
aber sehr lange Schlangen können Platz beanspruchen. Bei Verwendung des -m Schalter, die Kategorien werden gelesen
Verwendung von mmap(2) je nach Verfügbarkeit.

Beim Lernen, dbac Behält eine große Struktur im Speicher, die viele Objekte enthält, die
wird nicht in der Ausgabekategorie gespeichert. Die Größe dieser Struktur ist proportional zur
Anzahl der gelesenen eindeutigen Token, aber nicht die Größe der Eingabedokumente, da diese vorhanden sind
beim Lesen verworfen. Als grober Richtwert gilt, dass diese Struktur 4x-5x so groß ist wie die
endgültige Kategoriedatei, die erstellt wird.

Um ein unkontrolliertes Speicherwachstum zu verhindern, dbac weist standardmäßig einen festen, kleineren Betrag zu
Speicher für Token. Wenn dieser Platz aufgebraucht ist, werden weitere Spielsteine ​​abgeworfen, die das haben
Der Effekt einer Verzerrung der erlernten Kategorie macht sie weniger nutzbar, da mehr Token fallen gelassen werden. A
In einem solchen Fall wird eine Warnung auf STDERR gedruckt.

Das -h Mit dem Schalter können Sie die anfängliche Größe des Token-Speicherplatzes in Zweierpotenzen festlegen, z. B. „-h 2“.
bedeutet 2^17 = 131072 mögliche Token. Wenn Sie „dbacl -V“ eingeben, können Sie die Anzahl sehen
Bytes, die für jedes Token beim Lernen oder Klassifizieren benötigt werden. Multiplizieren Sie diese Zahl mit
die maximale Anzahl möglicher Token, um den zum Lernen benötigten Speicher abzuschätzen. Der -H
Schalter lässt dbac Erweitern Sie die Tabellen bei Bedarf automatisch bis zu einem Maximum
angegeben. Wenn Sie also „-H 21“ eingeben, wird die Anfangsgröße wiederholt verdoppelt, wenn
erforderlich, bis zu etwa zwei Millionen einzigartige Token.

Beim Lernen mit dem -X werden auch einige Eingabedokumente im RAM gehalten
gesamten.


DBACL_PATH
Wenn diese Variable festgelegt ist, wird ihr Wert jedem vorangestellt Kategorie Dateiname welcher
beginnt nicht mit einem „/“ oder einem „.“.

SIGNALE


INT Wenn dieses Signal erfasst wird, dbac wird einfach beendet, ohne irgendwelche Aufräumarbeiten oder ähnliches durchzuführen
Operationen. Dieses Signal kann häufig durch Drücken von Strg-C auf der Tastatur gesendet werden. Sehen
stty(1).

HUP, QUIT, TERM
Wird eines dieser Signale erfasst, dbac stoppt das Lesen der Eingabe und fährt fort
Bedienung, als ob keine Eingabe mehr möglich wäre. Dies ist eine Möglichkeit, mit Würde aufzuhören,
Beachten Sie jedoch, dass im Lernmodus eine Kategoriedatei basierend auf geschrieben wird
unvollständige Eingabe. Das QUIT-Signal kann oft durch Drücken von Strg- auf dem gesendet werden
Tastatur. Sehen stty(1).

USR1 Wenn dieses Signal erfasst wird, dbac lädt frühestens die aktuellen Kategorien neu
machbare Gelegenheit. Dies ist normalerweise überhaupt nicht nützlich, kann aber in besonderen Fällen nützlich sein
Fälle, etwa wenn die -f Der Schalter wird zusammen mit der Eingabe einer langen Laufzeit aufgerufen
Rohr.

ANMERKUNG


dbac Generierte Kategoriedateien liegen im Binärformat vor und können möglicherweise portiert werden
Systeme, die eine andere Byte-Reihenfolge-Architektur verwenden (dies hängt davon ab, wie). dbac wurde
zusammengestellt). Der -V switch gibt aus, ob Kategorien portierbar sind, oder Sie können es auch einfach tun
Experiment.

dbac erkennt funktional äquivalente reguläre Ausdrücke nicht, und in diesem Fall
Doppelte Features werden mehrfach gezählt.

Mit jeder gelernten Kategorie werden die verwendeten Kommandozeilenoptionen gespeichert. Wann
Stellen Sie beim Klassifizieren sicher, dass jede relevante Kategorie mit dem gleichen Satz gelernt wurde
Optionen (Regexes dürfen unterschiedlich sein), andernfalls ist das Verhalten undefiniert. Es gibt kein
Beim Klassifizieren müssen alle Schalter wiederholt werden.

Wenn Sie viele Digitalisierungswarnungen erhalten, versuchen Sie, zu viele Daten auf einmal zu lernen.
oder Ihr Modell ist zu komplex. dbac wird kompiliert, um Speicherplatz zu sparen, indem es endgültig digitalisiert wird
Gewichtungen, aber Sie können die Digitalisierung deaktivieren, indem Sie dbacl.h bearbeiten und neu kompilieren.

dbac bietet mehrere integrierte Tokenizer (siehe -e Schalter), weitere werden in Zukunft folgen
Versionen, wie der Autor sie erfindet. Der Standard-Tokenizer kann sich zwar weiterentwickeln, aber nein
Der Tokenizer sollte immer entfernt werden, damit Sie immer den vorherigen simulieren können dbac Verhalten
Bugfixes und Architekturänderungen vorbehalten.

Die durch die erhaltenen Konfidenzschätzungen -X Schalter sind unterschätzt, also mehr
konservativ, als sie sein sollten.

Verwenden Sie dbacl online über die Dienste von onworks.net


Kostenlose Server & Workstations

Laden Sie Windows- und Linux-Apps herunter

Linux-Befehle

Ad