Come può essere utilizzata l'API di Wiktionary per determinare se esiste o meno una parola?Come recuperare il contenuto della parola Wiktionary?
risposta
È possibile utilizzare lo Wiktionary API per stabilire se esiste o meno una parola.
Esempi per le pagine esistenti e non esistenti:
http://en.wiktionary.org/w/api.php?action=query&titles=test
http://en.wiktionary.org/w/api.php?action=query&titles=testx
Il primo collegamento fornisce esempi su altri tipi di formati che potrebbero essere più facile da analizzare.
Per recuperare i dati del word in un piccolo formato XHTML (dovrebbe più essere richiesta l'esistenza), richiedere la versione stampabile della pagina:
http://en.wiktionary.org/w/index.php?title=test&printable=yes
http://en.wiktionary.org/w/index.php?title=testx&printable=yes
Questi possono poi essere analizzato con qualsiasi parser XML standard.
Grazie; la stessa API non è quello che speravo, ma il link che hai fornito è quello che stavo cercando. – Armentage
Ora accetta il parametro di formato aggiuntivo per l'output diverso da xml in questo modo: https://en.wiktionary.org/w/api.php?action=query&titles=test&format=json – eenagy
Potrebbe non funzionare come previsto se https: // en.wiktionary.org/wiki/Category:English_misspellings https://en.wiktionary.org/wiki/amatuer – endolith
Ci sono alcune avvertenze in solo controllando che Wiktionary ha una pagina con il nome che si sta cercando:
Caveat # 1: Tutti Wiktionaries compreso il Wikizionario inglese in realtà hanno l'obiettivo di includere ogni parola ogni lingua, quindi se si usa semplicemente sopra API chiamata si sa che la parola si sta chiedendo circa è una parola in almeno una lingua, ma non necessariamente inglese: http://en.wiktionary.org/w/api.php?action=query&titles=dicare
Caveat # 2: Forse esiste un redirect da una parola a un'altra parola. Potrebbe essere da una grafia alternativa, ma potrebbe essere da un errore di qualche tipo. La chiamata API di cui sopra non sarà distinguere tra un redirect e un articolo: http://en.wiktionary.org/w/api.php?action=query&titles=profilemetry
Caveat # 3: Alcune Wiktionaries compreso il Wikizionario inglese includono "errori ortografici comuni": http://en.wiktionary.org/w/api.php?action=query&titles=fourty
Caveat # 4: Alcune Wiktionaries consentire le voci di stub che hanno poche o nessuna informazione sul termine. Questo era comune a diversi Wikizionario, ma non al Wikizionario inglese. Ma sembra essersi esteso anche al Wikizionario inglese: https://en.wiktionary.org/wiki/%E6%99%B6%E7%90%83 (permalink per quando lo stub è riempito così puoi ancora vedere come appare uno stub: https://en.wiktionary.org/w/index.php?title=%E6%99%B6%E7%90%83&oldid=39757161)
Se questi non sono inclusi in quello che vuoi, tu dovrà caricare e analizzare il wikitext stesso, che non è un compito banale.
Quello che volevo veramente fare era prendere una discarica completa dei dati su uno dei siti di Wikizionario non in inglese, e quindi trasforma il contenuto in qualcosa che potrei usare localmente. Ora sembra sciocco, ma speravo di poter richiedere l'elenco di tutte le parole, e poi di abbattere le loro defizioni/traduzioni una alla volta, se necessario. – Armentage
La correzione a Caveat n. 2 è semplice: aggiungi '& prop = info' alla query e controlla la risposta per l'attributo' redirect'. – svick
@svick: Sì, è vero che # 2 è più facile da aggirare quando si utilizza l'API, ma questi avvertimenti di base riguardano anche il tentativo di analizzare i [file di dati di Wiktionary] (http://dumps.wikimedia.org/enwiktionary/), anche se questa domanda non chiede di questo approccio. – hippietrail
Si potrebbe desiderare di provare JWKTL. Ho appena scoperto su di esso;)
http://en.wikipedia.org/wiki/Ubiquitous_Knowledge_Processing_Lab#Wiktionary_API
La citazione a cui si fa riferimento è rotta. Ecco un link alla pagina JWKTL http://www.ukp.tu-darmstadt.de/software/jwktl/. Non è proprio ciò che credo che l'OP cerchi. – djskinner
È possibile scaricare una discarica di Wikitionary data. Ulteriori informazioni sono disponibili nello FAQ. Per i tuoi scopi, lo definitions dump è probabilmente una scelta migliore rispetto al dump xml.
Questi file di dump sono enormi e non è chiaro quali scaricare (tutti?). Probabilmente non è quello che la maggior parte della gente sta cercando, ma vogliono solo cercare una parola a livello di programmazione. – Cerin
Spiego quale file scaricare - ovvero il dump delle definizioni (la directory dal mio collegamento è solo versioni differenti dello stesso file) e sì, se si desidera cercare parole a livello di codice questo è l'ideale. Se è possibile garantire che il programma venga eseguito solo online, ci sono altre opzioni, ma comunque sto rispondendo a questa parte della domanda originale: "In alternativa, c'è un modo per tirare giù i dati del dizionario che supporta un Wikizionario?" – kybernetikos
Il collegamento dei dump delle definizioni non è più disponibile. –
Per farla molto semplice, estrarre le parole dalla discarica così:
bzcat pages-articles.xml.bz2 | grep '<title>[^[:space:][:punct:]]*</title>' | sed 's:.*<title>\(.*\)</title>.*:\1:' > words
come ottengo una copia di pagine-articles.xml.bz2? – Armentage
È solo un nome generico che ho usato per descrivere i dump del modulo 'LANGwiktionary-DATE-pages-articles.xml.bz2'. Vai a [link] (http://dumps.wikimedia.org/backup-index.html), quindi fai clic su "LANGwiktionary" (LANG, ad esempio "en", "de" ...). – benroth
- 1. leggere il contenuto della cache della CPU
- 2. Recuperare il valore della selectCount in jooq
- 3. Come incorporare Wiktionary per l'accesso offline nell'app per Android?
- 4. Come posso recuperare il tipo della classe base in C++?
- 5. Come recuperare il nome della pagina corrente in JSP?
- 6. Excel VBA - elimina il contenuto della stringa fino a * word *
- 7. Come cambiare il colore della parola errata evidenziata?
- 8. Come richiedere l'API di Wiktionary e ottenere una parte del discorso
- 9. Come recuperare l'utilizzo della cpu per processo
- 10. controllare il contenuto della stringa di input
- 11. Centrare verticalmente il contenuto della pagina
- 12. JSONP come recuperare il testo
- 13. Ottieni il colore della parola sotto il cursore
- 14. moveRowAtIndexPath non aggiorna il contenuto della cella
- 15. ActiveAdmin visualizza il contenuto predefinito della vista
- 16. Come recuperare il tipo di valore da iteratore in C++?
- 17. Come cancellare il contenuto della casella combinata in vb.net
- 18. Come selezionare il contenuto della tabella senza distruggere la tabella?
- 19. Come modificare il contenuto della memoria usando GDB?
- 20. Come far rientrare il contenuto della regione con C#?
- 21. Come modificare il contenuto della traccia video WebRTC MediaStream?
- 22. Bootstrap: come centrare il contenuto allineato all'interno della colonna?
- 23. Come posso elencare il contenuto della gem installata?
- 24. Come posso stampare il contenuto della richiesta httprequest?
- 25. Come leggere il contenuto della console del dispositivo su iPhone?
- 26. Come aggiornare il contenuto della scheda frammenti sul pulsante clic
- 27. Come osservare il contenuto della lib statica in mac OS?
- 28. Come posso copiare ricorsivamente il contenuto della directory usando Perl?
- 29. Come ottenere il contenuto del carrello della spesa Amazon?
- 30. Come visualizzare il contenuto della cache di asp.net?
Chiunque abbia letto la documentazione vedrà che l'API contiene neanche lontanamente sufficiente funzionalità per "recuperare il contenuto parola Wikizionario". Io stimerei che ti diventi all'incirca l'1% del modo. Puoi recuperare la sintassi del wiki raw o l'HTML analizzato e da lì devi fare tutto da solo. Detto questo, potrebbe esserci una nuovissima API sperimentale che funziona solo sul Wikizionario inglese. – hippietrail