¿Cómo se puede usar la API de Wiktionary para determinar si una palabra existe o no?
api
dictionary
mediawiki-api
wiktionary
Armentage
fuente
fuente
Respuestas:
La API de Wiktionary se puede utilizar para consultar si existe o no una palabra.
Ejemplos de páginas existentes y no existentes:
El primer enlace proporciona ejemplos sobre otros tipos de formatos que podrían ser más fáciles de analizar.
Para recuperar los datos de la palabra en un formato XHTML pequeño (si se requiere más que la existencia), solicite la versión imprimible de la página:
A continuación, se pueden analizar con cualquier analizador XML estándar.
fuente
https://en.wiktionary.org/w/?curid=[page_id]&printable=yes
para redirigir a la página XHTML usandopageid
.Hay algunas advertencias al comprobar que Wiktionary tiene una página con el nombre que estás buscando:
Advertencia n. ° 1 : todos los wikcionarios, incluido el wikcionario en inglés, tienen el objetivo de incluir cada palabra en cada idioma, por lo que si simplemente usa la llamada API anterior, sabrá que la palabra por la que está preguntando es una palabra en al menos un idioma, pero no necesariamente en inglés: http://en.wiktionary.org/w/api.php?action=query&titles=dicare
Advertencia n. ° 2 : tal vez exista una redirección de una palabra a otra. Puede ser por una ortografía alternativa, pero puede ser por un error de algún tipo. La llamada a la API anterior no diferenciará entre un redireccionamiento y un artículo: http://en.wiktionary.org/w/api.php?action=query&titles=profilemetry
Advertencia # 3 : algunos wikcionarios, incluido el inglés, incluyen "errores ortográficos comunes": http://en.wiktionary.org/w/api.php?action=query&titles=fourty
Advertencia # 4 : algunos wikcionarios permiten entradas de código auxiliar que tienen poca o ninguna información sobre el término. Esto solía ser común en varios wikcionarios, pero no en el wikcionario en inglés. Pero parece que ahora se ha extendido también al Wiktionary en inglés: https://en.wiktionary.org/wiki/%E6%99%B6%E7%90%83 (enlace permanente para cuando el código auxiliar esté lleno para que aún pueda ver cómo se ve un código auxiliar: https://en.wiktionary.org/w/index.php?title=%E6%99%B6%E7%90%83&oldid=39757161 )
Si estos no están incluidos en lo que desea, tendrá que cargar y analizar el wikitext en sí, lo cual no es una tarea trivial.
fuente
&prop=info
a la consulta y verifique elredirect
atributo en la respuesta .Puede descargar un volcado de datos de Wikitionary . Hay más información en las preguntas frecuentes . Para sus propósitos, el volcado de definiciones es probablemente una mejor opción que el volcado xml.
fuente
Para hacerlo realmente simple, extraiga las palabras del volcado de esta manera:
fuente
LANGwiktionary-DATE-pages-articles.xml.bz2
. Vaya al enlace y haga clic enLANGwiktionary
(LANG, por ejemplo, 'en', 'de' ...).Si está usando Python, puede usar WiktionaryParser de Suyash Behera.
Puedes instalarlo por
Uso de ejemplo:
fuente
Es posible que desee probar JWKTL. Me acabo de enterar;)
http://en.wikipedia.org/wiki/Ubiquitous_Knowledge_Processing_Lab#Wiktionary_API
http://www.ukp.tu-darmstadt.de/software/jwktl/
fuente
Como se mencionó anteriormente, el problema con este enfoque es que Wiktionary proporciona la información sobre todas las palabras de todos los idiomas . Entonces, el enfoque para verificar si existe una página usando la API de Wikipedia no funcionará porque hay muchas páginas para palabras que no están en inglés. Para superar esto, debe analizar cada página para averiguar si hay una sección que describa la palabra en inglés . Analizar wikitexto no es una tarea trivial, aunque en su caso no es tan malo. Para cubrir casi todos los casos, solo necesita verificar si el wikitexto contiene un
English
encabezado. Dependiendo del lenguaje de programación que use, puede encontrar algunas herramientas para construir AST a partir de wikitext. Esto cubrirá la mayoría de los casos, pero no todos porque Wiktionary incluye algunos errores ortográficos comunes.Como alternativa, puede intentar usar Lingua Robot o algo similar. Lingua Robot analiza el contenido de Wiktionary y lo proporciona como una API REST. La respuesta no vacía significa que la palabra existe. Tenga en cuenta que, a diferencia de Wiktionary, la API en sí no incluye errores ortográficos (al menos en el momento de escribir esta respuesta). Tenga en cuenta también que el Wikcionario contiene no solo las palabras, sino también expresiones de varias palabras.
fuente
Aquí hay un comienzo para analizar datos de etimología y pronunciación:
Actualización : aquí hay una esencia con más desarrollo.
fuente
langs
?langs
es de unos miles de líneas, demasiado grande para SO.Puede utilizar la API de revisiones:
https://en.wiktionary.org/w/api.php?action=query&prop=revisions&titles=test&rvslots=*&rvprop=content&formatversion=2
o la API Parse:
https://en.wiktionary.org/w/api.php?action=parse&page=test&prop=wikitext&formatversion=2
Se proporcionan más ejemplos en los documentos .
fuente