Sílabas y acento¶
ests.syllables
Descripción¶
Módulo que divide una palabra española en sílabas y localiza su sílaba tónica a partir de la escritura. La ortografía española codifica ambas cosas: los límites silábicos se deducen de las vocales y de los grupos consonánticos, y el acento se deduce de la tilde o, en su ausencia, de la terminación de la palabra. No hace falta ningún diccionario ni modelo entrenado. Estas funciones son la base de las estadísticas básicas (recuento de sílabas), las fórmulas de legibilidad, la fonoestadística y la métrica.
Las reglas siguen la Ortografía de la lengua española (RAE, 2010). Conviene conocer dos convenciones: dos vocales débiles forman siempre diptongo, como exigen las reglas ortográficas (huir, cons-truir, je-sui-ta, guion tienen una sílaba menos que en algunos silabeadores fonéticos), y tl se separa como en España (at-las).
Silabificación¶
ests.syllables.syllabify()
División de una palabra en sílabas. Cada sílaba se construye alrededor de un núcleo vocálico: una vocal, un diptongo o un triptongo.
| Regla | Ejemplo |
|---|---|
una vocal débil (i, u, ü sin tilde) junto a otra vocal forma diptongo |
ai-re, puen-te, rui-do, ciu-dad |
| dos vocales fuertes forman hiato, igual que dos vocales cerradas de la misma letra, con tilde o sin ella | po-e-ta, le-er, a-é-re-o, chi-i-ta, chi-í-es |
| una vocal débil con tilde es fuerte | dí-a, pa-ís, ba-úl |
| una vocal débil entre otras dos da un triptongo | a-ve-ri-guáis, buey |
| una vocal débil ante una fuerte se une a esa vocal | chi-hua-hua, ca-ca-hue-te |
una h entre vocales no rompe el diptongo |
ahu-ma-do, prohi-bir, de-sahu-cio |
la u de qu, y la de gu ante e e i, es muda; ü es vocal |
que-so, gue-rra, pin-güi-no |
y es vocal a final de palabra y consonante ante vocal |
rey, U-ru-guay, ma-yo |
| una consonante o dígrafo aislado pasa a la sílaba siguiente | ca-sa, mu-cho, pe-rro |
una obstruyente con l o r pasa a la sílaba siguiente |
ha-blar, o-tro |
| los demás pares de consonantes se separan | ac-to, is-la, at-las, rit-mo |
| de tres o más consonantes, las dos últimas pasan a la sílaba siguiente cuando forman uno de esos grupos; si no, solo pasa la última | com-pra, cons-truir, ins-ti-tu-to, obs-tá-cu-lo, tungs-te-no |
La palabra se normaliza a NFC (un acento descompuesto pasa a ser una sola letra con su base) y se pasa a minúsculas. Se divide en partes por cifras, guiones y otros caracteres que no son letras, cada parte se silabifica por separado (te-ó-ri-co-prác-ti-co), y una parte sin vocales (una abreviatura como sh) no produce sílabas. Las vocales con diacríticos extranjeros cuentan como vocales fuertes con tilde (Björk); una diéresis distinta de ü marca hiato (Llu-ï-sa, Ci-tro-ën) y los portugueses ão y õe son diptongos (São, Ca-mões).
Parámetros:
| Parámetro | Tipo | Por defecto | Descripción |
|---|---|---|---|
word |
str | - |
Palabra |
Ejemplo
from ests.syllables import syllabify
syllabify("murciélago")
# ['mur', 'cié', 'la', 'go']
syllabify("averiguáis")
# ['a', 've', 'ri', 'guáis']
Recuento de sílabas¶
ests.syllables.count_syllables()
El número de sílabas según syllabify, con caché por forma de palabra.
Parámetros:
| Parámetro | Tipo | Por defecto | Descripción |
|---|---|---|---|
word |
str | - |
Palabra |
Ejemplo
from ests.syllables import count_syllables
count_syllables("Uruguay")
# 3
Acento de la palabra¶
ests.syllables.word_stress()
El índice de la sílaba tónica, contado desde cero como en syllabify; None para una palabra sin vocales.
| Regla | Ejemplo |
|---|---|
| la tilde marca la sílaba tónica | ca-mión, ár-bol, mur-cié-la-go |
una palabra terminada en vocal, en n o s tras vocal, o en y tras consonante lleva el acento en la penúltima sílaba |
ca-sa, jo-ven, lu-nes, whis-ky |
| cualquier otra palabra lleva el acento en la última sílaba | pa-pel, re-loj, ro-bots, U-ru-guay |
| un monosílabo lleva el acento en su única sílaba | rey, y |
Los pronombres enclíticos no necesitan tratamiento aparte: sus formas llevan la tilde según las mismas reglas (dí-ga-me-lo, de-cír-se-lo). En un adverbio en -mente y en un compuesto con guion el acento principal es el último de word_stresses (fá-cil-men-te - 2).
Parámetros:
| Parámetro | Tipo | Por defecto | Descripción |
|---|---|---|---|
word |
str | - |
Palabra |
Ejemplo
from ests.syllables import word_stress
word_stress("camión"), word_stress("casa"), word_stress("murciélago")
# (1, 0, 1)
Todos los acentos¶
ests.syllables.word_stresses()
Todas las sílabas tónicas de una palabra en orden ascendente. Un solo índice para la mayoría de las palabras. Dos índices para un adverbio en -mente, que conserva el acento de su adjetivo (fá-cil-men-te - 0 y 2, fe-liz-men-te - 1 y 2), y un índice por cada parte de un compuesto con guion (te-ó-ri-co-prác-ti-co - 1 y 4).
El adverbio se reconoce por su forma: una base de al menos una sílaba antes de -mente que termina como un adjetivo (en vocal, l, r, z, n o s) o lleva tilde, así que cruel-men-te también cuenta. Las palabras con la misma forma que no son adverbios están en NON_ADVERBS_MENTE: adjetivos y sustantivos (demente, vehemente) y subjuntivos de verbos en -mentar (fundamente, complemente); un subjuntivo de ese tipo que no esté en la lista recibe un segundo acento.
Parámetros:
| Parámetro | Tipo | Por defecto | Descripción |
|---|---|---|---|
word |
str | - |
Palabra |
Ejemplo
from ests.syllables import word_stresses
word_stresses("fácilmente")
# [0, 2]
Tipo de acentuación¶
ests.syllables.stress_type()
La clase de la palabra según la posición de su acento principal: aguda en la última sílaba (ca-mión), llana en la penúltima (ca-sa), esdrújula en la antepenúltima (mur-cié-la-go), sobresdrújula antes (dí-ga-me-lo); None para una palabra sin vocales.
Parámetros:
| Parámetro | Tipo | Por defecto | Descripción |
|---|---|---|---|
word |
str | - |
Palabra |
Ejemplo
from ests.syllables import stress_type
stress_type("dígamelo")
# 'sobresdrújula'