Come posso eseguire il controllo ortografico e/o la correzione ortografica in un'applicazione Java?Correzione ortografica e/o correzione ortografica in Java
risposta
Spell Checker di Google 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());
E 'molto simile a quando si utilizza Gmail o Google servizi (come translate.google.com o di ricerca) che ti dà il suggerimento alternativo se si dispone di un errore di battitura.
Cosa succede in background?
La classe SpellChecker trasforma la richiesta in XML e la invia a il servizio di controllo ortografico di Google. La risposta è anche in XML, che viene quindi deserializzato in POJO semplici.
La richiesta al primo esempio di cui sopra appare come:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <spellrequest textalreadyclipped="0" ignoredigits="1" ignoreallcaps="1" ignoredups="0"> <text>helloo worlrd</text> </spellrequest>
E la risposta XML assomiglia:
<?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>
Non hanno provato però.
UPDATE:
Google avrebbe iniziato a pagare per questo. Non ho tempo di codice per controllare questo. Qualcuno può confermare. Per quanto riguarda Google, sembra che abbiano deprecato la vecchia API per quella nuova e pagata.
consultare: Google Translate API FAQ
Che cosa è successo a precedenti versioni gratuite di Translate API?
Google Translate L'API v1 non è più disponibile a partire dal 1 ° dicembre 2011 ed è stata sostituita dall'API di Google Traduttore v2. L'API di Google Translate v1 è stata ufficialmente ritirata il 26 maggio 2011. La decisione di ritirare l'API e sostituirla con il servizio a pagamento è stata presa a causa del notevole onere economico causato da un ampio abuso.
È possibile utilizzare JOrtho. L'ho usato prima in una delle app swing.
Prova Hunspell. È uno standard per il controllo ortografico. È possibile utilizzare Java port of Hunspell che è Hunspell-c + JNA
Una buona soluzione offline è Jazzy. Prova questo example e scarica il dictionary.
Ecco il Maven dependency per la libreria:
<dependency>
<groupId>net.sf.jazzy</groupId>
<artifactId>jazzy</artifactId>
<version>0.5.2-rtext-1.4.1-2</version>
</dependency>
Un altro esempio può essere trovato [qui] (http://alvinalexander.com/blog/post/java/jazzy-spell-checking-tool-test-2) – cgl
Se si desidera una soluzione semplice e non in linea, in base a Peter Norvig explanation di Google incantesimo correttore, date un'occhiata qui: http://raelcunha.com/spell-correct.php
LanguageTool è basi Java controllo ortografico e software di correzione di bozze che potrebbero adattarsi. Vedi
Questa soluzione google non funziona offline? – Rakesh
Non funzionerà offline. Sì. – Nishant
È ancora libero? Google ora vuole denaro per l'utilizzo dell'API di Google Traduttore. Immagino che siano davvero laggiù ... – thedp