Wie kann ich eine Rechtschreibprüfung und/oder Rechtschreibkorrektur in einer Java-Anwendung durchführen?Rechtschreibprüfung und/oder Rechtschreibkorrektur in Java
Antwort
Google Spell Checker http://code.google.com/p/google-api-spelling-java/
SpellChecker checker = new SpellChecker();
SpellResponse spellResponse = checker.check("helloo worlrd");
for(SpellCorrection sc : spellResponse.getCorrections())
System.out.println(sc.getValue());
Es ist ähnlich wie bei der Verwendung von Google Mail oder Google-Diensten (wie translate.google.com oder Suche), die Ihnen alternativen Vorschlag gibt, wenn Sie einen Tippfehler haben.
Was passiert im Hintergrund?
Die SpellChecker-Klasse wandelt die Anforderung in XML um und sendet sie an den Google-Rechtschreibprüfungsdienst . Die Antwort ist ebenfalls in XML, die wird dann in einfache POJOs deserialisiert.
Die Anfrage an das erste Beispiel sieht oben wie:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <spellrequest textalreadyclipped="0" ignoredigits="1" ignoreallcaps="1" ignoredups="0"> <text>helloo worlrd</text> </spellrequest>
Und die Antwort XML wie folgt aussieht:
<?xml version="1.0" encoding="UTF-8"?> <spellresult error="0" clipped="0" charschecked="13"> <c o="0" l="6" s="1">hello Helli hell hallo hullo</c> <c o="7" l="6" s="1">world whorled wold warlord would</c> </spellresult>
allerdings nicht versucht haben.
UPDATE:
Google könnte gestartet für diese Aufladung haben. Ich habe keine Zeit zu programmieren, um das zu überprüfen. Jemand kann bestätigen. Soweit es Google betrifft, scheint es, dass sie die alte API für neue und bezahlte eins veraltet haben.
Siehe: Google Translate API FAQ
Was von Translate API zu früheren freien Versionen passiert?
Google Translate API v1 ist seit dem 1. Dezember 2011 nicht mehr verfügbar und wurde durch Google Translate API v2 ersetzt. Google Translate API v1 wurde am 26. Mai 2011 offiziell als veraltet eingestuft. Die Entscheidung, die API zu deaktivieren und durch den kostenpflichtigen Dienst zu ersetzen, wurde aufgrund der beträchtlichen wirtschaftlichen Belastung durch extensiven Missbrauch getroffen.
Sie können verwenden. Ich habe es früher in einer der Swing-App verwendet.
Versuchen Sie Hunspell. Es ist ein Standard für die Rechtschreibprüfung. Sie können Java port of Hunspell verwenden, das ist Hunspell-c + JNA
Eine gute Offline-Lösung ist Jazzy. Versuchen Sie diese example und laden Sie die dictionary.
Hier ist die Maven dependency für Bibliothek:
<dependency>
<groupId>net.sf.jazzy</groupId>
<artifactId>jazzy</artifactId>
<version>0.5.2-rtext-1.4.1-2</version>
</dependency>
Ein anderes Beispiel kann [hier] gefunden werden (http://alvinalexander.com/blog/post/java/jazzy-spell-checking-tool-test-2) – cgl
Wenn Sie eine einfache und Offline-Lösung wollen, basierend auf Peter Norvig explanation von Google Korrektor buchstabieren, hier einen Blick: http://raelcunha.com/spell-correct.php
Language ist Java Basen Rechtschreibprüfung und Korrektursoftware, die passen könnte.
sieht diese Google-Lösung nicht offline arbeiten? – Rakesh
Es funktioniert nicht offline. Ja. – Nishant
Ist das noch frei? Google möchte nun Geld für die Google Translate API-Nutzung. Ich denke, sie sind wirklich da drüben ... – thedp