Skip to content

Instantly share code, notes, and snippets.

@alonsosilvaallende
Last active May 20, 2022 11:56
Show Gist options
  • Save alonsosilvaallende/799b01fa8fa89a5efa8569bb965ce93d to your computer and use it in GitHub Desktop.
Save alonsosilvaallende/799b01fa8fa89a5efa8569bb965ce93d to your computer and use it in GitHub Desktop.
Clasificacion-de-articulos-de-la-Constitucion.ipynb
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"metadata": {
"trusted": true,
"ExecuteTime": {
"start_time": "2022-05-20T11:55:45.352692Z",
"end_time": "2022-05-20T11:55:45.409801Z"
}
},
"id": "6d8ab11e",
"cell_type": "code",
"source": "%load_ext autoreload\n%autoreload 2",
"execution_count": 1,
"outputs": []
},
{
"metadata": {
"trusted": true,
"ExecuteTime": {
"start_time": "2022-05-20T11:55:45.420162Z",
"end_time": "2022-05-20T11:55:45.461054Z"
}
},
"id": "6e7f6bd7",
"cell_type": "code",
"source": "import re\nfrom pathlib import Path",
"execution_count": 2,
"outputs": []
},
{
"metadata": {
"trusted": true,
"ExecuteTime": {
"start_time": "2022-05-20T11:55:45.463917Z",
"end_time": "2022-05-20T11:55:45.494919Z"
}
},
"id": "46504dae",
"cell_type": "code",
"source": "path = Path('/Users/alonsosilva/Dropbox/Constitutions/')",
"execution_count": 3,
"outputs": []
},
{
"metadata": {
"trusted": true,
"ExecuteTime": {
"start_time": "2022-05-20T11:55:45.499537Z",
"end_time": "2022-05-20T11:55:45.528827Z"
}
},
"id": "5e89f598",
"cell_type": "code",
"source": "def read_and_filter(filename):\n with open(filename, 'rt') as f:\n text = f.read()\n text = re.sub('\\n\\n+', '\\n', text)\n text = re.sub('(?<=\\w)\\s*\\n(?=\\w)', ' ', text)\n text = text.replace(' ', ' ')\n text = text.replace('', '')\n return text",
"execution_count": 4,
"outputs": []
},
{
"metadata": {
"trusted": true,
"ExecuteTime": {
"start_time": "2022-05-20T11:55:45.534267Z",
"end_time": "2022-05-20T11:55:45.586647Z"
}
},
"id": "b50b0348",
"cell_type": "code",
"source": "text = read_and_filter(path/'docs/borrador.txt')\nprint(text[0:2500])",
"execution_count": 5,
"outputs": [
{
"output_type": "stream",
"text": "•\nEste documento es un consolidado que reúne las normas aprobadas por el Pleno de la Convención Constitucional, ordenadas por comisión. La relación de números de los artículos obedece a lo dispuesto en los respectivos informes y no es el orden definitivo, ya que ese proceso deberá ser realizado por la Comisión de Armonización\n(Actualizado el 14.05.22).\nCONSOLIDADO NORMAS APROBADAS PARA LA PROPUESTA CONSTITUCIONAL POR EL PLENO DE LA CONVENCIÓN CAPÍTULO (COM 1)\nDE LA DEMOCRACIA 1.- Artículo 2°.- Democracia paritaria. El Estado reconoce y promueve una sociedad en la que mujeres, hombres, diversidades y disidencias sexogenéricas participen en condiciones de igualdad sustantiva, reconociendo que su representación efectiva en el conjunto del proceso democrático es un principio y condición mínima para el ejercicio pleno y sustantivo de la democracia y la ciudadanía.\nTodos los órganos colegiados del Estado, los órganos autónomos constitucionales y los órganos superiores y directivos de la Administración, así como los directorios de las empresas públicas y semipúblicas, deberán tener una composición paritaria que asegure que, al menos, el cincuenta por ciento de sus integrantes sean mujeres.\nAsimismo, el Estado adoptará medidas para la representación de diversidades y disidencias de género a través del mecanismo que establezca la ley.\nEl Estado promoverá la integración paritaria en sus instituciones y en todos los espacios públicos y privados.\n2.- Artículo 3°.- Corresponderá al Estado, en sus diferentes ámbitos y funciones, garantizar la participación democrática e incidencia política de todas las personas, especialmente la de los grupos históricamente excluidos y de especial protección.\nEl Estado deberá garantizar la inclusión de estos grupos en las políticas públicas y en el proceso de formación de las leyes, mediante mecanismos de participación popular y deliberación política, asegurando medidas afirmativas que posibiliten su participación efectiva.\n\f3.- Artículo X.- Los poderes públicos adoptarán las medidas necesarias para adecuar e impulsar la legislación, instituciones, marcos normativos y prestación de servicios, con el fin de alcanzar la igualdad sustantiva y la paridad. Con ese objetivo, el Poder Ejecutivo, el Poder Legislativo y los Sistemas de Justicia, así como los órganos de la Administración del Estado y los órganos autónomos, deberán incorporar el enfoque de género en su diseño institucional y en el ejercicio de sus funciones.\nLa política fiscal y e\n",
"name": "stdout"
}
]
},
{
"metadata": {},
"cell_type": "markdown",
"source": "Clasificador de texto [Zero-shot SELECTRA](https://huggingface.co/Recognai/zeroshot_selectra_small)"
},
{
"metadata": {
"trusted": true,
"ExecuteTime": {
"start_time": "2022-05-20T11:55:45.589047Z",
"end_time": "2022-05-20T11:55:54.004440Z"
}
},
"id": "7734a72c",
"cell_type": "code",
"source": "from transformers import pipeline\nclassifier = pipeline(\"zero-shot-classification\", \n model=\"Recognai/zeroshot_selectra_medium\")",
"execution_count": 6,
"outputs": [
{
"output_type": "stream",
"text": "/Users/alonsosilva/opt/anaconda3/envs/huggingface/lib/python3.10/site-packages/tqdm/auto.py:22: TqdmWarning: IProgress not found. Please update jupyter and ipywidgets. See https://ipywidgets.readthedocs.io/en/stable/user_install.html\n from .autonotebook import tqdm as notebook_tqdm\n",
"name": "stderr"
}
]
},
{
"metadata": {
"trusted": true,
"ExecuteTime": {
"start_time": "2022-05-20T11:55:54.007011Z",
"end_time": "2022-05-20T11:55:54.052825Z"
}
},
"id": "6c9f7893",
"cell_type": "code",
"source": "articulo = \"Democracia paritaria. El Estado reconoce y promueve una sociedad en la que mujeres, hombres, diversidades y disidencias sexogenéricas participen en condiciones de igualdad sustantiva, reconociendo que su representación efectiva en el conjunto del proceso democrático es un principio y condición mínima para el ejercicio pleno y sustantivo de la democracia y la ciudadanía. \\\nTodos los órganos colegiados del Estado, los órganos autónomos constitucionales y los órganos superiores y directivos de la Administración, así como los directorios de las empresas públicas y semipúblicas, deberán tener una composición paritaria que asegure que, al menos, el cincuenta por ciento de sus integrantes sean mujeres.\\\nAsimismo, el Estado adoptará medidas para la representación de diversidades y disidencias de género a través del mecanismo que establezca la ley.\"",
"execution_count": 7,
"outputs": []
},
{
"metadata": {
"ExecuteTime": {
"start_time": "2022-05-20T11:55:54.060332Z",
"end_time": "2022-05-20T11:55:54.108356Z"
},
"trusted": true
},
"cell_type": "code",
"source": "temas = [\"sistema político\", \"economía\", \"salud\", \"deportes\", \"cultura\", \"sociedad\"]",
"execution_count": 8,
"outputs": []
},
{
"metadata": {
"trusted": true,
"ExecuteTime": {
"start_time": "2022-05-20T11:55:54.112114Z",
"end_time": "2022-05-20T11:55:54.763529Z"
}
},
"id": "b02733f7",
"cell_type": "code",
"source": "result = classifier(articulo, candidate_labels=temas,\n hypothesis_template=\"Este ejemplo es {}.\"\n)",
"execution_count": 9,
"outputs": []
},
{
"metadata": {
"ExecuteTime": {
"start_time": "2022-05-20T11:55:54.769700Z",
"end_time": "2022-05-20T11:55:54.822972Z"
},
"trusted": true
},
"cell_type": "code",
"source": "result['sequence']",
"execution_count": 10,
"outputs": [
{
"output_type": "execute_result",
"execution_count": 10,
"data": {
"text/plain": "'Democracia paritaria. El Estado reconoce y promueve una sociedad en la que mujeres, hombres, diversidades y disidencias sexogenéricas participen en condiciones de igualdad sustantiva, reconociendo que su representación efectiva en el conjunto del proceso democrático es un principio y condición mínima para el ejercicio pleno y sustantivo de la democracia y la ciudadanía. Todos los órganos colegiados del Estado, los órganos autónomos constitucionales y los órganos superiores y directivos de la Administración, así como los directorios de las empresas públicas y semipúblicas, deberán tener una composición paritaria que asegure que, al menos, el cincuenta por ciento de sus integrantes sean mujeres.Asimismo, el Estado adoptará medidas para la representación de diversidades y disidencias de género a través del mecanismo que establezca la ley.'"
},
"metadata": {}
}
]
},
{
"metadata": {
"trusted": true,
"ExecuteTime": {
"start_time": "2022-05-20T11:55:54.830735Z",
"end_time": "2022-05-20T11:55:54.892404Z"
}
},
"id": "1c797478",
"cell_type": "code",
"source": "[f\"{result['labels'][i]}: {result['scores'][i]:.2f}\" for i in range(len(result['labels']))]",
"execution_count": 11,
"outputs": [
{
"output_type": "execute_result",
"execution_count": 11,
"data": {
"text/plain": "['sociedad: 0.62',\n 'sistema político: 0.30',\n 'cultura: 0.03',\n 'salud: 0.02',\n 'economía: 0.02',\n 'deportes: 0.01']"
},
"metadata": {}
}
]
},
{
"metadata": {
"ExecuteTime": {
"start_time": "2022-05-20T11:55:54.897305Z",
"end_time": "2022-05-20T11:55:54.952391Z"
},
"trusted": true
},
"cell_type": "code",
"source": "articulo = \"El Congreso de Diputadas y Diputados es un órgano deliberativo, paritario y plurinacional que representa al pueblo. Concurre a la formación de las leyes y ejerce las demás\\\nfacultades encomendadas por la Constitución.\\\nEl Congreso está integrado por un número no inferior a 155 miembros electos en\\\nvotación directa por distritos electorales. Una ley de acuerdo regional determinará el número de integrantes, los distritos electorales y la forma de su elección, atendiendo el criterio de proporcionalidad.\"",
"execution_count": 12,
"outputs": []
},
{
"metadata": {
"ExecuteTime": {
"start_time": "2022-05-20T11:55:54.955557Z",
"end_time": "2022-05-20T11:55:55.586691Z"
},
"trusted": true
},
"cell_type": "code",
"source": "result = classifier(articulo, candidate_labels=temas,\n hypothesis_template=\"Este ejemplo es {}.\"\n)",
"execution_count": 13,
"outputs": []
},
{
"metadata": {
"ExecuteTime": {
"start_time": "2022-05-20T11:55:55.589129Z",
"end_time": "2022-05-20T11:55:55.644350Z"
},
"trusted": true
},
"cell_type": "code",
"source": "result['sequence']",
"execution_count": 14,
"outputs": [
{
"output_type": "execute_result",
"execution_count": 14,
"data": {
"text/plain": "'El Congreso de Diputadas y Diputados es un órgano deliberativo, paritario y plurinacional que representa al pueblo. Concurre a la formación de las leyes y ejerce las demásfacultades encomendadas por la Constitución.El Congreso está integrado por un número no inferior a 155 miembros electos envotación directa por distritos electorales. Una ley de acuerdo regional determinará el número de integrantes, los distritos electorales y la forma de su elección, atendiendo el criterio de proporcionalidad.'"
},
"metadata": {}
}
]
},
{
"metadata": {
"ExecuteTime": {
"start_time": "2022-05-20T11:55:55.648174Z",
"end_time": "2022-05-20T11:55:55.714125Z"
},
"trusted": true
},
"cell_type": "code",
"source": "[f\"{result['labels'][i]}: {result['scores'][i]:.2f}\" for i in range(len(result['labels']))]",
"execution_count": 15,
"outputs": [
{
"output_type": "execute_result",
"execution_count": 15,
"data": {
"text/plain": "['sistema político: 0.87',\n 'sociedad: 0.08',\n 'cultura: 0.02',\n 'deportes: 0.01',\n 'salud: 0.01',\n 'economía: 0.01']"
},
"metadata": {}
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "",
"execution_count": null,
"outputs": []
}
],
"metadata": {
"kernelspec": {
"name": "python3",
"display_name": "Python 3 (ipykernel)",
"language": "python"
},
"language_info": {
"name": "python",
"version": "3.10.4",
"mimetype": "text/x-python",
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"pygments_lexer": "ipython3",
"nbconvert_exporter": "python",
"file_extension": ".py"
},
"gist": {
"id": "799b01fa8fa89a5efa8569bb965ce93d",
"data": {
"description": "Clasificacion-de-articulos-de-la-Constitucion.ipynb",
"public": true
}
},
"_draft": {
"nbviewer_url": "https://gist.github.com/799b01fa8fa89a5efa8569bb965ce93d"
}
},
"nbformat": 4,
"nbformat_minor": 5
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment