<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Jaziel A. Carballo Tadeo | Languages, Territory and AI Research Group</title><link>https://giltia.github.io/author/jaziel-a.-carballo-tadeo/</link><atom:link href="https://giltia.github.io/author/jaziel-a.-carballo-tadeo/index.xml" rel="self" type="application/rss+xml"/><description>Jaziel A. Carballo Tadeo</description><generator>Hugo Blox Builder (https://hugoblox.com)</generator><language>en-us</language><lastBuildDate>Mon, 20 Jul 2026 09:00:00 +0000</lastBuildDate><image><url>https://giltia.github.io/author/jaziel-a.-carballo-tadeo/avatar_hu_c68f4edcdd5a48df.png</url><title>Jaziel A. Carballo Tadeo</title><link>https://giltia.github.io/author/jaziel-a.-carballo-tadeo/</link></image><item><title>LxMLS 2026: 16.ª Escuela de Aprendizaje Automático de Lisboa</title><link>https://giltia.github.io/es/event/lxmls-2026/</link><pubDate>Mon, 20 Jul 2026 09:00:00 +0000</pubDate><guid>https://giltia.github.io/es/event/lxmls-2026/</guid><description>&lt;p&gt;La &lt;a href="https://lxmls.github.io/2026/" target="_blank" rel="noopener"&gt;Lisbon Machine Learning School (LxMLS)&lt;/a&gt; celebra en 2026 su decimosexta edición en el Instituto Superior Técnico de Lisboa, Portugal, del 20 al 25 de julio. Es una de las escuelas de verano de aprendizaje automático más reconocidas de Europa y forma parte de la red europea ELLIS.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Jaziel A. Carballo Tadeo fue aceptado para participar en esta edición.&lt;/strong&gt; La escuela combina clases magistrales matutinas con laboratorios prácticos por la tarde, presentaciones de pósteres y charlas invitadas, cubriendo temas que van de los modelos lineales a los transformers, la causalidad y los modelos visión-lenguaje. Esta formación fortalece directamente la investigación del grupo en tecnologías del lenguaje para el maya yucateco.&lt;/p&gt;</description></item><item><title>LxMLS 2026: The 16th Lisbon Machine Learning School</title><link>https://giltia.github.io/event/lxmls-2026/</link><pubDate>Mon, 20 Jul 2026 09:00:00 +0000</pubDate><guid>https://giltia.github.io/event/lxmls-2026/</guid><description>&lt;p&gt;The &lt;a href="https://lxmls.github.io/2026/" target="_blank" rel="noopener"&gt;Lisbon Machine Learning School (LxMLS)&lt;/a&gt; holds its sixteenth edition in 2026 at Instituto Superior Técnico in Lisbon, Portugal, from July 20th to 25th. It is one of Europe&amp;rsquo;s most recognized machine learning summer schools and is part of the European ELLIS network.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Jaziel A. Carballo Tadeo was accepted to participate in this edition.&lt;/strong&gt; The school combines morning lectures with hands-on afternoon labs, poster presentations, and invited talks, covering topics ranging from linear models to transformers, causality, and vision-language models. This training directly strengthens the group&amp;rsquo;s research on language technologies for Yucatec Maya.&lt;/p&gt;</description></item><item><title>Whisper-LM con léxico maya: corrección de transcripciones ASR de maya yucateco usando Gemini y un diccionario como referencia</title><link>https://giltia.github.io/es/publication/whisper-lm-yua-lexicon-rag/</link><pubDate>Thu, 09 Jul 2026 00:00:00 +0000</pubDate><guid>https://giltia.github.io/es/publication/whisper-lm-yua-lexicon-rag/</guid><description>&lt;h2 id="qué-problema-resuelve-este-cuaderno"&gt;¿Qué problema resuelve este cuaderno?&lt;/h2&gt;
&lt;p&gt;Whisper, el sistema de reconocimiento automático de voz (ASR) de OpenAI, no incluye el maya yucateco entre sus lenguas soportadas. Al transcribir audio en maya, el modelo produce salidas muy ruidosas y con frecuencia &amp;ldquo;detecta&amp;rdquo; la lengua equivocada: en nuestros datos, segmentos en maya fueron etiquetados como español, inglés e incluso japonés. Este cuaderno explora una pregunta práctica: &lt;strong&gt;¿cuánto puede mejorar un modelo de lenguaje grande (LLM) la salida de Whisper si le damos un léxico maya como referencia?&lt;/strong&gt;&lt;/p&gt;
&lt;h2 id="arquitectura-del-pipeline"&gt;Arquitectura del pipeline&lt;/h2&gt;
&lt;p&gt;El flujo completo es:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Audio → Whisper (turbo) → Normalizador de reglas → Gemini + léxico → Normalizador → Evaluación (CER/WER)
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="1-datos-de-entrada"&gt;1. Datos de entrada&lt;/h3&gt;
&lt;p&gt;Se parte de un CSV (&lt;code&gt;transcription_results41Turbo.csv&lt;/code&gt;) con 1,010 segmentos de audio ya transcritos por Whisper turbo. Cada fila incluye la transcripción de referencia hecha por humanos (&lt;code&gt;original_transcription&lt;/code&gt;), la predicción de Whisper (&lt;code&gt;whisper_prediction&lt;/code&gt;), la lengua detectada y métricas iniciales (chrF, WER, CER).&lt;/p&gt;
&lt;h3 id="2-léxico-maya-como-referencia-componente-rag"&gt;2. Léxico maya como referencia (componente RAG)&lt;/h3&gt;
&lt;p&gt;Se carga un diccionario maya–español en formato TSV (&lt;code&gt;yua_dictionary.tsv&lt;/code&gt;) con &lt;strong&gt;2,988 entradas&lt;/strong&gt;. Una clase &lt;code&gt;YuaLexicon&lt;/code&gt; ofrece búsqueda exacta y búsqueda difusa (&lt;em&gt;fuzzy matching&lt;/em&gt; con &lt;code&gt;difflib.get_close_matches&lt;/code&gt;), lo que permite encontrar la palabra maya válida más cercana a un token mal transcrito.&lt;/p&gt;
&lt;h3 id="3-normalizador-ortográfico-basado-en-reglas"&gt;3. Normalizador ortográfico basado en reglas&lt;/h3&gt;
&lt;p&gt;Antes y después de pasar por el LLM, el texto se normaliza con reglas lingüísticas del maya yucateco tomadas de una gramática de referencia:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Reglas morfológicas de raíz&lt;/strong&gt;: por ejemplo, &lt;em&gt;bin&lt;/em&gt; (ir) con raíz irregular &lt;em&gt;xi&amp;rsquo;&lt;/em&gt; en futuro indefinido intransitivo, o posicionales como &lt;em&gt;chil&lt;/em&gt;, &lt;em&gt;kul&lt;/em&gt; y &lt;em&gt;wa&amp;rsquo;al&lt;/em&gt; que pierden la &lt;em&gt;l&lt;/em&gt; antes de &lt;em&gt;-tal&lt;/em&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Patrones regulares &amp;ldquo;seguros&amp;rdquo;&lt;/strong&gt;: &lt;em&gt;bins&lt;/em&gt; → &lt;em&gt;bis&lt;/em&gt;, &lt;em&gt;taals&lt;/em&gt; → &lt;em&gt;taas&lt;/em&gt;, y verbos que cambian la &lt;em&gt;b&lt;/em&gt; final por estructura con saltillo (&lt;em&gt;jáalk&amp;rsquo;ab&lt;/em&gt; → &lt;em&gt;jáalk&amp;rsquo;a&amp;rsquo;a&lt;/em&gt;).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Verificación contra el léxico&lt;/strong&gt;: si la forma normalizada existe en el diccionario, se conserva; si la original era válida, se respeta.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="4-corrección-con-gemini-whisper-lm"&gt;4. Corrección con Gemini (Whisper-LM)&lt;/h3&gt;
&lt;p&gt;Cada transcripción normalizada se envía a &lt;strong&gt;Gemini 2.0 Flash&lt;/strong&gt; con un prompt que incluye hasta 500 palabras del léxico maya como referencia ortográfica. Las instrucciones clave del prompt son: corregir respetando la gramática y ortografía estándar del maya yucateco, &lt;strong&gt;no traducir al español&lt;/strong&gt;, elegir la opción más probable según el léxico y devolver únicamente el texto corregido.&lt;/p&gt;
&lt;h3 id="5-evaluación"&gt;5. Evaluación&lt;/h3&gt;
&lt;p&gt;Se calcula la tasa de error por carácter (CER) y por palabra (WER) con &lt;code&gt;editdistance&lt;/code&gt;, comparando contra la transcripción humana de referencia:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Métrica&lt;/th&gt;
&lt;th&gt;Whisper turbo&lt;/th&gt;
&lt;th&gt;Whisper-LM (este pipeline)&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;CER medio&lt;/td&gt;
&lt;td&gt;1.0743&lt;/td&gt;
&lt;td&gt;1.0725&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;WER medio&lt;/td&gt;
&lt;td&gt;1.1796&lt;/td&gt;
&lt;td&gt;1.1692&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="qué-aprendimos"&gt;¿Qué aprendimos?&lt;/h2&gt;
&lt;p&gt;La mejora es &lt;strong&gt;marginal&lt;/strong&gt;: el posprocesamiento con LLM y léxico recupera algo de forma ortográfica, pero no puede reconstruir información que el modelo acústico nunca capturó. Con valores de CER/WER superiores a 1.0, la salida de Whisper está tan alejada de la referencia que la corrección textual tiene poco material con el que trabajar. La conclusión práctica es que, para el maya yucateco, &lt;strong&gt;el cuello de botella está en el modelo acústico&lt;/strong&gt;: se necesita ajuste fino (&lt;em&gt;fine-tuning&lt;/em&gt;) de Whisper con datos de habla maya, y no solo corrección posterior.&lt;/p&gt;
&lt;h2 id="próximos-pasos"&gt;Próximos pasos&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Ajuste fino de Whisper con audio transcrito en maya yucateco.&lt;/li&gt;
&lt;li&gt;Ampliar las reglas ortográficas (&lt;code&gt;ORTHO_RULES&lt;/code&gt;) con los errores recurrentes observados en las transcripciones.&lt;/li&gt;
&lt;li&gt;Ampliar el léxico y experimentar con recuperación selectiva (enviar al prompt solo las entradas relevantes para cada segmento, en lugar de una lista fija).&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="acceso-al-cuaderno"&gt;Acceso al cuaderno&lt;/h2&gt;
&lt;p&gt;Si te interesa el cuaderno de Colab, puedes ponerte en contacto con el autor en &lt;a href="mailto:jaziel.carballo@gmail.com"&gt;jaziel.carballo@gmail.com&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Whisper-LM with a Maya Lexicon: Correcting Yucatec Maya ASR Transcriptions Using Gemini and a Dictionary as Reference</title><link>https://giltia.github.io/publication/whisper-lm-yua-lexicon-rag/</link><pubDate>Thu, 09 Jul 2026 00:00:00 +0000</pubDate><guid>https://giltia.github.io/publication/whisper-lm-yua-lexicon-rag/</guid><description>&lt;h2 id="what-problem-does-this-notebook-address"&gt;What problem does this notebook address?&lt;/h2&gt;
&lt;p&gt;Whisper, OpenAI&amp;rsquo;s automatic speech recognition (ASR) system, does not include Yucatec Maya among its supported languages. When transcribing Maya audio, the model produces very noisy output and frequently &amp;ldquo;detects&amp;rdquo; the wrong language: in our data, Maya segments were labeled as Spanish, English, and even Japanese. This notebook explores a practical question: &lt;strong&gt;how much can a large language model (LLM) improve Whisper&amp;rsquo;s output if we give it a Maya lexicon as reference?&lt;/strong&gt;&lt;/p&gt;
&lt;h2 id="pipeline-architecture"&gt;Pipeline architecture&lt;/h2&gt;
&lt;p&gt;The full flow is:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Audio → Whisper (turbo) → Rule-based normalizer → Gemini + lexicon → Normalizer → Evaluation (CER/WER)
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="1-input-data"&gt;1. Input data&lt;/h3&gt;
&lt;p&gt;The starting point is a CSV file (&lt;code&gt;transcription_results41Turbo.csv&lt;/code&gt;) with 1,010 audio segments already transcribed by Whisper turbo. Each row includes the human reference transcription (&lt;code&gt;original_transcription&lt;/code&gt;), Whisper&amp;rsquo;s prediction (&lt;code&gt;whisper_prediction&lt;/code&gt;), the detected language, and initial metrics (chrF, WER, CER).&lt;/p&gt;
&lt;h3 id="2-maya-lexicon-as-reference-rag-component"&gt;2. Maya lexicon as reference (RAG component)&lt;/h3&gt;
&lt;p&gt;A Maya–Spanish dictionary in TSV format (&lt;code&gt;yua_dictionary.tsv&lt;/code&gt;) with &lt;strong&gt;2,988 entries&lt;/strong&gt; is loaded. A &lt;code&gt;YuaLexicon&lt;/code&gt; class provides exact lookup and fuzzy matching (via &lt;code&gt;difflib.get_close_matches&lt;/code&gt;), making it possible to find the closest valid Maya word for a mis-transcribed token.&lt;/p&gt;
&lt;h3 id="3-rule-based-orthographic-normalizer"&gt;3. Rule-based orthographic normalizer&lt;/h3&gt;
&lt;p&gt;Before and after the LLM pass, the text is normalized with Yucatec Maya linguistic rules taken from a reference grammar:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Root morphology rules&lt;/strong&gt;: for example, &lt;em&gt;bin&lt;/em&gt; (to go) with the irregular root &lt;em&gt;xi&amp;rsquo;&lt;/em&gt; in the intransitive indefinite future, or positionals such as &lt;em&gt;chil&lt;/em&gt;, &lt;em&gt;kul&lt;/em&gt;, and &lt;em&gt;wa&amp;rsquo;al&lt;/em&gt; that lose the &lt;em&gt;l&lt;/em&gt; before &lt;em&gt;-tal&lt;/em&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&amp;ldquo;Safe&amp;rdquo; regex patterns&lt;/strong&gt;: &lt;em&gt;bins&lt;/em&gt; → &lt;em&gt;bis&lt;/em&gt;, &lt;em&gt;taals&lt;/em&gt; → &lt;em&gt;taas&lt;/em&gt;, and verbs whose final &lt;em&gt;b&lt;/em&gt; changes to a glottalized structure (&lt;em&gt;jáalk&amp;rsquo;ab&lt;/em&gt; → &lt;em&gt;jáalk&amp;rsquo;a&amp;rsquo;a&lt;/em&gt;).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Lexicon verification&lt;/strong&gt;: if the normalized form exists in the dictionary it is kept; if the original form was already valid, it is preserved.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="4-correction-with-gemini-whisper-lm"&gt;4. Correction with Gemini (Whisper-LM)&lt;/h3&gt;
&lt;p&gt;Each normalized transcription is sent to &lt;strong&gt;Gemini 2.0 Flash&lt;/strong&gt; with a prompt that includes up to 500 words from the Maya lexicon as an orthographic reference. The key prompt instructions are: correct the text following standard Yucatec Maya grammar and orthography, &lt;strong&gt;do not translate into Spanish&lt;/strong&gt;, choose the most likely option according to the lexicon, and return only the corrected text.&lt;/p&gt;
&lt;h3 id="5-evaluation"&gt;5. Evaluation&lt;/h3&gt;
&lt;p&gt;Character error rate (CER) and word error rate (WER) are computed with &lt;code&gt;editdistance&lt;/code&gt; against the human reference transcription:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Metric&lt;/th&gt;
&lt;th&gt;Whisper turbo&lt;/th&gt;
&lt;th&gt;Whisper-LM (this pipeline)&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Mean CER&lt;/td&gt;
&lt;td&gt;1.0743&lt;/td&gt;
&lt;td&gt;1.0725&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Mean WER&lt;/td&gt;
&lt;td&gt;1.1796&lt;/td&gt;
&lt;td&gt;1.1692&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="what-did-we-learn"&gt;What did we learn?&lt;/h2&gt;
&lt;p&gt;The improvement is &lt;strong&gt;marginal&lt;/strong&gt;: LLM post-processing with a lexicon recovers some orthographic form, but it cannot reconstruct information the acoustic model never captured. With CER/WER values above 1.0, Whisper&amp;rsquo;s output is so far from the reference that text-level correction has little material to work with. The practical takeaway is that, for Yucatec Maya, &lt;strong&gt;the bottleneck is the acoustic model&lt;/strong&gt;: what is needed is fine-tuning Whisper on Maya speech data, not just downstream correction.&lt;/p&gt;
&lt;h2 id="next-steps"&gt;Next steps&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Fine-tune Whisper with transcribed Yucatec Maya audio.&lt;/li&gt;
&lt;li&gt;Extend the orthographic rules (&lt;code&gt;ORTHO_RULES&lt;/code&gt;) with recurrent errors observed in the transcriptions.&lt;/li&gt;
&lt;li&gt;Grow the lexicon and experiment with selective retrieval (sending only the entries relevant to each segment to the prompt, instead of a fixed list).&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="access-to-the-notebook"&gt;Access to the notebook&lt;/h2&gt;
&lt;p&gt;If you are interested in the Colab notebook, you can contact the author at &lt;a href="mailto:jaziel.carballo@gmail.com"&gt;jaziel.carballo@gmail.com&lt;/a&gt;.&lt;/p&gt;</description></item></channel></rss>