--- language: - es library_name: transformers pipeline_tag: text-classification base_model: pysentimiento/robertuito-base-cased tags: - spanish - colombian-spanish - dialectology - twitter - ser-focalizador datasets: - johnatanebonilla/ser - johnatanebonilla/tweet_col_new metrics: - accuracy - f1 --- # bert_focalizador Clasificador de construcciones con *ser* en tweets del español de Colombia. Se desarrolló para estudiar la distribución geográfica del *ser* focalizador (SF), una construcción característica del español colombiano (*Me dio fue sueño*, *Estoy es cansado*). El modelo asigna a cada tweet una de estas cuatro clases: | etiqueta | construcción | ejemplo | |---|---|---| | `SF` | *ser* focalizador | *Me estoy **es** muriendo* | | `SH` | seudohendida | *Lo que yo quiero **es** estar contigo* | | `EC` | enfática condicional | *Si me caí **es** porque estaba caminando* | | `COP` | cópula ordinaria y demás usos de *ser* | *La vida **es** dura* | ## Modelo Es un ajuste fino de [RoBERTuito](https://huggingface.co/pysentimiento/robertuito-base-cased), un modelo preentrenado con tweets en español. Los textos se preprocesan con `pysentimiento.preprocessing.preprocess_tweet`. ## Datos - **Corpus.** Tweets geolocalizados de 237 ciudades colombianas, publicados entre 2009 y 2016 (Rodríguez-Díaz et al., 2018): [johnatanebonilla/tweet_col_new](https://huggingface.co/datasets/johnatanebonilla/tweet_col_new). - **Subcorpus con *ser*.** Contiene 5.836.626 tweets, extraídos con spaCy (`es_dep_news_trf`, lema *ser*): [johnatanebonilla/ser](https://huggingface.co/datasets/johnatanebonilla/ser). - **Datos de entrenamiento.** Son 11.449 tweets anotados con una guía de categorización basada en preguntas diagnósticas: COP 4.137, SF 3.436, EC 2.003, SH 1.873. Se tomaron al azar del subcorpus y se completaron con una muestra de todas las regiones del país. Se repartieron en entrenamiento, validación y prueba (70/15/15), con las fórmulas repetidas siempre en la misma partición. ## Evaluación Resultados en la partición de prueba (1.416 tweets): | métrica | valor | |---|---| | exactitud | 0,983 [0,976–0,989] | | macro-F1 | 0,984 [0,978–0,990] | | F1 SF | 0,978 | | F1 SH | 0,984 | | F1 EC | 0,997 | | F1 COP | 0,978 | Sobre el corpus completo, donde el SF es poco frecuente (alrededor del 1 % de los usos de *ser*), la precisión estimada para SF es de 0,905. ## Uso ```python from transformers import pipeline from pysentimiento.preprocessing import preprocess_tweet clf = pipeline("text-classification", model="johnatanebonilla/bert_focalizador") clf(preprocess_tweet("Me estoy es muriendo")) # [{'label': 'SF', 'score': 0.999}] ``` ## Limitaciones - El modelo se entrenó y evaluó solo con tweets de Colombia de 2010 a 2016. No se ha validado en otros países, registros ni épocas. - Asigna una sola etiqueta por tweet. Si un tweet contiene varias construcciones, gana la que aparece primero en el orden EC > SH > SF > COP. - La SH se define en sentido restringido: una relativa libre seguida de un foco que especifica un valor, como en *Lo que quiero es descansar*. Las relativas libres seguidas de un atributo (*Lo que dijo fue inesperado*) se etiquetan como COP. ## Referencia Rodriguez-Diaz, C. A., Jimenez, S., Dueñas, G., Bonilla, J. E. y Gelbukh, A. (2018). Dialectones: Finding statistically significant dialectal boundaries using Twitter data. *Computación y Sistemas*, *22*(4), 1213–1222. https://doi.org/10.13053/cys-22-4-3104