29 Stimmen

Wie man ein eigenes Wörterbuch für Hunspell erstellt

Ich habe eine Frage zur Erstellung eines benutzerdefinierten Wörterbuchs für hunspell. Ich verwende im Moment ein allgemeines englisches Wörterbuch und eine Affix-Datei. Wie kann ich benutzerspezifische Wörter für jeden meiner Benutzer zu diesem Wörterbuch hinzufügen?

18voto

Serak Shiferaw Punkte 973

Erstellen Sie Ihre eigene Wortliste und Affix-Datei für Ihre Sprache, falls diese nicht existiert. Nun, für Papiamentu - die Muttersprache von Curaçao - gibt es ein solches Wörterbuch nicht. Aber ich hatte Mühe, herauszufinden, wie man solche Dateien erstellt, also dokumentiere ich es hier: http://www.suares.com/index.php?page_id=25&news_id=233

5voto

Ray Cheng Punkte 11661

Ich versuche, dasselbe zu tun, habe aber noch nicht genügend Informationen gefunden, um damit zu beginnen.

Sie sollten sich jedoch Folgendes ansehen hunspell - Format von Hunspell-Wörterbüchern und Affix-Dateien .

UPDATE

Wenn Sie mit .NET arbeiten, können Sie Folgendes herunterladen Hunspell .NET-Anschluss . Die Benutzung ist auch ziemlich einfach.

var bee = new Hunspell();
bee.Load("path_to_en_US.aff");
bee.Load("path_to_en_US.dic");
bee.Add("my_custom_word1");
bee.Add("my_custom_word2");
var suggestions = bee.Suggest("misspel_word");

3voto

Scott C Wilson Punkte 17730

Das Geheimnis, wie man hunspell um zu funktionieren (zumindest bei mir), war es, die Orte herauszufinden, die von mir durchsucht werden sollten, und die benutzerdefinierten Wörterbücher dort abzulegen. Denken Sie auch daran, dass die Wörterbücher ein bestimmtes Format haben, so dass Sie sich an diese Regeln halten müssen.

Laufen hunspell -D zeigt Ihnen den Suchpfad an. Unter MacOS enthält mein Pfad /Users/scott/Library/Spelling also habe ich dieses Verzeichnis erstellt und meins dort abgelegt. Nehmen wir an, Sie wollen Ihr Wörterbuch aufrufen mydict und Ihre Eingabedatei mit Wörtern heißt dict.txt . Wir werden den Weg verwenden, den ich gerade gezeigt habe.

Kopieren Sie zunächst die Standard .aff Datei. Sie sehen sie, wenn Sie die Datei hunspell -D wie oben beschrieben. Für mich ist es in /Library/Spelling/en_US/ . Also

cp /Library/Spelling/en_US.aff /Users/scott/Library/Spelling/mydict.aff

Dann wird jedes Mal, wenn Sie Ihre Eingabeliste aktualisieren ( dict.txt ), tun Sie dies:

DICT=/Users/scott/Library/Spelling/mydict.dic cd ~/doc/dict cat dict.txt | sort | uniq > dict.in wc -l dict.in > $DICT cat dict.in >> $DICT rm dict.in

Zum Laufen hunspell geben Sie einfach beide Wörterbücher an. Da ich also eine Liste von Rechtschreibfehlern haben möchte, verwende ich

hunspell -l -d scott,en_US <filename>

1voto

Kevin Punkte 2702

Ich bin auch dabei, diese Art von Funktion zu implementieren. Sobald Sie das Hunspell-Objekt mit einem zugehörigen Wörterbuch erstellt haben, können Sie ihm einzelne Wörter hinzufügen.

Beachten Sie jedoch, dass diese Wörter nur so lange verfügbar sind, wie das Hunspell-Objekt aktiv ist. Jedes Mal, wenn Sie ein neues Objekt aufrufen, müssen Sie alle benutzerdefinierten Wörter erneut hinzufügen.

-2voto

thebugfinder Punkte 314

Werfen Sie einen Blick auf die Dokumentation in openoffice

http://www.openoffice.org/lingucomponent/

speziell dieses Dokument http://www.openoffice.org/lingucomponent/dictionary.html

Das ist ein guter Ausgangspunkt

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X